aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86InstrXOP.td
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/X86/X86InstrXOP.td')
-rw-r--r--lib/Target/X86/X86InstrXOP.td125
1 files changed, 0 insertions, 125 deletions
diff --git a/lib/Target/X86/X86InstrXOP.td b/lib/Target/X86/X86InstrXOP.td
index dfcfe8f..b806c44 100644
--- a/lib/Target/X86/X86InstrXOP.td
+++ b/lib/Target/X86/X86InstrXOP.td
@@ -305,128 +305,3 @@ defm VPERMIL2PD : xop5op<0x49, "vpermil2pd", int_x86_xop_vpermil2pd,
defm VPERMIL2PS : xop5op<0x48, "vpermil2ps", int_x86_xop_vpermil2ps,
int_x86_xop_vpermil2ps_256, memopv4f32, memopv8f32>;
-// XOP Intrinsics patterns
-
-let Predicates = [HasXOP] in {
-// VPCMOV di
-def : Pat<(int_x86_xop_vpcmov_v2di VR128:$src1, VR128:$src2, VR128:$src3),
- (VPCMOVrr VR128:$src1, VR128:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v2di VR128:$src1, VR128:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrm VR128:$src1, VR128:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v2di VR128:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR128:$src3),
- (VPCMOVmr VR128:$src1, addr:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v4di_256 VR256:$src1, VR256:$src2, VR256:$src3),
- (VPCMOVrrY VR256:$src1, VR256:$src2, VR256:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v4di_256 VR256:$src1, VR256:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrmY VR256:$src1, VR256:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v4di_256 VR256:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR256:$src3),
- (VPCMOVmrY VR256:$src1, addr:$src2, VR256:$src3)>;
-
-// VPCMOV si
-def : Pat<(int_x86_xop_vpcmov_v4si VR128:$src1, VR128:$src2, VR128:$src3),
- (VPCMOVrr VR128:$src1, VR128:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v4si VR128:$src1, VR128:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrm VR128:$src1, VR128:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v4si VR128:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR128:$src3),
- (VPCMOVmr VR128:$src1, addr:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v8si_256 VR256:$src1, VR256:$src2, VR256:$src3),
- (VPCMOVrrY VR256:$src1, VR256:$src2, VR256:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v8si_256 VR256:$src1, VR256:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrmY VR256:$src1, VR256:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v8si_256 VR256:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR256:$src3),
- (VPCMOVmrY VR256:$src1, addr:$src2, VR256:$src3)>;
-
-
-// VPCMOV hi
-def : Pat<(int_x86_xop_vpcmov_v8hi VR128:$src1, VR128:$src2, VR128:$src3),
- (VPCMOVrr VR128:$src1, VR128:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v8hi VR128:$src1, VR128:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrm VR128:$src1, VR128:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v8hi VR128:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR128:$src3),
- (VPCMOVmr VR128:$src1, addr:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v16hi_256 VR256:$src1, VR256:$src2, VR256:$src3),
- (VPCMOVrrY VR256:$src1, VR256:$src2, VR256:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v16hi_256 VR256:$src1, VR256:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrmY VR256:$src1, VR256:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v16hi_256 VR256:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR256:$src3),
- (VPCMOVmrY VR256:$src1, addr:$src2, VR256:$src3)>;
-
-// VPCMOV qi
-def : Pat<(int_x86_xop_vpcmov_v16qi VR128:$src1, VR128:$src2, VR128:$src3),
- (VPCMOVrr VR128:$src1, VR128:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v16qi VR128:$src1, VR128:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrm VR128:$src1, VR128:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v16qi VR128:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR128:$src3),
- (VPCMOVmr VR128:$src1, addr:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v32qi_256 VR256:$src1, VR256:$src2, VR256:$src3),
- (VPCMOVrrY VR256:$src1, VR256:$src2, VR256:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v32qi_256 VR256:$src1, VR256:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrmY VR256:$src1, VR256:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v32qi_256 VR256:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR256:$src3),
- (VPCMOVmrY VR256:$src1, addr:$src2, VR256:$src3)>;
-
-// VPCMOV df
-def : Pat<(int_x86_xop_vpcmov_v2df VR128:$src1, VR128:$src2, VR128:$src3),
- (VPCMOVrr VR128:$src1, VR128:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v2df VR128:$src1, VR128:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrm VR128:$src1, VR128:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v2df VR128:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR128:$src3),
- (VPCMOVmr VR128:$src1, addr:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v4df_256 VR256:$src1, VR256:$src2, VR256:$src3),
- (VPCMOVrrY VR256:$src1, VR256:$src2, VR256:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v4df_256 VR256:$src1, VR256:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrmY VR256:$src1, VR256:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v4df_256 VR256:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR256:$src3),
- (VPCMOVmrY VR256:$src1, addr:$src2, VR256:$src3)>;
-
-// VPCMOV sf
-def : Pat<(int_x86_xop_vpcmov_v4sf VR128:$src1, VR128:$src2, VR128:$src3),
- (VPCMOVrr VR128:$src1, VR128:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v4sf VR128:$src1, VR128:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrm VR128:$src1, VR128:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v4sf VR128:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR128:$src3),
- (VPCMOVmr VR128:$src1, addr:$src2, VR128:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v8sf_256 VR256:$src1, VR256:$src2, VR256:$src3),
- (VPCMOVrrY VR256:$src1, VR256:$src2, VR256:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v8sf_256 VR256:$src1, VR256:$src2,
- (bitconvert (memopv2i64 addr:$src3))),
- (VPCMOVrmY VR256:$src1, VR256:$src2, addr:$src3)>;
-def : Pat<(int_x86_xop_vpcmov_v8sf_256 VR256:$src1,
- (bitconvert (memopv2i64 addr:$src2)),
- VR256:$src3),
- (VPCMOVmrY VR256:$src1, addr:$src2, VR256:$src3)>;
-} // let Predicates = [HasXOP]
-