[rtsan] Add fork/execve interceptors (#117198)
[llvm-project.git] / llvm / test / tools / llvm-mca / RISCV / SiFiveP400 / zvkned.s
blob791069b87eee15c97a9f1b381d64af6ef1ba0267
2 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
3 # RUN: llvm-mca -mtriple=riscv64 -mcpu=sifive-p470 -iterations=1 < %s | FileCheck %s
5 # These instructions only support e32
7 vsetvli zero, zero, e32, mf2, tu, mu
8 vaesef.vv v4, v8
9 vaesef.vs v4, v8
10 vaesem.vv v4, v8
11 vaesem.vs v4, v8
12 vaesdm.vv v4, v8
13 vaesdm.vs v4, v8
14 vaeskf1.vi v4, v8, 8
15 vaeskf2.vi v4, v8, 8
16 vaesz.vs v4, v8
18 vsetvli zero, zero, e32, m1, tu, mu
19 vaesef.vv v4, v8
20 vaesef.vs v4, v8
21 vaesem.vv v4, v8
22 vaesem.vs v4, v8
23 vaesdm.vv v4, v8
24 vaesdm.vs v4, v8
25 vaeskf1.vi v4, v8, 8
26 vaeskf2.vi v4, v8, 8
27 vaesz.vs v4, v8
29 vsetvli zero, zero, e32, m2, tu, mu
30 vaesef.vv v4, v8
31 vaesef.vs v4, v8
32 vaesem.vv v4, v8
33 vaesem.vs v4, v8
34 vaesdm.vv v4, v8
35 vaesdm.vs v4, v8
36 vaeskf1.vi v4, v8, 8
37 vaeskf2.vi v4, v8, 8
38 vaesz.vs v4, v8
40 vsetvli zero, zero, e32, m4, tu, mu
41 vaesef.vv v4, v8
42 vaesef.vs v4, v8
43 vaesem.vv v4, v8
44 vaesem.vs v4, v8
45 vaesdm.vv v4, v8
46 vaesdm.vs v4, v8
47 vaeskf1.vi v4, v8, 8
48 vaeskf2.vi v4, v8, 8
49 vaesz.vs v4, v8
51 vsetvli zero, zero, e32, m8, tu, mu
52 vaesef.vv v8, v16
53 vaesef.vs v8, v16
54 vaesem.vv v8, v16
55 vaesem.vs v8, v16
56 vaesdm.vv v8, v16
57 vaesdm.vs v8, v16
58 vaeskf1.vi v8, v16, 8
59 vaeskf2.vi v8, v16, 8
60 vaesz.vs v8, v16
62 # CHECK: Iterations: 1
63 # CHECK-NEXT: Instructions: 50
64 # CHECK-NEXT: Total Cycles: 142
65 # CHECK-NEXT: Total uOps: 50
67 # CHECK: Dispatch Width: 3
68 # CHECK-NEXT: uOps Per Cycle: 0.35
69 # CHECK-NEXT: IPC: 0.35
70 # CHECK-NEXT: Block RThroughput: 144.0
72 # CHECK: Instruction Info:
73 # CHECK-NEXT: [1]: #uOps
74 # CHECK-NEXT: [2]: Latency
75 # CHECK-NEXT: [3]: RThroughput
76 # CHECK-NEXT: [4]: MayLoad
77 # CHECK-NEXT: [5]: MayStore
78 # CHECK-NEXT: [6]: HasSideEffects (U)
80 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
81 # CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e32, mf2, tu, mu
82 # CHECK-NEXT: 1 2 1.00 vaesef.vv v4, v8
83 # CHECK-NEXT: 1 2 1.00 vaesef.vs v4, v8
84 # CHECK-NEXT: 1 2 1.00 vaesem.vv v4, v8
85 # CHECK-NEXT: 1 2 1.00 vaesem.vs v4, v8
86 # CHECK-NEXT: 1 2 1.00 vaesdm.vv v4, v8
87 # CHECK-NEXT: 1 2 1.00 vaesdm.vs v4, v8
88 # CHECK-NEXT: 1 2 1.00 vaeskf1.vi v4, v8, 8
89 # CHECK-NEXT: 1 2 1.00 vaeskf2.vi v4, v8, 8
90 # CHECK-NEXT: 1 2 1.00 vaesz.vs v4, v8
91 # CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e32, m1, tu, mu
92 # CHECK-NEXT: 1 2 1.00 vaesef.vv v4, v8
93 # CHECK-NEXT: 1 2 1.00 vaesef.vs v4, v8
94 # CHECK-NEXT: 1 2 1.00 vaesem.vv v4, v8
95 # CHECK-NEXT: 1 2 1.00 vaesem.vs v4, v8
96 # CHECK-NEXT: 1 2 1.00 vaesdm.vv v4, v8
97 # CHECK-NEXT: 1 2 1.00 vaesdm.vs v4, v8
98 # CHECK-NEXT: 1 2 1.00 vaeskf1.vi v4, v8, 8
99 # CHECK-NEXT: 1 2 1.00 vaeskf2.vi v4, v8, 8
100 # CHECK-NEXT: 1 2 1.00 vaesz.vs v4, v8
101 # CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e32, m2, tu, mu
102 # CHECK-NEXT: 1 2 2.00 vaesef.vv v4, v8
103 # CHECK-NEXT: 1 2 2.00 vaesef.vs v4, v8
104 # CHECK-NEXT: 1 2 2.00 vaesem.vv v4, v8
105 # CHECK-NEXT: 1 2 2.00 vaesem.vs v4, v8
106 # CHECK-NEXT: 1 2 2.00 vaesdm.vv v4, v8
107 # CHECK-NEXT: 1 2 2.00 vaesdm.vs v4, v8
108 # CHECK-NEXT: 1 2 2.00 vaeskf1.vi v4, v8, 8
109 # CHECK-NEXT: 1 2 2.00 vaeskf2.vi v4, v8, 8
110 # CHECK-NEXT: 1 2 2.00 vaesz.vs v4, v8
111 # CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e32, m4, tu, mu
112 # CHECK-NEXT: 1 2 4.00 vaesef.vv v4, v8
113 # CHECK-NEXT: 1 2 4.00 vaesef.vs v4, v8
114 # CHECK-NEXT: 1 2 4.00 vaesem.vv v4, v8
115 # CHECK-NEXT: 1 2 4.00 vaesem.vs v4, v8
116 # CHECK-NEXT: 1 2 4.00 vaesdm.vv v4, v8
117 # CHECK-NEXT: 1 2 4.00 vaesdm.vs v4, v8
118 # CHECK-NEXT: 1 2 4.00 vaeskf1.vi v4, v8, 8
119 # CHECK-NEXT: 1 2 4.00 vaeskf2.vi v4, v8, 8
120 # CHECK-NEXT: 1 2 4.00 vaesz.vs v4, v8
121 # CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e32, m8, tu, mu
122 # CHECK-NEXT: 1 2 8.00 vaesef.vv v8, v16
123 # CHECK-NEXT: 1 2 8.00 vaesef.vs v8, v16
124 # CHECK-NEXT: 1 2 8.00 vaesem.vv v8, v16
125 # CHECK-NEXT: 1 2 8.00 vaesem.vs v8, v16
126 # CHECK-NEXT: 1 2 8.00 vaesdm.vv v8, v16
127 # CHECK-NEXT: 1 2 8.00 vaesdm.vs v8, v16
128 # CHECK-NEXT: 1 2 8.00 vaeskf1.vi v8, v16, 8
129 # CHECK-NEXT: 1 2 8.00 vaeskf2.vi v8, v16, 8
130 # CHECK-NEXT: 1 2 8.00 vaesz.vs v8, v16
132 # CHECK: Resources:
133 # CHECK-NEXT: [0] - SiFiveP400Div
134 # CHECK-NEXT: [1] - SiFiveP400FEXQ0
135 # CHECK-NEXT: [2] - SiFiveP400FloatDiv
136 # CHECK-NEXT: [3] - SiFiveP400IEXQ0
137 # CHECK-NEXT: [4] - SiFiveP400IEXQ1
138 # CHECK-NEXT: [5] - SiFiveP400IEXQ2
139 # CHECK-NEXT: [6] - SiFiveP400Load
140 # CHECK-NEXT: [7] - SiFiveP400Store
141 # CHECK-NEXT: [8] - SiFiveP400VDiv
142 # CHECK-NEXT: [9] - SiFiveP400VEXQ0
143 # CHECK-NEXT: [10] - SiFiveP400VFloatDiv
144 # CHECK-NEXT: [11] - SiFiveP400VLD
145 # CHECK-NEXT: [12] - SiFiveP400VST
147 # CHECK: Resource pressure per iteration:
148 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
149 # CHECK-NEXT: - - - - 5.00 - - - - 144.00 - - -
151 # CHECK: Resource pressure by instruction:
152 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
153 # CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e32, mf2, tu, mu
154 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesef.vv v4, v8
155 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesef.vs v4, v8
156 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesem.vv v4, v8
157 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesem.vs v4, v8
158 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesdm.vv v4, v8
159 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesdm.vs v4, v8
160 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaeskf1.vi v4, v8, 8
161 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaeskf2.vi v4, v8, 8
162 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesz.vs v4, v8
163 # CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e32, m1, tu, mu
164 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesef.vv v4, v8
165 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesef.vs v4, v8
166 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesem.vv v4, v8
167 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesem.vs v4, v8
168 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesdm.vv v4, v8
169 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesdm.vs v4, v8
170 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaeskf1.vi v4, v8, 8
171 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaeskf2.vi v4, v8, 8
172 # CHECK-NEXT: - - - - - - - - - 1.00 - - - vaesz.vs v4, v8
173 # CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e32, m2, tu, mu
174 # CHECK-NEXT: - - - - - - - - - 2.00 - - - vaesef.vv v4, v8
175 # CHECK-NEXT: - - - - - - - - - 2.00 - - - vaesef.vs v4, v8
176 # CHECK-NEXT: - - - - - - - - - 2.00 - - - vaesem.vv v4, v8
177 # CHECK-NEXT: - - - - - - - - - 2.00 - - - vaesem.vs v4, v8
178 # CHECK-NEXT: - - - - - - - - - 2.00 - - - vaesdm.vv v4, v8
179 # CHECK-NEXT: - - - - - - - - - 2.00 - - - vaesdm.vs v4, v8
180 # CHECK-NEXT: - - - - - - - - - 2.00 - - - vaeskf1.vi v4, v8, 8
181 # CHECK-NEXT: - - - - - - - - - 2.00 - - - vaeskf2.vi v4, v8, 8
182 # CHECK-NEXT: - - - - - - - - - 2.00 - - - vaesz.vs v4, v8
183 # CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e32, m4, tu, mu
184 # CHECK-NEXT: - - - - - - - - - 4.00 - - - vaesef.vv v4, v8
185 # CHECK-NEXT: - - - - - - - - - 4.00 - - - vaesef.vs v4, v8
186 # CHECK-NEXT: - - - - - - - - - 4.00 - - - vaesem.vv v4, v8
187 # CHECK-NEXT: - - - - - - - - - 4.00 - - - vaesem.vs v4, v8
188 # CHECK-NEXT: - - - - - - - - - 4.00 - - - vaesdm.vv v4, v8
189 # CHECK-NEXT: - - - - - - - - - 4.00 - - - vaesdm.vs v4, v8
190 # CHECK-NEXT: - - - - - - - - - 4.00 - - - vaeskf1.vi v4, v8, 8
191 # CHECK-NEXT: - - - - - - - - - 4.00 - - - vaeskf2.vi v4, v8, 8
192 # CHECK-NEXT: - - - - - - - - - 4.00 - - - vaesz.vs v4, v8
193 # CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e32, m8, tu, mu
194 # CHECK-NEXT: - - - - - - - - - 8.00 - - - vaesef.vv v8, v16
195 # CHECK-NEXT: - - - - - - - - - 8.00 - - - vaesef.vs v8, v16
196 # CHECK-NEXT: - - - - - - - - - 8.00 - - - vaesem.vv v8, v16
197 # CHECK-NEXT: - - - - - - - - - 8.00 - - - vaesem.vs v8, v16
198 # CHECK-NEXT: - - - - - - - - - 8.00 - - - vaesdm.vv v8, v16
199 # CHECK-NEXT: - - - - - - - - - 8.00 - - - vaesdm.vs v8, v16
200 # CHECK-NEXT: - - - - - - - - - 8.00 - - - vaeskf1.vi v8, v16, 8
201 # CHECK-NEXT: - - - - - - - - - 8.00 - - - vaeskf2.vi v8, v16, 8
202 # CHECK-NEXT: - - - - - - - - - 8.00 - - - vaesz.vs v8, v16