2005-08-05 Paul Brook <paul@codesourcery.com>
authorPaul Brook <paul@codesourcery.com>
Fri, 5 Aug 2005 14:29:38 +0000 (14:29 +0000)
committerPaul Brook <paul@codesourcery.com>
Fri, 5 Aug 2005 14:29:38 +0000 (14:29 +0000)
* gas/arm/thumb32.s: Use correct conditional suffixes inside IT
blocks.
* gas/arm/thumb2_it.d, gas/arm/thumb2_it.s: New test.

gas/testsuite/gas/arm/thumb2_it.d [new file with mode: 0644]
gas/testsuite/gas/arm/thumb2_it.s [new file with mode: 0644]

diff --git a/gas/testsuite/gas/arm/thumb2_it.d b/gas/testsuite/gas/arm/thumb2_it.d
new file mode 100644 (file)
index 0000000..69df815
--- /dev/null
@@ -0,0 +1,24 @@
+# name: Mixed 16 and 32-bit Thumb conditional instructions
+# as: -march=armv6kt2
+# objdump: -dr --prefix-addresses --show-raw-insn
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+0+000 <[^>]+> bf05             ittet   eq
+0+002 <[^>]+> 1880             add.*   r0, r0, r2
+0+004 <[^>]+> 4440             add.*   r0, r8
+0+006 <[^>]+> 1888             add.*   r0, r1, r2
+0+008 <[^>]+> eb11 0002        adds.*  r0, r1, r2
+0+00c <[^>]+> 4410             add.*   r0, r2
+0+00e <[^>]+> 4440             add.*   r0, r8
+0+010 <[^>]+> 1880             adds.*  r0, r0, r2
+0+012 <[^>]+> eb10 0008        adds.*  r0, r0, r8
+0+016 <[^>]+> 1888             adds.*  r0, r1, r2
+0+018 <[^>]+> bf0a             itet    eq
+0+01a <[^>]+> 4310             orr.*   r0, r2
+0+01c <[^>]+> ea40 0008        orr.*   r0, r0, r8
+0+020 <[^>]+> ea50 0002        orrs.*  r0, r0, r2
+0+024 <[^>]+> ea40 0002        orr.*   r0, r0, r2
+0+028 <[^>]+> ea40 0008        orr.*   r0, r0, r8
+0+02c <[^>]+> 4310             orrs.*  r0, r2
diff --git a/gas/testsuite/gas/arm/thumb2_it.s b/gas/testsuite/gas/arm/thumb2_it.s
new file mode 100644 (file)
index 0000000..2b48757
--- /dev/null
@@ -0,0 +1,24 @@
+       .text
+       .thumb
+       .syntax unified
+       .thumb_func
+foo:
+       ittet eq
+       addeq r0, r0, r2
+       addeq r0, r0, r8
+       addne r0, r1, r2
+       addseq r0, r1, r2
+       add r0, r0, r2
+       add r0, r0, r8
+       adds r0, r0, r2
+       adds r0, r0, r8
+       adds r0, r1, r2
+
+       itet eq
+       orreq r0, r0, r2
+       orrne r0, r0, r8
+       orrseq r0, r0, r2
+       orr r0, r0, r2
+       orr r0, r0, r8
+       orrs r0, r0, r2
+