Skip to content
This repository was archived by the owner on Sep 2, 2018. It is now read-only.

Commit d5d412e

Browse files
committed
[SystemZ] Fixes in SchedModels for older subtargets.
IssueWidth updated to reflect the capacity of the issue unit correctly. Correct number of FX and LS units modelled (2, was 1). Review: Ulrich Weigand git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286109 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 4438f46 commit d5d412e

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

lib/Target/SystemZ/SystemZScheduleZ13.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def Z13Model : SchedMachineModel {
1616

1717
let UnsupportedFeatures = Arch11UnsupportedFeatures.List;
1818

19-
let IssueWidth = 6; // 2 * 3 instructions decoded per cycle.
19+
let IssueWidth = 8;
2020
let MicroOpBufferSize = 60; // Issue queues
2121
let LoadLatency = 1; // Optimistic load latency.
2222

lib/Target/SystemZ/SystemZScheduleZ196.td

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def Z196Model : SchedMachineModel {
1616

1717
let UnsupportedFeatures = Arch9UnsupportedFeatures.List;
1818

19-
let IssueWidth = 3; // 3 instructions decoded per cycle.
19+
let IssueWidth = 5;
2020
let MicroOpBufferSize = 40; // Issue queues
2121
let LoadLatency = 1; // Optimistic load latency.
2222

@@ -56,8 +56,8 @@ def : WriteRes<Lat20, []> { let Latency = 20; let NumMicroOps = 0;}
5656
def : WriteRes<Lat30, []> { let Latency = 30; let NumMicroOps = 0;}
5757

5858
// Execution units.
59-
def Z196_FXUnit : ProcResource<1>;
60-
def Z196_LSUnit : ProcResource<1>;
59+
def Z196_FXUnit : ProcResource<2>;
60+
def Z196_LSUnit : ProcResource<2>;
6161
def Z196_FPUnit : ProcResource<1>;
6262

6363
// Subtarget specific definitions of scheduling resources.

lib/Target/SystemZ/SystemZScheduleZEC12.td

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def ZEC12Model : SchedMachineModel {
1616

1717
let UnsupportedFeatures = Arch10UnsupportedFeatures.List;
1818

19-
let IssueWidth = 3; // 3 instructions decoded per cycle.
19+
let IssueWidth = 5;
2020
let MicroOpBufferSize = 40; // Issue queues
2121
let LoadLatency = 1; // Optimistic load latency.
2222

@@ -56,10 +56,10 @@ def : WriteRes<Lat20, []> { let Latency = 20; let NumMicroOps = 0;}
5656
def : WriteRes<Lat30, []> { let Latency = 30; let NumMicroOps = 0;}
5757

5858
// Execution units.
59-
def ZEC12_VBUnit : ProcResource<1>;
60-
def ZEC12_FXUnit : ProcResource<1>;
61-
def ZEC12_LSUnit : ProcResource<1>;
59+
def ZEC12_FXUnit : ProcResource<2>;
60+
def ZEC12_LSUnit : ProcResource<2>;
6261
def ZEC12_FPUnit : ProcResource<1>;
62+
def ZEC12_VBUnit : ProcResource<1>;
6363

6464
// Subtarget specific definitions of scheduling resources.
6565
def : WriteRes<FXU, [ZEC12_FXUnit]> { let Latency = 1; }

0 commit comments

Comments
 (0)