Skip to content

Commit 3182ea4

Browse files
committed
[X86] Tweak Alderlake instregex to match CodeGen-only and public scalar instruction ops
As detailed on #58792 the _Int postfix needs to be optional in the instregex to match both instructions - fixes mismatch warnings on a scheduler model verifier I'm working on
1 parent da2366d commit 3182ea4

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

llvm/lib/Target/X86/X86SchedAlderlakeP.td

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -590,12 +590,12 @@ def ADLPWriteResGroup8 : SchedWriteRes<[ADLPPort01_05, ADLPPort02_03_11]> {
590590
let Latency = 10;
591591
let NumMicroOps = 2;
592592
}
593-
def : InstRW<[ADLPWriteResGroup8, ReadAfterVecLd], (instregex "^(V?)(ADD|SUB)SSrm_Int$")>;
593+
def : InstRW<[ADLPWriteResGroup8, ReadAfterVecLd], (instregex "^(V?)(ADD|SUB)SSrm(_Int)?$")>;
594594

595595
def ADLPWriteResGroup9 : SchedWriteRes<[ADLPPort01_05]> {
596596
let Latency = 3;
597597
}
598-
def : InstRW<[ADLPWriteResGroup9], (instregex "^(V?)(ADD|SUB)SSrr_Int$")>;
598+
def : InstRW<[ADLPWriteResGroup9], (instregex "^(V?)(ADD|SUB)SSrr(_Int)?$")>;
599599

600600
def ADLPWriteResGroup10 : SchedWriteRes<[ADLPPort02_03, ADLPPort05]> {
601601
let ResourceCycles = [1, 2];
@@ -777,26 +777,26 @@ def ADLPWriteResGroup35 : SchedWriteRes<[ADLPPort00, ADLPPort00_01, ADLPPort02_0
777777
let Latency = 26;
778778
let NumMicroOps = 3;
779779
}
780-
def : InstRW<[ADLPWriteResGroup35], (instregex "^(V?)CVT(T?)SD2SIrm_Int$")>;
780+
def : InstRW<[ADLPWriteResGroup35], (instregex "^(V?)CVT(T?)SD2SIrm(_Int)?$")>;
781781

782782
def ADLPWriteResGroup36 : SchedWriteRes<[ADLPPort00_01, ADLPPort02_03_11, ADLPPort05]> {
783783
let Latency = 12;
784784
let NumMicroOps = 3;
785785
}
786-
def : InstRW<[ADLPWriteResGroup36, ReadAfterVecLd], (instregex "^(V?)CVTSI642SSrm_Int$")>;
786+
def : InstRW<[ADLPWriteResGroup36, ReadAfterVecLd], (instregex "^(V?)CVTSI642SSrm(_Int)?$")>;
787787

788788
def ADLPWriteResGroup37 : SchedWriteRes<[ADLPPort00_01, ADLPPort05]> {
789789
let ResourceCycles = [1, 2];
790790
let Latency = 8;
791791
let NumMicroOps = 3;
792792
}
793-
def : InstRW<[ADLPWriteResGroup37, ReadDefault, ReadInt2Fpu], (instregex "^(V?)CVTSI642SSrr_Int$")>;
793+
def : InstRW<[ADLPWriteResGroup37, ReadDefault, ReadInt2Fpu], (instregex "^(V?)CVTSI642SSrr(_Int)?$")>;
794794

795795
def ADLPWriteResGroup38 : SchedWriteRes<[ADLPPort00, ADLPPort00_01, ADLPPort05]> {
796796
let Latency = 8;
797797
let NumMicroOps = 3;
798798
}
799-
def : InstRW<[ADLPWriteResGroup38], (instregex "^(V?)CVT(T?)SS2SI64rr_Int$")>;
799+
def : InstRW<[ADLPWriteResGroup38], (instregex "^(V?)CVT(T?)SS2SI64rr(_Int)?$")>;
800800

801801
def ADLPWriteResGroup39 : SchedWriteRes<[ADLPPort00_01_05_06_10, ADLPPort00_06]> {
802802
let Latency = 2;
@@ -829,12 +829,12 @@ def ADLPWriteResGroup43 : SchedWriteRes<[ADLPPort00, ADLPPort02_03_11]> {
829829
let Latency = 18;
830830
let NumMicroOps = 2;
831831
}
832-
def : InstRW<[ADLPWriteResGroup43, ReadAfterVecLd], (instregex "^(V?)DIVSSrm_Int$")>;
832+
def : InstRW<[ADLPWriteResGroup43, ReadAfterVecLd], (instregex "^(V?)DIVSSrm(_Int)?$")>;
833833

834834
def ADLPWriteResGroup44 : SchedWriteRes<[ADLPPort00]> {
835835
let Latency = 11;
836836
}
837-
def : InstRW<[ADLPWriteResGroup44], (instregex "^(V?)DIVSSrr_Int$")>;
837+
def : InstRW<[ADLPWriteResGroup44], (instregex "^(V?)DIVSSrr(_Int)?$")>;
838838

839839
def ADLPWriteResGroup45 : SchedWriteRes<[ADLPPort00, ADLPPort02_03]> {
840840
let Latency = 22;
@@ -1568,7 +1568,7 @@ def : InstRW<[ADLPWriteResGroup154], (instrs MOVSX64rm32)>;
15681568
def ADLPWriteResGroup155 : SchedWriteRes<[ADLPPort00_01]> {
15691569
let Latency = 4;
15701570
}
1571-
def : InstRW<[ADLPWriteResGroup155], (instregex "^(V?)MULSSrr_Int$")>;
1571+
def : InstRW<[ADLPWriteResGroup155], (instregex "^(V?)MULSSrr(_Int)?$")>;
15721572

15731573
def ADLPWriteResGroup156 : SchedWriteRes<[ADLPPort00, ADLPPort02_03]> {
15741574
let Latency = 11;

0 commit comments

Comments
 (0)