diff options
author | Jan Beulich <jbeulich@novell.com> | 2018-01-10 14:53:05 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2018-01-10 14:53:05 +0100 |
commit | c9e9227878d172d93bcbef51dfc76d96f027751d (patch) | |
tree | 3a84b4a9382d86c53727fb44a3deafd2d6198f52 /gas | |
parent | 35fd2b2bcf370837a03f077acf1222f0a7e9c4d1 (diff) | |
download | fsf-binutils-gdb-c9e9227878d172d93bcbef51dfc76d96f027751d.zip fsf-binutils-gdb-c9e9227878d172d93bcbef51dfc76d96f027751d.tar.gz fsf-binutils-gdb-c9e9227878d172d93bcbef51dfc76d96f027751d.tar.bz2 |
x86: fix Disp8 handling for AVX512VL VPCMP*{B,W} variants
In commit 2645e1d079 ("x86: add support for AVX-512 VPCMP*{B,W}
pseudo-ops") I screwed up the Disp8MemShift values of the AVX512VL
variants.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512bw-intel.d | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512bw.d | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512bw.s | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512bw_vl-intel.d | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512bw_vl.d | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/avx512bw_vl.s | 8 |
7 files changed, 46 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 4ab6fa3..07952a6 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,13 @@ +2018-01-10 Jan Beulich <jbeulich@suse.com> + + * testsuite/gas/i386/avx512bw.s, + testsuite/gas/i386/avx512bw_vl.s: Add VPCMP* tests with memory + operands. + * testsuite/gas/i386/avx512bw-intel.d, + testsuite/gas/i386/avx512bw.d, + testsuite/gas/i386/avx512bw_vl-intel.d. + testsuite/gas/i386/avx512bw_vl.d: Adjust expectations. + 2018-01-09 Jim Wilson <jimw@sifive.com> * testsuite/gas/riscv/auipc-x0.d: New. diff --git a/gas/testsuite/gas/i386/avx512bw-intel.d b/gas/testsuite/gas/i386/avx512bw-intel.d index 932a295..635458d 100644 --- a/gas/testsuite/gas/i386/avx512bw-intel.d +++ b/gas/testsuite/gas/i386/avx512bw-intel.d @@ -779,6 +779,8 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f aa c0 df ff ff 7b[ ]*vpcmpb k5,zmm6,ZMMWORD PTR \[edx-0x2040\],0x7b [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f ed 00[ ]*vpcmpeqb k5,zmm6,zmm5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f ed 02[ ]*vpcmpleb k5,zmm6,zmm5 +[ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f 68 7f 02[ ]*vpcmpleb k5,zmm6,ZMMWORD PTR \[eax\+0x1fc0\] +[ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f a8 00 20 00 00 02[ ]*vpcmpleb k5,zmm6,ZMMWORD PTR \[eax\+0x2000\] [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f ed 01[ ]*vpcmpltb k5,zmm6,zmm5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f ed 04[ ]*vpcmpneqb k5,zmm6,zmm5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f ed 06[ ]*vpcmpnleb k5,zmm6,zmm5 @@ -794,6 +796,8 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f aa c0 df ff ff 7b[ ]*vpcmpw k5,zmm6,ZMMWORD PTR \[edx-0x2040\],0x7b [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f ed 00[ ]*vpcmpeqw k5,zmm6,zmm5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f ed 02[ ]*vpcmplew k5,zmm6,zmm5 +[ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f 68 7f 02[ ]*vpcmplew k5,zmm6,ZMMWORD PTR \[eax\+0x1fc0\] +[ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f a8 00 20 00 00 02[ ]*vpcmplew k5,zmm6,ZMMWORD PTR \[eax\+0x2000\] [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f ed 01[ ]*vpcmpltw k5,zmm6,zmm5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f ed 04[ ]*vpcmpneqw k5,zmm6,zmm5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f ed 06[ ]*vpcmpnlew k5,zmm6,zmm5 diff --git a/gas/testsuite/gas/i386/avx512bw.d b/gas/testsuite/gas/i386/avx512bw.d index 6c65c9e..51967bc 100644 --- a/gas/testsuite/gas/i386/avx512bw.d +++ b/gas/testsuite/gas/i386/avx512bw.d @@ -779,6 +779,8 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f aa c0 df ff ff 7b[ ]*vpcmpb \$0x7b,-0x2040\(%edx\),%zmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f ed 00[ ]*vpcmpeqb %zmm5,%zmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f ed 02[ ]*vpcmpleb %zmm5,%zmm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f 68 7f 02[ ]*vpcmpleb 0x1fc0\(%eax\),%zmm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f a8 00 20 00 00 02[ ]*vpcmpleb 0x2000\(%eax\),%zmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f ed 01[ ]*vpcmpltb %zmm5,%zmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f ed 04[ ]*vpcmpneqb %zmm5,%zmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 48 3f ed 06[ ]*vpcmpnleb %zmm5,%zmm6,%k5 @@ -794,6 +796,8 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f aa c0 df ff ff 7b[ ]*vpcmpw \$0x7b,-0x2040\(%edx\),%zmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f ed 00[ ]*vpcmpeqw %zmm5,%zmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f ed 02[ ]*vpcmplew %zmm5,%zmm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f 68 7f 02[ ]*vpcmplew 0x1fc0\(%eax\),%zmm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f a8 00 20 00 00 02[ ]*vpcmplew 0x2000\(%eax\),%zmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f ed 01[ ]*vpcmpltw %zmm5,%zmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f ed 04[ ]*vpcmpneqw %zmm5,%zmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 48 3f ed 06[ ]*vpcmpnlew %zmm5,%zmm6,%k5 diff --git a/gas/testsuite/gas/i386/avx512bw.s b/gas/testsuite/gas/i386/avx512bw.s index 82161d1..3101cfc 100644 --- a/gas/testsuite/gas/i386/avx512bw.s +++ b/gas/testsuite/gas/i386/avx512bw.s @@ -773,6 +773,8 @@ _start: vpcmpb $123, -8256(%edx), %zmm6, %k5 # AVX512BW vpcmpb $0, %zmm5, %zmm6, %k5 # AVX512BW vpcmpleb %zmm5, %zmm6, %k5 # AVX512BW + vpcmpleb 0x1fc0(%eax), %zmm6, %k5 # AVX512{BW,VL} Disp8 + vpcmpleb 0x2000(%eax), %zmm6, %k5 # AVX512{BW,VL} vpcmpltb %zmm5, %zmm6, %k5 # AVX512BW vpcmpneqb %zmm5, %zmm6, %k5 # AVX512BW vpcmpnleb %zmm5, %zmm6, %k5 # AVX512BW @@ -788,6 +790,8 @@ _start: vpcmpw $123, -8256(%edx), %zmm6, %k5 # AVX512BW vpcmpw $0, %zmm5, %zmm6, %k5 # AVX512BW vpcmplew %zmm5, %zmm6, %k5 # AVX512BW + vpcmplew 0x1fc0(%eax), %zmm6, %k5 # AVX512{BW,VL} Disp8 + vpcmplew 0x2000(%eax), %zmm6, %k5 # AVX512{BW,VL} vpcmpltw %zmm5, %zmm6, %k5 # AVX512BW vpcmpneqw %zmm5, %zmm6, %k5 # AVX512BW vpcmpnlew %zmm5, %zmm6, %k5 # AVX512BW diff --git a/gas/testsuite/gas/i386/avx512bw_vl-intel.d b/gas/testsuite/gas/i386/avx512bw_vl-intel.d index d4672e7..3d26879 100644 --- a/gas/testsuite/gas/i386/avx512bw_vl-intel.d +++ b/gas/testsuite/gas/i386/avx512bw_vl-intel.d @@ -1274,7 +1274,11 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f ed 00[ ]*vpcmpeqb k5,xmm6,xmm5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 28 3f ed 00[ ]*vpcmpeqb k5,ymm6,ymm5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f ed 02[ ]*vpcmpleb k5,xmm6,xmm5 +[ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f 68 7f 02[ ]*vpcmpleb k5,xmm6,XMMWORD PTR \[eax\+0x7f0\] +[ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f a8 00 08 00 00 02[ ]*vpcmpleb k5,xmm6,XMMWORD PTR \[eax\+0x800\] [ ]*[a-f0-9]+:[ ]*62 f3 4d 28 3f ed 02[ ]*vpcmpleb k5,ymm6,ymm5 +[ ]*[a-f0-9]+:[ ]*62 f3 4d 28 3f 68 7f 02[ ]*vpcmpleb k5,ymm6,YMMWORD PTR \[eax\+0xfe0\] +[ ]*[a-f0-9]+:[ ]*62 f3 4d 28 3f a8 00 10 00 00 02[ ]*vpcmpleb k5,ymm6,YMMWORD PTR \[eax\+0x1000\] [ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f ed 01[ ]*vpcmpltb k5,xmm6,xmm5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 28 3f ed 01[ ]*vpcmpltb k5,ymm6,ymm5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f ed 04[ ]*vpcmpneqb k5,xmm6,xmm5 @@ -1302,7 +1306,11 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f ed 00[ ]*vpcmpeqw k5,xmm6,xmm5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 28 3f ed 00[ ]*vpcmpeqw k5,ymm6,ymm5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f ed 02[ ]*vpcmplew k5,xmm6,xmm5 +[ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f 68 7f 02[ ]*vpcmplew k5,xmm6,XMMWORD PTR \[eax\+0x7f0\] +[ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f a8 00 08 00 00 02[ ]*vpcmplew k5,xmm6,XMMWORD PTR \[eax\+0x800\] [ ]*[a-f0-9]+:[ ]*62 f3 cd 28 3f ed 02[ ]*vpcmplew k5,ymm6,ymm5 +[ ]*[a-f0-9]+:[ ]*62 f3 cd 28 3f 68 7f 02[ ]*vpcmplew k5,ymm6,YMMWORD PTR \[eax\+0xfe0\] +[ ]*[a-f0-9]+:[ ]*62 f3 cd 28 3f a8 00 10 00 00 02[ ]*vpcmplew k5,ymm6,YMMWORD PTR \[eax\+0x1000\] [ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f ed 01[ ]*vpcmpltw k5,xmm6,xmm5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 28 3f ed 01[ ]*vpcmpltw k5,ymm6,ymm5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f ed 04[ ]*vpcmpneqw k5,xmm6,xmm5 diff --git a/gas/testsuite/gas/i386/avx512bw_vl.d b/gas/testsuite/gas/i386/avx512bw_vl.d index 32a949c..0b9815e 100644 --- a/gas/testsuite/gas/i386/avx512bw_vl.d +++ b/gas/testsuite/gas/i386/avx512bw_vl.d @@ -1274,7 +1274,11 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f ed 00[ ]*vpcmpeqb %xmm5,%xmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 28 3f ed 00[ ]*vpcmpeqb %ymm5,%ymm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f ed 02[ ]*vpcmpleb %xmm5,%xmm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f 68 7f 02[ ]*vpcmpleb 0x7f0\(%eax\),%xmm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f a8 00 08 00 00 02[ ]*vpcmpleb 0x800\(%eax\),%xmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 28 3f ed 02[ ]*vpcmpleb %ymm5,%ymm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 4d 28 3f 68 7f 02[ ]*vpcmpleb 0xfe0\(%eax\),%ymm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 4d 28 3f a8 00 10 00 00 02[ ]*vpcmpleb 0x1000\(%eax\),%ymm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f ed 01[ ]*vpcmpltb %xmm5,%xmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 28 3f ed 01[ ]*vpcmpltb %ymm5,%ymm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 4d 08 3f ed 04[ ]*vpcmpneqb %xmm5,%xmm6,%k5 @@ -1302,7 +1306,11 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f ed 00[ ]*vpcmpeqw %xmm5,%xmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 28 3f ed 00[ ]*vpcmpeqw %ymm5,%ymm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f ed 02[ ]*vpcmplew %xmm5,%xmm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f 68 7f 02[ ]*vpcmplew 0x7f0\(%eax\),%xmm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f a8 00 08 00 00 02[ ]*vpcmplew 0x800\(%eax\),%xmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 28 3f ed 02[ ]*vpcmplew %ymm5,%ymm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 cd 28 3f 68 7f 02[ ]*vpcmplew 0xfe0\(%eax\),%ymm6,%k5 +[ ]*[a-f0-9]+:[ ]*62 f3 cd 28 3f a8 00 10 00 00 02[ ]*vpcmplew 0x1000\(%eax\),%ymm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f ed 01[ ]*vpcmpltw %xmm5,%xmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 28 3f ed 01[ ]*vpcmpltw %ymm5,%ymm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 cd 08 3f ed 04[ ]*vpcmpneqw %xmm5,%xmm6,%k5 diff --git a/gas/testsuite/gas/i386/avx512bw_vl.s b/gas/testsuite/gas/i386/avx512bw_vl.s index dabe5e7..14e9882 100644 --- a/gas/testsuite/gas/i386/avx512bw_vl.s +++ b/gas/testsuite/gas/i386/avx512bw_vl.s @@ -1268,7 +1268,11 @@ _start: vpcmpb $0, %xmm5, %xmm6, %k5 # AVX512{BW,VL} vpcmpb $0, %ymm5, %ymm6, %k5 # AVX512{BW,VL} vpcmpleb %xmm5, %xmm6, %k5 # AVX512{BW,VL} + vpcmpleb 0x7f0(%eax), %xmm6, %k5 # AVX512{BW,VL} Disp8 + vpcmpleb 0x800(%eax), %xmm6, %k5 # AVX512{BW,VL} vpcmpleb %ymm5, %ymm6, %k5 # AVX512{BW,VL} + vpcmpleb 0xfe0(%eax), %ymm6, %k5 # AVX512{BW,VL} Disp8 + vpcmpleb 0x1000(%eax), %ymm6, %k5 # AVX512{BW,VL} vpcmpltb %xmm5, %xmm6, %k5 # AVX512{BW,VL} vpcmpltb %ymm5, %ymm6, %k5 # AVX512{BW,VL} vpcmpneqb %xmm5, %xmm6, %k5 # AVX512{BW,VL} @@ -1296,7 +1300,11 @@ _start: vpcmpw $0, %xmm5, %xmm6, %k5 # AVX512{BW,VL} vpcmpw $0, %ymm5, %ymm6, %k5 # AVX512{BW,VL} vpcmplew %xmm5, %xmm6, %k5 # AVX512{BW,VL} + vpcmplew 0x7f0(%eax), %xmm6, %k5 # AVX512{BW,VL} Disp8 + vpcmplew 0x800(%eax), %xmm6, %k5 # AVX512{BW,VL} vpcmplew %ymm5, %ymm6, %k5 # AVX512{BW,VL} + vpcmplew 0xfe0(%eax), %ymm6, %k5 # AVX512{BW,VL} Disp8 + vpcmplew 0x1000(%eax), %ymm6, %k5 # AVX512{BW,VL} vpcmpltw %xmm5, %xmm6, %k5 # AVX512{BW,VL} vpcmpltw %ymm5, %ymm6, %k5 # AVX512{BW,VL} vpcmpneqw %xmm5, %xmm6, %k5 # AVX512{BW,VL} |