@@ -41,7 +41,6 @@ def p8700WriteEitherALU : ProcResGroup<[p8700ALQ, p8700IssueAL2]>;
41
41
def p8700GpDiv : ProcResource<1>;
42
42
def p8700GpMul : ProcResource<1>;
43
43
44
- let Latency = 1 in {
45
44
def : WriteRes<WriteIALU, [p8700WriteEitherALU]>;
46
45
def : WriteRes<WriteIALU32, [p8700WriteEitherALU]>;
47
46
def : WriteRes<WriteShiftImm, [p8700WriteEitherALU]>;
@@ -52,7 +51,6 @@ def : WriteRes<WriteShiftReg32, [p8700WriteEitherALU]>;
52
51
// Handle zba.
53
52
def : WriteRes<WriteSHXADD, [p8700WriteEitherALU]>;
54
53
def : WriteRes<WriteSHXADD32, [p8700WriteEitherALU]>;
55
- }
56
54
57
55
// Handle zbb.
58
56
let Latency = 2 in {
@@ -63,15 +61,13 @@ def : WriteRes<WriteCLZ32, [p8700IssueAL2]>;
63
61
def : WriteRes<WriteCTZ32, [p8700IssueAL2]>;
64
62
def : WriteRes<WriteCPOP32, [p8700IssueAL2]>;
65
63
}
66
- let Latency = 1 in {
67
64
def : WriteRes<WriteRotateReg, [p8700WriteEitherALU]>;
68
65
def : WriteRes<WriteRotateImm, [p8700WriteEitherALU]>;
69
66
def : WriteRes<WriteRotateReg32, [p8700WriteEitherALU]>;
70
67
def : WriteRes<WriteRotateImm32, [p8700WriteEitherALU]>;
71
68
def : WriteRes<WriteREV8, [p8700WriteEitherALU]>;
72
69
def : WriteRes<WriteORCB, [p8700WriteEitherALU]>;
73
70
def : WriteRes<WriteIMinMax, [p8700WriteEitherALU]>;
74
- }
75
71
76
72
let Latency = 0 in {
77
73
def : WriteRes<WriteNop, [p8700WriteEitherALU]>;
@@ -104,10 +100,8 @@ def : WriteRes<WriteAtomicSTW, [p8700IssueLSU]>;
104
100
def : WriteRes<WriteAtomicSTD, [p8700IssueLSU]>;
105
101
}
106
102
107
- let Latency = 1 in {
108
103
def : WriteRes<WriteFST32, [p8700IssueLSU]>;
109
104
def : WriteRes<WriteFST64, [p8700IssueLSU]>;
110
- }
111
105
112
106
let Latency = 7 in {
113
107
def : WriteRes<WriteFMovI32ToF32, [p8700IssueLSU]>;
@@ -121,7 +115,7 @@ def : WriteRes<WriteIMul, [p8700GpMul]>;
121
115
def : WriteRes<WriteIMul32, [p8700GpMul]>;
122
116
}
123
117
124
- let Latency = 8 , ReleaseAtCycles = [5 ] in {
118
+ let Latency = 7 , ReleaseAtCycles = [7 ] in {
125
119
def : WriteRes<WriteIDiv, [p8700GpDiv]>;
126
120
def : WriteRes<WriteIDiv32, [p8700GpDiv]>;
127
121
}
@@ -132,10 +126,8 @@ def : WriteRes<WriteIRem, []>;
132
126
def : WriteRes<WriteIRem32, []>;
133
127
134
128
// Handle CTI Pipeline.
135
- let Latency = 1 in {
136
129
def : WriteRes<WriteJmp, [p8700IssueCTI]>;
137
130
def : WriteRes<WriteJalr, [p8700IssueCTI]>;
138
- }
139
131
let Latency = 2 in {
140
132
def : WriteRes<WriteJal, [p8700IssueCTI]>;
141
133
def : WriteRes<WriteJalr, [p8700IssueCTI]>;
@@ -145,8 +137,8 @@ def : WriteRes<WriteJalr, [p8700IssueCTI]>;
145
137
def p8700FPQ : ProcResource<3> { let BufferSize = 16; }
146
138
def p8700IssueFPUS : ProcResource<1> { let Super = p8700FPQ; }
147
139
def p8700IssueFPUL : ProcResource<1> { let Super = p8700FPQ; }
148
- def p8700FpuApu : ProcResource<1>;
149
- def p8700FpuLong : ProcResource<1>;
140
+ def p8700FpuApu : ProcResource<1>;
141
+ def p8700FpuLong : ProcResource<1>;
150
142
151
143
let Latency = 4 in {
152
144
def : WriteRes<WriteFCvtI32ToF32, [p8700IssueFPUL, p8700FpuApu]>;
0 commit comments