aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2024-06-10 10:45:16 +0200
committerJan Beulich <jbeulich@suse.com>2024-06-10 10:45:16 +0200
commitf3f71a5ca0b65c0aaf079e2b23ddfacb6fdc7d92 (patch)
treed198581436b4980bb69afb1a753ab954d72414d8 /gas
parent8ebb6fcd0755717f7c2dd9ff7623e8199b0a88d5 (diff)
downloadgdb-f3f71a5ca0b65c0aaf079e2b23ddfacb6fdc7d92.zip
gdb-f3f71a5ca0b65c0aaf079e2b23ddfacb6fdc7d92.tar.gz
gdb-f3f71a5ca0b65c0aaf079e2b23ddfacb6fdc7d92.tar.bz2
x86/APX: support extended SETcc form
As indicated during review, spelling/readability-wise setz %eax is easier than setzuz %al _and_ properly specifies the full register that's being modified. Permit that form to be used, even if the spec writers are unwilling to formally mention it. While there also correct the non-ZU EVEX form: That ought to also permit memory operands.
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/gas/i386/x86-64-apx-zu-intel.d3
-rw-r--r--gas/testsuite/gas/i386/x86-64-apx-zu.d3
-rw-r--r--gas/testsuite/gas/i386/x86-64-apx-zu.s3
3 files changed, 9 insertions, 0 deletions
diff --git a/gas/testsuite/gas/i386/x86-64-apx-zu-intel.d b/gas/testsuite/gas/i386/x86-64-apx-zu-intel.d
index 9b61d50..8985503 100644
--- a/gas/testsuite/gas/i386/x86-64-apx-zu-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-apx-zu-intel.d
@@ -42,6 +42,9 @@ Disassembly of section .text:
\s*[a-f0-9]+:\s*62 dc 7f 18 4f c1[ ]+setzug r25b
\s*[a-f0-9]+:\s*d5 91 9f c1[ ]+setg r25b
\s*[a-f0-9]+:\s*62 f4 7f 08 4f c0[ ]+\{evex\} setg al
+\s*[a-f0-9]+:\s*62 f4 7f 08 4f 00[ ]+\{evex\} setg (BYTE PTR )?\[rax\]
+\s*[a-f0-9]+:\s*62 f4 7f 18 4a c0[ ]+setzup al
+\s*[a-f0-9]+:\s*62 f4 ff 18 4b c0[ ]+setzunp al
\s*[a-f0-9]+:\s*62 f4 7d 18 6b c3 0a[ ]+imulzu ax,bx,0xa
\s*[a-f0-9]+:\s*67 62 f4 7d 18 6b 00 0a[ ]+imulzu ax,WORD PTR \[eax\],0xa
\s*[a-f0-9]+:\s*62 ec 7d 18 6b c1 0a[ ]+imulzu r16w,r17w,0xa
diff --git a/gas/testsuite/gas/i386/x86-64-apx-zu.d b/gas/testsuite/gas/i386/x86-64-apx-zu.d
index c6b0cc4..e30ee47 100644
--- a/gas/testsuite/gas/i386/x86-64-apx-zu.d
+++ b/gas/testsuite/gas/i386/x86-64-apx-zu.d
@@ -42,6 +42,9 @@ Disassembly of section .text:
\s*[a-f0-9]+:\s*62 dc 7f 18 4f c1[ ]+setzug %r25b
\s*[a-f0-9]+:\s*d5 91 9f c1[ ]+setg %r25b
\s*[a-f0-9]+:\s*62 f4 7f 08 4f c0[ ]+\{evex\} setg %al
+\s*[a-f0-9]+:\s*62 f4 7f 08 4f 00[ ]+\{evex\} setg \(%rax\)
+\s*[a-f0-9]+:\s*62 f4 7f 18 4a c0[ ]+setzup %al
+\s*[a-f0-9]+:\s*62 f4 ff 18 4b c0[ ]+setzunp %al
\s*[a-f0-9]+:\s*62 f4 7d 18 6b c3 0a[ ]+imulzu \$0xa,%bx,%ax
\s*[a-f0-9]+:\s*67 62 f4 7d 18 6b 00 0a[ ]+imulzu \$0xa,\(%eax\),%ax
\s*[a-f0-9]+:\s*62 ec 7d 18 6b c1 0a[ ]+imulzu \$0xa,%r17w,%r16w
diff --git a/gas/testsuite/gas/i386/x86-64-apx-zu.s b/gas/testsuite/gas/i386/x86-64-apx-zu.s
index 0c287b8..6e28927 100644
--- a/gas/testsuite/gas/i386/x86-64-apx-zu.s
+++ b/gas/testsuite/gas/i386/x86-64-apx-zu.s
@@ -36,6 +36,9 @@ _start:
setzug %r25b
setg %r25b
{evex} setg %al
+ {evex} setg (%rax)
+ setpe %eax
+ setpo %rax
.intel_syntax noprefix
imulzu ax,bx, 10