aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>1999-08-30 14:09:43 +0000
committerAlan Modra <amodra@gmail.com>1999-08-30 14:09:43 +0000
commit3f9ed93baf5eb2dfd0f39f69a6641b53ba69c6a3 (patch)
treebedb8356454d09e24a41073860bf9783fc3304e6
parentaf6bdddf8cf95cb23680031b95f30026d47775de (diff)
downloadgdb-3f9ed93baf5eb2dfd0f39f69a6641b53ba69c6a3.zip
gdb-3f9ed93baf5eb2dfd0f39f69a6641b53ba69c6a3.tar.gz
gdb-3f9ed93baf5eb2dfd0f39f69a6641b53ba69c6a3.tar.bz2
New i386 tests for naked register syntax, ie. "eax" instead of "%eax"
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/i386/i386.exp1
-rw-r--r--gas/testsuite/gas/i386/naked.d32
-rw-r--r--gas/testsuite/gas/i386/naked.s25
4 files changed, 64 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 2805e2c..07474ff 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+1999-08-30 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * gas/i386/naked.s, gas/i386/naked.d: Test-suite addition for
+ allow_naked_reg parsing.
+ * gas/i386/i386.exp: Call it.
+
1999-08-29 Alan Modra <alan@spri.levels.unisa.edu.au>
* gas/i386/white.s, gas/i386/white.l: Add space in FP reg tests.
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index 44049f7..25ed69f 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -21,6 +21,7 @@ if [istarget "i*86-*-*"] then {
run_list_test "general" "-al --listing-lhs-width=2"
run_list_test "inval" "-al"
run_list_test "modrm" "-al --listing-lhs-width=2"
+ run_dump_test "naked"
run_dump_test "opcode"
run_dump_test "prefix"
run_dump_test "amd"
diff --git a/gas/testsuite/gas/i386/naked.d b/gas/testsuite/gas/i386/naked.d
new file mode 100644
index 0000000..9fb1244
--- /dev/null
+++ b/gas/testsuite/gas/i386/naked.d
@@ -0,0 +1,32 @@
+#objdump: -drw
+#name: i386 naked reg
+
+.*: +file format .*i386.*
+
+Disassembly of section .text:
+
+0+000 <foo>:
+ 0: 66 26 ff 23 [ ]*jmpw \*%es:\(%ebx\)
+ 4: 8a 25 50 00 00 00 [ ]*mov 0x50,%ah
+ a: b2 20 [ ]*mov \$0x20,%dl
+ c: bb 00 00 00 00 [ ]*mov \$0x0,%ebx d: (R_386_)?32 .text
+ 11: d9 c9 [ ]*fxch %st\(1\)
+ 13: 36 8c a4 81 d2 04 00 00 [ ]*movl %fs,%ss:0x4d2\(%ecx,%eax,4\)
+ 1b: 8c 2c ed 00 00 00 00 [ ]*movl %gs,0x0\(,%ebp,8\)
+ 22: 26 88 25 00 00 00 00 [ ]*mov %ah,%es:0x0
+ 29: 2e 8b 74 14 80 [ ]*mov %cs:0xffffff80\(%esp,%edx,1\),%esi
+ 2e: f3 65 a5 [ ]*repz movsl %gs:\(%esi\),%es:\(%edi\)
+ 31: ec [ ]*in \(%dx\),%al
+ 32: 66 ef [ ]*out %ax,\(%dx\)
+ 34: 67 d2 14 [ ]*addr16 rclb %cl,\(%si\)
+ 37: 0f 20 d0 [ ]*mov %cr2,%eax
+ 3a: 0f 72 d0 04 [ ]*psrld \$0x4,%mm0
+ 3e: 66 47 [ ]*inc %di
+ 40: 66 51 [ ]*push %cx
+ 42: 66 58 [ ]*pop %ax
+ 44: 66 87 dd [ ]*xchg %bx,%bp
+ 47: 6a 02 [ ]*push \$0x2
+ 49: 00 00 [ ]*add %al,\(%eax\)
+ 4b: 00 00 [ ]*add %al,\(%eax\)
+ 4d: 00 00 [ ]*add %al,\(%eax\)
+ ...
diff --git a/gas/testsuite/gas/i386/naked.s b/gas/testsuite/gas/i386/naked.s
new file mode 100644
index 0000000..ee2cc4c
--- /dev/null
+++ b/gas/testsuite/gas/i386/naked.s
@@ -0,0 +1,25 @@
+.att_syntax noprefix
+
+foo: jmpw es:*(ebx)
+ mov (0x8*0xa),ah
+ mov $(8*4),dl
+ mov $foo,ebx
+ fxch st(1)
+ mov fs,ss:1234(ecx,eax,4)
+ mov gs,ds:(,ebp,8)
+ mov ah,es:0
+ mov cs:-128(esp,edx),esi
+ rep movsl gs:(esi),es:(edi)
+ in dx,al
+ outw (dx)
+ addr16 rclb cl,(si)
+ mov cr2,eax
+ psrld $4,mm0
+ inc di
+ push cx
+ pop ax
+ xchg bx,bp
+ pushl $2
+
+# Force a good alignment.
+.p2align 4,0