summaryrefslogtreecommitdiff
path: root/test/MC/ARM
diff options
context:
space:
mode:
authorEli Bendersky <eliben@google.com>2013-01-07 23:12:59 +0000
committerEli Bendersky <eliben@google.com>2013-01-07 23:12:59 +0000
commit59d152197d741ab930dfc99ced3cac1b8bc8bef9 (patch)
tree84c006ce7807d0a79ac5acdd7efbb324657c4e94 /test/MC/ARM
parentf3e1e6917cfca1c46f92c13e5507deaf5bc7b8d1 (diff)
downloadllvm-59d152197d741ab930dfc99ced3cac1b8bc8bef9.tar.gz
llvm-59d152197d741ab930dfc99ced3cac1b8bc8bef9.tar.bz2
llvm-59d152197d741ab930dfc99ced3cac1b8bc8bef9.tar.xz
Add some additional tests for the .bundle_lock align_to_end feature that didn't
make into the last commit. Also, update the test-generation script to generate an exhaustive test for align_to_end as well, and include the generated test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171811 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/ARM')
-rw-r--r--test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s b/test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s
new file mode 100644
index 0000000000..341358b9db
--- /dev/null
+++ b/test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s
@@ -0,0 +1,41 @@
+# RUN: llvm-mc -filetype=obj -triple armv7-linux-gnueabi %s -o - \
+# RUN: | llvm-objdump -no-show-raw-insn -triple armv7 -disassemble - | FileCheck %s
+
+ .syntax unified
+ .text
+ .bundle_align_mode 4
+
+ bx lr
+ and r1, r1, r2
+ and r1, r1, r2
+ .bundle_lock align_to_end
+ bx r9
+ .bundle_unlock
+# No padding required here because bx just happens to be in the
+# right offset.
+# CHECK: 8: and
+# CHECK-NEXT: c: bx
+
+ bx lr
+ and r1, r1, r2
+ .bundle_lock align_to_end
+ bx r9
+ .bundle_unlock
+# A 4-byte padding is needed here
+# CHECK: 18: nop
+# CHECK-NEXT: 1c: bx
+
+ bx lr
+ and r1, r1, r2
+ .bundle_lock align_to_end
+ bx r9
+ bx r9
+ bx r9
+ .bundle_unlock
+# A 12-byte padding is needed here to push the group to the end of the next
+# bundle
+# CHECK: 28: nop
+# CHECK-NEXT: 2c: nop
+# CHECK-NEXT: 30: nop
+# CHECK-NEXT: 34: bx
+