diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-12-06 22:39:50 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-12-06 22:39:50 +0000 |
commit | 7cca606aaa6fee6ff4f548aa3686608b6be1f208 (patch) | |
tree | d31df77e7d6b41f9c521287a790e60eb923633a7 /test/CodeGen/Thumb2/large-stack.ll | |
parent | 08bc2701a22cae61d202c0960a390d8410434e5c (diff) | |
download | llvm-7cca606aaa6fee6ff4f548aa3686608b6be1f208.tar.gz llvm-7cca606aaa6fee6ff4f548aa3686608b6be1f208.tar.bz2 llvm-7cca606aaa6fee6ff4f548aa3686608b6be1f208.tar.xz |
Dynamic stack realignment use of sp register as source/dest register
in "bic sp, sp, #15" leads to unpredicatble behaviour in Thumb2 mode.
Emit the following code instead:
mov r4, sp
bic r4, r4, #15
mov sp, r4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90724 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/Thumb2/large-stack.ll')
-rw-r--r-- | test/CodeGen/Thumb2/large-stack.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/CodeGen/Thumb2/large-stack.ll b/test/CodeGen/Thumb2/large-stack.ll index 6f5996174a..da44cdea0f 100644 --- a/test/CodeGen/Thumb2/large-stack.ll +++ b/test/CodeGen/Thumb2/large-stack.ll @@ -18,7 +18,7 @@ define void @test2() { define i32 @test3() { ; CHECK: test3: ; CHECK: sub.w sp, sp, #805306368 -; CHECK: sub sp, #24 +; CHECK: sub sp, #20 %retval = alloca i32, align 4 %tmp = alloca i32, align 4 %a = alloca [805306369 x i8], align 16 |