Skip to content
This repository was archived by the owner on Mar 28, 2020. It is now read-only.

Commit 9590c44

Browse files
committed
[X86] Add test case for trunc_packus_v16i32_v16i8 with avx512vl+avx512bw and prefer-vector-width=256 and min-legal-vector-width=256. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374283 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 96b82be commit 9590c44

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

test/CodeGen/X86/min-legal-vector-width.ll

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,3 +1079,23 @@ define void @vselect_split_v16i16_setcc(<16 x i16> %s, <16 x i16> %t, <16 x i32>
10791079
store <16 x i32> %b, <16 x i32>* %r
10801080
ret void
10811081
}
1082+
1083+
define <16 x i8> @trunc_packus_v16i32_v16i8(<16 x i32>* %p, <16 x i8>* %q) "min-legal-vector-width"="256" {
1084+
; CHECK-LABEL: trunc_packus_v16i32_v16i8:
1085+
; CHECK: # %bb.0:
1086+
; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0
1087+
; CHECK-NEXT: vpmaxsd 32(%rdi), %ymm0, %ymm1
1088+
; CHECK-NEXT: vpmovusdb %ymm1, %xmm1
1089+
; CHECK-NEXT: vpmaxsd (%rdi), %ymm0, %ymm0
1090+
; CHECK-NEXT: vpmovusdb %ymm0, %xmm0
1091+
; CHECK-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
1092+
; CHECK-NEXT: vzeroupper
1093+
; CHECK-NEXT: retq
1094+
%a = load <16 x i32>, <16 x i32>* %p
1095+
%b = icmp slt <16 x i32> %a, <i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255>
1096+
%c = select <16 x i1> %b, <16 x i32> %a, <16 x i32> <i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255>
1097+
%d = icmp sgt <16 x i32> %c, zeroinitializer
1098+
%e = select <16 x i1> %d, <16 x i32> %c, <16 x i32> zeroinitializer
1099+
%f = trunc <16 x i32> %e to <16 x i8>
1100+
ret <16 x i8> %f
1101+
}

0 commit comments

Comments
 (0)