[llvm] r328110 - [X86][SandyBridge] Merge more VEX/non-VEX instregex patterns (NFCI) (PR35955)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 21 09:05:58 PDT 2018
Author: rksimon
Date: Wed Mar 21 09:05:58 2018
New Revision: 328110
URL: http://llvm.org/viewvc/llvm-project?rev=328110&view=rev
Log:
[X86][SandyBridge] Merge more VEX/non-VEX instregex patterns (NFCI) (PR35955)
Modified:
llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
Modified: llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td?rev=328110&r1=328109&r2=328110&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td Wed Mar 21 09:05:58 2018
@@ -255,25 +255,16 @@ def SBWriteResGroup0 : SchedWriteRes<[SB
let NumMicroOps = 1;
let ResourceCycles = [1];
}
-def: InstRW<[SBWriteResGroup0], (instregex "CVTSS2SDrr",
- "PSLLDri",
- "PSLLQri",
- "PSLLWri",
- "PSRADri",
- "PSRAWri",
- "PSRLDri",
- "PSRLQri",
- "PSRLWri",
- "VCVTSS2SDrr",
- "VPMOVMSKBrr",
- "VPSLLDri",
- "VPSLLQri",
- "VPSLLWri",
- "VPSRADri",
- "VPSRAWri",
- "VPSRLDri",
- "VPSRLQri",
- "VPSRLWri",
+def: InstRW<[SBWriteResGroup0], (instregex "VPMOVMSKBrr",
+ "(V?)CVTSS2SDrr",
+ "(V?)PSLLDri",
+ "(V?)PSLLQri",
+ "(V?)PSLLWri",
+ "(V?)PSRADri",
+ "(V?)PSRAWri",
+ "(V?)PSRLDri",
+ "(V?)PSRLQri",
+ "(V?)PSRLWri",
"VTESTPDYrr",
"VTESTPDrr",
"VTESTPSYrr",
@@ -295,11 +286,7 @@ def SBWriteResGroup2 : SchedWriteRes<[SB
let ResourceCycles = [1];
}
def: InstRW<[SBWriteResGroup2], (instrs LOOP, LOOPE, LOOPNE)>;
-def: InstRW<[SBWriteResGroup2], (instregex "ANDNPDrr",
- "ANDNPSrr",
- "ANDPDrr",
- "ANDPSrr",
- "FDECSTP",
+def: InstRW<[SBWriteResGroup2], (instregex "FDECSTP",
"FFREE",
"FINCSTP",
"FNOP",
@@ -310,65 +297,44 @@ def: InstRW<[SBWriteResGroup2], (instreg
"JMP_1",
"JMP_4",
"LD_Frr",
- "MOV64toPQIrr",
- "MOVAPDrr",
- "MOVAPSrr",
- "MOVDDUPrr",
- "MOVDI2PDIrr",
- "MOVHLPSrr",
- "MOVLHPSrr",
- "MOVSDrr",
- "MOVSHDUPrr",
- "MOVSLDUPrr",
- "MOVSSrr",
- "MOVUPDrr",
- "MOVUPSrr",
- "ORPDrr",
- "ORPSrr",
"RETQ",
- "SHUFPDrri",
- "SHUFPSrri",
"ST_FPrr",
"ST_Frr",
- "UNPCKHPDrr",
- "UNPCKHPSrr",
- "UNPCKLPDrr",
- "UNPCKLPSrr",
"VANDNPDYrr",
- "VANDNPDrr",
+ "(V?)ANDNPDrr",
"VANDNPSYrr",
- "VANDNPSrr",
+ "(V?)ANDNPSrr",
"VANDPDYrr",
- "VANDPDrr",
+ "(V?)ANDPDrr",
"VANDPSYrr",
- "VANDPSrr",
+ "(V?)ANDPSrr",
"VEXTRACTF128rr",
"VINSERTF128rr",
"VINSERTPSrr",
- "VMOV64toPQIrr",
+ "(V?)MOV64toPQIrr",
"VMOVAPDYrr",
- "VMOVAPDrr",
+ "(V?)MOVAPDrr",
"VMOVAPSYrr",
- "VMOVAPSrr",
+ "(V?)MOVAPSrr",
"VMOVDDUPYrr",
- "VMOVDDUPrr",
- "VMOVDI2PDIrr",
- "VMOVHLPSrr",
- "VMOVLHPSrr",
- "VMOVSDrr",
+ "(V?)MOVDDUPrr",
+ "(V?)MOVDI2PDIrr",
+ "(V?)MOVHLPSrr",
+ "(V?)MOVLHPSrr",
+ "(V?)MOVSDrr",
"VMOVSHDUPYrr",
- "VMOVSHDUPrr",
+ "(V?)MOVSHDUPrr",
"VMOVSLDUPYrr",
- "VMOVSLDUPrr",
- "VMOVSSrr",
+ "(V?)MOVSLDUPrr",
+ "(V?)MOVSSrr",
"VMOVUPDYrr",
- "VMOVUPDrr",
+ "(V?)MOVUPDrr",
"VMOVUPSYrr",
- "VMOVUPSrr",
+ "(V?)MOVUPSrr",
"VORPDYrr",
- "VORPDrr",
+ "(V?)ORPDrr",
"VORPSYrr",
- "VORPSrr",
+ "(V?)ORPSrr",
"VPERM2F128rr",
"VPERMILPDYri",
"VPERMILPDYrr",
@@ -379,23 +345,21 @@ def: InstRW<[SBWriteResGroup2], (instreg
"VPERMILPSri",
"VPERMILPSrr",
"VSHUFPDYrri",
- "VSHUFPDrri",
+ "(V?)SHUFPDrri",
"VSHUFPSYrri",
- "VSHUFPSrri",
+ "(V?)SHUFPSrri",
"VUNPCKHPDYrr",
- "VUNPCKHPDrr",
+ "(V?)UNPCKHPDrr",
"VUNPCKHPSYrr",
- "VUNPCKHPSrr",
+ "(V?)UNPCKHPSrr",
"VUNPCKLPDYrr",
- "VUNPCKLPDrr",
+ "(V?)UNPCKLPDrr",
"VUNPCKLPSYrr",
- "VUNPCKLPSrr",
+ "(V?)UNPCKLPSrr",
"VXORPDYrr",
- "VXORPDrr",
+ "(V?)XORPDrr",
"VXORPSYrr",
- "VXORPSrr",
- "XORPDrr",
- "XORPSrr")>;
+ "(V?)XORPSrr")>;
def SBWriteResGroup3 : SchedWriteRes<[SBPort01]> {
let Latency = 1;
@@ -409,9 +373,7 @@ def SBWriteResGroup4 : SchedWriteRes<[SB
let NumMicroOps = 1;
let ResourceCycles = [1];
}
-def: InstRW<[SBWriteResGroup4], (instregex "BLENDPDrri",
- "BLENDPSrri",
- "BT(16|32|64)ri8",
+def: InstRW<[SBWriteResGroup4], (instregex "BT(16|32|64)ri8",
"BT(16|32|64)rr",
"BTC(16|32|64)ri8",
"BTC(16|32|64)rr",
@@ -431,9 +393,9 @@ def: InstRW<[SBWriteResGroup4], (instreg
"SHR(8|16|32|64)ri",
"SHR(8|16|32|64)r1",
"VBLENDPDYrri",
- "VBLENDPDrri",
+ "(V?)BLENDPDrri",
"VBLENDPSYrri",
- "VBLENDPSrri",
+ "(V?)BLENDPSrri",
"VMOVDQAYrr",
"VMOVDQArr",
"VMOVDQUYrr",
@@ -453,156 +415,81 @@ def: InstRW<[SBWriteResGroup5], (instreg
"MMX_PSIGNBrr",
"MMX_PSIGNDrr",
"MMX_PSIGNWrr",
- "PABSBrr",
- "PABSDrr",
- "PABSWrr",
- "PACKSSDWrr",
- "PACKSSWBrr",
- "PACKUSDWrr",
- "PACKUSWBrr",
- "PADDBrr",
- "PADDDrr",
- "PADDQrr",
- "PADDSBrr",
- "PADDSWrr",
- "PADDUSBrr",
- "PADDUSWrr",
- "PADDWrr",
- "PALIGNRrri",
- "PAVGBrr",
- "PAVGWrr",
- "PBLENDWrri",
- "PCMPEQBrr",
- "PCMPEQDrr",
- "PCMPEQQrr",
- "PCMPEQWrr",
- "PCMPGTBrr",
- "PCMPGTDrr",
- "PCMPGTWrr",
- "PMAXSBrr",
- "PMAXSDrr",
- "PMAXSWrr",
- "PMAXUBrr",
- "PMAXUDrr",
- "PMAXUWrr",
- "PMINSBrr",
- "PMINSDrr",
- "PMINSWrr",
- "PMINUBrr",
- "PMINUDrr",
- "PMINUWrr",
- "PMOVSXBDrr",
- "PMOVSXBQrr",
- "PMOVSXBWrr",
- "PMOVSXDQrr",
- "PMOVSXWDrr",
- "PMOVSXWQrr",
- "PMOVZXBDrr",
- "PMOVZXBQrr",
- "PMOVZXBWrr",
- "PMOVZXDQrr",
- "PMOVZXWDrr",
- "PMOVZXWQrr",
- "PSHUFBrr",
- "PSHUFDri",
- "PSHUFHWri",
- "PSHUFLWri",
- "PSIGNBrr",
- "PSIGNDrr",
- "PSIGNWrr",
- "PSLLDQri",
- "PSRLDQri",
- "PSUBBrr",
- "PSUBDrr",
- "PSUBQrr",
- "PSUBSBrr",
- "PSUBSWrr",
- "PSUBUSBrr",
- "PSUBUSWrr",
- "PSUBWrr",
- "PUNPCKHBWrr",
- "PUNPCKHDQrr",
- "PUNPCKHQDQrr",
- "PUNPCKHWDrr",
- "PUNPCKLBWrr",
- "PUNPCKLDQrr",
- "PUNPCKLQDQrr",
- "PUNPCKLWDrr",
- "VPABSBrr",
- "VPABSDrr",
- "VPABSWrr",
- "VPACKSSDWrr",
- "VPACKSSWBrr",
- "VPACKUSDWrr",
- "VPACKUSWBrr",
- "VPADDBrr",
- "VPADDDrr",
- "VPADDQrr",
- "VPADDSBrr",
- "VPADDSWrr",
- "VPADDUSBrr",
- "VPADDUSWrr",
- "VPADDWrr",
- "VPALIGNRrri",
- "VPAVGBrr",
- "VPAVGWrr",
- "VPBLENDWrri",
- "VPCMPEQBrr",
- "VPCMPEQDrr",
- "VPCMPEQQrr",
- "VPCMPEQWrr",
- "VPCMPGTBrr",
- "VPCMPGTDrr",
- "VPCMPGTWrr",
- "VPMAXSBrr",
- "VPMAXSDrr",
- "VPMAXSWrr",
- "VPMAXUBrr",
- "VPMAXUDrr",
- "VPMAXUWrr",
- "VPMINSBrr",
- "VPMINSDrr",
- "VPMINSWrr",
- "VPMINUBrr",
- "VPMINUDrr",
- "VPMINUWrr",
- "VPMOVSXBDrr",
- "VPMOVSXBQrr",
- "VPMOVSXBWrr",
- "VPMOVSXDQrr",
- "VPMOVSXWDrr",
- "VPMOVSXWQrr",
- "VPMOVZXBDrr",
- "VPMOVZXBQrr",
- "VPMOVZXBWrr",
- "VPMOVZXDQrr",
- "VPMOVZXWDrr",
- "VPMOVZXWQrr",
- "VPSHUFBrr",
- "VPSHUFDri",
- "VPSHUFHWri",
- "VPSHUFLWri",
- "VPSIGNBrr",
- "VPSIGNDrr",
- "VPSIGNWrr",
- "VPSLLDQri",
- "VPSRLDQri",
- "VPSUBBrr",
- "VPSUBDrr",
- "VPSUBQrr",
- "VPSUBSBrr",
- "VPSUBSWrr",
- "VPSUBUSBrr",
- "VPSUBUSWrr",
- "VPSUBWrr",
- "VPUNPCKHBWrr",
- "VPUNPCKHDQrr",
- "VPUNPCKHQDQrr",
- "VPUNPCKHWDrr",
- "VPUNPCKLBWrr",
- "VPUNPCKLDQrr",
- "VPUNPCKLQDQrr",
- "VPUNPCKLWDrr")>;
+ "(V?)PABSBrr",
+ "(V?)PABSDrr",
+ "(V?)PABSWrr",
+ "(V?)PACKSSDWrr",
+ "(V?)PACKSSWBrr",
+ "(V?)PACKUSDWrr",
+ "(V?)PACKUSWBrr",
+ "(V?)PADDBrr",
+ "(V?)PADDDrr",
+ "(V?)PADDQrr",
+ "(V?)PADDSBrr",
+ "(V?)PADDSWrr",
+ "(V?)PADDUSBrr",
+ "(V?)PADDUSWrr",
+ "(V?)PADDWrr",
+ "(V?)PALIGNRrri",
+ "(V?)PAVGBrr",
+ "(V?)PAVGWrr",
+ "(V?)PBLENDWrri",
+ "(V?)PCMPEQBrr",
+ "(V?)PCMPEQDrr",
+ "(V?)PCMPEQQrr",
+ "(V?)PCMPEQWrr",
+ "(V?)PCMPGTBrr",
+ "(V?)PCMPGTDrr",
+ "(V?)PCMPGTWrr",
+ "(V?)PMAXSBrr",
+ "(V?)PMAXSDrr",
+ "(V?)PMAXSWrr",
+ "(V?)PMAXUBrr",
+ "(V?)PMAXUDrr",
+ "(V?)PMAXUWrr",
+ "(V?)PMINSBrr",
+ "(V?)PMINSDrr",
+ "(V?)PMINSWrr",
+ "(V?)PMINUBrr",
+ "(V?)PMINUDrr",
+ "(V?)PMINUWrr",
+ "(V?)PMOVSXBDrr",
+ "(V?)PMOVSXBQrr",
+ "(V?)PMOVSXBWrr",
+ "(V?)PMOVSXDQrr",
+ "(V?)PMOVSXWDrr",
+ "(V?)PMOVSXWQrr",
+ "(V?)PMOVZXBDrr",
+ "(V?)PMOVZXBQrr",
+ "(V?)PMOVZXBWrr",
+ "(V?)PMOVZXDQrr",
+ "(V?)PMOVZXWDrr",
+ "(V?)PMOVZXWQrr",
+ "(V?)PSHUFBrr",
+ "(V?)PSHUFDri",
+ "(V?)PSHUFHWri",
+ "(V?)PSHUFLWri",
+ "(V?)PSIGNBrr",
+ "(V?)PSIGNDrr",
+ "(V?)PSIGNWrr",
+ "(V?)PSLLDQri",
+ "(V?)PSRLDQri",
+ "(V?)PSUBBrr",
+ "(V?)PSUBDrr",
+ "(V?)PSUBQrr",
+ "(V?)PSUBSBrr",
+ "(V?)PSUBSWrr",
+ "(V?)PSUBUSBrr",
+ "(V?)PSUBUSWrr",
+ "(V?)PSUBWrr",
+ "(V?)PUNPCKHBWrr",
+ "(V?)PUNPCKHDQrr",
+ "(V?)PUNPCKHQDQrr",
+ "(V?)PUNPCKHWDrr",
+ "(V?)PUNPCKLBWrr",
+ "(V?)PUNPCKLDQrr",
+ "(V?)PUNPCKLQDQrr",
+ "(V?)PUNPCKLWDrr")>;
def SBWriteResGroup6 : SchedWriteRes<[SBPort015]> {
let Latency = 1;
@@ -629,7 +516,6 @@ def: InstRW<[SBWriteResGroup6], (instreg
"MOV(8|16|32|64)ri",
"MOVDQArr",
"MOVDQUrr",
- "MOVPQI2QIrr",
"MOVSX(16|32|64)rr16",
"MOVSX(16|32|64)rr32",
"MOVSX(16|32|64)rr8",
@@ -640,10 +526,6 @@ def: InstRW<[SBWriteResGroup6], (instreg
"OR(8|16|32|64)ri",
"OR(8|16|32|64)rr",
"OR(8|16|32|64)i",
- "PANDNrr",
- "PANDrr",
- "PORrr",
- "PXORrr",
"STC",
"SUB(8|16|32|64)ri",
"SUB(8|16|32|64)rr",
@@ -651,12 +533,12 @@ def: InstRW<[SBWriteResGroup6], (instreg
"TEST(8|16|32|64)rr",
"TEST(8|16|32|64)i",
"TEST(8|16|32|64)ri",
- "VMOVPQI2QIrr",
+ "(V?)MOVPQI2QIrr",
"VMOVZPQILo2PQIrr",
- "VPANDNrr",
- "VPANDrr",
- "VPORrr",
- "VPXORrr",
+ "(V?)PANDNrr",
+ "(V?)PANDrr",
+ "(V?)PORrr",
+ "(V?)PXORrr",
"XOR(8|16|32|64)ri",
"XOR(8|16|32|64)rr",
"XOR(8|16|32|64)i")>;
@@ -666,17 +548,13 @@ def SBWriteResGroup7 : SchedWriteRes<[SB
let NumMicroOps = 1;
let ResourceCycles = [1];
}
-def: InstRW<[SBWriteResGroup7], (instregex "MOVMSKPDrr",
- "MOVMSKPSrr",
- "MOVPDI2DIrr",
- "MOVPQIto64rr",
- "PMOVMSKBrr",
+def: InstRW<[SBWriteResGroup7], (instregex "PMOVMSKBrr",
"VMOVMSKPDYrr",
- "VMOVMSKPDrr",
+ "(V?)MOVMSKPDrr",
"VMOVMSKPSYrr",
- "VMOVMSKPSrr",
- "VMOVPDI2DIrr",
- "VMOVPQIto64rr")>;
+ "(V?)MOVMSKPSrr",
+ "(V?)MOVPDI2DIrr",
+ "(V?)MOVPQIto64rr")>;
def SBWriteResGroup9 : SchedWriteRes<[SBPort05]> {
let Latency = 2;
@@ -728,12 +606,10 @@ def SBWriteResGroup13 : SchedWriteRes<[S
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup13], (instregex "CVTPS2PDrr",
- "PTESTrr",
- "VCVTPS2PDYrr",
- "VCVTPS2PDrr",
+def: InstRW<[SBWriteResGroup13], (instregex "VCVTPS2PDYrr",
+ "(V?)CVTPS2PDrr",
"VPTESTYrr",
- "VPTESTrr")>;
+ "(V?)PTESTrr")>;
def SBWriteResGroup14 : SchedWriteRes<[SBPort0,SBPort15]> {
let Latency = 2;
@@ -769,14 +645,10 @@ def SBWriteResGroup17 : SchedWriteRes<[S
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup17], (instregex "PINSRBrr",
- "PINSRDrr",
- "PINSRQrr",
- "PINSRWrr",
- "VPINSRBrr",
- "VPINSRDrr",
- "VPINSRQrr",
- "VPINSRWrr")>;
+def: InstRW<[SBWriteResGroup17], (instregex "(V?)PINSRBrr",
+ "(V?)PINSRDrr",
+ "(V?)PINSRQrr",
+ "(V?)PINSRWrr")>;
def SBWriteResGroup18 : SchedWriteRes<[SBPort5,SBPort015]> {
let Latency = 2;
@@ -809,26 +681,16 @@ def SBWriteResGroup20 : SchedWriteRes<[S
def: InstRW<[SBWriteResGroup20], (instregex "MMX_PMADDUBSWrr",
"MMX_PMULHRSWrr",
"MMX_PMULUDQirr",
- "PMADDUBSWrr",
- "PMADDWDrr",
- "PMULDQrr",
- "PMULHRSWrr",
- "PMULHUWrr",
- "PMULHWrr",
- "PMULLDrr",
- "PMULLWrr",
- "PMULUDQrr",
- "PSADBWrr",
- "VPMADDUBSWrr",
- "VPMADDWDrr",
- "VPMULDQrr",
- "VPMULHRSWrr",
- "VPMULHUWrr",
- "VPMULHWrr",
- "VPMULLDrr",
- "VPMULLWrr",
- "VPMULUDQrr",
- "VPSADBWrr")>;
+ "(V?)PMADDUBSWrr",
+ "(V?)PMADDWDrr",
+ "(V?)PMULDQrr",
+ "(V?)PMULHRSWrr",
+ "(V?)PMULHUWrr",
+ "(V?)PMULHWrr",
+ "(V?)PMULLDrr",
+ "(V?)PMULLWrr",
+ "(V?)PMULUDQrr",
+ "(V?)PSADBWrr")>;
def SBWriteResGroup21 : SchedWriteRes<[SBPort1]> {
let Latency = 3;
@@ -836,99 +698,70 @@ def SBWriteResGroup21 : SchedWriteRes<[S
let ResourceCycles = [1];
}
def: InstRW<[SBWriteResGroup21], (instrs MUL8r, IMUL16rr, IMUL32rr, IMUL32rri, IMUL32rri8, IMUL64rr, IMUL64rri32, IMUL64rri8)>;
-def: InstRW<[SBWriteResGroup21], (instregex "ADDPDrr",
- "ADDPSrr",
- "ADDSDrr",
- "ADDSSrr",
- "ADDSUBPDrr",
- "ADDSUBPSrr",
- "ADD_FPrST0",
+def: InstRW<[SBWriteResGroup21], (instregex "ADD_FPrST0",
"ADD_FST0r",
"ADD_FrST0",
"BSF(16|32|64)rr",
"BSR(16|32|64)rr",
- "CMPPDrri",
- "CMPPSrri",
- "CMPSDrr",
- "CMPSSrr",
"CRC32r(16|32|64)r8",
"CRC32r(16|32|64)r64",
- "CVTDQ2PSrr",
- "CVTPS2DQrr",
- "CVTTPS2DQrr",
- "MAX(C?)PDrr",
- "MAX(C?)PSrr",
- "MAX(C?)SDrr",
- "MAX(C?)SSrr",
- "MIN(C?)PDrr",
- "MIN(C?)PSrr",
- "MIN(C?)SDrr",
- "MIN(C?)SSrr",
"MMX_CVTPI2PSirr",
"MMX_CVTPS2PIirr",
"MMX_CVTTPS2PIirr",
"POPCNT(16|32|64)rr",
"PUSHFS64",
- "ROUNDPDr",
- "ROUNDPSr",
- "ROUNDSDr",
- "ROUNDSSr",
- "SUBPDrr",
- "SUBPSrr",
"SUBR_FPrST0",
"SUBR_FST0r",
"SUBR_FrST0",
- "SUBSDrr",
- "SUBSSrr",
"SUB_FPrST0",
"SUB_FST0r",
"SUB_FrST0",
"VADDPDYrr",
- "VADDPDrr",
+ "(V?)ADDPDrr",
"VADDPSYrr",
- "VADDPSrr",
- "VADDSDrr",
- "VADDSSrr",
+ "(V?)ADDPSrr",
+ "(V?)ADDSDrr",
+ "(V?)ADDSSrr",
"VADDSUBPDYrr",
- "VADDSUBPDrr",
+ "(V?)ADDSUBPDrr",
"VADDSUBPSYrr",
- "VADDSUBPSrr",
+ "(V?)ADDSUBPSrr",
"VCMPPDYrri",
- "VCMPPDrri",
+ "(V?)CMPPDrri",
"VCMPPSYrri",
- "VCMPPSrri",
- "VCMPSDrr",
- "VCMPSSrr",
+ "(V?)CMPPSrri",
+ "(V?)CMPSDrr",
+ "(V?)CMPSSrr",
"VCVTDQ2PSYrr",
- "VCVTDQ2PSrr",
+ "(V?)CVTDQ2PSrr",
"VCVTPS2DQYrr",
- "VCVTPS2DQrr",
+ "(V?)CVTPS2DQrr",
"VCVTTPS2DQYrr",
- "VCVTTPS2DQrr",
+ "(V?)CVTTPS2DQrr",
"VMAX(C?)PDYrr",
- "VMAX(C?)PDrr",
+ "(V?)MAX(C?)PDrr",
"VMAX(C?)PSYrr",
- "VMAX(C?)PSrr",
- "VMAX(C?)SDrr",
- "VMAX(C?)SSrr",
+ "(V?)MAX(C?)PSrr",
+ "(V?)MAX(C?)SDrr",
+ "(V?)MAX(C?)SSrr",
"VMIN(C?)PDYrr",
- "VMIN(C?)PDrr",
+ "(V?)MIN(C?)PDrr",
"VMIN(C?)PSYrr",
- "VMIN(C?)PSrr",
- "VMIN(C?)SDrr",
- "VMIN(C?)SSrr",
- "VROUNDPDr",
- "VROUNDPSr",
- "VROUNDSDr",
- "VROUNDSSr",
+ "(V?)MIN(C?)PSrr",
+ "(V?)MIN(C?)SDrr",
+ "(V?)MIN(C?)SSrr",
+ "(V?)ROUNDPDr",
+ "(V?)ROUNDPSr",
+ "(V?)ROUNDSDr",
+ "(V?)ROUNDSSr",
"VROUNDYPDr",
"VROUNDYPSr",
"VSUBPDYrr",
- "VSUBPDrr",
+ "(V?)SUBPDrr",
"VSUBPSYrr",
- "VSUBPSrr",
- "VSUBSDrr",
- "VSUBSSrr")>;
+ "(V?)SUBPSrr",
+ "(V?)SUBSDrr",
+ "(V?)SUBSSrr")>;
def SBWriteResGroup21_16i : SchedWriteRes<[SBPort1, SBPort015]> {
let Latency = 3;
@@ -949,14 +782,10 @@ def SBWriteResGroup23 : SchedWriteRes<[S
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup23], (instregex "PEXTRBrr",
- "PEXTRDrr",
- "PEXTRQrr",
- "PEXTRWrr",
- "VPEXTRBrr",
- "VPEXTRDrr",
- "VPEXTRQrr",
- "VPEXTRWrr")>;
+def: InstRW<[SBWriteResGroup23], (instregex "(V?)PEXTRBrr",
+ "(V?)PEXTRDrr",
+ "(V?)PEXTRQrr",
+ "(V?)PEXTRWrr")>;
def SBWriteResGroup23_2 : SchedWriteRes<[SBPort05]> {
let Latency = 3;
@@ -1038,27 +867,20 @@ def SBWriteResGroup28 : SchedWriteRes<[S
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup28], (instregex "CVTDQ2PDrr",
- "CVTPD2DQrr",
- "CVTPD2PSrr",
- "CVTSD2SSrr",
- "CVTSI642SDrr",
- "CVTSI2SDrr",
- "CVTTPD2DQrr",
- "MMX_CVTPD2PIirr",
+def: InstRW<[SBWriteResGroup28], (instregex "MMX_CVTPD2PIirr",
"MMX_CVTPI2PDirr",
"MMX_CVTTPD2PIirr",
"VCVTDQ2PDYrr",
- "VCVTDQ2PDrr",
+ "(V?)CVTDQ2PDrr",
"VCVTPD2DQYrr",
- "VCVTPD2DQrr",
+ "(V?)CVTPD2DQrr",
"VCVTPD2PSYrr",
- "VCVTPD2PSrr",
- "VCVTSD2SSrr",
- "VCVTSI642SDrr",
- "VCVTSI2SDrr",
+ "(V?)CVTPD2PSrr",
+ "(V?)CVTSD2SSrr",
+ "(V?)CVTSI642SDrr",
+ "(V?)CVTSI2SDrr",
"VCVTTPD2DQYrr",
- "VCVTTPD2DQrr")>;
+ "(V?)CVTTPD2DQrr")>;
def SBWriteResGroup29 : SchedWriteRes<[SBPort1,SBPort015]> {
let Latency = 4;
@@ -1087,31 +909,21 @@ def SBWriteResGroup30 : SchedWriteRes<[S
let NumMicroOps = 1;
let ResourceCycles = [1];
}
-def: InstRW<[SBWriteResGroup30], (instregex "MULPDrr",
- "MULPSrr",
- "MULSDrr",
- "MULSSrr",
- "MUL_FPrST0",
+def: InstRW<[SBWriteResGroup30], (instregex "MUL_FPrST0",
"MUL_FST0r",
"MUL_FrST0",
- "PCMPGTQrr",
- "PHMINPOSUWrr",
- "RCPPSr",
- "RCPSSr",
- "RSQRTPSr",
- "RSQRTSSr",
"VMULPDYrr",
- "VMULPDrr",
+ "(V?)MULPDrr",
"VMULPSYrr",
- "VMULPSrr",
- "VMULSDrr",
- "VMULSSrr",
- "VPCMPGTQrr",
- "VPHMINPOSUWrr",
- "VRCPPSr",
- "VRCPSSr",
- "VRSQRTPSr",
- "VRSQRTSSr")>;
+ "(V?)MULPSrr",
+ "(V?)MULSDrr",
+ "(V?)MULSSrr",
+ "(V?)PCMPGTQrr",
+ "(V?)PHMINPOSUWrr",
+ "(V?)RCPPSr",
+ "(V?)RCPSSr",
+ "(V?)RSQRTPSr",
+ "(V?)RSQRTSSr")>;
def SBWriteResGroup31 : SchedWriteRes<[SBPort23]> {
let Latency = 5;
@@ -1131,22 +943,14 @@ def SBWriteResGroup32 : SchedWriteRes<[S
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup32], (instregex "CVTSD2SI64rr",
- "CVTSD2SIrr",
- "CVTSS2SI64rr",
- "CVTSS2SIrr",
- "CVTTSD2SI64rr",
- "CVTTSD2SIrr",
- "CVTTSS2SI64rr",
- "CVTTSS2SIrr",
- "VCVTSD2SI64rr",
- "VCVTSD2SIrr",
- "VCVTSS2SI64rr",
- "VCVTSS2SIrr",
- "VCVTTSD2SI64rr",
- "VCVTTSD2SIrr",
- "VCVTTSS2SI64rr",
- "VCVTTSS2SIrr")>;
+def: InstRW<[SBWriteResGroup32], (instregex "(V?)CVTSD2SI64rr",
+ "(V?)CVTSD2SIrr",
+ "(V?)CVTSS2SI64rr",
+ "(V?)CVTSS2SIrr",
+ "(V?)CVTTSD2SI64rr",
+ "(V?)CVTTSD2SIrr",
+ "(V?)CVTTSS2SI64rr",
+ "(V?)CVTTSS2SIrr")>;
def SBWriteResGroup33 : SchedWriteRes<[SBPort4,SBPort23]> {
let Latency = 5;
@@ -1154,56 +958,38 @@ def SBWriteResGroup33 : SchedWriteRes<[S
let ResourceCycles = [1,1];
}
def: InstRW<[SBWriteResGroup33], (instregex "MOV(8|16|32|64)mr",
- "MOVAPDmr",
- "MOVAPSmr",
- "MOVDQAmr",
- "MOVDQUmr",
- "MOVHPDmr",
- "MOVHPSmr",
- "MOVLPDmr",
- "MOVLPSmr",
- "MOVNTDQmr",
"MOVNTI_64mr",
"MOVNTImr",
- "MOVNTPDmr",
- "MOVNTPSmr",
- "MOVPDI2DImr",
- "MOVPQI2QImr",
- "MOVPQIto64mr",
- "MOVSDmr",
- "MOVSSmr",
- "MOVUPDmr",
- "MOVUPSmr",
"PUSH64i8",
"PUSH(16|32|64)r",
"VEXTRACTF128mr",
"VMOVAPDYmr",
- "VMOVAPDmr",
+ "(V?)MOVAPDmr",
"VMOVAPSYmr",
- "VMOVAPSmr",
+ "(V?)MOVAPSmr",
"VMOVDQAYmr",
- "VMOVDQAmr",
+ "(V?)MOVDQAmr",
"VMOVDQUYmr",
- "VMOVDQUmr",
- "VMOVHPDmr",
- "VMOVHPSmr",
- "VMOVLPDmr",
- "VMOVLPSmr",
+ "(V?)MOVDQUmr",
+ "(V?)MOVHPDmr",
+ "(V?)MOVHPSmr",
+ "(V?)MOVLPDmr",
+ "(V?)MOVLPSmr",
"VMOVNTDQYmr",
- "VMOVNTDQmr",
+ "(V?)MOVNTDQmr",
"VMOVNTPDYmr",
- "VMOVNTPDmr",
+ "(V?)MOVNTPDmr",
"VMOVNTPSYmr",
- "VMOVNTPSmr",
- "VMOVPDI2DImr",
- "VMOVPQI2QImr",
- "VMOVPQIto64mr",
- "VMOVSDmr",
- "VMOVSSmr",
+ "(V?)MOVNTPSmr",
+ "(V?)MOVPDI2DImr",
+ "(V?)MOVPQI2QImr",
+ "(V?)MOVPQIto64mr",
+ "(V?)MOVSDmr",
+ "(V?)MOVSSmr",
"VMOVUPDYmr",
- "VMOVUPDmr",
+ "(V?)MOVUPDmr",
"VMOVUPSYmr",
- "VMOVUPSmr")>;
+ "(V?)MOVUPSmr")>;
def SBWriteResGroup34 : SchedWriteRes<[SBPort0,SBPort15]> {
let Latency = 5;
@@ -1218,22 +1004,16 @@ def SBWriteResGroup35 : SchedWriteRes<[S
let ResourceCycles = [1,2];
}
def: InstRW<[SBWriteResGroup35], (instregex "CLI")>;
-def: InstRW<[SBWriteResGroup35], (instregex "CVTSI642SSrr",
- "CVTSI2SSrr",
- "HADDPDrr",
- "HADDPSrr",
- "HSUBPDrr",
- "HSUBPSrr",
- "VCVTSI642SSrr",
- "VCVTSI2SSrr",
+def: InstRW<[SBWriteResGroup35], (instregex "(V?)CVTSI642SSrr",
+ "(V?)CVTSI2SSrr",
"VHADDPDYrr",
- "VHADDPDrr",
+ "(V?)HADDPDrr",
"VHADDPSYrr",
- "VHADDPSrr",
+ "(V?)HADDPSrr",
"VHSUBPDYrr",
- "VHSUBPDrr",
+ "(V?)HSUBPDrr",
"VHSUBPSYrr",
- "VHSUBPSrr")>;
+ "(V?)HSUBPSrr")>;
def SBWriteResGroup35_2 : SchedWriteRes<[SBPort1,SBPort4,SBPort23]> {
let Latency = 5;
@@ -1252,8 +1032,7 @@ def SBWriteResGroup36 : SchedWriteRes<[S
}
def: InstRW<[SBWriteResGroup36], (instregex "CALL64pcrel32",
"CALL(16|32|64)r",
- "EXTRACTPSmr",
- "VEXTRACTPSmr")>;
+ "(V?)EXTRACTPSmr")>;
def SBWriteResGroup37 : SchedWriteRes<[SBPort4,SBPort01,SBPort23]> {
let Latency = 5;
@@ -1277,8 +1056,7 @@ def SBWriteResGroup39 : SchedWriteRes<[S
let NumMicroOps = 3;
let ResourceCycles = [1,1,1];
}
-def: InstRW<[SBWriteResGroup39], (instregex "PEXTRBmr",
- "VPEXTRBmr",
+def: InstRW<[SBWriteResGroup39], (instregex "(V?)PEXTRBmr",
"VPEXTRDmr",
"VPEXTRWmr")>;
@@ -1319,10 +1097,8 @@ def SBWriteResGroup44 : SchedWriteRes<[S
let NumMicroOps = 4;
let ResourceCycles = [1,1,1,1];
}
-def: InstRW<[SBWriteResGroup44], (instregex "LDMXCSR",
- "STMXCSR",
- "VLDMXCSR",
- "VSTMXCSR")>;
+def: InstRW<[SBWriteResGroup44], (instregex "(V?)LDMXCSR",
+ "(V?)STMXCSR")>;
def SBWriteResGroup45 : SchedWriteRes<[SBPort0,SBPort4,SBPort23,SBPort15]> {
let Latency = 5;
@@ -1330,8 +1106,7 @@ def SBWriteResGroup45 : SchedWriteRes<[S
let ResourceCycles = [1,1,1,1];
}
def: InstRW<[SBWriteResGroup45], (instregex "PEXTRDmr",
- "PEXTRQmr",
- "VPEXTRQmr",
+ "(V?)PEXTRQmr",
"PUSHF16",
"PUSHF64")>;
@@ -1354,42 +1129,26 @@ def SBWriteResGroup48 : SchedWriteRes<[S
let NumMicroOps = 1;
let ResourceCycles = [1];
}
-def: InstRW<[SBWriteResGroup48], (instregex "LDDQUrm",
- "MMX_MOVD64from64rm",
- "MOV64toPQIrm",
- "MOVAPDrm",
- "MOVAPSrm",
- "MOVDDUPrm",
- "MOVDI2PDIrm",
- "MOVDQArm",
- "MOVDQUrm",
- "MOVNTDQArm",
- "MOVQI2PQIrm",
- "MOVSDrm",
- "MOVSHDUPrm",
- "MOVSLDUPrm",
- "MOVSSrm",
- "MOVUPDrm",
- "MOVUPSrm",
+def: InstRW<[SBWriteResGroup48], (instregex "MMX_MOVD64from64rm",
"POP(16|32|64)r",
"VBROADCASTSSrm",
"VLDDQUYrm",
- "VLDDQUrm",
- "VMOV64toPQIrm",
- "VMOVAPDrm",
- "VMOVAPSrm",
- "VMOVDDUPrm",
- "VMOVDI2PDIrm",
- "VMOVDQArm",
- "VMOVDQUrm",
- "VMOVNTDQArm",
- "VMOVQI2PQIrm",
- "VMOVSDrm",
- "VMOVSHDUPrm",
- "VMOVSLDUPrm",
- "VMOVSSrm",
- "VMOVUPDrm",
- "VMOVUPSrm")>;
+ "(V?)LDDQUrm",
+ "(V?)MOV64toPQIrm",
+ "(V?)MOVAPDrm",
+ "(V?)MOVAPSrm",
+ "(V?)MOVDDUPrm",
+ "(V?)MOVDI2PDIrm",
+ "(V?)MOVDQArm",
+ "(V?)MOVDQUrm",
+ "(V?)MOVNTDQArm",
+ "(V?)MOVQI2PQIrm",
+ "(V?)MOVSDrm",
+ "(V?)MOVSHDUPrm",
+ "(V?)MOVSLDUPrm",
+ "(V?)MOVSSrm",
+ "(V?)MOVUPDrm",
+ "(V?)MOVUPSrm")>;
def SBWriteResGroup49 : SchedWriteRes<[SBPort5,SBPort23]> {
let Latency = 6;
@@ -1912,98 +1671,57 @@ def SBWriteResGroup89 : SchedWriteRes<[S
let ResourceCycles = [1,1];
}
def: InstRW<[SBWriteResGroup89], (instregex "MMX_PMULUDQirm",
- "PMADDUBSWrm",
- "PMADDWDrm",
- "PMULDQrm",
- "PMULHRSWrm",
- "PMULHUWrm",
- "PMULHWrm",
- "PMULLDrm",
- "PMULLWrm",
- "PMULUDQrm",
- "PSADBWrm",
- "VPMADDUBSWrm",
- "VPMADDWDrm",
- "VPMULDQrm",
- "VPMULHRSWrm",
- "VPMULHUWrm",
- "VPMULHWrm",
- "VPMULLDrm",
- "VPMULLWrm",
- "VPMULUDQrm",
- "VPSADBWrm")>;
+ "(V?)PMADDUBSWrm",
+ "(V?)PMADDWDrm",
+ "(V?)PMULDQrm",
+ "(V?)PMULHRSWrm",
+ "(V?)PMULHUWrm",
+ "(V?)PMULHWrm",
+ "(V?)PMULLDrm",
+ "(V?)PMULLWrm",
+ "(V?)PMULUDQrm",
+ "(V?)PSADBWrm")>;
def SBWriteResGroup90 : SchedWriteRes<[SBPort1,SBPort23]> {
let Latency = 9;
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup90], (instregex "ADDPDrm",
- "ADDPSrm",
- "ADDSDrm",
- "ADDSSrm",
- "ADDSUBPDrm",
- "ADDSUBPSrm",
- "CMPPDrmi",
- "CMPPSrmi",
- "CMPSDrm",
- "CMPSSrm",
- "CVTDQ2PSrm",
- "CVTPS2DQrm",
- "CVTSI642SDrm",
- "CVTSI2SDrm",
- "CVTTPS2DQrm",
- "MAX(C?)PDrm",
- "MAX(C?)PSrm",
- "MAX(C?)SDrm",
- "MAX(C?)SSrm",
- "MIN(C?)PDrm",
- "MIN(C?)PSrm",
- "MIN(C?)SDrm",
- "MIN(C?)SSrm",
- "MMX_CVTPI2PSirm",
+def: InstRW<[SBWriteResGroup90], (instregex "MMX_CVTPI2PSirm",
"MMX_CVTPS2PIirm",
"MMX_CVTTPS2PIirm",
"POPCNT(16|32|64)rm",
- "ROUNDPDm",
- "ROUNDPSm",
- "ROUNDSDm",
- "ROUNDSSm",
- "SUBPDrm",
- "SUBPSrm",
- "SUBSDrm",
- "SUBSSrm",
- "VADDPDrm",
- "VADDPSrm",
- "VADDSDrm",
- "VADDSSrm",
- "VADDSUBPDrm",
- "VADDSUBPSrm",
- "VCMPPDrmi",
- "VCMPPSrmi",
- "VCMPSDrm",
- "VCMPSSrm",
- "VCVTDQ2PSrm",
- "VCVTPS2DQrm",
- "VCVTSI642SDrm",
- "VCVTSI2SDrm",
- "VCVTTPS2DQrm",
- "VMAX(C?)PDrm",
- "VMAX(C?)PSrm",
- "VMAX(C?)SDrm",
- "VMAX(C?)SSrm",
- "VMIN(C?)PDrm",
- "VMIN(C?)PSrm",
- "VMIN(C?)SDrm",
- "VMIN(C?)SSrm",
- "VROUNDPDm",
- "VROUNDPSm",
- "VROUNDSDm",
- "VROUNDSSm",
- "VSUBPDrm",
- "VSUBPSrm",
- "VSUBSDrm",
- "VSUBSSrm")>;
+ "(V?)ADDPDrm",
+ "(V?)ADDPSrm",
+ "(V?)ADDSDrm",
+ "(V?)ADDSSrm",
+ "(V?)ADDSUBPDrm",
+ "(V?)ADDSUBPSrm",
+ "(V?)CMPPDrmi",
+ "(V?)CMPPSrmi",
+ "(V?)CMPSDrm",
+ "(V?)CMPSSrm",
+ "(V?)CVTDQ2PSrm",
+ "(V?)CVTPS2DQrm",
+ "(V?)CVTSI642SDrm",
+ "(V?)CVTSI2SDrm",
+ "(V?)CVTTPS2DQrm",
+ "(V?)MAX(C?)PDrm",
+ "(V?)MAX(C?)PSrm",
+ "(V?)MAX(C?)SDrm",
+ "(V?)MAX(C?)SSrm",
+ "(V?)MIN(C?)PDrm",
+ "(V?)MIN(C?)PSrm",
+ "(V?)MIN(C?)SDrm",
+ "(V?)MIN(C?)SSrm",
+ "(V?)ROUNDPDm",
+ "(V?)ROUNDPSm",
+ "(V?)ROUNDSDm",
+ "(V?)ROUNDSSm",
+ "(V?)SUBPDrm",
+ "(V?)SUBPSrm",
+ "(V?)SUBSDrm",
+ "(V?)SUBSSrm")>;
def SBWriteResGroup91 : SchedWriteRes<[SBPort23,SBPort05]> {
let Latency = 9;
@@ -2164,24 +1882,17 @@ def SBWriteResGroup103 : SchedWriteRes<[
let NumMicroOps = 3;
let ResourceCycles = [1,1,1];
}
-def: InstRW<[SBWriteResGroup103], (instregex "CVTDQ2PDrm",
- "CVTPD2DQrm",
- "CVTPD2PSrm",
- "CVTSD2SSrm",
- "CVTSI642SSrm",
- "CVTSI2SSrm",
- "CVTTPD2DQrm",
- "MMX_CVTPD2PIirm",
+def: InstRW<[SBWriteResGroup103], (instregex "MMX_CVTPD2PIirm",
"MMX_CVTPI2PDirm",
"MMX_CVTTPD2PIirm",
"VCVTDQ2PDYrm",
- "VCVTDQ2PDrm",
- "VCVTPD2DQrm",
- "VCVTPD2PSrm",
- "VCVTSD2SSrm",
- "VCVTSI642SSrm",
- "VCVTSI2SSrm",
- "VCVTTPD2DQrm")>;
+ "(V?)CVTDQ2PDrm",
+ "(V?)CVTPD2DQrm",
+ "(V?)CVTPD2PSrm",
+ "(V?)CVTSD2SSrm",
+ "(V?)CVTSI642SSrm",
+ "(V?)CVTSI2SSrm",
+ "(V?)CVTTPD2DQrm")>;
def SBWriteResGroup103_2 : SchedWriteRes<[SBPort4,SBPort23,SBPort05,SBPort015]> {
let Latency = 10;
@@ -2196,26 +1907,16 @@ def SBWriteResGroup104 : SchedWriteRes<[
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup104], (instregex "MULPDrm",
- "MULPSrm",
- "MULSDrm",
- "MULSSrm",
- "PCMPGTQrm",
- "PHMINPOSUWrm",
- "RCPPSm",
- "RCPSSm",
- "RSQRTPSm",
- "RSQRTSSm",
- "VMULPDrm",
- "VMULPSrm",
- "VMULSDrm",
- "VMULSSrm",
- "VPCMPGTQrm",
- "VPHMINPOSUWrm",
- "VRCPPSm",
- "VRCPSSm",
- "VRSQRTPSm",
- "VRSQRTSSm")>;
+def: InstRW<[SBWriteResGroup104], (instregex "(V?)MULPDrm",
+ "(V?)MULPSrm",
+ "(V?)MULSDrm",
+ "(V?)MULSSrm",
+ "(V?)PCMPGTQrm",
+ "(V?)PHMINPOSUWrm",
+ "(V?)RCPPSm",
+ "(V?)RCPSSm",
+ "(V?)RSQRTPSm",
+ "(V?)RSQRTSSm")>;
def SBWriteResGroup105 : SchedWriteRes<[SBPort0]> {
let Latency = 11;
@@ -2323,13 +2024,10 @@ def SBWriteResGroup116 : SchedWriteRes<[
let NumMicroOps = 1;
let ResourceCycles = [1];
}
-def: InstRW<[SBWriteResGroup116], (instregex "DIVPSrr",
- "DIVSSrr",
- "SQRTPSr",
- "SQRTSSr",
- "VDIVPSrr",
- "VDIVSSrr",
- "VSQRTPSr")>;
+def: InstRW<[SBWriteResGroup116], (instregex "SQRTSSr",
+ "(V?)DIVPSrr",
+ "(V?)DIVSSrr",
+ "(V?)SQRTPSr")>;
def SBWriteResGroup117 : SchedWriteRes<[SBPort0,SBPort23]> {
let Latency = 14;
@@ -2381,13 +2079,10 @@ def SBWriteResGroup123 : SchedWriteRes<[
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup123], (instregex "DIVPSrm",
- "DIVSSrm",
- "SQRTPSm",
- "SQRTSSm",
- "VDIVPSrm",
- "VDIVSSrm",
- "VSQRTPSm")>;
+def: InstRW<[SBWriteResGroup123], (instregex "SQRTSSm",
+ "(V?)DIVPSrm",
+ "(V?)DIVSSrm",
+ "(V?)SQRTPSm")>;
def SBWriteResGroup124 : SchedWriteRes<[SBPort0]> {
let Latency = 21;
@@ -2408,13 +2103,10 @@ def SBWriteResGroup126 : SchedWriteRes<[
let NumMicroOps = 1;
let ResourceCycles = [1];
}
-def: InstRW<[SBWriteResGroup126], (instregex "DIVPDrr",
- "DIVSDrr",
- "SQRTPDr",
- "SQRTSDr",
- "VDIVPDrr",
- "VDIVSDrr",
- "VSQRTPDr")>;
+def: InstRW<[SBWriteResGroup126], (instregex "SQRTSDr",
+ "(V?)DIVPDrr",
+ "(V?)DIVSDrr",
+ "(V?)SQRTPDr")>;
def SBWriteResGroup127 : SchedWriteRes<[SBPort0]> {
let Latency = 24;
@@ -2433,13 +2125,10 @@ def SBWriteResGroup128 : SchedWriteRes<[
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup128], (instregex "DIVPDrm",
- "DIVSDrm",
- "SQRTPDm",
- "SQRTSDm",
- "VDIVPDrm",
- "VDIVSDrm",
- "VSQRTPDm")>;
+def: InstRW<[SBWriteResGroup128], (instregex "SQRTSDm",
+ "(V?)DIVPDrm",
+ "(V?)DIVSDrm",
+ "(V?)SQRTPDm")>;
def SBWriteResGroup129 : SchedWriteRes<[SBPort0,SBPort05]> {
let Latency = 29;
More information about the llvm-commits
mailing list