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
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 @@
 ; 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