aboutsummaryrefslogtreecommitdiff
path: root/gas/ChangeLog
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-01-08 04:36:59 -0800
committerH.J. Lu <hjl.tools@gmail.com>2018-01-08 04:37:20 -0800
commit704a705d7aaab8041df76e2981e2a1efc014aad0 (patch)
tree8792c8a27852863446dabab83c4fc53e558a24a4 /gas/ChangeLog
parent605fd3c6590fbed834107a2e1d1df0ba58834576 (diff)
downloadfsf-binutils-gdb-704a705d7aaab8041df76e2981e2a1efc014aad0.zip
fsf-binutils-gdb-704a705d7aaab8041df76e2981e2a1efc014aad0.tar.gz
fsf-binutils-gdb-704a705d7aaab8041df76e2981e2a1efc014aad0.tar.bz2
x86: Properly encode vmovd with 64-bit memeory
For historical reason, we allow movd/vmovd with 64-bit register and memeory operands. But for vmovd, we failed to handle 64-bit memeory operand. This has been gone unnoticed since AT&T syntax always treats memory operand as 32-bit memory. This patch properly encodes vmovd with 64-bit memeory operands. It also removes AVX512 vmovd with 64-bit operands since GCC has case TYPE_SSEMOV: switch (get_attr_mode (insn)) { case MODE_DI: /* Handle broken assemblers that require movd instead of movq. */ if (!HAVE_AS_IX86_INTERUNIT_MOVQ && (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))) return "%vmovd\t{%1, %0|%0, %1}"; return "%vmovq\t{%1, %0|%0, %1}"; and all AVX512 GNU assemblers set HAVE_AS_IX86_INTERUNIT_MOVQ, GCC won't generate AVX512 vmovd with 64-bit operand. gas/ PR gas/22681 * testsuite/gas/i386/i386.exp: Run x86-64-movd and x86-64-movd-intel. * testsuite/gas/i386/x86-64-movd-intel.d: New file. * testsuite/gas/i386/x86-64-movd.d: Likewise. * testsuite/gas/i386/x86-64-movd.s: Likewise. opcodes/ PR gas/22681 * i386-opc.tbl: Properly encode vmovd with Qword memeory operand. Remove AVX512 vmovd with 64-bit operands. * i386-tbl.h: Regenerated.
Diffstat (limited to 'gas/ChangeLog')
-rw-r--r--gas/ChangeLog9
1 files changed, 9 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index d3ad1a4..33428a2 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,12 @@
+2018-01-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/22681
+ * testsuite/gas/i386/i386.exp: Run x86-64-movd and
+ x86-64-movd-intel.
+ * testsuite/gas/i386/x86-64-movd-intel.d: New file.
+ * testsuite/gas/i386/x86-64-movd.d: Likewise.
+ * testsuite/gas/i386/x86-64-movd.s: Likewise.
+
2018-01-08 Nick Clifton <nickc@redhat.com>
PR 22553