This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
patch, gas d10v instruction packing test
- From: Tom Rix <trix at redhat dot com>
- To: binutils at sources dot redhat dot com
- Date: Wed, 22 May 2002 17:26:07 -0500
- Subject: patch, gas d10v instruction packing test
This patch tests packing short instructions in the d10v execution units.
OK to commit?
Tom
--
Tom Rix
GCC Engineer
trix@redhat.com
2002-05-22 Tom Rix <trix@redhat.com>
* gas/d10v/d10v.exp: Add instruction packing test.
* gas/d10v/instruction_packing.s : New test.
diff -rupN src-old/gas/testsuite/gas/d10v/d10v.exp src/gas/testsuite/gas/d10v/d10v.exp
--- src-old/gas/testsuite/gas/d10v/d10v.exp Wed May 22 17:01:36 2002
+++ src/gas/testsuite/gas/d10v/d10v.exp Wed May 22 17:08:28 2002
@@ -57,4 +57,5 @@ if {[istarget d10v-*-*]} {
run_list_test "address-039" ""
run_list_test "address-040" ""
run_list_test "address-041" ""
+ run_dump_test "instruction_packing"
}
diff -rupN src-old/gas/testsuite/gas/d10v/instruction_packing.d src/gas/testsuite/gas/d10v/instruction_packing.d
--- src-old/gas/testsuite/gas/d10v/instruction_packing.d Wed Dec 31 18:00:00 1969
+++ src/gas/testsuite/gas/d10v/instruction_packing.d Wed May 22 17:06:46 2002
@@ -0,0 +1,86 @@
+#objdump: -Dr
+#name: D10V intruction packing
+#as: -W
+
+.*: +file format elf32-d10v
+
+Disassembly of section .text:
+
+00000000 <main>:
+ 0: 2f 00 5e 00 nop || nop
+
+00000004 <FM00_IU_MU>:
+ 4: 30 23 24 02 ld r2, @r3 || sra r0, r1
+ 8: 24 11 a4 02 bra.s 94 <test_end> || sra r0, r1
+
+0000000c <FM00_MU_IU>:
+ c: 30 23 24 02 ld r2, @r3 || sra r0, r1
+ 10: 24 10 a4 02 bra.s 94 <test_end> || sra r0, r1
+
+00000014 <FM00_IM_MU>:
+ 14: 30 23 02 8a ld r2, @r3 || add r4, r5
+ 18: 24 0f 82 8a bra.s 94 <test_end> || add r4, r5
+
+0000001c <FM00_IM_IU>:
+ 1c: 01 45 24 02 add r4, r5 || sra r0, r1
+ 20: 01 45 2c ce add r4, r5 || mulx a0, r6, r7
+
+00000024 <FM00_MU_IM>:
+ 24: 30 23 02 8a ld r2, @r3 || add r4, r5
+ 28: 24 0d 82 8a bra.s 94 <test_end> || add r4, r5
+
+0000002c <FM00_IU_IM>:
+ 2c: 01 45 24 02 add r4, r5 || sra r0, r1
+ 30: 01 45 2c ce add r4, r5 || mulx a0, r6, r7
+
+00000034 <FM01_IU_MU>:
+ 34: b0 23 24 02 ld r2, @r3 <- sra r0, r1
+ 38: a4 0b a4 02 bra.s 94 <test_end> <- sra r0, r1
+
+0000003c <FM01_MU_IU>:
+ 3c: 70 23 24 02 ld r2, @r3 -> sra r0, r1
+ 40: 64 0a a4 02 bra.s 94 <test_end> -> sra r0, r1
+
+00000044 <FM01_IM_MU>:
+ 44: 41 45 60 46 add r4, r5 -> ld r2, @r3
+ 48: 41 45 48 13 add r4, r5 -> bra.s 94 <test_end>
+
+0000004c <FM01_IM_IU>:
+ 4c: 41 45 24 02 add r4, r5 -> sra r0, r1
+ 50: 41 45 2c ce add r4, r5 -> mulx a0, r6, r7
+
+00000054 <FM01_MU_IM>:
+ 54: 70 23 02 8a ld r2, @r3 -> add r4, r5
+ 58: 64 07 82 8a bra.s 94 <test_end> -> add r4, r5
+
+0000005c <FM01_IU_IM>:
+ 5c: 81 45 24 02 add r4, r5 <- sra r0, r1
+ 60: 81 45 2c ce add r4, r5 <- mulx a0, r6, r7
+
+00000064 <FM10_IU_MU>:
+ 64: 70 23 24 02 ld r2, @r3 -> sra r0, r1
+ 68: 64 05 a4 02 bra.s 94 <test_end> -> sra r0, r1
+
+0000006c <FM10_MU_IU>:
+ 6c: b0 23 24 02 ld r2, @r3 <- sra r0, r1
+ 70: a4 04 a4 02 bra.s 94 <test_end> <- sra r0, r1
+
+00000074 <FM10_IM_MU>:
+ 74: 70 23 02 8a ld r2, @r3 -> add r4, r5
+ 78: 64 03 82 8a bra.s 94 <test_end> -> add r4, r5
+
+0000007c <FM10_IM_IU>:
+ 7c: 81 45 24 02 add r4, r5 <- sra r0, r1
+ 80: 81 45 2c ce add r4, r5 <- mulx a0, r6, r7
+
+00000084 <FM10_MU_IM>:
+ 84: b0 23 02 8a ld r2, @r3 <- add r4, r5
+ 88: a4 01 82 8a bra.s 94 <test_end> <- add r4, r5
+
+0000008c <FM10_IU_IM>:
+ 8c: 92 01 02 8a sra r0, r1 <- add r4, r5
+ 90: 96 67 02 8a mulx a0, r6, r7 <- add r4, r5
+
+00000094 <test_end>:
+ 94: 26 0d 5e 00 jmp r13 || nop
+Disassembly of section .data:
diff -rupN src-old/gas/testsuite/gas/d10v/instruction_packing.s src/gas/testsuite/gas/d10v/instruction_packing.s
--- src-old/gas/testsuite/gas/d10v/instruction_packing.s Wed Dec 31 18:00:00 1969
+++ src/gas/testsuite/gas/d10v/instruction_packing.s Wed May 22 17:06:46 2002
@@ -0,0 +1,83 @@
+ ;; Test instruction packing
+
+ .text
+ .global main
+main:
+
+MU_IU:
+ nop || nop
+
+FM00_IU_MU:
+ sra r0,r1 || ld r2,@r3
+ sra r0,r1 || bra.s test_end
+
+FM00_MU_IU:
+ ld r2,@r3 || sra r0,r1
+ bra.s test_end || sra r0,r1
+
+FM00_IM_MU:
+ add r4,r5 || ld r2,@r3
+ add r4,r5 || bra.s test_end
+
+FM00_IM_IU:
+ add r4,r5 || sra r0,r1
+ add r4,r5 || mulx a0, r6, r7
+
+FM00_MU_IM:
+ ld r2,@r3 || add r4,r5
+ bra.s test_end || add r4,r5
+
+FM00_IU_IM:
+ sra r0,r1 || add r4,r5
+ mulx a0, r6, r7 || add r4,r5
+
+FM01_IU_MU:
+ sra r0,r1 -> ld r2,@r3
+ sra r0,r1 -> bra.s test_end
+
+FM01_MU_IU:
+ ld r2,@r3 -> sra r0,r1
+ bra.s test_end -> sra r0,r1
+
+FM01_IM_MU:
+ add r4,r5 -> ld r2,@r3
+ add r4,r5 -> bra.s test_end
+
+FM01_IM_IU:
+ add r4,r5 -> sra r0,r1
+ add r4,r5 -> mulx a0, r6, r7
+
+FM01_MU_IM:
+ ld r2,@r3 -> add r4,r5
+ bra.s test_end -> add r4,r5
+
+FM01_IU_IM:
+ sra r0,r1 -> add r4,r5
+ mulx a0, r6, r7 -> add r4,r5
+
+FM10_IU_MU:
+ sra r0,r1 <- ld r2,@r3
+ sra r0,r1 <- bra.s test_end
+
+FM10_MU_IU:
+ ld r2,@r3 <- sra r0,r1
+ bra.s test_end <- sra r0,r1
+
+FM10_IM_MU:
+ add r4,r5 <- ld r2,@r3
+ add r4,r5 <- bra.s test_end
+
+FM10_IM_IU:
+ add r4,r5 <- sra r0,r1
+ add r4,r5 <- mulx a0, r6, r7
+
+FM10_MU_IM:
+ ld r2,@r3 <- add r4,r5
+ bra.s test_end <- add r4,r5
+
+FM10_IU_IM:
+ sra r0,r1 <- add r4,r5
+ mulx a0, r6, r7 <- add r4,r5
+test_end:
+
+ jmp r13