Follow up to r165072. Try a different approach: only move the load when it's going...
[oota-llvm.git] / test / CodeGen / Mips / inlineasm_constraint.ll
index 06ca7219fe0fc78acd2e1271b7d9a6a30b446ca7..5adec3bb29ea9a4fa05bcb252f58422ab6ddc62c 100644 (file)
@@ -5,7 +5,7 @@ entry:
 
 ; First I with short
 ; CHECK: #APP
-; CHECK: addi $3,$2,4096
+; CHECK: addi ${{[0-9]+}},${{[0-9]+}},4096
 ; CHECK: #NO_APP
   tail call i16 asm sideeffect "addi $0,$1,$2", "=r,r,I"(i16 7, i16 4096) nounwind
 
@@ -39,5 +39,17 @@ entry:
 ; CHECK: #NO_APP       
   tail call i32 asm sideeffect "addi $0,$1,$2", "=r,r,N"(i32 7, i32 -3) nounwind
 
+; Now O with -3
+; CHECK: #APP
+; CHECK: addi ${{[0-9]+}},${{[0-9]+}},-3
+; CHECK: #NO_APP       
+  tail call i32 asm sideeffect "addi $0,$1,$2", "=r,r,O"(i32 7, i16 -3) nounwind
+
+; Now P with 65535
+; CHECK: #APP
+; CHECK: addi ${{[0-9]+}},${{[0-9]+}},65535
+; CHECK: #NO_APP       
+  tail call i32 asm sideeffect "addi $0,$1,$2", "=r,r,P"(i32 7, i32 65535) nounwind
+
   ret i32 0
 }