[llvm] 628b004 - [RISCV] Add bypass for ReadJalr in SiFive7 scheduler model.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 26 23:02:21 PDT 2023
Author: Craig Topper
Date: 2023-06-26T23:02:14-07:00
New Revision: 628b0048177ee442bda92489b08e10f04a0353ee
URL: https://github.com/llvm/llvm-project/commit/628b0048177ee442bda92489b08e10f04a0353ee
DIFF: https://github.com/llvm/llvm-project/commit/628b0048177ee442bda92489b08e10f04a0353ee.diff
LOG: [RISCV] Add bypass for ReadJalr in SiFive7 scheduler model.
Added:
Modified:
llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s
llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td b/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
index c4575be90e632..2db8cd015b51a 100644
--- a/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
+++ b/llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
@@ -914,7 +914,7 @@ def : InstRW<[WriteIALU], (instrs COPY)>;
// Bypass and advance
def : SiFive7AnyToGPRBypass<ReadJmp>;
-def : ReadAdvance<ReadJalr, 0>;
+def : SiFive7AnyToGPRBypass<ReadJalr>;
def : ReadAdvance<ReadCSR, 0>;
def : ReadAdvance<ReadStoreData, 0>;
def : ReadAdvance<ReadMemBase, 0>;
diff --git a/llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s b/llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s
index cc5ea2d2ab18a..86b7e51b40588 100644
--- a/llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s
+++ b/llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s
@@ -22,16 +22,18 @@ beqz a0, 1f
c.add a0, a0
bnez a0, 1f
1:
+c.add a0, a0
+c.jr a0
# CHECK: Iterations: 1
-# CHECK-NEXT: Instructions: 18
-# CHECK-NEXT: Total Cycles: 20
-# CHECK-NEXT: Total uOps: 18
+# CHECK-NEXT: Instructions: 20
+# CHECK-NEXT: Total Cycles: 21
+# CHECK-NEXT: Total uOps: 20
# CHECK: Dispatch Width: 2
-# CHECK-NEXT: uOps Per Cycle: 0.90
-# CHECK-NEXT: IPC: 0.90
-# CHECK-NEXT: Block RThroughput: 9.0
+# CHECK-NEXT: uOps Per Cycle: 0.95
+# CHECK-NEXT: IPC: 0.95
+# CHECK-NEXT: Block RThroughput: 10.0
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -60,6 +62,8 @@ bnez a0, 1f
# CHECK-NEXT: 1 3 1.00 beqz a0, .Ltmp0
# CHECK-NEXT: 1 3 0.50 add a0, a0, a0
# CHECK-NEXT: 1 3 1.00 bnez a0, .Ltmp1
+# CHECK-NEXT: 1 3 0.50 add a0, a0, a0
+# CHECK-NEXT: 1 3 1.00 jr a0
# CHECK: Resources:
# CHECK-NEXT: [0] - SiFive7FDiv
@@ -73,7 +77,7 @@ bnez a0, 1f
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: - - 8.00 10.00 - - - -
+# CHECK-NEXT: - - 9.00 11.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -95,29 +99,33 @@ bnez a0, 1f
# CHECK-NEXT: - - - 1.00 - - - - beqz a0, .Ltmp0
# CHECK-NEXT: - - 1.00 - - - - - add a0, a0, a0
# CHECK-NEXT: - - - 1.00 - - - - bnez a0, .Ltmp1
+# CHECK-NEXT: - - 1.00 - - - - - add a0, a0, a0
+# CHECK-NEXT: - - - 1.00 - - - - jr a0
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789
-# CHECK-NEXT: Index 0123456789
+# CHECK-NEXT: Index 0123456789 0
-# CHECK: [0,0] DeeE . . . . lui a0, 1
-# CHECK-NEXT: [0,1] .DeeE. . . . add a0, a0, a0
-# CHECK-NEXT: [0,2] . DeeE . . . addi a0, a0, 1
-# CHECK-NEXT: [0,3] . DeeE . . . addw a0, a0, a0
-# CHECK-NEXT: [0,4] . DeeE . . . addiw a0, a0, 1
-# CHECK-NEXT: [0,5] . DeeE . . . sub a0, a0, a0
-# CHECK-NEXT: [0,6] . .DeeE. . . subw a0, a0, a0
-# CHECK-NEXT: [0,7] . . DeeE . . and a0, a0, a0
-# CHECK-NEXT: [0,8] . . DeeE . . andi a0, a0, 1
-# CHECK-NEXT: [0,9] . . DeeE . . or a0, a0, a0
-# CHECK-NEXT: [0,10] . . DeeE . . xor a0, a0, a0
-# CHECK-NEXT: [0,11] . . .DeeE. . slli a0, a0, 1
-# CHECK-NEXT: [0,12] . . . DeeE . srli a0, a0, 1
-# CHECK-NEXT: [0,13] . . . DeeE . srai a0, a0, 1
-# CHECK-NEXT: [0,14] . . . DeeE . add a0, a0, a0
-# CHECK-NEXT: [0,15] . . . DeeE. beqz a0, .Ltmp0
-# CHECK-NEXT: [0,16] . . . DeeE. add a0, a0, a0
-# CHECK-NEXT: [0,17] . . . .DeeE bnez a0, .Ltmp1
+# CHECK: [0,0] DeeE . . . . lui a0, 1
+# CHECK-NEXT: [0,1] .DeeE. . . . add a0, a0, a0
+# CHECK-NEXT: [0,2] . DeeE . . . addi a0, a0, 1
+# CHECK-NEXT: [0,3] . DeeE . . . addw a0, a0, a0
+# CHECK-NEXT: [0,4] . DeeE . . . addiw a0, a0, 1
+# CHECK-NEXT: [0,5] . DeeE . . . sub a0, a0, a0
+# CHECK-NEXT: [0,6] . .DeeE. . . subw a0, a0, a0
+# CHECK-NEXT: [0,7] . . DeeE . . and a0, a0, a0
+# CHECK-NEXT: [0,8] . . DeeE . . andi a0, a0, 1
+# CHECK-NEXT: [0,9] . . DeeE . . or a0, a0, a0
+# CHECK-NEXT: [0,10] . . DeeE . . xor a0, a0, a0
+# CHECK-NEXT: [0,11] . . .DeeE. . slli a0, a0, 1
+# CHECK-NEXT: [0,12] . . . DeeE . srli a0, a0, 1
+# CHECK-NEXT: [0,13] . . . DeeE . srai a0, a0, 1
+# CHECK-NEXT: [0,14] . . . DeeE . add a0, a0, a0
+# CHECK-NEXT: [0,15] . . . DeeE . beqz a0, .Ltmp0
+# CHECK-NEXT: [0,16] . . . DeeE . add a0, a0, a0
+# CHECK-NEXT: [0,17] . . . .DeeE. bnez a0, .Ltmp1
+# CHECK-NEXT: [0,18] . . . .DeeE. add a0, a0, a0
+# CHECK-NEXT: [0,19] . . . . DeeE jr a0
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -144,4 +152,6 @@ bnez a0, 1f
# CHECK-NEXT: 15. 1 0.0 0.0 0.0 beqz a0, .Ltmp0
# CHECK-NEXT: 16. 1 0.0 0.0 0.0 add a0, a0, a0
# CHECK-NEXT: 17. 1 0.0 0.0 0.0 bnez a0, .Ltmp1
+# CHECK-NEXT: 18. 1 0.0 0.0 0.0 add a0, a0, a0
+# CHECK-NEXT: 19. 1 0.0 0.0 0.0 jr a0
# CHECK-NEXT: 1 0.0 0.0 0.0 <total>
diff --git a/llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s b/llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
index 7579c88da0a80..491e3bb1aa674 100644
--- a/llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
+++ b/llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
@@ -100,16 +100,17 @@ lhu a0, 0(a0)
sub a0, a0, a0
lwu a0, 0(a0)
addw a0, a0, a0
+jr a0
# CHECK: Iterations: 1
-# CHECK-NEXT: Instructions: 90
-# CHECK-NEXT: Total Cycles: 108
-# CHECK-NEXT: Total uOps: 90
+# CHECK-NEXT: Instructions: 91
+# CHECK-NEXT: Total Cycles: 109
+# CHECK-NEXT: Total uOps: 91
# CHECK: Dispatch Width: 2
# CHECK-NEXT: uOps Per Cycle: 0.83
# CHECK-NEXT: IPC: 0.83
-# CHECK-NEXT: Block RThroughput: 45.0
+# CHECK-NEXT: Block RThroughput: 45.5
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -210,6 +211,7 @@ addw a0, a0, a0
# CHECK-NEXT: 1 3 0.50 sub a0, a0, a0
# CHECK-NEXT: 1 3 1.00 * lwu a0, 0(a0)
# CHECK-NEXT: 1 3 0.50 addw a0, a0, a0
+# CHECK-NEXT: 1 3 1.00 jr a0
# CHECK: Resources:
# CHECK-NEXT: [0] - SiFive7FDiv
@@ -223,7 +225,7 @@ addw a0, a0, a0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: - - 39.00 51.00 - - - -
+# CHECK-NEXT: - - 39.00 52.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -317,101 +319,103 @@ addw a0, a0, 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
-# CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789 0123456789 01234567
+# CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789 0123456789 012345678
-# CHECK: [0,0] DeeE . . . . . . . . . . . . . . . . . . . . . . lui a0, 1
-# CHECK-NEXT: [0,1] DeeE . . . . . . . . . . . . . . . . . . . . . . auipc a1, 1
-# CHECK-NEXT: [0,2] .DeeE. . . . . . . . . . . . . . . . . . . . . . add a0, a0, a1
-# CHECK-NEXT: [0,3] . DeeE . . . . . . . . . . . . . . . . . . . . . addi a0, a0, 1
-# CHECK-NEXT: [0,4] . DeeE . . . . . . . . . . . . . . . . . . . . . addw a0, a0, a0
-# CHECK-NEXT: [0,5] . DeeE . . . . . . . . . . . . . . . . . . . . . addiw a0, a0, 1
-# CHECK-NEXT: [0,6] . DeeE . . . . . . . . . . . . . . . . . . . . . sub a0, a0, a0
-# CHECK-NEXT: [0,7] . .DeeE. . . . . . . . . . . . . . . . . . . . . subw a0, a0, a0
-# CHECK-NEXT: [0,8] . . DeeE . . . . . . . . . . . . . . . . . . . . and a0, a0, a0
-# CHECK-NEXT: [0,9] . . DeeE . . . . . . . . . . . . . . . . . . . . andi a0, a0, 1
-# CHECK-NEXT: [0,10] . . DeeE . . . . . . . . . . . . . . . . . . . . or a0, a0, a0
-# CHECK-NEXT: [0,11] . . DeeE . . . . . . . . . . . . . . . . . . . . ori a0, a0, 1
-# CHECK-NEXT: [0,12] . . .DeeE. . . . . . . . . . . . . . . . . . . . xor a0, a0, a0
-# CHECK-NEXT: [0,13] . . . DeeE . . . . . . . . . . . . . . . . . . . xori a0, a0, 1
-# CHECK-NEXT: [0,14] . . . DeeE . . . . . . . . . . . . . . . . . . . sll a0, a0, a0
-# CHECK-NEXT: [0,15] . . . DeeE . . . . . . . . . . . . . . . . . . . slli a0, a0, 1
-# CHECK-NEXT: [0,16] . . . DeeE . . . . . . . . . . . . . . . . . . . sllw a0, a0, a0
-# CHECK-NEXT: [0,17] . . . .DeeE. . . . . . . . . . . . . . . . . . . slliw a0, a0, 1
-# CHECK-NEXT: [0,18] . . . . DeeE . . . . . . . . . . . . . . . . . . srl a0, a0, a0
-# CHECK-NEXT: [0,19] . . . . DeeE . . . . . . . . . . . . . . . . . . srli a0, a0, 1
-# CHECK-NEXT: [0,20] . . . . DeeE . . . . . . . . . . . . . . . . . . srlw a0, a0, a0
-# CHECK-NEXT: [0,21] . . . . DeeE . . . . . . . . . . . . . . . . . . srliw a0, a0, 1
-# CHECK-NEXT: [0,22] . . . . .DeeE. . . . . . . . . . . . . . . . . . sra a0, a0, a0
-# CHECK-NEXT: [0,23] . . . . . DeeE . . . . . . . . . . . . . . . . . srai a0, a0, 1
-# CHECK-NEXT: [0,24] . . . . . DeeE . . . . . . . . . . . . . . . . . sraw a0, a0, a0
-# CHECK-NEXT: [0,25] . . . . . DeeE . . . . . . . . . . . . . . . . . sraiw a0, a0, 1
-# CHECK-NEXT: [0,26] . . . . . DeeE . . . . . . . . . . . . . . . . . slt a0, a0, a0
-# CHECK-NEXT: [0,27] . . . . . .DeeE. . . . . . . . . . . . . . . . . slti a0, a0, 1
-# CHECK-NEXT: [0,28] . . . . . . DeeE . . . . . . . . . . . . . . . . sltu a0, a0, a0
-# CHECK-NEXT: [0,29] . . . . . . DeeE . . . . . . . . . . . . . . . . seqz a0, a0
-# CHECK-NEXT: [0,30] . . . . . . .DeeE. . . . . . . . . . . . . . . . mul a0, a0, a0
-# CHECK-NEXT: [0,31] . . . . . . . DeeE . . . . . . . . . . . . . . . add a0, a0, a0
-# CHECK-NEXT: [0,32] . . . . . . . DeeE . . . . . . . . . . . . . . . mulw a0, a0, a0
-# CHECK-NEXT: [0,33] . . . . . . . .DeeE. . . . . . . . . . . . . . . add a0, a0, a0
-# CHECK-NEXT: [0,34] . . . . . . . . DeeE . . . . . . . . . . . . . . beq a0, a0, .Ltmp0
-# CHECK-NEXT: [0,35] . . . . . . . . DeeE . . . . . . . . . . . . . . add a0, a0, a0
-# CHECK-NEXT: [0,36] . . . . . . . . DeeE . . . . . . . . . . . . . . bne a0, a0, .Ltmp1
-# CHECK-NEXT: [0,37] . . . . . . . . DeeE . . . . . . . . . . . . . . add a0, a0, a0
-# CHECK-NEXT: [0,38] . . . . . . . . DeeE . . . . . . . . . . . . . . blt a0, a0, .Ltmp2
-# CHECK-NEXT: [0,39] . . . . . . . . DeeE . . . . . . . . . . . . . . add a0, a0, a0
-# CHECK-NEXT: [0,40] . . . . . . . . DeeE . . . . . . . . . . . . . . bltu a0, a0, .Ltmp3
-# CHECK-NEXT: [0,41] . . . . . . . . DeeE . . . . . . . . . . . . . . add a0, a0, a0
-# CHECK-NEXT: [0,42] . . . . . . . . .DeeE. . . . . . . . . . . . . . bge a0, a0, .Ltmp4
-# CHECK-NEXT: [0,43] . . . . . . . . .DeeE. . . . . . . . . . . . . . add a0, a0, a0
-# CHECK-NEXT: [0,44] . . . . . . . . . DeeE . . . . . . . . . . . . . bgeu a0, a0, .Ltmp5
-# CHECK-NEXT: [0,45] . . . . . . . . . DeeE . . . . . . . . . . . . . add.uw a0, a0, a0
-# CHECK-NEXT: [0,46] . . . . . . . . . DeeE . . . . . . . . . . . . . slli.uw a0, a0, 1
-# CHECK-NEXT: [0,47] . . . . . . . . . DeeE . . . . . . . . . . . . . sh1add.uw a0, a0, a0
-# CHECK-NEXT: [0,48] . . . . . . . . . DeeE . . . . . . . . . . . . . sh2add.uw a0, a0, a0
-# CHECK-NEXT: [0,49] . . . . . . . . . .DeeE. . . . . . . . . . . . . sh3add.uw a0, a0, a0
-# CHECK-NEXT: [0,50] . . . . . . . . . . DeeE . . . . . . . . . . . . sh1add a0, a0, a0
-# CHECK-NEXT: [0,51] . . . . . . . . . . DeeE . . . . . . . . . . . . sh2add a0, a0, a0
-# CHECK-NEXT: [0,52] . . . . . . . . . . DeeE . . . . . . . . . . . . sh3add a0, a0, a0
-# CHECK-NEXT: [0,53] . . . . . . . . . . DeeE . . . . . . . . . . . . andn a0, a0, a0
-# CHECK-NEXT: [0,54] . . . . . . . . . . .DeeE. . . . . . . . . . . . orn a0, a0, a0
-# CHECK-NEXT: [0,55] . . . . . . . . . . . DeeE . . . . . . . . . . . xnor a0, a0, a0
-# CHECK-NEXT: [0,56] . . . . . . . . . . . DeeE . . . . . . . . . . . sext.b a0, a0
-# CHECK-NEXT: [0,57] . . . . . . . . . . . DeeE . . . . . . . . . . . sext.h a0, a0
-# CHECK-NEXT: [0,58] . . . . . . . . . . . DeeE . . . . . . . . . . . zext.h a0, a0
-# CHECK-NEXT: [0,59] . . . . . . . . . . . .DeeE. . . . . . . . . . . min a0, a0, a0
-# CHECK-NEXT: [0,60] . . . . . . . . . . . . DeeE . . . . . . . . . . minu a0, a0, a0
-# CHECK-NEXT: [0,61] . . . . . . . . . . . . DeeE . . . . . . . . . . max a0, a0, a0
-# CHECK-NEXT: [0,62] . . . . . . . . . . . . DeeE . . . . . . . . . . maxu a0, a0, a0
-# CHECK-NEXT: [0,63] . . . . . . . . . . . . DeeE . . . . . . . . . . rol a0, a0, a0
-# CHECK-NEXT: [0,64] . . . . . . . . . . . . .DeeE. . . . . . . . . . ror a0, a0, a0
-# CHECK-NEXT: [0,65] . . . . . . . . . . . . . DeeE . . . . . . . . . rori a0, a0, 1
-# CHECK-NEXT: [0,66] . . . . . . . . . . . . . DeeE . . . . . . . . . clz a0, a0
-# CHECK-NEXT: [0,67] . . . . . . . . . . . . . DeeE . . . . . . . . . clzw a0, a0
-# CHECK-NEXT: [0,68] . . . . . . . . . . . . . DeeE . . . . . . . . . ctz a0, a0
-# CHECK-NEXT: [0,69] . . . . . . . . . . . . . .DeeE. . . . . . . . . ctzw a0, a0
-# CHECK-NEXT: [0,70] . . . . . . . . . . . . . . DeeE . . . . . . . . cpop a0, a0
-# CHECK-NEXT: [0,71] . . . . . . . . . . . . . . DeeE . . . . . . . . add a0, a0, a0
-# CHECK-NEXT: [0,72] . . . . . . . . . . . . . . . DeeE . . . . . . . cpopw a0, a0
-# CHECK-NEXT: [0,73] . . . . . . . . . . . . . . . DeeE . . . . . . . add a0, a0, a0
-# CHECK-NEXT: [0,74] . . . . . . . . . . . . . . . DeeE . . . . . . . rev8 a0, a0
-# CHECK-NEXT: [0,75] . . . . . . . . . . . . . . . .DeeE. . . . . . . orc.b a0, a0
-# CHECK-NEXT: [0,76] . . . . . . . . . . . . . . . . DeeE . . . . . . lb a0, 0(a0)
-# CHECK-NEXT: [0,77] . . . . . . . . . . . . . . . . DeeE . . . . . . add a0, a0, a0
-# CHECK-NEXT: [0,78] . . . . . . . . . . . . . . . . . DeeE . . . . . lh a0, 0(a0)
-# CHECK-NEXT: [0,79] . . . . . . . . . . . . . . . . . DeeE . . . . . and a0, a0, a0
-# CHECK-NEXT: [0,80] . . . . . . . . . . . . . . . . . . DeeE . . . . lw a0, 0(a0)
-# CHECK-NEXT: [0,81] . . . . . . . . . . . . . . . . . . DeeE . . . . or a0, a0, a0
-# CHECK-NEXT: [0,82] . . . . . . . . . . . . . . . . . . .DeeE. . . . ld a0, 0(a0)
-# CHECK-NEXT: [0,83] . . . . . . . . . . . . . . . . . . . DeeE . . . xor a0, a0, a0
-# CHECK-NEXT: [0,84] . . . . . . . . . . . . . . . . . . . DeeE . . . lbu a0, 0(a0)
-# CHECK-NEXT: [0,85] . . . . . . . . . . . . . . . . . . . .DeeE. . . addi a0, a0, 1
-# CHECK-NEXT: [0,86] . . . . . . . . . . . . . . . . . . . . DeeE . . lhu a0, 0(a0)
-# CHECK-NEXT: [0,87] . . . . . . . . . . . . . . . . . . . . DeeE . . sub a0, a0, a0
-# CHECK-NEXT: [0,88] . . . . . . . . . . . . . . . . . . . . . DeeE. lwu a0, 0(a0)
-# CHECK-NEXT: [0,89] . . . . . . . . . . . . . . . . . . . . . DeeE addw a0, a0, a0
+# CHECK: [0,0] DeeE . . . . . . . . . . . . . . . . . . . . . . lui a0, 1
+# CHECK-NEXT: [0,1] DeeE . . . . . . . . . . . . . . . . . . . . . . auipc a1, 1
+# CHECK-NEXT: [0,2] .DeeE. . . . . . . . . . . . . . . . . . . . . . add a0, a0, a1
+# CHECK-NEXT: [0,3] . DeeE . . . . . . . . . . . . . . . . . . . . . addi a0, a0, 1
+# CHECK-NEXT: [0,4] . DeeE . . . . . . . . . . . . . . . . . . . . . addw a0, a0, a0
+# CHECK-NEXT: [0,5] . DeeE . . . . . . . . . . . . . . . . . . . . . addiw a0, a0, 1
+# CHECK-NEXT: [0,6] . DeeE . . . . . . . . . . . . . . . . . . . . . sub a0, a0, a0
+# CHECK-NEXT: [0,7] . .DeeE. . . . . . . . . . . . . . . . . . . . . subw a0, a0, a0
+# CHECK-NEXT: [0,8] . . DeeE . . . . . . . . . . . . . . . . . . . . and a0, a0, a0
+# CHECK-NEXT: [0,9] . . DeeE . . . . . . . . . . . . . . . . . . . . andi a0, a0, 1
+# CHECK-NEXT: [0,10] . . DeeE . . . . . . . . . . . . . . . . . . . . or a0, a0, a0
+# CHECK-NEXT: [0,11] . . DeeE . . . . . . . . . . . . . . . . . . . . ori a0, a0, 1
+# CHECK-NEXT: [0,12] . . .DeeE. . . . . . . . . . . . . . . . . . . . xor a0, a0, a0
+# CHECK-NEXT: [0,13] . . . DeeE . . . . . . . . . . . . . . . . . . . xori a0, a0, 1
+# CHECK-NEXT: [0,14] . . . DeeE . . . . . . . . . . . . . . . . . . . sll a0, a0, a0
+# CHECK-NEXT: [0,15] . . . DeeE . . . . . . . . . . . . . . . . . . . slli a0, a0, 1
+# CHECK-NEXT: [0,16] . . . DeeE . . . . . . . . . . . . . . . . . . . sllw a0, a0, a0
+# CHECK-NEXT: [0,17] . . . .DeeE. . . . . . . . . . . . . . . . . . . slliw a0, a0, 1
+# CHECK-NEXT: [0,18] . . . . DeeE . . . . . . . . . . . . . . . . . . srl a0, a0, a0
+# CHECK-NEXT: [0,19] . . . . DeeE . . . . . . . . . . . . . . . . . . srli a0, a0, 1
+# CHECK-NEXT: [0,20] . . . . DeeE . . . . . . . . . . . . . . . . . . srlw a0, a0, a0
+# CHECK-NEXT: [0,21] . . . . DeeE . . . . . . . . . . . . . . . . . . srliw a0, a0, 1
+# CHECK-NEXT: [0,22] . . . . .DeeE. . . . . . . . . . . . . . . . . . sra a0, a0, a0
+# CHECK-NEXT: [0,23] . . . . . DeeE . . . . . . . . . . . . . . . . . srai a0, a0, 1
+# CHECK-NEXT: [0,24] . . . . . DeeE . . . . . . . . . . . . . . . . . sraw a0, a0, a0
+# CHECK-NEXT: [0,25] . . . . . DeeE . . . . . . . . . . . . . . . . . sraiw a0, a0, 1
+# CHECK-NEXT: [0,26] . . . . . DeeE . . . . . . . . . . . . . . . . . slt a0, a0, a0
+# CHECK-NEXT: [0,27] . . . . . .DeeE. . . . . . . . . . . . . . . . . slti a0, a0, 1
+# CHECK-NEXT: [0,28] . . . . . . DeeE . . . . . . . . . . . . . . . . sltu a0, a0, a0
+# CHECK-NEXT: [0,29] . . . . . . DeeE . . . . . . . . . . . . . . . . seqz a0, a0
+# CHECK-NEXT: [0,30] . . . . . . .DeeE. . . . . . . . . . . . . . . . mul a0, a0, a0
+# CHECK-NEXT: [0,31] . . . . . . . DeeE . . . . . . . . . . . . . . . add a0, a0, a0
+# CHECK-NEXT: [0,32] . . . . . . . DeeE . . . . . . . . . . . . . . . mulw a0, a0, a0
+# CHECK-NEXT: [0,33] . . . . . . . .DeeE. . . . . . . . . . . . . . . add a0, a0, a0
+# CHECK-NEXT: [0,34] . . . . . . . . DeeE . . . . . . . . . . . . . . beq a0, a0, .Ltmp0
+# CHECK-NEXT: [0,35] . . . . . . . . DeeE . . . . . . . . . . . . . . add a0, a0, a0
+# CHECK-NEXT: [0,36] . . . . . . . . DeeE . . . . . . . . . . . . . . bne a0, a0, .Ltmp1
+# CHECK-NEXT: [0,37] . . . . . . . . DeeE . . . . . . . . . . . . . . add a0, a0, a0
+# CHECK-NEXT: [0,38] . . . . . . . . DeeE . . . . . . . . . . . . . . blt a0, a0, .Ltmp2
+# CHECK-NEXT: [0,39] . . . . . . . . DeeE . . . . . . . . . . . . . . add a0, a0, a0
+# CHECK-NEXT: [0,40] . . . . . . . . DeeE . . . . . . . . . . . . . . bltu a0, a0, .Ltmp3
+# CHECK-NEXT: [0,41] . . . . . . . . DeeE . . . . . . . . . . . . . . add a0, a0, a0
+# CHECK-NEXT: [0,42] . . . . . . . . .DeeE. . . . . . . . . . . . . . bge a0, a0, .Ltmp4
+# CHECK-NEXT: [0,43] . . . . . . . . .DeeE. . . . . . . . . . . . . . add a0, a0, a0
+# CHECK-NEXT: [0,44] . . . . . . . . . DeeE . . . . . . . . . . . . . bgeu a0, a0, .Ltmp5
+# CHECK-NEXT: [0,45] . . . . . . . . . DeeE . . . . . . . . . . . . . add.uw a0, a0, a0
+# CHECK-NEXT: [0,46] . . . . . . . . . DeeE . . . . . . . . . . . . . slli.uw a0, a0, 1
+# CHECK-NEXT: [0,47] . . . . . . . . . DeeE . . . . . . . . . . . . . sh1add.uw a0, a0, a0
+# CHECK-NEXT: [0,48] . . . . . . . . . DeeE . . . . . . . . . . . . . sh2add.uw a0, a0, a0
+# CHECK-NEXT: [0,49] . . . . . . . . . .DeeE. . . . . . . . . . . . . sh3add.uw a0, a0, a0
+# CHECK-NEXT: [0,50] . . . . . . . . . . DeeE . . . . . . . . . . . . sh1add a0, a0, a0
+# CHECK-NEXT: [0,51] . . . . . . . . . . DeeE . . . . . . . . . . . . sh2add a0, a0, a0
+# CHECK-NEXT: [0,52] . . . . . . . . . . DeeE . . . . . . . . . . . . sh3add a0, a0, a0
+# CHECK-NEXT: [0,53] . . . . . . . . . . DeeE . . . . . . . . . . . . andn a0, a0, a0
+# CHECK-NEXT: [0,54] . . . . . . . . . . .DeeE. . . . . . . . . . . . orn a0, a0, a0
+# CHECK-NEXT: [0,55] . . . . . . . . . . . DeeE . . . . . . . . . . . xnor a0, a0, a0
+# CHECK-NEXT: [0,56] . . . . . . . . . . . DeeE . . . . . . . . . . . sext.b a0, a0
+# CHECK-NEXT: [0,57] . . . . . . . . . . . DeeE . . . . . . . . . . . sext.h a0, a0
+# CHECK-NEXT: [0,58] . . . . . . . . . . . DeeE . . . . . . . . . . . zext.h a0, a0
+# CHECK-NEXT: [0,59] . . . . . . . . . . . .DeeE. . . . . . . . . . . min a0, a0, a0
+# CHECK-NEXT: [0,60] . . . . . . . . . . . . DeeE . . . . . . . . . . minu a0, a0, a0
+# CHECK-NEXT: [0,61] . . . . . . . . . . . . DeeE . . . . . . . . . . max a0, a0, a0
+# CHECK-NEXT: [0,62] . . . . . . . . . . . . DeeE . . . . . . . . . . maxu a0, a0, a0
+# CHECK-NEXT: [0,63] . . . . . . . . . . . . DeeE . . . . . . . . . . rol a0, a0, a0
+# CHECK-NEXT: [0,64] . . . . . . . . . . . . .DeeE. . . . . . . . . . ror a0, a0, a0
+# CHECK-NEXT: [0,65] . . . . . . . . . . . . . DeeE . . . . . . . . . rori a0, a0, 1
+# CHECK-NEXT: [0,66] . . . . . . . . . . . . . DeeE . . . . . . . . . clz a0, a0
+# CHECK-NEXT: [0,67] . . . . . . . . . . . . . DeeE . . . . . . . . . clzw a0, a0
+# CHECK-NEXT: [0,68] . . . . . . . . . . . . . DeeE . . . . . . . . . ctz a0, a0
+# CHECK-NEXT: [0,69] . . . . . . . . . . . . . .DeeE. . . . . . . . . ctzw a0, a0
+# CHECK-NEXT: [0,70] . . . . . . . . . . . . . . DeeE . . . . . . . . cpop a0, a0
+# CHECK-NEXT: [0,71] . . . . . . . . . . . . . . DeeE . . . . . . . . add a0, a0, a0
+# CHECK-NEXT: [0,72] . . . . . . . . . . . . . . . DeeE . . . . . . . cpopw a0, a0
+# CHECK-NEXT: [0,73] . . . . . . . . . . . . . . . DeeE . . . . . . . add a0, a0, a0
+# CHECK-NEXT: [0,74] . . . . . . . . . . . . . . . DeeE . . . . . . . rev8 a0, a0
+# CHECK-NEXT: [0,75] . . . . . . . . . . . . . . . .DeeE. . . . . . . orc.b a0, a0
+# CHECK-NEXT: [0,76] . . . . . . . . . . . . . . . . DeeE . . . . . . lb a0, 0(a0)
+# CHECK-NEXT: [0,77] . . . . . . . . . . . . . . . . DeeE . . . . . . add a0, a0, a0
+# CHECK-NEXT: [0,78] . . . . . . . . . . . . . . . . . DeeE . . . . . lh a0, 0(a0)
+# CHECK-NEXT: [0,79] . . . . . . . . . . . . . . . . . DeeE . . . . . and a0, a0, a0
+# CHECK-NEXT: [0,80] . . . . . . . . . . . . . . . . . . DeeE . . . . lw a0, 0(a0)
+# CHECK-NEXT: [0,81] . . . . . . . . . . . . . . . . . . DeeE . . . . or a0, a0, a0
+# CHECK-NEXT: [0,82] . . . . . . . . . . . . . . . . . . .DeeE. . . . ld a0, 0(a0)
+# CHECK-NEXT: [0,83] . . . . . . . . . . . . . . . . . . . DeeE . . . xor a0, a0, a0
+# CHECK-NEXT: [0,84] . . . . . . . . . . . . . . . . . . . DeeE . . . lbu a0, 0(a0)
+# CHECK-NEXT: [0,85] . . . . . . . . . . . . . . . . . . . .DeeE. . . addi a0, a0, 1
+# CHECK-NEXT: [0,86] . . . . . . . . . . . . . . . . . . . . DeeE . . lhu a0, 0(a0)
+# CHECK-NEXT: [0,87] . . . . . . . . . . . . . . . . . . . . DeeE . . sub a0, a0, a0
+# CHECK-NEXT: [0,88] . . . . . . . . . . . . . . . . . . . . . DeeE . lwu a0, 0(a0)
+# CHECK-NEXT: [0,89] . . . . . . . . . . . . . . . . . . . . . DeeE. addw a0, a0, a0
+# CHECK-NEXT: [0,90] . . . . . . . . . . . . . . . . . . . . . DeeE jr a0
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -510,4 +514,5 @@ addw a0, a0, a0
# CHECK-NEXT: 87. 1 0.0 0.0 0.0 sub a0, a0, a0
# CHECK-NEXT: 88. 1 0.0 0.0 0.0 lwu a0, 0(a0)
# CHECK-NEXT: 89. 1 0.0 0.0 0.0 addw a0, a0, a0
+# CHECK-NEXT: 90. 1 0.0 0.0 0.0 jr a0
# CHECK-NEXT: 1 0.0 0.0 0.0 <total>
More information about the llvm-commits
mailing list