aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2018-01-10 14:53:05 +0100
committerJan Beulich <jbeulich@suse.com>2018-01-10 14:53:05 +0100
commitc9e9227878d172d93bcbef51dfc76d96f027751d (patch)
tree3a84b4a9382d86c53727fb44a3deafd2d6198f52 /gas
parent35fd2b2bcf370837a03f077acf1222f0a7e9c4d1 (diff)
downloadfsf-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/ChangeLog10
-rw-r--r--gas/testsuite/gas/i386/avx512bw-intel.d4
-rw-r--r--gas/testsuite/gas/i386/avx512bw.d4
-rw-r--r--gas/testsuite/gas/i386/avx512bw.s4
-rw-r--r--gas/testsuite/gas/i386/avx512bw_vl-intel.d8
-rw-r--r--gas/testsuite/gas/i386/avx512bw_vl.d8
-rw-r--r--gas/testsuite/gas/i386/avx512bw_vl.s8
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}