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