{ X86::BT32ri8, X86::BT32mi8, TB_FOLDED_LOAD },
{ X86::BT64ri8, X86::BT64mi8, TB_FOLDED_LOAD },
{ X86::CALL16r, X86::CALL16m, TB_FOLDED_LOAD },
+ { X86::CALL16r_NT, X86::CALL16m_NT, TB_FOLDED_LOAD },
{ X86::CALL32r, X86::CALL32m, TB_FOLDED_LOAD },
+ { X86::CALL32r_NT, X86::CALL32m_NT, TB_FOLDED_LOAD },
{ X86::CALL64r, X86::CALL64m, TB_FOLDED_LOAD },
+ { X86::CALL64r_NT, X86::CALL64m_NT, TB_FOLDED_LOAD },
{ X86::CMP16ri, X86::CMP16mi, TB_FOLDED_LOAD },
{ X86::CMP16ri8, X86::CMP16mi8, TB_FOLDED_LOAD },
{ X86::CMP16rr, X86::CMP16mr, TB_FOLDED_LOAD },
{ X86::IMUL64r, X86::IMUL64m, TB_FOLDED_LOAD },
{ X86::IMUL8r, X86::IMUL8m, TB_FOLDED_LOAD },
{ X86::JMP16r, X86::JMP16m, TB_FOLDED_LOAD },
+ { X86::JMP16r_NT, X86::JMP16m_NT, TB_FOLDED_LOAD },
{ X86::JMP32r, X86::JMP32m, TB_FOLDED_LOAD },
+ { X86::JMP32r_NT, X86::JMP32m_NT, TB_FOLDED_LOAD },
{ X86::JMP64r, X86::JMP64m, TB_FOLDED_LOAD },
+ { X86::JMP64r_NT, X86::JMP64m_NT, TB_FOLDED_LOAD },
{ X86::MOV16ri, X86::MOV16mi, TB_FOLDED_STORE },
{ X86::MOV16rr, X86::MOV16mr, TB_FOLDED_STORE },
{ X86::MOV32ri, X86::MOV32mi, TB_FOLDED_STORE },
{ X86::MUL8r, X86::MUL8m, TB_FOLDED_LOAD },
{ X86::PEXTRDrr, X86::PEXTRDmr, TB_FOLDED_STORE },
{ X86::PEXTRQrr, X86::PEXTRQmr, TB_FOLDED_STORE },
+ { X86::PTWRITE64r, X86::PTWRITE64m, TB_FOLDED_LOAD },
+ { X86::PTWRITEr, X86::PTWRITEm, TB_FOLDED_LOAD },
{ X86::PUSH16r, X86::PUSH16rmm, TB_FOLDED_LOAD },
{ X86::PUSH32r, X86::PUSH32rmm, TB_FOLDED_LOAD },
{ X86::PUSH64r, X86::PUSH64rmm, TB_FOLDED_LOAD },
{ X86::TZMSK64rr, X86::TZMSK64rm, 0 },
// AVX-512 foldable instructions
+ { X86::VBROADCASTF32X2Zr, X86::VBROADCASTF32X2Zm, TB_NO_REVERSE },
+ { X86::VBROADCASTI32X2Zr, X86::VBROADCASTI32X2Zm, TB_NO_REVERSE },
{ X86::VBROADCASTSSZr, X86::VBROADCASTSSZm, TB_NO_REVERSE },
{ X86::VBROADCASTSDZr, X86::VBROADCASTSDZm, TB_NO_REVERSE },
{ X86::VCOMISDZrr, X86::VCOMISDZrm, 0 },
{ X86::VCOMISSZrr, X86::VCOMISSZrm, 0 },
{ X86::VCOMISSZrr_Int, X86::VCOMISSZrm_Int, TB_NO_REVERSE },
{ X86::VCVTDQ2PDZrr, X86::VCVTDQ2PDZrm, 0 },
+ { X86::VCVTDQ2PSZrr, X86::VCVTDQ2PSZrm, 0 },
+ { X86::VCVTPD2DQZrr, X86::VCVTPD2DQZrm, 0 },
{ X86::VCVTPD2PSZrr, X86::VCVTPD2PSZrm, 0 },
+ { X86::VCVTPD2QQZrr, X86::VCVTPD2QQZrm, 0 },
+ { X86::VCVTPD2UDQZrr, X86::VCVTPD2UDQZrm, 0 },
+ { X86::VCVTPD2UQQZrr, X86::VCVTPD2UQQZrm, 0 },
+ { X86::VCVTPS2DQZrr, X86::VCVTPS2DQZrm, 0 },
+ { X86::VCVTPS2PDZrr, X86::VCVTPS2PDZrm, 0 },
+ { X86::VCVTPS2QQZrr, X86::VCVTPS2QQZrm, 0 },
+ { X86::VCVTPS2UDQZrr, X86::VCVTPS2UDQZrm, 0 },
+ { X86::VCVTPS2UQQZrr, X86::VCVTPS2UQQZrm, 0 },
+ { X86::VCVTQQ2PDZrr, X86::VCVTQQ2PDZrm, 0 },
+ { X86::VCVTQQ2PSZrr, X86::VCVTQQ2PSZrm, 0 },
+ { X86::VCVTSD2SI64Zrr_Int, X86::VCVTSD2SI64Zrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSD2SIZrr_Int, X86::VCVTSD2SIZrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSD2USI64Zrr_Int, X86::VCVTSD2USI64Zrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSD2USIZrr_Int, X86::VCVTSD2USIZrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSS2SI64Zrr_Int, X86::VCVTSS2SI64Zrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSS2SIZrr_Int, X86::VCVTSS2SIZrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSS2USI64Zrr_Int, X86::VCVTSS2USI64Zrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSS2USIZrr_Int, X86::VCVTSS2USIZrm_Int, TB_NO_REVERSE },
+ { X86::VCVTTPD2DQZrr, X86::VCVTTPD2DQZrm, 0 },
+ { X86::VCVTTPD2QQZrr, X86::VCVTTPD2QQZrm, 0 },
+ { X86::VCVTTPD2UDQZrr, X86::VCVTTPD2UDQZrm, 0 },
+ { X86::VCVTTPD2UQQZrr, X86::VCVTTPD2UQQZrm, 0 },
+ { X86::VCVTTPS2DQZrr, X86::VCVTTPS2DQZrm, 0 },
+ { X86::VCVTTPS2QQZrr, X86::VCVTTPS2QQZrm, 0 },
+ { X86::VCVTTPS2UDQZrr, X86::VCVTTPS2UDQZrm, 0 },
+ { X86::VCVTTPS2UQQZrr, X86::VCVTTPS2UQQZrm, 0 },
+ { X86::VCVTTSD2SI64Zrr, X86::VCVTTSD2SI64Zrm, 0 },
+ { X86::VCVTTSD2SI64Zrr_Int, X86::VCVTTSD2SI64Zrm_Int, TB_NO_REVERSE },
+ { X86::VCVTTSD2SIZrr, X86::VCVTTSD2SIZrm, 0 },
+ { X86::VCVTTSD2SIZrr_Int, X86::VCVTTSD2SIZrm_Int, TB_NO_REVERSE },
+ { X86::VCVTTSD2USI64Zrr, X86::VCVTTSD2USI64Zrm, 0 },
+ { X86::VCVTTSD2USI64Zrr_Int, X86::VCVTTSD2USI64Zrm_Int, TB_NO_REVERSE },
+ { X86::VCVTTSD2USIZrr, X86::VCVTTSD2USIZrm, 0 },
+ { X86::VCVTTSD2USIZrr_Int, X86::VCVTTSD2USIZrm_Int, TB_NO_REVERSE },
+ { X86::VCVTTSS2SI64Zrr, X86::VCVTTSS2SI64Zrm, 0 },
+ { X86::VCVTTSS2SI64Zrr_Int, X86::VCVTTSS2SI64Zrm_Int, TB_NO_REVERSE },
+ { X86::VCVTTSS2SIZrr, X86::VCVTTSS2SIZrm, 0 },
+ { X86::VCVTTSS2SIZrr_Int, X86::VCVTTSS2SIZrm_Int, TB_NO_REVERSE },
+ { X86::VCVTTSS2USI64Zrr, X86::VCVTTSS2USI64Zrm, 0 },
+ { X86::VCVTTSS2USI64Zrr_Int, X86::VCVTTSS2USI64Zrm_Int, TB_NO_REVERSE },
+ { X86::VCVTTSS2USIZrr, X86::VCVTTSS2USIZrm, 0 },
+ { X86::VCVTTSS2USIZrr_Int, X86::VCVTTSS2USIZrm_Int, TB_NO_REVERSE },
{ X86::VCVTUDQ2PDZrr, X86::VCVTUDQ2PDZrm, 0 },
+ { X86::VCVTUDQ2PSZrr, X86::VCVTUDQ2PSZrm, 0 },
+ { X86::VCVTUQQ2PDZrr, X86::VCVTUQQ2PDZrm, 0 },
+ { X86::VCVTUQQ2PSZrr, X86::VCVTUQQ2PSZrm, 0 },
+ { X86::VEXP2PDZr, X86::VEXP2PDZm, 0 },
+ { X86::VEXP2PSZr, X86::VEXP2PSZm, 0 },
+ { X86::VFPCLASSPDZrr, X86::VFPCLASSPDZrm, 0 },
+ { X86::VFPCLASSPSZrr, X86::VFPCLASSPSZrm, 0 },
+ { X86::VFPCLASSSDrr, X86::VFPCLASSSDrm, TB_NO_REVERSE },
+ { X86::VFPCLASSSSrr, X86::VFPCLASSSSrm, TB_NO_REVERSE },
+ { X86::VGETEXPPDZr, X86::VGETEXPPDZm, 0 },
+ { X86::VGETEXPPSZr, X86::VGETEXPPSZm, 0 },
+ { X86::VGETMANTPDZrri, X86::VGETMANTPDZrmi, 0 },
+ { X86::VGETMANTPSZrri, X86::VGETMANTPSZrmi, 0 },
{ X86::VMOV64toPQIZrr, X86::VMOVQI2PQIZrm, 0 },
{ X86::VMOV64toSDZrr, X86::VMOV64toSDZrm, 0 },
{ X86::VMOVDI2PDIZrr, X86::VMOVDI2PDIZrm, 0 },
{ X86::VPOPCNTDZrr, X86::VPOPCNTDZrm, 0 },
{ X86::VPOPCNTQZrr, X86::VPOPCNTQZrm, 0 },
{ X86::VPOPCNTWZrr, X86::VPOPCNTWZrm, 0 },
+ { X86::VPROLDZri, X86::VPROLDZmi, 0 },
+ { X86::VPROLQZri, X86::VPROLQZmi, 0 },
+ { X86::VPRORDZri, X86::VPRORDZmi, 0 },
+ { X86::VPRORQZri, X86::VPRORQZmi, 0 },
{ X86::VPSHUFDZri, X86::VPSHUFDZmi, 0 },
{ X86::VPSHUFHWZri, X86::VPSHUFHWZmi, 0 },
{ X86::VPSHUFLWZri, X86::VPSHUFLWZmi, 0 },
{ X86::VRCP14PSZr, X86::VRCP14PSZm, 0 },
{ X86::VRCP28PDZr, X86::VRCP28PDZm, 0 },
{ X86::VRCP28PSZr, X86::VRCP28PSZm, 0 },
+ { X86::VREDUCEPDZrri, X86::VREDUCEPDZrmi, 0 },
+ { X86::VREDUCEPSZrri, X86::VREDUCEPSZrmi, 0 },
+ { X86::VRNDSCALEPDZrri, X86::VRNDSCALEPDZrmi, 0 },
+ { X86::VRNDSCALEPSZrri, X86::VRNDSCALEPSZrmi, 0 },
{ X86::VRSQRT14PDZr, X86::VRSQRT14PDZm, 0 },
{ X86::VRSQRT14PSZr, X86::VRSQRT14PSZm, 0 },
{ X86::VRSQRT28PDZr, X86::VRSQRT28PDZm, 0 },
{ X86::VUCOMISSZrr_Int, X86::VUCOMISSZrm_Int, TB_NO_REVERSE },
// AVX-512 foldable instructions (256-bit versions)
+ { X86::VBROADCASTF32X2Z256r, X86::VBROADCASTF32X2Z256m, TB_NO_REVERSE },
+ { X86::VBROADCASTI32X2Z256r, X86::VBROADCASTI32X2Z256m, TB_NO_REVERSE },
{ X86::VBROADCASTSSZ256r, X86::VBROADCASTSSZ256m, TB_NO_REVERSE },
{ X86::VBROADCASTSDZ256r, X86::VBROADCASTSDZ256m, TB_NO_REVERSE },
{ X86::VCVTDQ2PDZ256rr, X86::VCVTDQ2PDZ256rm, 0 },
+ { X86::VCVTDQ2PSZ256rr, X86::VCVTDQ2PSZ256rm, 0 },
+ { X86::VCVTPD2DQZ256rr, X86::VCVTPD2DQZ256rm, 0 },
{ X86::VCVTPD2PSZ256rr, X86::VCVTPD2PSZ256rm, 0 },
+ { X86::VCVTPD2QQZ256rr, X86::VCVTPD2QQZ256rm, 0 },
+ { X86::VCVTPD2UDQZ256rr, X86::VCVTPD2UDQZ256rm, 0 },
+ { X86::VCVTPD2UQQZ256rr, X86::VCVTPD2UQQZ256rm, 0 },
+ { X86::VCVTPS2DQZ256rr, X86::VCVTPS2DQZ256rm, 0 },
+ { X86::VCVTPS2PDZ256rr, X86::VCVTPS2PDZ256rm, 0 },
+ { X86::VCVTPS2QQZ256rr, X86::VCVTPS2QQZ256rm, 0 },
+ { X86::VCVTPS2UDQZ256rr, X86::VCVTPS2UDQZ256rm, 0 },
+ { X86::VCVTPS2UQQZ256rr, X86::VCVTPS2UQQZ256rm, 0 },
+ { X86::VCVTQQ2PDZ256rr, X86::VCVTQQ2PDZ256rm, 0 },
+ { X86::VCVTQQ2PSZ256rr, X86::VCVTQQ2PSZ256rm, 0 },
+ { X86::VCVTTPD2DQZ256rr, X86::VCVTTPD2DQZ256rm, 0 },
+ { X86::VCVTTPD2QQZ256rr, X86::VCVTTPD2QQZ256rm, 0 },
+ { X86::VCVTTPD2UDQZ256rr, X86::VCVTTPD2UDQZ256rm, 0 },
+ { X86::VCVTTPD2UQQZ256rr, X86::VCVTTPD2UQQZ256rm, 0 },
+ { X86::VCVTTPS2DQZ256rr, X86::VCVTTPS2DQZ256rm, 0 },
+ { X86::VCVTTPS2QQZ256rr, X86::VCVTTPS2QQZ256rm, 0 },
+ { X86::VCVTTPS2UDQZ256rr, X86::VCVTTPS2UDQZ256rm, 0 },
+ { X86::VCVTTPS2UQQZ256rr, X86::VCVTTPS2UQQZ256rm, 0 },
{ X86::VCVTUDQ2PDZ256rr, X86::VCVTUDQ2PDZ256rm, 0 },
+ { X86::VCVTUDQ2PSZ256rr, X86::VCVTUDQ2PSZ256rm, 0 },
+ { X86::VCVTUQQ2PDZ256rr, X86::VCVTUQQ2PDZ256rm, 0 },
+ { X86::VCVTUQQ2PSZ256rr, X86::VCVTUQQ2PSZ256rm, 0 },
+ { X86::VFPCLASSPDZ256rr, X86::VFPCLASSPDZ256rm, 0 },
+ { X86::VFPCLASSPSZ256rr, X86::VFPCLASSPSZ256rm, 0 },
+ { X86::VGETEXPPDZ256r, X86::VGETEXPPDZ256m, 0 },
+ { X86::VGETEXPPSZ256r, X86::VGETEXPPSZ256m, 0 },
+ { X86::VGETMANTPDZ256rri, X86::VGETMANTPDZ256rmi, 0 },
+ { X86::VGETMANTPSZ256rri, X86::VGETMANTPSZ256rmi, 0 },
{ X86::VMOVAPDZ256rr, X86::VMOVAPDZ256rm, TB_ALIGN_32 },
{ X86::VMOVAPSZ256rr, X86::VMOVAPSZ256rm, TB_ALIGN_32 },
{ X86::VMOVDDUPZ256rr, X86::VMOVDDUPZ256rm, 0 },
{ X86::VPOPCNTDZ256rr, X86::VPOPCNTDZ256rm, 0 },
{ X86::VPOPCNTQZ256rr, X86::VPOPCNTQZ256rm, 0 },
{ X86::VPOPCNTWZ256rr, X86::VPOPCNTWZ256rm, 0 },
+ { X86::VPROLDZ256ri, X86::VPROLDZ256mi, 0 },
+ { X86::VPROLQZ256ri, X86::VPROLQZ256mi, 0 },
+ { X86::VPRORDZ256ri, X86::VPRORDZ256mi, 0 },
+ { X86::VPRORQZ256ri, X86::VPRORQZ256mi, 0 },
{ X86::VPSHUFDZ256ri, X86::VPSHUFDZ256mi, 0 },
{ X86::VPSHUFHWZ256ri, X86::VPSHUFHWZ256mi, 0 },
{ X86::VPSHUFLWZ256ri, X86::VPSHUFLWZ256mi, 0 },
{ X86::VPSRLWZ256ri, X86::VPSRLWZ256mi, 0 },
{ X86::VRCP14PDZ256r, X86::VRCP14PDZ256m, 0 },
{ X86::VRCP14PSZ256r, X86::VRCP14PSZ256m, 0 },
+ { X86::VREDUCEPDZ256rri, X86::VREDUCEPDZ256rmi, 0 },
+ { X86::VREDUCEPSZ256rri, X86::VREDUCEPSZ256rmi, 0 },
+ { X86::VRNDSCALEPDZ256rri, X86::VRNDSCALEPDZ256rmi, 0 },
+ { X86::VRNDSCALEPSZ256rri, X86::VRNDSCALEPSZ256rmi, 0 },
{ X86::VRSQRT14PDZ256r, X86::VRSQRT14PDZ256m, 0 },
{ X86::VRSQRT14PSZ256r, X86::VRSQRT14PSZ256m, 0 },
{ X86::VSQRTPDZ256r, X86::VSQRTPDZ256m, 0 },
{ X86::VSQRTPSZ256r, X86::VSQRTPSZ256m, 0 },
// AVX-512 foldable instructions (128-bit versions)
+ { X86::VBROADCASTI32X2Z128r, X86::VBROADCASTI32X2Z128m, TB_NO_REVERSE },
{ X86::VBROADCASTSSZ128r, X86::VBROADCASTSSZ128m, TB_NO_REVERSE },
{ X86::VCVTDQ2PDZ128rr, X86::VCVTDQ2PDZ128rm, TB_NO_REVERSE },
+ { X86::VCVTDQ2PSZ128rr, X86::VCVTDQ2PSZ128rm, 0 },
+ { X86::VCVTPD2DQZ128rr, X86::VCVTPD2DQZ128rm, 0 },
{ X86::VCVTPD2PSZ128rr, X86::VCVTPD2PSZ128rm, 0 },
+ { X86::VCVTPD2QQZ128rr, X86::VCVTPD2QQZ128rm, 0 },
+ { X86::VCVTPD2UDQZ128rr, X86::VCVTPD2UDQZ128rm, 0 },
+ { X86::VCVTPD2UQQZ128rr, X86::VCVTPD2UQQZ128rm, 0 },
+ { X86::VCVTPS2DQZ128rr, X86::VCVTPS2DQZ128rm, 0 },
+ { X86::VCVTPS2PDZ128rr, X86::VCVTPS2PDZ128rm, TB_NO_REVERSE },
+ { X86::VCVTPS2QQZ128rr, X86::VCVTPS2QQZ128rm, TB_NO_REVERSE },
+ { X86::VCVTPS2UDQZ128rr, X86::VCVTPS2UDQZ128rm, 0 },
+ { X86::VCVTPS2UQQZ128rr, X86::VCVTPS2UQQZ128rm, TB_NO_REVERSE },
+ { X86::VCVTQQ2PDZ128rr, X86::VCVTQQ2PDZ128rm, 0 },
+ { X86::VCVTQQ2PSZ128rr, X86::VCVTQQ2PSZ128rm, 0 },
+ { X86::VCVTTPD2DQZ128rr, X86::VCVTTPD2DQZ128rm, 0 },
+ { X86::VCVTTPD2QQZ128rr, X86::VCVTTPD2QQZ128rm, 0 },
+ { X86::VCVTTPD2UDQZ128rr, X86::VCVTTPD2UDQZ128rm, 0 },
+ { X86::VCVTTPD2UQQZ128rr, X86::VCVTTPD2UQQZ128rm, 0 },
+ { X86::VCVTTPS2DQZ128rr, X86::VCVTTPS2DQZ128rm, 0 },
+ { X86::VCVTTPS2QQZ128rr, X86::VCVTTPS2QQZ128rm, TB_NO_REVERSE },
+ { X86::VCVTTPS2UDQZ128rr, X86::VCVTTPS2UDQZ128rm, 0 },
+ { X86::VCVTTPS2UQQZ128rr, X86::VCVTTPS2UQQZ128rm, TB_NO_REVERSE },
{ X86::VCVTUDQ2PDZ128rr, X86::VCVTUDQ2PDZ128rm, TB_NO_REVERSE },
+ { X86::VCVTUDQ2PSZ128rr, X86::VCVTUDQ2PSZ128rm, 0 },
+ { X86::VCVTUQQ2PDZ128rr, X86::VCVTUQQ2PDZ128rm, 0 },
+ { X86::VCVTUQQ2PSZ128rr, X86::VCVTUQQ2PSZ128rm, 0 },
+ { X86::VFPCLASSPDZ128rr, X86::VFPCLASSPDZ128rm, 0 },
+ { X86::VFPCLASSPSZ128rr, X86::VFPCLASSPSZ128rm, 0 },
+ { X86::VGETEXPPDZ128r, X86::VGETEXPPDZ128m, 0 },
+ { X86::VGETEXPPSZ128r, X86::VGETEXPPSZ128m, 0 },
+ { X86::VGETMANTPDZ128rri, X86::VGETMANTPDZ128rmi, 0 },
+ { X86::VGETMANTPSZ128rri, X86::VGETMANTPSZ128rmi, 0 },
{ X86::VMOVAPDZ128rr, X86::VMOVAPDZ128rm, TB_ALIGN_16 },
{ X86::VMOVAPSZ128rr, X86::VMOVAPSZ128rm, TB_ALIGN_16 },
- { X86::VMOVDDUPZ128rr, X86::VMOVDDUPZ128rm, 0 },
+ { X86::VMOVDDUPZ128rr, X86::VMOVDDUPZ128rm, TB_NO_REVERSE },
{ X86::VMOVDQA32Z128rr, X86::VMOVDQA32Z128rm, TB_ALIGN_16 },
{ X86::VMOVDQA64Z128rr, X86::VMOVDQA64Z128rm, TB_ALIGN_16 },
{ X86::VMOVDQU8Z128rr, X86::VMOVDQU8Z128rm, 0 },
{ X86::VPOPCNTDZ128rr, X86::VPOPCNTDZ128rm, 0 },
{ X86::VPOPCNTQZ128rr, X86::VPOPCNTQZ128rm, 0 },
{ X86::VPOPCNTWZ128rr, X86::VPOPCNTWZ128rm, 0 },
+ { X86::VPROLDZ128ri, X86::VPROLDZ128mi, 0 },
+ { X86::VPROLQZ128ri, X86::VPROLQZ128mi, 0 },
+ { X86::VPRORDZ128ri, X86::VPRORDZ128mi, 0 },
+ { X86::VPRORQZ128ri, X86::VPRORQZ128mi, 0 },
{ X86::VPSHUFDZ128ri, X86::VPSHUFDZ128mi, 0 },
{ X86::VPSHUFHWZ128ri, X86::VPSHUFHWZ128mi, 0 },
{ X86::VPSHUFLWZ128ri, X86::VPSHUFLWZ128mi, 0 },
{ X86::VPSRLWZ128ri, X86::VPSRLWZ128mi, 0 },
{ X86::VRCP14PDZ128r, X86::VRCP14PDZ128m, 0 },
{ X86::VRCP14PSZ128r, X86::VRCP14PSZ128m, 0 },
+ { X86::VREDUCEPDZ128rri, X86::VREDUCEPDZ128rmi, 0 },
+ { X86::VREDUCEPSZ128rri, X86::VREDUCEPSZ128rmi, 0 },
+ { X86::VRNDSCALEPDZ128rri, X86::VRNDSCALEPDZ128rmi, 0 },
+ { X86::VRNDSCALEPSZ128rri, X86::VRNDSCALEPSZ128rmi, 0 },
{ X86::VRSQRT14PDZ128r, X86::VRSQRT14PDZ128m, 0 },
{ X86::VRSQRT14PSZ128r, X86::VRSQRT14PSZ128m, 0 },
{ X86::VSQRTPDZ128r, X86::VSQRTPDZ128m, 0 },
{ X86::VCMPSDrr_Int, X86::VCMPSDrm_Int, TB_NO_REVERSE },
{ X86::VCMPSSrr, X86::VCMPSSrm, 0 },
{ X86::VCMPSSrr_Int, X86::VCMPSSrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSD2SSrr, X86::VCVTSD2SSrm, 0 },
+ { X86::VCVTSD2SSrr_Int, X86::VCVTSD2SSrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSS2SDrr, X86::VCVTSS2SDrm, 0 },
+ { X86::VCVTSS2SDrr_Int, X86::VCVTSS2SDrm_Int, TB_NO_REVERSE },
{ X86::VDIVPDrr, X86::VDIVPDrm, 0 },
{ X86::VDIVPSrr, X86::VDIVPSrm, 0 },
{ X86::VDIVSDrr, X86::VDIVSDrm, 0 },
{ X86::VANDNPSZrr, X86::VANDNPSZrm, 0 },
{ X86::VANDPDZrr, X86::VANDPDZrm, 0 },
{ X86::VANDPSZrr, X86::VANDPSZrm, 0 },
+ { X86::VBLENDMPDZrr, X86::VBLENDMPDZrm, 0 },
+ { X86::VBLENDMPSZrr, X86::VBLENDMPSZrm, 0 },
{ X86::VCMPPDZrri, X86::VCMPPDZrmi, 0 },
{ X86::VCMPPSZrri, X86::VCMPPSZrmi, 0 },
{ X86::VCMPSDZrr, X86::VCMPSDZrm, 0 },
{ X86::VCMPSDZrr_Int, X86::VCMPSDZrm_Int, TB_NO_REVERSE },
{ X86::VCMPSSZrr, X86::VCMPSSZrm, 0 },
{ X86::VCMPSSZrr_Int, X86::VCMPSSZrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSD2SSZrr, X86::VCVTSD2SSZrm, 0 },
+ { X86::VCVTSD2SSZrr_Int, X86::VCVTSD2SSZrm_Int, TB_NO_REVERSE },
+ { X86::VCVTSI2SDZrr, X86::VCVTSI2SDZrm, 0 },
+ { X86::VCVTSI2SDZrr_Int, X86::VCVTSI2SDZrm_Int, 0 },
+ { X86::VCVTSI2SSZrr, X86::VCVTSI2SSZrm, 0 },
+ { X86::VCVTSI2SSZrr_Int, X86::VCVTSI2SSZrm_Int, 0 },
+ { X86::VCVTSI642SDZrr, X86::VCVTSI642SDZrm, 0 },
+ { X86::VCVTSI642SDZrr_Int,X86::VCVTSI642SDZrm_Int, 0 },
+ { X86::VCVTSI642SSZrr, X86::VCVTSI642SSZrm, 0 },
+ { X86::VCVTSI642SSZrr_Int,X86::VCVTSI642SSZrm_Int, 0 },
+ { X86::VCVTSS2SDZrr, X86::VCVTSS2SDZrm, 0 },
+ { X86::VCVTSS2SDZrr_Int, X86::VCVTSS2SDZrm_Int, TB_NO_REVERSE },
+ { X86::VCVTUSI2SDZrr, X86::VCVTUSI2SDZrm, 0 },
+ { X86::VCVTUSI2SDZrr_Int, X86::VCVTUSI2SDZrm_Int, 0 },
+ { X86::VCVTUSI2SSZrr, X86::VCVTUSI2SSZrm, 0 },
+ { X86::VCVTUSI2SSZrr_Int, X86::VCVTUSI2SSZrm_Int, 0 },
+ { X86::VCVTUSI642SDZrr, X86::VCVTUSI642SDZrm, 0 },
+ { X86::VCVTUSI642SDZrr_Int,X86::VCVTUSI642SDZrm_Int,0 },
+ { X86::VCVTUSI642SSZrr, X86::VCVTUSI642SSZrm, 0 },
+ { X86::VCVTUSI642SSZrr_Int,X86::VCVTUSI642SSZrm_Int,0 },
+ { X86::VDBPSADBWZrri, X86::VDBPSADBWZrmi, 0 },
{ X86::VDIVPDZrr, X86::VDIVPDZrm, 0 },
{ X86::VDIVPSZrr, X86::VDIVPSZrm, 0 },
{ X86::VDIVSDZrr, X86::VDIVSDZrm, 0 },
{ X86::VDIVSDZrr_Int, X86::VDIVSDZrm_Int, TB_NO_REVERSE },
{ X86::VDIVSSZrr, X86::VDIVSSZrm, 0 },
{ X86::VDIVSSZrr_Int, X86::VDIVSSZrm_Int, TB_NO_REVERSE },
+ { X86::VGETEXPSDZr, X86::VGETEXPSDZm, TB_NO_REVERSE },
+ { X86::VGETEXPSSZr, X86::VGETEXPSSZm, TB_NO_REVERSE },
+ { X86::VGETMANTSDZrri, X86::VGETMANTSDZrmi, TB_NO_REVERSE },
+ { X86::VGETMANTSSZrri, X86::VGETMANTSSZrmi, TB_NO_REVERSE },
{ X86::VINSERTF32x4Zrr, X86::VINSERTF32x4Zrm, 0 },
{ X86::VINSERTF32x8Zrr, X86::VINSERTF32x8Zrm, 0 },
{ X86::VINSERTF64x2Zrr, X86::VINSERTF64x2Zrm, 0 },
{ X86::VPANDQZrr, X86::VPANDQZrm, 0 },
{ X86::VPAVGBZrr, X86::VPAVGBZrm, 0 },
{ X86::VPAVGWZrr, X86::VPAVGWZrm, 0 },
+ { X86::VPBLENDMBZrr, X86::VPBLENDMBZrm, 0 },
+ { X86::VPBLENDMDZrr, X86::VPBLENDMDZrm, 0 },
+ { X86::VPBLENDMQZrr, X86::VPBLENDMQZrm, 0 },
+ { X86::VPBLENDMWZrr, X86::VPBLENDMWZrm, 0 },
{ X86::VPCMPBZrri, X86::VPCMPBZrmi, 0 },
{ X86::VPCMPDZrri, X86::VPCMPDZrmi, 0 },
{ X86::VPCMPEQBZrr, X86::VPCMPEQBZrm, 0 },
{ X86::VANDPDZ256rr, X86::VANDPDZ256rm, 0 },
{ X86::VANDPSZ128rr, X86::VANDPSZ128rm, 0 },
{ X86::VANDPSZ256rr, X86::VANDPSZ256rm, 0 },
+ { X86::VBLENDMPDZ128rr, X86::VBLENDMPDZ128rm, 0 },
+ { X86::VBLENDMPDZ256rr, X86::VBLENDMPDZ256rm, 0 },
+ { X86::VBLENDMPSZ128rr, X86::VBLENDMPSZ128rm, 0 },
+ { X86::VBLENDMPSZ256rr, X86::VBLENDMPSZ256rm, 0 },
{ X86::VCMPPDZ128rri, X86::VCMPPDZ128rmi, 0 },
{ X86::VCMPPDZ256rri, X86::VCMPPDZ256rmi, 0 },
{ X86::VCMPPSZ128rri, X86::VCMPPSZ128rmi, 0 },
{ X86::VDIVPDZ256rr, X86::VDIVPDZ256rm, 0 },
{ X86::VDIVPSZ128rr, X86::VDIVPSZ128rm, 0 },
{ X86::VDIVPSZ256rr, X86::VDIVPSZ256rm, 0 },
+ { X86::VDBPSADBWZ128rri, X86::VDBPSADBWZ128rmi, 0 },
+ { X86::VDBPSADBWZ256rri, X86::VDBPSADBWZ256rmi, 0 },
{ X86::VINSERTF32x4Z256rr,X86::VINSERTF32x4Z256rm, 0 },
{ X86::VINSERTF64x2Z256rr,X86::VINSERTF64x2Z256rm, 0 },
{ X86::VINSERTI32x4Z256rr,X86::VINSERTI32x4Z256rm, 0 },
{ X86::VPAVGBZ256rr, X86::VPAVGBZ256rm, 0 },
{ X86::VPAVGWZ128rr, X86::VPAVGWZ128rm, 0 },
{ X86::VPAVGWZ256rr, X86::VPAVGWZ256rm, 0 },
+ { X86::VPBLENDMBZ128rr, X86::VPBLENDMBZ128rm, 0 },
+ { X86::VPBLENDMBZ256rr, X86::VPBLENDMBZ256rm, 0 },
+ { X86::VPBLENDMDZ128rr, X86::VPBLENDMDZ128rm, 0 },
+ { X86::VPBLENDMDZ256rr, X86::VPBLENDMDZ256rm, 0 },
+ { X86::VPBLENDMQZ128rr, X86::VPBLENDMQZ128rm, 0 },
+ { X86::VPBLENDMQZ256rr, X86::VPBLENDMQZ256rm, 0 },
+ { X86::VPBLENDMWZ128rr, X86::VPBLENDMWZ128rm, 0 },
+ { X86::VPBLENDMWZ256rr, X86::VPBLENDMWZ256rm, 0 },
{ X86::VPCMPBZ128rri, X86::VPCMPBZ128rmi, 0 },
{ X86::VPCMPBZ256rri, X86::VPCMPBZ256rmi, 0 },
{ X86::VPCMPDZ128rri, X86::VPCMPDZ128rmi, 0 },
{ X86::VPERMT2Wrr, X86::VPERMT2Wrm, 0 },
{ X86::VPMADD52HUQZr, X86::VPMADD52HUQZm, 0 },
{ X86::VPMADD52LUQZr, X86::VPMADD52LUQZm, 0 },
+ { X86::VPSHLDVDZr, X86::VPSHLDVDZm, 0 },
+ { X86::VPSHLDVQZr, X86::VPSHLDVQZm, 0 },
+ { X86::VPSHLDVWZr, X86::VPSHLDVWZm, 0 },
+ { X86::VPSHRDVDZr, X86::VPSHRDVDZm, 0 },
+ { X86::VPSHRDVQZr, X86::VPSHRDVQZm, 0 },
+ { X86::VPSHRDVWZr, X86::VPSHRDVWZm, 0 },
{ X86::VPTERNLOGDZrri, X86::VPTERNLOGDZrmi, 0 },
{ X86::VPTERNLOGQZrri, X86::VPTERNLOGQZrmi, 0 },
{ X86::VPERMT2W256rr, X86::VPERMT2W256rm, 0 },
{ X86::VPMADD52HUQZ256r, X86::VPMADD52HUQZ256m, 0 },
{ X86::VPMADD52LUQZ256r, X86::VPMADD52LUQZ256m, 0 },
+ { X86::VPSHLDVDZ256r, X86::VPSHLDVDZ256m, 0 },
+ { X86::VPSHLDVQZ256r, X86::VPSHLDVQZ256m, 0 },
+ { X86::VPSHLDVWZ256r, X86::VPSHLDVWZ256m, 0 },
+ { X86::VPSHRDVDZ256r, X86::VPSHRDVDZ256m, 0 },
+ { X86::VPSHRDVQZ256r, X86::VPSHRDVQZ256m, 0 },
+ { X86::VPSHRDVWZ256r, X86::VPSHRDVWZ256m, 0 },
{ X86::VPTERNLOGDZ256rri, X86::VPTERNLOGDZ256rmi, 0 },
{ X86::VPTERNLOGQZ256rri, X86::VPTERNLOGQZ256rmi, 0 },
{ X86::VPERMT2W128rr, X86::VPERMT2W128rm, 0 },
{ X86::VPMADD52HUQZ128r, X86::VPMADD52HUQZ128m, 0 },
{ X86::VPMADD52LUQZ128r, X86::VPMADD52LUQZ128m, 0 },
+ { X86::VPSHLDVDZ128r, X86::VPSHLDVDZ128m, 0 },
+ { X86::VPSHLDVQZ128r, X86::VPSHLDVQZ128m, 0 },
+ { X86::VPSHLDVWZ128r, X86::VPSHLDVWZ128m, 0 },
+ { X86::VPSHRDVDZ128r, X86::VPSHRDVDZ128m, 0 },
+ { X86::VPSHRDVQZ128r, X86::VPSHRDVQZ128m, 0 },
+ { X86::VPSHRDVWZ128r, X86::VPSHRDVWZ128m, 0 },
{ X86::VPTERNLOGDZ128rri, X86::VPTERNLOGDZ128rmi, 0 },
{ X86::VPTERNLOGQZ128rri, X86::VPTERNLOGQZ128rmi, 0 },