aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2023-03-31 08:18:58 +0200
committerJan Beulich <jbeulich@suse.com>2023-03-31 08:18:58 +0200
commitedd67638687a06788c8c69c75e139bca8f94f1a3 (patch)
tree2a61dec9a6dc6e5926ccbdbf90224b64f2f8b7c7 /gas/testsuite
parentaf9eb2ee1b10caa89e1c603cd484bc025e71f4fd (diff)
downloadgdb-edd67638687a06788c8c69c75e139bca8f94f1a3.zip
gdb-edd67638687a06788c8c69c75e139bca8f94f1a3.tar.gz
gdb-edd67638687a06788c8c69c75e139bca8f94f1a3.tar.bz2
x86: introduce .insn directive
For starters this deals with only very basic constructs.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/i386/i386.exp2
-rw-r--r--gas/testsuite/gas/i386/insn-32.d14
-rw-r--r--gas/testsuite/gas/i386/insn-32.s14
-rw-r--r--gas/testsuite/gas/i386/insn-64.d14
-rw-r--r--gas/testsuite/gas/i386/insn-64.s14
5 files changed, 58 insertions, 0 deletions
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index 4d2150f..c44f071 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -68,6 +68,7 @@ if [gas_32_check] then {
run_dump_test "intelok"
run_dump_test "prefix"
run_list_test "prefix32" "-al"
+ run_dump_test "insn-32"
run_dump_test "lea"
run_dump_test "lea16"
run_dump_test "amd"
@@ -874,6 +875,7 @@ if [gas_64_check] then {
run_dump_test "x86-64-sysenter-mixed"
run_dump_test "x86-64-sysenter-amd"
run_list_test "x86-64-sysenter-amd" "-mamd64"
+ run_dump_test "insn-64"
run_dump_test "noreg64"
run_list_test "noreg64"
run_dump_test "noreg64-data16"
diff --git a/gas/testsuite/gas/i386/insn-32.d b/gas/testsuite/gas/i386/insn-32.d
new file mode 100644
index 0000000..d1b761c
--- /dev/null
+++ b/gas/testsuite/gas/i386/insn-32.d
@@ -0,0 +1,14 @@
+#objdump: -dw
+#name: .insn (32-bit code)
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <insn>:
+[ ]*[a-f0-9]+: 90[ ]+nop
+[ ]*[a-f0-9]+: f3 90[ ]+pause
+[ ]*[a-f0-9]+: f3 90[ ]+pause
+[ ]*[a-f0-9]+: d9 ee[ ]+fldz
+[ ]*[a-f0-9]+: f3 0f 01 e8[ ]+setssbsy
+#pass
diff --git a/gas/testsuite/gas/i386/insn-32.s b/gas/testsuite/gas/i386/insn-32.s
new file mode 100644
index 0000000..71e8427
--- /dev/null
+++ b/gas/testsuite/gas/i386/insn-32.s
@@ -0,0 +1,14 @@
+ .text
+insn:
+ # nop
+ .insn 0x90
+
+ # pause
+ .insn 0xf390
+ .insn repe 0x90
+
+ # fldz
+ .insn 0xd9ee
+
+ # setssbsy
+ .insn 0xf30f01e8
diff --git a/gas/testsuite/gas/i386/insn-64.d b/gas/testsuite/gas/i386/insn-64.d
new file mode 100644
index 0000000..716e2a8
--- /dev/null
+++ b/gas/testsuite/gas/i386/insn-64.d
@@ -0,0 +1,14 @@
+#objdump: -dw
+#name: .insn (64-bit code)
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <insn>:
+[ ]*[a-f0-9]+: 90[ ]+nop
+[ ]*[a-f0-9]+: f3 90[ ]+pause
+[ ]*[a-f0-9]+: f3 90[ ]+pause
+[ ]*[a-f0-9]+: d9 ee[ ]+fldz
+[ ]*[a-f0-9]+: f3 0f 01 e8[ ]+setssbsy
+#pass
diff --git a/gas/testsuite/gas/i386/insn-64.s b/gas/testsuite/gas/i386/insn-64.s
new file mode 100644
index 0000000..71e8427
--- /dev/null
+++ b/gas/testsuite/gas/i386/insn-64.s
@@ -0,0 +1,14 @@
+ .text
+insn:
+ # nop
+ .insn 0x90
+
+ # pause
+ .insn 0xf390
+ .insn repe 0x90
+
+ # fldz
+ .insn 0xd9ee
+
+ # setssbsy
+ .insn 0xf30f01e8