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