diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/vselect-pcmp.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/vselect-pcmp.ll | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/llvm/test/CodeGen/X86/vselect-pcmp.ll b/llvm/test/CodeGen/X86/vselect-pcmp.ll index d162e342e5c..c13aa717237 100644 --- a/llvm/test/CodeGen/X86/vselect-pcmp.ll +++ b/llvm/test/CodeGen/X86/vselect-pcmp.ll @@ -13,12 +13,12 @@ define <16 x i8> @signbit_sel_v16i8(<16 x i8> %x, <16 x i8> %y, <16 x i8> %mask) { ; AVX12-LABEL: signbit_sel_v16i8: -; AVX12: # BB#0: +; AVX12: # %bb.0: ; AVX12-NEXT: vpblendvb %xmm2, %xmm0, %xmm1, %xmm0 ; AVX12-NEXT: retq ; ; AVX512-LABEL: signbit_sel_v16i8: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512-NEXT: vpcmpgtb %xmm2, %xmm3, %xmm2 ; AVX512-NEXT: vpblendvb %xmm2, %xmm0, %xmm1, %xmm0 @@ -32,7 +32,7 @@ define <16 x i8> @signbit_sel_v16i8(<16 x i8> %x, <16 x i8> %y, <16 x i8> %mask) define <8 x i16> @signbit_sel_v8i16(<8 x i16> %x, <8 x i16> %y, <8 x i16> %mask) { ; AVX-LABEL: signbit_sel_v8i16: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX-NEXT: vpcmpgtw %xmm2, %xmm3, %xmm2 ; AVX-NEXT: vpblendvb %xmm2, %xmm0, %xmm1, %xmm0 @@ -44,12 +44,12 @@ define <8 x i16> @signbit_sel_v8i16(<8 x i16> %x, <8 x i16> %y, <8 x i16> %mask) define <4 x i32> @signbit_sel_v4i32(<4 x i32> %x, <4 x i32> %y, <4 x i32> %mask) { ; AVX12F-LABEL: signbit_sel_v4i32: -; AVX12F: # BB#0: +; AVX12F: # %bb.0: ; AVX12F-NEXT: vblendvps %xmm2, %xmm0, %xmm1, %xmm0 ; AVX12F-NEXT: retq ; ; AVX512VL-LABEL: signbit_sel_v4i32: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512VL-NEXT: vpcmpgtd %xmm2, %xmm3, %k1 ; AVX512VL-NEXT: vpblendmd %xmm0, %xmm1, %xmm0 {%k1} @@ -61,12 +61,12 @@ define <4 x i32> @signbit_sel_v4i32(<4 x i32> %x, <4 x i32> %y, <4 x i32> %mask) define <2 x i64> @signbit_sel_v2i64(<2 x i64> %x, <2 x i64> %y, <2 x i64> %mask) { ; AVX12F-LABEL: signbit_sel_v2i64: -; AVX12F: # BB#0: +; AVX12F: # %bb.0: ; AVX12F-NEXT: vblendvpd %xmm2, %xmm0, %xmm1, %xmm0 ; AVX12F-NEXT: retq ; ; AVX512VL-LABEL: signbit_sel_v2i64: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512VL-NEXT: vpcmpgtq %xmm2, %xmm3, %k1 ; AVX512VL-NEXT: vpblendmq %xmm0, %xmm1, %xmm0 {%k1} @@ -78,12 +78,12 @@ define <2 x i64> @signbit_sel_v2i64(<2 x i64> %x, <2 x i64> %y, <2 x i64> %mask) define <4 x float> @signbit_sel_v4f32(<4 x float> %x, <4 x float> %y, <4 x i32> %mask) { ; AVX12F-LABEL: signbit_sel_v4f32: -; AVX12F: # BB#0: +; AVX12F: # %bb.0: ; AVX12F-NEXT: vblendvps %xmm2, %xmm0, %xmm1, %xmm0 ; AVX12F-NEXT: retq ; ; AVX512VL-LABEL: signbit_sel_v4f32: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512VL-NEXT: vpcmpgtd %xmm2, %xmm3, %k1 ; AVX512VL-NEXT: vblendmps %xmm0, %xmm1, %xmm0 {%k1} @@ -95,12 +95,12 @@ define <4 x float> @signbit_sel_v4f32(<4 x float> %x, <4 x float> %y, <4 x i32> define <2 x double> @signbit_sel_v2f64(<2 x double> %x, <2 x double> %y, <2 x i64> %mask) { ; AVX12F-LABEL: signbit_sel_v2f64: -; AVX12F: # BB#0: +; AVX12F: # %bb.0: ; AVX12F-NEXT: vblendvpd %xmm2, %xmm0, %xmm1, %xmm0 ; AVX12F-NEXT: retq ; ; AVX512VL-LABEL: signbit_sel_v2f64: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512VL-NEXT: vpcmpgtq %xmm2, %xmm3, %k1 ; AVX512VL-NEXT: vblendmpd %xmm0, %xmm1, %xmm0 {%k1} @@ -114,7 +114,7 @@ define <2 x double> @signbit_sel_v2f64(<2 x double> %x, <2 x double> %y, <2 x i6 define <32 x i8> @signbit_sel_v32i8(<32 x i8> %x, <32 x i8> %y, <32 x i8> %mask) { ; AVX1-LABEL: signbit_sel_v32i8: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm3 ; AVX1-NEXT: vpxor %xmm4, %xmm4, %xmm4 ; AVX1-NEXT: vpcmpgtb %xmm3, %xmm4, %xmm3 @@ -126,12 +126,12 @@ define <32 x i8> @signbit_sel_v32i8(<32 x i8> %x, <32 x i8> %y, <32 x i8> %mask) ; AVX1-NEXT: retq ; ; AVX2-LABEL: signbit_sel_v32i8: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0 ; AVX2-NEXT: retq ; ; AVX512-LABEL: signbit_sel_v32i8: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512-NEXT: vpcmpgtb %ymm2, %ymm3, %ymm2 ; AVX512-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0 @@ -145,7 +145,7 @@ define <32 x i8> @signbit_sel_v32i8(<32 x i8> %x, <32 x i8> %y, <32 x i8> %mask) define <16 x i16> @signbit_sel_v16i16(<16 x i16> %x, <16 x i16> %y, <16 x i16> %mask) { ; AVX1-LABEL: signbit_sel_v16i16: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm3 ; AVX1-NEXT: vpxor %xmm4, %xmm4, %xmm4 ; AVX1-NEXT: vpcmpgtw %xmm3, %xmm4, %xmm3 @@ -157,14 +157,14 @@ define <16 x i16> @signbit_sel_v16i16(<16 x i16> %x, <16 x i16> %y, <16 x i16> % ; AVX1-NEXT: retq ; ; AVX2-LABEL: signbit_sel_v16i16: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX2-NEXT: vpcmpgtw %ymm2, %ymm3, %ymm2 ; AVX2-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0 ; AVX2-NEXT: retq ; ; AVX512-LABEL: signbit_sel_v16i16: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512-NEXT: vpcmpgtw %ymm2, %ymm3, %ymm2 ; AVX512-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0 @@ -176,12 +176,12 @@ define <16 x i16> @signbit_sel_v16i16(<16 x i16> %x, <16 x i16> %y, <16 x i16> % define <8 x i32> @signbit_sel_v8i32(<8 x i32> %x, <8 x i32> %y, <8 x i32> %mask) { ; AVX12-LABEL: signbit_sel_v8i32: -; AVX12: # BB#0: +; AVX12: # %bb.0: ; AVX12-NEXT: vblendvps %ymm2, %ymm0, %ymm1, %ymm0 ; AVX12-NEXT: retq ; ; AVX512F-LABEL: signbit_sel_v8i32: -; AVX512F: # BB#0: +; AVX512F: # %bb.0: ; AVX512F-NEXT: # kill: %ymm2<def> %ymm2<kill> %zmm2<def> ; AVX512F-NEXT: # kill: %ymm1<def> %ymm1<kill> %zmm1<def> ; AVX512F-NEXT: # kill: %ymm0<def> %ymm0<kill> %zmm0<def> @@ -192,7 +192,7 @@ define <8 x i32> @signbit_sel_v8i32(<8 x i32> %x, <8 x i32> %y, <8 x i32> %mask) ; AVX512F-NEXT: retq ; ; AVX512VL-LABEL: signbit_sel_v8i32: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512VL-NEXT: vpcmpgtd %ymm2, %ymm3, %k1 ; AVX512VL-NEXT: vpblendmd %ymm0, %ymm1, %ymm0 {%k1} @@ -204,12 +204,12 @@ define <8 x i32> @signbit_sel_v8i32(<8 x i32> %x, <8 x i32> %y, <8 x i32> %mask) define <4 x i64> @signbit_sel_v4i64(<4 x i64> %x, <4 x i64> %y, <4 x i64> %mask) { ; AVX12F-LABEL: signbit_sel_v4i64: -; AVX12F: # BB#0: +; AVX12F: # %bb.0: ; AVX12F-NEXT: vblendvpd %ymm2, %ymm0, %ymm1, %ymm0 ; AVX12F-NEXT: retq ; ; AVX512VL-LABEL: signbit_sel_v4i64: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512VL-NEXT: vpcmpgtq %ymm2, %ymm3, %k1 ; AVX512VL-NEXT: vpblendmq %ymm0, %ymm1, %ymm0 {%k1} @@ -221,12 +221,12 @@ define <4 x i64> @signbit_sel_v4i64(<4 x i64> %x, <4 x i64> %y, <4 x i64> %mask) define <4 x double> @signbit_sel_v4f64(<4 x double> %x, <4 x double> %y, <4 x i64> %mask) { ; AVX12F-LABEL: signbit_sel_v4f64: -; AVX12F: # BB#0: +; AVX12F: # %bb.0: ; AVX12F-NEXT: vblendvpd %ymm2, %ymm0, %ymm1, %ymm0 ; AVX12F-NEXT: retq ; ; AVX512VL-LABEL: signbit_sel_v4f64: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512VL-NEXT: vpcmpgtq %ymm2, %ymm3, %k1 ; AVX512VL-NEXT: vblendmpd %ymm0, %ymm1, %ymm0 {%k1} @@ -240,7 +240,7 @@ define <4 x double> @signbit_sel_v4f64(<4 x double> %x, <4 x double> %y, <4 x i6 define <4 x double> @signbit_sel_v4f64_small_mask(<4 x double> %x, <4 x double> %y, <4 x i32> %mask) { ; AVX1-LABEL: signbit_sel_v4f64_small_mask: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vpmovsxdq %xmm2, %xmm3 ; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm2[2,3,0,1] ; AVX1-NEXT: vpmovsxdq %xmm2, %xmm2 @@ -249,19 +249,19 @@ define <4 x double> @signbit_sel_v4f64_small_mask(<4 x double> %x, <4 x double> ; AVX1-NEXT: retq ; ; AVX2-LABEL: signbit_sel_v4f64_small_mask: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vpmovsxdq %xmm2, %ymm2 ; AVX2-NEXT: vblendvpd %ymm2, %ymm0, %ymm1, %ymm0 ; AVX2-NEXT: retq ; ; AVX512F-LABEL: signbit_sel_v4f64_small_mask: -; AVX512F: # BB#0: +; AVX512F: # %bb.0: ; AVX512F-NEXT: vpmovsxdq %xmm2, %ymm2 ; AVX512F-NEXT: vblendvpd %ymm2, %ymm0, %ymm1, %ymm0 ; AVX512F-NEXT: retq ; ; AVX512VL-LABEL: signbit_sel_v4f64_small_mask: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512VL-NEXT: vpcmpgtd %xmm2, %xmm3, %k1 ; AVX512VL-NEXT: vblendmpd %ymm0, %ymm1, %ymm0 {%k1} @@ -275,13 +275,13 @@ define <4 x double> @signbit_sel_v4f64_small_mask(<4 x double> %x, <4 x double> define <8 x double> @signbit_sel_v8f64(<8 x double> %x, <8 x double> %y, <8 x i64> %mask) { ; AVX12-LABEL: signbit_sel_v8f64: -; AVX12: # BB#0: +; AVX12: # %bb.0: ; AVX12-NEXT: vblendvpd %ymm4, %ymm0, %ymm2, %ymm0 ; AVX12-NEXT: vblendvpd %ymm5, %ymm1, %ymm3, %ymm1 ; AVX12-NEXT: retq ; ; AVX512-LABEL: signbit_sel_v8f64: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpxor %xmm3, %xmm3, %xmm3 ; AVX512-NEXT: vpcmpgtq %zmm2, %zmm3, %k1 ; AVX512-NEXT: vblendmpd %zmm0, %zmm1, %zmm0 {%k1} @@ -297,14 +297,14 @@ define <8 x double> @signbit_sel_v8f64(<8 x double> %x, <8 x double> %y, <8 x i6 define <4 x float> @signbit_sel_v4f32_fcmp(<4 x float> %x, <4 x float> %y, <4 x float> %mask) #0 { ; AVX12F-LABEL: signbit_sel_v4f32_fcmp: -; AVX12F: # BB#0: +; AVX12F: # %bb.0: ; AVX12F-NEXT: vxorps %xmm2, %xmm2, %xmm2 ; AVX12F-NEXT: vcmpltps %xmm2, %xmm0, %xmm2 ; AVX12F-NEXT: vblendvps %xmm2, %xmm0, %xmm1, %xmm0 ; AVX12F-NEXT: retq ; ; AVX512VL-LABEL: signbit_sel_v4f32_fcmp: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpxor %xmm2, %xmm2, %xmm2 ; AVX512VL-NEXT: vcmpltps %xmm2, %xmm0, %k1 ; AVX512VL-NEXT: vblendmps %xmm0, %xmm1, %xmm0 {%k1} |