forked from OSchip/llvm-project
[X86][SSE] Dropped (V)CVTPD2PS intrinsic patterns now that its bound to X86vfpround
It now uses X86vfpround patterns directly instead. Followup to D23797 llvm-svn: 280376
This commit is contained in:
parent
d59509eecc
commit
ce0e9f0b91
|
@ -2239,17 +2239,14 @@ let Predicates = [HasSSE2] in {
|
||||||
// Provide other assembly rr and rm forms to address this explicitly.
|
// Provide other assembly rr and rm forms to address this explicitly.
|
||||||
def VCVTPD2PSrr : VPDI<0x5A, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src),
|
def VCVTPD2PSrr : VPDI<0x5A, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src),
|
||||||
"cvtpd2ps\t{$src, $dst|$dst, $src}",
|
"cvtpd2ps\t{$src, $dst|$dst, $src}",
|
||||||
[(set VR128:$dst, (int_x86_sse2_cvtpd2ps VR128:$src))],
|
[], IIC_SSE_CVT_PD_RR>, VEX, Sched<[WriteCvtF2F]>;
|
||||||
IIC_SSE_CVT_PD_RR>, VEX, Sched<[WriteCvtF2F]>;
|
|
||||||
|
|
||||||
// XMM only
|
// XMM only
|
||||||
def : InstAlias<"vcvtpd2psx\t{$src, $dst|$dst, $src}",
|
def : InstAlias<"vcvtpd2psx\t{$src, $dst|$dst, $src}",
|
||||||
(VCVTPD2PSrr VR128:$dst, VR128:$src), 0>;
|
(VCVTPD2PSrr VR128:$dst, VR128:$src), 0>;
|
||||||
def VCVTPD2PSXrm : VPDI<0x5A, MRMSrcMem, (outs VR128:$dst), (ins f128mem:$src),
|
def VCVTPD2PSXrm : VPDI<0x5A, MRMSrcMem, (outs VR128:$dst), (ins f128mem:$src),
|
||||||
"cvtpd2psx\t{$src, $dst|$dst, $src}",
|
"cvtpd2psx\t{$src, $dst|$dst, $src}",
|
||||||
[(set VR128:$dst,
|
[], IIC_SSE_CVT_PD_RM>, VEX, Sched<[WriteCvtF2FLd]>;
|
||||||
(int_x86_sse2_cvtpd2ps (loadv2f64 addr:$src)))],
|
|
||||||
IIC_SSE_CVT_PD_RM>, VEX, Sched<[WriteCvtF2FLd]>;
|
|
||||||
|
|
||||||
// YMM only
|
// YMM only
|
||||||
def VCVTPD2PSYrr : VPDI<0x5A, MRMSrcReg, (outs VR128:$dst), (ins VR256:$src),
|
def VCVTPD2PSYrr : VPDI<0x5A, MRMSrcReg, (outs VR128:$dst), (ins VR256:$src),
|
||||||
|
@ -2267,14 +2264,10 @@ def : InstAlias<"vcvtpd2ps\t{$src, $dst|$dst, $src}",
|
||||||
|
|
||||||
def CVTPD2PSrr : PDI<0x5A, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src),
|
def CVTPD2PSrr : PDI<0x5A, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src),
|
||||||
"cvtpd2ps\t{$src, $dst|$dst, $src}",
|
"cvtpd2ps\t{$src, $dst|$dst, $src}",
|
||||||
[(set VR128:$dst, (int_x86_sse2_cvtpd2ps VR128:$src))],
|
[], IIC_SSE_CVT_PD_RR>, Sched<[WriteCvtF2F]>;
|
||||||
IIC_SSE_CVT_PD_RR>, Sched<[WriteCvtF2F]>;
|
|
||||||
def CVTPD2PSrm : PDI<0x5A, MRMSrcMem, (outs VR128:$dst), (ins f128mem:$src),
|
def CVTPD2PSrm : PDI<0x5A, MRMSrcMem, (outs VR128:$dst), (ins f128mem:$src),
|
||||||
"cvtpd2ps\t{$src, $dst|$dst, $src}",
|
"cvtpd2ps\t{$src, $dst|$dst, $src}",
|
||||||
[(set VR128:$dst,
|
[], IIC_SSE_CVT_PD_RM>, Sched<[WriteCvtF2FLd]>;
|
||||||
(int_x86_sse2_cvtpd2ps (memopv2f64 addr:$src)))],
|
|
||||||
IIC_SSE_CVT_PD_RM>, Sched<[WriteCvtF2FLd]>;
|
|
||||||
|
|
||||||
|
|
||||||
// AVX 256-bit register conversion intrinsics
|
// AVX 256-bit register conversion intrinsics
|
||||||
// FIXME: Migrate SSE conversion intrinsics matching to use patterns as below
|
// FIXME: Migrate SSE conversion intrinsics matching to use patterns as below
|
||||||
|
|
Loading…
Reference in New Issue