CodeGen peephole: fold redundant phys reg copies
[oota-llvm.git] / test / CodeGen / X86 / 2006-05-22-FPSetEQ.ll
index a6f7bd68e2326cd978252794a87f80e8ca0b8650..3be77f5c3099a91d1c8b063f7b0593dd865b6643 100644 (file)
@@ -1,9 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 | grep 'setnp'
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -enable-unsafe-fp-math | not grep 'setnp'
+; RUN: llc < %s -march=x86 -mattr=-sse | FileCheck %s -check-prefix=WITHNANS
+; RUN: llc < %s -march=x86 -mattr=-sse -enable-unsafe-fp-math -enable-no-nans-fp-math | FileCheck %s -check-prefix=NONANS
 
-uint %test(float %f) {
-       %tmp = seteq float %f, 0.000000e+00
-       %tmp = cast bool %tmp to uint
-       ret uint %tmp
+; WITHNANS-LABEL: test:
+; WITHNANS: setnp
+; NONANS-LABEL: test:
+; NONANS-NOT: setnp
+define i32 @test(float %f) {
+       %tmp = fcmp oeq float %f, 0.000000e+00          ; <i1> [#uses=1]
+       %tmp.upgrd.1 = zext i1 %tmp to i32              ; <i32> [#uses=1]
+       ret i32 %tmp.upgrd.1
 }
+