File tree Expand file tree Collapse file tree 3 files changed +306
-0
lines changed Expand file tree Collapse file tree 3 files changed +306
-0
lines changed Original file line number Diff line number Diff line change @@ -201,6 +201,12 @@ namespace olympia
201
201
if (SPARTA_EXPECT_FALSE (ex_inst.getPipe () == InstArchInfo::TargetPipe::SYS))
202
202
{
203
203
retireSysInst_ (ex_inst_ptr);
204
+ // Fix for Issue #253
205
+ // If a flush is caused by retiring sys inst, then retire no more!
206
+ if (expect_flush_ == true ) {
207
+ break ;
208
+ }
209
+
204
210
}
205
211
}
206
212
else
Original file line number Diff line number Diff line change @@ -56,6 +56,10 @@ sparta_named_test(olympia_json_test_missing_opcodes olympia
56
56
sparta_named_test (olympia_json_test_fp_transfers olympia
57
57
--workload json_tests/fp_transfers.json )
58
58
59
+ # Test sys retire under flush (#253)
60
+ sparta_named_test (olympia_json_test_sys_retire_under_flush_issue_253 olympia
61
+ --workload json_tests/sys_flush_test.json --arch ../arches/big_core.yaml )
62
+
59
63
# Test PEvent generation
60
64
sparta_named_test (olympia_json_test_pevents olympia
61
65
--workload traces/dhry_riscv.zstf -i100k
Original file line number Diff line number Diff line change
1
+ [
2
+ {
3
+ "CSR" : 140 ,
4
+ "mnemonic" : " csrrs" ,
5
+ "rs1" : 18 ,
6
+ "rs2" : 0
7
+ },
8
+ {
9
+ "mnemonic" : " mul" ,
10
+ "rd" : 3 ,
11
+ "rs1" : 5 ,
12
+ "rs2" : 2
13
+ },
14
+ {
15
+ "mnemonic" : " mul" ,
16
+ "rd" : 3 ,
17
+ "rs1" : 5 ,
18
+ "rs2" : 2
19
+ },
20
+ {
21
+ "mnemonic" : " mul" ,
22
+ "rd" : 3 ,
23
+ "rs1" : 5 ,
24
+ "rs2" : 2
25
+ },
26
+ {
27
+ "mnemonic" : " mul" ,
28
+ "rd" : 3 ,
29
+ "rs1" : 5 ,
30
+ "rs2" : 2
31
+ },
32
+ {
33
+ "mnemonic" : " mul" ,
34
+ "rd" : 3 ,
35
+ "rs1" : 5 ,
36
+ "rs2" : 2
37
+ },
38
+ {
39
+ "mnemonic" : " mul" ,
40
+ "rd" : 3 ,
41
+ "rs1" : 5 ,
42
+ "rs2" : 2
43
+ },
44
+ {
45
+ "mnemonic" : " mul" ,
46
+ "rd" : 3 ,
47
+ "rs1" : 5 ,
48
+ "rs2" : 2
49
+ },
50
+ {
51
+ "mnemonic" : " mul" ,
52
+ "rd" : 3 ,
53
+ "rs1" : 5 ,
54
+ "rs2" : 2
55
+ },
56
+ {
57
+ "CSR" : 140 ,
58
+ "mnemonic" : " csrrs" ,
59
+ "rs1" : 18 ,
60
+ "rs2" : 0
61
+ },
62
+ {
63
+ "CSR" : 141 ,
64
+ "mnemonic" : " csrrs" ,
65
+ "rs1" : 18 ,
66
+ "rs2" : 0
67
+ },
68
+ {
69
+ "CSR" : 142 ,
70
+ "mnemonic" : " csrrs" ,
71
+ "rs1" : 18 ,
72
+ "rs2" : 0
73
+ },
74
+ {
75
+ "CSR" : 143 ,
76
+ "mnemonic" : " csrrs" ,
77
+ "rs1" : 18 ,
78
+ "rs2" : 0
79
+ },
80
+ {
81
+ "CSR" : 144 ,
82
+ "mnemonic" : " csrrs" ,
83
+ "rs1" : 18 ,
84
+ "rs2" : 0
85
+ },
86
+ {
87
+ "mnemonic" : " mul" ,
88
+ "rd" : 3 ,
89
+ "rs1" : 5 ,
90
+ "rs2" : 2
91
+ },
92
+ {
93
+ "mnemonic" : " mul" ,
94
+ "rd" : 3 ,
95
+ "rs1" : 5 ,
96
+ "rs2" : 2
97
+ },
98
+ {
99
+ "mnemonic" : " mul" ,
100
+ "rd" : 3 ,
101
+ "rs1" : 5 ,
102
+ "rs2" : 2
103
+ },
104
+ {
105
+ "mnemonic" : " mul" ,
106
+ "rd" : 3 ,
107
+ "rs1" : 5 ,
108
+ "rs2" : 2
109
+ },
110
+ {
111
+ "mnemonic" : " mul" ,
112
+ "rd" : 3 ,
113
+ "rs1" : 5 ,
114
+ "rs2" : 2
115
+ },
116
+ {
117
+ "mnemonic" : " mul" ,
118
+ "rd" : 3 ,
119
+ "rs1" : 5 ,
120
+ "rs2" : 2
121
+ },
122
+ {
123
+ "mnemonic" : " mul" ,
124
+ "rd" : 3 ,
125
+ "rs1" : 5 ,
126
+ "rs2" : 2
127
+ },
128
+ {
129
+ "mnemonic" : " mul" ,
130
+ "rd" : 3 ,
131
+ "rs1" : 5 ,
132
+ "rs2" : 2
133
+ },
134
+ {
135
+ "mnemonic" : " mul" ,
136
+ "rd" : 3 ,
137
+ "rs1" : 5 ,
138
+ "rs2" : 2
139
+ },
140
+ {
141
+ "mnemonic" : " mul" ,
142
+ "rd" : 3 ,
143
+ "rs1" : 5 ,
144
+ "rs2" : 2
145
+ },
146
+ {
147
+ "mnemonic" : " mul" ,
148
+ "rd" : 3 ,
149
+ "rs1" : 5 ,
150
+ "rs2" : 2
151
+ },
152
+ {
153
+ "mnemonic" : " mul" ,
154
+ "rd" : 3 ,
155
+ "rs1" : 5 ,
156
+ "rs2" : 2
157
+ },
158
+ {
159
+ "mnemonic" : " mul" ,
160
+ "rd" : 3 ,
161
+ "rs1" : 5 ,
162
+ "rs2" : 2
163
+ },
164
+ {
165
+ "mnemonic" : " mul" ,
166
+ "rd" : 3 ,
167
+ "rs1" : 5 ,
168
+ "rs2" : 2
169
+ },
170
+ {
171
+ "mnemonic" : " mul" ,
172
+ "rd" : 3 ,
173
+ "rs1" : 5 ,
174
+ "rs2" : 2
175
+ },
176
+ {
177
+ "mnemonic" : " mul" ,
178
+ "rd" : 3 ,
179
+ "rs1" : 5 ,
180
+ "rs2" : 2
181
+ },
182
+ {
183
+ "mnemonic" : " mul" ,
184
+ "rd" : 3 ,
185
+ "rs1" : 5 ,
186
+ "rs2" : 2
187
+ },
188
+ {
189
+ "mnemonic" : " mul" ,
190
+ "rd" : 3 ,
191
+ "rs1" : 5 ,
192
+ "rs2" : 2
193
+ },
194
+ {
195
+ "mnemonic" : " mul" ,
196
+ "rd" : 3 ,
197
+ "rs1" : 5 ,
198
+ "rs2" : 2
199
+ },
200
+ {
201
+ "mnemonic" : " mul" ,
202
+ "rd" : 3 ,
203
+ "rs1" : 5 ,
204
+ "rs2" : 2
205
+ },
206
+ {
207
+ "mnemonic" : " mul" ,
208
+ "rd" : 3 ,
209
+ "rs1" : 5 ,
210
+ "rs2" : 2
211
+ },
212
+ {
213
+ "mnemonic" : " mul" ,
214
+ "rd" : 3 ,
215
+ "rs1" : 5 ,
216
+ "rs2" : 2
217
+ },
218
+ {
219
+ "mnemonic" : " mul" ,
220
+ "rd" : 3 ,
221
+ "rs1" : 5 ,
222
+ "rs2" : 2
223
+ },
224
+ {
225
+ "mnemonic" : " mul" ,
226
+ "rd" : 3 ,
227
+ "rs1" : 5 ,
228
+ "rs2" : 2
229
+ },
230
+ {
231
+ "mnemonic" : " mul" ,
232
+ "rd" : 3 ,
233
+ "rs1" : 5 ,
234
+ "rs2" : 2
235
+ },
236
+ {
237
+ "mnemonic" : " mul" ,
238
+ "rd" : 3 ,
239
+ "rs1" : 5 ,
240
+ "rs2" : 2
241
+ },
242
+ {
243
+ "mnemonic" : " mul" ,
244
+ "rd" : 3 ,
245
+ "rs1" : 5 ,
246
+ "rs2" : 2
247
+ },
248
+ {
249
+ "mnemonic" : " mul" ,
250
+ "rd" : 3 ,
251
+ "rs1" : 5 ,
252
+ "rs2" : 2
253
+ },
254
+ {
255
+ "mnemonic" : " mul" ,
256
+ "rd" : 3 ,
257
+ "rs1" : 5 ,
258
+ "rs2" : 2
259
+ },
260
+ {
261
+ "mnemonic" : " mul" ,
262
+ "rd" : 3 ,
263
+ "rs1" : 5 ,
264
+ "rs2" : 2
265
+ },
266
+ {
267
+ "mnemonic" : " mul" ,
268
+ "rd" : 3 ,
269
+ "rs1" : 5 ,
270
+ "rs2" : 2
271
+ },
272
+ {
273
+ "mnemonic" : " mul" ,
274
+ "rd" : 3 ,
275
+ "rs1" : 5 ,
276
+ "rs2" : 2
277
+ },
278
+ {
279
+ "mnemonic" : " mul" ,
280
+ "rd" : 3 ,
281
+ "rs1" : 5 ,
282
+ "rs2" : 2
283
+ },
284
+ {
285
+ "mnemonic" : " mul" ,
286
+ "rd" : 3 ,
287
+ "rs1" : 5 ,
288
+ "rs2" : 2
289
+ },
290
+ {
291
+ "mnemonic" : " mul" ,
292
+ "rd" : 3 ,
293
+ "rs1" : 5 ,
294
+ "rs2" : 2
295
+ }
296
+ ]
You can’t perform that action at this time.
0 commit comments