diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-04-29 23:34:52 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-04-29 23:34:52 +0000 |
commit | b2b03fc2fa87cb5604dd8ec2e8476d051186cdb3 (patch) | |
tree | f431135260fc037343f3e7fd5511376dcf1b3e8f /test/CodeGen/ARM/fast-isel.ll | |
parent | 5ac179ccd2a03996f7b5ae7f12b5f45b8d38d832 (diff) | |
download | external_llvm-b2b03fc2fa87cb5604dd8ec2e8476d051186cdb3.zip external_llvm-b2b03fc2fa87cb5604dd8ec2e8476d051186cdb3.tar.gz external_llvm-b2b03fc2fa87cb5604dd8ec2e8476d051186cdb3.tar.bz2 |
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/fast-isel.ll')
-rw-r--r-- | test/CodeGen/ARM/fast-isel.ll | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/test/CodeGen/ARM/fast-isel.ll b/test/CodeGen/ARM/fast-isel.ll index 81be597..6aad92f 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 |