Skip to content

Commit ad3d9fb

Browse files
ppenzintopperc
andauthored
[RISCV] tt-ascalon-d8 vector scheduling (llvm#167066)
Add the vector scheduling model for tt-ascalon-d8 and corresponding llvm-mca tests. --------- Co-authored-by: Craig Topper <[email protected]>
1 parent 0f941f6 commit ad3d9fb

File tree

13 files changed

+9672
-58
lines changed

13 files changed

+9672
-58
lines changed

llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td

Lines changed: 714 additions & 6 deletions
Large diffs are not rendered by default.

llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fp.s

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -47,33 +47,35 @@ fsqrt.d ft2, fa3
4747
# CHECK-NEXT: 1 12 6.00 fsqrt.d ft2, fa3
4848

4949
# CHECK: Resources:
50-
# CHECK-NEXT: [0.0] - AscalonFP
51-
# CHECK-NEXT: [0.1] - AscalonFP
52-
# CHECK-NEXT: [1] - AscalonFXA
53-
# CHECK-NEXT: [2] - AscalonFXB
54-
# CHECK-NEXT: [3.0] - AscalonFXC
55-
# CHECK-NEXT: [3.1] - AscalonFXC
56-
# CHECK-NEXT: [4.0] - AscalonFXD
57-
# CHECK-NEXT: [4.1] - AscalonFXD
58-
# CHECK-NEXT: [5.0] - AscalonLS
59-
# CHECK-NEXT: [5.1] - AscalonLS
60-
# CHECK-NEXT: [5.2] - AscalonLS
50+
# CHECK-NEXT: [0] - AscalonFPA
51+
# CHECK-NEXT: [1] - AscalonFPB
52+
# CHECK-NEXT: [2] - AscalonFXA
53+
# CHECK-NEXT: [3] - AscalonFXB
54+
# CHECK-NEXT: [4.0] - AscalonFXC
55+
# CHECK-NEXT: [4.1] - AscalonFXC
56+
# CHECK-NEXT: [5.0] - AscalonFXD
57+
# CHECK-NEXT: [5.1] - AscalonFXD
58+
# CHECK-NEXT: [6.0] - AscalonLS
59+
# CHECK-NEXT: [6.1] - AscalonLS
60+
# CHECK-NEXT: [6.2] - AscalonLS
61+
# CHECK-NEXT: [7] - AscalonVA
62+
# CHECK-NEXT: [8] - AscalonVB
6163

6264
# CHECK: Resource pressure per iteration:
63-
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3.0] [3.1] [4.0] [4.1] [5.0] [5.1] [5.2]
64-
# CHECK-NEXT: 18.00 28.00 - - - - - - - - -
65+
# CHECK-NEXT: [0] [1] [2] [3] [4.0] [4.1] [5.0] [5.1] [6.0] [6.1] [6.2] [7] [8]
66+
# CHECK-NEXT: 18.00 28.00 - - - - - - - - - - -
6567

6668
# CHECK: Resource pressure by instruction:
67-
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3.0] [3.1] [4.0] [4.1] [5.0] [5.1] [5.2] Instructions:
68-
# CHECK-NEXT: - 1.00 - - - - - - - - - fmin.s ft0, fa0, fa1
69-
# CHECK-NEXT: 1.00 - - - - - - - - - - fmax.s ft1, fa0, fa1
70-
# CHECK-NEXT: - 1.00 - - - - - - - - - fmin.d ft2, ft4, ft5
71-
# CHECK-NEXT: 1.00 - - - - - - - - - - fmax.d ft3, ft4, ft5
72-
# CHECK-NEXT: - 1.00 - - - - - - - - - fmadd.s fs0, fs0, fs8, fs9
73-
# CHECK-NEXT: 1.00 - - - - - - - - - - fmsub.s fs1, fs1, fs8, fs9
74-
# CHECK-NEXT: - 1.00 - - - - - - - - - fmul.s fs3, fs3, fs4
75-
# CHECK-NEXT: 7.00 - - - - - - - - - - fdiv.s fs2, fs3, fs4
76-
# CHECK-NEXT: 1.00 - - - - - - - - - - fmul.d ft4, ft4, ft5
77-
# CHECK-NEXT: - 12.00 - - - - - - - - - fdiv.d fs4, fa3, ft5
78-
# CHECK-NEXT: 7.00 - - - - - - - - - - fsqrt.s ft1, fa2
79-
# CHECK-NEXT: - 12.00 - - - - - - - - - fsqrt.d ft2, fa3
69+
# CHECK-NEXT: [0] [1] [2] [3] [4.0] [4.1] [5.0] [5.1] [6.0] [6.1] [6.2] [7] [8] Instructions:
70+
# CHECK-NEXT: - 1.00 - - - - - - - - - - - fmin.s ft0, fa0, fa1
71+
# CHECK-NEXT: 1.00 - - - - - - - - - - - - fmax.s ft1, fa0, fa1
72+
# CHECK-NEXT: - 1.00 - - - - - - - - - - - fmin.d ft2, ft4, ft5
73+
# CHECK-NEXT: 1.00 - - - - - - - - - - - - fmax.d ft3, ft4, ft5
74+
# CHECK-NEXT: - 1.00 - - - - - - - - - - - fmadd.s fs0, fs0, fs8, fs9
75+
# CHECK-NEXT: 1.00 - - - - - - - - - - - - fmsub.s fs1, fs1, fs8, fs9
76+
# CHECK-NEXT: - 1.00 - - - - - - - - - - - fmul.s fs3, fs3, fs4
77+
# CHECK-NEXT: 7.00 - - - - - - - - - - - - fdiv.s fs2, fs3, fs4
78+
# CHECK-NEXT: 1.00 - - - - - - - - - - - - fmul.d ft4, ft4, ft5
79+
# CHECK-NEXT: - 12.00 - - - - - - - - - - - fdiv.d fs4, fa3, ft5
80+
# CHECK-NEXT: 7.00 - - - - - - - - - - - - fsqrt.s ft1, fa2
81+
# CHECK-NEXT: - 12.00 - - - - - - - - - - - fsqrt.d ft2, fa3

llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fx.s

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -47,33 +47,35 @@ fcvt.w.s t5, f3
4747
# CHECK-NEXT: 1 1 1.00 fcvt.w.s t5, ft3
4848

4949
# CHECK: Resources:
50-
# CHECK-NEXT: [0.0] - AscalonFP
51-
# CHECK-NEXT: [0.1] - AscalonFP
52-
# CHECK-NEXT: [1] - AscalonFXA
53-
# CHECK-NEXT: [2] - AscalonFXB
54-
# CHECK-NEXT: [3.0] - AscalonFXC
55-
# CHECK-NEXT: [3.1] - AscalonFXC
56-
# CHECK-NEXT: [4.0] - AscalonFXD
57-
# CHECK-NEXT: [4.1] - AscalonFXD
58-
# CHECK-NEXT: [5.0] - AscalonLS
59-
# CHECK-NEXT: [5.1] - AscalonLS
60-
# CHECK-NEXT: [5.2] - AscalonLS
50+
# CHECK-NEXT: [0] - AscalonFPA
51+
# CHECK-NEXT: [1] - AscalonFPB
52+
# CHECK-NEXT: [2] - AscalonFXA
53+
# CHECK-NEXT: [3] - AscalonFXB
54+
# CHECK-NEXT: [4.0] - AscalonFXC
55+
# CHECK-NEXT: [4.1] - AscalonFXC
56+
# CHECK-NEXT: [5.0] - AscalonFXD
57+
# CHECK-NEXT: [5.1] - AscalonFXD
58+
# CHECK-NEXT: [6.0] - AscalonLS
59+
# CHECK-NEXT: [6.1] - AscalonLS
60+
# CHECK-NEXT: [6.2] - AscalonLS
61+
# CHECK-NEXT: [7] - AscalonVA
62+
# CHECK-NEXT: [8] - AscalonVB
6163

6264
# CHECK: Resource pressure per iteration:
63-
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3.0] [3.1] [4.0] [4.1] [5.0] [5.1] [5.2]
64-
# CHECK-NEXT: - - 17.00 1.00 2.00 2.00 1.00 1.00 - - -
65+
# CHECK-NEXT: [0] [1] [2] [3] [4.0] [4.1] [5.0] [5.1] [6.0] [6.1] [6.2] [7] [8]
66+
# CHECK-NEXT: - - 17.00 1.00 2.00 2.00 1.00 1.00 - - - - -
6567

6668
# CHECK: Resource pressure by instruction:
67-
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3.0] [3.1] [4.0] [4.1] [5.0] [5.1] [5.2] Instructions:
68-
# CHECK-NEXT: - - 1.00 - - - - - - - - mul t0, a0, t0
69-
# CHECK-NEXT: - - - - - - - 1.00 - - - sub s2, a2, a3
70-
# CHECK-NEXT: - - 7.00 - - - - - - - - div t1, t2, t3
71-
# CHECK-NEXT: - - - - - - 1.00 - - - - add t1, a4, gp
72-
# CHECK-NEXT: - - 7.00 - - - - - - - - div a1, a2, a3
73-
# CHECK-NEXT: - - - - - 1.00 - - - - - add t1, a0, t0
74-
# CHECK-NEXT: - - 1.00 - - - - - - - - mul s0, s0, a5
75-
# CHECK-NEXT: - - - - - 1.00 - - - - - add t2, t2, t2
76-
# CHECK-NEXT: - - - - 1.00 - - - - - - sub s1, s0, s1
77-
# CHECK-NEXT: - - - 1.00 - - - - - - - fcvt.s.w ft1, t3
78-
# CHECK-NEXT: - - - - 1.00 - - - - - - add s2, s2, s2
79-
# CHECK-NEXT: - - 1.00 - - - - - - - - fcvt.w.s t5, ft3
69+
# CHECK-NEXT: [0] [1] [2] [3] [4.0] [4.1] [5.0] [5.1] [6.0] [6.1] [6.2] [7] [8] Instructions:
70+
# CHECK-NEXT: - - 1.00 - - - - - - - - - - mul t0, a0, t0
71+
# CHECK-NEXT: - - - - - - - 1.00 - - - - - sub s2, a2, a3
72+
# CHECK-NEXT: - - 7.00 - - - - - - - - - - div t1, t2, t3
73+
# CHECK-NEXT: - - - - - - 1.00 - - - - - - add t1, a4, gp
74+
# CHECK-NEXT: - - 7.00 - - - - - - - - - - div a1, a2, a3
75+
# CHECK-NEXT: - - - - - 1.00 - - - - - - - add t1, a0, t0
76+
# CHECK-NEXT: - - 1.00 - - - - - - - - - - mul s0, s0, a5
77+
# CHECK-NEXT: - - - - - 1.00 - - - - - - - add t2, t2, t2
78+
# CHECK-NEXT: - - - - 1.00 - - - - - - - - sub s1, s0, s1
79+
# CHECK-NEXT: - - - 1.00 - - - - - - - - - fcvt.s.w ft1, t3
80+
# CHECK-NEXT: - - - - 1.00 - - - - - - - - add s2, s2, s2
81+
# CHECK-NEXT: - - 1.00 - - - - - - - - - - fcvt.w.s t5, ft3

0 commit comments

Comments
 (0)