ARM: prefer allocating VFP regs at stride 4 on Darwin.
[oota-llvm.git] / test / CodeGen / ARM / hello.ll
index abf6b4c0400d0eb50288cb623e990e39a4daa2d6..08e6104bbcf63f39959bac0d6db9c620b89cbd4b 100644 (file)
@@ -1,12 +1,25 @@
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -mtriple=arm-linux | grep mov | wc -l | grep 1 &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -mtriple=arm-apple-darwin | grep mov | wc -l | grep 2
+; RUN: llc -mtriple=arm-eabi %s -o /dev/null
+; RUN: llc -mtriple=armv6-linux-gnueabi %s -o - | FileCheck %s
 
-%str = internal constant [12 x sbyte] c"Hello World\00"
+; RUN: llc -mtriple=armv6-linux-gnu --disable-fp-elim %s -o - \
+; RUN:  | FileCheck %s -check-prefix CHECK-FP-ELIM
 
-int %main() {
-       %tmp = call int %puts( sbyte* getelementptr ([12 x sbyte]* %str, int 0, uint 0) )
-       ret int 0
+; RUN: llc -mtriple=armv6-apple-ios %s -o - \
+; RUN:  | FileCheck %s -check-prefix CHECK-FP-ELIM
+
+@str = internal constant [12 x i8] c"Hello World\00"
+
+define i32 @main() {
+       %tmp = call i32 @puts( i8* getelementptr ([12 x i8], [12 x i8]* @str, i32 0, i64 0) )           ; <i32> [#uses=0]
+       ret i32 0
 }
 
-declare int %puts(sbyte*)
+declare i32 @puts(i8*)
+
+; CHECK: mov
+; CHECK-NOT: mov
+
+; CHECK-FP-ELIM: mov
+; CHECK-FP-ELIM: mov
+; CHECK-FP-ELIM-NOT: mov
+