mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
x86: correctly handle VPBROADCASTD with EVEX.W set outside of 64-bit mode
For the flavor having a GPR operand EVEX.W is ignored outside of 64-bit mode. The mnemonic should therefore not be VPBROADCASTQ.
This commit is contained in:
parent
9819647a63
commit
4dd4e63945
@ -1,3 +1,9 @@
|
||||
2018-11-06 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* testsuite/gas/i386/evex-wig.s: Add vpbroadcastd cases.
|
||||
* testsuite/gas/i386/evex-wig.d,
|
||||
testsuite/gas/i386/evex-wig1-intel.d: Adjust expectations.
|
||||
|
||||
2018-11-06 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* testsuite/gas/i386/evex-wig.s: Add vmovd cases.
|
||||
|
@ -41,6 +41,8 @@ _start:
|
||||
{evex} vmovd %xmm0, %eax
|
||||
{evex} vmovd %xmm0, 4(%eax)
|
||||
|
||||
vpbroadcastd %eax, %xmm0
|
||||
|
||||
{evex} vpextrb $0, %xmm0, %eax
|
||||
{evex} vpextrb $0, %xmm0, 1(%eax)
|
||||
|
||||
|
@ -31,6 +31,7 @@ Disassembly of section .text:
|
||||
[ ]*[a-f0-9]+: 62 f1 fd 08 6e 40 01 vmovd xmm0,DWORD PTR \[eax\+0x4\]
|
||||
[ ]*[a-f0-9]+: 62 f1 fd 08 7e c0 vmovd eax,xmm0
|
||||
[ ]*[a-f0-9]+: 62 f1 fd 08 7e 40 01 vmovd DWORD PTR \[eax\+0x4\],xmm0
|
||||
[ ]*[a-f0-9]+: 62 f2 fd 08 7c c0 vpbroadcastd xmm0,eax
|
||||
[ ]*[a-f0-9]+: 62 f3 fd 08 14 c0 00 vpextrb eax,xmm0,0x0
|
||||
[ ]*[a-f0-9]+: 62 f3 fd 08 14 40 01 00 vpextrb BYTE PTR \[eax\+0x1\],xmm0,0x0
|
||||
[ ]*[a-f0-9]+: 62 f3 fd 08 16 c0 00 vpextrd eax,xmm0,0x0
|
||||
|
@ -31,6 +31,7 @@ Disassembly of section .text:
|
||||
[ ]*[a-f0-9]+: 62 f1 fd 08 6e 40 01 vmovd 0x4\(%eax\),%xmm0
|
||||
[ ]*[a-f0-9]+: 62 f1 fd 08 7e c0 vmovd %xmm0,%eax
|
||||
[ ]*[a-f0-9]+: 62 f1 fd 08 7e 40 01 vmovd %xmm0,0x4\(%eax\)
|
||||
[ ]*[a-f0-9]+: 62 f2 fd 08 7c c0 vpbroadcastd %eax,%xmm0
|
||||
[ ]*[a-f0-9]+: 62 f3 fd 08 14 c0 00 vpextrb \$0x0,%xmm0,%eax
|
||||
[ ]*[a-f0-9]+: 62 f3 fd 08 14 40 01 00 vpextrb \$0x0,%xmm0,0x1\(%eax\)
|
||||
[ ]*[a-f0-9]+: 62 f3 fd 08 16 c0 00 vpextrd \$0x0,%xmm0,%eax
|
||||
|
@ -1,3 +1,8 @@
|
||||
2018-11-06 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* i386-dis-evex.h (evex_table): Use K suffix instead of %LW for
|
||||
vpbroadcast{d,q} with GPR operand.
|
||||
|
||||
2018-11-06 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* i386-dis.c (EVEX_W_0F6E_P_2, EVEX_W_0F7E_P_2): Delete.
|
||||
|
@ -2167,7 +2167,7 @@ static const struct dis386 evex_table[][256] = {
|
||||
{
|
||||
{ Bad_Opcode },
|
||||
{ Bad_Opcode },
|
||||
{ "vpbroadcast%LW", { XM, Rdq }, 0 },
|
||||
{ "vpbroadcastK", { XM, Rdq }, 0 },
|
||||
},
|
||||
/* PREFIX_EVEX_0F387D */
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user