forked from OSchip/llvm-project
[X86][AVX512] Added masked version of MOVDDUP test with 16f32
llvm-svn: 269038
This commit is contained in:
parent
2564d2f5fe
commit
efc757dceb
|
@ -96,6 +96,26 @@ define <16 x float> @combine_vpermt2var_16f32_identity_mask(<16 x float> %x0, <1
|
|||
ret <16 x float> %res1
|
||||
}
|
||||
|
||||
define <16 x float> @combine_vpermt2var_16f32_vmovddup(<16 x float> %x0, <16 x float> %x1) {
|
||||
; CHECK-LABEL: combine_vpermt2var_16f32_vmovddup:
|
||||
; CHECK: # BB#0:
|
||||
; CHECK-NEXT: vmovdqa32 {{.*#+}} zmm2 = [0,1,0,1,4,5,4,5,8,9,8,9,12,13,12,13]
|
||||
; CHECK-NEXT: vpermt2ps %zmm1, %zmm2, %zmm0
|
||||
; CHECK-NEXT: retq
|
||||
%res0 = call <16 x float> @llvm.x86.avx512.maskz.vpermt2var.ps.512(<16 x i32> <i32 0, i32 1, i32 0, i32 1, i32 4, i32 5, i32 4, i32 5, i32 8, i32 9, i32 8, i32 9, i32 12, i32 13, i32 12, i32 13>, <16 x float> %x0, <16 x float> %x1, i16 -1)
|
||||
ret <16 x float> %res0
|
||||
}
|
||||
define <16 x float> @combine_vpermt2var_16f32_vmovddup_mask(<16 x float> %x0, <16 x float> %x1, i16 %m) {
|
||||
; CHECK-LABEL: combine_vpermt2var_16f32_vmovddup_mask:
|
||||
; CHECK: # BB#0:
|
||||
; CHECK-NEXT: kmovw %edi, %k1
|
||||
; CHECK-NEXT: vmovdqa32 {{.*#+}} zmm2 = [0,1,0,1,4,5,4,5,8,9,8,9,12,13,12,13]
|
||||
; CHECK-NEXT: vpermt2ps %zmm1, %zmm2, %zmm0 {%k1} {z}
|
||||
; CHECK-NEXT: retq
|
||||
%res0 = call <16 x float> @llvm.x86.avx512.maskz.vpermt2var.ps.512(<16 x i32> <i32 0, i32 1, i32 0, i32 1, i32 4, i32 5, i32 4, i32 5, i32 8, i32 9, i32 8, i32 9, i32 12, i32 13, i32 12, i32 13>, <16 x float> %x0, <16 x float> %x1, i16 %m)
|
||||
ret <16 x float> %res0
|
||||
}
|
||||
|
||||
define <16 x float> @combine_vpermt2var_16f32_vmovshdup(<16 x float> %x0, <16 x float> %x1) {
|
||||
; CHECK-LABEL: combine_vpermt2var_16f32_vmovshdup:
|
||||
; CHECK: # BB#0:
|
||||
|
|
Loading…
Reference in New Issue