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 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 %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 14define <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 24define <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 34define <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 44define <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 54define <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