aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2022-11-30 09:05:57 +0100
committerJan Beulich <jbeulich@suse.com>2022-11-30 09:05:57 +0100
commit3df781c5a459249fcb49e20ee36bdcd7bf111f0c (patch)
treead2cfd9e9164a2483bf8d60f7b1eb345d2c8715f /gas/testsuite
parent629e5e1ae89023bf4dbde9333d18ff4aead2c708 (diff)
downloadgdb-3df781c5a459249fcb49e20ee36bdcd7bf111f0c.zip
gdb-3df781c5a459249fcb49e20ee36bdcd7bf111f0c.tar.gz
gdb-3df781c5a459249fcb49e20ee36bdcd7bf111f0c.tar.bz2
x86: extend FPU test coverage for AT&T / Intel mnemonic differences
Before touching the templates, let's ensure we actually cover things: For one FSUB{,R} and FDIV{,R} would better be tested with operands in both possible orders. And then -mmnemonic=intel wasn't tested at all.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/i386/compat-intel.d4
-rw-r--r--gas/testsuite/gas/i386/compat-intel2.d31
-rw-r--r--gas/testsuite/gas/i386/compat.d4
-rw-r--r--gas/testsuite/gas/i386/compat.s4
-rw-r--r--gas/testsuite/gas/i386/i386.exp1
5 files changed, 44 insertions, 0 deletions
diff --git a/gas/testsuite/gas/i386/compat-intel.d b/gas/testsuite/gas/i386/compat-intel.d
index d9404f8..cbe3c19 100644
--- a/gas/testsuite/gas/i386/compat-intel.d
+++ b/gas/testsuite/gas/i386/compat-intel.d
@@ -9,18 +9,22 @@ Disassembly of section .text:
0+ <.text>:
[ ]*[a-f0-9]+: dc e3 fsubr st\(3\),st
+[ ]*[a-f0-9]+: d8 e3 fsub st,st\(3\)
[ ]*[a-f0-9]+: de e1 fsubrp st\(1\),st
[ ]*[a-f0-9]+: de e3 fsubrp st\(3\),st
[ ]*[a-f0-9]+: de e3 fsubrp st\(3\),st
[ ]*[a-f0-9]+: dc eb fsub st\(3\),st
+[ ]*[a-f0-9]+: d8 eb fsubr st,st\(3\)
[ ]*[a-f0-9]+: de e9 fsubp st\(1\),st
[ ]*[a-f0-9]+: de eb fsubp st\(3\),st
[ ]*[a-f0-9]+: de eb fsubp st\(3\),st
[ ]*[a-f0-9]+: dc f3 fdivr st\(3\),st
+[ ]*[a-f0-9]+: d8 f3 fdiv st,st\(3\)
[ ]*[a-f0-9]+: de f1 fdivrp st\(1\),st
[ ]*[a-f0-9]+: de f3 fdivrp st\(3\),st
[ ]*[a-f0-9]+: de f3 fdivrp st\(3\),st
[ ]*[a-f0-9]+: dc fb fdiv st\(3\),st
+[ ]*[a-f0-9]+: d8 fb fdivr st,st\(3\)
[ ]*[a-f0-9]+: de f9 fdivp st\(1\),st
[ ]*[a-f0-9]+: de fb fdivp st\(3\),st
[ ]*[a-f0-9]+: de fb fdivp st\(3\),st
diff --git a/gas/testsuite/gas/i386/compat-intel2.d b/gas/testsuite/gas/i386/compat-intel2.d
new file mode 100644
index 0000000..035e0ca
--- /dev/null
+++ b/gas/testsuite/gas/i386/compat-intel2.d
@@ -0,0 +1,31 @@
+#as: -mmnemonic=intel
+#objdump: -d -Mintel-mnemonic
+#name: i386 float Intel mnemonic (2)
+#source: compat.s
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <.text>:
+[ ]*[a-f0-9]+: dc eb fsub st\(3\),st
+[ ]*[a-f0-9]+: d8 e3 fsub st,st\(3\)
+[ ]*[a-f0-9]+: de e9 fsubp st\(1\),st
+[ ]*[a-f0-9]+: de eb fsubp st\(3\),st
+[ ]*[a-f0-9]+: de eb fsubp st\(3\),st
+[ ]*[a-f0-9]+: dc e3 fsubr st\(3\),st
+[ ]*[a-f0-9]+: d8 eb fsubr st,st\(3\)
+[ ]*[a-f0-9]+: de e1 fsubrp st\(1\),st
+[ ]*[a-f0-9]+: de e3 fsubrp st\(3\),st
+[ ]*[a-f0-9]+: de e3 fsubrp st\(3\),st
+[ ]*[a-f0-9]+: dc fb fdiv st\(3\),st
+[ ]*[a-f0-9]+: d8 f3 fdiv st,st\(3\)
+[ ]*[a-f0-9]+: de f9 fdivp st\(1\),st
+[ ]*[a-f0-9]+: de fb fdivp st\(3\),st
+[ ]*[a-f0-9]+: de fb fdivp st\(3\),st
+[ ]*[a-f0-9]+: dc f3 fdivr st\(3\),st
+[ ]*[a-f0-9]+: d8 fb fdivr st,st\(3\)
+[ ]*[a-f0-9]+: de f1 fdivrp st\(1\),st
+[ ]*[a-f0-9]+: de f3 fdivrp st\(3\),st
+[ ]*[a-f0-9]+: de f3 fdivrp st\(3\),st
+#pass
diff --git a/gas/testsuite/gas/i386/compat.d b/gas/testsuite/gas/i386/compat.d
index 575f2bb..e2884d8 100644
--- a/gas/testsuite/gas/i386/compat.d
+++ b/gas/testsuite/gas/i386/compat.d
@@ -8,18 +8,22 @@ Disassembly of section .text:
0+ <.text>:
[ ]*[a-f0-9]+: dc e3 fsub %st,%st\(3\)
+[ ]*[a-f0-9]+: d8 e3 fsub %st\(3\),%st
[ ]*[a-f0-9]+: de e1 fsubp %st,%st\(1\)
[ ]*[a-f0-9]+: de e3 fsubp %st,%st\(3\)
[ ]*[a-f0-9]+: de e3 fsubp %st,%st\(3\)
[ ]*[a-f0-9]+: dc eb fsubr %st,%st\(3\)
+[ ]*[a-f0-9]+: d8 eb fsubr %st\(3\),%st
[ ]*[a-f0-9]+: de e9 fsubrp %st,%st\(1\)
[ ]*[a-f0-9]+: de eb fsubrp %st,%st\(3\)
[ ]*[a-f0-9]+: de eb fsubrp %st,%st\(3\)
[ ]*[a-f0-9]+: dc f3 fdiv %st,%st\(3\)
+[ ]*[a-f0-9]+: d8 f3 fdiv %st\(3\),%st
[ ]*[a-f0-9]+: de f1 fdivp %st,%st\(1\)
[ ]*[a-f0-9]+: de f3 fdivp %st,%st\(3\)
[ ]*[a-f0-9]+: de f3 fdivp %st,%st\(3\)
[ ]*[a-f0-9]+: dc fb fdivr %st,%st\(3\)
+[ ]*[a-f0-9]+: d8 fb fdivr %st\(3\),%st
[ ]*[a-f0-9]+: de f9 fdivrp %st,%st\(1\)
[ ]*[a-f0-9]+: de fb fdivrp %st,%st\(3\)
[ ]*[a-f0-9]+: de fb fdivrp %st,%st\(3\)
diff --git a/gas/testsuite/gas/i386/compat.s b/gas/testsuite/gas/i386/compat.s
index 1716311..2b4f06d 100644
--- a/gas/testsuite/gas/i386/compat.s
+++ b/gas/testsuite/gas/i386/compat.s
@@ -1,18 +1,22 @@
# Check SYSV mnemonic instructions.
.text
fsub %st,%st(3)
+ fsub %st(3),%st
fsubp
fsubp %st(3)
fsubp %st,%st(3)
fsubr %st,%st(3)
+ fsubr %st(3),%st
fsubrp
fsubrp %st(3)
fsubrp %st,%st(3)
fdiv %st,%st(3)
+ fdiv %st(3),%st
fdivp
fdivp %st(3)
fdivp %st,%st(3)
fdivr %st,%st(3)
+ fdivr %st(3),%st
fdivrp
fdivrp %st(3)
fdivrp %st,%st(3)
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index f989e56..4296007 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -178,6 +178,7 @@ if [gas_32_check] then {
run_dump_test "i386-intel"
run_dump_test "compat"
run_dump_test "compat-intel"
+ run_dump_test "compat-intel2"
run_dump_test "arch-1"
run_dump_test "arch-2"
run_dump_test "arch-3"