1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: llc -mtriple=x86_64-unknown-unknown < %s | FileCheck %s
3
4define <4 x i32> @test_ueq(<4 x float> %in) {
5; CHECK-LABEL: test_ueq:
6; CHECK:       # BB#0:
7; CHECK-NEXT:    pcmpeqd %xmm0, %xmm0
8; CHECK-NEXT:    retq
9;
10  %t0 = fcmp ueq <4 x float> %in, %in
11  %t1 = sext <4 x i1> %t0 to <4 x i32>
12  ret <4 x i32> %t1
13}
14
15define <4 x i32> @test_uge(<4 x float> %in) {
16; CHECK-LABEL: test_uge:
17; CHECK:       # BB#0:
18; CHECK-NEXT:    pcmpeqd %xmm0, %xmm0
19; CHECK-NEXT:    retq
20;
21  %t0 = fcmp uge <4 x float> %in, %in
22  %t1 = sext <4 x i1> %t0 to <4 x i32>
23  ret <4 x i32> %t1
24}
25
26define <4 x i32> @test_ule(<4 x float> %in) {
27; CHECK-LABEL: test_ule:
28; CHECK:       # BB#0:
29; CHECK-NEXT:    pcmpeqd %xmm0, %xmm0
30; CHECK-NEXT:    retq
31;
32  %t0 = fcmp ule <4 x float> %in, %in
33  %t1 = sext <4 x i1> %t0 to <4 x i32>
34  ret <4 x i32> %t1
35}
36
37define <4 x i32> @test_one(<4 x float> %in) {
38; CHECK-LABEL: test_one:
39; CHECK:       # BB#0:
40; CHECK-NEXT:    xorps %xmm0, %xmm0
41; CHECK-NEXT:    retq
42;
43  %t0 = fcmp one <4 x float> %in, %in
44  %t1 = sext <4 x i1> %t0 to <4 x i32>
45  ret <4 x i32> %t1
46}
47
48define <4 x i32> @test_ogt(<4 x float> %in) {
49; CHECK-LABEL: test_ogt:
50; CHECK:       # BB#0:
51; CHECK-NEXT:    xorps %xmm0, %xmm0
52; CHECK-NEXT:    retq
53;
54  %t0 = fcmp ogt <4 x float> %in, %in
55  %t1 = sext <4 x i1> %t0 to <4 x i32>
56  ret <4 x i32> %t1
57}
58
59define <4 x i32> @test_olt(<4 x float> %in) {
60; CHECK-LABEL: test_olt:
61; CHECK:       # BB#0:
62; CHECK-NEXT:    xorps %xmm0, %xmm0
63; CHECK-NEXT:    retq
64;
65  %t0 = fcmp olt <4 x float> %in, %in
66  %t1 = sext <4 x i1> %t0 to <4 x i32>
67  ret <4 x i32> %t1
68}
69