1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
3
4lea 0(), %cx
5lea 0(), %ecx
6lea 0(), %rcx
7lea (%eax), %cx
8lea (%eax), %ecx
9lea (%eax), %rcx
10lea (%rax), %cx
11lea (%rax), %ecx
12lea (%rax), %rcx
13lea (, %ebx), %cx
14lea (, %ebx), %ecx
15lea (, %ebx), %rcx
16lea (, %rbx), %cx
17lea (, %rbx), %ecx
18lea (, %rbx), %rcx
19lea (, %ebx, 1), %cx
20lea (, %ebx, 1), %ecx
21lea (, %ebx, 1), %rcx
22lea (, %rbx, 1), %cx
23lea (, %rbx, 1), %ecx
24lea (, %rbx, 1), %rcx
25lea (, %ebx, 2), %cx
26lea (, %ebx, 2), %ecx
27lea (, %ebx, 2), %rcx
28lea (, %rbx, 2), %cx
29lea (, %rbx, 2), %ecx
30lea (, %rbx, 2), %rcx
31lea (%eax, %ebx), %cx
32lea (%eax, %ebx), %ecx
33lea (%eax, %ebx), %rcx
34lea (%rax, %rbx), %cx
35lea (%rax, %rbx), %ecx
36lea (%rax, %rbx), %rcx
37lea (%eax, %ebx, 1), %cx
38lea (%eax, %ebx, 1), %ecx
39lea (%eax, %ebx, 1), %rcx
40lea (%rax, %rbx, 1), %cx
41lea (%rax, %rbx, 1), %ecx
42lea (%rax, %rbx, 1), %rcx
43lea (%eax, %ebx, 2), %cx
44lea (%eax, %ebx, 2), %ecx
45lea (%eax, %ebx, 2), %rcx
46lea (%rax, %rbx, 2), %cx
47lea (%rax, %rbx, 2), %ecx
48lea (%rax, %rbx, 2), %rcx
49
50lea -16(), %cx
51lea -16(), %ecx
52lea -16(), %rcx
53lea -16(%eax), %cx
54lea -16(%eax), %ecx
55lea -16(%eax), %rcx
56lea -16(%rax), %cx
57lea -16(%rax), %ecx
58lea -16(%rax), %rcx
59lea -16(, %ebx), %cx
60lea -16(, %ebx), %ecx
61lea -16(, %ebx), %rcx
62lea -16(, %rbx), %cx
63lea -16(, %rbx), %ecx
64lea -16(, %rbx), %rcx
65lea -16(, %ebx, 1), %cx
66lea -16(, %ebx, 1), %ecx
67lea -16(, %ebx, 1), %rcx
68lea -16(, %rbx, 1), %cx
69lea -16(, %rbx, 1), %ecx
70lea -16(, %rbx, 1), %rcx
71lea -16(, %ebx, 2), %cx
72lea -16(, %ebx, 2), %ecx
73lea -16(, %ebx, 2), %rcx
74lea -16(, %rbx, 2), %cx
75lea -16(, %rbx, 2), %ecx
76lea -16(, %rbx, 2), %rcx
77lea -16(%eax, %ebx), %cx
78lea -16(%eax, %ebx), %ecx
79lea -16(%eax, %ebx), %rcx
80lea -16(%rax, %rbx), %cx
81lea -16(%rax, %rbx), %ecx
82lea -16(%rax, %rbx), %rcx
83lea -16(%eax, %ebx, 1), %cx
84lea -16(%eax, %ebx, 1), %ecx
85lea -16(%eax, %ebx, 1), %rcx
86lea -16(%rax, %rbx, 1), %cx
87lea -16(%rax, %rbx, 1), %ecx
88lea -16(%rax, %rbx, 1), %rcx
89lea -16(%eax, %ebx, 2), %cx
90lea -16(%eax, %ebx, 2), %ecx
91lea -16(%eax, %ebx, 2), %rcx
92lea -16(%rax, %rbx, 2), %cx
93lea -16(%rax, %rbx, 2), %ecx
94lea -16(%rax, %rbx, 2), %rcx
95
96lea 1024(), %cx
97lea 1024(), %ecx
98lea 1024(), %rcx
99lea 1024(%eax), %cx
100lea 1024(%eax), %ecx
101lea 1024(%eax), %rcx
102lea 1024(%rax), %cx
103lea 1024(%rax), %ecx
104lea 1024(%rax), %rcx
105lea 1024(, %ebx), %cx
106lea 1024(, %ebx), %ecx
107lea 1024(, %ebx), %rcx
108lea 1024(, %rbx), %cx
109lea 1024(, %rbx), %ecx
110lea 1024(, %rbx), %rcx
111lea 1024(, %ebx, 1), %cx
112lea 1024(, %ebx, 1), %ecx
113lea 1024(, %ebx, 1), %rcx
114lea 1024(, %rbx, 1), %cx
115lea 1024(, %rbx, 1), %ecx
116lea 1024(, %rbx, 1), %rcx
117lea 1024(, %ebx, 2), %cx
118lea 1024(, %ebx, 2), %ecx
119lea 1024(, %ebx, 2), %rcx
120lea 1024(, %rbx, 2), %cx
121lea 1024(, %rbx, 2), %ecx
122lea 1024(, %rbx, 2), %rcx
123lea 1024(%eax, %ebx), %cx
124lea 1024(%eax, %ebx), %ecx
125lea 1024(%eax, %ebx), %rcx
126lea 1024(%rax, %rbx), %cx
127lea 1024(%rax, %rbx), %ecx
128lea 1024(%rax, %rbx), %rcx
129lea 1024(%eax, %ebx, 1), %cx
130lea 1024(%eax, %ebx, 1), %ecx
131lea 1024(%eax, %ebx, 1), %rcx
132lea 1024(%rax, %rbx, 1), %cx
133lea 1024(%rax, %rbx, 1), %ecx
134lea 1024(%rax, %rbx, 1), %rcx
135lea 1024(%eax, %ebx, 2), %cx
136lea 1024(%eax, %ebx, 2), %ecx
137lea 1024(%eax, %ebx, 2), %rcx
138lea 1024(%rax, %rbx, 2), %cx
139lea 1024(%rax, %rbx, 2), %ecx
140lea 1024(%rax, %rbx, 2), %rcx
141
142# CHECK:      Instruction Info:
143# CHECK-NEXT: [1]: #uOps
144# CHECK-NEXT: [2]: Latency
145# CHECK-NEXT: [3]: RThroughput
146# CHECK-NEXT: [4]: MayLoad
147# CHECK-NEXT: [5]: MayStore
148# CHECK-NEXT: [6]: HasSideEffects (U)
149
150# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
151# CHECK-NEXT:  1      1     0.50                        leaw	0, %cx
152# CHECK-NEXT:  1      1     0.50                        leal	0, %ecx
153# CHECK-NEXT:  1      1     0.50                        leaq	0, %rcx
154# CHECK-NEXT:  1      1     0.50                        leaw	(%eax), %cx
155# CHECK-NEXT:  1      1     0.50                        leal	(%eax), %ecx
156# CHECK-NEXT:  1      1     0.50                        leaq	(%eax), %rcx
157# CHECK-NEXT:  1      1     0.50                        leaw	(%rax), %cx
158# CHECK-NEXT:  1      1     0.50                        leal	(%rax), %ecx
159# CHECK-NEXT:  1      1     0.50                        leaq	(%rax), %rcx
160# CHECK-NEXT:  1      1     0.50                        leaw	(,%ebx), %cx
161# CHECK-NEXT:  1      1     0.50                        leal	(,%ebx), %ecx
162# CHECK-NEXT:  1      1     0.50                        leaq	(,%ebx), %rcx
163# CHECK-NEXT:  1      1     0.50                        leaw	(,%rbx), %cx
164# CHECK-NEXT:  1      1     0.50                        leal	(,%rbx), %ecx
165# CHECK-NEXT:  1      1     0.50                        leaq	(,%rbx), %rcx
166# CHECK-NEXT:  1      1     0.50                        leaw	(,%ebx), %cx
167# CHECK-NEXT:  1      1     0.50                        leal	(,%ebx), %ecx
168# CHECK-NEXT:  1      1     0.50                        leaq	(,%ebx), %rcx
169# CHECK-NEXT:  1      1     0.50                        leaw	(,%rbx), %cx
170# CHECK-NEXT:  1      1     0.50                        leal	(,%rbx), %ecx
171# CHECK-NEXT:  1      1     0.50                        leaq	(,%rbx), %rcx
172# CHECK-NEXT:  1      1     0.50                        leaw	(,%ebx,2), %cx
173# CHECK-NEXT:  1      1     0.50                        leal	(,%ebx,2), %ecx
174# CHECK-NEXT:  1      1     0.50                        leaq	(,%ebx,2), %rcx
175# CHECK-NEXT:  1      1     0.50                        leaw	(,%rbx,2), %cx
176# CHECK-NEXT:  1      1     0.50                        leal	(,%rbx,2), %ecx
177# CHECK-NEXT:  1      1     0.50                        leaq	(,%rbx,2), %rcx
178# CHECK-NEXT:  1      1     0.50                        leaw	(%eax,%ebx), %cx
179# CHECK-NEXT:  1      1     0.50                        leal	(%eax,%ebx), %ecx
180# CHECK-NEXT:  1      1     0.50                        leaq	(%eax,%ebx), %rcx
181# CHECK-NEXT:  1      1     0.50                        leaw	(%rax,%rbx), %cx
182# CHECK-NEXT:  1      1     0.50                        leal	(%rax,%rbx), %ecx
183# CHECK-NEXT:  1      1     0.50                        leaq	(%rax,%rbx), %rcx
184# CHECK-NEXT:  1      1     0.50                        leaw	(%eax,%ebx), %cx
185# CHECK-NEXT:  1      1     0.50                        leal	(%eax,%ebx), %ecx
186# CHECK-NEXT:  1      1     0.50                        leaq	(%eax,%ebx), %rcx
187# CHECK-NEXT:  1      1     0.50                        leaw	(%rax,%rbx), %cx
188# CHECK-NEXT:  1      1     0.50                        leal	(%rax,%rbx), %ecx
189# CHECK-NEXT:  1      1     0.50                        leaq	(%rax,%rbx), %rcx
190# CHECK-NEXT:  1      1     0.50                        leaw	(%eax,%ebx,2), %cx
191# CHECK-NEXT:  1      1     0.50                        leal	(%eax,%ebx,2), %ecx
192# CHECK-NEXT:  1      1     0.50                        leaq	(%eax,%ebx,2), %rcx
193# CHECK-NEXT:  1      1     0.50                        leaw	(%rax,%rbx,2), %cx
194# CHECK-NEXT:  1      1     0.50                        leal	(%rax,%rbx,2), %ecx
195# CHECK-NEXT:  1      1     0.50                        leaq	(%rax,%rbx,2), %rcx
196# CHECK-NEXT:  1      1     0.50                        leaw	-16, %cx
197# CHECK-NEXT:  1      1     0.50                        leal	-16, %ecx
198# CHECK-NEXT:  1      1     0.50                        leaq	-16, %rcx
199# CHECK-NEXT:  1      1     0.50                        leaw	-16(%eax), %cx
200# CHECK-NEXT:  1      1     0.50                        leal	-16(%eax), %ecx
201# CHECK-NEXT:  1      1     0.50                        leaq	-16(%eax), %rcx
202# CHECK-NEXT:  1      1     0.50                        leaw	-16(%rax), %cx
203# CHECK-NEXT:  1      1     0.50                        leal	-16(%rax), %ecx
204# CHECK-NEXT:  1      1     0.50                        leaq	-16(%rax), %rcx
205# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%ebx), %cx
206# CHECK-NEXT:  1      1     0.50                        leal	-16(,%ebx), %ecx
207# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%ebx), %rcx
208# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%rbx), %cx
209# CHECK-NEXT:  1      1     0.50                        leal	-16(,%rbx), %ecx
210# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%rbx), %rcx
211# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%ebx), %cx
212# CHECK-NEXT:  1      1     0.50                        leal	-16(,%ebx), %ecx
213# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%ebx), %rcx
214# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%rbx), %cx
215# CHECK-NEXT:  1      1     0.50                        leal	-16(,%rbx), %ecx
216# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%rbx), %rcx
217# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%ebx,2), %cx
218# CHECK-NEXT:  1      1     0.50                        leal	-16(,%ebx,2), %ecx
219# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%ebx,2), %rcx
220# CHECK-NEXT:  1      1     0.50                        leaw	-16(,%rbx,2), %cx
221# CHECK-NEXT:  1      1     0.50                        leal	-16(,%rbx,2), %ecx
222# CHECK-NEXT:  1      1     0.50                        leaq	-16(,%rbx,2), %rcx
223# CHECK-NEXT:  1      1     0.50                        leaw	-16(%eax,%ebx), %cx
224# CHECK-NEXT:  1      1     0.50                        leal	-16(%eax,%ebx), %ecx
225# CHECK-NEXT:  1      1     0.50                        leaq	-16(%eax,%ebx), %rcx
226# CHECK-NEXT:  1      1     0.50                        leaw	-16(%rax,%rbx), %cx
227# CHECK-NEXT:  1      1     0.50                        leal	-16(%rax,%rbx), %ecx
228# CHECK-NEXT:  1      1     0.50                        leaq	-16(%rax,%rbx), %rcx
229# CHECK-NEXT:  1      1     0.50                        leaw	-16(%eax,%ebx), %cx
230# CHECK-NEXT:  1      1     0.50                        leal	-16(%eax,%ebx), %ecx
231# CHECK-NEXT:  1      1     0.50                        leaq	-16(%eax,%ebx), %rcx
232# CHECK-NEXT:  1      1     0.50                        leaw	-16(%rax,%rbx), %cx
233# CHECK-NEXT:  1      1     0.50                        leal	-16(%rax,%rbx), %ecx
234# CHECK-NEXT:  1      1     0.50                        leaq	-16(%rax,%rbx), %rcx
235# CHECK-NEXT:  1      1     0.50                        leaw	-16(%eax,%ebx,2), %cx
236# CHECK-NEXT:  1      1     0.50                        leal	-16(%eax,%ebx,2), %ecx
237# CHECK-NEXT:  1      1     0.50                        leaq	-16(%eax,%ebx,2), %rcx
238# CHECK-NEXT:  1      1     0.50                        leaw	-16(%rax,%rbx,2), %cx
239# CHECK-NEXT:  1      1     0.50                        leal	-16(%rax,%rbx,2), %ecx
240# CHECK-NEXT:  1      1     0.50                        leaq	-16(%rax,%rbx,2), %rcx
241# CHECK-NEXT:  1      1     0.50                        leaw	1024, %cx
242# CHECK-NEXT:  1      1     0.50                        leal	1024, %ecx
243# CHECK-NEXT:  1      1     0.50                        leaq	1024, %rcx
244# CHECK-NEXT:  1      1     0.50                        leaw	1024(%eax), %cx
245# CHECK-NEXT:  1      1     0.50                        leal	1024(%eax), %ecx
246# CHECK-NEXT:  1      1     0.50                        leaq	1024(%eax), %rcx
247# CHECK-NEXT:  1      1     0.50                        leaw	1024(%rax), %cx
248# CHECK-NEXT:  1      1     0.50                        leal	1024(%rax), %ecx
249# CHECK-NEXT:  1      1     0.50                        leaq	1024(%rax), %rcx
250# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%ebx), %cx
251# CHECK-NEXT:  1      1     0.50                        leal	1024(,%ebx), %ecx
252# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%ebx), %rcx
253# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%rbx), %cx
254# CHECK-NEXT:  1      1     0.50                        leal	1024(,%rbx), %ecx
255# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%rbx), %rcx
256# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%ebx), %cx
257# CHECK-NEXT:  1      1     0.50                        leal	1024(,%ebx), %ecx
258# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%ebx), %rcx
259# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%rbx), %cx
260# CHECK-NEXT:  1      1     0.50                        leal	1024(,%rbx), %ecx
261# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%rbx), %rcx
262# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%ebx,2), %cx
263# CHECK-NEXT:  1      1     0.50                        leal	1024(,%ebx,2), %ecx
264# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%ebx,2), %rcx
265# CHECK-NEXT:  1      1     0.50                        leaw	1024(,%rbx,2), %cx
266# CHECK-NEXT:  1      1     0.50                        leal	1024(,%rbx,2), %ecx
267# CHECK-NEXT:  1      1     0.50                        leaq	1024(,%rbx,2), %rcx
268# CHECK-NEXT:  1      1     0.50                        leaw	1024(%eax,%ebx), %cx
269# CHECK-NEXT:  1      1     0.50                        leal	1024(%eax,%ebx), %ecx
270# CHECK-NEXT:  1      1     0.50                        leaq	1024(%eax,%ebx), %rcx
271# CHECK-NEXT:  1      1     0.50                        leaw	1024(%rax,%rbx), %cx
272# CHECK-NEXT:  1      1     0.50                        leal	1024(%rax,%rbx), %ecx
273# CHECK-NEXT:  1      1     0.50                        leaq	1024(%rax,%rbx), %rcx
274# CHECK-NEXT:  1      1     0.50                        leaw	1024(%eax,%ebx), %cx
275# CHECK-NEXT:  1      1     0.50                        leal	1024(%eax,%ebx), %ecx
276# CHECK-NEXT:  1      1     0.50                        leaq	1024(%eax,%ebx), %rcx
277# CHECK-NEXT:  1      1     0.50                        leaw	1024(%rax,%rbx), %cx
278# CHECK-NEXT:  1      1     0.50                        leal	1024(%rax,%rbx), %ecx
279# CHECK-NEXT:  1      1     0.50                        leaq	1024(%rax,%rbx), %rcx
280# CHECK-NEXT:  1      1     0.50                        leaw	1024(%eax,%ebx,2), %cx
281# CHECK-NEXT:  1      1     0.50                        leal	1024(%eax,%ebx,2), %ecx
282# CHECK-NEXT:  1      1     0.50                        leaq	1024(%eax,%ebx,2), %rcx
283# CHECK-NEXT:  1      1     0.50                        leaw	1024(%rax,%rbx,2), %cx
284# CHECK-NEXT:  1      1     0.50                        leal	1024(%rax,%rbx,2), %ecx
285# CHECK-NEXT:  1      1     0.50                        leaq	1024(%rax,%rbx,2), %rcx
286
287# CHECK:      Resources:
288# CHECK-NEXT: [0]   - SBDivider
289# CHECK-NEXT: [1]   - SBFPDivider
290# CHECK-NEXT: [2]   - SBPort0
291# CHECK-NEXT: [3]   - SBPort1
292# CHECK-NEXT: [4]   - SBPort4
293# CHECK-NEXT: [5]   - SBPort5
294# CHECK-NEXT: [6.0] - SBPort23
295# CHECK-NEXT: [6.1] - SBPort23
296
297# CHECK:      Resource pressure per iteration:
298# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
299# CHECK-NEXT:  -      -     67.50  67.50   -      -      -      -
300
301# CHECK:      Resource pressure by instruction:
302# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
303# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	0, %cx
304# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	0, %ecx
305# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	0, %rcx
306# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%eax), %cx
307# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%eax), %ecx
308# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%eax), %rcx
309# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%rax), %cx
310# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%rax), %ecx
311# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%rax), %rcx
312# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%ebx), %cx
313# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%ebx), %ecx
314# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%ebx), %rcx
315# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%rbx), %cx
316# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%rbx), %ecx
317# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%rbx), %rcx
318# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%ebx), %cx
319# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%ebx), %ecx
320# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%ebx), %rcx
321# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%rbx), %cx
322# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%rbx), %ecx
323# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%rbx), %rcx
324# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%ebx,2), %cx
325# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%ebx,2), %ecx
326# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%ebx,2), %rcx
327# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(,%rbx,2), %cx
328# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(,%rbx,2), %ecx
329# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(,%rbx,2), %rcx
330# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%eax,%ebx), %cx
331# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%eax,%ebx), %ecx
332# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%eax,%ebx), %rcx
333# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%rax,%rbx), %cx
334# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%rax,%rbx), %ecx
335# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%rax,%rbx), %rcx
336# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%eax,%ebx), %cx
337# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%eax,%ebx), %ecx
338# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%eax,%ebx), %rcx
339# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%rax,%rbx), %cx
340# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%rax,%rbx), %ecx
341# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%rax,%rbx), %rcx
342# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%eax,%ebx,2), %cx
343# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%eax,%ebx,2), %ecx
344# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%eax,%ebx,2), %rcx
345# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	(%rax,%rbx,2), %cx
346# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	(%rax,%rbx,2), %ecx
347# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	(%rax,%rbx,2), %rcx
348# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16, %cx
349# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16, %ecx
350# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16, %rcx
351# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%eax), %cx
352# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%eax), %ecx
353# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%eax), %rcx
354# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%rax), %cx
355# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%rax), %ecx
356# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%rax), %rcx
357# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%ebx), %cx
358# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%ebx), %ecx
359# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%ebx), %rcx
360# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%rbx), %cx
361# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%rbx), %ecx
362# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%rbx), %rcx
363# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%ebx), %cx
364# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%ebx), %ecx
365# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%ebx), %rcx
366# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%rbx), %cx
367# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%rbx), %ecx
368# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%rbx), %rcx
369# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%ebx,2), %cx
370# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%ebx,2), %ecx
371# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%ebx,2), %rcx
372# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(,%rbx,2), %cx
373# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(,%rbx,2), %ecx
374# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(,%rbx,2), %rcx
375# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%eax,%ebx), %cx
376# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%eax,%ebx), %ecx
377# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%eax,%ebx), %rcx
378# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%rax,%rbx), %cx
379# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%rax,%rbx), %ecx
380# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%rax,%rbx), %rcx
381# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%eax,%ebx), %cx
382# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%eax,%ebx), %ecx
383# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%eax,%ebx), %rcx
384# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%rax,%rbx), %cx
385# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%rax,%rbx), %ecx
386# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%rax,%rbx), %rcx
387# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%eax,%ebx,2), %cx
388# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%eax,%ebx,2), %ecx
389# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%eax,%ebx,2), %rcx
390# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	-16(%rax,%rbx,2), %cx
391# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	-16(%rax,%rbx,2), %ecx
392# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	-16(%rax,%rbx,2), %rcx
393# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024, %cx
394# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024, %ecx
395# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024, %rcx
396# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%eax), %cx
397# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%eax), %ecx
398# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%eax), %rcx
399# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%rax), %cx
400# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%rax), %ecx
401# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%rax), %rcx
402# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%ebx), %cx
403# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%ebx), %ecx
404# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%ebx), %rcx
405# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%rbx), %cx
406# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%rbx), %ecx
407# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%rbx), %rcx
408# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%ebx), %cx
409# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%ebx), %ecx
410# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%ebx), %rcx
411# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%rbx), %cx
412# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%rbx), %ecx
413# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%rbx), %rcx
414# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%ebx,2), %cx
415# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%ebx,2), %ecx
416# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%ebx,2), %rcx
417# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(,%rbx,2), %cx
418# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(,%rbx,2), %ecx
419# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(,%rbx,2), %rcx
420# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%eax,%ebx), %cx
421# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%eax,%ebx), %ecx
422# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%eax,%ebx), %rcx
423# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%rax,%rbx), %cx
424# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%rax,%rbx), %ecx
425# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%rax,%rbx), %rcx
426# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%eax,%ebx), %cx
427# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%eax,%ebx), %ecx
428# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%eax,%ebx), %rcx
429# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%rax,%rbx), %cx
430# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%rax,%rbx), %ecx
431# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%rax,%rbx), %rcx
432# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%eax,%ebx,2), %cx
433# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%eax,%ebx,2), %ecx
434# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%eax,%ebx,2), %rcx
435# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaw	1024(%rax,%rbx,2), %cx
436# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leal	1024(%rax,%rbx,2), %ecx
437# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -     leaq	1024(%rax,%rbx,2), %rcx
438