llvm/llvm/test/tools/llvm-mca/RISCV/XiangShan/gpr-bypass.s

# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=riscv64 -mcpu=xiangshan-nanhu -timeline \
# RUN:   -timeline-max-cycles=1000 -iterations=1 < %s | FileCheck %s

lui a0, 1
auipc a1, 1
add a0, a0, a1
addi a0, a0, 1
addw a0, a0, a0
addiw a0, a0, 1
sub a0, a0, a0
subw a0, a0, a0
and a0, a0, a0
andi a0, a0, 1
or a0, a0, a0
ori a0, a0, 1
xor a0, a0, a0
xori a0, a0, 1
sll a0, a0, a0
slli a0, a0, 1
sllw a0, a0, a0
slliw a0, a0, 1
srl a0, a0, a0
srli a0, a0, 1
srlw a0, a0, a0
srliw a0, a0, 1
sra a0, a0, a0
srai a0, a0, 1
sraw a0, a0, a0
sraiw a0, a0, 1
slt a0, a0, a0
slti a0, a0, 1
sltu a0, a0, a0
sltiu a0, a0, 1
mul a0, a0, a0
add a0, a0, a0
mulw a0, a0, a0
add a0, a0, a0
beq a0, a0, 1f
1:
add a0, a0, a0
bne a0, a0, 1f
1:
add a0, a0, a0
blt a0, a0, 1f
1:
add a0, a0, a0
bltu a0, a0, 1f
1:
add a0, a0, a0
bge a0, a0, 1f
1:
add a0, a0, a0
bgeu a0, a0, 1f
1:
# zba
add.uw a0, a0, a0
slli.uw a0, a0, 1
sh1add.uw a0, a0, a0
sh2add.uw a0, a0, a0
sh3add.uw a0, a0, a0
sh1add a0, a0, a0
sh2add a0, a0, a0
sh3add a0, a0, a0
# zbb
andn a0, a0, a0
orn a0, a0, a0
xnor a0, a0, a0
sext.b a0, a0
sext.h a0, a0
zext.h a0, a0
min a0, a0, a0
minu a0, a0, a0
max a0, a0, a0
maxu a0, a0, a0
rol a0, a0, a0
ror a0, a0, a0
rori a0, a0, 1
clz a0, a0
clzw a0, a0
ctz a0, a0
ctzw a0, a0
cpop a0, a0
add a0, a0, a0
cpopw a0, a0
add a0, a0, a0
rev8 a0, a0
orc.b a0, a0
lb a0, 0(a0)
add a0, a0, a0
lh a0, 0(a0)
and a0, a0, a0
lw a0, 0(a0)
or a0, a0, a0
ld a0, 0(a0)
xor a0, a0, a0
lbu a0, 0(a0)
addi a0, a0, 1
lhu a0, 0(a0)
sub a0, a0, a0
lwu a0, 0(a0)
addw a0, a0, a0
jr a0

# CHECK:      Iterations:        1
# CHECK-NEXT: Instructions:      91
# CHECK-NEXT: Total Cycles:      124
# CHECK-NEXT: Total uOps:        91

# CHECK:      Dispatch Width:    6
# CHECK-NEXT: uOps Per Cycle:    0.73
# CHECK-NEXT: IPC:               0.73
# CHECK-NEXT: Block RThroughput: 17.3

# CHECK:      Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
# CHECK-NEXT: [6]: HasSideEffects (U)

# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
# CHECK-NEXT:  1      1     0.25                        lui	a0, 1
# CHECK-NEXT:  1      1     0.25                        auipc	a1, 1
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a1
# CHECK-NEXT:  1      1     0.25                        addi	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        addw	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        addiw	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        sub	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        subw	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        and	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        andi	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        or	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        ori	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        xor	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        xori	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        sll	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        slli	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        sllw	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        slliw	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        srl	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        srli	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        srlw	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        srliw	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        sra	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        srai	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        sraw	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        sraiw	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        slt	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        slti	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        sltu	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        seqz	a0, a0
# CHECK-NEXT:  1      3     0.50                        mul	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
# CHECK-NEXT:  1      3     0.50                        mulw	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
# CHECK-NEXT:  1      1     1.00                        beq	a0, a0, .Ltmp0
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
# CHECK-NEXT:  1      1     1.00                        bne	a0, a0, .Ltmp1
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
# CHECK-NEXT:  1      1     1.00                        blt	a0, a0, .Ltmp2
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
# CHECK-NEXT:  1      1     1.00                        bltu	a0, a0, .Ltmp3
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
# CHECK-NEXT:  1      1     1.00                        bge	a0, a0, .Ltmp4
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
# CHECK-NEXT:  1      1     1.00                        bgeu	a0, a0, .Ltmp5
# CHECK-NEXT:  1      1     0.25                        add.uw	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        slli.uw	a0, a0, 1
# CHECK-NEXT:  1      1     0.25                        sh1add.uw	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        sh2add.uw	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        sh3add.uw	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        sh1add	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        sh2add	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        sh3add	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        andn	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        orn	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        xnor	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        sext.b	a0, a0
# CHECK-NEXT:  1      1     0.25                        sext.h	a0, a0
# CHECK-NEXT:  1      1     0.25                        zext.h	a0, a0
# CHECK-NEXT:  1      1     0.25                        min	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        minu	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        max	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        maxu	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        rol	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        ror	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        rori	a0, a0, 1
# CHECK-NEXT:  1      3     0.50                        clz	a0, a0
# CHECK-NEXT:  1      3     0.50                        clzw	a0, a0
# CHECK-NEXT:  1      3     0.50                        ctz	a0, a0
# CHECK-NEXT:  1      3     0.50                        ctzw	a0, a0
# CHECK-NEXT:  1      3     0.50                        cpop	a0, a0
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
# CHECK-NEXT:  1      3     0.50                        cpopw	a0, a0
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
# CHECK-NEXT:  1      1     0.25                        rev8	a0, a0
# CHECK-NEXT:  1      1     0.25                        orc.b	a0, a0
# CHECK-NEXT:  1      5     0.50    *                   lb	a0, 0(a0)
# CHECK-NEXT:  1      1     0.25                        add	a0, a0, a0
# CHECK-NEXT:  1      5     0.50    *                   lh	a0, 0(a0)
# CHECK-NEXT:  1      1     0.25                        and	a0, a0, a0
# CHECK-NEXT:  1      5     0.50    *                   lw	a0, 0(a0)
# CHECK-NEXT:  1      1     0.25                        or	a0, a0, a0
# CHECK-NEXT:  1      5     0.50    *                   ld	a0, 0(a0)
# CHECK-NEXT:  1      1     0.25                        xor	a0, a0, a0
# CHECK-NEXT:  1      5     0.50    *                   lbu	a0, 0(a0)
# CHECK-NEXT:  1      1     0.25                        addi	a0, a0, 1
# CHECK-NEXT:  1      5     0.50    *                   lhu	a0, 0(a0)
# CHECK-NEXT:  1      1     0.25                        sub	a0, a0, a0
# CHECK-NEXT:  1      5     0.50    *                   lwu	a0, 0(a0)
# CHECK-NEXT:  1      1     0.25                        addw	a0, a0, a0
# CHECK-NEXT:  1      1     1.00                        jr	a0

# CHECK:      Resources:
# CHECK-NEXT: [0.0] - XS2ALU
# CHECK-NEXT: [0.1] - XS2ALU
# CHECK-NEXT: [0.2] - XS2ALU
# CHECK-NEXT: [0.3] - XS2ALU
# CHECK-NEXT: [1.0] - XS2FMAC
# CHECK-NEXT: [1.1] - XS2FMAC
# CHECK-NEXT: [1.2] - XS2FMAC
# CHECK-NEXT: [1.3] - XS2FMAC
# CHECK-NEXT: [2.0] - XS2FMISC
# CHECK-NEXT: [2.1] - XS2FMISC
# CHECK-NEXT: [3.0] - XS2LD
# CHECK-NEXT: [3.1] - XS2LD
# CHECK-NEXT: [4.0] - XS2MDU
# CHECK-NEXT: [4.1] - XS2MDU
# CHECK-NEXT: [5]   - XS2MISC
# CHECK-NEXT: [6.0] - XS2ST
# CHECK-NEXT: [6.1] - XS2ST

# CHECK:      Resource pressure per iteration:
# 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]
# CHECK-NEXT: 17.00  17.00  17.00  18.00   -      -      -      -      -      -     3.00   4.00   4.00   4.00   7.00    -      -

# CHECK:      Resource pressure by instruction:
# 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:
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     lui	a0, 1
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     auipc	a1, 1
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a1
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addi	a0, a0, 1
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     addw	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     addiw	a0, a0, 1
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sub	a0, a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     subw	a0, a0, a0
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     and	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     andi	a0, a0, 1
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     or	a0, a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     ori	a0, a0, 1
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     xor	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     xori	a0, a0, 1
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sll	a0, a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     slli	a0, a0, 1
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sllw	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     slliw	a0, a0, 1
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     srl	a0, a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     srli	a0, a0, 1
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     srlw	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     srliw	a0, a0, 1
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sra	a0, a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     srai	a0, a0, 1
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sraw	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     sraiw	a0, a0, 1
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     slt	a0, a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     slti	a0, a0, 1
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sltu	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     seqz	a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     mul	a0, a0, a0
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     mulw	a0, a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     beq	a0, a0, .Ltmp0
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     bne	a0, a0, .Ltmp1
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     blt	a0, a0, .Ltmp2
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     bltu	a0, a0, .Ltmp3
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     bge	a0, a0, .Ltmp4
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     bgeu	a0, a0, .Ltmp5
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     add.uw	a0, a0, a0
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     slli.uw	a0, a0, 1
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sh1add.uw	a0, a0, a0
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sh2add.uw	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     sh3add.uw	a0, a0, a0
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sh1add	a0, a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sh2add	a0, a0, a0
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sh3add	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     andn	a0, a0, a0
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     orn	a0, a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     xnor	a0, a0, a0
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     sext.b	a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     sext.h	a0, a0
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     zext.h	a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     min	a0, a0, a0
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     minu	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     max	a0, a0, a0
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     maxu	a0, a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     rol	a0, a0, a0
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     ror	a0, a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     rori	a0, a0, 1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     clz	a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     clzw	a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     ctz	a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     ctzw	a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -     cpop	a0, a0
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     cpopw	a0, a0
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     rev8	a0, a0
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     orc.b	a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -     lb	a0, 0(a0)
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     add	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     lh	a0, 0(a0)
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     and	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -     lw	a0, 0(a0)
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     or	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     ld	a0, 0(a0)
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -     xor	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -     lbu	a0, 0(a0)
# CHECK-NEXT:  -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     addi	a0, a0, 1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     lhu	a0, 0(a0)
# CHECK-NEXT: 1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     sub	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -      -     lwu	a0, 0(a0)
# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     addw	a0, a0, a0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     jr	a0

# CHECK:      Timeline view:
# CHECK-NEXT:                     0123456789          0123456789          0123456789          0123456789          0123456789          0123456789
# CHECK-NEXT: Index     0123456789          0123456789          0123456789          0123456789          0123456789          0123456789          0123

# CHECK:      [0,0]     DeER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   lui	a0, 1
# CHECK-NEXT: [0,1]     DeER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   auipc	a1, 1
# CHECK-NEXT: [0,2]     D=eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a1
# CHECK-NEXT: [0,3]     D==eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   addi	a0, a0, 1
# CHECK-NEXT: [0,4]     D===eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   addw	a0, a0, a0
# CHECK-NEXT: [0,5]     D====eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   addiw	a0, a0, 1
# CHECK-NEXT: [0,6]     .D====eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sub	a0, a0, a0
# CHECK-NEXT: [0,7]     .D=====eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   subw	a0, a0, a0
# CHECK-NEXT: [0,8]     .D======eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   and	a0, a0, a0
# CHECK-NEXT: [0,9]     .D=======eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   andi	a0, a0, 1
# CHECK-NEXT: [0,10]    .D========eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   or	a0, a0, a0
# CHECK-NEXT: [0,11]    .D=========eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   ori	a0, a0, 1
# CHECK-NEXT: [0,12]    . D=========eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   xor	a0, a0, a0
# CHECK-NEXT: [0,13]    . D==========eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   xori	a0, a0, 1
# CHECK-NEXT: [0,14]    . D===========eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sll	a0, a0, a0
# CHECK-NEXT: [0,15]    . D============eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   slli	a0, a0, 1
# CHECK-NEXT: [0,16]    . D=============eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sllw	a0, a0, a0
# CHECK-NEXT: [0,17]    . D==============eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   slliw	a0, a0, 1
# CHECK-NEXT: [0,18]    .  D==============eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   srl	a0, a0, a0
# CHECK-NEXT: [0,19]    .  D===============eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   srli	a0, a0, 1
# CHECK-NEXT: [0,20]    .   D===============eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   srlw	a0, a0, a0
# CHECK-NEXT: [0,21]    .    D===============eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   srliw	a0, a0, 1
# CHECK-NEXT: [0,22]    .    .D===============eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sra	a0, a0, a0
# CHECK-NEXT: [0,23]    .    . D===============eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   srai	a0, a0, 1
# CHECK-NEXT: [0,24]    .    .  D===============eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sraw	a0, a0, a0
# CHECK-NEXT: [0,25]    .    .   D===============eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sraiw	a0, a0, 1
# CHECK-NEXT: [0,26]    .    .    D===============eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   slt	a0, a0, a0
# CHECK-NEXT: [0,27]    .    .    .D===============eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   slti	a0, a0, 1
# CHECK-NEXT: [0,28]    .    .    . D===============eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sltu	a0, a0, a0
# CHECK-NEXT: [0,29]    .    .    .  D===============eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   seqz	a0, a0
# CHECK-NEXT: [0,30]    .    .    .  D================eeeER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   mul	a0, a0, a0
# CHECK-NEXT: [0,31]    .    .    .   D==================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,32]    .    .    .   D===================eeeER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   mulw	a0, a0, a0
# CHECK-NEXT: [0,33]    .    .    .    D=====================eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,34]    .    .    .    D======================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   beq	a0, a0, .Ltmp0
# CHECK-NEXT: [0,35]    .    .    .    .D=====================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,36]    .    .    .    .D======================eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   bne	a0, a0, .Ltmp1
# CHECK-NEXT: [0,37]    .    .    .    . D=====================eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,38]    .    .    .    . D======================eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   blt	a0, a0, .Ltmp2
# CHECK-NEXT: [0,39]    .    .    .    .  D=====================eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,40]    .    .    .    .  D======================eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   bltu	a0, a0, .Ltmp3
# CHECK-NEXT: [0,41]    .    .    .    .   D=====================eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,42]    .    .    .    .   D======================eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   bge	a0, a0, .Ltmp4
# CHECK-NEXT: [0,43]    .    .    .    .    D=====================eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,44]    .    .    .    .    D======================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   bgeu	a0, a0, .Ltmp5
# CHECK-NEXT: [0,45]    .    .    .    .    .D=====================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   add.uw	a0, a0, a0
# CHECK-NEXT: [0,46]    .    .    .    .    . D=====================eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   slli.uw	a0, a0, 1
# CHECK-NEXT: [0,47]    .    .    .    .    .  D=====================eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh1add.uw	a0, a0, a0
# CHECK-NEXT: [0,48]    .    .    .    .    .   D=====================eER .    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh2add.uw	a0, a0, a0
# CHECK-NEXT: [0,49]    .    .    .    .    .    D=====================eER.    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh3add.uw	a0, a0, a0
# CHECK-NEXT: [0,50]    .    .    .    .    .    .D=====================eER    .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh1add	a0, a0, a0
# CHECK-NEXT: [0,51]    .    .    .    .    .    . D=====================eER   .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh2add	a0, a0, a0
# CHECK-NEXT: [0,52]    .    .    .    .    .    .  D=====================eER  .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   sh3add	a0, a0, a0
# CHECK-NEXT: [0,53]    .    .    .    .    .    .   D=====================eER .    .    .    .    .    .    .    .    .    .    .    .    .    .  .   andn	a0, a0, a0
# CHECK-NEXT: [0,54]    .    .    .    .    .    .    .  D==================eER.    .    .    .    .    .    .    .    .    .    .    .    .    .  .   orn	a0, a0, a0
# CHECK-NEXT: [0,55]    .    .    .    .    .    .    .    . D===============eER    .    .    .    .    .    .    .    .    .    .    .    .    .  .   xnor	a0, a0, a0
# CHECK-NEXT: [0,56]    .    .    .    .    .    .    .    .  D===============eER   .    .    .    .    .    .    .    .    .    .    .    .    .  .   sext.b	a0, a0
# CHECK-NEXT: [0,57]    .    .    .    .    .    .    .    .   D===============eER  .    .    .    .    .    .    .    .    .    .    .    .    .  .   sext.h	a0, a0
# CHECK-NEXT: [0,58]    .    .    .    .    .    .    .    .    D===============eER .    .    .    .    .    .    .    .    .    .    .    .    .  .   zext.h	a0, a0
# CHECK-NEXT: [0,59]    .    .    .    .    .    .    .    .    .D===============eER.    .    .    .    .    .    .    .    .    .    .    .    .  .   min	a0, a0, a0
# CHECK-NEXT: [0,60]    .    .    .    .    .    .    .    .    . D===============eER    .    .    .    .    .    .    .    .    .    .    .    .  .   minu	a0, a0, a0
# CHECK-NEXT: [0,61]    .    .    .    .    .    .    .    .    .  D===============eER   .    .    .    .    .    .    .    .    .    .    .    .  .   max	a0, a0, a0
# CHECK-NEXT: [0,62]    .    .    .    .    .    .    .    .    .   D===============eER  .    .    .    .    .    .    .    .    .    .    .    .  .   maxu	a0, a0, a0
# CHECK-NEXT: [0,63]    .    .    .    .    .    .    .    .    .    D===============eER .    .    .    .    .    .    .    .    .    .    .    .  .   rol	a0, a0, a0
# CHECK-NEXT: [0,64]    .    .    .    .    .    .    .    .    .    .D===============eER.    .    .    .    .    .    .    .    .    .    .    .  .   ror	a0, a0, a0
# CHECK-NEXT: [0,65]    .    .    .    .    .    .    .    .    .    . D===============eER    .    .    .    .    .    .    .    .    .    .    .  .   rori	a0, a0, 1
# CHECK-NEXT: [0,66]    .    .    .    .    .    .    .    .    .    . D================eeeER .    .    .    .    .    .    .    .    .    .    .  .   clz	a0, a0
# CHECK-NEXT: [0,67]    .    .    .    .    .    .    .    .    .    . D===================eeeER   .    .    .    .    .    .    .    .    .    .  .   clzw	a0, a0
# CHECK-NEXT: [0,68]    .    .    .    .    .    .    .    .    .    . D======================eeeER.    .    .    .    .    .    .    .    .    .  .   ctz	a0, a0
# CHECK-NEXT: [0,69]    .    .    .    .    .    .    .    .    .    . D=========================eeeER  .    .    .    .    .    .    .    .    .  .   ctzw	a0, a0
# CHECK-NEXT: [0,70]    .    .    .    .    .    .    .    .    .    . D============================eeeER    .    .    .    .    .    .    .    .  .   cpop	a0, a0
# CHECK-NEXT: [0,71]    .    .    .    .    .    .    .    .    .    .  D==============================eER   .    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,72]    .    .    .    .    .    .    .    .    .    .  D===============================eeeER.    .    .    .    .    .    .    .  .   cpopw	a0, a0
# CHECK-NEXT: [0,73]    .    .    .    .    .    .    .    .    .    .   D=================================eER    .    .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,74]    .    .    .    .    .    .    .    .    .    .    D=================================eER   .    .    .    .    .    .    .  .   rev8	a0, a0
# CHECK-NEXT: [0,75]    .    .    .    .    .    .    .    .    .    .    .D=================================eER  .    .    .    .    .    .    .  .   orc.b	a0, a0
# CHECK-NEXT: [0,76]    .    .    .    .    .    .    .    .    .    .    .D==================================eeeeeER  .    .    .    .    .    .  .   lb	a0, 0(a0)
# CHECK-NEXT: [0,77]    .    .    .    .    .    .    .    .    .    .    . D=====================================eER  .    .    .    .    .    .  .   add	a0, a0, a0
# CHECK-NEXT: [0,78]    .    .    .    .    .    .    .    .    .    .    . D======================================eeeeeER  .    .    .    .    .  .   lh	a0, 0(a0)
# CHECK-NEXT: [0,79]    .    .    .    .    .    .    .    .    .    .    .  D=========================================eER  .    .    .    .    .  .   and	a0, a0, a0
# CHECK-NEXT: [0,80]    .    .    .    .    .    .    .    .    .    .    .  D==========================================eeeeeER  .    .    .    .  .   lw	a0, 0(a0)
# CHECK-NEXT: [0,81]    .    .    .    .    .    .    .    .    .    .    .   D=============================================eER  .    .    .    .  .   or	a0, a0, a0
# CHECK-NEXT: [0,82]    .    .    .    .    .    .    .    .    .    .    .   D==============================================eeeeeER  .    .    .  .   ld	a0, 0(a0)
# CHECK-NEXT: [0,83]    .    .    .    .    .    .    .    .    .    .    .    D=================================================eER  .    .    .  .   xor	a0, a0, a0
# CHECK-NEXT: [0,84]    .    .    .    .    .    .    .    .    .    .    .    D==================================================eeeeeER  .    .  .   lbu	a0, 0(a0)
# CHECK-NEXT: [0,85]    .    .    .    .    .    .    .    .    .    .    .    .D=====================================================eER  .    .  .   addi	a0, a0, 1
# CHECK-NEXT: [0,86]    .    .    .    .    .    .    .    .    .    .    .    .D======================================================eeeeeER  .  .   lhu	a0, 0(a0)
# CHECK-NEXT: [0,87]    .    .    .    .    .    .    .    .    .    .    .    . D=========================================================eER  .  .   sub	a0, a0, a0
# CHECK-NEXT: [0,88]    .    .    .    .    .    .    .    .    .    .    .    . D==========================================================eeeeeER.   lwu	a0, 0(a0)
# CHECK-NEXT: [0,89]    .    .    .    .    .    .    .    .    .    .    .    .  D=============================================================eER.   addw	a0, a0, a0
# CHECK-NEXT: [0,90]    .    .    .    .    .    .    .    .    .    .    .    .  D==============================================================eER   jr	a0

# CHECK:      Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage

# CHECK:            [0]    [1]    [2]    [3]
# CHECK-NEXT: 0.     1     1.0    1.0    0.0       lui	a0, 1
# CHECK-NEXT: 1.     1     1.0    1.0    0.0       auipc	a1, 1
# CHECK-NEXT: 2.     1     2.0    0.0    0.0       add	a0, a0, a1
# CHECK-NEXT: 3.     1     3.0    0.0    0.0       addi	a0, a0, 1
# CHECK-NEXT: 4.     1     4.0    0.0    0.0       addw	a0, a0, a0
# CHECK-NEXT: 5.     1     5.0    0.0    0.0       addiw	a0, a0, 1
# CHECK-NEXT: 6.     1     5.0    0.0    0.0       sub	a0, a0, a0
# CHECK-NEXT: 7.     1     6.0    0.0    0.0       subw	a0, a0, a0
# CHECK-NEXT: 8.     1     7.0    0.0    0.0       and	a0, a0, a0
# CHECK-NEXT: 9.     1     8.0    0.0    0.0       andi	a0, a0, 1
# CHECK-NEXT: 10.    1     9.0    0.0    0.0       or	a0, a0, a0
# CHECK-NEXT: 11.    1     10.0   0.0    0.0       ori	a0, a0, 1
# CHECK-NEXT: 12.    1     10.0   0.0    0.0       xor	a0, a0, a0
# CHECK-NEXT: 13.    1     11.0   0.0    0.0       xori	a0, a0, 1
# CHECK-NEXT: 14.    1     12.0   0.0    0.0       sll	a0, a0, a0
# CHECK-NEXT: 15.    1     13.0   0.0    0.0       slli	a0, a0, 1
# CHECK-NEXT: 16.    1     14.0   0.0    0.0       sllw	a0, a0, a0
# CHECK-NEXT: 17.    1     15.0   0.0    0.0       slliw	a0, a0, 1
# CHECK-NEXT: 18.    1     15.0   0.0    0.0       srl	a0, a0, a0
# CHECK-NEXT: 19.    1     16.0   0.0    0.0       srli	a0, a0, 1
# CHECK-NEXT: 20.    1     16.0   0.0    0.0       srlw	a0, a0, a0
# CHECK-NEXT: 21.    1     16.0   0.0    0.0       srliw	a0, a0, 1
# CHECK-NEXT: 22.    1     16.0   0.0    0.0       sra	a0, a0, a0
# CHECK-NEXT: 23.    1     16.0   0.0    0.0       srai	a0, a0, 1
# CHECK-NEXT: 24.    1     16.0   0.0    0.0       sraw	a0, a0, a0
# CHECK-NEXT: 25.    1     16.0   0.0    0.0       sraiw	a0, a0, 1
# CHECK-NEXT: 26.    1     16.0   0.0    0.0       slt	a0, a0, a0
# CHECK-NEXT: 27.    1     16.0   0.0    0.0       slti	a0, a0, 1
# CHECK-NEXT: 28.    1     16.0   0.0    0.0       sltu	a0, a0, a0
# CHECK-NEXT: 29.    1     16.0   0.0    0.0       seqz	a0, a0
# CHECK-NEXT: 30.    1     17.0   0.0    0.0       mul	a0, a0, a0
# CHECK-NEXT: 31.    1     19.0   0.0    0.0       add	a0, a0, a0
# CHECK-NEXT: 32.    1     20.0   0.0    0.0       mulw	a0, a0, a0
# CHECK-NEXT: 33.    1     22.0   0.0    0.0       add	a0, a0, a0
# CHECK-NEXT: 34.    1     23.0   0.0    0.0       beq	a0, a0, .Ltmp0
# CHECK-NEXT: 35.    1     22.0   0.0    0.0       add	a0, a0, a0
# CHECK-NEXT: 36.    1     23.0   0.0    0.0       bne	a0, a0, .Ltmp1
# CHECK-NEXT: 37.    1     22.0   0.0    0.0       add	a0, a0, a0
# CHECK-NEXT: 38.    1     23.0   0.0    0.0       blt	a0, a0, .Ltmp2
# CHECK-NEXT: 39.    1     22.0   0.0    0.0       add	a0, a0, a0
# CHECK-NEXT: 40.    1     23.0   0.0    0.0       bltu	a0, a0, .Ltmp3
# CHECK-NEXT: 41.    1     22.0   0.0    0.0       add	a0, a0, a0
# CHECK-NEXT: 42.    1     23.0   0.0    0.0       bge	a0, a0, .Ltmp4
# CHECK-NEXT: 43.    1     22.0   0.0    0.0       add	a0, a0, a0
# CHECK-NEXT: 44.    1     23.0   0.0    0.0       bgeu	a0, a0, .Ltmp5
# CHECK-NEXT: 45.    1     22.0   0.0    0.0       add.uw	a0, a0, a0
# CHECK-NEXT: 46.    1     22.0   0.0    0.0       slli.uw	a0, a0, 1
# CHECK-NEXT: 47.    1     22.0   0.0    0.0       sh1add.uw	a0, a0, a0
# CHECK-NEXT: 48.    1     22.0   0.0    0.0       sh2add.uw	a0, a0, a0
# CHECK-NEXT: 49.    1     22.0   0.0    0.0       sh3add.uw	a0, a0, a0
# CHECK-NEXT: 50.    1     22.0   0.0    0.0       sh1add	a0, a0, a0
# CHECK-NEXT: 51.    1     22.0   0.0    0.0       sh2add	a0, a0, a0
# CHECK-NEXT: 52.    1     22.0   0.0    0.0       sh3add	a0, a0, a0
# CHECK-NEXT: 53.    1     22.0   0.0    0.0       andn	a0, a0, a0
# CHECK-NEXT: 54.    1     19.0   0.0    0.0       orn	a0, a0, a0
# CHECK-NEXT: 55.    1     16.0   0.0    0.0       xnor	a0, a0, a0
# CHECK-NEXT: 56.    1     16.0   0.0    0.0       sext.b	a0, a0
# CHECK-NEXT: 57.    1     16.0   0.0    0.0       sext.h	a0, a0
# CHECK-NEXT: 58.    1     16.0   0.0    0.0       zext.h	a0, a0
# CHECK-NEXT: 59.    1     16.0   0.0    0.0       min	a0, a0, a0
# CHECK-NEXT: 60.    1     16.0   0.0    0.0       minu	a0, a0, a0
# CHECK-NEXT: 61.    1     16.0   0.0    0.0       max	a0, a0, a0
# CHECK-NEXT: 62.    1     16.0   0.0    0.0       maxu	a0, a0, a0
# CHECK-NEXT: 63.    1     16.0   0.0    0.0       rol	a0, a0, a0
# CHECK-NEXT: 64.    1     16.0   0.0    0.0       ror	a0, a0, a0
# CHECK-NEXT: 65.    1     16.0   0.0    0.0       rori	a0, a0, 1
# CHECK-NEXT: 66.    1     17.0   0.0    0.0       clz	a0, a0
# CHECK-NEXT: 67.    1     20.0   0.0    0.0       clzw	a0, a0
# CHECK-NEXT: 68.    1     23.0   0.0    0.0       ctz	a0, a0
# CHECK-NEXT: 69.    1     26.0   0.0    0.0       ctzw	a0, a0
# CHECK-NEXT: 70.    1     29.0   0.0    0.0       cpop	a0, a0
# CHECK-NEXT: 71.    1     31.0   0.0    0.0       add	a0, a0, a0
# CHECK-NEXT: 72.    1     32.0   0.0    0.0       cpopw	a0, a0
# CHECK-NEXT: 73.    1     34.0   0.0    0.0       add	a0, a0, a0
# CHECK-NEXT: 74.    1     34.0   0.0    0.0       rev8	a0, a0
# CHECK-NEXT: 75.    1     34.0   0.0    0.0       orc.b	a0, a0
# CHECK-NEXT: 76.    1     35.0   0.0    0.0       lb	a0, 0(a0)
# CHECK-NEXT: 77.    1     38.0   0.0    0.0       add	a0, a0, a0
# CHECK-NEXT: 78.    1     39.0   0.0    0.0       lh	a0, 0(a0)
# CHECK-NEXT: 79.    1     42.0   0.0    0.0       and	a0, a0, a0
# CHECK-NEXT: 80.    1     43.0   0.0    0.0       lw	a0, 0(a0)
# CHECK-NEXT: 81.    1     46.0   0.0    0.0       or	a0, a0, a0
# CHECK-NEXT: 82.    1     47.0   0.0    0.0       ld	a0, 0(a0)
# CHECK-NEXT: 83.    1     50.0   0.0    0.0       xor	a0, a0, a0
# CHECK-NEXT: 84.    1     51.0   0.0    0.0       lbu	a0, 0(a0)
# CHECK-NEXT: 85.    1     54.0   0.0    0.0       addi	a0, a0, 1
# CHECK-NEXT: 86.    1     55.0   0.0    0.0       lhu	a0, 0(a0)
# CHECK-NEXT: 87.    1     58.0   0.0    0.0       sub	a0, a0, a0
# CHECK-NEXT: 88.    1     59.0   0.0    0.0       lwu	a0, 0(a0)
# CHECK-NEXT: 89.    1     62.0   0.0    0.0       addw	a0, a0, a0
# CHECK-NEXT: 90.    1     63.0   0.0    0.0       jr	a0
# CHECK-NEXT:        1     22.7   0.0    0.0       <total>