CodeGen peephole: fold redundant phys reg copies
[oota-llvm.git] / test / CodeGen / X86 / setoeq.ll
index 25a2b7e0b49366ca0f9d8abbd1b8b9d84c7cfd11..aa2f0af55cc952519357244ceea7bd104c7ee792 100644 (file)
@@ -1,5 +1,4 @@
-; RUN: llvm-as < %s | llc -march=x86  | grep set | count 2
-; RUN: llvm-as < %s | llc -march=x86  | grep and
+; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s
 
 define zeroext i8 @t(double %x) nounwind readnone {
 entry:
@@ -7,5 +6,16 @@ entry:
        %1 = sitofp i32 %0 to double            ; <double> [#uses=1]
        %2 = fcmp oeq double %1, %x             ; <i1> [#uses=1]
        %retval12 = zext i1 %2 to i8            ; <i8> [#uses=1]
+; CHECK: cmpeqsd
+       ret i8 %retval12
+}
+
+define zeroext i8 @u(double %x) nounwind readnone {
+entry:
+       %0 = fptosi double %x to i32            ; <i32> [#uses=1]
+       %1 = sitofp i32 %0 to double            ; <double> [#uses=1]
+       %2 = fcmp une double %1, %x             ; <i1> [#uses=1]
+       %retval12 = zext i1 %2 to i8            ; <i8> [#uses=1]
+; CHECK: cmpneqsd
        ret i8 %retval12
 }