* gas/mips/noreorder.s, gas/mips/noreorder.d: New test for
authorThiemo Seufer <ths@networkno.de>
Fri, 5 May 2006 16:38:09 +0000 (16:38 +0000)
committerThiemo Seufer <ths@networkno.de>
Fri, 5 May 2006 16:38:09 +0000 (16:38 +0000)
reorder/noreorder corner case.
* gas/mips/mips.exp: Run new test.
-------------------------------------------------------------------

gas/testsuite/ChangeLog
gas/testsuite/gas/mips/mips.exp
gas/testsuite/gas/mips/noreorder.d [new file with mode: 0644]
gas/testsuite/gas/mips/noreorder.s [new file with mode: 0644]

index dbed5162e8f94772ed495f6a3a37b7afa3d67784..1cbea61ed4bc59fc1e51f72d4ca7e76c9085cee7 100644 (file)
@@ -1,3 +1,9 @@
+2006-05-05  Nigel Stephens  <nigel@mips.com>
+
+       * gas/mips/noreorder.s, gas/mips/noreorder.d: New test for
+       reorder/noreorder corner case.
+       * gas/mips/mips.exp: Run new test.
+       
 2006-05-04  Kazu Hirata  <kazu@codesourcery.com>
 
        * gas/arm/armv1.d (error-output): New.
index 382ff95f5c7ae0966a5a821f1b719a88234d4710..6c2a9f46847f6101880fce0ba98787468665991a 100644 (file)
@@ -781,4 +781,6 @@ if { [istarget mips*-*-vxworks*] } {
     }
     run_dump_test "vxworks1"
     run_dump_test "vxworks1-xgot"
+
+    run_dump_test "noreorder"
 }
diff --git a/gas/testsuite/gas/mips/noreorder.d b/gas/testsuite/gas/mips/noreorder.d
new file mode 100644 (file)
index 0000000..0866ca0
--- /dev/null
@@ -0,0 +1,23 @@
+#objdump: -dr --disassemble-zeroes
+#as: -march=mips2 -mabi=32
+#name: noreorder test
+
+.*: +file format .*mips.*
+
+Disassembly of section .text:
+
+00000000 <per_cpu_trap_init>:
+   0:  00000000        nop
+   4:  00000000        nop
+   8:  0c000000        jal     0 <per_cpu_trap_init>
+                       8: R_MIPS_26    cpu_cache_init
+   c:  00000000        nop
+  10:  8fbf0010        lw      ra,16\(sp\)
+  14:  08000000        j       0 <per_cpu_trap_init>
+                       14: R_MIPS_26   tlb_init
+  18:  27bd0018        addiu   sp,sp,24
+  1c:  00000000        nop
+  20:  00000000        nop
+  24:  1000fff6        b       0 <per_cpu_trap_init>
+  28:  00000000        nop
+  2c:  00000000        nop
diff --git a/gas/testsuite/gas/mips/noreorder.s b/gas/testsuite/gas/mips/noreorder.s
new file mode 100644 (file)
index 0000000..71e92ef
--- /dev/null
@@ -0,0 +1,25 @@
+       .text
+       .globl  per_cpu_trap_init
+       .ent    per_cpu_trap_init
+       .type   per_cpu_trap_init, @function
+per_cpu_trap_init:
+$L807:
+       nop
+       nop
+       # Removing this .align make the code assemble correctly
+       .align  3
+       jal     cpu_cache_init
+       lw      $31,16($sp)
+       .set    noreorder
+       j       tlb_init
+       addiu   $sp,$sp,24
+       # Replacing this .word with a nop causes the code to be assembled corrrectly
+       .word   0
+       # Removing this nop causes the code to be compiled correctly
+       nop
+       .set    reorder                                 
+
+       b       $L807
+       .end    per_cpu_trap_init
+
+       .p2align 4