[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / tools / llvm-mca / JSON / X86 / instruction-tables-multiple-anonymous-regions.s
blob949ff706dbbc0b78232173c1f12fdfaa2043a157
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell --json -instruction-tables < %s | FileCheck %s
3 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell --json -instruction-tables -o %t.json < %s
4 # RUN: cat %t.json \
5 # RUN: | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \
6 # RUN: | FileCheck %s
8 # LLVM-MCA-BEGIN
9 add %eax, %eax
10 # LLVM-MCA-END
11 # LLVM-MCA-BEGIN
12 add %ebx, %ebx
13 add %ecx, %ecx
14 # LLVM-MCA-END
15 # LLVM-MCA-BEGIN
16 add %edx, %edx
17 # LLVM-MCA-END
19 # CHECK: {
20 # CHECK-NEXT: "CodeRegions": [
21 # CHECK-NEXT: {
22 # CHECK-NEXT: "InstructionInfoView": {
23 # CHECK-NEXT: "InstructionList": [
24 # CHECK-NEXT: {
25 # CHECK-NEXT: "Instruction": 0,
26 # CHECK-NEXT: "Latency": 1,
27 # CHECK-NEXT: "NumMicroOpcodes": 1,
28 # CHECK-NEXT: "RThroughput": 0.25,
29 # CHECK-NEXT: "hasUnmodeledSideEffects": false,
30 # CHECK-NEXT: "mayLoad": false,
31 # CHECK-NEXT: "mayStore": false
32 # CHECK-NEXT: }
33 # CHECK-NEXT: ]
34 # CHECK-NEXT: },
35 # CHECK-NEXT: "Instructions": [
36 # CHECK-NEXT: "addl\t%eax, %eax"
37 # CHECK-NEXT: ],
38 # CHECK-NEXT: "Name": "",
39 # CHECK-NEXT: "ResourcePressureView": {
40 # CHECK-NEXT: "ResourcePressureInfo": [
41 # CHECK-NEXT: {
42 # CHECK-NEXT: "InstructionIndex": 0,
43 # CHECK-NEXT: "ResourceIndex": 2,
44 # CHECK-NEXT: "ResourceUsage": 0.25
45 # CHECK-NEXT: },
46 # CHECK-NEXT: {
47 # CHECK-NEXT: "InstructionIndex": 0,
48 # CHECK-NEXT: "ResourceIndex": 3,
49 # CHECK-NEXT: "ResourceUsage": 0.25
50 # CHECK-NEXT: },
51 # CHECK-NEXT: {
52 # CHECK-NEXT: "InstructionIndex": 0,
53 # CHECK-NEXT: "ResourceIndex": 7,
54 # CHECK-NEXT: "ResourceUsage": 0.25
55 # CHECK-NEXT: },
56 # CHECK-NEXT: {
57 # CHECK-NEXT: "InstructionIndex": 0,
58 # CHECK-NEXT: "ResourceIndex": 8,
59 # CHECK-NEXT: "ResourceUsage": 0.25
60 # CHECK-NEXT: },
61 # CHECK-NEXT: {
62 # CHECK-NEXT: "InstructionIndex": 1,
63 # CHECK-NEXT: "ResourceIndex": 2,
64 # CHECK-NEXT: "ResourceUsage": 0.25
65 # CHECK-NEXT: },
66 # CHECK-NEXT: {
67 # CHECK-NEXT: "InstructionIndex": 1,
68 # CHECK-NEXT: "ResourceIndex": 3,
69 # CHECK-NEXT: "ResourceUsage": 0.25
70 # CHECK-NEXT: },
71 # CHECK-NEXT: {
72 # CHECK-NEXT: "InstructionIndex": 1,
73 # CHECK-NEXT: "ResourceIndex": 7,
74 # CHECK-NEXT: "ResourceUsage": 0.25
75 # CHECK-NEXT: },
76 # CHECK-NEXT: {
77 # CHECK-NEXT: "InstructionIndex": 1,
78 # CHECK-NEXT: "ResourceIndex": 8,
79 # CHECK-NEXT: "ResourceUsage": 0.25
80 # CHECK-NEXT: }
81 # CHECK-NEXT: ]
82 # CHECK-NEXT: }
83 # CHECK-NEXT: },
84 # CHECK-NEXT: {
85 # CHECK-NEXT: "InstructionInfoView": {
86 # CHECK-NEXT: "InstructionList": [
87 # CHECK-NEXT: {
88 # CHECK-NEXT: "Instruction": 0,
89 # CHECK-NEXT: "Latency": 1,
90 # CHECK-NEXT: "NumMicroOpcodes": 1,
91 # CHECK-NEXT: "RThroughput": 0.25,
92 # CHECK-NEXT: "hasUnmodeledSideEffects": false,
93 # CHECK-NEXT: "mayLoad": false,
94 # CHECK-NEXT: "mayStore": false
95 # CHECK-NEXT: },
96 # CHECK-NEXT: {
97 # CHECK-NEXT: "Instruction": 1,
98 # CHECK-NEXT: "Latency": 1,
99 # CHECK-NEXT: "NumMicroOpcodes": 1,
100 # CHECK-NEXT: "RThroughput": 0.25,
101 # CHECK-NEXT: "hasUnmodeledSideEffects": false,
102 # CHECK-NEXT: "mayLoad": false,
103 # CHECK-NEXT: "mayStore": false
104 # CHECK-NEXT: }
105 # CHECK-NEXT: ]
106 # CHECK-NEXT: },
107 # CHECK-NEXT: "Instructions": [
108 # CHECK-NEXT: "addl\t%ebx, %ebx",
109 # CHECK-NEXT: "addl\t%ecx, %ecx"
110 # CHECK-NEXT: ],
111 # CHECK-NEXT: "Name": "",
112 # CHECK-NEXT: "ResourcePressureView": {
113 # CHECK-NEXT: "ResourcePressureInfo": [
114 # CHECK-NEXT: {
115 # CHECK-NEXT: "InstructionIndex": 0,
116 # CHECK-NEXT: "ResourceIndex": 2,
117 # CHECK-NEXT: "ResourceUsage": 0.25
118 # CHECK-NEXT: },
119 # CHECK-NEXT: {
120 # CHECK-NEXT: "InstructionIndex": 0,
121 # CHECK-NEXT: "ResourceIndex": 3,
122 # CHECK-NEXT: "ResourceUsage": 0.25
123 # CHECK-NEXT: },
124 # CHECK-NEXT: {
125 # CHECK-NEXT: "InstructionIndex": 0,
126 # CHECK-NEXT: "ResourceIndex": 7,
127 # CHECK-NEXT: "ResourceUsage": 0.25
128 # CHECK-NEXT: },
129 # CHECK-NEXT: {
130 # CHECK-NEXT: "InstructionIndex": 0,
131 # CHECK-NEXT: "ResourceIndex": 8,
132 # CHECK-NEXT: "ResourceUsage": 0.25
133 # CHECK-NEXT: },
134 # CHECK-NEXT: {
135 # CHECK-NEXT: "InstructionIndex": 1,
136 # CHECK-NEXT: "ResourceIndex": 2,
137 # CHECK-NEXT: "ResourceUsage": 0.25
138 # CHECK-NEXT: },
139 # CHECK-NEXT: {
140 # CHECK-NEXT: "InstructionIndex": 1,
141 # CHECK-NEXT: "ResourceIndex": 3,
142 # CHECK-NEXT: "ResourceUsage": 0.25
143 # CHECK-NEXT: },
144 # CHECK-NEXT: {
145 # CHECK-NEXT: "InstructionIndex": 1,
146 # CHECK-NEXT: "ResourceIndex": 7,
147 # CHECK-NEXT: "ResourceUsage": 0.25
148 # CHECK-NEXT: },
149 # CHECK-NEXT: {
150 # CHECK-NEXT: "InstructionIndex": 1,
151 # CHECK-NEXT: "ResourceIndex": 8,
152 # CHECK-NEXT: "ResourceUsage": 0.25
153 # CHECK-NEXT: },
154 # CHECK-NEXT: {
155 # CHECK-NEXT: "InstructionIndex": 2,
156 # CHECK-NEXT: "ResourceIndex": 2,
157 # CHECK-NEXT: "ResourceUsage": 0.5
158 # CHECK-NEXT: },
159 # CHECK-NEXT: {
160 # CHECK-NEXT: "InstructionIndex": 2,
161 # CHECK-NEXT: "ResourceIndex": 3,
162 # CHECK-NEXT: "ResourceUsage": 0.5
163 # CHECK-NEXT: },
164 # CHECK-NEXT: {
165 # CHECK-NEXT: "InstructionIndex": 2,
166 # CHECK-NEXT: "ResourceIndex": 7,
167 # CHECK-NEXT: "ResourceUsage": 0.5
168 # CHECK-NEXT: },
169 # CHECK-NEXT: {
170 # CHECK-NEXT: "InstructionIndex": 2,
171 # CHECK-NEXT: "ResourceIndex": 8,
172 # CHECK-NEXT: "ResourceUsage": 0.5
173 # CHECK-NEXT: }
174 # CHECK-NEXT: ]
175 # CHECK-NEXT: }
176 # CHECK-NEXT: },
177 # CHECK-NEXT: {
178 # CHECK-NEXT: "InstructionInfoView": {
179 # CHECK-NEXT: "InstructionList": [
180 # CHECK-NEXT: {
181 # CHECK-NEXT: "Instruction": 0,
182 # CHECK-NEXT: "Latency": 1,
183 # CHECK-NEXT: "NumMicroOpcodes": 1,
184 # CHECK-NEXT: "RThroughput": 0.25,
185 # CHECK-NEXT: "hasUnmodeledSideEffects": false,
186 # CHECK-NEXT: "mayLoad": false,
187 # CHECK-NEXT: "mayStore": false
188 # CHECK-NEXT: }
189 # CHECK-NEXT: ]
190 # CHECK-NEXT: },
191 # CHECK-NEXT: "Instructions": [
192 # CHECK-NEXT: "addl\t%edx, %edx"
193 # CHECK-NEXT: ],
194 # CHECK-NEXT: "Name": "",
195 # CHECK-NEXT: "ResourcePressureView": {
196 # CHECK-NEXT: "ResourcePressureInfo": [
197 # CHECK-NEXT: {
198 # CHECK-NEXT: "InstructionIndex": 0,
199 # CHECK-NEXT: "ResourceIndex": 2,
200 # CHECK-NEXT: "ResourceUsage": 0.25
201 # CHECK-NEXT: },
202 # CHECK-NEXT: {
203 # CHECK-NEXT: "InstructionIndex": 0,
204 # CHECK-NEXT: "ResourceIndex": 3,
205 # CHECK-NEXT: "ResourceUsage": 0.25
206 # CHECK-NEXT: },
207 # CHECK-NEXT: {
208 # CHECK-NEXT: "InstructionIndex": 0,
209 # CHECK-NEXT: "ResourceIndex": 7,
210 # CHECK-NEXT: "ResourceUsage": 0.25
211 # CHECK-NEXT: },
212 # CHECK-NEXT: {
213 # CHECK-NEXT: "InstructionIndex": 0,
214 # CHECK-NEXT: "ResourceIndex": 8,
215 # CHECK-NEXT: "ResourceUsage": 0.25
216 # CHECK-NEXT: },
217 # CHECK-NEXT: {
218 # CHECK-NEXT: "InstructionIndex": 1,
219 # CHECK-NEXT: "ResourceIndex": 2,
220 # CHECK-NEXT: "ResourceUsage": 0.25
221 # CHECK-NEXT: },
222 # CHECK-NEXT: {
223 # CHECK-NEXT: "InstructionIndex": 1,
224 # CHECK-NEXT: "ResourceIndex": 3,
225 # CHECK-NEXT: "ResourceUsage": 0.25
226 # CHECK-NEXT: },
227 # CHECK-NEXT: {
228 # CHECK-NEXT: "InstructionIndex": 1,
229 # CHECK-NEXT: "ResourceIndex": 7,
230 # CHECK-NEXT: "ResourceUsage": 0.25
231 # CHECK-NEXT: },
232 # CHECK-NEXT: {
233 # CHECK-NEXT: "InstructionIndex": 1,
234 # CHECK-NEXT: "ResourceIndex": 8,
235 # CHECK-NEXT: "ResourceUsage": 0.25
236 # CHECK-NEXT: }
237 # CHECK-NEXT: ]
238 # CHECK-NEXT: }
239 # CHECK-NEXT: }
240 # CHECK-NEXT: ],
241 # CHECK-NEXT: "SimulationParameters": {
242 # CHECK-NEXT: "-march": "x86_64",
243 # CHECK-NEXT: "-mcpu": "haswell",
244 # CHECK-NEXT: "-mtriple": "x86_64-unknown-unknown"
245 # CHECK-NEXT: },
246 # CHECK-NEXT: "TargetInfo": {
247 # CHECK-NEXT: "CPUName": "haswell",
248 # CHECK-NEXT: "Resources": [
249 # CHECK-NEXT: "HWDivider",
250 # CHECK-NEXT: "HWFPDivider",
251 # CHECK-NEXT: "HWPort0",
252 # CHECK-NEXT: "HWPort1",
253 # CHECK-NEXT: "HWPort2",
254 # CHECK-NEXT: "HWPort3",
255 # CHECK-NEXT: "HWPort4",
256 # CHECK-NEXT: "HWPort5",
257 # CHECK-NEXT: "HWPort6",
258 # CHECK-NEXT: "HWPort7"
259 # CHECK-NEXT: ]
260 # CHECK-NEXT: }
261 # CHECK-NEXT: }