summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Eckhardt <jle@rice.edu>2003-05-21 05:01:47 +0000
committerJason Eckhardt <jle@rice.edu>2003-05-21 05:01:47 +0000
commit4bbe0d63aea982b3a32a4f4b7e0f9dc5fd7fefd2 (patch)
tree4b3337abbf8ddb0a0db2e3dc927b012cee32fe16
parent836118149280323def6cc66c9aaf612752973766 (diff)
downloadbinutils-redhat-4bbe0d63aea982b3a32a4f4b7e0f9dc5fd7fefd2.tar.gz
2003-05-20 Jason Eckhardt <jle@rice.edu>
* gas/i860/branch.{s,d}: New files. * gas/i860/system.{s,d}: New files.
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/i860/branch.d81
-rw-r--r--gas/testsuite/gas/i860/branch.s85
-rw-r--r--gas/testsuite/gas/i860/system.d72
-rw-r--r--gas/testsuite/gas/i860/system.s76
5 files changed, 319 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 4417b80111..6a4114f52f 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2003-05-20 Jason Eckhardt <jle@rice.edu>
+ * gas/i860/branch.{s,d}: New files.
+ * gas/i860/system.{s,d}: New files.
+
+2003-05-20 Jason Eckhardt <jle@rice.edu>
+
* gas/i860/bitwise.{s,d}: New files.
* gas/i860/bte.{s,d}: New files.
* gas/i860/fldst01.{s,d}: New files.
diff --git a/gas/testsuite/gas/i860/branch.d b/gas/testsuite/gas/i860/branch.d
new file mode 100644
index 0000000000..f38e440918
--- /dev/null
+++ b/gas/testsuite/gas/i860/branch.d
@@ -0,0 +1,81 @@
+#as:
+#objdump: -dr
+#name: branch
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <.text>:
+ 0: 3d 00 20 b4 bla %r0,%r1,0x000000f8 // 0xf8
+ 4: 00 00 00 a0 shl %r0,%r0,%r0
+ 8: 3d 28 e0 b7 bla %r5,%r31,0x00000100 // 0x100
+ c: 00 00 00 a0 shl %r0,%r0,%r0
+ 10: 39 b8 00 b6 bla %r23,%r16,0x000000f8 // 0xf8
+ 14: 00 00 00 a0 shl %r0,%r0,%r0
+ 18: 39 20 60 b6 bla %r4,%r19,0x00000100 // 0x100
+ 1c: 00 00 00 a0 shl %r0,%r0,%r0
+ 20: 00 00 00 40 bri %r0
+ 24: 00 00 00 a0 shl %r0,%r0,%r0
+ 28: 00 08 00 40 bri %r1
+ 2c: 00 00 00 a0 shl %r0,%r0,%r0
+ 30: 00 f8 00 40 bri %r31
+ 34: 00 00 00 a0 shl %r0,%r0,%r0
+ 38: 00 08 00 40 bri %r1
+ 3c: 00 00 00 a0 shl %r0,%r0,%r0
+ 40: 00 60 00 40 bri %r12
+ 44: 00 00 00 a0 shl %r0,%r0,%r0
+ 48: 00 98 00 40 bri %r19
+ 4c: 00 00 00 a0 shl %r0,%r0,%r0
+ 50: 02 00 00 4c calli %r0
+ 54: 00 00 00 a0 shl %r0,%r0,%r0
+ 58: 02 08 00 4c calli %r1
+ 5c: 00 00 00 a0 shl %r0,%r0,%r0
+ 60: 02 f8 00 4c calli %r31
+ 64: 00 00 00 a0 shl %r0,%r0,%r0
+ 68: 02 28 00 4c calli %r5
+ 6c: 00 00 00 a0 shl %r0,%r0,%r0
+ 70: 02 b0 00 4c calli %r22
+ 74: 00 00 00 a0 shl %r0,%r0,%r0
+ 78: 02 48 00 4c calli %r9
+ 7c: 00 00 00 a0 shl %r0,%r0,%r0
+ 80: 1d 00 00 68 br 0x000000f8 // 0xf8
+ 84: 00 00 00 a0 shl %r0,%r0,%r0
+ 88: 1d 00 00 68 br 0x00000100 // 0x100
+ 8c: 00 00 00 a0 shl %r0,%r0,%r0
+ 90: 00 00 00 68 br 0x00000094 // 0x94
+ 90: R_860_PC26 some_fake_extern
+ 94: 00 00 00 a0 shl %r0,%r0,%r0
+ 98: 17 00 00 6c call 0x000000f8 // 0xf8
+ 9c: 00 00 00 a0 shl %r0,%r0,%r0
+ a0: 17 00 00 6c call 0x00000100 // 0x100
+ a4: 00 00 00 a0 shl %r0,%r0,%r0
+ a8: 00 00 00 6c call 0x000000ac // 0xac
+ a8: R_860_PC26 some_fake_extern
+ ac: 00 00 00 a0 shl %r0,%r0,%r0
+ b0: 02 00 00 70 bc 0x000000bc // 0xbc
+ b4: 10 00 00 70 bc 0x000000f8 // 0xf8
+ b8: 00 00 00 70 bc 0x000000bc // 0xbc
+ b8: R_860_PC26 some_fake_extern
+ bc: ff ff ff 77 bc.t 0x000000bc // 0xbc
+ c0: 00 00 00 a0 shl %r0,%r0,%r0
+ c4: 0c 00 00 74 bc.t 0x000000f8 // 0xf8
+ c8: 00 00 00 a0 shl %r0,%r0,%r0
+ cc: 00 00 00 74 bc.t 0x000000d0 // 0xd0
+ cc: R_860_PC26 some_fake_extern
+ d0: 00 00 00 a0 shl %r0,%r0,%r0
+ d4: 02 00 00 78 bnc 0x000000e0 // 0xe0
+ d8: 07 00 00 78 bnc 0x000000f8 // 0xf8
+ dc: 00 00 00 78 bnc 0x000000e0 // 0xe0
+ dc: R_860_PC26 some_fake_extern
+ e0: ff ff ff 7f bnc.t 0x000000e0 // 0xe0
+ e4: 00 00 00 a0 shl %r0,%r0,%r0
+ e8: 03 00 00 7c bnc.t 0x000000f8 // 0xf8
+ ec: 00 00 00 a0 shl %r0,%r0,%r0
+ f0: 00 00 00 7c bnc.t 0x000000f4 // 0xf4
+ f0: R_860_PC26 some_fake_extern
+ f4: 00 00 00 a0 shl %r0,%r0,%r0
+ f8: 00 00 00 a0 shl %r0,%r0,%r0
+ fc: 00 00 00 a0 shl %r0,%r0,%r0
+ 100: 00 00 00 a0 shl %r0,%r0,%r0
+ 104: 00 00 00 a0 shl %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/branch.s b/gas/testsuite/gas/i860/branch.s
new file mode 100644
index 0000000000..3df2758a64
--- /dev/null
+++ b/gas/testsuite/gas/i860/branch.s
@@ -0,0 +1,85 @@
+# Branches and calls
+
+ .text
+
+ bla %r0,%r1,.Lsome_label1
+ nop
+ bla %r5,%r31,.Lsome_label2
+ nop
+ bla %r23,%r16,.Lsome_label1
+ nop
+ bla %r4,%r19,.Lsome_label2
+ nop
+
+ bri %r0
+ nop
+ bri %r1
+ nop
+ bri %r31
+ nop
+ bri %r1
+ nop
+ bri %r12
+ nop
+ bri %r19
+ nop
+
+ calli %r0
+ nop
+ calli %r1
+ nop
+ calli %r31
+ nop
+ calli %r5
+ nop
+ calli %r22
+ nop
+ calli %r9
+ nop
+
+ br .Lsome_label1
+ nop
+ br .Lsome_label2
+ nop
+ br some_fake_extern
+ nop
+
+ call .Lcall_me_now
+ nop
+ call .Lcall_me_anytime
+ nop
+ call some_fake_extern
+ nop
+
+ bc .+12
+ bc .Lsome_label1
+ bc some_fake_extern
+
+ bc.t .+0
+ nop
+ bc.t .Lsome_label1
+ nop
+ bc.t some_fake_extern
+ nop
+
+ bnc .+12
+ bnc .Lsome_label1
+ bnc some_fake_extern
+
+ bnc.t .+0
+ nop
+ bnc.t .Lsome_label1
+ nop
+ bnc.t some_fake_extern
+ nop
+
+
+.Lsome_label1:
+.Lcall_me_now:
+ nop
+ nop
+.Lsome_label2:
+.Lcall_me_anytime:
+ nop
+ nop
+
diff --git a/gas/testsuite/gas/i860/system.d b/gas/testsuite/gas/i860/system.d
new file mode 100644
index 0000000000..72840566a4
--- /dev/null
+++ b/gas/testsuite/gas/i860/system.d
@@ -0,0 +1,72 @@
+#as:
+#objdump: -dr
+#name: system
+
+.*: +file format .*
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+ 0: 01 00 00 4c lock
+ 4: 07 00 00 4c unlock
+ 8: 04 00 00 4c intovr
+ c: 00 00 00 44 trap %r0,%r0,%r0
+ 10: 00 f8 ff 47 trap %r31,%r31,%r31
+ 14: 00 08 b2 44 trap %r1,%r5,%r18
+ 18: 00 f8 86 46 trap %r31,%r20,%r6
+ 1c: 00 00 01 30 ld.c %fir,%r1
+ 20: 00 00 1f 30 ld.c %fir,%r31
+ 24: 00 00 25 30 ld.c %psr,%r5
+ 28: 00 00 3e 30 ld.c %psr,%r30
+ 2c: 00 00 4a 30 ld.c %dirbase,%r10
+ 30: 00 00 42 30 ld.c %dirbase,%sp
+ 34: 00 00 75 30 ld.c %db,%r21
+ 38: 00 00 60 30 ld.c %db,%r0
+ 3c: 00 00 9c 30 ld.c %fsr,%r28
+ 40: 00 00 8c 30 ld.c %fsr,%r12
+ 44: 00 00 bf 30 ld.c %epsr,%r31
+ 48: 00 00 a6 30 ld.c %epsr,%r6
+ 4c: 00 00 00 38 st.c %r0,%fir
+ 50: 00 f0 00 38 st.c %r30,%fir
+ 54: 00 38 20 38 st.c %r7,%psr
+ 58: 00 f8 20 38 st.c %r31,%psr
+ 5c: 00 58 40 38 st.c %r11,%dirbase
+ 60: 00 18 40 38 st.c %fp,%dirbase
+ 64: 00 b0 60 38 st.c %r22,%db
+ 68: 00 78 60 38 st.c %r15,%db
+ 6c: 00 e8 80 38 st.c %r29,%fsr
+ 70: 00 68 80 38 st.c %r13,%fsr
+ 74: 00 20 a0 38 st.c %r4,%epsr
+ 78: 00 30 a0 38 st.c %r6,%epsr
+ 7c: 04 00 00 34 flush 0\(%r0\)
+ 80: 84 00 20 34 flush 128\(%r1\)
+ 84: 04 01 40 34 flush 256\(%sp\)
+ 88: 04 02 60 34 flush 512\(%fp\)
+ 8c: 04 04 80 34 flush 1024\(%r4\)
+ 90: 04 10 a0 34 flush 4096\(%r5\)
+ 94: 04 20 c0 34 flush 8192\(%r6\)
+ 98: 04 40 e0 34 flush 16384\(%r7\)
+ 9c: 04 c0 00 35 flush -16384\(%r8\)
+ a0: 04 e0 20 35 flush -8192\(%r9\)
+ a4: 04 f0 40 35 flush -4096\(%r10\)
+ a8: 04 fc 60 35 flush -1024\(%r11\)
+ ac: 04 fe 80 35 flush -512\(%r12\)
+ b0: 0c ff a0 35 flush -248\(%r13\)
+ b4: e4 ff c0 35 flush -32\(%r14\)
+ b8: f4 ff c0 35 flush -16\(%r14\)
+ bc: 05 00 00 34 flush 0\(%r0\)\+\+
+ c0: 85 00 20 34 flush 128\(%r1\)\+\+
+ c4: 05 01 40 34 flush 256\(%sp\)\+\+
+ c8: 05 02 60 34 flush 512\(%fp\)\+\+
+ cc: 05 04 80 34 flush 1024\(%r4\)\+\+
+ d0: 05 10 c0 36 flush 4096\(%r22\)\+\+
+ d4: 05 20 e0 36 flush 8192\(%r23\)\+\+
+ d8: 05 40 00 37 flush 16384\(%r24\)\+\+
+ dc: 05 c0 20 37 flush -16384\(%r25\)\+\+
+ e0: 05 e0 40 37 flush -8192\(%r26\)\+\+
+ e4: 05 f0 60 37 flush -4096\(%r27\)\+\+
+ e8: 05 fc 80 37 flush -1024\(%r28\)\+\+
+ ec: 05 fe a0 37 flush -512\(%r29\)\+\+
+ f0: 0d ff c0 37 flush -248\(%r30\)\+\+
+ f4: 25 00 e0 37 flush 32\(%r31\)\+\+
+ f8: 15 00 e0 37 flush 16\(%r31\)\+\+
diff --git a/gas/testsuite/gas/i860/system.s b/gas/testsuite/gas/i860/system.s
new file mode 100644
index 0000000000..62bcbfcfcb
--- /dev/null
+++ b/gas/testsuite/gas/i860/system.s
@@ -0,0 +1,76 @@
+# System and privileged instructions
+# ld.c, st.c, flush, lock, unlock, intovr, trap
+
+ .text
+
+ lock
+ unlock
+ intovr
+
+ trap %r0,%r0,%r0
+ trap %r31,%r31,%r31
+ trap %r1,%r5,%r18
+ trap %r31,%r20,%r6
+
+ ld.c %fir,%r1
+ ld.c %fir,%r31
+ ld.c %psr,%r5
+ ld.c %psr,%r30
+ ld.c %dirbase,%r10
+ ld.c %dirbase,%r2
+ ld.c %db,%r21
+ ld.c %db,%r0
+ ld.c %fsr,%r28
+ ld.c %fsr,%r12
+ ld.c %epsr,%r31
+ ld.c %epsr,%r6
+
+ st.c %r0,%fir
+ st.c %r30,%fir
+ st.c %r7,%psr
+ st.c %r31,%psr
+ st.c %r11,%dirbase
+ st.c %r3,%dirbase
+ st.c %r22,%db
+ st.c %r15,%db
+ st.c %r29,%fsr
+ st.c %r13,%fsr
+ st.c %r4,%epsr
+ st.c %r6,%epsr
+
+ # Flush, no auto-increment.
+ flush 0(%r0)
+ flush 128(%r1)
+ flush 256(%r2)
+ flush 512(%r3)
+ flush 1024(%r4)
+ flush 4096(%r5)
+ flush 8192(%r6)
+ flush 16384(%r7)
+ flush -16384(%r8)
+ flush -8192(%r9)
+ flush -4096(%r10)
+ flush -1024(%r11)
+ flush -512(%r12)
+ flush -248(%r13)
+ flush -32(%r14)
+ flush -16(%r14)
+
+ # Flush, auto-increment.
+ flush 0(%r0)++
+ flush 128(%r1)++
+ flush 256(%r2)++
+ flush 512(%r3)++
+ flush 1024(%r4)++
+ flush 4096(%r22)++
+ flush 8192(%r23)++
+ flush 16384(%r24)++
+ flush -16384(%r25)++
+ flush -8192(%r26)++
+ flush -4096(%r27)++
+ flush -1024(%r28)++
+ flush -512(%r29)++
+ flush -248(%r30)++
+ flush 32(%r31)++
+ flush 16(%r31)++
+