2003-05-20 Jason Eckhardt <jle@rice.edu>
authorJason Eckhardt <jle@rice.edu>
Wed, 21 May 2003 05:01:47 +0000 (05:01 +0000)
committerJason Eckhardt <jle@rice.edu>
Wed, 21 May 2003 05:01:47 +0000 (05:01 +0000)
        * gas/i860/branch.{s,d}: New files.
        * gas/i860/system.{s,d}: New files.

gas/testsuite/ChangeLog
gas/testsuite/gas/i860/branch.d [new file with mode: 0644]
gas/testsuite/gas/i860/branch.s [new file with mode: 0644]
gas/testsuite/gas/i860/system.d [new file with mode: 0644]
gas/testsuite/gas/i860/system.s [new file with mode: 0644]

index 4417b801112bb714b331436a68f25d5290ff9d1f..6a4114f52f6c95855d79579902dbbffa7c157d10 100644 (file)
@@ -1,3 +1,8 @@
+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.
diff --git a/gas/testsuite/gas/i860/branch.d b/gas/testsuite/gas/i860/branch.d
new file mode 100644 (file)
index 0000000..f38e440
--- /dev/null
@@ -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 (file)
index 0000000..3df2758
--- /dev/null
@@ -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 (file)
index 0000000..7284056
--- /dev/null
@@ -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 (file)
index 0000000..62bcbfc
--- /dev/null
@@ -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)++
+