aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-07-22 13:24:20 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-07-22 13:26:21 -0700
commit20c2a615876bdf0d5dc8e2db86eea1312d9dc9b8 (patch)
tree156526f9fed8f28581d1d741494feee7c6b92c65 /opcodes
parent7360e63f80782cf34a195eb1c6149760c3da7f14 (diff)
downloadfsf-binutils-gdb-20c2a615876bdf0d5dc8e2db86eea1312d9dc9b8.zip
fsf-binutils-gdb-20c2a615876bdf0d5dc8e2db86eea1312d9dc9b8.tar.gz
fsf-binutils-gdb-20c2a615876bdf0d5dc8e2db86eea1312d9dc9b8.tar.bz2
Fix memory operand size for vcvtt?ps2u?qq instructions
When disassembling AVX512 vcvtt?ps2u?q instructions with data broadcasting enabled, memory operand size should be DWORD. gas/testsuite/ PR binutils/18631 * gas/i386avx512dq-intel.d: Replace "QWORD" with "DWORD" in vcvtt?ps2u?qq instructions disassembly regexes. Add disassembly regex for new test. * gas/i386/avx512dq.d: Likewise. * gas/i386/avx512dq_vl-intel.d: Likewise. * gas/i386/avx512dq_vl.d: Likewise. * gas/i386/x86-64-avx512dq-intel.d: Likewise. * gas/i386/x86-64-avx512dq.d: Likewise. * gas/i386/x86-64-avx512dq_vl-intel.d: Likewise. * gas/i386/x86-64-avx512dq_vl.d: Likewise. * gas/i386/avx512dq.s: Add new test for Intel syntax with memory operand and broadcasting enabled. * gas/i386/avx512dq_vl.s: Likewise. * gas/i386/x86-64-avx512dq.s: Likewise. * gas/i386/x86-64-avx512dq_vl.s: Likewise. opcodes/ PR binutils/18631 * i386-dis-evex.h (EVEX_W_0F78_P_2): Replace "EXxmmq" with "EXEvexHalfBcstXmmq" for the second operand. (EVEX_W_0F79_P_2): Likewise. (EVEX_W_0F7A_P_2): Likewise. (EVEX_W_0F7B_P_2): Likewise.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog9
-rw-r--r--opcodes/i386-dis-evex.h8
2 files changed, 13 insertions, 4 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index bcccdb3..6ba1b85 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,12 @@
+2015-07-22 Alexander Fomin <alexander.fomin@intel.com>
+
+ PR binutils/18631
+ * i386-dis-evex.h (EVEX_W_0F78_P_2): Replace "EXxmmq" with
+ "EXEvexHalfBcstXmmq" for the second operand.
+ (EVEX_W_0F79_P_2): Likewise.
+ (EVEX_W_0F7A_P_2): Likewise.
+ (EVEX_W_0F7B_P_2): Likewise.
+
2015-07-16 Alessandro Marzocchi <alessandro.marzocchi@gmail.com>
* arm-dis.c (print_insn_coprocessor): Added support for quarter
diff --git a/opcodes/i386-dis-evex.h b/opcodes/i386-dis-evex.h
index 551ecdf..c3283e0 100644
--- a/opcodes/i386-dis-evex.h
+++ b/opcodes/i386-dis-evex.h
@@ -3196,7 +3196,7 @@ static const struct dis386 evex_table[][256] = {
},
/* EVEX_W_0F78_P_2 */
{
- { "vcvttps2uqq", { XM, EXxmmq, EXxEVexS }, 0 },
+ { "vcvttps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
{ "vcvttpd2uqq", { XM, EXx, EXxEVexS }, 0 },
},
/* EVEX_W_0F79_P_0 */
@@ -3206,7 +3206,7 @@ static const struct dis386 evex_table[][256] = {
},
/* EVEX_W_0F79_P_2 */
{
- { "vcvtps2uqq", { XM, EXxmmq, EXxEVexR }, 0 },
+ { "vcvtps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
{ "vcvtpd2uqq", { XM, EXx, EXxEVexR }, 0 },
},
/* EVEX_W_0F7A_P_1 */
@@ -3216,7 +3216,7 @@ static const struct dis386 evex_table[][256] = {
},
/* EVEX_W_0F7A_P_2 */
{
- { "vcvttps2qq", { XM, EXxmmq, EXxEVexS }, 0 },
+ { "vcvttps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
{ "vcvttpd2qq", { XM, EXx, EXxEVexS }, 0 },
},
/* EVEX_W_0F7A_P_3 */
@@ -3231,7 +3231,7 @@ static const struct dis386 evex_table[][256] = {
},
/* EVEX_W_0F7B_P_2 */
{
- { "vcvtps2qq", { XM, EXxmmq, EXxEVexR }, 0 },
+ { "vcvtps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
{ "vcvtpd2qq", { XM, EXx, EXxEVexR }, 0 },
},
/* EVEX_W_0F7B_P_3 */