70785e9978fbc6d1ad27432d1d72f39c2a94debf
[oota-llvm.git] / test / CodeGen / X86 / select-zero-one.ll
1 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | not grep cmov
2 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | not grep xor
3 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movzbl | count 1
4
5 @r1 = weak global i32 0
6
7 define void @t1(i32 %a, double %b) {
8   %tmp114 = fcmp ugt double %b, 1.000000e-09
9   %tmp120 = icmp eq i32 %a, 0           ; <i1> [#uses=1]
10   %bothcond = or i1 %tmp114, %tmp120            ; <i1> [#uses=1]
11   %storemerge = select i1 %bothcond, i32 0, i32 1               ; <i32> [#uses=2]
12   store i32 %storemerge, i32* @r1, align 4
13   ret void
14 }
15
16 @r2 = weak global i8 0
17
18 define void @t2(i32 %a, double %b) {
19   %tmp114 = fcmp ugt double %b, 1.000000e-09
20   %tmp120 = icmp eq i32 %a, 0           ; <i1> [#uses=1]
21   %bothcond = or i1 %tmp114, %tmp120            ; <i1> [#uses=1]
22   %storemerge = select i1 %bothcond, i8 0, i8 1         ; <i32> [#uses=2]
23   store i8 %storemerge, i8* @r2, align 4
24   ret void
25 }