From 60227d64dd9228be1a07fc7122894fc2875b1a70 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 9 Nov 2016 14:00:18 -0800 Subject: X86: Remove the .s suffix from EVEX vpextrw The .s suffix indicates that the instruction is encoded by swapping 2 register operands. Since vpextrw takes an XMM register and an integer register, the .s suffix should be ignored for EVEX vpextrw. gas/ PR binutils/20799 * testsuite/gas/i386/opcode.s: Add a test for EVEX vpextrw. * testsuite/gas/i386/opcode-intel.d: Updated. * testsuite/gas/i386/opcode-suffix.d: Likewise. * testsuite/gas/i386/opcode.d: Likewise. * testsuite/gas/i386/x86-64-avx512bw-opts.s: Remove vpextrw tests. * testsuite/gas/i386/x86-64-avx512bw-opts-intel.d: Updated. * testsuite/gas/i386/x86-64-avx512bw-opts.d: Likewise. opcodes/ PR binutils/20799 * i386-dis-evex.h (evex_table): Replace EdqwS with Edqw. * i386-dis.c (EdqwS): Removed. (dqw_swap_mode): Likewise. (intel_operand_size): Don't check dqw_swap_mode. (OP_E_register): Likewise. (OP_E_memory): Likewise. (OP_G): Likewise. (OP_EX): Likewise. * i386-opc.tbl: Remove "S" from EVEX vpextrw. * i386-tbl.h: Regerated. --- opcodes/i386-dis-evex.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'opcodes/i386-dis-evex.h') diff --git a/opcodes/i386-dis-evex.h b/opcodes/i386-dis-evex.h index 0f8327b..267bad7 100644 --- a/opcodes/i386-dis-evex.h +++ b/opcodes/i386-dis-evex.h @@ -2561,7 +2561,7 @@ static const struct dis386 evex_table[][256] = { { { Bad_Opcode }, { Bad_Opcode }, - { "vpextrw", { EdqwS, XM, Ib }, 0 }, + { "vpextrw", { Edqw, XM, Ib }, 0 }, }, /* PREFIX_EVEX_0F3A16 */ { -- cgit v1.1