Skip to content

Commit 53edf45

Browse files
authored
[PowerPC] Remove HTM instruction from P10 SchedModel (#69579)
Power10 does not support Hardware Transactional Memory instructions. Remove to keep consistency.
1 parent 2ef370b commit 53edf45

File tree

2 files changed

+6
-17
lines changed

2 files changed

+6
-17
lines changed

llvm/lib/Target/PowerPC/P10InstrResources.td

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -825,19 +825,15 @@ def : InstRW<[P10W_F2_4C, P10W_DISP_ANY, P10F2_Read, P10F2_Read, P10F2_Read],
825825
def : InstRW<[P10W_F2_4C, P10W_DISP_EVEN, P10W_DISP_ANY, P10F2_Read],
826826
(instrs
827827
SRADI_rec,
828-
SRAWI_rec,
829-
TABORTDCI,
830-
TABORTWCI
828+
SRAWI_rec
831829
)>;
832830

833831
// Single crack instructions
834832
// 4 Cycles ALU2 operations, 2 input operands
835833
def : InstRW<[P10W_F2_4C, P10W_DISP_EVEN, P10W_DISP_ANY, P10F2_Read, P10F2_Read],
836834
(instrs
837835
SRAD_rec,
838-
SRAW_rec,
839-
TABORTDC,
840-
TABORTWC
836+
SRAW_rec
841837
)>;
842838

843839
// 2-way crack instructions
@@ -1130,10 +1126,7 @@ def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_DISP_ANY],
11301126
MFFSCRNI,
11311127
MFFSL,
11321128
MFVSCR,
1133-
MTFSB0,
1134-
TBEGIN,
1135-
TRECHKPT,
1136-
TSR
1129+
MTFSB0
11371130
)>;
11381131

11391132
// Single crack instructions
@@ -1153,9 +1146,7 @@ def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10FX_Read],
11531146
SUBFME8_rec, SUBFME_rec,
11541147
SUBFME8O_rec, SUBFMEO_rec,
11551148
SUBFZE8_rec, SUBFZE_rec,
1156-
SUBFZE8O_rec, SUBFZEO_rec,
1157-
TABORT,
1158-
TRECLAIM
1149+
SUBFZE8O_rec, SUBFZEO_rec
11591150
)>;
11601151

11611152
// Single crack instructions
@@ -1862,8 +1853,6 @@ def : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_DISP_ANY],
18621853
EnforceIEIO,
18631854
MSGSYNC,
18641855
SLBSYNC,
1865-
TCHECK,
1866-
TEND,
18671856
TLBSYNC
18681857
)>;
18691858

llvm/lib/Target/PowerPC/PPCScheduleP10.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ def P10Model : SchedMachineModel {
2929
let LoopMicroOpBufferSize = 60;
3030
let CompleteModel = 1;
3131

32-
// Do not support SPE (Signal Procesing Engine) on Power 10.
33-
let UnsupportedFeatures = [HasSPE, IsE500, IsBookE, IsISAFuture];
32+
// Power 10 does not support instructions from SPE, Book E and HTM.
33+
let UnsupportedFeatures = [HasSPE, IsE500, IsBookE, IsISAFuture, HasHTM];
3434
}
3535

3636
let SchedModel = P10Model in {

0 commit comments

Comments
 (0)