[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/32403] objdump -d reports a superfluous "{evex}" string
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug binutils/32403] objdump -d reports a superfluous "{evex}" string |
Date: |
Thu, 05 Dec 2024 01:58:37 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=32403
--- Comment #10 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Haochen Jiang <jianghc@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4c0a6e603743ca0c85f9ceb9913d646f0c961986
commit 4c0a6e603743ca0c85f9ceb9913d646f0c961986
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Dec 2 12:58:33 2024 +0800
x86: Eliminate unnecessary {evex} prefixes
For several instructions including vps{l,r}l{d,q,w,dq} and vpsra{d,w},
their VEX part do not have the following version:
vpsrlw $0x1f,(%r15,%rcx,4),%xmm0
Thus, {evex} prefix should not be inserted when their second operand is
memory, while we still need them for register as second operand. Add a
new macro %ME to solve this problem.
For vpsraq, there is no VEX version, so the {evex} prefix should always
be eliminated.
gas/ChangeLog:
PR binutils/32403
* testsuite/gas/i386/i386.exp: Run new test.
* testsuite/gas/i386/x86-64.exp: Ditto.
* testsuite/gas/i386/evex-only.d: New test.
* testsuite/gas/i386/evex-only.s: Ditto.
* testsuite/gas/i386/x86-64-evex-only.d: Ditto.
* testsuite/gas/i386/x86-64-evex-only.s: Ditto.
opcodes/ChangeLog:
PR binutils/32403
* i386-dis-evex-reg.h: Use %ME instead of %XE for vps{l,r}l{w,dq}
and vpsraw. Split table for vpsra{d,q}.
* i386-dis-evex-w.h: Use %ME instead of %XE for vps{l,r}l{d,q}
and vpsrad. Eliminate vpsraq {evex} prefix.
* i386-dis-evex.h: Split table for vpsra{d,q}.
* i386-dis.c: (EVEX_W_0F72_R_4): New.
(EVEX_W_0FE2): Ditto.
(struct dis386): Add comment for %ME.
(putop): Handle %ME.
Co-authored-by: Haochen Jiang <haochen.jiang@intel.com>
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug binutils/32403] New: objdump -d reports a superfluous "{evex}" string, mikulas at artax dot karlin.mff.cuni.cz, 2024/12/01
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string, hjl.tools at gmail dot com, 2024/12/01
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string, hjl.tools at gmail dot com, 2024/12/01
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string, haochen.jiang at intel dot com, 2024/12/01
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string, haochen.jiang at intel dot com, 2024/12/01
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string, hjl.tools at gmail dot com, 2024/12/02
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string, hjl.tools at gmail dot com, 2024/12/02
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string, haochen.jiang at intel dot com, 2024/12/02
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string, hjl.tools at gmail dot com, 2024/12/02
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string, haochen.jiang at intel dot com, 2024/12/03
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string,
cvs-commit at gcc dot gnu.org <=
- [Bug binutils/32403] objdump -d reports a superfluous "{evex}" string, haochen.jiang at intel dot com, 2024/12/04