summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/vselect-pcmp.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/vselect-pcmp.ll')
-rw-r--r--llvm/test/CodeGen/X86/vselect-pcmp.ll46
1 files changed, 16 insertions, 30 deletions
diff --git a/llvm/test/CodeGen/X86/vselect-pcmp.ll b/llvm/test/CodeGen/X86/vselect-pcmp.ll
index aecc3b71396..a9ee1bcc32f 100644
--- a/llvm/test/CodeGen/X86/vselect-pcmp.ll
+++ b/llvm/test/CodeGen/X86/vselect-pcmp.ll
@@ -130,19 +130,12 @@ define <32 x i8> @signbit_sel_v32i8(<32 x i8> %x, <32 x i8> %y, <32 x i8> %mask)
; AVX2-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0
; AVX2-NEXT: retq
;
-; AVX512F-LABEL: signbit_sel_v32i8:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vpxor %xmm3, %xmm3, %xmm3
-; AVX512F-NEXT: vpcmpgtb %ymm2, %ymm3, %ymm2
-; AVX512F-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0
-; AVX512F-NEXT: retq
-;
-; AVX512VL-LABEL: signbit_sel_v32i8:
-; AVX512VL: # BB#0:
-; AVX512VL-NEXT: vpxor %ymm3, %ymm3, %ymm3
-; AVX512VL-NEXT: vpcmpgtb %ymm2, %ymm3, %ymm2
-; AVX512VL-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0
-; AVX512VL-NEXT: retq
+; AVX512-LABEL: signbit_sel_v32i8:
+; AVX512: # BB#0:
+; AVX512-NEXT: vpxor %xmm3, %xmm3, %xmm3
+; AVX512-NEXT: vpcmpgtb %ymm2, %ymm3, %ymm2
+; AVX512-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0
+; AVX512-NEXT: retq
%tr = icmp slt <32 x i8> %mask, zeroinitializer
%z = select <32 x i1> %tr, <32 x i8> %x, <32 x i8> %y
ret <32 x i8> %z
@@ -170,19 +163,12 @@ define <16 x i16> @signbit_sel_v16i16(<16 x i16> %x, <16 x i16> %y, <16 x i16> %
; AVX2-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0
; AVX2-NEXT: retq
;
-; AVX512F-LABEL: signbit_sel_v16i16:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vpxor %xmm3, %xmm3, %xmm3
-; AVX512F-NEXT: vpcmpgtw %ymm2, %ymm3, %ymm2
-; AVX512F-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0
-; AVX512F-NEXT: retq
-;
-; AVX512VL-LABEL: signbit_sel_v16i16:
-; AVX512VL: # BB#0:
-; AVX512VL-NEXT: vpxor %ymm3, %ymm3, %ymm3
-; AVX512VL-NEXT: vpcmpgtw %ymm2, %ymm3, %ymm2
-; AVX512VL-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0
-; AVX512VL-NEXT: retq
+; AVX512-LABEL: signbit_sel_v16i16:
+; AVX512: # BB#0:
+; AVX512-NEXT: vpxor %xmm3, %xmm3, %xmm3
+; AVX512-NEXT: vpcmpgtw %ymm2, %ymm3, %ymm2
+; AVX512-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0
+; AVX512-NEXT: retq
%tr = icmp slt <16 x i16> %mask, zeroinitializer
%z = select <16 x i1> %tr, <16 x i16> %x, <16 x i16> %y
ret <16 x i16> %z
@@ -207,7 +193,7 @@ define <8 x i32> @signbit_sel_v8i32(<8 x i32> %x, <8 x i32> %y, <8 x i32> %mask)
;
; AVX512VL-LABEL: signbit_sel_v8i32:
; AVX512VL: # BB#0:
-; AVX512VL-NEXT: vpxor %ymm3, %ymm3, %ymm3
+; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
; AVX512VL-NEXT: vpcmpgtd %ymm2, %ymm3, %k1
; AVX512VL-NEXT: vpblendmd %ymm0, %ymm1, %ymm0 {%k1}
; AVX512VL-NEXT: retq
@@ -224,7 +210,7 @@ define <4 x i64> @signbit_sel_v4i64(<4 x i64> %x, <4 x i64> %y, <4 x i64> %mask)
;
; AVX512VL-LABEL: signbit_sel_v4i64:
; AVX512VL: # BB#0:
-; AVX512VL-NEXT: vpxor %ymm3, %ymm3, %ymm3
+; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
; AVX512VL-NEXT: vpcmpgtq %ymm2, %ymm3, %k1
; AVX512VL-NEXT: vpblendmq %ymm0, %ymm1, %ymm0 {%k1}
; AVX512VL-NEXT: retq
@@ -241,7 +227,7 @@ define <4 x double> @signbit_sel_v4f64(<4 x double> %x, <4 x double> %y, <4 x i6
;
; AVX512VL-LABEL: signbit_sel_v4f64:
; AVX512VL: # BB#0:
-; AVX512VL-NEXT: vpxor %ymm3, %ymm3, %ymm3
+; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
; AVX512VL-NEXT: vpcmpgtq %ymm2, %ymm3, %k1
; AVX512VL-NEXT: vblendmpd %ymm0, %ymm1, %ymm0 {%k1}
; AVX512VL-NEXT: retq
@@ -296,7 +282,7 @@ define <8 x double> @signbit_sel_v8f64(<8 x double> %x, <8 x double> %y, <8 x i6
;
; AVX512-LABEL: signbit_sel_v8f64:
; AVX512: # BB#0:
-; AVX512-NEXT: vpxord %zmm3, %zmm3, %zmm3
+; AVX512-NEXT: vpxor %xmm3, %xmm3, %xmm3
; AVX512-NEXT: vpcmpgtq %zmm2, %zmm3, %k1
; AVX512-NEXT: vblendmpd %zmm0, %zmm1, %zmm0 {%k1}
; AVX512-NEXT: retq
OpenPOWER on IntegriCloud