summaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-04-29 23:34:52 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-04-29 23:34:52 +0000
commitb2b03fc2fa87cb5604dd8ec2e8476d051186cdb3 (patch)
treef431135260fc037343f3e7fd5511376dcf1b3e8f /test/CodeGen/ARM
parent5ac179ccd2a03996f7b5ae7f12b5f45b8d38d832 (diff)
downloadllvm-b2b03fc2fa87cb5604dd8ec2e8476d051186cdb3.tar.gz
llvm-b2b03fc2fa87cb5604dd8ec2e8476d051186cdb3.tar.bz2
llvm-b2b03fc2fa87cb5604dd8ec2e8476d051186cdb3.tar.xz
Make FastEmit_ri_ try a bit harder to succeed for supported operations; FastEmit_i can fail for non-Thumb2 ARM. Makes ARMSimplifyAddress work correctly, and reduces the number of fast-isel bailouts on non-Thumb ARM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130560 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM')
-rw-r--r--test/CodeGen/ARM/fast-isel.ll12
1 files changed, 10 insertions, 2 deletions
diff --git a/test/CodeGen/ARM/fast-isel.ll b/test/CodeGen/ARM/fast-isel.ll
index 81be597859..6aad92fbc6 100644
--- a/test/CodeGen/ARM/fast-isel.ll
+++ b/test/CodeGen/ARM/fast-isel.ll
@@ -38,14 +38,22 @@ define void @test2(i32 %tmp, i32* %ptr) nounwind {
; ARM: test2:
b1:
- %b = add i32 %tmp, 4096
- store i32 %b, i32* %ptr
+ %a = add i32 %tmp, 4096
+ store i32 %a, i32* %ptr
br label %b2
; THUMB: add.w {{.*}} #4096
; ARM: add {{.*}} #1, #20
b2:
+ %b = add i32 %tmp, 4095
+ store i32 %b, i32* %ptr
+ br label %b3
+; THUMB: addw {{.*}} #4095
+; ARM: movw {{.*}} #4095
+; ARM: add
+
+b3:
%c = or i32 %tmp, 4
store i32 %c, i32* %ptr
ret void