summaryrefslogtreecommitdiff
path: root/opcodes/i386-dis-evex.h
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/i386-dis-evex.h
parent7360e63f80782cf34a195eb1c6149760c3da7f14 (diff)
downloadbinutils-gdb-20c2a615876bdf0d5dc8e2db86eea1312d9dc9b8.tar.gz
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/i386-dis-evex.h')
-rw-r--r--opcodes/i386-dis-evex.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/opcodes/i386-dis-evex.h b/opcodes/i386-dis-evex.h
index 551ecdf51c6..c3283e05422 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 */