From a1dfe41ed9b2a92b57aec9af25cf818e74ef8bd4 Mon Sep 17 00:00:00 2001 From: Jason Eckhardt Date: Wed, 21 May 2003 05:01:47 +0000 Subject: [PATCH] 2003-05-20 Jason Eckhardt * gas/i860/branch.{s,d}: New files. * gas/i860/system.{s,d}: New files. --- gas/testsuite/ChangeLog | 5 ++ gas/testsuite/gas/i860/branch.d | 81 +++++++++++++++++++++++++++++++ gas/testsuite/gas/i860/branch.s | 85 +++++++++++++++++++++++++++++++++ gas/testsuite/gas/i860/system.d | 72 ++++++++++++++++++++++++++++ gas/testsuite/gas/i860/system.s | 76 +++++++++++++++++++++++++++++ 5 files changed, 319 insertions(+) create mode 100644 gas/testsuite/gas/i860/branch.d create mode 100644 gas/testsuite/gas/i860/branch.s create mode 100644 gas/testsuite/gas/i860/system.d create mode 100644 gas/testsuite/gas/i860/system.s diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 4417b80111..6a4114f52f 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-05-20 Jason Eckhardt + + * gas/i860/branch.{s,d}: New files. + * gas/i860/system.{s,d}: New files. + 2003-05-20 Jason Eckhardt * 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 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)++ + -- 2.34.1