1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -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]   - SKXDivider
289# CHECK-NEXT: [1]   - SKXFPDivider
290# CHECK-NEXT: [2]   - SKXPort0
291# CHECK-NEXT: [3]   - SKXPort1
292# CHECK-NEXT: [4]   - SKXPort2
293# CHECK-NEXT: [5]   - SKXPort3
294# CHECK-NEXT: [6]   - SKXPort4
295# CHECK-NEXT: [7]   - SKXPort5
296# CHECK-NEXT: [8]   - SKXPort6
297# CHECK-NEXT: [9]   - SKXPort7
298
299# CHECK:      Resource pressure per iteration:
300# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
301# CHECK-NEXT:  -      -      -     67.50   -      -      -     67.50   -      -
302
303# CHECK:      Resource pressure by instruction:
304# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
305# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	0, %cx
306# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	0, %ecx
307# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	0, %rcx
308# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(%eax), %cx
309# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(%eax), %ecx
310# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(%eax), %rcx
311# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(%rax), %cx
312# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(%rax), %ecx
313# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(%rax), %rcx
314# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(,%ebx), %cx
315# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(,%ebx), %ecx
316# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(,%ebx), %rcx
317# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(,%rbx), %cx
318# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(,%rbx), %ecx
319# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(,%rbx), %rcx
320# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(,%ebx), %cx
321# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(,%ebx), %ecx
322# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(,%ebx), %rcx
323# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(,%rbx), %cx
324# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(,%rbx), %ecx
325# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(,%rbx), %rcx
326# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(,%ebx,2), %cx
327# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(,%ebx,2), %ecx
328# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(,%ebx,2), %rcx
329# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(,%rbx,2), %cx
330# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(,%rbx,2), %ecx
331# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(,%rbx,2), %rcx
332# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(%eax,%ebx), %cx
333# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(%eax,%ebx), %ecx
334# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(%eax,%ebx), %rcx
335# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(%rax,%rbx), %cx
336# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(%rax,%rbx), %ecx
337# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(%rax,%rbx), %rcx
338# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(%eax,%ebx), %cx
339# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(%eax,%ebx), %ecx
340# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(%eax,%ebx), %rcx
341# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(%rax,%rbx), %cx
342# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(%rax,%rbx), %ecx
343# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(%rax,%rbx), %rcx
344# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(%eax,%ebx,2), %cx
345# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(%eax,%ebx,2), %ecx
346# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(%eax,%ebx,2), %rcx
347# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	(%rax,%rbx,2), %cx
348# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	(%rax,%rbx,2), %ecx
349# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	(%rax,%rbx,2), %rcx
350# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16, %cx
351# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16, %ecx
352# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16, %rcx
353# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(%eax), %cx
354# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(%eax), %ecx
355# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(%eax), %rcx
356# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(%rax), %cx
357# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(%rax), %ecx
358# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(%rax), %rcx
359# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(,%ebx), %cx
360# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(,%ebx), %ecx
361# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(,%ebx), %rcx
362# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(,%rbx), %cx
363# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(,%rbx), %ecx
364# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(,%rbx), %rcx
365# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(,%ebx), %cx
366# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(,%ebx), %ecx
367# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(,%ebx), %rcx
368# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(,%rbx), %cx
369# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(,%rbx), %ecx
370# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(,%rbx), %rcx
371# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(,%ebx,2), %cx
372# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(,%ebx,2), %ecx
373# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(,%ebx,2), %rcx
374# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(,%rbx,2), %cx
375# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(,%rbx,2), %ecx
376# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(,%rbx,2), %rcx
377# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(%eax,%ebx), %cx
378# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(%eax,%ebx), %ecx
379# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(%eax,%ebx), %rcx
380# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(%rax,%rbx), %cx
381# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(%rax,%rbx), %ecx
382# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(%rax,%rbx), %rcx
383# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(%eax,%ebx), %cx
384# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(%eax,%ebx), %ecx
385# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(%eax,%ebx), %rcx
386# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(%rax,%rbx), %cx
387# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(%rax,%rbx), %ecx
388# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(%rax,%rbx), %rcx
389# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(%eax,%ebx,2), %cx
390# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(%eax,%ebx,2), %ecx
391# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(%eax,%ebx,2), %rcx
392# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	-16(%rax,%rbx,2), %cx
393# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	-16(%rax,%rbx,2), %ecx
394# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	-16(%rax,%rbx,2), %rcx
395# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024, %cx
396# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024, %ecx
397# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024, %rcx
398# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(%eax), %cx
399# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(%eax), %ecx
400# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(%eax), %rcx
401# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(%rax), %cx
402# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(%rax), %ecx
403# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(%rax), %rcx
404# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(,%ebx), %cx
405# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(,%ebx), %ecx
406# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(,%ebx), %rcx
407# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(,%rbx), %cx
408# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(,%rbx), %ecx
409# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(,%rbx), %rcx
410# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(,%ebx), %cx
411# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(,%ebx), %ecx
412# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(,%ebx), %rcx
413# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(,%rbx), %cx
414# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(,%rbx), %ecx
415# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(,%rbx), %rcx
416# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(,%ebx,2), %cx
417# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(,%ebx,2), %ecx
418# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(,%ebx,2), %rcx
419# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(,%rbx,2), %cx
420# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(,%rbx,2), %ecx
421# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(,%rbx,2), %rcx
422# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(%eax,%ebx), %cx
423# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(%eax,%ebx), %ecx
424# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(%eax,%ebx), %rcx
425# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(%rax,%rbx), %cx
426# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(%rax,%rbx), %ecx
427# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(%rax,%rbx), %rcx
428# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(%eax,%ebx), %cx
429# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(%eax,%ebx), %ecx
430# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(%eax,%ebx), %rcx
431# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(%rax,%rbx), %cx
432# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(%rax,%rbx), %ecx
433# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(%rax,%rbx), %rcx
434# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(%eax,%ebx,2), %cx
435# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(%eax,%ebx,2), %ecx
436# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(%eax,%ebx,2), %rcx
437# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaw	1024(%rax,%rbx,2), %cx
438# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leal	1024(%rax,%rbx,2), %ecx
439# CHECK-NEXT:  -      -      -     0.50    -      -      -     0.50    -      -     leaq	1024(%rax,%rbx,2), %rcx
440