Reapply r155682, making constant folding more consistent, with a fix to work
[oota-llvm.git] / test / CodeGen / X86 / 2006-05-22-FPSetEQ.ll
index 999716e393c226e2a5f10922a316d142e57ba3cc..6c5a4fb3bd5c61fa30866b445f5d8758fa053f15 100644 (file)
@@ -1,9 +1,10 @@
-; RUN: llvm-as < %s | llc -march=x86 &&
-; RUN: llvm-as < %s | llc -march=x86 | grep 'setnp'
-; RUN: llvm-as < %s | llc -march=x86 -enable-unsafe-fp-math | not grep 'setnp'
+; RUN: llc < %s -march=x86 -mattr=-sse | grep setnp
+; RUN: llc < %s -march=x86 -mattr=-sse -enable-unsafe-fp-math -enable-no-nans-fp-math | \
+; RUN:   not grep setnp
 
-uint %test(float %f) {
-       %tmp = seteq float %f, 0.000000e+00
-       %tmp = cast bool %tmp to uint
-       ret uint %tmp
+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
 }
+