mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
AVX-512: minor change in rndscale intrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207937 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
febf86d7e3
commit
8a3751f813
@ -1384,6 +1384,15 @@ def: Pat<(v8i64 (int_x86_avx512_mask_loadu_q_512 addr:$ptr,
|
||||
(bc_v8i64 (v16i32 immAllZerosV)), GR8:$mask)),
|
||||
(VMOVDQU64rmkz (v8i1 (COPY_TO_REGCLASS GR8:$mask, VK8WM)), addr:$ptr)>;
|
||||
|
||||
def: Pat<(int_x86_avx512_mask_storeu_d_512 addr:$ptr, (v16i32 VR512:$src),
|
||||
GR16:$mask),
|
||||
(VMOVDQU32mrk addr:$ptr, (v16i1 (COPY_TO_REGCLASS GR16:$mask, VK16WM)),
|
||||
VR512:$src)>;
|
||||
def: Pat<(int_x86_avx512_mask_storeu_q_512 addr:$ptr, (v8i64 VR512:$src),
|
||||
GR8:$mask),
|
||||
(VMOVDQU64mrk addr:$ptr, (v8i1 (COPY_TO_REGCLASS GR8:$mask, VK8WM)),
|
||||
VR512:$src)>;
|
||||
|
||||
let AddedComplexity = 20 in {
|
||||
def : Pat<(v8i64 (vselect VK8WM:$mask, (v8i64 VR512:$src),
|
||||
(bc_v8i64 (v16i32 immAllZerosV)))),
|
||||
@ -3754,7 +3763,7 @@ defm VRNDSCALEPSZ : avx512_rndscale<0x08, "vrndscaleps", f512mem, VR512,
|
||||
EVEX_CD8<32, CD8VF>;
|
||||
|
||||
def : Pat<(v16f32 (int_x86_avx512_mask_rndscale_ps_512 (v16f32 VR512:$src1),
|
||||
imm:$src2, (bc_v16f32 (v16i32 immAllZerosV)), (i16 -1),
|
||||
imm:$src2, (v16f32 VR512:$src1), (i16 -1),
|
||||
FROUND_CURRENT)),
|
||||
(VRNDSCALEPSZr VR512:$src1, imm:$src2)>;
|
||||
|
||||
@ -3764,7 +3773,7 @@ defm VRNDSCALEPDZ : avx512_rndscale<0x09, "vrndscalepd", f512mem, VR512,
|
||||
VEX_W, EVEX_CD8<64, CD8VF>;
|
||||
|
||||
def : Pat<(v8f64 (int_x86_avx512_mask_rndscale_pd_512 (v8f64 VR512:$src1),
|
||||
imm:$src2, (bc_v8f64 (v16i32 immAllZerosV)), (i8 -1),
|
||||
imm:$src2, (v8f64 VR512:$src1), (i8 -1),
|
||||
FROUND_CURRENT)),
|
||||
(VRNDSCALEPDZr VR512:$src1, imm:$src2)>;
|
||||
|
||||
|
@ -78,7 +78,7 @@ declare <8 x double> @llvm.x86.avx512.mask.rndscale.pd.512(<8 x double>, i32, <8
|
||||
|
||||
define <8 x double> @test7(<8 x double> %a) {
|
||||
; CHECK: vrndscalepd {{.*}}encoding: [0x62,0xf3,0xfd,0x48,0x09,0xc0,0x0b]
|
||||
%res = call <8 x double> @llvm.x86.avx512.mask.rndscale.pd.512(<8 x double> %a, i32 11, <8 x double> zeroinitializer, i8 -1, i32 4)
|
||||
%res = call <8 x double> @llvm.x86.avx512.mask.rndscale.pd.512(<8 x double> %a, i32 11, <8 x double> %a, i8 -1, i32 4)
|
||||
ret <8 x double>%res
|
||||
}
|
||||
|
||||
@ -86,7 +86,7 @@ declare <16 x float> @llvm.x86.avx512.mask.rndscale.ps.512(<16 x float>, i32, <1
|
||||
|
||||
define <16 x float> @test8(<16 x float> %a) {
|
||||
; CHECK: vrndscaleps {{.*}}encoding: [0x62,0xf3,0x7d,0x48,0x08,0xc0,0x0b]
|
||||
%res = call <16 x float> @llvm.x86.avx512.mask.rndscale.ps.512(<16 x float> %a, i32 11, <16 x float> zeroinitializer, i16 -1, i32 4)
|
||||
%res = call <16 x float> @llvm.x86.avx512.mask.rndscale.ps.512(<16 x float> %a, i32 11, <16 x float> %a, i16 -1, i32 4)
|
||||
ret <16 x float>%res
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user