Skip to content

Commit 6bad83a

Browse files
committed
Update SystemZScheduleZ17.td
1 parent fd0f04c commit 6bad83a

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

llvm/lib/Target/SystemZ/SystemZScheduleZ17.td

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -827,12 +827,12 @@ def : InstRW<[], (instregex "Insn.*")>;
827827
//===----------------------------------------------------------------------===//
828828

829829
// Load zero
830-
def : InstRW<[WLat1, FXb, NormalGr], (instregex "LZ(DR|ER)$")>;
830+
def : InstRW<[WLat1, FXb, NormalGr], (instregex "LZ(DR|ER|ER_16)$")>;
831831
def : InstRW<[WLat2, FXb2, Cracked], (instregex "LZXR$")>;
832832

833833
// Load
834-
def : InstRW<[WLat2, VecXsPm, NormalGr], (instregex "LER$")>;
835-
def : InstRW<[WLat1, FXb, NormalGr], (instregex "LD(R|R32|GR)$")>;
834+
def : InstRW<[WLat2, VecXsPm, NormalGr], (instregex "LER(16)?$")>;
835+
def : InstRW<[WLat1, FXb, NormalGr], (instregex "LD(R|R16|R32|GR)$")>;
836836
def : InstRW<[WLat3, FXb, NormalGr], (instregex "LGDR$")>;
837837
def : InstRW<[WLat2, FXb2, GroupAlone], (instregex "LXR$")>;
838838

@@ -841,21 +841,21 @@ def : InstRW<[WLat3, WLat3, VecXsPm, NormalGr], (instregex "LT(E|D)BR$")>;
841841
def : InstRW<[WLat10, WLat10, VecDF4, GroupAlone], (instregex "LTXBR$")>;
842842

843843
// Copy sign
844-
def : InstRW<[WLat2, VecXsPm, NormalGr], (instregex "CPSDR(d|s)(d|s)$")>;
844+
def : InstRW<[WLat2, VecXsPm, NormalGr], (instregex "CPSDR(d|s|h)(d|s|h)$")>;
845845

846846
//===----------------------------------------------------------------------===//
847847
// FP: Load instructions
848848
//===----------------------------------------------------------------------===//
849849

850-
def : InstRW<[WLat2LSU, VecXsPm, LSU, NormalGr], (instregex "LE(Y)?$")>;
850+
def : InstRW<[WLat2LSU, VecXsPm, LSU, NormalGr], (instregex "L(E16|E)(Y)?$")>;
851851
def : InstRW<[LSULatency, LSU, NormalGr], (instregex "LD(Y|E32)?$")>;
852852
def : InstRW<[LSULatency, LSU, NormalGr], (instregex "LX$")>;
853853

854854
//===----------------------------------------------------------------------===//
855855
// FP: Store instructions
856856
//===----------------------------------------------------------------------===//
857857

858-
def : InstRW<[WLat1, FXb, LSU, NormalGr], (instregex "ST(E|D)(Y)?$")>;
858+
def : InstRW<[WLat1, FXb, LSU, NormalGr], (instregex "ST(E16|E|D)(Y)?$")>;
859859
def : InstRW<[WLat1, FXb, LSU, NormalGr], (instregex "STX$")>;
860860

861861
//===----------------------------------------------------------------------===//
@@ -894,7 +894,7 @@ def : InstRW<[WLat12, WLat12, FXb, VecDF2, Cracked], (instregex "CL(F|G)XBR$")>;
894894

895895
// Load Complement / Negative / Positive
896896
def : InstRW<[WLat3, WLat3, VecXsPm, NormalGr], (instregex "L(C|N|P)(E|D)BR$")>;
897-
def : InstRW<[WLat1, FXb, NormalGr], (instregex "L(C|N|P)DFR(_32)?$")>;
897+
def : InstRW<[WLat1, FXb, NormalGr], (instregex "L(C|N|P)DFR(_32|_16)?$")>;
898898
def : InstRW<[WLat10, WLat10, VecDF4, GroupAlone], (instregex "L(C|N|P)XBR$")>;
899899

900900
// Square root
@@ -1252,7 +1252,7 @@ def : InstRW<[WLat2, VecXsPm, NormalGr], (instregex "VLEI(B|F|G|H)$")>;
12521252

12531253
def : InstRW<[LSULatency, LSU, NormalGr], (instregex "VL(Align)?$")>;
12541254
def : InstRW<[LSULatency, LSU, NormalGr], (instregex "VL(L|BB)$")>;
1255-
def : InstRW<[LSULatency, LSU, NormalGr], (instregex "VL(32|64)$")>;
1255+
def : InstRW<[LSULatency, LSU, NormalGr], (instregex "VL(16|32|64)$")>;
12561256
def : InstRW<[LSULatency, LSU, NormalGr], (instregex "VLLEZ(B|F|G|H|LF)?$")>;
12571257
def : InstRW<[LSULatency, LSU, NormalGr], (instregex "VLREP(B|F|G|H)?$")>;
12581258
def : InstRW<[WLat2LSU, RegReadAdv, VecXsPm, LSU, NormalGr],
@@ -1267,7 +1267,7 @@ def : InstRW<[LSULatency, LSU, NormalGr], (instregex "VLRL(R)?$")>;
12671267
// Vector: Stores
12681268
//===----------------------------------------------------------------------===//
12691269

1270-
def : InstRW<[WLat1, FXb, LSU, NormalGr], (instregex "VST(Align|L|32|64)?$")>;
1270+
def : InstRW<[WLat1, FXb, LSU, NormalGr], (instregex "VST(Align|L|16|32|64)?$")>;
12711271
def : InstRW<[WLat1, FXb, LSU, NormalGr], (instregex "VSTE(F|G)$")>;
12721272
def : InstRW<[WLat1, FXb, LSU, VecXsPm, Cracked], (instregex "VSTE(B|H)$")>;
12731273
def : InstRW<[WLat1, LSU2, FXb3, GroupAlone2], (instregex "VSTM(Align)?$")>;
@@ -1520,8 +1520,8 @@ def : InstRW<[WLat3, VecDFX, NormalGr], (instregex "WF(C|K)XB$")>;
15201520
// Vector: Floating-point insertion and extraction
15211521
//===----------------------------------------------------------------------===//
15221522

1523-
def : InstRW<[WLat1, FXb, NormalGr], (instregex "LEFR$")>;
1524-
def : InstRW<[WLat3, FXb, NormalGr], (instregex "LFER$")>;
1523+
def : InstRW<[WLat1, FXb, NormalGr], (instregex "LEFR(_16)?$")>;
1524+
def : InstRW<[WLat3, FXb, NormalGr], (instregex "LFER(_16)?$")>;
15251525

15261526
//===----------------------------------------------------------------------===//
15271527
// Vector: String instructions

0 commit comments

Comments
 (0)