aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2022-10-20 09:18:19 -0700
committerH.J. Lu <hjl.tools@gmail.com>2022-10-20 09:28:23 -0700
commit9bb4d860222f2ffd5395ce84fec5dee0eb1f28b0 (patch)
treef519aa7bd7ef32f0e71d5e1b7330ef97b7136258 /gas/testsuite
parent8a3b17063e86ba7687896de7b5de870006a02ef5 (diff)
downloadgdb-9bb4d860222f2ffd5395ce84fec5dee0eb1f28b0.zip
gdb-9bb4d860222f2ffd5395ce84fec5dee0eb1f28b0.tar.gz
gdb-9bb4d860222f2ffd5395ce84fec5dee0eb1f28b0.tar.bz2
x86: Check VEX/EVEX encoding before checking vector operands
Since commit 837e225ba1992f9745e5bbbd5e8443243a7f475f Author: Jan Beulich <jbeulich@suse.com> Date: Thu Oct 20 10:01:12 2022 +0200 x86: re-work AVX-VNNI support moved AVX-VNNI after AVX512-VNNI, vector Disp8 is applied even when VEX encoding is selected. Check VEX/EVEX encoding before checking vector operands to avoid vector Disp8 with VEX encoding. PR gas/29708 * config/tc-i386.c (match_template): Check VEX/EVEX encoding before checking vector operands. * testsuite/gas/i386/avx-vnni.d: Updated. * testsuite/gas/i386/x86-64-avx-vnni.d: Likewise. * testsuite/gas/i386/avx-vnni.s: Add a Disp32 test. * testsuite/gas/i386/x86-64-avx-vnni.s: Likewise.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/i386/avx-vnni.d1
-rw-r--r--gas/testsuite/gas/i386/avx-vnni.s1
-rw-r--r--gas/testsuite/gas/i386/x86-64-avx-vnni.d1
-rw-r--r--gas/testsuite/gas/i386/x86-64-avx-vnni.s1
4 files changed, 4 insertions, 0 deletions
diff --git a/gas/testsuite/gas/i386/avx-vnni.d b/gas/testsuite/gas/i386/avx-vnni.d
index 47e3118..4dc353e 100644
--- a/gas/testsuite/gas/i386/avx-vnni.d
+++ b/gas/testsuite/gas/i386/avx-vnni.d
@@ -39,4 +39,5 @@ Disassembly of section .text:
+[a-f0-9]+: c4 e2 7d 50 c0 \{vex\} vpdpbusd %ymm0,%ymm0,%ymm0
+[a-f0-9]+: c4 e2 79 50 c0 \{vex\} vpdpbusd %xmm0,%xmm0,%xmm0
+[a-f0-9]+: 62 f2 5d 08 50 d2 vpdpbusd %xmm2,%xmm4,%xmm2
+ +[a-f0-9]+: c4 e2 59 50 91 f0 07 00 00 \{vex\} vpdpbusd 0x7f0\(%ecx\),%xmm4,%xmm2
#pass
diff --git a/gas/testsuite/gas/i386/avx-vnni.s b/gas/testsuite/gas/i386/avx-vnni.s
index e2b793b..6260330 100644
--- a/gas/testsuite/gas/i386/avx-vnni.s
+++ b/gas/testsuite/gas/i386/avx-vnni.s
@@ -37,3 +37,4 @@ _start:
.arch default
.arch .avx_vnni
vpdpbusd %xmm2, %xmm4, %xmm2
+ {vex3} vpdpbusd 2032(%ecx), %xmm4, %xmm2
diff --git a/gas/testsuite/gas/i386/x86-64-avx-vnni.d b/gas/testsuite/gas/i386/x86-64-avx-vnni.d
index 6b3acab..1fa08a5 100644
--- a/gas/testsuite/gas/i386/x86-64-avx-vnni.d
+++ b/gas/testsuite/gas/i386/x86-64-avx-vnni.d
@@ -36,4 +36,5 @@ Disassembly of section .text:
+[a-f0-9]+: c4 e2 59 53 11 \{vex\} vpdpwssds \(%rcx\),%xmm4,%xmm2
+[a-f0-9]+: 62 b2 5d 08 53 d6 vpdpwssds %xmm22,%xmm4,%xmm2
+[a-f0-9]+: 62 d2 5d 08 50 d4 vpdpbusd %xmm12,%xmm4,%xmm2
+ +[a-f0-9]+: c4 e2 59 50 91 f0 07 00 00 \{vex\} vpdpbusd 0x7f0\(%rcx\),%xmm4,%xmm2
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-avx-vnni.s b/gas/testsuite/gas/i386/x86-64-avx-vnni.s
index 95b6dc2..9c57e6f 100644
--- a/gas/testsuite/gas/i386/x86-64-avx-vnni.s
+++ b/gas/testsuite/gas/i386/x86-64-avx-vnni.s
@@ -19,3 +19,4 @@ _start:
.arch .avx_vnni
vpdpbusd %xmm12, %xmm4, %xmm2
+ {vex3} vpdpbusd 2032(%rcx), %xmm4, %xmm2