xref: /llvm-project/llvm/test/tools/llvm-mca/RISCV/XiangShan/gpr-bypass.s (revision 373d9d72145cd40c9dc00abefd14632763a2987b)
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=riscv64 -mcpu=xiangshan-nanhu -timeline \
3# RUN:   -timeline-max-cycles=1000 -iterations=1 < %s | FileCheck %s
4
5lui a0, 1
6auipc a1, 1
7add a0, a0, a1
8addi a0, a0, 1
9addw a0, a0, a0
10addiw a0, a0, 1
11sub a0, a0, a0
12subw a0, a0, a0
13and a0, a0, a0
14andi a0, a0, 1
15or a0, a0, a0
16ori a0, a0, 1
17xor a0, a0, a0
18xori a0, a0, 1
19sll a0, a0, a0
20slli a0, a0, 1
21sllw a0, a0, a0
22slliw a0, a0, 1
23srl a0, a0, a0
24srli a0, a0, 1
25srlw a0, a0, a0
26srliw a0, a0, 1
27sra a0, a0, a0
28srai a0, a0, 1
29sraw a0, a0, a0
30sraiw a0, a0, 1
31slt a0, a0, a0
32slti a0, a0, 1
33sltu a0, a0, a0
34sltiu a0, a0, 1
35mul a0, a0, a0
36add a0, a0, a0
37mulw a0, a0, a0
38add a0, a0, a0
39beq a0, a0, 1f
401:
41add a0, a0, a0
42bne a0, a0, 1f
431:
44add a0, a0, a0
45blt a0, a0, 1f
461:
47add a0, a0, a0
48bltu a0, a0, 1f
491:
50add a0, a0, a0
51bge a0, a0, 1f
521:
53add a0, a0, a0
54bgeu a0, a0, 1f
551:
56# zba
57add.uw a0, a0, a0
58slli.uw a0, a0, 1
59sh1add.uw a0, a0, a0
60sh2add.uw a0, a0, a0
61sh3add.uw a0, a0, a0
62sh1add a0, a0, a0
63sh2add a0, a0, a0
64sh3add a0, a0, a0
65# zbb
66andn a0, a0, a0
67orn a0, a0, a0
68xnor a0, a0, a0
69sext.b a0, a0
70sext.h a0, a0
71zext.h a0, a0
72min a0, a0, a0
73minu a0, a0, a0
74max a0, a0, a0
75maxu a0, a0, a0
76rol a0, a0, a0
77ror a0, a0, a0
78rori a0, a0, 1
79clz a0, a0
80clzw a0, a0
81ctz a0, a0
82ctzw a0, a0
83cpop a0, a0
84add a0, a0, a0
85cpopw a0, a0
86add a0, a0, a0
87rev8 a0, a0
88orc.b a0, a0
89lb a0, 0(a0)
90add a0, a0, a0
91lh a0, 0(a0)
92and a0, a0, a0
93lw a0, 0(a0)
94or a0, a0, a0
95ld a0, 0(a0)
96xor a0, a0, a0
97lbu a0, 0(a0)
98addi a0, a0, 1
99lhu a0, 0(a0)
100sub a0, a0, a0
101lwu a0, 0(a0)
102addw a0, a0, a0
103jr a0
104
105# CHECK:      Iterations:        1
106# CHECK-NEXT: Instructions:      91
107# CHECK-NEXT: Total Cycles:      124
108# CHECK-NEXT: Total uOps:        91
109
110# CHECK:      Dispatch Width:    6
111# CHECK-NEXT: uOps Per Cycle:    0.73
112# CHECK-NEXT: IPC:               0.73
113# CHECK-NEXT: Block RThroughput: 17.3
114
115# CHECK:      Instruction Info:
116# CHECK-NEXT: [1]: #uOps
117# CHECK-NEXT: [2]: Latency
118# CHECK-NEXT: [3]: RThroughput
119# CHECK-NEXT: [4]: MayLoad
120# CHECK-NEXT: [5]: MayStore
121# CHECK-NEXT: [6]: HasSideEffects (U)
122
123# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
124# CHECK-NEXT:  1      1     0.25                        lui	a0, 1
125# CHECK-NEXT:  1      1     0.25                        auipc	a1, 1
126# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a1
127# CHECK-NEXT:  1      1     0.25                        addi	a0, a0, 1
128# CHECK-NEXT:  1      1     0.25                        addw	a0, a0, a0
129# CHECK-NEXT:  1      1     0.25                        addiw	a0, a0, 1
130# CHECK-NEXT:  1      1     0.25                        sub	a0, a0, a0
131# CHECK-NEXT:  1      1     0.25                        subw	a0, a0, a0
132# CHECK-NEXT:  1      1     0.25                        and	a0, a0, a0
133# CHECK-NEXT:  1      1     0.25                        andi	a0, a0, 1
134# CHECK-NEXT:  1      1     0.25                        or	a0, a0, a0
135# CHECK-NEXT:  1      1     0.25                        ori	a0, a0, 1
136# CHECK-NEXT:  1      1     0.25                        xor	a0, a0, a0
137# CHECK-NEXT:  1      1     0.25                        xori	a0, a0, 1
138# CHECK-NEXT:  1      1     0.25                        sll	a0, a0, a0
139# CHECK-NEXT:  1      1     0.25                        slli	a0, a0, 1
140# CHECK-NEXT:  1      1     0.25                        sllw	a0, a0, a0
141# CHECK-NEXT:  1      1     0.25                        slliw	a0, a0, 1
142# CHECK-NEXT:  1      1     0.25                        srl	a0, a0, a0
143# CHECK-NEXT:  1      1     0.25                        srli	a0, a0, 1
144# CHECK-NEXT:  1      1     0.25                        srlw	a0, a0, a0
145# CHECK-NEXT:  1      1     0.25                        srliw	a0, a0, 1
146# CHECK-NEXT:  1      1     0.25                        sra	a0, a0, a0
147# CHECK-NEXT:  1      1     0.25                        srai	a0, a0, 1
148# CHECK-NEXT:  1      1     0.25                        sraw	a0, a0, a0
149# CHECK-NEXT:  1      1     0.25                        sraiw	a0, a0, 1
150# CHECK-NEXT:  1      1     0.25                        slt	a0, a0, a0
151# CHECK-NEXT:  1      1     0.25                        slti	a0, a0, 1
152# CHECK-NEXT:  1      1     0.25                        sltu	a0, a0, a0
153# CHECK-NEXT:  1      1     0.25                        seqz	a0, a0
154# CHECK-NEXT:  1      3     0.50                        mul	a0, a0, a0
155# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
156# CHECK-NEXT:  1      3     0.50                        mulw	a0, a0, a0
157# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
158# CHECK-NEXT:  1      1     1.00                        beq	a0, a0, .Ltmp0
159# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
160# CHECK-NEXT:  1      1     1.00                        bne	a0, a0, .Ltmp1
161# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
162# CHECK-NEXT:  1      1     1.00                        blt	a0, a0, .Ltmp2
163# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
164# CHECK-NEXT:  1      1     1.00                        bltu	a0, a0, .Ltmp3
165# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
166# CHECK-NEXT:  1      1     1.00                        bge	a0, a0, .Ltmp4
167# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
168# CHECK-NEXT:  1      1     1.00                        bgeu	a0, a0, .Ltmp5
169# CHECK-NEXT:  1      1     0.25                        add.uw	a0, a0, a0
170# CHECK-NEXT:  1      1     0.25                        slli.uw	a0, a0, 1
171# CHECK-NEXT:  1      1     0.25                        sh1add.uw	a0, a0, a0
172# CHECK-NEXT:  1      1     0.25                        sh2add.uw	a0, a0, a0
173# CHECK-NEXT:  1      1     0.25                        sh3add.uw	a0, a0, a0
174# CHECK-NEXT:  1      1     0.25                        sh1add	a0, a0, a0
175# CHECK-NEXT:  1      1     0.25                        sh2add	a0, a0, a0
176# CHECK-NEXT:  1      1     0.25                        sh3add	a0, a0, a0
177# CHECK-NEXT:  1      1     0.25                        andn	a0, a0, a0
178# CHECK-NEXT:  1      1     0.25                        orn	a0, a0, a0
179# CHECK-NEXT:  1      1     0.25                        xnor	a0, a0, a0
180# CHECK-NEXT:  1      1     0.25                        sext.b	a0, a0
181# CHECK-NEXT:  1      1     0.25                        sext.h	a0, a0
182# CHECK-NEXT:  1      1     0.25                        zext.h	a0, a0
183# CHECK-NEXT:  1      1     0.25                        min	a0, a0, a0
184# CHECK-NEXT:  1      1     0.25                        minu	a0, a0, a0
185# CHECK-NEXT:  1      1     0.25                        max	a0, a0, a0
186# CHECK-NEXT:  1      1     0.25                        maxu	a0, a0, a0
187# CHECK-NEXT:  1      1     0.25                        rol	a0, a0, a0
188# CHECK-NEXT:  1      1     0.25                        ror	a0, a0, a0
189# CHECK-NEXT:  1      1     0.25                        rori	a0, a0, 1
190# CHECK-NEXT:  1      3     0.50                        clz	a0, a0
191# CHECK-NEXT:  1      3     0.50                        clzw	a0, a0
192# CHECK-NEXT:  1      3     0.50                        ctz	a0, a0
193# CHECK-NEXT:  1      3     0.50                        ctzw	a0, a0
194# CHECK-NEXT:  1      3     0.50                        cpop	a0, a0
195# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
196# CHECK-NEXT:  1      3     0.50                        cpopw	a0, a0
197# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
198# CHECK-NEXT:  1      1     0.25                        rev8	a0, a0
199# CHECK-NEXT:  1      1     0.25                        orc.b	a0, a0
200# CHECK-NEXT:  1      5     0.50    *                   lb	a0, 0(a0)
201# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
202# CHECK-NEXT:  1      5     0.50    *                   lh	a0, 0(a0)
203# CHECK-NEXT:  1      1     0.25                        and	a0, a0, a0
204# CHECK-NEXT:  1      5     0.50    *                   lw	a0, 0(a0)
205# CHECK-NEXT:  1      1     0.25                        or	a0, a0, a0
206# CHECK-NEXT:  1      5     0.50    *                   ld	a0, 0(a0)
207# CHECK-NEXT:  1      1     0.25                        xor	a0, a0, a0
208# CHECK-NEXT:  1      5     0.50    *                   lbu	a0, 0(a0)
209# CHECK-NEXT:  1      1     0.25                        addi	a0, a0, 1
210# CHECK-NEXT:  1      5     0.50    *                   lhu	a0, 0(a0)
211# CHECK-NEXT:  1      1     0.25                        sub	a0, a0, a0
212# CHECK-NEXT:  1      5     0.50    *                   lwu	a0, 0(a0)
213# CHECK-NEXT:  1      1     0.25                        addw	a0, a0, a0
214# CHECK-NEXT:  1      1     1.00                        jr	a0
215
216# CHECK:      Resources:
217# CHECK-NEXT: [0.0] - XS2ALU
218# CHECK-NEXT: [0.1] - XS2ALU
219# CHECK-NEXT: [0.2] - XS2ALU
220# CHECK-NEXT: [0.3] - XS2ALU
221# CHECK-NEXT: [1.0] - XS2FMAC
222# CHECK-NEXT: [1.1] - XS2FMAC
223# CHECK-NEXT: [1.2] - XS2FMAC
224# CHECK-NEXT: [1.3] - XS2FMAC
225# CHECK-NEXT: [2.0] - XS2FMISC
226# CHECK-NEXT: [2.1] - XS2FMISC
227# CHECK-NEXT: [3.0] - XS2LD
228# CHECK-NEXT: [3.1] - XS2LD
229# CHECK-NEXT: [4.0] - XS2MDU
230# CHECK-NEXT: [4.1] - XS2MDU
231# CHECK-NEXT: [5]   - XS2MISC
232# CHECK-NEXT: [6.0] - XS2ST
233# CHECK-NEXT: [6.1] - XS2ST
234
235# CHECK:      Resource pressure per iteration:
236# CHECK-NEXT: [0.0]  [0.1]  [0.2]  [0.3]  [1.0]  [1.1]  [1.2]  [1.3]  [2.0]  [2.1]  [3.0]  [3.1]  [4.0]  [4.1]  [5]    [6.0]  [6.1]
237# CHECK-NEXT: 17.00  17.00  17.00  18.00   -      -      -      -      -      -     3.00   4.00   4.00   4.00   7.00    -      -
238
239# CHECK:      Resource pressure by instruction:
240# CHECK-NEXT: [0.0]  [0.1]  [0.2]  [0.3]  [1.0]  [1.1]  [1.2]  [1.3]  [2.0]  [2.1]  [3.0]  [3.1]  [4.0]  [4.1]  [5]    [6.0]  [6.1]  Instructions:
241# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     lui	a0, 1
242# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     auipc	a1, 1
243# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a1
244# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addi	a0, a0, 1
245# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     addw	a0, a0, a0
246# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     addiw	a0, a0, 1
247# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sub	a0, a0, a0
248# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subw	a0, a0, a0
249# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     and	a0, a0, a0
250# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     andi	a0, a0, 1
251# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     or	a0, a0, a0
252# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     ori	a0, a0, 1
253# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     xor	a0, a0, a0
254# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     xori	a0, a0, 1
255# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sll	a0, a0, a0
256# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     slli	a0, a0, 1
257# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sllw	a0, a0, a0
258# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     slliw	a0, a0, 1
259# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     srl	a0, a0, a0
260# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     srli	a0, a0, 1
261# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     srlw	a0, a0, a0
262# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     srliw	a0, a0, 1
263# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sra	a0, a0, a0
264# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     srai	a0, a0, 1
265# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sraw	a0, a0, a0
266# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     sraiw	a0, a0, 1
267# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     slt	a0, a0, a0
268# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     slti	a0, a0, 1
269# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sltu	a0, a0, a0
270# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     seqz	a0, a0
271# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     mul	a0, a0, a0
272# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
273# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     mulw	a0, a0, a0
274# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
275# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     beq	a0, a0, .Ltmp0
276# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
277# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     bne	a0, a0, .Ltmp1
278# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
279# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     blt	a0, a0, .Ltmp2
280# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
281# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     bltu	a0, a0, .Ltmp3
282# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
283# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     bge	a0, a0, .Ltmp4
284# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
285# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     bgeu	a0, a0, .Ltmp5
286# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     add.uw	a0, a0, a0
287# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     slli.uw	a0, a0, 1
288# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sh1add.uw	a0, a0, a0
289# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sh2add.uw	a0, a0, a0
290# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     sh3add.uw	a0, a0, a0
291# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sh1add	a0, a0, a0
292# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sh2add	a0, a0, a0
293# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sh3add	a0, a0, a0
294# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     andn	a0, a0, a0
295# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orn	a0, a0, a0
296# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xnor	a0, a0, a0
297# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sext.b	a0, a0
298# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     sext.h	a0, a0
299# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     zext.h	a0, a0
300# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     min	a0, a0, a0
301# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     minu	a0, a0, a0
302# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     max	a0, a0, a0
303# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     maxu	a0, a0, a0
304# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     rol	a0, a0, a0
305# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     ror	a0, a0, a0
306# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     rori	a0, a0, 1
307# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     clz	a0, a0
308# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     clzw	a0, a0
309# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     ctz	a0, a0
310# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     ctzw	a0, a0
311# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     cpop	a0, a0
312# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
313# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     cpopw	a0, a0
314# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
315# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     rev8	a0, a0
316# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     orc.b	a0, a0
317# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -     lb	a0, 0(a0)
318# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
319# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     lh	a0, 0(a0)
320# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     and	a0, a0, a0
321# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -     lw	a0, 0(a0)
322# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     or	a0, a0, a0
323# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     ld	a0, 0(a0)
324# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     xor	a0, a0, a0
325# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -     lbu	a0, 0(a0)
326# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addi	a0, a0, 1
327# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     lhu	a0, 0(a0)
328# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sub	a0, a0, a0
329# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -     lwu	a0, 0(a0)
330# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     addw	a0, a0, a0
331# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     jr	a0
332
333# CHECK:      Timeline view:
334# CHECK-NEXT:                     0123456789          0123456789          0123456789          0123456789          0123456789          0123456789
335# CHECK-NEXT: Index     0123456789          0123456789          0123456789          0123456789          0123456789          0123456789          0123
336
337# CHECK:      [0,0]     DeER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   lui	a0, 1
338# CHECK-NEXT: [0,1]     DeER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   auipc	a1, 1
339# CHECK-NEXT: [0,2]     D=eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a1
340# CHECK-NEXT: [0,3]     D==eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   addi	a0, a0, 1
341# CHECK-NEXT: [0,4]     D===eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   addw	a0, a0, a0
342# CHECK-NEXT: [0,5]     D====eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   addiw	a0, a0, 1
343# CHECK-NEXT: [0,6]     .D====eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sub	a0, a0, a0
344# CHECK-NEXT: [0,7]     .D=====eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   subw	a0, a0, a0
345# CHECK-NEXT: [0,8]     .D======eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   and	a0, a0, a0
346# CHECK-NEXT: [0,9]     .D=======eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   andi	a0, a0, 1
347# CHECK-NEXT: [0,10]    .D========eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   or	a0, a0, a0
348# CHECK-NEXT: [0,11]    .D=========eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   ori	a0, a0, 1
349# CHECK-NEXT: [0,12]    . D=========eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   xor	a0, a0, a0
350# CHECK-NEXT: [0,13]    . D==========eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   xori	a0, a0, 1
351# CHECK-NEXT: [0,14]    . D===========eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sll	a0, a0, a0
352# CHECK-NEXT: [0,15]    . D============eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   slli	a0, a0, 1
353# CHECK-NEXT: [0,16]    . D=============eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sllw	a0, a0, a0
354# CHECK-NEXT: [0,17]    . D==============eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   slliw	a0, a0, 1
355# CHECK-NEXT: [0,18]    .  D==============eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   srl	a0, a0, a0
356# CHECK-NEXT: [0,19]    .  D===============eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   srli	a0, a0, 1
357# CHECK-NEXT: [0,20]    .   D===============eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   srlw	a0, a0, a0
358# CHECK-NEXT: [0,21]    .    D===============eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   srliw	a0, a0, 1
359# CHECK-NEXT: [0,22]    .    .D===============eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sra	a0, a0, a0
360# CHECK-NEXT: [0,23]    .    . D===============eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   srai	a0, a0, 1
361# CHECK-NEXT: [0,24]    .    .  D===============eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sraw	a0, a0, a0
362# CHECK-NEXT: [0,25]    .    .   D===============eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sraiw	a0, a0, 1
363# CHECK-NEXT: [0,26]    .    .    D===============eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   slt	a0, a0, a0
364# CHECK-NEXT: [0,27]    .    .    .D===============eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   slti	a0, a0, 1
365# CHECK-NEXT: [0,28]    .    .    . D===============eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sltu	a0, a0, a0
366# CHECK-NEXT: [0,29]    .    .    .  D===============eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   seqz	a0, a0
367# CHECK-NEXT: [0,30]    .    .    .  D================eeeER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   mul	a0, a0, a0
368# CHECK-NEXT: [0,31]    .    .    .   D==================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
369# CHECK-NEXT: [0,32]    .    .    .   D===================eeeER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   mulw	a0, a0, a0
370# CHECK-NEXT: [0,33]    .    .    .    D=====================eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
371# CHECK-NEXT: [0,34]    .    .    .    D======================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   beq	a0, a0, .Ltmp0
372# CHECK-NEXT: [0,35]    .    .    .    .D=====================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
373# CHECK-NEXT: [0,36]    .    .    .    .D======================eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   bne	a0, a0, .Ltmp1
374# CHECK-NEXT: [0,37]    .    .    .    . D=====================eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
375# CHECK-NEXT: [0,38]    .    .    .    . D======================eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   blt	a0, a0, .Ltmp2
376# CHECK-NEXT: [0,39]    .    .    .    .  D=====================eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
377# CHECK-NEXT: [0,40]    .    .    .    .  D======================eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   bltu	a0, a0, .Ltmp3
378# CHECK-NEXT: [0,41]    .    .    .    .   D=====================eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
379# CHECK-NEXT: [0,42]    .    .    .    .   D======================eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   bge	a0, a0, .Ltmp4
380# CHECK-NEXT: [0,43]    .    .    .    .    D=====================eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
381# CHECK-NEXT: [0,44]    .    .    .    .    D======================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   bgeu	a0, a0, .Ltmp5
382# CHECK-NEXT: [0,45]    .    .    .    .    .D=====================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add.uw	a0, a0, a0
383# CHECK-NEXT: [0,46]    .    .    .    .    . D=====================eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   slli.uw	a0, a0, 1
384# CHECK-NEXT: [0,47]    .    .    .    .    .  D=====================eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh1add.uw	a0, a0, a0
385# CHECK-NEXT: [0,48]    .    .    .    .    .   D=====================eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh2add.uw	a0, a0, a0
386# CHECK-NEXT: [0,49]    .    .    .    .    .    D=====================eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh3add.uw	a0, a0, a0
387# CHECK-NEXT: [0,50]    .    .    .    .    .    .D=====================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh1add	a0, a0, a0
388# CHECK-NEXT: [0,51]    .    .    .    .    .    . D=====================eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh2add	a0, a0, a0
389# CHECK-NEXT: [0,52]    .    .    .    .    .    .  D=====================eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh3add	a0, a0, a0
390# CHECK-NEXT: [0,53]    .    .    .    .    .    .   D=====================eER .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   andn	a0, a0, a0
391# CHECK-NEXT: [0,54]    .    .    .    .    .    .    .  D==================eER.    .    .    .    .    .    .    .    .    .    .    .    .    .  .   orn	a0, a0, a0
392# CHECK-NEXT: [0,55]    .    .    .    .    .    .    .    . D===============eER    .    .    .    .    .    .    .    .    .    .    .    .    .  .   xnor	a0, a0, a0
393# CHECK-NEXT: [0,56]    .    .    .    .    .    .    .    .  D===============eER   .    .    .    .    .    .    .    .    .    .    .    .    .  .   sext.b	a0, a0
394# CHECK-NEXT: [0,57]    .    .    .    .    .    .    .    .   D===============eER  .    .    .    .    .    .    .    .    .    .    .    .    .  .   sext.h	a0, a0
395# CHECK-NEXT: [0,58]    .    .    .    .    .    .    .    .    D===============eER .    .    .    .    .    .    .    .    .    .    .    .    .  .   zext.h	a0, a0
396# CHECK-NEXT: [0,59]    .    .    .    .    .    .    .    .    .D===============eER.    .    .    .    .    .    .    .    .    .    .    .    .  .   min	a0, a0, a0
397# CHECK-NEXT: [0,60]    .    .    .    .    .    .    .    .    . D===============eER    .    .    .    .    .    .    .    .    .    .    .    .  .   minu	a0, a0, a0
398# CHECK-NEXT: [0,61]    .    .    .    .    .    .    .    .    .  D===============eER   .    .    .    .    .    .    .    .    .    .    .    .  .   max	a0, a0, a0
399# CHECK-NEXT: [0,62]    .    .    .    .    .    .    .    .    .   D===============eER  .    .    .    .    .    .    .    .    .    .    .    .  .   maxu	a0, a0, a0
400# CHECK-NEXT: [0,63]    .    .    .    .    .    .    .    .    .    D===============eER .    .    .    .    .    .    .    .    .    .    .    .  .   rol	a0, a0, a0
401# CHECK-NEXT: [0,64]    .    .    .    .    .    .    .    .    .    .D===============eER.    .    .    .    .    .    .    .    .    .    .    .  .   ror	a0, a0, a0
402# CHECK-NEXT: [0,65]    .    .    .    .    .    .    .    .    .    . D===============eER    .    .    .    .    .    .    .    .    .    .    .  .   rori	a0, a0, 1
403# CHECK-NEXT: [0,66]    .    .    .    .    .    .    .    .    .    . D================eeeER .    .    .    .    .    .    .    .    .    .    .  .   clz	a0, a0
404# CHECK-NEXT: [0,67]    .    .    .    .    .    .    .    .    .    . D===================eeeER   .    .    .    .    .    .    .    .    .    .  .   clzw	a0, a0
405# CHECK-NEXT: [0,68]    .    .    .    .    .    .    .    .    .    . D======================eeeER.    .    .    .    .    .    .    .    .    .  .   ctz	a0, a0
406# CHECK-NEXT: [0,69]    .    .    .    .    .    .    .    .    .    . D=========================eeeER  .    .    .    .    .    .    .    .    .  .   ctzw	a0, a0
407# CHECK-NEXT: [0,70]    .    .    .    .    .    .    .    .    .    . D============================eeeER    .    .    .    .    .    .    .    .  .   cpop	a0, a0
408# CHECK-NEXT: [0,71]    .    .    .    .    .    .    .    .    .    .  D==============================eER   .    .    .    .    .    .    .    .  .   add	a0, a0, a0
409# CHECK-NEXT: [0,72]    .    .    .    .    .    .    .    .    .    .  D===============================eeeER.    .    .    .    .    .    .    .  .   cpopw	a0, a0
410# CHECK-NEXT: [0,73]    .    .    .    .    .    .    .    .    .    .   D=================================eER    .    .    .    .    .    .    .  .   add	a0, a0, a0
411# CHECK-NEXT: [0,74]    .    .    .    .    .    .    .    .    .    .    D=================================eER   .    .    .    .    .    .    .  .   rev8	a0, a0
412# CHECK-NEXT: [0,75]    .    .    .    .    .    .    .    .    .    .    .D=================================eER  .    .    .    .    .    .    .  .   orc.b	a0, a0
413# CHECK-NEXT: [0,76]    .    .    .    .    .    .    .    .    .    .    .D==================================eeeeeER  .    .    .    .    .    .  .   lb	a0, 0(a0)
414# CHECK-NEXT: [0,77]    .    .    .    .    .    .    .    .    .    .    . D=====================================eER  .    .    .    .    .    .  .   add	a0, a0, a0
415# CHECK-NEXT: [0,78]    .    .    .    .    .    .    .    .    .    .    . D======================================eeeeeER  .    .    .    .    .  .   lh	a0, 0(a0)
416# CHECK-NEXT: [0,79]    .    .    .    .    .    .    .    .    .    .    .  D=========================================eER  .    .    .    .    .  .   and	a0, a0, a0
417# CHECK-NEXT: [0,80]    .    .    .    .    .    .    .    .    .    .    .  D==========================================eeeeeER  .    .    .    .  .   lw	a0, 0(a0)
418# CHECK-NEXT: [0,81]    .    .    .    .    .    .    .    .    .    .    .   D=============================================eER  .    .    .    .  .   or	a0, a0, a0
419# CHECK-NEXT: [0,82]    .    .    .    .    .    .    .    .    .    .    .   D==============================================eeeeeER  .    .    .  .   ld	a0, 0(a0)
420# CHECK-NEXT: [0,83]    .    .    .    .    .    .    .    .    .    .    .    D=================================================eER  .    .    .  .   xor	a0, a0, a0
421# CHECK-NEXT: [0,84]    .    .    .    .    .    .    .    .    .    .    .    D==================================================eeeeeER  .    .  .   lbu	a0, 0(a0)
422# CHECK-NEXT: [0,85]    .    .    .    .    .    .    .    .    .    .    .    .D=====================================================eER  .    .  .   addi	a0, a0, 1
423# CHECK-NEXT: [0,86]    .    .    .    .    .    .    .    .    .    .    .    .D======================================================eeeeeER  .  .   lhu	a0, 0(a0)
424# CHECK-NEXT: [0,87]    .    .    .    .    .    .    .    .    .    .    .    . D=========================================================eER  .  .   sub	a0, a0, a0
425# CHECK-NEXT: [0,88]    .    .    .    .    .    .    .    .    .    .    .    . D==========================================================eeeeeER.   lwu	a0, 0(a0)
426# CHECK-NEXT: [0,89]    .    .    .    .    .    .    .    .    .    .    .    .  D=============================================================eER.   addw	a0, a0, a0
427# CHECK-NEXT: [0,90]    .    .    .    .    .    .    .    .    .    .    .    .  D==============================================================eER   jr	a0
428
429# CHECK:      Average Wait times (based on the timeline view):
430# CHECK-NEXT: [0]: Executions
431# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
432# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
433# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
434
435# CHECK:            [0]    [1]    [2]    [3]
436# CHECK-NEXT: 0.     1     1.0    1.0    0.0       lui	a0, 1
437# CHECK-NEXT: 1.     1     1.0    1.0    0.0       auipc	a1, 1
438# CHECK-NEXT: 2.     1     2.0    0.0    0.0       add	a0, a0, a1
439# CHECK-NEXT: 3.     1     3.0    0.0    0.0       addi	a0, a0, 1
440# CHECK-NEXT: 4.     1     4.0    0.0    0.0       addw	a0, a0, a0
441# CHECK-NEXT: 5.     1     5.0    0.0    0.0       addiw	a0, a0, 1
442# CHECK-NEXT: 6.     1     5.0    0.0    0.0       sub	a0, a0, a0
443# CHECK-NEXT: 7.     1     6.0    0.0    0.0       subw	a0, a0, a0
444# CHECK-NEXT: 8.     1     7.0    0.0    0.0       and	a0, a0, a0
445# CHECK-NEXT: 9.     1     8.0    0.0    0.0       andi	a0, a0, 1
446# CHECK-NEXT: 10.    1     9.0    0.0    0.0       or	a0, a0, a0
447# CHECK-NEXT: 11.    1     10.0   0.0    0.0       ori	a0, a0, 1
448# CHECK-NEXT: 12.    1     10.0   0.0    0.0       xor	a0, a0, a0
449# CHECK-NEXT: 13.    1     11.0   0.0    0.0       xori	a0, a0, 1
450# CHECK-NEXT: 14.    1     12.0   0.0    0.0       sll	a0, a0, a0
451# CHECK-NEXT: 15.    1     13.0   0.0    0.0       slli	a0, a0, 1
452# CHECK-NEXT: 16.    1     14.0   0.0    0.0       sllw	a0, a0, a0
453# CHECK-NEXT: 17.    1     15.0   0.0    0.0       slliw	a0, a0, 1
454# CHECK-NEXT: 18.    1     15.0   0.0    0.0       srl	a0, a0, a0
455# CHECK-NEXT: 19.    1     16.0   0.0    0.0       srli	a0, a0, 1
456# CHECK-NEXT: 20.    1     16.0   0.0    0.0       srlw	a0, a0, a0
457# CHECK-NEXT: 21.    1     16.0   0.0    0.0       srliw	a0, a0, 1
458# CHECK-NEXT: 22.    1     16.0   0.0    0.0       sra	a0, a0, a0
459# CHECK-NEXT: 23.    1     16.0   0.0    0.0       srai	a0, a0, 1
460# CHECK-NEXT: 24.    1     16.0   0.0    0.0       sraw	a0, a0, a0
461# CHECK-NEXT: 25.    1     16.0   0.0    0.0       sraiw	a0, a0, 1
462# CHECK-NEXT: 26.    1     16.0   0.0    0.0       slt	a0, a0, a0
463# CHECK-NEXT: 27.    1     16.0   0.0    0.0       slti	a0, a0, 1
464# CHECK-NEXT: 28.    1     16.0   0.0    0.0       sltu	a0, a0, a0
465# CHECK-NEXT: 29.    1     16.0   0.0    0.0       seqz	a0, a0
466# CHECK-NEXT: 30.    1     17.0   0.0    0.0       mul	a0, a0, a0
467# CHECK-NEXT: 31.    1     19.0   0.0    0.0       add	a0, a0, a0
468# CHECK-NEXT: 32.    1     20.0   0.0    0.0       mulw	a0, a0, a0
469# CHECK-NEXT: 33.    1     22.0   0.0    0.0       add	a0, a0, a0
470# CHECK-NEXT: 34.    1     23.0   0.0    0.0       beq	a0, a0, .Ltmp0
471# CHECK-NEXT: 35.    1     22.0   0.0    0.0       add	a0, a0, a0
472# CHECK-NEXT: 36.    1     23.0   0.0    0.0       bne	a0, a0, .Ltmp1
473# CHECK-NEXT: 37.    1     22.0   0.0    0.0       add	a0, a0, a0
474# CHECK-NEXT: 38.    1     23.0   0.0    0.0       blt	a0, a0, .Ltmp2
475# CHECK-NEXT: 39.    1     22.0   0.0    0.0       add	a0, a0, a0
476# CHECK-NEXT: 40.    1     23.0   0.0    0.0       bltu	a0, a0, .Ltmp3
477# CHECK-NEXT: 41.    1     22.0   0.0    0.0       add	a0, a0, a0
478# CHECK-NEXT: 42.    1     23.0   0.0    0.0       bge	a0, a0, .Ltmp4
479# CHECK-NEXT: 43.    1     22.0   0.0    0.0       add	a0, a0, a0
480# CHECK-NEXT: 44.    1     23.0   0.0    0.0       bgeu	a0, a0, .Ltmp5
481# CHECK-NEXT: 45.    1     22.0   0.0    0.0       add.uw	a0, a0, a0
482# CHECK-NEXT: 46.    1     22.0   0.0    0.0       slli.uw	a0, a0, 1
483# CHECK-NEXT: 47.    1     22.0   0.0    0.0       sh1add.uw	a0, a0, a0
484# CHECK-NEXT: 48.    1     22.0   0.0    0.0       sh2add.uw	a0, a0, a0
485# CHECK-NEXT: 49.    1     22.0   0.0    0.0       sh3add.uw	a0, a0, a0
486# CHECK-NEXT: 50.    1     22.0   0.0    0.0       sh1add	a0, a0, a0
487# CHECK-NEXT: 51.    1     22.0   0.0    0.0       sh2add	a0, a0, a0
488# CHECK-NEXT: 52.    1     22.0   0.0    0.0       sh3add	a0, a0, a0
489# CHECK-NEXT: 53.    1     22.0   0.0    0.0       andn	a0, a0, a0
490# CHECK-NEXT: 54.    1     19.0   0.0    0.0       orn	a0, a0, a0
491# CHECK-NEXT: 55.    1     16.0   0.0    0.0       xnor	a0, a0, a0
492# CHECK-NEXT: 56.    1     16.0   0.0    0.0       sext.b	a0, a0
493# CHECK-NEXT: 57.    1     16.0   0.0    0.0       sext.h	a0, a0
494# CHECK-NEXT: 58.    1     16.0   0.0    0.0       zext.h	a0, a0
495# CHECK-NEXT: 59.    1     16.0   0.0    0.0       min	a0, a0, a0
496# CHECK-NEXT: 60.    1     16.0   0.0    0.0       minu	a0, a0, a0
497# CHECK-NEXT: 61.    1     16.0   0.0    0.0       max	a0, a0, a0
498# CHECK-NEXT: 62.    1     16.0   0.0    0.0       maxu	a0, a0, a0
499# CHECK-NEXT: 63.    1     16.0   0.0    0.0       rol	a0, a0, a0
500# CHECK-NEXT: 64.    1     16.0   0.0    0.0       ror	a0, a0, a0
501# CHECK-NEXT: 65.    1     16.0   0.0    0.0       rori	a0, a0, 1
502# CHECK-NEXT: 66.    1     17.0   0.0    0.0       clz	a0, a0
503# CHECK-NEXT: 67.    1     20.0   0.0    0.0       clzw	a0, a0
504# CHECK-NEXT: 68.    1     23.0   0.0    0.0       ctz	a0, a0
505# CHECK-NEXT: 69.    1     26.0   0.0    0.0       ctzw	a0, a0
506# CHECK-NEXT: 70.    1     29.0   0.0    0.0       cpop	a0, a0
507# CHECK-NEXT: 71.    1     31.0   0.0    0.0       add	a0, a0, a0
508# CHECK-NEXT: 72.    1     32.0   0.0    0.0       cpopw	a0, a0
509# CHECK-NEXT: 73.    1     34.0   0.0    0.0       add	a0, a0, a0
510# CHECK-NEXT: 74.    1     34.0   0.0    0.0       rev8	a0, a0
511# CHECK-NEXT: 75.    1     34.0   0.0    0.0       orc.b	a0, a0
512# CHECK-NEXT: 76.    1     35.0   0.0    0.0       lb	a0, 0(a0)
513# CHECK-NEXT: 77.    1     38.0   0.0    0.0       add	a0, a0, a0
514# CHECK-NEXT: 78.    1     39.0   0.0    0.0       lh	a0, 0(a0)
515# CHECK-NEXT: 79.    1     42.0   0.0    0.0       and	a0, a0, a0
516# CHECK-NEXT: 80.    1     43.0   0.0    0.0       lw	a0, 0(a0)
517# CHECK-NEXT: 81.    1     46.0   0.0    0.0       or	a0, a0, a0
518# CHECK-NEXT: 82.    1     47.0   0.0    0.0       ld	a0, 0(a0)
519# CHECK-NEXT: 83.    1     50.0   0.0    0.0       xor	a0, a0, a0
520# CHECK-NEXT: 84.    1     51.0   0.0    0.0       lbu	a0, 0(a0)
521# CHECK-NEXT: 85.    1     54.0   0.0    0.0       addi	a0, a0, 1
522# CHECK-NEXT: 86.    1     55.0   0.0    0.0       lhu	a0, 0(a0)
523# CHECK-NEXT: 87.    1     58.0   0.0    0.0       sub	a0, a0, a0
524# CHECK-NEXT: 88.    1     59.0   0.0    0.0       lwu	a0, 0(a0)
525# CHECK-NEXT: 89.    1     62.0   0.0    0.0       addw	a0, a0, a0
526# CHECK-NEXT: 90.    1     63.0   0.0    0.0       jr	a0
527# CHECK-NEXT:        1     22.7   0.0    0.0       <total>
528