mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 19:42:54 +02:00
[X86] Add test case for trunc_packus_v16i32_v16i8 with avx512vl+avx512bw and prefer-vector-width=256 and min-legal-vector-width=256. NFC
llvm-svn: 374283
This commit is contained in:
parent
2cea006c92
commit
3d1f479385
@ -1079,3 +1079,23 @@ define void @vselect_split_v16i16_setcc(<16 x i16> %s, <16 x i16> %t, <16 x i32>
|
||||
store <16 x i32> %b, <16 x i32>* %r
|
||||
ret void
|
||||
}
|
||||
|
||||
define <16 x i8> @trunc_packus_v16i32_v16i8(<16 x i32>* %p, <16 x i8>* %q) "min-legal-vector-width"="256" {
|
||||
; CHECK-LABEL: trunc_packus_v16i32_v16i8:
|
||||
; CHECK: # %bb.0:
|
||||
; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0
|
||||
; CHECK-NEXT: vpmaxsd 32(%rdi), %ymm0, %ymm1
|
||||
; CHECK-NEXT: vpmovusdb %ymm1, %xmm1
|
||||
; CHECK-NEXT: vpmaxsd (%rdi), %ymm0, %ymm0
|
||||
; CHECK-NEXT: vpmovusdb %ymm0, %xmm0
|
||||
; CHECK-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
|
||||
; CHECK-NEXT: vzeroupper
|
||||
; CHECK-NEXT: retq
|
||||
%a = load <16 x i32>, <16 x i32>* %p
|
||||
%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>
|
||||
%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>
|
||||
%d = icmp sgt <16 x i32> %c, zeroinitializer
|
||||
%e = select <16 x i1> %d, <16 x i32> %c, <16 x i32> zeroinitializer
|
||||
%f = trunc <16 x i32> %e to <16 x i8>
|
||||
ret <16 x i8> %f
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user