mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
[X86] Strip unnecessary broadcast/shuffle256 instrw overrides from scheduler models.
llvm-svn: 330523
This commit is contained in:
parent
95cf90d64b
commit
e8dbfa37fc
@ -351,7 +351,6 @@ def BWWriteResGroup3 : SchedWriteRes<[BWPort5]> {
|
||||
def: InstRW<[BWWriteResGroup3], (instregex "MMX_MOVD64rr",
|
||||
"MMX_MOVD64to64rr",
|
||||
"MMX_MOVQ2DQrr",
|
||||
"VBROADCASTSSrr",
|
||||
"(V?)MOV64toPQIrr",
|
||||
"(V?)MOVAPD(Y?)rr",
|
||||
"(V?)MOVAPS(Y?)rr",
|
||||
@ -359,8 +358,6 @@ def: InstRW<[BWWriteResGroup3], (instregex "MMX_MOVD64rr",
|
||||
"(V?)MOVUPD(Y?)rr",
|
||||
"(V?)MOVUPS(Y?)rr",
|
||||
"(V?)PBLENDW(Y?)rri",
|
||||
"VPBROADCASTDrr",
|
||||
"VPBROADCASTQrr",
|
||||
"(V?)PSLLDQ(Y?)ri",
|
||||
"(V?)PSRLDQ(Y?)ri")>;
|
||||
|
||||
@ -657,20 +654,8 @@ def BWWriteResGroup28 : SchedWriteRes<[BWPort5]> {
|
||||
let NumMicroOps = 1;
|
||||
let ResourceCycles = [1];
|
||||
}
|
||||
def: InstRW<[BWWriteResGroup28], (instregex "VBROADCASTSDYrr",
|
||||
"VBROADCASTSSYrr",
|
||||
"VEXTRACTF128rr",
|
||||
"VEXTRACTI128rr",
|
||||
"VINSERTF128rr",
|
||||
"VINSERTI128rr",
|
||||
"VPBROADCASTB(Y?)rr",
|
||||
"VPBROADCASTDYrr",
|
||||
"VPBROADCASTQYrr",
|
||||
"VPBROADCASTW(Y?)rr",
|
||||
"VPERM2F128rr",
|
||||
"VPERM2I128rr",
|
||||
"VPERMPDYri",
|
||||
"VPERMQYri",
|
||||
def: InstRW<[BWWriteResGroup28], (instregex "VPBROADCASTBrr",
|
||||
"VPBROADCASTWrr",
|
||||
"VPMOVSXBDYrr",
|
||||
"VPMOVSXBQYrr",
|
||||
"VPMOVSXBWYrr",
|
||||
|
@ -702,7 +702,6 @@ def HWWriteResGroup4 : SchedWriteRes<[HWPort5]> {
|
||||
def: InstRW<[HWWriteResGroup4], (instregex "MMX_MOVD64rr",
|
||||
"MMX_MOVD64to64rr",
|
||||
"MMX_MOVQ2DQrr",
|
||||
"VBROADCASTSSrr",
|
||||
"(V?)MOV64toPQIrr",
|
||||
"(V?)MOVAPD(Y?)rr",
|
||||
"(V?)MOVAPS(Y?)rr",
|
||||
@ -710,8 +709,6 @@ def: InstRW<[HWWriteResGroup4], (instregex "MMX_MOVD64rr",
|
||||
"(V?)MOVUPD(Y?)rr",
|
||||
"(V?)MOVUPS(Y?)rr",
|
||||
"(V?)PBLENDW(Y?)rri",
|
||||
"VPBROADCASTDrr",
|
||||
"VPBROADCASTQrr",
|
||||
"(V?)PSLLDQ(Y?)ri",
|
||||
"(V?)PSRLDQ(Y?)ri")>;
|
||||
|
||||
@ -1503,22 +1500,8 @@ def HWWriteResGroup51 : SchedWriteRes<[HWPort5]> {
|
||||
let NumMicroOps = 1;
|
||||
let ResourceCycles = [1];
|
||||
}
|
||||
def: InstRW<[HWWriteResGroup51], (instregex "VBROADCASTSDYrr",
|
||||
"VBROADCASTSSYrr",
|
||||
"VEXTRACTF128rr",
|
||||
"VEXTRACTI128rr",
|
||||
"VINSERTF128rr",
|
||||
"VINSERTI128rr",
|
||||
"VPBROADCASTBYrr",
|
||||
"VPBROADCASTBrr",
|
||||
"VPBROADCASTDYrr",
|
||||
"VPBROADCASTQYrr",
|
||||
"VPBROADCASTWYrr",
|
||||
def: InstRW<[HWWriteResGroup51], (instregex "VPBROADCASTBrr",
|
||||
"VPBROADCASTWrr",
|
||||
"VPERM2F128rr",
|
||||
"VPERM2I128rr",
|
||||
"VPERMPDYri",
|
||||
"VPERMQYri",
|
||||
"VPMOVSXBDYrr",
|
||||
"VPMOVSXBQYrr",
|
||||
"VPMOVSXBWYrr",
|
||||
|
@ -362,12 +362,9 @@ def: InstRW<[SKLWriteResGroup3], (instregex "COMP_FST0r",
|
||||
"MMX_MOVD64to64rr",
|
||||
"UCOM_FPr",
|
||||
"UCOM_Fr",
|
||||
"VBROADCASTSSrr",
|
||||
"(V?)MOV64toPQIrr",
|
||||
"(V?)MOVDI2PDIrr",
|
||||
"(V?)PBLENDW(Y?)rri",
|
||||
"VPBROADCASTDrr",
|
||||
"VPBROADCASTQrr",
|
||||
"(V?)PSLLDQ(Y?)ri",
|
||||
"(V?)PSRLDQ(Y?)ri")>;
|
||||
|
||||
@ -772,21 +769,9 @@ def: InstRW<[SKLWriteResGroup30], (instregex "ADD_FPrST0",
|
||||
"SUB_FPrST0",
|
||||
"SUB_FST0r",
|
||||
"SUB_FrST0",
|
||||
"VBROADCASTSDYrr",
|
||||
"VBROADCASTSSYrr",
|
||||
"VEXTRACTF128rr",
|
||||
"VEXTRACTI128rr",
|
||||
"VINSERTF128rr",
|
||||
"VINSERTI128rr",
|
||||
"VPBROADCASTBrr",
|
||||
"VPBROADCASTDYrr",
|
||||
"VPBROADCASTQYrr",
|
||||
"VPBROADCASTW(Y?)rr",
|
||||
"VPBROADCASTWrr",
|
||||
"(V?)PCMPGTQ(Y?)rr",
|
||||
"VPERM2F128rr",
|
||||
"VPERM2I128rr",
|
||||
"VPERMPDYri",
|
||||
"VPERMQYri",
|
||||
"VPMOVSXBDYrr",
|
||||
"VPMOVSXBQYrr",
|
||||
"VPMOVSXBWYrr",
|
||||
|
@ -411,16 +411,12 @@ def: InstRW<[SKXWriteResGroup3], (instregex "COMP_FST0r",
|
||||
"PSRLDQri",
|
||||
"UCOM_FPr",
|
||||
"UCOM_Fr",
|
||||
"VBROADCASTI32X2Z128r",
|
||||
"VBROADCASTSSrr",
|
||||
"VMOV64toPQIZrr",
|
||||
"VMOV64toPQIrr",
|
||||
"VMOVDI2PDIZrr",
|
||||
"VMOVDI2PDIrr",
|
||||
"VPBLENDWYrri",
|
||||
"VPBLENDWrri",
|
||||
"VPBROADCASTDrr",
|
||||
"VPBROADCASTQrr",
|
||||
"VPSLLDQYri",
|
||||
"VPSLLDQZ128rr",
|
||||
"VPSLLDQZ256rr",
|
||||
@ -1372,17 +1368,6 @@ def: InstRW<[SKXWriteResGroup32], (instregex "ADD_FPrST0",
|
||||
"VALIGNQZ128rri",
|
||||
"VALIGNQZ256rri",
|
||||
"VALIGNQZrri",
|
||||
"VBROADCASTF32X2Z256r",
|
||||
"VBROADCASTF32X2Zr",
|
||||
"VBROADCASTI32X2Z256r",
|
||||
"VBROADCASTI32X2Zr",
|
||||
"VBROADCASTSDYrr",
|
||||
"VBROADCASTSDZ256r",
|
||||
"VBROADCASTSDZr",
|
||||
"VBROADCASTSSYrr",
|
||||
"VBROADCASTSSZ128r",
|
||||
"VBROADCASTSSZ256r",
|
||||
"VBROADCASTSSZr",
|
||||
"VCMPPDZ128rri",
|
||||
"VCMPPDZ256rri",
|
||||
"VCMPPDZrri",
|
||||
@ -1394,20 +1379,6 @@ def: InstRW<[SKXWriteResGroup32], (instregex "ADD_FPrST0",
|
||||
"VDBPSADBWZ128rri",
|
||||
"VDBPSADBWZ256rri",
|
||||
"VDBPSADBWZrri",
|
||||
"VEXTRACTF128rr",
|
||||
"VEXTRACTF32x4Z256rr",
|
||||
"VEXTRACTF32x4Zrr",
|
||||
"VEXTRACTF32x8Zrr",
|
||||
"VEXTRACTF64x2Z256rr",
|
||||
"VEXTRACTF64x2Zrr",
|
||||
"VEXTRACTF64x4Zrr",
|
||||
"VEXTRACTI128rr",
|
||||
"VEXTRACTI32x4Z256rr",
|
||||
"VEXTRACTI32x4Zrr",
|
||||
"VEXTRACTI32x8Zrr",
|
||||
"VEXTRACTI64x2Z256rr",
|
||||
"VEXTRACTI64x2Zrr",
|
||||
"VEXTRACTI64x4Zrr",
|
||||
"VFPCLASSPDZ128rr",
|
||||
"VFPCLASSPDZ256rr",
|
||||
"VFPCLASSPDZrr",
|
||||
@ -1416,43 +1387,7 @@ def: InstRW<[SKXWriteResGroup32], (instregex "ADD_FPrST0",
|
||||
"VFPCLASSPSZrr",
|
||||
"VFPCLASSSDrr",
|
||||
"VFPCLASSSSrr",
|
||||
"VINSERTF128rr",
|
||||
"VINSERTF32x4Z256rr",
|
||||
"VINSERTF32x4Zrr",
|
||||
"VINSERTF32x8Zrr",
|
||||
"VINSERTF64x2Z256rr",
|
||||
"VINSERTF64x2Zrr",
|
||||
"VINSERTF64x4Zrr",
|
||||
"VINSERTI128rr",
|
||||
"VINSERTI32x4Z256rr",
|
||||
"VINSERTI32x4Zrr",
|
||||
"VINSERTI32x8Zrr",
|
||||
"VINSERTI64x2Z256rr",
|
||||
"VINSERTI64x2Zrr",
|
||||
"VINSERTI64x4Zrr",
|
||||
"VPBROADCASTBYrr",
|
||||
"VPBROADCASTBZ128r",
|
||||
"VPBROADCASTBZ256r",
|
||||
"VPBROADCASTBZr",
|
||||
"VPBROADCASTBrr",
|
||||
"VPBROADCASTDYrr",
|
||||
"VPBROADCASTDZ128r",
|
||||
"VPBROADCASTDZ256r",
|
||||
"VPBROADCASTDZr",
|
||||
"VPBROADCASTDrZ128r",
|
||||
"VPBROADCASTDrZ256r",
|
||||
"VPBROADCASTDrZr",
|
||||
"VPBROADCASTQYrr",
|
||||
"VPBROADCASTQZ128r",
|
||||
"VPBROADCASTQZ256r",
|
||||
"VPBROADCASTQZr",
|
||||
"VPBROADCASTQrZ128r",
|
||||
"VPBROADCASTQrZ256r",
|
||||
"VPBROADCASTQrZr",
|
||||
"VPBROADCASTWYrr",
|
||||
"VPBROADCASTWZ128r",
|
||||
"VPBROADCASTWZ256r",
|
||||
"VPBROADCASTWZr",
|
||||
"VPBROADCASTWrr",
|
||||
"VPCMPBZ128rri",
|
||||
"VPCMPBZ256rri",
|
||||
@ -1504,14 +1439,6 @@ def: InstRW<[SKXWriteResGroup32], (instregex "ADD_FPrST0",
|
||||
"VPCMPWZ128rri",
|
||||
"VPCMPWZ256rri",
|
||||
"VPCMPWZrri",
|
||||
"VPERM2F128rr",
|
||||
"VPERM2I128rr",
|
||||
"VPERMPDYri",
|
||||
"VPERMPDZ256ri",
|
||||
"VPERMPDZri",
|
||||
"VPERMQYri",
|
||||
"VPERMQZ256ri",
|
||||
"VPERMQZri",
|
||||
"VPMAXSQZ128rr",
|
||||
"VPMAXSQZ256rr",
|
||||
"VPMAXSQZrr",
|
||||
@ -1599,15 +1526,7 @@ def: InstRW<[SKXWriteResGroup32], (instregex "ADD_FPrST0",
|
||||
"VPTESTNMQZrr",
|
||||
"VPTESTNMWZ128rr",
|
||||
"VPTESTNMWZ256rr",
|
||||
"VPTESTNMWZrr",
|
||||
"VSHUFF32X4Z256rri",
|
||||
"VSHUFF32X4Zrri",
|
||||
"VSHUFF64X2Z256rri",
|
||||
"VSHUFF64X2Zrri",
|
||||
"VSHUFI32X4Z256rri",
|
||||
"VSHUFI32X4Zrri",
|
||||
"VSHUFI64X2Z256rri",
|
||||
"VSHUFI64X2Zrri")>;
|
||||
"VPTESTNMWZrr")>;
|
||||
|
||||
def SKXWriteResGroup33 : SchedWriteRes<[SKXPort0,SKXPort5]> {
|
||||
let Latency = 3;
|
||||
|
Loading…
Reference in New Issue
Block a user