55ae7fea9af060bbb59b3b83bbb28ea6a352213c
[oota-llvm.git] / test / CodeGen / X86 / sext-setcc-self.ll
1 ; RUN: llc -march=x86 -mcpu=nehalem < %s | FileCheck %s
2
3 ; FIXME: The failure cannot be reproduced with, ... why?
4 ; llc -mtriple=i686-win32 -mcpu=nehalem
5 ; XFAIL: cygwin,mingw32,win32
6
7 define <4 x i32> @test_ueq(<4 x float> %in) {
8 entry:
9   ; CHECK: pcmpeqd %xmm0, %xmm0
10   ; CHECK-NEXT: ret
11   %0 = fcmp ueq <4 x float> %in, %in
12   %1 = sext <4 x i1> %0 to <4 x i32>
13   ret <4 x i32> %1
14 }
15
16 define <4 x i32> @test_uge(<4 x float> %in) {
17 entry:
18   ; CHECK: pcmpeqd %xmm0, %xmm0
19   ; CHECK-NEXT: ret
20   %0 = fcmp uge <4 x float> %in, %in
21   %1 = sext <4 x i1> %0 to <4 x i32>
22   ret <4 x i32> %1
23 }
24
25 define <4 x i32> @test_ule(<4 x float> %in) {
26 entry:
27   ; CHECK: pcmpeqd %xmm0, %xmm0
28   ; CHECK-NEXT: ret
29   %0 = fcmp ule <4 x float> %in, %in
30   %1 = sext <4 x i1> %0 to <4 x i32>
31   ret <4 x i32> %1
32 }
33
34 define <4 x i32> @test_one(<4 x float> %in) {
35 entry:
36   ; CHECK: xorps %xmm0, %xmm0
37   ; CHECK-NEXT: ret
38   %0 = fcmp one <4 x float> %in, %in
39   %1 = sext <4 x i1> %0 to <4 x i32>
40   ret <4 x i32> %1
41 }
42
43 define <4 x i32> @test_ogt(<4 x float> %in) {
44 entry:
45   ; CHECK: xorps %xmm0, %xmm0
46   ; CHECK-NEXT: ret
47   %0 = fcmp ogt <4 x float> %in, %in
48   %1 = sext <4 x i1> %0 to <4 x i32>
49   ret <4 x i32> %1
50 }
51
52 define <4 x i32> @test_olt(<4 x float> %in) {
53 entry:
54   ; CHECK: xorps %xmm0, %xmm0
55   ; CHECK-NEXT: ret
56   %0 = fcmp olt <4 x float> %in, %in
57   %1 = sext <4 x i1> %0 to <4 x i32>
58   ret <4 x i32> %1
59 }