diff options
author | Jan Beulich <jbeulich@novell.com> | 2018-11-06 11:40:25 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2018-11-06 11:40:25 +0100 |
commit | 563c7eef61a1835973b857eaa7372ec66fc91d64 (patch) | |
tree | 9b836e6a846c1b12f06e12493b1769e8818e8219 /gas/testsuite | |
parent | 0aaca1d90a2f9f075852b2ea5907937cca037044 (diff) | |
download | gdb-563c7eef61a1835973b857eaa7372ec66fc91d64.zip gdb-563c7eef61a1835973b857eaa7372ec66fc91d64.tar.gz gdb-563c7eef61a1835973b857eaa7372ec66fc91d64.tar.bz2 |
x86: allow {store} to select alternative {,}PEXTRW encoding
The 0F C5 encoding is indeed a load type one (just that memory operands
are not permitted), while the 0F 3A 15 encoding is obviously a store.
Allow the pseudo prefixes to be used to select between them.
Also move (without any change) the secondary AVX512BW templates next to
the primary one.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/gas/i386/pseudos.d | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/pseudos.s | 12 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-pseudos.d | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-pseudos.s | 12 |
4 files changed, 44 insertions, 2 deletions
diff --git a/gas/testsuite/gas/i386/pseudos.d b/gas/testsuite/gas/i386/pseudos.d index 65531bf..18804b2 100644 --- a/gas/testsuite/gas/i386/pseudos.d +++ b/gas/testsuite/gas/i386/pseudos.d @@ -1,5 +1,5 @@ #objdump: -drw -#name: pseudo prefxes +#name: pseudo prefixes .*: +file format .* @@ -264,6 +264,15 @@ Disassembly of section .text: +[a-f0-9]+: 62 f1 fe 08 7e f8 vmovq %xmm0,%xmm7 +[a-f0-9]+: 62 f1 fe 08 7e f8 vmovq %xmm0,%xmm7 +[a-f0-9]+: 62 f1 fd 08 d6 c7 vmovq %xmm0,%xmm7 + +[a-f0-9]+: 66 0f c5 f8 00 pextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: 66 0f c5 f8 00 pextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: 66 0f 3a 15 c7 00 pextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: c5 f9 c5 f8 00 vpextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: c5 f9 c5 f8 00 vpextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: c4 e3 79 15 c7 00 vpextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: 62 f1 7d 08 c5 f8 00 vpextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: 62 f1 7d 08 c5 f8 00 vpextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: 62 f3 7d 08 15 c7 00 vpextrw \$0x0,%xmm0,%edi +[a-f0-9]+: 66 0f 1a c3 bndmov %bnd3,%bnd0 +[a-f0-9]+: 66 0f 1a c3 bndmov %bnd3,%bnd0 +[a-f0-9]+: 66 0f 1b d8 bndmov %bnd3,%bnd0 diff --git a/gas/testsuite/gas/i386/pseudos.s b/gas/testsuite/gas/i386/pseudos.s index 95da66c..419a4c5 100644 --- a/gas/testsuite/gas/i386/pseudos.s +++ b/gas/testsuite/gas/i386/pseudos.s @@ -265,6 +265,18 @@ _start: {load} {evex} vmovq %xmm0, %xmm7 {store} {evex} vmovq %xmm0, %xmm7 + pextrw $0, %xmm0, %edi + {load} pextrw $0, %xmm0, %edi + {store} pextrw $0, %xmm0, %edi + + vpextrw $0, %xmm0, %edi + {load} vpextrw $0, %xmm0, %edi + {store} vpextrw $0, %xmm0, %edi + + {evex} vpextrw $0, %xmm0, %edi + {load} {evex} vpextrw $0, %xmm0, %edi + {store} {evex} vpextrw $0, %xmm0, %edi + bndmov %bnd3, %bnd0 {load} bndmov %bnd3, %bnd0 {store} bndmov %bnd3, %bnd0 diff --git a/gas/testsuite/gas/i386/x86-64-pseudos.d b/gas/testsuite/gas/i386/x86-64-pseudos.d index d38f837..55c42a0 100644 --- a/gas/testsuite/gas/i386/x86-64-pseudos.d +++ b/gas/testsuite/gas/i386/x86-64-pseudos.d @@ -1,5 +1,5 @@ #objdump: -drw -#name: x86-64 pseudo prefxes +#name: x86-64 pseudo prefixes .*: +file format .* @@ -276,6 +276,15 @@ Disassembly of section .text: +[a-f0-9]+: 62 f1 fe 08 7e f8 vmovq %xmm0,%xmm7 +[a-f0-9]+: 62 f1 fe 08 7e f8 vmovq %xmm0,%xmm7 +[a-f0-9]+: 62 f1 fd 08 d6 c7 vmovq %xmm0,%xmm7 + +[a-f0-9]+: 66 0f c5 f8 00 pextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: 66 0f c5 f8 00 pextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: 66 0f 3a 15 c7 00 pextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: c5 f9 c5 f8 00 vpextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: c5 f9 c5 f8 00 vpextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: c4 e3 79 15 c7 00 vpextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: 62 f1 7d 08 c5 f8 00 vpextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: 62 f1 7d 08 c5 f8 00 vpextrw \$0x0,%xmm0,%edi + +[a-f0-9]+: 62 f3 7d 08 15 c7 00 vpextrw \$0x0,%xmm0,%edi +[a-f0-9]+: 66 0f 1a c3 bndmov %bnd3,%bnd0 +[a-f0-9]+: 66 0f 1a c3 bndmov %bnd3,%bnd0 +[a-f0-9]+: 66 0f 1b d8 bndmov %bnd3,%bnd0 diff --git a/gas/testsuite/gas/i386/x86-64-pseudos.s b/gas/testsuite/gas/i386/x86-64-pseudos.s index b5d9a8c..33712d3 100644 --- a/gas/testsuite/gas/i386/x86-64-pseudos.s +++ b/gas/testsuite/gas/i386/x86-64-pseudos.s @@ -277,6 +277,18 @@ _start: {load} {evex} vmovq %xmm0, %xmm7 {store} {evex} vmovq %xmm0, %xmm7 + pextrw $0, %xmm0, %edi + {load} pextrw $0, %xmm0, %edi + {store} pextrw $0, %xmm0, %edi + + vpextrw $0, %xmm0, %edi + {load} vpextrw $0, %xmm0, %edi + {store} vpextrw $0, %xmm0, %edi + + {evex} vpextrw $0, %xmm0, %edi + {load} {evex} vpextrw $0, %xmm0, %edi + {store} {evex} vpextrw $0, %xmm0, %edi + bndmov %bnd3, %bnd0 {load} bndmov %bnd3, %bnd0 {store} bndmov %bnd3, %bnd0 |