1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00

[X86][SKX] Adding scheduling info of non-intrinsic + commutable SKX opcodes.

Updated the scheduling information of the SKX subtarget  in the file X86SchedSkylakeServer.td under lib/Target/X86 to:
1. add regular opcodes in addition to the suffixed "_Int" opcodes
2. add the (V)MAXCPD/MAXCPS/MAXCSD/MAXCSS/MINCPD/MINCPS/MINCSD/MINCSS
    instructions that are equivalent to their counterparts without the 'C' as they are part of a hack to
    make floating point min/max commutable under fast math.

Reviewers: zvi, RKSimon, craig.topper
Differential Revision: https://reviews.llvm.org/D39833

Change-Id: Ie13702a5ce1b1a08af91ca637a52b6962881e7d6
llvm-svn: 318024
This commit is contained in:
Gadi Haber 2017-11-13 08:42:07 +00:00
parent 0cdb5107e2
commit b18b35ba8c
4 changed files with 118 additions and 118 deletions

View File

@ -693,13 +693,13 @@ def: InstRW<[SKXWriteResGroup5], (instregex "PCMPGTBrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PCMPGTDrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PCMPGTWrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMAXSBrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMAXSDrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMAX(C?)SDrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMAXSWrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMAXUBrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMAXUDrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMAXUWrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMINSBrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMINSDrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMIN(C?)SDrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMINSWrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMINUBrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "PMINUDrr")>;
@ -786,11 +786,11 @@ def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSBZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSBZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSBZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSBrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSDYrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSDZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSDZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSDZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSDrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAX(C?)SDYrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAX(C?)SDZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAX(C?)SDZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAX(C?)SDZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAX(C?)SDrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSWYrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSWZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMAXSWZ256rr(b?)(k?)(z?)")>;
@ -816,11 +816,11 @@ def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSBZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSBZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSBZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSBrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSDYrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSDZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSDZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSDZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSDrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMIN(C?)SDYrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMIN(C?)SDZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMIN(C?)SDZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMIN(C?)SDZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMIN(C?)SDrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSWYrr")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSWZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup5], (instregex "VPMINSWZ256rr(b?)(k?)(z?)")>;
@ -1918,8 +1918,8 @@ def: InstRW<[SKXWriteResGroup32], (instregex "VCMPPDZrri(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup32], (instregex "VCMPPSZ128rri(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup32], (instregex "VCMPPSZ256rri(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup32], (instregex "VCMPPSZrri(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup32], (instregex "VCMPSDZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup32], (instregex "VCMPSSZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup32], (instregex "VCMPSDZrr(_Int?)(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup32], (instregex "VCMPSSZrr(_Int?)(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup32], (instregex "VDBPSADBWZ128rri(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup32], (instregex "VDBPSADBWZ256rri(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup32], (instregex "VDBPSADBWZrri(b?)(k?)(z?)")>;
@ -2411,14 +2411,14 @@ def: InstRW<[SKXWriteResGroup50], (instregex "CMPSSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "CVTDQ2PSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "CVTPS2DQrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "CVTTPS2DQrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MAXPDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MAXPSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MAXSDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MAXSSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MINPDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MINPSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MINSDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MINSSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MAX(C?)PDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MAX(C?)PSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MAX(C?)SDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MAX(C?)SSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MIN(C?)PDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MIN(C?)PSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MIN(C?)SDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MIN(C?)SSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MULPDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MULPSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "MULSDrr")>;
@ -2446,9 +2446,9 @@ def: InstRW<[SKXWriteResGroup50], (instregex "VADDPSZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDPSZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDPSZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDPSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDSDZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDSDZrr(_Int?)(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDSDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDSSZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDSSZrr(_Int?)(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDSSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDSUBPDYrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VADDSUBPDrr")>;
@ -2520,9 +2520,9 @@ def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD132PSZ128r(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD132PSZ256r(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD132PSZr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD132PSr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD132SDZr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD132SDZr(_Int?)(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD132SDr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD132SSZr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD132SSZr(_Int?)(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD132SSr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD213PDYr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VFMADD213PDZ128r(b?)(k?)(z?)")>;
@ -2754,34 +2754,34 @@ def: InstRW<[SKXWriteResGroup50], (instregex "VGETMANTPSZ256rri(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VGETMANTPSZrri(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VGETMANTSDZ128rri(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VGETMANTSSZ128rri(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXPDYrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXPDZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXPDZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXPDZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXPDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXPSYrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXPSZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXPSZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXPSZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXPSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXSDZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXSDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXSSZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAXSSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINPDYrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINPDZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINPDZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINPDZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINPDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINPSYrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINPSZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINPSZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINPSZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINPSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINSDZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINSDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINSSZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMINSSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)PDYrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)PDZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)PDZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)PDZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)PDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)PSYrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)PSZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)PSZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)PSZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)PSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)SDZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)SDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)SSZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMAX(C?)SSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)PDYrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)PDZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)PDZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)PDZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)PDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)PSYrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)PSZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)PSZ256rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)PSZrr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)PSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)SDZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)SDrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)SSZrr_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMIN(C?)SSrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMULPDYrr")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMULPDZ128rr(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup50], (instregex "VMULPDZ256rr(b?)(k?)(z?)")>;
@ -3878,13 +3878,13 @@ def: InstRW<[SKXWriteResGroup94], (instregex "PCMPGTBrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PCMPGTDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PCMPGTWrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMAXSBrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMAXSDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMAX(C?)SDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMAXSWrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMAXUBrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMAXUDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMAXUWrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMINSBrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMINSDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMIN(C?)SDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMINSWrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMINUBrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "PMINUDrm")>;
@ -3932,8 +3932,8 @@ def: InstRW<[SKXWriteResGroup94], (instregex "VPCMPGTDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPCMPGTWrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMAXSBZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMAXSBrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMAXSDZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMAXSDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMAX(C?)SDZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMAX(C?)SDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMAXSWZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMAXSWrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMAXUBZ128rm(b?)(k?)(z?)")>;
@ -3944,8 +3944,8 @@ def: InstRW<[SKXWriteResGroup94], (instregex "VPMAXUWZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMAXUWrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMINSBZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMINSBrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMINSDZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMINSDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMIN(C?)SDZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMIN(C?)SDrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMINSWZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMINSWrm")>;
def: InstRW<[SKXWriteResGroup94], (instregex "VPMINUBZ128rm(b?)(k?)(z?)")>;
@ -4547,9 +4547,9 @@ def: InstRW<[SKXWriteResGroup120], (instregex "VPCMPGTWYrm")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAXSBYrm")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAXSBZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAXSBZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAXSDYrm")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAXSDZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAXSDZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAX(C?)SDYrm")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAX(C?)SDZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAX(C?)SDZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAXSWYrm")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAXSWZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMAXSWZrm(b?)(k?)(z?)")>;
@ -4565,9 +4565,9 @@ def: InstRW<[SKXWriteResGroup120], (instregex "VPMAXUWZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMINSBYrm")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMINSBZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMINSBZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMINSDYrm")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMINSDZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMINSDZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMIN(C?)SDYrm")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMIN(C?)SDZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMIN(C?)SDZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMINSWYrm")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMINSWZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup120], (instregex "VPMINSWZrm(b?)(k?)(z?)")>;
@ -5067,10 +5067,10 @@ def: InstRW<[SKXWriteResGroup137], (instregex "ADDSDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "ADDSSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "CMPSSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "CVTPS2PDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MAXSDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MAXSSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MINSDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MINSSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MAX(C?)SDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MAX(C?)SSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MIN(C?)SDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MIN(C?)SSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MMX_CVTPS2PIirm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MMX_CVTTPS2PIirm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "MULSDrm")>;
@ -5107,10 +5107,10 @@ def: InstRW<[SKXWriteResGroup137], (instregex "VFNMSUB213SDm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VFNMSUB213SSm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VFNMSUB231SDm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VFNMSUB231SSm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VMAXSDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VMAXSSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VMINSDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VMINSSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VMAX(C?)SDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VMAX(C?)SSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VMIN(C?)SDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VMIN(C?)SSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VMULSDrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VMULSSrm")>;
def: InstRW<[SKXWriteResGroup137], (instregex "VSUBSDrm")>;
@ -5393,10 +5393,10 @@ def: InstRW<[SKXWriteResGroup149], (instregex "CVTDQ2PSrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "CVTPS2DQrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "CVTSS2SDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "CVTTPS2DQrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "MAXPDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "MAXPSrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "MINPDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "MINPSrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "MAX(C?)PDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "MAX(C?)PSrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "MIN(C?)PDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "MIN(C?)PSrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "MULPDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "MULPSrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "PHMINPOSUWrm128")>;
@ -5554,18 +5554,18 @@ def: InstRW<[SKXWriteResGroup149], (instregex "VGETMANTPDZ128rm(b?)i(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VGETMANTPSZ128rm(b?)i(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VGETMANTSDZ128rmi(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VGETMANTSSZ128rmi(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAXPDZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAXPDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAXPSZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAXPSrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAXSDZrm_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAXSSZrm_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMINPDZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMINPDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMINPSZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMINPSrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMINSDZrm_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMINSSZrm_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAX(C?)PDZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAX(C?)PDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAX(C?)PSZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAX(C?)PSrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAX(C?)SDZrm_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMAX(C?)SSZrm_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMIN(C?)PDZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMIN(C?)PDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMIN(C?)PSZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMIN(C?)PSrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMIN(C?)SDZrm_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMIN(C?)SSZrm_Int(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMULPDZ128rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMULPDrm")>;
def: InstRW<[SKXWriteResGroup149], (instregex "VMULPSZ128rm(b?)(k?)(z?)")>;
@ -5896,18 +5896,18 @@ def: InstRW<[SKXWriteResGroup161], (instregex "VGETMANTPDZ256rm(b?)i(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VGETMANTPDZrm(b?)i(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VGETMANTPSZ256rm(b?)i(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VGETMANTPSZrm(b?)i(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAXPDYrm")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAXPDZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAXPDZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAXPSYrm")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAXPSZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAXPSZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMINPDYrm")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMINPDZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMINPDZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMINPSYrm")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMINPSZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMINPSZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAX(C?)PDYrm")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAX(C?)PDZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAX(C?)PDZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAX(C?)PSYrm")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAX(C?)PSZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMAX(C?)PSZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMIN(C?)PDYrm")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMIN(C?)PDZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMIN(C?)PDZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMIN(C?)PSYrm")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMIN(C?)PSZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMIN(C?)PSZrm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMULPDYrm")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMULPDZ256rm(b?)(k?)(z?)")>;
def: InstRW<[SKXWriteResGroup161], (instregex "VMULPDZrm(b?)(k?)(z?)")>;

View File

@ -2329,8 +2329,8 @@ define <4 x double> @test_maxpd(<4 x double> %a0, <4 x double> %a1, <4 x double>
;
; SKX-LABEL: test_maxpd:
; SKX: # BB#0:
; SKX-NEXT: vmaxpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
; SKX-NEXT: vmaxpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
; SKX-NEXT: vmaxpd %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
; SKX-NEXT: vmaxpd (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKX-NEXT: retq # sched: [7:1.00]
;
; BTVER2-LABEL: test_maxpd:
@ -2384,8 +2384,8 @@ define <8 x float> @test_maxps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a
;
; SKX-LABEL: test_maxps:
; SKX: # BB#0:
; SKX-NEXT: vmaxps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
; SKX-NEXT: vmaxps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
; SKX-NEXT: vmaxps %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
; SKX-NEXT: vmaxps (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKX-NEXT: retq # sched: [7:1.00]
;
; BTVER2-LABEL: test_maxps:
@ -2439,8 +2439,8 @@ define <4 x double> @test_minpd(<4 x double> %a0, <4 x double> %a1, <4 x double>
;
; SKX-LABEL: test_minpd:
; SKX: # BB#0:
; SKX-NEXT: vminpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
; SKX-NEXT: vminpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
; SKX-NEXT: vminpd %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
; SKX-NEXT: vminpd (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKX-NEXT: retq # sched: [7:1.00]
;
; BTVER2-LABEL: test_minpd:
@ -2494,8 +2494,8 @@ define <8 x float> @test_minps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a
;
; SKX-LABEL: test_minps:
; SKX: # BB#0:
; SKX-NEXT: vminps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
; SKX-NEXT: vminps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
; SKX-NEXT: vminps %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
; SKX-NEXT: vminps (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKX-NEXT: retq # sched: [7:1.00]
;
; BTVER2-LABEL: test_minps:

View File

@ -1305,8 +1305,8 @@ define <4 x float> @test_maxps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a
;
; SKX-LABEL: test_maxps:
; SKX: # BB#0:
; SKX-NEXT: vmaxps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
; SKX-NEXT: vmaxps (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
; SKX-NEXT: vmaxps %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
; SKX-NEXT: vmaxps (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKX-NEXT: retq # sched: [7:1.00]
;
; BTVER2-LABEL: test_maxps:
@ -1439,8 +1439,8 @@ define <4 x float> @test_minps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a
;
; SKX-LABEL: test_minps:
; SKX: # BB#0:
; SKX-NEXT: vminps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
; SKX-NEXT: vminps (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
; SKX-NEXT: vminps %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
; SKX-NEXT: vminps (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKX-NEXT: retq # sched: [7:1.00]
;
; BTVER2-LABEL: test_minps:

View File

@ -2303,8 +2303,8 @@ define <2 x double> @test_maxpd(<2 x double> %a0, <2 x double> %a1, <2 x double>
;
; SKX-LABEL: test_maxpd:
; SKX: # BB#0:
; SKX-NEXT: vmaxpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
; SKX-NEXT: vmaxpd (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
; SKX-NEXT: vmaxpd %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
; SKX-NEXT: vmaxpd (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKX-NEXT: retq # sched: [7:1.00]
;
; BTVER2-LABEL: test_maxpd:
@ -2437,8 +2437,8 @@ define <2 x double> @test_minpd(<2 x double> %a0, <2 x double> %a1, <2 x double>
;
; SKX-LABEL: test_minpd:
; SKX: # BB#0:
; SKX-NEXT: vminpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
; SKX-NEXT: vminpd (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
; SKX-NEXT: vminpd %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
; SKX-NEXT: vminpd (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKX-NEXT: retq # sched: [7:1.00]
;
; BTVER2-LABEL: test_minpd: