summaryrefslogtreecommitdiff
path: root/test/MC/ARM
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@google.com>2013-02-15 22:50:52 +0000
committerDerek Schuff <dschuff@google.com>2013-02-15 22:50:52 +0000
commit67144e37ba5cd35ee917daac631e03963b05a674 (patch)
tree0c6baab3975cf0d06248d7eb46d7e4b931fe620c /test/MC/ARM
parent4788d14b484ba9e2fe19855fd6c97a3659980fca (diff)
downloadllvm-67144e37ba5cd35ee917daac631e03963b05a674.tar.gz
llvm-67144e37ba5cd35ee917daac631e03963b05a674.tar.bz2
llvm-67144e37ba5cd35ee917daac631e03963b05a674.tar.xz
If bundle alignment is enabled, do not add data to a fragment with instructions
With bundle alignment, instructions all get their own MCFragments (unless they are in a bundle-locked group). For instructions with fixups, this is an MCDataFragment. Emitting actual data (e.g. for .long) attempts to re-use MCDataFragments, which we don't want int this case since it leads to fragments which exceed the bundle size. So, don't reuse them in this case. Also adds a test and fixes some formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175316 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/ARM')
-rw-r--r--test/MC/ARM/AlignedBundling/group-bundle-arm.s15
1 files changed, 13 insertions, 2 deletions
diff --git a/test/MC/ARM/AlignedBundling/group-bundle-arm.s b/test/MC/ARM/AlignedBundling/group-bundle-arm.s
index 823d9e0cb8..1d67353200 100644
--- a/test/MC/ARM/AlignedBundling/group-bundle-arm.s
+++ b/test/MC/ARM/AlignedBundling/group-bundle-arm.s
@@ -5,8 +5,8 @@
# instructions should not be inserted. However, for bundle-locked groups
# it can be.
- .syntax unified
- .text
+ .syntax unified
+ .text
.bundle_align_mode 4
bx lr
@@ -35,3 +35,14 @@
# CHECK-NEXT: 2c: nop
# CHECK-NEXT: 30: bx
+ .align 4
+foo:
+ b foo
+ .long 3892240112
+ .long 3892240112
+ .long 3892240112
+ .long 3892240112
+ .long 3892240112
+ .long 3892240112
+# CHECK: 40: b
+