1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=i386-unknown | FileCheck %s --check-prefix=X32
3; RUN: llc < %s -mtriple=x86_64-unknown | FileCheck %s --check-prefix=X64
4
5define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
6; X32-LABEL: test_1024:
7; X32:       # %bb.0:
8; X32-NEXT:    pushl %ebp
9; X32-NEXT:    pushl %ebx
10; X32-NEXT:    pushl %edi
11; X32-NEXT:    pushl %esi
12; X32-NEXT:    subl $400, %esp # imm = 0x190
13; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
14; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
15; X32-NEXT:    movl 60(%ecx), %esi
16; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
17; X32-NEXT:    movl 56(%ecx), %edi
18; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
19; X32-NEXT:    movl (%eax), %ebp
20; X32-NEXT:    movl %edi, %eax
21; X32-NEXT:    mull %ebp
22; X32-NEXT:    movl %edx, %ecx
23; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
24; X32-NEXT:    movl %esi, %eax
25; X32-NEXT:    mull %ebp
26; X32-NEXT:    movl %edx, %esi
27; X32-NEXT:    movl %eax, %ebx
28; X32-NEXT:    addl %ecx, %ebx
29; X32-NEXT:    adcl $0, %esi
30; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
31; X32-NEXT:    movl 4(%eax), %ecx
32; X32-NEXT:    movl %edi, %eax
33; X32-NEXT:    mull %ecx
34; X32-NEXT:    movl %ecx, %edi
35; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
36; X32-NEXT:    movl %edx, %ecx
37; X32-NEXT:    addl %ebx, %eax
38; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
39; X32-NEXT:    adcl %esi, %ecx
40; X32-NEXT:    setb %bl
41; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
42; X32-NEXT:    mull %edi
43; X32-NEXT:    addl %ecx, %eax
44; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
45; X32-NEXT:    movzbl %bl, %eax
46; X32-NEXT:    adcl %eax, %edx
47; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
48; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
49; X32-NEXT:    movl 48(%edi), %esi
50; X32-NEXT:    movl %esi, %eax
51; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
52; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
53; X32-NEXT:    mull %ebp
54; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
55; X32-NEXT:    movl %edx, %ecx
56; X32-NEXT:    movl 52(%edi), %eax
57; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
58; X32-NEXT:    mull %ebp
59; X32-NEXT:    movl %edx, %ebx
60; X32-NEXT:    movl %eax, %edi
61; X32-NEXT:    addl %ecx, %edi
62; X32-NEXT:    adcl $0, %ebx
63; X32-NEXT:    movl %esi, %eax
64; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
65; X32-NEXT:    mull %ecx
66; X32-NEXT:    movl %edx, %ebp
67; X32-NEXT:    addl %edi, %eax
68; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
69; X32-NEXT:    adcl %ebx, %ebp
70; X32-NEXT:    setb %bl
71; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
72; X32-NEXT:    movl %esi, %eax
73; X32-NEXT:    mull %ecx
74; X32-NEXT:    movl %eax, %ecx
75; X32-NEXT:    addl %ebp, %ecx
76; X32-NEXT:    movzbl %bl, %eax
77; X32-NEXT:    adcl %eax, %edx
78; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
79; X32-NEXT:    adcl (%esp), %edx # 4-byte Folded Reload
80; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
81; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
82; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
83; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
84; X32-NEXT:    movl 8(%eax), %ebp
85; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
86; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
87; X32-NEXT:    movl %ebx, %eax
88; X32-NEXT:    mull %ebp
89; X32-NEXT:    movl %edx, %edi
90; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
91; X32-NEXT:    movl %esi, %eax
92; X32-NEXT:    mull %ebp
93; X32-NEXT:    movl %edx, %ebp
94; X32-NEXT:    movl %eax, %esi
95; X32-NEXT:    addl %edi, %esi
96; X32-NEXT:    adcl $0, %ebp
97; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
98; X32-NEXT:    movl 12(%eax), %edi
99; X32-NEXT:    movl %ebx, %eax
100; X32-NEXT:    mull %edi
101; X32-NEXT:    movl %edx, %ebx
102; X32-NEXT:    addl %esi, %eax
103; X32-NEXT:    movl %eax, %esi
104; X32-NEXT:    adcl %ebp, %ebx
105; X32-NEXT:    setb (%esp) # 1-byte Folded Spill
106; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
107; X32-NEXT:    mull %edi
108; X32-NEXT:    movl %edi, %ebp
109; X32-NEXT:    movl %eax, %edi
110; X32-NEXT:    addl %ebx, %edi
111; X32-NEXT:    movzbl (%esp), %eax # 1-byte Folded Reload
112; X32-NEXT:    adcl %eax, %edx
113; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
114; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
115; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
116; X32-NEXT:    adcl $0, %edi
117; X32-NEXT:    adcl $0, %edx
118; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
119; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
120; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
121; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
122; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
123; X32-NEXT:    movl %ecx, %eax
124; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
125; X32-NEXT:    mull %esi
126; X32-NEXT:    movl %edx, (%esp) # 4-byte Spill
127; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
128; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
129; X32-NEXT:    mull %esi
130; X32-NEXT:    movl %edx, %esi
131; X32-NEXT:    movl %eax, %ebx
132; X32-NEXT:    addl (%esp), %ebx # 4-byte Folded Reload
133; X32-NEXT:    adcl $0, %esi
134; X32-NEXT:    movl %ecx, %eax
135; X32-NEXT:    movl %ebp, %ecx
136; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
137; X32-NEXT:    mull %ebp
138; X32-NEXT:    movl %edx, %ebp
139; X32-NEXT:    addl %ebx, %eax
140; X32-NEXT:    movl %eax, %ebx
141; X32-NEXT:    adcl %esi, %ebp
142; X32-NEXT:    setb (%esp) # 1-byte Folded Spill
143; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
144; X32-NEXT:    mull %ecx
145; X32-NEXT:    addl %ebp, %eax
146; X32-NEXT:    movzbl (%esp), %ecx # 1-byte Folded Reload
147; X32-NEXT:    adcl %ecx, %edx
148; X32-NEXT:    addl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
149; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
150; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
151; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
152; X32-NEXT:    adcl %ecx, %eax
153; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
154; X32-NEXT:    adcl $0, %edx
155; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
156; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
157; X32-NEXT:    movl 40(%esi), %edi
158; X32-NEXT:    movl %edi, %eax
159; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
160; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
161; X32-NEXT:    mull %ebx
162; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
163; X32-NEXT:    movl %edx, %ecx
164; X32-NEXT:    movl 44(%esi), %ebp
165; X32-NEXT:    movl %ebp, %eax
166; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
167; X32-NEXT:    mull %ebx
168; X32-NEXT:    movl %edx, %esi
169; X32-NEXT:    movl %eax, %ebx
170; X32-NEXT:    addl %ecx, %ebx
171; X32-NEXT:    adcl $0, %esi
172; X32-NEXT:    movl %edi, %eax
173; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
174; X32-NEXT:    mull %edi
175; X32-NEXT:    movl %edx, %ecx
176; X32-NEXT:    addl %ebx, %eax
177; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
178; X32-NEXT:    adcl %esi, %ecx
179; X32-NEXT:    setb %bl
180; X32-NEXT:    movl %ebp, %eax
181; X32-NEXT:    mull %edi
182; X32-NEXT:    addl %ecx, %eax
183; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
184; X32-NEXT:    movzbl %bl, %eax
185; X32-NEXT:    adcl %eax, %edx
186; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
187; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebp
188; X32-NEXT:    movl 32(%ebp), %edi
189; X32-NEXT:    movl %edi, %eax
190; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
191; X32-NEXT:    mull %esi
192; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
193; X32-NEXT:    movl %edx, %ecx
194; X32-NEXT:    movl 36(%ebp), %eax
195; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
196; X32-NEXT:    mull %esi
197; X32-NEXT:    movl %edx, %ebx
198; X32-NEXT:    movl %eax, %ebp
199; X32-NEXT:    addl %ecx, %ebp
200; X32-NEXT:    adcl $0, %ebx
201; X32-NEXT:    movl %edi, %esi
202; X32-NEXT:    movl %edi, %eax
203; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
204; X32-NEXT:    mull %ecx
205; X32-NEXT:    movl %edx, %edi
206; X32-NEXT:    addl %ebp, %eax
207; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
208; X32-NEXT:    adcl %ebx, %edi
209; X32-NEXT:    setb %bl
210; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
211; X32-NEXT:    movl %ebp, %eax
212; X32-NEXT:    mull %ecx
213; X32-NEXT:    movl %eax, %ecx
214; X32-NEXT:    addl %edi, %ecx
215; X32-NEXT:    movzbl %bl, %eax
216; X32-NEXT:    adcl %eax, %edx
217; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
218; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
219; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
220; X32-NEXT:    adcl $0, (%esp) # 4-byte Folded Spill
221; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
222; X32-NEXT:    movl %esi, %ebx
223; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
224; X32-NEXT:    movl %esi, %eax
225; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
226; X32-NEXT:    mull %esi
227; X32-NEXT:    movl %edx, %edi
228; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
229; X32-NEXT:    movl %ebp, %eax
230; X32-NEXT:    mull %esi
231; X32-NEXT:    movl %edx, %ebp
232; X32-NEXT:    movl %eax, %esi
233; X32-NEXT:    addl %edi, %esi
234; X32-NEXT:    adcl $0, %ebp
235; X32-NEXT:    movl %ebx, %eax
236; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
237; X32-NEXT:    mull %edi
238; X32-NEXT:    movl %edx, %ebx
239; X32-NEXT:    addl %esi, %eax
240; X32-NEXT:    movl %eax, %esi
241; X32-NEXT:    adcl %ebp, %ebx
242; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
243; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
244; X32-NEXT:    mull %edi
245; X32-NEXT:    movl %eax, %edi
246; X32-NEXT:    addl %ebx, %edi
247; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
248; X32-NEXT:    adcl %eax, %edx
249; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
250; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
251; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
252; X32-NEXT:    adcl $0, %edi
253; X32-NEXT:    adcl $0, %edx
254; X32-NEXT:    addl (%esp), %edi # 4-byte Folded Reload
255; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
256; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
257; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
258; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
259; X32-NEXT:    movl %ebp, %eax
260; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
261; X32-NEXT:    mull %esi
262; X32-NEXT:    movl %edx, %ecx
263; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
264; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
265; X32-NEXT:    mull %esi
266; X32-NEXT:    movl %edx, %esi
267; X32-NEXT:    movl %eax, %ebx
268; X32-NEXT:    addl %ecx, %ebx
269; X32-NEXT:    adcl $0, %esi
270; X32-NEXT:    movl %ebp, %eax
271; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
272; X32-NEXT:    mull %ebp
273; X32-NEXT:    movl %edx, %ecx
274; X32-NEXT:    addl %ebx, %eax
275; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
276; X32-NEXT:    adcl %esi, %ecx
277; X32-NEXT:    setb %bl
278; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
279; X32-NEXT:    mull %ebp
280; X32-NEXT:    addl %ecx, %eax
281; X32-NEXT:    movzbl %bl, %ecx
282; X32-NEXT:    adcl %ecx, %edx
283; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
284; X32-NEXT:    addl %edi, %ecx
285; X32-NEXT:    movl (%esp), %esi # 4-byte Reload
286; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
287; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 1-byte Folded Reload
288; X32-NEXT:    adcl %edi, %eax
289; X32-NEXT:    adcl $0, %edx
290; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
291; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
292; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
293; X32-NEXT:    movl %esi, (%esp) # 4-byte Spill
294; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
295; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
296; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
297; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
298; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
299; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
300; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
301; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
302; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
303; X32-NEXT:    movl 16(%eax), %edi
304; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
305; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
306; X32-NEXT:    movl %esi, %eax
307; X32-NEXT:    mull %edi
308; X32-NEXT:    movl %edx, %ebp
309; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
310; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
311; X32-NEXT:    movl %ecx, %eax
312; X32-NEXT:    mull %edi
313; X32-NEXT:    movl %edx, %edi
314; X32-NEXT:    movl %eax, %ebx
315; X32-NEXT:    addl %ebp, %ebx
316; X32-NEXT:    adcl $0, %edi
317; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
318; X32-NEXT:    movl 20(%eax), %edx
319; X32-NEXT:    movl %esi, %eax
320; X32-NEXT:    movl %edx, %esi
321; X32-NEXT:    mull %edx
322; X32-NEXT:    movl %edx, %ebp
323; X32-NEXT:    addl %ebx, %eax
324; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
325; X32-NEXT:    adcl %edi, %ebp
326; X32-NEXT:    setb %bl
327; X32-NEXT:    movl %ecx, %eax
328; X32-NEXT:    mull %esi
329; X32-NEXT:    movl %esi, %edi
330; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
331; X32-NEXT:    addl %ebp, %eax
332; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
333; X32-NEXT:    movzbl %bl, %eax
334; X32-NEXT:    adcl %eax, %edx
335; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
336; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
337; X32-NEXT:    movl %ecx, %eax
338; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
339; X32-NEXT:    mull %esi
340; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
341; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
342; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
343; X32-NEXT:    movl %ebx, %eax
344; X32-NEXT:    mull %esi
345; X32-NEXT:    movl %edx, %ebp
346; X32-NEXT:    movl %eax, %esi
347; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
348; X32-NEXT:    adcl $0, %ebp
349; X32-NEXT:    movl %ecx, %eax
350; X32-NEXT:    mull %edi
351; X32-NEXT:    movl %edx, %ecx
352; X32-NEXT:    addl %esi, %eax
353; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
354; X32-NEXT:    adcl %ebp, %ecx
355; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
356; X32-NEXT:    movl %ebx, %esi
357; X32-NEXT:    movl %ebx, %eax
358; X32-NEXT:    mull %edi
359; X32-NEXT:    movl %eax, %edi
360; X32-NEXT:    addl %ecx, %edi
361; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
362; X32-NEXT:    adcl %eax, %edx
363; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
364; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
365; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
366; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
367; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
368; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
369; X32-NEXT:    movl 24(%eax), %ebx
370; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
371; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
372; X32-NEXT:    movl %ebp, %eax
373; X32-NEXT:    mull %ebx
374; X32-NEXT:    movl %edx, %ecx
375; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
376; X32-NEXT:    movl %esi, %eax
377; X32-NEXT:    mull %ebx
378; X32-NEXT:    movl %edx, %esi
379; X32-NEXT:    movl %eax, %ebx
380; X32-NEXT:    addl %ecx, %ebx
381; X32-NEXT:    adcl $0, %esi
382; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
383; X32-NEXT:    movl 28(%eax), %ecx
384; X32-NEXT:    movl %ebp, %eax
385; X32-NEXT:    mull %ecx
386; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
387; X32-NEXT:    movl %edx, %ebp
388; X32-NEXT:    addl %ebx, %eax
389; X32-NEXT:    movl %eax, %ebx
390; X32-NEXT:    adcl %esi, %ebp
391; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
392; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
393; X32-NEXT:    mull %ecx
394; X32-NEXT:    movl %eax, %esi
395; X32-NEXT:    addl %ebp, %esi
396; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
397; X32-NEXT:    adcl %eax, %edx
398; X32-NEXT:    addl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
399; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
400; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
401; X32-NEXT:    adcl $0, %esi
402; X32-NEXT:    adcl $0, %edx
403; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
404; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
405; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
406; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
407; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
408; X32-NEXT:    movl %edi, %eax
409; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
410; X32-NEXT:    mull %ecx
411; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
412; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
413; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
414; X32-NEXT:    mull %ecx
415; X32-NEXT:    movl %edx, %ebx
416; X32-NEXT:    movl %eax, %ebp
417; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
418; X32-NEXT:    adcl $0, %ebx
419; X32-NEXT:    movl %edi, %eax
420; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
421; X32-NEXT:    mull %ecx
422; X32-NEXT:    movl %edx, %edi
423; X32-NEXT:    addl %ebp, %eax
424; X32-NEXT:    movl %eax, %ebp
425; X32-NEXT:    adcl %ebx, %edi
426; X32-NEXT:    setb %bl
427; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
428; X32-NEXT:    mull %ecx
429; X32-NEXT:    addl %edi, %eax
430; X32-NEXT:    movzbl %bl, %edi
431; X32-NEXT:    adcl %edi, %edx
432; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
433; X32-NEXT:    addl %esi, %edi
434; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
435; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
436; X32-NEXT:    adcl %ecx, %eax
437; X32-NEXT:    adcl $0, %edx
438; X32-NEXT:    movl %edx, %esi
439; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
440; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
441; X32-NEXT:    movl (%esp), %ecx # 4-byte Reload
442; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
443; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
444; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
445; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
446; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
447; X32-NEXT:    movl %edi, %edx
448; X32-NEXT:    adcl $0, %edx
449; X32-NEXT:    movl %ebp, %ecx
450; X32-NEXT:    adcl $0, %ecx
451; X32-NEXT:    adcl $0, %eax
452; X32-NEXT:    adcl $0, %esi
453; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
454; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
455; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
456; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
457; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
458; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
459; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
460; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
461; X32-NEXT:    setb (%esp) # 1-byte Folded Spill
462; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
463; X32-NEXT:    movl %ebp, %eax
464; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
465; X32-NEXT:    mull %esi
466; X32-NEXT:    movl %edx, %ecx
467; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
468; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
469; X32-NEXT:    movl %edi, %eax
470; X32-NEXT:    mull %esi
471; X32-NEXT:    movl %edx, %esi
472; X32-NEXT:    movl %eax, %ebx
473; X32-NEXT:    addl %ecx, %ebx
474; X32-NEXT:    adcl $0, %esi
475; X32-NEXT:    movl %ebp, %eax
476; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
477; X32-NEXT:    mull %ebp
478; X32-NEXT:    movl %edx, %ecx
479; X32-NEXT:    addl %ebx, %eax
480; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
481; X32-NEXT:    adcl %esi, %ecx
482; X32-NEXT:    setb %bl
483; X32-NEXT:    movl %edi, %eax
484; X32-NEXT:    mull %ebp
485; X32-NEXT:    addl %ecx, %eax
486; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
487; X32-NEXT:    movzbl %bl, %eax
488; X32-NEXT:    adcl %eax, %edx
489; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
490; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
491; X32-NEXT:    movl %ecx, %eax
492; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
493; X32-NEXT:    mull %edi
494; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
495; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
496; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
497; X32-NEXT:    movl %esi, %eax
498; X32-NEXT:    mull %edi
499; X32-NEXT:    movl %edx, %ebx
500; X32-NEXT:    movl %eax, %ebp
501; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
502; X32-NEXT:    adcl $0, %ebx
503; X32-NEXT:    movl %ecx, %eax
504; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
505; X32-NEXT:    mull %ecx
506; X32-NEXT:    movl %edx, %edi
507; X32-NEXT:    addl %ebp, %eax
508; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
509; X32-NEXT:    adcl %ebx, %edi
510; X32-NEXT:    setb %bl
511; X32-NEXT:    movl %esi, %eax
512; X32-NEXT:    mull %ecx
513; X32-NEXT:    movl %eax, %ecx
514; X32-NEXT:    addl %edi, %ecx
515; X32-NEXT:    movzbl %bl, %eax
516; X32-NEXT:    adcl %eax, %edx
517; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
518; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
519; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
520; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
521; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
522; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
523; X32-NEXT:    movl %ebp, %eax
524; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
525; X32-NEXT:    mull %edi
526; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
527; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
528; X32-NEXT:    movl %esi, %eax
529; X32-NEXT:    mull %edi
530; X32-NEXT:    movl %edx, %ebx
531; X32-NEXT:    movl %eax, %esi
532; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
533; X32-NEXT:    adcl $0, %ebx
534; X32-NEXT:    movl %ebp, %eax
535; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
536; X32-NEXT:    mull %edi
537; X32-NEXT:    movl %edx, %ebp
538; X32-NEXT:    addl %esi, %eax
539; X32-NEXT:    movl %eax, %esi
540; X32-NEXT:    adcl %ebx, %ebp
541; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
542; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
543; X32-NEXT:    mull %edi
544; X32-NEXT:    movl %edi, %ebx
545; X32-NEXT:    movl %eax, %edi
546; X32-NEXT:    addl %ebp, %edi
547; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
548; X32-NEXT:    adcl %eax, %edx
549; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
550; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
551; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
552; X32-NEXT:    adcl $0, %edi
553; X32-NEXT:    adcl $0, %edx
554; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
555; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
556; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
557; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
558; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
559; X32-NEXT:    movl %ecx, %eax
560; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
561; X32-NEXT:    mull %esi
562; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
563; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
564; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
565; X32-NEXT:    mull %esi
566; X32-NEXT:    movl %edx, %esi
567; X32-NEXT:    movl %eax, %ebp
568; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
569; X32-NEXT:    adcl $0, %esi
570; X32-NEXT:    movl %ecx, %eax
571; X32-NEXT:    movl %ebx, %ecx
572; X32-NEXT:    mull %ebx
573; X32-NEXT:    movl %edx, %ebx
574; X32-NEXT:    addl %ebp, %eax
575; X32-NEXT:    movl %eax, %ebp
576; X32-NEXT:    adcl %esi, %ebx
577; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
578; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
579; X32-NEXT:    mull %ecx
580; X32-NEXT:    addl %ebx, %eax
581; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
582; X32-NEXT:    adcl %ecx, %edx
583; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
584; X32-NEXT:    addl %edi, %ecx
585; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
586; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 1-byte Folded Reload
587; X32-NEXT:    adcl %esi, %eax
588; X32-NEXT:    movl %eax, %esi
589; X32-NEXT:    adcl $0, %edx
590; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
591; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
592; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
593; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
594; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
595; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
596; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
597; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
598; X32-NEXT:    movzbl (%esp), %eax # 1-byte Folded Reload
599; X32-NEXT:    adcl %eax, %ecx
600; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
601; X32-NEXT:    adcl $0, %ebp
602; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
603; X32-NEXT:    adcl $0, %esi
604; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
605; X32-NEXT:    adcl $0, %edx
606; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
607; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
608; X32-NEXT:    movl 24(%esi), %ebp
609; X32-NEXT:    movl %ebp, %eax
610; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
611; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
612; X32-NEXT:    mull %ebx
613; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
614; X32-NEXT:    movl %edx, %ecx
615; X32-NEXT:    movl 28(%esi), %edi
616; X32-NEXT:    movl %edi, %eax
617; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
618; X32-NEXT:    mull %ebx
619; X32-NEXT:    movl %edx, %esi
620; X32-NEXT:    movl %eax, %ebx
621; X32-NEXT:    addl %ecx, %ebx
622; X32-NEXT:    adcl $0, %esi
623; X32-NEXT:    movl %ebp, %eax
624; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
625; X32-NEXT:    mull %ebp
626; X32-NEXT:    movl %edx, %ecx
627; X32-NEXT:    addl %ebx, %eax
628; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
629; X32-NEXT:    adcl %esi, %ecx
630; X32-NEXT:    setb %bl
631; X32-NEXT:    movl %edi, %eax
632; X32-NEXT:    mull %ebp
633; X32-NEXT:    addl %ecx, %eax
634; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
635; X32-NEXT:    movzbl %bl, %eax
636; X32-NEXT:    adcl %eax, %edx
637; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
638; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
639; X32-NEXT:    movl 16(%edi), %esi
640; X32-NEXT:    movl %esi, %eax
641; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
642; X32-NEXT:    mull %ebx
643; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
644; X32-NEXT:    movl %edx, %ecx
645; X32-NEXT:    movl 20(%edi), %eax
646; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
647; X32-NEXT:    mull %ebx
648; X32-NEXT:    movl %edx, %ebx
649; X32-NEXT:    movl %eax, %edi
650; X32-NEXT:    addl %ecx, %edi
651; X32-NEXT:    adcl $0, %ebx
652; X32-NEXT:    movl %esi, %eax
653; X32-NEXT:    movl %ebp, %ecx
654; X32-NEXT:    mull %ebp
655; X32-NEXT:    movl %edx, %ebp
656; X32-NEXT:    addl %edi, %eax
657; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
658; X32-NEXT:    adcl %ebx, %ebp
659; X32-NEXT:    setb %bl
660; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
661; X32-NEXT:    movl %edi, %eax
662; X32-NEXT:    mull %ecx
663; X32-NEXT:    movl %eax, %ecx
664; X32-NEXT:    addl %ebp, %ecx
665; X32-NEXT:    movzbl %bl, %eax
666; X32-NEXT:    adcl %eax, %edx
667; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
668; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
669; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
670; X32-NEXT:    adcl $0, (%esp) # 4-byte Folded Spill
671; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
672; X32-NEXT:    movl %esi, %ebx
673; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
674; X32-NEXT:    movl %esi, %eax
675; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
676; X32-NEXT:    mull %esi
677; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
678; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
679; X32-NEXT:    movl %edi, %eax
680; X32-NEXT:    mull %esi
681; X32-NEXT:    movl %edx, %ebp
682; X32-NEXT:    movl %eax, %esi
683; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
684; X32-NEXT:    adcl $0, %ebp
685; X32-NEXT:    movl %ebx, %eax
686; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
687; X32-NEXT:    mull %edi
688; X32-NEXT:    movl %edx, %ebx
689; X32-NEXT:    addl %esi, %eax
690; X32-NEXT:    movl %eax, %esi
691; X32-NEXT:    adcl %ebp, %ebx
692; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
693; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
694; X32-NEXT:    mull %edi
695; X32-NEXT:    movl %edi, %ebp
696; X32-NEXT:    movl %eax, %edi
697; X32-NEXT:    addl %ebx, %edi
698; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
699; X32-NEXT:    adcl %eax, %edx
700; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
701; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
702; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
703; X32-NEXT:    adcl $0, %edi
704; X32-NEXT:    adcl $0, %edx
705; X32-NEXT:    addl (%esp), %edi # 4-byte Folded Reload
706; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
707; X32-NEXT:    movl %edx, (%esp) # 4-byte Spill
708; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
709; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
710; X32-NEXT:    movl %ecx, %eax
711; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
712; X32-NEXT:    mull %esi
713; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
714; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
715; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
716; X32-NEXT:    mull %esi
717; X32-NEXT:    movl %edx, %esi
718; X32-NEXT:    movl %eax, %ebx
719; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
720; X32-NEXT:    adcl $0, %esi
721; X32-NEXT:    movl %ecx, %eax
722; X32-NEXT:    movl %ebp, %ecx
723; X32-NEXT:    mull %ebp
724; X32-NEXT:    movl %edx, %ebp
725; X32-NEXT:    addl %ebx, %eax
726; X32-NEXT:    movl %eax, %ebx
727; X32-NEXT:    adcl %esi, %ebp
728; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
729; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
730; X32-NEXT:    mull %ecx
731; X32-NEXT:    addl %ebp, %eax
732; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
733; X32-NEXT:    adcl %ecx, %edx
734; X32-NEXT:    addl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
735; X32-NEXT:    adcl (%esp), %ebx # 4-byte Folded Reload
736; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
737; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
738; X32-NEXT:    adcl %ecx, %eax
739; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
740; X32-NEXT:    adcl $0, %edx
741; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
742; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
743; X32-NEXT:    movl 8(%esi), %ecx
744; X32-NEXT:    movl %ecx, %eax
745; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
746; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
747; X32-NEXT:    mull %edi
748; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
749; X32-NEXT:    movl %edx, (%esp) # 4-byte Spill
750; X32-NEXT:    movl 12(%esi), %ebp
751; X32-NEXT:    movl %ebp, %eax
752; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
753; X32-NEXT:    mull %edi
754; X32-NEXT:    movl %edx, %esi
755; X32-NEXT:    movl %eax, %ebx
756; X32-NEXT:    addl (%esp), %ebx # 4-byte Folded Reload
757; X32-NEXT:    adcl $0, %esi
758; X32-NEXT:    movl %ecx, %eax
759; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
760; X32-NEXT:    mull %edi
761; X32-NEXT:    movl %edx, %ecx
762; X32-NEXT:    addl %ebx, %eax
763; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
764; X32-NEXT:    adcl %esi, %ecx
765; X32-NEXT:    setb %bl
766; X32-NEXT:    movl %ebp, %eax
767; X32-NEXT:    mull %edi
768; X32-NEXT:    addl %ecx, %eax
769; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
770; X32-NEXT:    movzbl %bl, %eax
771; X32-NEXT:    adcl %eax, %edx
772; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
773; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebp
774; X32-NEXT:    movl (%ebp), %edi
775; X32-NEXT:    movl %edi, %eax
776; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
777; X32-NEXT:    mull %esi
778; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
779; X32-NEXT:    movl %edx, %ecx
780; X32-NEXT:    movl 4(%ebp), %eax
781; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
782; X32-NEXT:    mull %esi
783; X32-NEXT:    movl %edx, %ebx
784; X32-NEXT:    movl %eax, %ebp
785; X32-NEXT:    addl %ecx, %ebp
786; X32-NEXT:    adcl $0, %ebx
787; X32-NEXT:    movl %edi, %esi
788; X32-NEXT:    movl %edi, %eax
789; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
790; X32-NEXT:    mull %ecx
791; X32-NEXT:    movl %edx, %edi
792; X32-NEXT:    addl %ebp, %eax
793; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
794; X32-NEXT:    adcl %ebx, %edi
795; X32-NEXT:    setb %bl
796; X32-NEXT:    movl (%esp), %ebp # 4-byte Reload
797; X32-NEXT:    movl %ebp, %eax
798; X32-NEXT:    mull %ecx
799; X32-NEXT:    movl %eax, %ecx
800; X32-NEXT:    addl %edi, %ecx
801; X32-NEXT:    movzbl %bl, %eax
802; X32-NEXT:    adcl %eax, %edx
803; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
804; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
805; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
806; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
807; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
808; X32-NEXT:    movl %esi, %ebx
809; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
810; X32-NEXT:    movl %esi, %eax
811; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
812; X32-NEXT:    mull %esi
813; X32-NEXT:    movl %edx, %edi
814; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
815; X32-NEXT:    movl %ebp, %eax
816; X32-NEXT:    mull %esi
817; X32-NEXT:    movl %edx, %ebp
818; X32-NEXT:    movl %eax, %esi
819; X32-NEXT:    addl %edi, %esi
820; X32-NEXT:    adcl $0, %ebp
821; X32-NEXT:    movl %ebx, %eax
822; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
823; X32-NEXT:    mull %edi
824; X32-NEXT:    movl %edx, %ebx
825; X32-NEXT:    addl %esi, %eax
826; X32-NEXT:    movl %eax, %esi
827; X32-NEXT:    adcl %ebp, %ebx
828; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
829; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
830; X32-NEXT:    mull %edi
831; X32-NEXT:    movl %eax, %edi
832; X32-NEXT:    addl %ebx, %edi
833; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
834; X32-NEXT:    adcl %eax, %edx
835; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
836; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
837; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
838; X32-NEXT:    adcl $0, %edi
839; X32-NEXT:    adcl $0, %edx
840; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
841; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
842; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
843; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
844; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
845; X32-NEXT:    movl %ebp, %eax
846; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
847; X32-NEXT:    mull %esi
848; X32-NEXT:    movl %edx, %ecx
849; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
850; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
851; X32-NEXT:    mull %esi
852; X32-NEXT:    movl %edx, %esi
853; X32-NEXT:    movl %eax, %ebx
854; X32-NEXT:    addl %ecx, %ebx
855; X32-NEXT:    adcl $0, %esi
856; X32-NEXT:    movl %ebp, %eax
857; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
858; X32-NEXT:    mull %ebp
859; X32-NEXT:    movl %edx, %ecx
860; X32-NEXT:    addl %ebx, %eax
861; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
862; X32-NEXT:    adcl %esi, %ecx
863; X32-NEXT:    setb %bl
864; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
865; X32-NEXT:    mull %ebp
866; X32-NEXT:    addl %ecx, %eax
867; X32-NEXT:    movzbl %bl, %ecx
868; X32-NEXT:    adcl %ecx, %edx
869; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
870; X32-NEXT:    addl %edi, %ecx
871; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
872; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
873; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 1-byte Folded Reload
874; X32-NEXT:    adcl %edi, %eax
875; X32-NEXT:    adcl $0, %edx
876; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
877; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
878; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
879; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
880; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
881; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
882; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
883; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
884; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
885; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
886; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
887; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
888; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
889; X32-NEXT:    movl %esi, %eax
890; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
891; X32-NEXT:    mull %edi
892; X32-NEXT:    movl %edx, %ebp
893; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
894; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
895; X32-NEXT:    movl %ecx, %eax
896; X32-NEXT:    mull %edi
897; X32-NEXT:    movl %edx, %edi
898; X32-NEXT:    movl %eax, %ebx
899; X32-NEXT:    addl %ebp, %ebx
900; X32-NEXT:    adcl $0, %edi
901; X32-NEXT:    movl %esi, %eax
902; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
903; X32-NEXT:    mull %esi
904; X32-NEXT:    movl %edx, %ebp
905; X32-NEXT:    addl %ebx, %eax
906; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
907; X32-NEXT:    adcl %edi, %ebp
908; X32-NEXT:    setb %bl
909; X32-NEXT:    movl %ecx, %eax
910; X32-NEXT:    mull %esi
911; X32-NEXT:    addl %ebp, %eax
912; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
913; X32-NEXT:    movzbl %bl, %eax
914; X32-NEXT:    adcl %eax, %edx
915; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
916; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
917; X32-NEXT:    movl %ebx, %eax
918; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
919; X32-NEXT:    mull %ecx
920; X32-NEXT:    movl %edx, %edi
921; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
922; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
923; X32-NEXT:    mull %ecx
924; X32-NEXT:    movl %edx, %ebp
925; X32-NEXT:    movl %eax, %esi
926; X32-NEXT:    addl %edi, %esi
927; X32-NEXT:    adcl $0, %ebp
928; X32-NEXT:    movl %ebx, %eax
929; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
930; X32-NEXT:    mull %edi
931; X32-NEXT:    movl %edx, %ecx
932; X32-NEXT:    addl %esi, %eax
933; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
934; X32-NEXT:    adcl %ebp, %ecx
935; X32-NEXT:    setb %bl
936; X32-NEXT:    movl (%esp), %esi # 4-byte Reload
937; X32-NEXT:    movl %esi, %eax
938; X32-NEXT:    mull %edi
939; X32-NEXT:    movl %eax, %edi
940; X32-NEXT:    addl %ecx, %edi
941; X32-NEXT:    movzbl %bl, %eax
942; X32-NEXT:    adcl %eax, %edx
943; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
944; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
945; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
946; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
947; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
948; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
949; X32-NEXT:    movl %ebp, %eax
950; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
951; X32-NEXT:    mull %ebx
952; X32-NEXT:    movl %edx, %ecx
953; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
954; X32-NEXT:    movl %esi, %eax
955; X32-NEXT:    mull %ebx
956; X32-NEXT:    movl %edx, %esi
957; X32-NEXT:    movl %eax, %ebx
958; X32-NEXT:    addl %ecx, %ebx
959; X32-NEXT:    adcl $0, %esi
960; X32-NEXT:    movl %ebp, %eax
961; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
962; X32-NEXT:    mull %ecx
963; X32-NEXT:    movl %edx, %ebp
964; X32-NEXT:    addl %ebx, %eax
965; X32-NEXT:    movl %eax, %ebx
966; X32-NEXT:    adcl %esi, %ebp
967; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
968; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
969; X32-NEXT:    mull %ecx
970; X32-NEXT:    movl %eax, %esi
971; X32-NEXT:    addl %ebp, %esi
972; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
973; X32-NEXT:    adcl %eax, %edx
974; X32-NEXT:    addl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
975; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
976; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
977; X32-NEXT:    adcl $0, %esi
978; X32-NEXT:    adcl $0, %edx
979; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
980; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
981; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
982; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
983; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
984; X32-NEXT:    movl %edi, %eax
985; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
986; X32-NEXT:    mull %ecx
987; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
988; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
989; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
990; X32-NEXT:    mull %ecx
991; X32-NEXT:    movl %edx, %ebx
992; X32-NEXT:    movl %eax, %ebp
993; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
994; X32-NEXT:    adcl $0, %ebx
995; X32-NEXT:    movl %edi, %eax
996; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
997; X32-NEXT:    mull %ecx
998; X32-NEXT:    movl %edx, %edi
999; X32-NEXT:    addl %ebp, %eax
1000; X32-NEXT:    movl %eax, %ebp
1001; X32-NEXT:    adcl %ebx, %edi
1002; X32-NEXT:    setb %bl
1003; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1004; X32-NEXT:    mull %ecx
1005; X32-NEXT:    addl %edi, %eax
1006; X32-NEXT:    movzbl %bl, %edi
1007; X32-NEXT:    adcl %edi, %edx
1008; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1009; X32-NEXT:    addl %esi, %edi
1010; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1011; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
1012; X32-NEXT:    adcl %ecx, %eax
1013; X32-NEXT:    adcl $0, %edx
1014; X32-NEXT:    movl %edx, %esi
1015; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1016; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1017; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1018; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1019; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1020; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1021; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1022; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1023; X32-NEXT:    movl %edi, %edx
1024; X32-NEXT:    adcl $0, %edx
1025; X32-NEXT:    movl %ebp, %ecx
1026; X32-NEXT:    adcl $0, %ecx
1027; X32-NEXT:    adcl $0, %eax
1028; X32-NEXT:    adcl $0, %esi
1029; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1030; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1031; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1032; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1033; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1034; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1035; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1036; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1037; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1038; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1039; X32-NEXT:    movl %edi, %eax
1040; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1041; X32-NEXT:    mull %esi
1042; X32-NEXT:    movl %edx, %ecx
1043; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1044; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1045; X32-NEXT:    movl %ebp, %eax
1046; X32-NEXT:    mull %esi
1047; X32-NEXT:    movl %edx, %esi
1048; X32-NEXT:    movl %eax, %ebx
1049; X32-NEXT:    addl %ecx, %ebx
1050; X32-NEXT:    adcl $0, %esi
1051; X32-NEXT:    movl %edi, %eax
1052; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1053; X32-NEXT:    mull %edi
1054; X32-NEXT:    movl %edx, %ecx
1055; X32-NEXT:    addl %ebx, %eax
1056; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1057; X32-NEXT:    adcl %esi, %ecx
1058; X32-NEXT:    setb %bl
1059; X32-NEXT:    movl %ebp, %eax
1060; X32-NEXT:    mull %edi
1061; X32-NEXT:    addl %ecx, %eax
1062; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1063; X32-NEXT:    movzbl %bl, %eax
1064; X32-NEXT:    adcl %eax, %edx
1065; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1066; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1067; X32-NEXT:    movl %ecx, %eax
1068; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1069; X32-NEXT:    mull %ebp
1070; X32-NEXT:    movl %edx, %edi
1071; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1072; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1073; X32-NEXT:    movl %esi, %eax
1074; X32-NEXT:    mull %ebp
1075; X32-NEXT:    movl %edx, %ebx
1076; X32-NEXT:    movl %eax, %ebp
1077; X32-NEXT:    addl %edi, %ebp
1078; X32-NEXT:    adcl $0, %ebx
1079; X32-NEXT:    movl %ecx, %eax
1080; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1081; X32-NEXT:    mull %ecx
1082; X32-NEXT:    movl %edx, %edi
1083; X32-NEXT:    addl %ebp, %eax
1084; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1085; X32-NEXT:    adcl %ebx, %edi
1086; X32-NEXT:    setb %bl
1087; X32-NEXT:    movl %esi, %eax
1088; X32-NEXT:    mull %ecx
1089; X32-NEXT:    movl %eax, %ecx
1090; X32-NEXT:    addl %edi, %ecx
1091; X32-NEXT:    movzbl %bl, %eax
1092; X32-NEXT:    adcl %eax, %edx
1093; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1094; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1095; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1096; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1097; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1098; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1099; X32-NEXT:    movl %ebp, %eax
1100; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1101; X32-NEXT:    mull %ebx
1102; X32-NEXT:    movl %edx, %edi
1103; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1104; X32-NEXT:    movl %esi, %eax
1105; X32-NEXT:    mull %ebx
1106; X32-NEXT:    movl %edx, %ebx
1107; X32-NEXT:    movl %eax, %esi
1108; X32-NEXT:    addl %edi, %esi
1109; X32-NEXT:    adcl $0, %ebx
1110; X32-NEXT:    movl %ebp, %eax
1111; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1112; X32-NEXT:    mull %edi
1113; X32-NEXT:    movl %edx, %ebp
1114; X32-NEXT:    addl %esi, %eax
1115; X32-NEXT:    movl %eax, %esi
1116; X32-NEXT:    adcl %ebx, %ebp
1117; X32-NEXT:    setb %bl
1118; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1119; X32-NEXT:    mull %edi
1120; X32-NEXT:    movl %eax, %edi
1121; X32-NEXT:    addl %ebp, %edi
1122; X32-NEXT:    movzbl %bl, %eax
1123; X32-NEXT:    adcl %eax, %edx
1124; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1125; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1126; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1127; X32-NEXT:    adcl $0, %edi
1128; X32-NEXT:    adcl $0, %edx
1129; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1130; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1131; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1132; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1133; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1134; X32-NEXT:    movl %ebx, %eax
1135; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1136; X32-NEXT:    mull %esi
1137; X32-NEXT:    movl %edx, %ecx
1138; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1139; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1140; X32-NEXT:    mull %esi
1141; X32-NEXT:    movl %edx, %esi
1142; X32-NEXT:    movl %eax, %ebp
1143; X32-NEXT:    addl %ecx, %ebp
1144; X32-NEXT:    adcl $0, %esi
1145; X32-NEXT:    movl %ebx, %eax
1146; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1147; X32-NEXT:    mull %ebx
1148; X32-NEXT:    movl %edx, %ecx
1149; X32-NEXT:    addl %ebp, %eax
1150; X32-NEXT:    movl %eax, %ebp
1151; X32-NEXT:    adcl %esi, %ecx
1152; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1153; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1154; X32-NEXT:    mull %ebx
1155; X32-NEXT:    addl %ecx, %eax
1156; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
1157; X32-NEXT:    adcl %ecx, %edx
1158; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1159; X32-NEXT:    addl %edi, %ebx
1160; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1161; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
1162; X32-NEXT:    adcl %ecx, %eax
1163; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1164; X32-NEXT:    adcl $0, %edx
1165; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1166; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1167; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1168; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
1169; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1170; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1171; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1172; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1173; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1174; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1175; X32-NEXT:    adcl %eax, %ebx
1176; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1177; X32-NEXT:    adcl $0, %ebp
1178; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1179; X32-NEXT:    adcl $0, %ebx
1180; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1181; X32-NEXT:    adcl $0, %eax
1182; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1183; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1184; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1185; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1186; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1187; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1188; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1189; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1190; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1191; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1192; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1193; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1194; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1195; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1196; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1197; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1198; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1199; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1200; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1201; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1202; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1203; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1204; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1205; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1206; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1207; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebx
1208; X32-NEXT:    movl 32(%ebx), %esi
1209; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1210; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1211; X32-NEXT:    movl %ebx, %eax
1212; X32-NEXT:    mull %esi
1213; X32-NEXT:    movl %edx, %ecx
1214; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1215; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1216; X32-NEXT:    movl %ebp, %eax
1217; X32-NEXT:    mull %esi
1218; X32-NEXT:    movl %edx, %esi
1219; X32-NEXT:    movl %eax, %edi
1220; X32-NEXT:    addl %ecx, %edi
1221; X32-NEXT:    adcl $0, %esi
1222; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1223; X32-NEXT:    movl 36(%eax), %ecx
1224; X32-NEXT:    movl %ebx, %eax
1225; X32-NEXT:    mull %ecx
1226; X32-NEXT:    movl %ecx, %ebx
1227; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1228; X32-NEXT:    movl %edx, %ecx
1229; X32-NEXT:    addl %edi, %eax
1230; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1231; X32-NEXT:    adcl %esi, %ecx
1232; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1233; X32-NEXT:    movl %ebp, %eax
1234; X32-NEXT:    mull %ebx
1235; X32-NEXT:    addl %ecx, %eax
1236; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1237; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1238; X32-NEXT:    adcl %eax, %edx
1239; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1240; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1241; X32-NEXT:    movl %ebx, %eax
1242; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1243; X32-NEXT:    mull %esi
1244; X32-NEXT:    movl %edx, %ecx
1245; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1246; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1247; X32-NEXT:    movl %edi, %eax
1248; X32-NEXT:    mull %esi
1249; X32-NEXT:    movl %edx, %esi
1250; X32-NEXT:    movl %eax, %ebp
1251; X32-NEXT:    addl %ecx, %ebp
1252; X32-NEXT:    adcl $0, %esi
1253; X32-NEXT:    movl %ebx, %eax
1254; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1255; X32-NEXT:    mull %ecx
1256; X32-NEXT:    movl %edx, %ebx
1257; X32-NEXT:    addl %ebp, %eax
1258; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1259; X32-NEXT:    adcl %esi, %ebx
1260; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1261; X32-NEXT:    movl %edi, %eax
1262; X32-NEXT:    mull %ecx
1263; X32-NEXT:    movl %eax, %ecx
1264; X32-NEXT:    addl %ebx, %ecx
1265; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1266; X32-NEXT:    adcl %eax, %edx
1267; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1268; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1269; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1270; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1271; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1272; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1273; X32-NEXT:    movl 40(%eax), %ebx
1274; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1275; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1276; X32-NEXT:    movl %esi, %eax
1277; X32-NEXT:    mull %ebx
1278; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1279; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1280; X32-NEXT:    movl %edi, %eax
1281; X32-NEXT:    mull %ebx
1282; X32-NEXT:    movl %edx, %ebp
1283; X32-NEXT:    movl %eax, %edi
1284; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1285; X32-NEXT:    adcl $0, %ebp
1286; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1287; X32-NEXT:    movl 44(%eax), %ebx
1288; X32-NEXT:    movl %esi, %eax
1289; X32-NEXT:    mull %ebx
1290; X32-NEXT:    movl %edx, %esi
1291; X32-NEXT:    addl %edi, %eax
1292; X32-NEXT:    movl %eax, %edi
1293; X32-NEXT:    adcl %ebp, %esi
1294; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1295; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1296; X32-NEXT:    mull %ebx
1297; X32-NEXT:    movl %eax, %ebp
1298; X32-NEXT:    addl %esi, %ebp
1299; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1300; X32-NEXT:    adcl %eax, %edx
1301; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1302; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1303; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1304; X32-NEXT:    adcl $0, %ebp
1305; X32-NEXT:    adcl $0, %edx
1306; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1307; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1308; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1309; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1310; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1311; X32-NEXT:    movl %ecx, %eax
1312; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1313; X32-NEXT:    mull %esi
1314; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1315; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1316; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1317; X32-NEXT:    mull %esi
1318; X32-NEXT:    movl %edx, %esi
1319; X32-NEXT:    movl %eax, %edi
1320; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1321; X32-NEXT:    adcl $0, %esi
1322; X32-NEXT:    movl %ecx, %eax
1323; X32-NEXT:    movl %ebx, %ecx
1324; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1325; X32-NEXT:    mull %ebx
1326; X32-NEXT:    movl %edx, %ebx
1327; X32-NEXT:    addl %edi, %eax
1328; X32-NEXT:    movl %eax, %edi
1329; X32-NEXT:    adcl %esi, %ebx
1330; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1331; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1332; X32-NEXT:    mull %ecx
1333; X32-NEXT:    addl %ebx, %eax
1334; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
1335; X32-NEXT:    adcl %ecx, %edx
1336; X32-NEXT:    addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1337; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1338; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1339; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
1340; X32-NEXT:    adcl %ecx, %eax
1341; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1342; X32-NEXT:    adcl $0, %edx
1343; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1344; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1345; X32-NEXT:    movl %ebp, %eax
1346; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1347; X32-NEXT:    mull %edi
1348; X32-NEXT:    movl %edx, %ecx
1349; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1350; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1351; X32-NEXT:    movl %esi, %eax
1352; X32-NEXT:    mull %edi
1353; X32-NEXT:    movl %edx, %edi
1354; X32-NEXT:    movl %eax, %ebx
1355; X32-NEXT:    addl %ecx, %ebx
1356; X32-NEXT:    adcl $0, %edi
1357; X32-NEXT:    movl %ebp, %eax
1358; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1359; X32-NEXT:    mull %ebp
1360; X32-NEXT:    movl %edx, %ecx
1361; X32-NEXT:    addl %ebx, %eax
1362; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1363; X32-NEXT:    adcl %edi, %ecx
1364; X32-NEXT:    setb %bl
1365; X32-NEXT:    movl %esi, %eax
1366; X32-NEXT:    mull %ebp
1367; X32-NEXT:    addl %ecx, %eax
1368; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1369; X32-NEXT:    movzbl %bl, %eax
1370; X32-NEXT:    adcl %eax, %edx
1371; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1372; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1373; X32-NEXT:    movl %ecx, %eax
1374; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1375; X32-NEXT:    mull %esi
1376; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1377; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1378; X32-NEXT:    movl (%esp), %edi # 4-byte Reload
1379; X32-NEXT:    movl %edi, %eax
1380; X32-NEXT:    mull %esi
1381; X32-NEXT:    movl %edx, %ebx
1382; X32-NEXT:    movl %eax, %ebp
1383; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1384; X32-NEXT:    adcl $0, %ebx
1385; X32-NEXT:    movl %ecx, %eax
1386; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1387; X32-NEXT:    mull %ecx
1388; X32-NEXT:    movl %edx, %esi
1389; X32-NEXT:    addl %ebp, %eax
1390; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1391; X32-NEXT:    adcl %ebx, %esi
1392; X32-NEXT:    setb %bl
1393; X32-NEXT:    movl %edi, %eax
1394; X32-NEXT:    movl %edi, %ebp
1395; X32-NEXT:    mull %ecx
1396; X32-NEXT:    movl %eax, %ecx
1397; X32-NEXT:    addl %esi, %ecx
1398; X32-NEXT:    movzbl %bl, %eax
1399; X32-NEXT:    adcl %eax, %edx
1400; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1401; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1402; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1403; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1404; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1405; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1406; X32-NEXT:    movl %ebx, %eax
1407; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1408; X32-NEXT:    mull %edi
1409; X32-NEXT:    movl %edx, %esi
1410; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1411; X32-NEXT:    movl %ebp, %eax
1412; X32-NEXT:    mull %edi
1413; X32-NEXT:    movl %edx, %ebp
1414; X32-NEXT:    movl %eax, %edi
1415; X32-NEXT:    addl %esi, %edi
1416; X32-NEXT:    adcl $0, %ebp
1417; X32-NEXT:    movl %ebx, %eax
1418; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1419; X32-NEXT:    mull %esi
1420; X32-NEXT:    movl %edx, %ebx
1421; X32-NEXT:    addl %edi, %eax
1422; X32-NEXT:    movl %eax, %edi
1423; X32-NEXT:    adcl %ebp, %ebx
1424; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1425; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
1426; X32-NEXT:    mull %esi
1427; X32-NEXT:    movl %eax, %esi
1428; X32-NEXT:    addl %ebx, %esi
1429; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1430; X32-NEXT:    adcl %eax, %edx
1431; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1432; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1433; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1434; X32-NEXT:    adcl $0, %esi
1435; X32-NEXT:    adcl $0, %edx
1436; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1437; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1438; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1439; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1440; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1441; X32-NEXT:    movl %ebp, %eax
1442; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1443; X32-NEXT:    mull %edi
1444; X32-NEXT:    movl %edx, %ecx
1445; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1446; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1447; X32-NEXT:    mull %edi
1448; X32-NEXT:    movl %edx, %edi
1449; X32-NEXT:    movl %eax, %ebx
1450; X32-NEXT:    addl %ecx, %ebx
1451; X32-NEXT:    adcl $0, %edi
1452; X32-NEXT:    movl %ebp, %eax
1453; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1454; X32-NEXT:    mull %ebp
1455; X32-NEXT:    movl %edx, %ecx
1456; X32-NEXT:    addl %ebx, %eax
1457; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1458; X32-NEXT:    adcl %edi, %ecx
1459; X32-NEXT:    setb %bl
1460; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1461; X32-NEXT:    movl %edi, %eax
1462; X32-NEXT:    mull %ebp
1463; X32-NEXT:    addl %ecx, %eax
1464; X32-NEXT:    movzbl %bl, %ecx
1465; X32-NEXT:    adcl %ecx, %edx
1466; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1467; X32-NEXT:    addl %esi, %ecx
1468; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1469; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1470; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 1-byte Folded Reload
1471; X32-NEXT:    adcl %ebx, %eax
1472; X32-NEXT:    adcl $0, %edx
1473; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1474; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1475; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1476; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1477; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1478; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1479; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1480; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1481; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1482; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1483; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1484; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1485; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1486; X32-NEXT:    movl 48(%eax), %esi
1487; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1488; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1489; X32-NEXT:    movl %ebx, %eax
1490; X32-NEXT:    mull %esi
1491; X32-NEXT:    movl %edx, %ebp
1492; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1493; X32-NEXT:    movl %edi, %eax
1494; X32-NEXT:    movl %edi, %ecx
1495; X32-NEXT:    mull %esi
1496; X32-NEXT:    movl %edx, %esi
1497; X32-NEXT:    movl %eax, %edi
1498; X32-NEXT:    addl %ebp, %edi
1499; X32-NEXT:    adcl $0, %esi
1500; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1501; X32-NEXT:    movl 52(%eax), %edx
1502; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1503; X32-NEXT:    movl %ebx, %eax
1504; X32-NEXT:    mull %edx
1505; X32-NEXT:    movl %edx, %ebp
1506; X32-NEXT:    addl %edi, %eax
1507; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1508; X32-NEXT:    adcl %esi, %ebp
1509; X32-NEXT:    setb %bl
1510; X32-NEXT:    movl %ecx, %eax
1511; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1512; X32-NEXT:    mull %esi
1513; X32-NEXT:    addl %ebp, %eax
1514; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1515; X32-NEXT:    movzbl %bl, %eax
1516; X32-NEXT:    adcl %eax, %edx
1517; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1518; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1519; X32-NEXT:    movl %ecx, %eax
1520; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1521; X32-NEXT:    mull %ebx
1522; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1523; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1524; X32-NEXT:    movl (%esp), %edi # 4-byte Reload
1525; X32-NEXT:    movl %edi, %eax
1526; X32-NEXT:    mull %ebx
1527; X32-NEXT:    movl %edx, %ebp
1528; X32-NEXT:    movl %eax, %ebx
1529; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1530; X32-NEXT:    adcl $0, %ebp
1531; X32-NEXT:    movl %ecx, %eax
1532; X32-NEXT:    mull %esi
1533; X32-NEXT:    movl %edx, %ecx
1534; X32-NEXT:    addl %ebx, %eax
1535; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1536; X32-NEXT:    adcl %ebp, %ecx
1537; X32-NEXT:    setb %bl
1538; X32-NEXT:    movl %edi, %eax
1539; X32-NEXT:    mull %esi
1540; X32-NEXT:    movl %eax, %esi
1541; X32-NEXT:    addl %ecx, %esi
1542; X32-NEXT:    movzbl %bl, %eax
1543; X32-NEXT:    adcl %eax, %edx
1544; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1545; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1546; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1547; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1548; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1549; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1550; X32-NEXT:    movl 56(%eax), %ecx
1551; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1552; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1553; X32-NEXT:    movl %ebp, %eax
1554; X32-NEXT:    mull %ecx
1555; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1556; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1557; X32-NEXT:    movl %edi, %eax
1558; X32-NEXT:    mull %ecx
1559; X32-NEXT:    movl %edx, %ebx
1560; X32-NEXT:    movl %eax, %edi
1561; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1562; X32-NEXT:    adcl $0, %ebx
1563; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1564; X32-NEXT:    movl 60(%eax), %ecx
1565; X32-NEXT:    movl %ebp, %eax
1566; X32-NEXT:    mull %ecx
1567; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1568; X32-NEXT:    movl %edx, %ebp
1569; X32-NEXT:    addl %edi, %eax
1570; X32-NEXT:    movl %eax, %edi
1571; X32-NEXT:    adcl %ebx, %ebp
1572; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1573; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
1574; X32-NEXT:    mull %ecx
1575; X32-NEXT:    movl %eax, %ebx
1576; X32-NEXT:    addl %ebp, %ebx
1577; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1578; X32-NEXT:    adcl %eax, %edx
1579; X32-NEXT:    addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1580; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1581; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1582; X32-NEXT:    adcl $0, %ebx
1583; X32-NEXT:    adcl $0, %edx
1584; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1585; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1586; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1587; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1588; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1589; X32-NEXT:    movl %esi, %eax
1590; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1591; X32-NEXT:    mull %ecx
1592; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1593; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1594; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1595; X32-NEXT:    mull %ecx
1596; X32-NEXT:    movl %edx, %edi
1597; X32-NEXT:    movl %eax, %ebp
1598; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1599; X32-NEXT:    adcl $0, %edi
1600; X32-NEXT:    movl %esi, %eax
1601; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1602; X32-NEXT:    mull %ecx
1603; X32-NEXT:    movl %edx, %esi
1604; X32-NEXT:    addl %ebp, %eax
1605; X32-NEXT:    movl %eax, %ebp
1606; X32-NEXT:    adcl %edi, %esi
1607; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1608; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1609; X32-NEXT:    mull %ecx
1610; X32-NEXT:    addl %esi, %eax
1611; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 1-byte Folded Reload
1612; X32-NEXT:    adcl %esi, %edx
1613; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1614; X32-NEXT:    addl %ebx, %edi
1615; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1616; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
1617; X32-NEXT:    adcl %ecx, %eax
1618; X32-NEXT:    adcl $0, %edx
1619; X32-NEXT:    movl %edx, %esi
1620; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1621; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1622; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1623; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1624; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1625; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1626; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1627; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1628; X32-NEXT:    movl %edi, %edx
1629; X32-NEXT:    adcl $0, %edx
1630; X32-NEXT:    movl %ebp, %ecx
1631; X32-NEXT:    adcl $0, %ecx
1632; X32-NEXT:    adcl $0, %eax
1633; X32-NEXT:    adcl $0, %esi
1634; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1635; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1636; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1637; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1638; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1639; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1640; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1641; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1642; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1643; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1644; X32-NEXT:    movl %ebp, %eax
1645; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1646; X32-NEXT:    mull %edi
1647; X32-NEXT:    movl %edx, %ecx
1648; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1649; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1650; X32-NEXT:    movl %esi, %eax
1651; X32-NEXT:    mull %edi
1652; X32-NEXT:    movl %edx, %edi
1653; X32-NEXT:    movl %eax, %ebx
1654; X32-NEXT:    addl %ecx, %ebx
1655; X32-NEXT:    adcl $0, %edi
1656; X32-NEXT:    movl %ebp, %eax
1657; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1658; X32-NEXT:    mull %ebp
1659; X32-NEXT:    movl %edx, %ecx
1660; X32-NEXT:    addl %ebx, %eax
1661; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1662; X32-NEXT:    adcl %edi, %ecx
1663; X32-NEXT:    setb %bl
1664; X32-NEXT:    movl %esi, %eax
1665; X32-NEXT:    mull %ebp
1666; X32-NEXT:    addl %ecx, %eax
1667; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1668; X32-NEXT:    movzbl %bl, %eax
1669; X32-NEXT:    adcl %eax, %edx
1670; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1671; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1672; X32-NEXT:    movl %ebx, %eax
1673; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1674; X32-NEXT:    mull %esi
1675; X32-NEXT:    movl %edx, %ecx
1676; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1677; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1678; X32-NEXT:    mull %esi
1679; X32-NEXT:    movl %edx, %edi
1680; X32-NEXT:    movl %eax, %ebp
1681; X32-NEXT:    addl %ecx, %ebp
1682; X32-NEXT:    adcl $0, %edi
1683; X32-NEXT:    movl %ebx, %eax
1684; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1685; X32-NEXT:    mull %ecx
1686; X32-NEXT:    movl %edx, %esi
1687; X32-NEXT:    addl %ebp, %eax
1688; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1689; X32-NEXT:    adcl %edi, %esi
1690; X32-NEXT:    setb %bl
1691; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1692; X32-NEXT:    movl %edi, %eax
1693; X32-NEXT:    mull %ecx
1694; X32-NEXT:    movl %eax, %ecx
1695; X32-NEXT:    addl %esi, %ecx
1696; X32-NEXT:    movzbl %bl, %eax
1697; X32-NEXT:    adcl %eax, %edx
1698; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1699; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1700; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1701; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1702; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1703; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1704; X32-NEXT:    movl %ebp, %eax
1705; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1706; X32-NEXT:    mull %esi
1707; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1708; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1709; X32-NEXT:    movl %edi, %eax
1710; X32-NEXT:    mull %esi
1711; X32-NEXT:    movl %edx, %edi
1712; X32-NEXT:    movl %eax, %ebx
1713; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1714; X32-NEXT:    adcl $0, %edi
1715; X32-NEXT:    movl %ebp, %eax
1716; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1717; X32-NEXT:    mull %esi
1718; X32-NEXT:    movl %edx, %ebp
1719; X32-NEXT:    addl %ebx, %eax
1720; X32-NEXT:    movl %eax, %ebx
1721; X32-NEXT:    adcl %edi, %ebp
1722; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1723; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1724; X32-NEXT:    mull %esi
1725; X32-NEXT:    movl %eax, %edi
1726; X32-NEXT:    addl %ebp, %edi
1727; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1728; X32-NEXT:    adcl %eax, %edx
1729; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1730; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1731; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1732; X32-NEXT:    adcl $0, %edi
1733; X32-NEXT:    adcl $0, %edx
1734; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1735; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1736; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1737; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1738; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1739; X32-NEXT:    movl %ecx, %eax
1740; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1741; X32-NEXT:    mull %esi
1742; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1743; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1744; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1745; X32-NEXT:    mull %esi
1746; X32-NEXT:    movl %edx, %ebx
1747; X32-NEXT:    movl %eax, %ebp
1748; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1749; X32-NEXT:    adcl $0, %ebx
1750; X32-NEXT:    movl %ecx, %eax
1751; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1752; X32-NEXT:    mull %ecx
1753; X32-NEXT:    movl %edx, %esi
1754; X32-NEXT:    addl %ebp, %eax
1755; X32-NEXT:    movl %eax, %ebp
1756; X32-NEXT:    adcl %ebx, %esi
1757; X32-NEXT:    setb %bl
1758; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1759; X32-NEXT:    mull %ecx
1760; X32-NEXT:    addl %esi, %eax
1761; X32-NEXT:    movl %eax, %ecx
1762; X32-NEXT:    movzbl %bl, %eax
1763; X32-NEXT:    adcl %eax, %edx
1764; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1765; X32-NEXT:    addl %edi, %ebx
1766; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1767; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1768; X32-NEXT:    movl %ecx, %edi
1769; X32-NEXT:    adcl %eax, %edi
1770; X32-NEXT:    adcl $0, %edx
1771; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1772; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1773; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1774; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1775; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1776; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1777; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
1778; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1779; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1780; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1781; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1782; X32-NEXT:    adcl %eax, %ebx
1783; X32-NEXT:    adcl $0, %ebp
1784; X32-NEXT:    adcl $0, %edi
1785; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1786; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1787; X32-NEXT:    adcl $0, %edi
1788; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1789; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1790; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1791; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1792; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1793; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1794; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1795; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1796; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1797; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1798; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1799; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1800; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1801; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1802; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1803; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1804; X32-NEXT:    movl %ecx, %eax
1805; X32-NEXT:    adcl $0, %eax
1806; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1807; X32-NEXT:    adcl $0, %edx
1808; X32-NEXT:    adcl $0, %esi
1809; X32-NEXT:    adcl $0, %ebx
1810; X32-NEXT:    adcl $0, %ebp
1811; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1812; X32-NEXT:    adcl $0, %ecx
1813; X32-NEXT:    adcl $0, %edi
1814; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1815; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1816; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1817; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1818; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1819; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1820; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1821; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1822; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1823; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1824; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1825; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1826; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1827; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1828; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1829; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1830; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1831; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1832; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1833; X32-NEXT:    movl %ebx, %eax
1834; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1835; X32-NEXT:    mull %esi
1836; X32-NEXT:    movl %edx, %ecx
1837; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1838; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1839; X32-NEXT:    movl %ebp, %eax
1840; X32-NEXT:    mull %esi
1841; X32-NEXT:    movl %edx, %esi
1842; X32-NEXT:    movl %eax, %edi
1843; X32-NEXT:    addl %ecx, %edi
1844; X32-NEXT:    adcl $0, %esi
1845; X32-NEXT:    movl %ebx, %eax
1846; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1847; X32-NEXT:    mull %ebx
1848; X32-NEXT:    movl %edx, %ecx
1849; X32-NEXT:    addl %edi, %eax
1850; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1851; X32-NEXT:    adcl %esi, %ecx
1852; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1853; X32-NEXT:    movl %ebp, %eax
1854; X32-NEXT:    mull %ebx
1855; X32-NEXT:    addl %ecx, %eax
1856; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1857; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1858; X32-NEXT:    adcl %eax, %edx
1859; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1860; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1861; X32-NEXT:    movl %edi, %eax
1862; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1863; X32-NEXT:    mull %esi
1864; X32-NEXT:    movl %edx, %ebx
1865; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1866; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1867; X32-NEXT:    movl %ecx, %eax
1868; X32-NEXT:    mull %esi
1869; X32-NEXT:    movl %edx, %esi
1870; X32-NEXT:    movl %eax, %ebp
1871; X32-NEXT:    addl %ebx, %ebp
1872; X32-NEXT:    adcl $0, %esi
1873; X32-NEXT:    movl %edi, %eax
1874; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1875; X32-NEXT:    mull %edi
1876; X32-NEXT:    movl %edx, %ebx
1877; X32-NEXT:    addl %ebp, %eax
1878; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1879; X32-NEXT:    adcl %esi, %ebx
1880; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1881; X32-NEXT:    movl %ecx, %esi
1882; X32-NEXT:    movl %ecx, %eax
1883; X32-NEXT:    mull %edi
1884; X32-NEXT:    movl %eax, %ecx
1885; X32-NEXT:    addl %ebx, %ecx
1886; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1887; X32-NEXT:    adcl %eax, %edx
1888; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1889; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1890; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1891; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1892; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1893; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1894; X32-NEXT:    movl %ebx, %eax
1895; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1896; X32-NEXT:    mull %edi
1897; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1898; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1899; X32-NEXT:    movl %esi, %eax
1900; X32-NEXT:    mull %edi
1901; X32-NEXT:    movl %edx, %ebp
1902; X32-NEXT:    movl %eax, %edi
1903; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1904; X32-NEXT:    adcl $0, %ebp
1905; X32-NEXT:    movl %ebx, %eax
1906; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1907; X32-NEXT:    mull %ebx
1908; X32-NEXT:    movl %edx, %esi
1909; X32-NEXT:    addl %edi, %eax
1910; X32-NEXT:    movl %eax, %edi
1911; X32-NEXT:    adcl %ebp, %esi
1912; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1913; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1914; X32-NEXT:    mull %ebx
1915; X32-NEXT:    movl %eax, %ebp
1916; X32-NEXT:    addl %esi, %ebp
1917; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1918; X32-NEXT:    adcl %eax, %edx
1919; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1920; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1921; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1922; X32-NEXT:    adcl $0, %ebp
1923; X32-NEXT:    adcl $0, %edx
1924; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1925; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1926; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1927; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1928; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1929; X32-NEXT:    movl %ecx, %eax
1930; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1931; X32-NEXT:    mull %esi
1932; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1933; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1934; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1935; X32-NEXT:    mull %esi
1936; X32-NEXT:    movl %edx, %esi
1937; X32-NEXT:    movl %eax, %edi
1938; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1939; X32-NEXT:    adcl $0, %esi
1940; X32-NEXT:    movl %ecx, %eax
1941; X32-NEXT:    movl %ebx, %ecx
1942; X32-NEXT:    mull %ebx
1943; X32-NEXT:    movl %edx, %ebx
1944; X32-NEXT:    addl %edi, %eax
1945; X32-NEXT:    movl %eax, %edi
1946; X32-NEXT:    adcl %esi, %ebx
1947; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1948; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1949; X32-NEXT:    mull %ecx
1950; X32-NEXT:    addl %ebx, %eax
1951; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
1952; X32-NEXT:    adcl %ecx, %edx
1953; X32-NEXT:    addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1954; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1955; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1956; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
1957; X32-NEXT:    adcl %ecx, %eax
1958; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1959; X32-NEXT:    adcl $0, %edx
1960; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1961; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1962; X32-NEXT:    movl %ebx, %eax
1963; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1964; X32-NEXT:    mull %edi
1965; X32-NEXT:    movl %edx, %ecx
1966; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1967; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1968; X32-NEXT:    movl %esi, %eax
1969; X32-NEXT:    mull %edi
1970; X32-NEXT:    movl %edx, %edi
1971; X32-NEXT:    movl %eax, %ebp
1972; X32-NEXT:    addl %ecx, %ebp
1973; X32-NEXT:    adcl $0, %edi
1974; X32-NEXT:    movl %ebx, %eax
1975; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1976; X32-NEXT:    mull %ebx
1977; X32-NEXT:    movl %edx, %ecx
1978; X32-NEXT:    addl %ebp, %eax
1979; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1980; X32-NEXT:    adcl %edi, %ecx
1981; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1982; X32-NEXT:    movl %esi, %eax
1983; X32-NEXT:    mull %ebx
1984; X32-NEXT:    addl %ecx, %eax
1985; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1986; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1987; X32-NEXT:    adcl %eax, %edx
1988; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1989; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1990; X32-NEXT:    movl %ecx, %eax
1991; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1992; X32-NEXT:    mull %esi
1993; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1994; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1995; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1996; X32-NEXT:    movl %edi, %eax
1997; X32-NEXT:    mull %esi
1998; X32-NEXT:    movl %edx, %ebp
1999; X32-NEXT:    movl %eax, %ebx
2000; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2001; X32-NEXT:    adcl $0, %ebp
2002; X32-NEXT:    movl %ecx, %eax
2003; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2004; X32-NEXT:    mull %ecx
2005; X32-NEXT:    movl %edx, %esi
2006; X32-NEXT:    addl %ebx, %eax
2007; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2008; X32-NEXT:    adcl %ebp, %esi
2009; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2010; X32-NEXT:    movl %edi, %eax
2011; X32-NEXT:    movl %edi, %ebx
2012; X32-NEXT:    mull %ecx
2013; X32-NEXT:    movl %eax, %ecx
2014; X32-NEXT:    addl %esi, %ecx
2015; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2016; X32-NEXT:    adcl %eax, %edx
2017; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2018; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2019; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2020; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2021; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2022; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2023; X32-NEXT:    movl %ebp, %eax
2024; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2025; X32-NEXT:    mull %edi
2026; X32-NEXT:    movl %edx, %esi
2027; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2028; X32-NEXT:    movl %ebx, %eax
2029; X32-NEXT:    mull %edi
2030; X32-NEXT:    movl %edx, %ebx
2031; X32-NEXT:    movl %eax, %edi
2032; X32-NEXT:    addl %esi, %edi
2033; X32-NEXT:    adcl $0, %ebx
2034; X32-NEXT:    movl %ebp, %eax
2035; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2036; X32-NEXT:    mull %esi
2037; X32-NEXT:    movl %edx, %ebp
2038; X32-NEXT:    addl %edi, %eax
2039; X32-NEXT:    movl %eax, %edi
2040; X32-NEXT:    adcl %ebx, %ebp
2041; X32-NEXT:    setb %bl
2042; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2043; X32-NEXT:    mull %esi
2044; X32-NEXT:    movl %eax, %esi
2045; X32-NEXT:    addl %ebp, %esi
2046; X32-NEXT:    movzbl %bl, %eax
2047; X32-NEXT:    adcl %eax, %edx
2048; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2049; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2050; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2051; X32-NEXT:    adcl $0, %esi
2052; X32-NEXT:    adcl $0, %edx
2053; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2054; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2055; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2056; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2057; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2058; X32-NEXT:    movl %ebx, %eax
2059; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2060; X32-NEXT:    mull %edi
2061; X32-NEXT:    movl %edx, %ecx
2062; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2063; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2064; X32-NEXT:    mull %edi
2065; X32-NEXT:    movl %edx, %edi
2066; X32-NEXT:    movl %eax, %ebp
2067; X32-NEXT:    addl %ecx, %ebp
2068; X32-NEXT:    adcl $0, %edi
2069; X32-NEXT:    movl %ebx, %eax
2070; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2071; X32-NEXT:    mull %ebx
2072; X32-NEXT:    movl %edx, %ecx
2073; X32-NEXT:    addl %ebp, %eax
2074; X32-NEXT:    movl %eax, %ebp
2075; X32-NEXT:    adcl %edi, %ecx
2076; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2077; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2078; X32-NEXT:    movl %edi, %eax
2079; X32-NEXT:    mull %ebx
2080; X32-NEXT:    addl %ecx, %eax
2081; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
2082; X32-NEXT:    adcl %ecx, %edx
2083; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2084; X32-NEXT:    addl %esi, %ecx
2085; X32-NEXT:    movl %ebp, %esi
2086; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2087; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 1-byte Folded Reload
2088; X32-NEXT:    adcl %ebx, %eax
2089; X32-NEXT:    adcl $0, %edx
2090; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2091; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2092; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2093; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2094; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2095; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2096; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2097; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2098; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2099; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2100; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2101; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2102; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2103; X32-NEXT:    movl %ebx, %eax
2104; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2105; X32-NEXT:    mull %esi
2106; X32-NEXT:    movl %edx, %ecx
2107; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2108; X32-NEXT:    movl %edi, %eax
2109; X32-NEXT:    movl %edi, %ebp
2110; X32-NEXT:    mull %esi
2111; X32-NEXT:    movl %edx, %esi
2112; X32-NEXT:    movl %eax, %edi
2113; X32-NEXT:    addl %ecx, %edi
2114; X32-NEXT:    adcl $0, %esi
2115; X32-NEXT:    movl %ebx, %eax
2116; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2117; X32-NEXT:    mull %ecx
2118; X32-NEXT:    movl %edx, %ebx
2119; X32-NEXT:    addl %edi, %eax
2120; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2121; X32-NEXT:    adcl %esi, %ebx
2122; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2123; X32-NEXT:    movl %ebp, %eax
2124; X32-NEXT:    mull %ecx
2125; X32-NEXT:    addl %ebx, %eax
2126; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2127; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2128; X32-NEXT:    adcl %eax, %edx
2129; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2130; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2131; X32-NEXT:    movl %esi, %eax
2132; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2133; X32-NEXT:    mull %ecx
2134; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2135; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2136; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2137; X32-NEXT:    movl %edi, %eax
2138; X32-NEXT:    mull %ecx
2139; X32-NEXT:    movl %edx, %ebx
2140; X32-NEXT:    movl %eax, %ebp
2141; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2142; X32-NEXT:    adcl $0, %ebx
2143; X32-NEXT:    movl %esi, %eax
2144; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2145; X32-NEXT:    mull %esi
2146; X32-NEXT:    movl %edx, %ecx
2147; X32-NEXT:    addl %ebp, %eax
2148; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2149; X32-NEXT:    adcl %ebx, %ecx
2150; X32-NEXT:    setb %bl
2151; X32-NEXT:    movl %edi, %eax
2152; X32-NEXT:    mull %esi
2153; X32-NEXT:    movl %eax, %esi
2154; X32-NEXT:    addl %ecx, %esi
2155; X32-NEXT:    movzbl %bl, %eax
2156; X32-NEXT:    adcl %eax, %edx
2157; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2158; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2159; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2160; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2161; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2162; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2163; X32-NEXT:    movl %ebx, %eax
2164; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2165; X32-NEXT:    mull %ecx
2166; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2167; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2168; X32-NEXT:    movl %edi, %eax
2169; X32-NEXT:    mull %ecx
2170; X32-NEXT:    movl %edx, %ebp
2171; X32-NEXT:    movl %eax, %edi
2172; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2173; X32-NEXT:    adcl $0, %ebp
2174; X32-NEXT:    movl %ebx, %eax
2175; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2176; X32-NEXT:    mull %ecx
2177; X32-NEXT:    movl %edx, %ebx
2178; X32-NEXT:    addl %edi, %eax
2179; X32-NEXT:    movl %eax, %edi
2180; X32-NEXT:    adcl %ebp, %ebx
2181; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2182; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2183; X32-NEXT:    mull %ecx
2184; X32-NEXT:    movl %eax, %ebp
2185; X32-NEXT:    addl %ebx, %ebp
2186; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2187; X32-NEXT:    adcl %eax, %edx
2188; X32-NEXT:    addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2189; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2190; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2191; X32-NEXT:    adcl $0, %ebp
2192; X32-NEXT:    adcl $0, %edx
2193; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2194; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2195; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2196; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2197; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2198; X32-NEXT:    movl %esi, %eax
2199; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2200; X32-NEXT:    mull %ecx
2201; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2202; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2203; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2204; X32-NEXT:    mull %ecx
2205; X32-NEXT:    movl %edx, %edi
2206; X32-NEXT:    movl %eax, %ebx
2207; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2208; X32-NEXT:    adcl $0, %edi
2209; X32-NEXT:    movl %esi, %eax
2210; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2211; X32-NEXT:    mull %ecx
2212; X32-NEXT:    movl %edx, %esi
2213; X32-NEXT:    addl %ebx, %eax
2214; X32-NEXT:    movl %eax, %ebx
2215; X32-NEXT:    adcl %edi, %esi
2216; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2217; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2218; X32-NEXT:    mull %ecx
2219; X32-NEXT:    addl %esi, %eax
2220; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 1-byte Folded Reload
2221; X32-NEXT:    adcl %esi, %edx
2222; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2223; X32-NEXT:    addl %ebp, %edi
2224; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2225; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
2226; X32-NEXT:    adcl %ecx, %eax
2227; X32-NEXT:    adcl $0, %edx
2228; X32-NEXT:    movl %edx, %esi
2229; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2230; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2231; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2232; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2233; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2234; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2235; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2236; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2237; X32-NEXT:    movl %edi, %edx
2238; X32-NEXT:    adcl $0, %edx
2239; X32-NEXT:    adcl $0, %ebx
2240; X32-NEXT:    adcl $0, %eax
2241; X32-NEXT:    adcl $0, %esi
2242; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2243; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2244; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2245; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2246; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2247; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2248; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2249; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2250; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2251; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2252; X32-NEXT:    movl %ebp, %eax
2253; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2254; X32-NEXT:    mull %edi
2255; X32-NEXT:    movl %edx, %ecx
2256; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2257; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2258; X32-NEXT:    movl %esi, %eax
2259; X32-NEXT:    mull %edi
2260; X32-NEXT:    movl %edx, %edi
2261; X32-NEXT:    movl %eax, %ebx
2262; X32-NEXT:    addl %ecx, %ebx
2263; X32-NEXT:    adcl $0, %edi
2264; X32-NEXT:    movl %ebp, %eax
2265; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2266; X32-NEXT:    mull %ebp
2267; X32-NEXT:    movl %edx, %ecx
2268; X32-NEXT:    addl %ebx, %eax
2269; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2270; X32-NEXT:    adcl %edi, %ecx
2271; X32-NEXT:    setb %bl
2272; X32-NEXT:    movl %esi, %eax
2273; X32-NEXT:    mull %ebp
2274; X32-NEXT:    addl %ecx, %eax
2275; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2276; X32-NEXT:    movzbl %bl, %eax
2277; X32-NEXT:    adcl %eax, %edx
2278; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2279; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2280; X32-NEXT:    movl %esi, %eax
2281; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2282; X32-NEXT:    mull %edi
2283; X32-NEXT:    movl %edx, %ecx
2284; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2285; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2286; X32-NEXT:    movl %ebp, %eax
2287; X32-NEXT:    mull %edi
2288; X32-NEXT:    movl %edx, %edi
2289; X32-NEXT:    movl %eax, %ebx
2290; X32-NEXT:    addl %ecx, %ebx
2291; X32-NEXT:    adcl $0, %edi
2292; X32-NEXT:    movl %esi, %eax
2293; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2294; X32-NEXT:    mull %ecx
2295; X32-NEXT:    movl %edx, %esi
2296; X32-NEXT:    addl %ebx, %eax
2297; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2298; X32-NEXT:    adcl %edi, %esi
2299; X32-NEXT:    setb %bl
2300; X32-NEXT:    movl %ebp, %eax
2301; X32-NEXT:    mull %ecx
2302; X32-NEXT:    movl %eax, %ecx
2303; X32-NEXT:    addl %esi, %ecx
2304; X32-NEXT:    movzbl %bl, %eax
2305; X32-NEXT:    adcl %eax, %edx
2306; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2307; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2308; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2309; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2310; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2311; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2312; X32-NEXT:    movl %edi, %eax
2313; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2314; X32-NEXT:    mull %esi
2315; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2316; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2317; X32-NEXT:    movl %ebp, %eax
2318; X32-NEXT:    mull %esi
2319; X32-NEXT:    movl %edx, %ebx
2320; X32-NEXT:    movl %eax, %ebp
2321; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2322; X32-NEXT:    adcl $0, %ebx
2323; X32-NEXT:    movl %edi, %eax
2324; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2325; X32-NEXT:    mull %esi
2326; X32-NEXT:    movl %edx, %edi
2327; X32-NEXT:    addl %ebp, %eax
2328; X32-NEXT:    movl %eax, %ebp
2329; X32-NEXT:    adcl %ebx, %edi
2330; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2331; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2332; X32-NEXT:    mull %esi
2333; X32-NEXT:    movl %eax, %ebx
2334; X32-NEXT:    addl %edi, %ebx
2335; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2336; X32-NEXT:    adcl %eax, %edx
2337; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2338; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2339; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2340; X32-NEXT:    adcl $0, %ebx
2341; X32-NEXT:    adcl $0, %edx
2342; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2343; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2344; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2345; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2346; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2347; X32-NEXT:    movl %ecx, %eax
2348; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2349; X32-NEXT:    mull %esi
2350; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2351; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2352; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2353; X32-NEXT:    mull %esi
2354; X32-NEXT:    movl %edx, %edi
2355; X32-NEXT:    movl %eax, %ebp
2356; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2357; X32-NEXT:    adcl $0, %edi
2358; X32-NEXT:    movl %ecx, %eax
2359; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2360; X32-NEXT:    mull %ecx
2361; X32-NEXT:    movl %edx, %esi
2362; X32-NEXT:    addl %ebp, %eax
2363; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2364; X32-NEXT:    adcl %edi, %esi
2365; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2366; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2367; X32-NEXT:    mull %ecx
2368; X32-NEXT:    addl %esi, %eax
2369; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
2370; X32-NEXT:    adcl %ecx, %edx
2371; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2372; X32-NEXT:    addl %ebx, %ebp
2373; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2374; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2375; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
2376; X32-NEXT:    adcl %ecx, %eax
2377; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2378; X32-NEXT:    adcl $0, %edx
2379; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2380; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2381; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2382; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
2383; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2384; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2385; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2386; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2387; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2388; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2389; X32-NEXT:    adcl %eax, %ebp
2390; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2391; X32-NEXT:    adcl $0, %ebx
2392; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2393; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2394; X32-NEXT:    adcl $0, %ebp
2395; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2396; X32-NEXT:    adcl $0, %ebx
2397; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2398; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2399; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2400; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2401; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2402; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2403; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2404; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2405; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2406; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2407; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2408; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2409; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2410; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2411; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2412; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2413; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2414; X32-NEXT:    adcl %eax, %ecx
2415; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2416; X32-NEXT:    adcl $0, %edx
2417; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2418; X32-NEXT:    adcl $0, %esi
2419; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2420; X32-NEXT:    adcl $0, %edi
2421; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2422; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2423; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2424; X32-NEXT:    adcl $0, %ebp
2425; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2426; X32-NEXT:    adcl $0, %ebx
2427; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2428; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2429; X32-NEXT:    movl 64(%eax), %edi
2430; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2431; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2432; X32-NEXT:    movl %esi, %eax
2433; X32-NEXT:    mull %edi
2434; X32-NEXT:    movl %edx, %ecx
2435; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2436; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2437; X32-NEXT:    movl %ebp, %eax
2438; X32-NEXT:    mull %edi
2439; X32-NEXT:    movl %edx, %edi
2440; X32-NEXT:    movl %eax, %ebx
2441; X32-NEXT:    addl %ecx, %ebx
2442; X32-NEXT:    adcl $0, %edi
2443; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2444; X32-NEXT:    movl 68(%eax), %ecx
2445; X32-NEXT:    movl %esi, %eax
2446; X32-NEXT:    movl %ecx, %esi
2447; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2448; X32-NEXT:    mull %ecx
2449; X32-NEXT:    movl %edx, %ecx
2450; X32-NEXT:    addl %ebx, %eax
2451; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2452; X32-NEXT:    adcl %edi, %ecx
2453; X32-NEXT:    setb %bl
2454; X32-NEXT:    movl %ebp, %eax
2455; X32-NEXT:    mull %esi
2456; X32-NEXT:    addl %ecx, %eax
2457; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2458; X32-NEXT:    movzbl %bl, %eax
2459; X32-NEXT:    adcl %eax, %edx
2460; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2461; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2462; X32-NEXT:    movl %edi, %eax
2463; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2464; X32-NEXT:    mull %esi
2465; X32-NEXT:    movl %edx, %ebp
2466; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2467; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2468; X32-NEXT:    movl %ecx, %eax
2469; X32-NEXT:    mull %esi
2470; X32-NEXT:    movl %edx, %ebx
2471; X32-NEXT:    movl %eax, %esi
2472; X32-NEXT:    addl %ebp, %esi
2473; X32-NEXT:    adcl $0, %ebx
2474; X32-NEXT:    movl %edi, %eax
2475; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2476; X32-NEXT:    mull %edi
2477; X32-NEXT:    movl %edx, %ebp
2478; X32-NEXT:    addl %esi, %eax
2479; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2480; X32-NEXT:    adcl %ebx, %ebp
2481; X32-NEXT:    setb %bl
2482; X32-NEXT:    movl %ecx, %esi
2483; X32-NEXT:    movl %ecx, %eax
2484; X32-NEXT:    mull %edi
2485; X32-NEXT:    movl %eax, %ecx
2486; X32-NEXT:    addl %ebp, %ecx
2487; X32-NEXT:    movzbl %bl, %eax
2488; X32-NEXT:    adcl %eax, %edx
2489; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2490; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2491; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2492; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2493; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2494; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2495; X32-NEXT:    movl 72(%eax), %edi
2496; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2497; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2498; X32-NEXT:    movl %ebx, %eax
2499; X32-NEXT:    mull %edi
2500; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2501; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2502; X32-NEXT:    movl %esi, %eax
2503; X32-NEXT:    mull %edi
2504; X32-NEXT:    movl %edx, %ebp
2505; X32-NEXT:    movl %eax, %edi
2506; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2507; X32-NEXT:    adcl $0, %ebp
2508; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2509; X32-NEXT:    movl 76(%eax), %esi
2510; X32-NEXT:    movl %ebx, %eax
2511; X32-NEXT:    mull %esi
2512; X32-NEXT:    movl %edx, %ebx
2513; X32-NEXT:    addl %edi, %eax
2514; X32-NEXT:    movl %eax, %edi
2515; X32-NEXT:    adcl %ebp, %ebx
2516; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2517; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2518; X32-NEXT:    mull %esi
2519; X32-NEXT:    movl %esi, %ebp
2520; X32-NEXT:    movl %eax, %esi
2521; X32-NEXT:    addl %ebx, %esi
2522; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2523; X32-NEXT:    adcl %eax, %edx
2524; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2525; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2526; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2527; X32-NEXT:    adcl $0, %esi
2528; X32-NEXT:    adcl $0, %edx
2529; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2530; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2531; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2532; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2533; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2534; X32-NEXT:    movl %ecx, %eax
2535; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2536; X32-NEXT:    mull %edi
2537; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2538; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2539; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2540; X32-NEXT:    mull %edi
2541; X32-NEXT:    movl %edx, %edi
2542; X32-NEXT:    movl %eax, %ebx
2543; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2544; X32-NEXT:    adcl $0, %edi
2545; X32-NEXT:    movl %ecx, %eax
2546; X32-NEXT:    movl %ebp, %ecx
2547; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2548; X32-NEXT:    mull %ebp
2549; X32-NEXT:    movl %edx, %ebp
2550; X32-NEXT:    addl %ebx, %eax
2551; X32-NEXT:    movl %eax, %ebx
2552; X32-NEXT:    adcl %edi, %ebp
2553; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2554; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2555; X32-NEXT:    mull %ecx
2556; X32-NEXT:    addl %ebp, %eax
2557; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
2558; X32-NEXT:    adcl %ecx, %edx
2559; X32-NEXT:    addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2560; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2561; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2562; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
2563; X32-NEXT:    adcl %ecx, %eax
2564; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2565; X32-NEXT:    adcl $0, %edx
2566; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2567; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2568; X32-NEXT:    movl %ebp, %eax
2569; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2570; X32-NEXT:    mull %edi
2571; X32-NEXT:    movl %edx, %ecx
2572; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2573; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2574; X32-NEXT:    movl %esi, %eax
2575; X32-NEXT:    mull %edi
2576; X32-NEXT:    movl %edx, %edi
2577; X32-NEXT:    movl %eax, %ebx
2578; X32-NEXT:    addl %ecx, %ebx
2579; X32-NEXT:    adcl $0, %edi
2580; X32-NEXT:    movl %ebp, %eax
2581; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2582; X32-NEXT:    mull %ebp
2583; X32-NEXT:    movl %edx, %ecx
2584; X32-NEXT:    addl %ebx, %eax
2585; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2586; X32-NEXT:    adcl %edi, %ecx
2587; X32-NEXT:    setb %bl
2588; X32-NEXT:    movl %esi, %eax
2589; X32-NEXT:    mull %ebp
2590; X32-NEXT:    addl %ecx, %eax
2591; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2592; X32-NEXT:    movzbl %bl, %eax
2593; X32-NEXT:    adcl %eax, %edx
2594; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2595; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2596; X32-NEXT:    movl %esi, %eax
2597; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2598; X32-NEXT:    mull %ebx
2599; X32-NEXT:    movl %edx, %ecx
2600; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2601; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2602; X32-NEXT:    movl %edi, %eax
2603; X32-NEXT:    mull %ebx
2604; X32-NEXT:    movl %edx, %ebx
2605; X32-NEXT:    movl %eax, %ebp
2606; X32-NEXT:    addl %ecx, %ebp
2607; X32-NEXT:    adcl $0, %ebx
2608; X32-NEXT:    movl %esi, %eax
2609; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2610; X32-NEXT:    mull %ecx
2611; X32-NEXT:    movl %edx, %esi
2612; X32-NEXT:    addl %ebp, %eax
2613; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2614; X32-NEXT:    adcl %ebx, %esi
2615; X32-NEXT:    setb %bl
2616; X32-NEXT:    movl %edi, %eax
2617; X32-NEXT:    movl %edi, %ebp
2618; X32-NEXT:    mull %ecx
2619; X32-NEXT:    movl %eax, %ecx
2620; X32-NEXT:    addl %esi, %ecx
2621; X32-NEXT:    movzbl %bl, %eax
2622; X32-NEXT:    adcl %eax, %edx
2623; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2624; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2625; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2626; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2627; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2628; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2629; X32-NEXT:    movl %ebx, %eax
2630; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2631; X32-NEXT:    mull %edi
2632; X32-NEXT:    movl %edx, %esi
2633; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2634; X32-NEXT:    movl %ebp, %eax
2635; X32-NEXT:    mull %edi
2636; X32-NEXT:    movl %edx, %ebp
2637; X32-NEXT:    movl %eax, %edi
2638; X32-NEXT:    addl %esi, %edi
2639; X32-NEXT:    adcl $0, %ebp
2640; X32-NEXT:    movl %ebx, %eax
2641; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2642; X32-NEXT:    mull %esi
2643; X32-NEXT:    movl %edx, %ebx
2644; X32-NEXT:    addl %edi, %eax
2645; X32-NEXT:    movl %eax, %edi
2646; X32-NEXT:    adcl %ebp, %ebx
2647; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2648; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2649; X32-NEXT:    mull %esi
2650; X32-NEXT:    movl %eax, %esi
2651; X32-NEXT:    addl %ebx, %esi
2652; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2653; X32-NEXT:    adcl %eax, %edx
2654; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2655; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2656; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2657; X32-NEXT:    adcl $0, %esi
2658; X32-NEXT:    adcl $0, %edx
2659; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2660; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2661; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2662; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2663; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2664; X32-NEXT:    movl %ebp, %eax
2665; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2666; X32-NEXT:    mull %edi
2667; X32-NEXT:    movl %edx, %ecx
2668; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2669; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2670; X32-NEXT:    mull %edi
2671; X32-NEXT:    movl %edx, %edi
2672; X32-NEXT:    movl %eax, %ebx
2673; X32-NEXT:    addl %ecx, %ebx
2674; X32-NEXT:    adcl $0, %edi
2675; X32-NEXT:    movl %ebp, %eax
2676; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2677; X32-NEXT:    mull %ebp
2678; X32-NEXT:    movl %edx, %ecx
2679; X32-NEXT:    addl %ebx, %eax
2680; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2681; X32-NEXT:    adcl %edi, %ecx
2682; X32-NEXT:    setb %bl
2683; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2684; X32-NEXT:    mull %ebp
2685; X32-NEXT:    addl %ecx, %eax
2686; X32-NEXT:    movzbl %bl, %ecx
2687; X32-NEXT:    adcl %ecx, %edx
2688; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2689; X32-NEXT:    addl %esi, %ecx
2690; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2691; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2692; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 1-byte Folded Reload
2693; X32-NEXT:    adcl %edi, %eax
2694; X32-NEXT:    adcl $0, %edx
2695; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2696; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2697; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2698; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2699; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2700; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2701; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2702; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2703; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2704; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2705; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2706; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2707; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2708; X32-NEXT:    movl 80(%eax), %esi
2709; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2710; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2711; X32-NEXT:    movl %ebp, %eax
2712; X32-NEXT:    mull %esi
2713; X32-NEXT:    movl %edx, %ecx
2714; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2715; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2716; X32-NEXT:    movl %edi, %eax
2717; X32-NEXT:    mull %esi
2718; X32-NEXT:    movl %edx, %esi
2719; X32-NEXT:    movl %eax, %ebx
2720; X32-NEXT:    addl %ecx, %ebx
2721; X32-NEXT:    adcl $0, %esi
2722; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2723; X32-NEXT:    movl 84(%eax), %ecx
2724; X32-NEXT:    movl %ebp, %eax
2725; X32-NEXT:    movl %ecx, %ebp
2726; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2727; X32-NEXT:    mull %ecx
2728; X32-NEXT:    movl %edx, %ecx
2729; X32-NEXT:    addl %ebx, %eax
2730; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2731; X32-NEXT:    adcl %esi, %ecx
2732; X32-NEXT:    setb %bl
2733; X32-NEXT:    movl %edi, %eax
2734; X32-NEXT:    mull %ebp
2735; X32-NEXT:    addl %ecx, %eax
2736; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2737; X32-NEXT:    movzbl %bl, %eax
2738; X32-NEXT:    adcl %eax, %edx
2739; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2740; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2741; X32-NEXT:    movl %edi, %eax
2742; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2743; X32-NEXT:    mull %esi
2744; X32-NEXT:    movl %edx, %ecx
2745; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2746; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2747; X32-NEXT:    movl %ebx, %eax
2748; X32-NEXT:    mull %esi
2749; X32-NEXT:    movl %edx, %esi
2750; X32-NEXT:    movl %eax, %ebp
2751; X32-NEXT:    addl %ecx, %ebp
2752; X32-NEXT:    adcl $0, %esi
2753; X32-NEXT:    movl %edi, %eax
2754; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2755; X32-NEXT:    mull %ecx
2756; X32-NEXT:    movl %edx, %edi
2757; X32-NEXT:    addl %ebp, %eax
2758; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2759; X32-NEXT:    adcl %esi, %edi
2760; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2761; X32-NEXT:    movl %ebx, %eax
2762; X32-NEXT:    mull %ecx
2763; X32-NEXT:    movl %eax, %esi
2764; X32-NEXT:    addl %edi, %esi
2765; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2766; X32-NEXT:    adcl %eax, %edx
2767; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2768; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2769; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2770; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2771; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2772; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2773; X32-NEXT:    movl 88(%eax), %edi
2774; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2775; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2776; X32-NEXT:    movl %ecx, %eax
2777; X32-NEXT:    mull %edi
2778; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2779; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2780; X32-NEXT:    movl %ebx, %eax
2781; X32-NEXT:    mull %edi
2782; X32-NEXT:    movl %edx, %ebp
2783; X32-NEXT:    movl %eax, %ebx
2784; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2785; X32-NEXT:    adcl $0, %ebp
2786; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2787; X32-NEXT:    movl 92(%eax), %edi
2788; X32-NEXT:    movl %ecx, %eax
2789; X32-NEXT:    mull %edi
2790; X32-NEXT:    movl %edx, %ecx
2791; X32-NEXT:    addl %ebx, %eax
2792; X32-NEXT:    movl %eax, %ebx
2793; X32-NEXT:    adcl %ebp, %ecx
2794; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2795; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2796; X32-NEXT:    mull %edi
2797; X32-NEXT:    movl %eax, %ebp
2798; X32-NEXT:    addl %ecx, %ebp
2799; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2800; X32-NEXT:    adcl %eax, %edx
2801; X32-NEXT:    addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2802; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2803; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2804; X32-NEXT:    adcl $0, %ebp
2805; X32-NEXT:    adcl $0, %edx
2806; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2807; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2808; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2809; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2810; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2811; X32-NEXT:    movl %ecx, %eax
2812; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2813; X32-NEXT:    mull %esi
2814; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2815; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2816; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2817; X32-NEXT:    mull %esi
2818; X32-NEXT:    movl %edx, %esi
2819; X32-NEXT:    movl %eax, %ebx
2820; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2821; X32-NEXT:    adcl $0, %esi
2822; X32-NEXT:    movl %ecx, %eax
2823; X32-NEXT:    movl %edi, %ecx
2824; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2825; X32-NEXT:    mull %edi
2826; X32-NEXT:    movl %edx, %edi
2827; X32-NEXT:    addl %ebx, %eax
2828; X32-NEXT:    movl %eax, %ebx
2829; X32-NEXT:    adcl %esi, %edi
2830; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2831; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2832; X32-NEXT:    mull %ecx
2833; X32-NEXT:    addl %edi, %eax
2834; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
2835; X32-NEXT:    adcl %ecx, %edx
2836; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2837; X32-NEXT:    addl %ebp, %edi
2838; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2839; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
2840; X32-NEXT:    adcl %ecx, %eax
2841; X32-NEXT:    adcl $0, %edx
2842; X32-NEXT:    movl %edx, %esi
2843; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2844; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2845; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2846; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2847; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2848; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2849; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2850; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2851; X32-NEXT:    movl %edi, %edx
2852; X32-NEXT:    adcl $0, %edx
2853; X32-NEXT:    adcl $0, %ebx
2854; X32-NEXT:    adcl $0, %eax
2855; X32-NEXT:    adcl $0, %esi
2856; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2857; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2858; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2859; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2860; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2861; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2862; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2863; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2864; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2865; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2866; X32-NEXT:    movl %ebx, %eax
2867; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2868; X32-NEXT:    mull %esi
2869; X32-NEXT:    movl %edx, %ecx
2870; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2871; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2872; X32-NEXT:    movl %ebp, %eax
2873; X32-NEXT:    mull %esi
2874; X32-NEXT:    movl %edx, %esi
2875; X32-NEXT:    movl %eax, %edi
2876; X32-NEXT:    addl %ecx, %edi
2877; X32-NEXT:    adcl $0, %esi
2878; X32-NEXT:    movl %ebx, %eax
2879; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2880; X32-NEXT:    mull %ebx
2881; X32-NEXT:    movl %edx, %ecx
2882; X32-NEXT:    addl %edi, %eax
2883; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2884; X32-NEXT:    adcl %esi, %ecx
2885; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2886; X32-NEXT:    movl %ebp, %eax
2887; X32-NEXT:    mull %ebx
2888; X32-NEXT:    addl %ecx, %eax
2889; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2890; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2891; X32-NEXT:    adcl %eax, %edx
2892; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2893; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2894; X32-NEXT:    movl %ebx, %eax
2895; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2896; X32-NEXT:    mull %esi
2897; X32-NEXT:    movl %edx, %ecx
2898; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2899; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2900; X32-NEXT:    movl %edi, %eax
2901; X32-NEXT:    mull %esi
2902; X32-NEXT:    movl %edx, %esi
2903; X32-NEXT:    movl %eax, %ebp
2904; X32-NEXT:    addl %ecx, %ebp
2905; X32-NEXT:    adcl $0, %esi
2906; X32-NEXT:    movl %ebx, %eax
2907; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2908; X32-NEXT:    mull %ecx
2909; X32-NEXT:    movl %edx, %ebx
2910; X32-NEXT:    addl %ebp, %eax
2911; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2912; X32-NEXT:    adcl %esi, %ebx
2913; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2914; X32-NEXT:    movl %edi, %eax
2915; X32-NEXT:    mull %ecx
2916; X32-NEXT:    movl %eax, %ecx
2917; X32-NEXT:    addl %ebx, %ecx
2918; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2919; X32-NEXT:    adcl %eax, %edx
2920; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2921; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2922; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2923; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2924; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2925; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2926; X32-NEXT:    movl %esi, %eax
2927; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2928; X32-NEXT:    mull %ebx
2929; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2930; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2931; X32-NEXT:    movl %edi, %eax
2932; X32-NEXT:    mull %ebx
2933; X32-NEXT:    movl %edx, %ebp
2934; X32-NEXT:    movl %eax, %edi
2935; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2936; X32-NEXT:    adcl $0, %ebp
2937; X32-NEXT:    movl %esi, %eax
2938; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2939; X32-NEXT:    mull %ebx
2940; X32-NEXT:    movl %edx, %esi
2941; X32-NEXT:    addl %edi, %eax
2942; X32-NEXT:    movl %eax, %edi
2943; X32-NEXT:    adcl %ebp, %esi
2944; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2945; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2946; X32-NEXT:    mull %ebx
2947; X32-NEXT:    movl %ebx, %ebp
2948; X32-NEXT:    movl %eax, %ebx
2949; X32-NEXT:    addl %esi, %ebx
2950; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2951; X32-NEXT:    adcl %eax, %edx
2952; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2953; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2954; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2955; X32-NEXT:    adcl $0, %ebx
2956; X32-NEXT:    adcl $0, %edx
2957; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2958; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2959; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2960; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2961; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2962; X32-NEXT:    movl %ecx, %eax
2963; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2964; X32-NEXT:    mull %esi
2965; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2966; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2967; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2968; X32-NEXT:    mull %esi
2969; X32-NEXT:    movl %edx, %esi
2970; X32-NEXT:    movl %eax, %edi
2971; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2972; X32-NEXT:    adcl $0, %esi
2973; X32-NEXT:    movl %ecx, %eax
2974; X32-NEXT:    movl %ebp, %ecx
2975; X32-NEXT:    mull %ebp
2976; X32-NEXT:    movl %edx, %ebp
2977; X32-NEXT:    addl %edi, %eax
2978; X32-NEXT:    movl %eax, %edi
2979; X32-NEXT:    adcl %esi, %ebp
2980; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2981; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2982; X32-NEXT:    mull %ecx
2983; X32-NEXT:    addl %ebp, %eax
2984; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
2985; X32-NEXT:    adcl %ecx, %edx
2986; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2987; X32-NEXT:    addl %ebx, %ecx
2988; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2989; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 1-byte Folded Reload
2990; X32-NEXT:    adcl %esi, %eax
2991; X32-NEXT:    movl %eax, %esi
2992; X32-NEXT:    adcl $0, %edx
2993; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2994; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2995; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2996; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2997; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2998; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2999; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3000; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3001; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3002; X32-NEXT:    adcl %eax, %ecx
3003; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3004; X32-NEXT:    adcl $0, %edi
3005; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3006; X32-NEXT:    adcl $0, %esi
3007; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3008; X32-NEXT:    adcl $0, %edx
3009; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3010; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3011; X32-NEXT:    movl %edi, %eax
3012; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3013; X32-NEXT:    mull %esi
3014; X32-NEXT:    movl %edx, %ecx
3015; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3016; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3017; X32-NEXT:    movl %ebp, %eax
3018; X32-NEXT:    mull %esi
3019; X32-NEXT:    movl %edx, %esi
3020; X32-NEXT:    movl %eax, %ebx
3021; X32-NEXT:    addl %ecx, %ebx
3022; X32-NEXT:    adcl $0, %esi
3023; X32-NEXT:    movl %edi, %eax
3024; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3025; X32-NEXT:    mull %edi
3026; X32-NEXT:    movl %edx, %ecx
3027; X32-NEXT:    addl %ebx, %eax
3028; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3029; X32-NEXT:    adcl %esi, %ecx
3030; X32-NEXT:    setb %bl
3031; X32-NEXT:    movl %ebp, %eax
3032; X32-NEXT:    mull %edi
3033; X32-NEXT:    addl %ecx, %eax
3034; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3035; X32-NEXT:    movzbl %bl, %eax
3036; X32-NEXT:    adcl %eax, %edx
3037; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3038; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3039; X32-NEXT:    movl %ebp, %eax
3040; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3041; X32-NEXT:    mull %edi
3042; X32-NEXT:    movl %edx, %ecx
3043; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3044; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3045; X32-NEXT:    movl %esi, %eax
3046; X32-NEXT:    mull %edi
3047; X32-NEXT:    movl %edx, %ebx
3048; X32-NEXT:    movl %eax, %edi
3049; X32-NEXT:    addl %ecx, %edi
3050; X32-NEXT:    adcl $0, %ebx
3051; X32-NEXT:    movl %ebp, %eax
3052; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3053; X32-NEXT:    mull %ecx
3054; X32-NEXT:    movl %edx, %ebp
3055; X32-NEXT:    addl %edi, %eax
3056; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3057; X32-NEXT:    adcl %ebx, %ebp
3058; X32-NEXT:    setb %bl
3059; X32-NEXT:    movl %esi, %eax
3060; X32-NEXT:    movl %esi, %edi
3061; X32-NEXT:    mull %ecx
3062; X32-NEXT:    movl %eax, %ecx
3063; X32-NEXT:    addl %ebp, %ecx
3064; X32-NEXT:    movzbl %bl, %eax
3065; X32-NEXT:    adcl %eax, %edx
3066; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3067; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3068; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3069; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3070; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3071; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3072; X32-NEXT:    movl %ebx, %eax
3073; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3074; X32-NEXT:    mull %esi
3075; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3076; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3077; X32-NEXT:    movl %edi, %eax
3078; X32-NEXT:    mull %esi
3079; X32-NEXT:    movl %edx, %ebp
3080; X32-NEXT:    movl %eax, %esi
3081; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3082; X32-NEXT:    adcl $0, %ebp
3083; X32-NEXT:    movl %ebx, %eax
3084; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3085; X32-NEXT:    mull %edi
3086; X32-NEXT:    movl %edx, %ebx
3087; X32-NEXT:    addl %esi, %eax
3088; X32-NEXT:    movl %eax, %esi
3089; X32-NEXT:    adcl %ebp, %ebx
3090; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3091; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3092; X32-NEXT:    mull %edi
3093; X32-NEXT:    movl %edx, %ebp
3094; X32-NEXT:    movl %eax, %edi
3095; X32-NEXT:    addl %ebx, %edi
3096; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3097; X32-NEXT:    adcl %eax, %ebp
3098; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3099; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3100; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3101; X32-NEXT:    adcl $0, %edi
3102; X32-NEXT:    adcl $0, %ebp
3103; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3104; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3105; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3106; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3107; X32-NEXT:    movl %ecx, %eax
3108; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3109; X32-NEXT:    mull %esi
3110; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3111; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3112; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3113; X32-NEXT:    mull %esi
3114; X32-NEXT:    movl %edx, %esi
3115; X32-NEXT:    movl %eax, %ebx
3116; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3117; X32-NEXT:    adcl $0, %esi
3118; X32-NEXT:    movl %ecx, %eax
3119; X32-NEXT:    mull {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload
3120; X32-NEXT:    movl %edx, %ecx
3121; X32-NEXT:    addl %ebx, %eax
3122; X32-NEXT:    movl %eax, %ebx
3123; X32-NEXT:    adcl %esi, %ecx
3124; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3125; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3126; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3127; X32-NEXT:    mull %esi
3128; X32-NEXT:    addl %ecx, %eax
3129; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
3130; X32-NEXT:    adcl %ecx, %edx
3131; X32-NEXT:    addl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3132; X32-NEXT:    adcl %ebp, %ebx
3133; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3134; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
3135; X32-NEXT:    adcl %ecx, %eax
3136; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3137; X32-NEXT:    adcl $0, %edx
3138; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3139; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3140; X32-NEXT:    movl %esi, %ecx
3141; X32-NEXT:    imull %eax, %ecx
3142; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3143; X32-NEXT:    mull %esi
3144; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3145; X32-NEXT:    addl %ecx, %edx
3146; X32-NEXT:    imull {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3147; X32-NEXT:    addl %edx, %esi
3148; X32-NEXT:    movl %esi, %ebp
3149; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3150; X32-NEXT:    movl %eax, %esi
3151; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3152; X32-NEXT:    imull %ebx, %esi
3153; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3154; X32-NEXT:    mull %edi
3155; X32-NEXT:    movl %eax, %ecx
3156; X32-NEXT:    addl %esi, %edx
3157; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3158; X32-NEXT:    movl %edi, %eax
3159; X32-NEXT:    imull %edi, %esi
3160; X32-NEXT:    addl %edx, %esi
3161; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3162; X32-NEXT:    movl %ecx, %edi
3163; X32-NEXT:    adcl %ebp, %esi
3164; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3165; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3166; X32-NEXT:    mull %ecx
3167; X32-NEXT:    movl %edx, %ebp
3168; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3169; X32-NEXT:    movl %ebx, %eax
3170; X32-NEXT:    mull %ecx
3171; X32-NEXT:    movl %edx, %esi
3172; X32-NEXT:    movl %eax, %ebx
3173; X32-NEXT:    addl %ebp, %ebx
3174; X32-NEXT:    adcl $0, %esi
3175; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3176; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3177; X32-NEXT:    mull %ecx
3178; X32-NEXT:    movl %edx, %ebp
3179; X32-NEXT:    addl %ebx, %eax
3180; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3181; X32-NEXT:    adcl %esi, %ebp
3182; X32-NEXT:    setb %bl
3183; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3184; X32-NEXT:    mull %ecx
3185; X32-NEXT:    addl %ebp, %eax
3186; X32-NEXT:    movzbl %bl, %ecx
3187; X32-NEXT:    adcl %ecx, %edx
3188; X32-NEXT:    addl %edi, %eax
3189; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3190; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3191; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3192; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3193; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3194; X32-NEXT:    imull %ebp, %edi
3195; X32-NEXT:    movl %ebp, %eax
3196; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3197; X32-NEXT:    mull %ecx
3198; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3199; X32-NEXT:    addl %edi, %edx
3200; X32-NEXT:    imull {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3201; X32-NEXT:    addl %edx, %ecx
3202; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3203; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3204; X32-NEXT:    movl %eax, %ecx
3205; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3206; X32-NEXT:    imull %ebx, %ecx
3207; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3208; X32-NEXT:    mull %edi
3209; X32-NEXT:    movl %eax, %esi
3210; X32-NEXT:    addl %ecx, %edx
3211; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3212; X32-NEXT:    imull %edi, %ecx
3213; X32-NEXT:    addl %edx, %ecx
3214; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3215; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3216; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3217; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3218; X32-NEXT:    movl %edi, %eax
3219; X32-NEXT:    mull %ebp
3220; X32-NEXT:    movl %edx, %esi
3221; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3222; X32-NEXT:    movl %ebx, %eax
3223; X32-NEXT:    mull %ebp
3224; X32-NEXT:    movl %edx, %ebp
3225; X32-NEXT:    movl %eax, %ecx
3226; X32-NEXT:    addl %esi, %ecx
3227; X32-NEXT:    adcl $0, %ebp
3228; X32-NEXT:    movl %edi, %eax
3229; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3230; X32-NEXT:    mull %esi
3231; X32-NEXT:    movl %edx, %ebx
3232; X32-NEXT:    movl %eax, %edi
3233; X32-NEXT:    addl %ecx, %edi
3234; X32-NEXT:    adcl %ebp, %ebx
3235; X32-NEXT:    setb %cl
3236; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3237; X32-NEXT:    mull %esi
3238; X32-NEXT:    addl %ebx, %eax
3239; X32-NEXT:    movzbl %cl, %ecx
3240; X32-NEXT:    adcl %ecx, %edx
3241; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3242; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3243; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3244; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3245; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3246; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3247; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3248; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3249; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3250; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3251; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3252; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3253; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3254; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3255; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3256; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
3257; X32-NEXT:    movl 104(%esi), %ebx
3258; X32-NEXT:    movl %ebx, %eax
3259; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3260; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3261; X32-NEXT:    mull %edi
3262; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3263; X32-NEXT:    movl %edx, %ecx
3264; X32-NEXT:    movl 108(%esi), %esi
3265; X32-NEXT:    movl %esi, %eax
3266; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3267; X32-NEXT:    mull %edi
3268; X32-NEXT:    movl %edx, %edi
3269; X32-NEXT:    movl %eax, %ebp
3270; X32-NEXT:    addl %ecx, %ebp
3271; X32-NEXT:    adcl $0, %edi
3272; X32-NEXT:    movl %ebx, %eax
3273; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3274; X32-NEXT:    mull %ebx
3275; X32-NEXT:    movl %edx, %ecx
3276; X32-NEXT:    addl %ebp, %eax
3277; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3278; X32-NEXT:    adcl %edi, %ecx
3279; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3280; X32-NEXT:    movl %esi, %eax
3281; X32-NEXT:    mull %ebx
3282; X32-NEXT:    addl %ecx, %eax
3283; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3284; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3285; X32-NEXT:    adcl %eax, %edx
3286; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3287; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
3288; X32-NEXT:    movl 96(%esi), %eax
3289; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3290; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3291; X32-NEXT:    mull %edi
3292; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3293; X32-NEXT:    movl %edx, %ecx
3294; X32-NEXT:    movl 100(%esi), %eax
3295; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3296; X32-NEXT:    mull %edi
3297; X32-NEXT:    movl %edx, %ebp
3298; X32-NEXT:    movl %eax, %ebx
3299; X32-NEXT:    addl %ecx, %ebx
3300; X32-NEXT:    adcl $0, %ebp
3301; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3302; X32-NEXT:    movl %edi, %eax
3303; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3304; X32-NEXT:    mull %ecx
3305; X32-NEXT:    movl %edx, %esi
3306; X32-NEXT:    addl %ebx, %eax
3307; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3308; X32-NEXT:    adcl %ebp, %esi
3309; X32-NEXT:    setb %bl
3310; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3311; X32-NEXT:    movl %ebp, %eax
3312; X32-NEXT:    mull %ecx
3313; X32-NEXT:    movl %eax, %ecx
3314; X32-NEXT:    addl %esi, %ecx
3315; X32-NEXT:    movzbl %bl, %eax
3316; X32-NEXT:    adcl %eax, %edx
3317; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3318; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3319; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3320; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3321; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3322; X32-NEXT:    movl %edi, %eax
3323; X32-NEXT:    movl %edi, %esi
3324; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3325; X32-NEXT:    mull %edi
3326; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3327; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3328; X32-NEXT:    movl %ebp, %eax
3329; X32-NEXT:    mull %edi
3330; X32-NEXT:    movl %edx, %ebx
3331; X32-NEXT:    movl %eax, %edi
3332; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3333; X32-NEXT:    adcl $0, %ebx
3334; X32-NEXT:    movl %esi, %eax
3335; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3336; X32-NEXT:    mull %esi
3337; X32-NEXT:    movl %edx, %ebp
3338; X32-NEXT:    addl %edi, %eax
3339; X32-NEXT:    movl %eax, %edi
3340; X32-NEXT:    adcl %ebx, %ebp
3341; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3342; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3343; X32-NEXT:    mull %esi
3344; X32-NEXT:    movl %esi, %ebx
3345; X32-NEXT:    movl %eax, %esi
3346; X32-NEXT:    addl %ebp, %esi
3347; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3348; X32-NEXT:    adcl %eax, %edx
3349; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3350; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3351; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3352; X32-NEXT:    adcl $0, %esi
3353; X32-NEXT:    adcl $0, %edx
3354; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3355; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3356; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3357; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3358; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3359; X32-NEXT:    movl %ecx, %eax
3360; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3361; X32-NEXT:    mull %edi
3362; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3363; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3364; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3365; X32-NEXT:    mull %edi
3366; X32-NEXT:    movl %edx, %edi
3367; X32-NEXT:    movl %eax, %ebp
3368; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3369; X32-NEXT:    adcl $0, %edi
3370; X32-NEXT:    movl %ecx, %eax
3371; X32-NEXT:    movl %ebx, %ecx
3372; X32-NEXT:    mull %ebx
3373; X32-NEXT:    movl %edx, %ebx
3374; X32-NEXT:    addl %ebp, %eax
3375; X32-NEXT:    movl %eax, %ebp
3376; X32-NEXT:    adcl %edi, %ebx
3377; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3378; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3379; X32-NEXT:    mull %ecx
3380; X32-NEXT:    addl %ebx, %eax
3381; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
3382; X32-NEXT:    adcl %ecx, %edx
3383; X32-NEXT:    addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3384; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3385; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3386; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
3387; X32-NEXT:    adcl %ecx, %eax
3388; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3389; X32-NEXT:    adcl $0, %edx
3390; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3391; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
3392; X32-NEXT:    movl 112(%ecx), %edi
3393; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3394; X32-NEXT:    imull %edi, %ebx
3395; X32-NEXT:    movl %edi, %eax
3396; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3397; X32-NEXT:    mull %esi
3398; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3399; X32-NEXT:    addl %ebx, %edx
3400; X32-NEXT:    movl 116(%ecx), %eax
3401; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3402; X32-NEXT:    imull %eax, %esi
3403; X32-NEXT:    addl %edx, %esi
3404; X32-NEXT:    movl %esi, %ebx
3405; X32-NEXT:    movl 120(%ecx), %eax
3406; X32-NEXT:    movl %eax, %esi
3407; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3408; X32-NEXT:    imull %ecx, %esi
3409; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3410; X32-NEXT:    mull %ebp
3411; X32-NEXT:    addl %esi, %edx
3412; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
3413; X32-NEXT:    movl 124(%esi), %esi
3414; X32-NEXT:    imull %ebp, %esi
3415; X32-NEXT:    addl %edx, %esi
3416; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3417; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3418; X32-NEXT:    adcl %ebx, %esi
3419; X32-NEXT:    movl %ebp, %eax
3420; X32-NEXT:    mull %edi
3421; X32-NEXT:    movl %edx, %ebp
3422; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3423; X32-NEXT:    movl %ecx, %eax
3424; X32-NEXT:    mull %edi
3425; X32-NEXT:    movl %edx, %ecx
3426; X32-NEXT:    movl %eax, %ebx
3427; X32-NEXT:    addl %ebp, %ebx
3428; X32-NEXT:    adcl $0, %ecx
3429; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3430; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3431; X32-NEXT:    mull %edi
3432; X32-NEXT:    movl %edx, %ebp
3433; X32-NEXT:    addl %ebx, %eax
3434; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3435; X32-NEXT:    adcl %ecx, %ebp
3436; X32-NEXT:    setb %bl
3437; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3438; X32-NEXT:    mull %edi
3439; X32-NEXT:    addl %ebp, %eax
3440; X32-NEXT:    movzbl %bl, %ecx
3441; X32-NEXT:    adcl %ecx, %edx
3442; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3443; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3444; X32-NEXT:    adcl %esi, %edx
3445; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3446; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3447; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3448; X32-NEXT:    imull %eax, %edi
3449; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3450; X32-NEXT:    mull %ebp
3451; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3452; X32-NEXT:    addl %edi, %edx
3453; X32-NEXT:    imull {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3454; X32-NEXT:    addl %edx, %ebp
3455; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3456; X32-NEXT:    movl %eax, %edi
3457; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3458; X32-NEXT:    imull %ebx, %edi
3459; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3460; X32-NEXT:    mull %ecx
3461; X32-NEXT:    movl %eax, %esi
3462; X32-NEXT:    addl %edi, %edx
3463; X32-NEXT:    movl %ecx, %eax
3464; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3465; X32-NEXT:    imull %eax, %ecx
3466; X32-NEXT:    addl %edx, %ecx
3467; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3468; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3469; X32-NEXT:    adcl %ebp, %ecx
3470; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3471; X32-NEXT:    movl %eax, %esi
3472; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3473; X32-NEXT:    mull %ecx
3474; X32-NEXT:    movl %edx, %ebp
3475; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3476; X32-NEXT:    movl %ebx, %eax
3477; X32-NEXT:    mull %ecx
3478; X32-NEXT:    movl %edx, %edi
3479; X32-NEXT:    movl %eax, %ebx
3480; X32-NEXT:    addl %ebp, %ebx
3481; X32-NEXT:    adcl $0, %edi
3482; X32-NEXT:    movl %esi, %eax
3483; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3484; X32-NEXT:    mull %esi
3485; X32-NEXT:    movl %edx, %ebp
3486; X32-NEXT:    movl %eax, %ecx
3487; X32-NEXT:    addl %ebx, %ecx
3488; X32-NEXT:    adcl %edi, %ebp
3489; X32-NEXT:    setb %bl
3490; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3491; X32-NEXT:    mull %esi
3492; X32-NEXT:    addl %ebp, %eax
3493; X32-NEXT:    movzbl %bl, %edi
3494; X32-NEXT:    adcl %edi, %edx
3495; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3496; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3497; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3498; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3499; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3500; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3501; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3502; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3503; X32-NEXT:    movl %esi, %edi
3504; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3505; X32-NEXT:    movl %ecx, %ebx
3506; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3507; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3508; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3509; X32-NEXT:    movl %edx, %ebp
3510; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3511; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3512; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3513; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3514; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
3515; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3516; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3517; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3518; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3519; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3520; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3521; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3522; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3523; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3524; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3525; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3526; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3527; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3528; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3529; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3530; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3531; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3532; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3533; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3534; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3535; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3536; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3537; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3538; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3539; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3540; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
3541; X32-NEXT:    movl 88(%esi), %ebp
3542; X32-NEXT:    movl %ebp, %eax
3543; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3544; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3545; X32-NEXT:    mull %edi
3546; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3547; X32-NEXT:    movl %edx, %ecx
3548; X32-NEXT:    movl 92(%esi), %ebx
3549; X32-NEXT:    movl %ebx, %eax
3550; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3551; X32-NEXT:    mull %edi
3552; X32-NEXT:    movl %edx, %esi
3553; X32-NEXT:    movl %eax, %edi
3554; X32-NEXT:    addl %ecx, %edi
3555; X32-NEXT:    adcl $0, %esi
3556; X32-NEXT:    movl %ebp, %eax
3557; X32-NEXT:    movl (%esp), %ebp # 4-byte Reload
3558; X32-NEXT:    mull %ebp
3559; X32-NEXT:    movl %edx, %ecx
3560; X32-NEXT:    addl %edi, %eax
3561; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3562; X32-NEXT:    adcl %esi, %ecx
3563; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3564; X32-NEXT:    movl %ebx, %eax
3565; X32-NEXT:    mull %ebp
3566; X32-NEXT:    movl %ebp, %ebx
3567; X32-NEXT:    addl %ecx, %eax
3568; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3569; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3570; X32-NEXT:    adcl %eax, %edx
3571; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3572; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
3573; X32-NEXT:    movl 80(%esi), %edi
3574; X32-NEXT:    movl %edi, %eax
3575; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3576; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3577; X32-NEXT:    mull %ebp
3578; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3579; X32-NEXT:    movl %edx, %ecx
3580; X32-NEXT:    movl 84(%esi), %eax
3581; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3582; X32-NEXT:    mull %ebp
3583; X32-NEXT:    movl %edx, %esi
3584; X32-NEXT:    movl %eax, %ebp
3585; X32-NEXT:    addl %ecx, %ebp
3586; X32-NEXT:    adcl $0, %esi
3587; X32-NEXT:    movl %edi, %eax
3588; X32-NEXT:    movl %ebx, %ecx
3589; X32-NEXT:    mull %ebx
3590; X32-NEXT:    movl %edx, %ebx
3591; X32-NEXT:    addl %ebp, %eax
3592; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3593; X32-NEXT:    adcl %esi, %ebx
3594; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3595; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3596; X32-NEXT:    movl %edi, %eax
3597; X32-NEXT:    mull %ecx
3598; X32-NEXT:    movl %eax, %ecx
3599; X32-NEXT:    addl %ebx, %ecx
3600; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3601; X32-NEXT:    adcl %eax, %edx
3602; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3603; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3604; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3605; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3606; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3607; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3608; X32-NEXT:    movl %ebx, %eax
3609; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3610; X32-NEXT:    mull %esi
3611; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3612; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3613; X32-NEXT:    movl %edi, %eax
3614; X32-NEXT:    mull %esi
3615; X32-NEXT:    movl %edx, %ebp
3616; X32-NEXT:    movl %eax, %edi
3617; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3618; X32-NEXT:    adcl $0, %ebp
3619; X32-NEXT:    movl %ebx, %eax
3620; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3621; X32-NEXT:    mull %ebx
3622; X32-NEXT:    movl %edx, %esi
3623; X32-NEXT:    addl %edi, %eax
3624; X32-NEXT:    movl %eax, %edi
3625; X32-NEXT:    adcl %ebp, %esi
3626; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3627; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3628; X32-NEXT:    mull %ebx
3629; X32-NEXT:    movl %ebx, %ebp
3630; X32-NEXT:    movl %eax, %ebx
3631; X32-NEXT:    addl %esi, %ebx
3632; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3633; X32-NEXT:    adcl %eax, %edx
3634; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3635; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3636; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3637; X32-NEXT:    adcl $0, %ebx
3638; X32-NEXT:    adcl $0, %edx
3639; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3640; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3641; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3642; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3643; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3644; X32-NEXT:    movl %ecx, %eax
3645; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3646; X32-NEXT:    mull %esi
3647; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3648; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3649; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3650; X32-NEXT:    mull %esi
3651; X32-NEXT:    movl %edx, %esi
3652; X32-NEXT:    movl %eax, %edi
3653; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3654; X32-NEXT:    adcl $0, %esi
3655; X32-NEXT:    movl %ecx, %eax
3656; X32-NEXT:    movl %ebp, %ecx
3657; X32-NEXT:    mull %ebp
3658; X32-NEXT:    movl %edx, %ebp
3659; X32-NEXT:    addl %edi, %eax
3660; X32-NEXT:    movl %eax, %edi
3661; X32-NEXT:    adcl %esi, %ebp
3662; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3663; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3664; X32-NEXT:    mull %ecx
3665; X32-NEXT:    addl %ebp, %eax
3666; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
3667; X32-NEXT:    adcl %ecx, %edx
3668; X32-NEXT:    addl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3669; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3670; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3671; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
3672; X32-NEXT:    adcl %ecx, %eax
3673; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3674; X32-NEXT:    adcl $0, %edx
3675; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3676; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
3677; X32-NEXT:    movl 72(%esi), %ebp
3678; X32-NEXT:    movl %ebp, %eax
3679; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3680; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3681; X32-NEXT:    mull %edi
3682; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3683; X32-NEXT:    movl %edx, %ecx
3684; X32-NEXT:    movl 76(%esi), %ebx
3685; X32-NEXT:    movl %ebx, %eax
3686; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3687; X32-NEXT:    mull %edi
3688; X32-NEXT:    movl %edx, %esi
3689; X32-NEXT:    movl %eax, %edi
3690; X32-NEXT:    addl %ecx, %edi
3691; X32-NEXT:    adcl $0, %esi
3692; X32-NEXT:    movl %ebp, %eax
3693; X32-NEXT:    movl (%esp), %ebp # 4-byte Reload
3694; X32-NEXT:    mull %ebp
3695; X32-NEXT:    movl %edx, %ecx
3696; X32-NEXT:    addl %edi, %eax
3697; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3698; X32-NEXT:    adcl %esi, %ecx
3699; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3700; X32-NEXT:    movl %ebx, %eax
3701; X32-NEXT:    mull %ebp
3702; X32-NEXT:    addl %ecx, %eax
3703; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3704; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3705; X32-NEXT:    adcl %eax, %edx
3706; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3707; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebx
3708; X32-NEXT:    movl 64(%ebx), %ecx
3709; X32-NEXT:    movl %ecx, %eax
3710; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3711; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3712; X32-NEXT:    mull %esi
3713; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3714; X32-NEXT:    movl %edx, %edi
3715; X32-NEXT:    movl 68(%ebx), %eax
3716; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3717; X32-NEXT:    mull %esi
3718; X32-NEXT:    movl %edx, %esi
3719; X32-NEXT:    movl %eax, %ebp
3720; X32-NEXT:    addl %edi, %ebp
3721; X32-NEXT:    adcl $0, %esi
3722; X32-NEXT:    movl %ecx, %eax
3723; X32-NEXT:    movl (%esp), %edi # 4-byte Reload
3724; X32-NEXT:    mull %edi
3725; X32-NEXT:    movl %edx, %ebx
3726; X32-NEXT:    addl %ebp, %eax
3727; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3728; X32-NEXT:    adcl %esi, %ebx
3729; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3730; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3731; X32-NEXT:    movl %ebp, %eax
3732; X32-NEXT:    mull %edi
3733; X32-NEXT:    movl %eax, %ecx
3734; X32-NEXT:    addl %ebx, %ecx
3735; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3736; X32-NEXT:    adcl %eax, %edx
3737; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3738; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3739; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3740; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3741; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3742; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3743; X32-NEXT:    movl %ebx, %eax
3744; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3745; X32-NEXT:    mull %esi
3746; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3747; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3748; X32-NEXT:    movl %ebp, %eax
3749; X32-NEXT:    mull %esi
3750; X32-NEXT:    movl %edx, %ebp
3751; X32-NEXT:    movl %eax, %edi
3752; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3753; X32-NEXT:    adcl $0, %ebp
3754; X32-NEXT:    movl %ebx, %eax
3755; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3756; X32-NEXT:    mull %ebx
3757; X32-NEXT:    movl %edx, %esi
3758; X32-NEXT:    addl %edi, %eax
3759; X32-NEXT:    movl %eax, %edi
3760; X32-NEXT:    adcl %ebp, %esi
3761; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3762; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3763; X32-NEXT:    mull %ebx
3764; X32-NEXT:    movl %eax, %ebx
3765; X32-NEXT:    addl %esi, %ebx
3766; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3767; X32-NEXT:    adcl %eax, %edx
3768; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3769; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3770; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3771; X32-NEXT:    adcl $0, %ebx
3772; X32-NEXT:    adcl $0, %edx
3773; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3774; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3775; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3776; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3777; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3778; X32-NEXT:    movl %ebp, %eax
3779; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3780; X32-NEXT:    mull %esi
3781; X32-NEXT:    movl %edx, %ecx
3782; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3783; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3784; X32-NEXT:    mull %esi
3785; X32-NEXT:    movl %edx, %esi
3786; X32-NEXT:    movl %eax, %edi
3787; X32-NEXT:    addl %ecx, %edi
3788; X32-NEXT:    adcl $0, %esi
3789; X32-NEXT:    movl %ebp, %eax
3790; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3791; X32-NEXT:    mull %ebp
3792; X32-NEXT:    movl %edx, %ecx
3793; X32-NEXT:    addl %edi, %eax
3794; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3795; X32-NEXT:    adcl %esi, %ecx
3796; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3797; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3798; X32-NEXT:    movl %edi, %eax
3799; X32-NEXT:    mull %ebp
3800; X32-NEXT:    addl %ecx, %eax
3801; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
3802; X32-NEXT:    adcl %ecx, %edx
3803; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3804; X32-NEXT:    addl %ebx, %ecx
3805; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3806; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3807; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 1-byte Folded Reload
3808; X32-NEXT:    adcl %ebx, %eax
3809; X32-NEXT:    adcl $0, %edx
3810; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3811; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3812; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3813; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3814; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3815; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3816; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3817; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3818; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3819; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3820; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3821; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3822; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3823; X32-NEXT:    movl %ebp, %eax
3824; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3825; X32-NEXT:    mull %esi
3826; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3827; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3828; X32-NEXT:    movl %edi, %eax
3829; X32-NEXT:    movl %edi, %ecx
3830; X32-NEXT:    mull %esi
3831; X32-NEXT:    movl %edx, %esi
3832; X32-NEXT:    movl %eax, %ebx
3833; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3834; X32-NEXT:    adcl $0, %esi
3835; X32-NEXT:    movl %ebp, %eax
3836; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3837; X32-NEXT:    mull %edi
3838; X32-NEXT:    movl %edx, %ebp
3839; X32-NEXT:    addl %ebx, %eax
3840; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3841; X32-NEXT:    adcl %esi, %ebp
3842; X32-NEXT:    setb %bl
3843; X32-NEXT:    movl %ecx, %eax
3844; X32-NEXT:    mull %edi
3845; X32-NEXT:    addl %ebp, %eax
3846; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3847; X32-NEXT:    movzbl %bl, %eax
3848; X32-NEXT:    adcl %eax, %edx
3849; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3850; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3851; X32-NEXT:    movl %ebx, %eax
3852; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3853; X32-NEXT:    mull %ecx
3854; X32-NEXT:    movl %edx, %esi
3855; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3856; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3857; X32-NEXT:    mull %ecx
3858; X32-NEXT:    movl %edx, %ebp
3859; X32-NEXT:    movl %eax, %edi
3860; X32-NEXT:    addl %esi, %edi
3861; X32-NEXT:    adcl $0, %ebp
3862; X32-NEXT:    movl %ebx, %eax
3863; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3864; X32-NEXT:    mull %esi
3865; X32-NEXT:    movl %edx, %ecx
3866; X32-NEXT:    addl %edi, %eax
3867; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3868; X32-NEXT:    adcl %ebp, %ecx
3869; X32-NEXT:    setb %bl
3870; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3871; X32-NEXT:    movl %ebp, %eax
3872; X32-NEXT:    mull %esi
3873; X32-NEXT:    movl %eax, %esi
3874; X32-NEXT:    addl %ecx, %esi
3875; X32-NEXT:    movzbl %bl, %eax
3876; X32-NEXT:    adcl %eax, %edx
3877; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3878; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3879; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3880; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3881; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3882; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3883; X32-NEXT:    movl %ecx, %eax
3884; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3885; X32-NEXT:    mull %edi
3886; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3887; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3888; X32-NEXT:    movl %ebp, %eax
3889; X32-NEXT:    mull %edi
3890; X32-NEXT:    movl %edx, %edi
3891; X32-NEXT:    movl %eax, %ebx
3892; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3893; X32-NEXT:    adcl $0, %edi
3894; X32-NEXT:    movl %ecx, %eax
3895; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3896; X32-NEXT:    mull %ecx
3897; X32-NEXT:    movl %edx, %ebp
3898; X32-NEXT:    addl %ebx, %eax
3899; X32-NEXT:    movl %eax, %ebx
3900; X32-NEXT:    adcl %edi, %ebp
3901; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3902; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3903; X32-NEXT:    mull %ecx
3904; X32-NEXT:    movl %eax, %edi
3905; X32-NEXT:    addl %ebp, %edi
3906; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3907; X32-NEXT:    adcl %eax, %edx
3908; X32-NEXT:    addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3909; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3910; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3911; X32-NEXT:    adcl $0, %edi
3912; X32-NEXT:    adcl $0, %edx
3913; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3914; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3915; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3916; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3917; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3918; X32-NEXT:    movl %esi, %eax
3919; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3920; X32-NEXT:    mull %ecx
3921; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3922; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3923; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3924; X32-NEXT:    mull %ecx
3925; X32-NEXT:    movl %edx, %ebx
3926; X32-NEXT:    movl %eax, %ebp
3927; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3928; X32-NEXT:    adcl $0, %ebx
3929; X32-NEXT:    movl %esi, %eax
3930; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3931; X32-NEXT:    mull %ecx
3932; X32-NEXT:    movl %edx, %esi
3933; X32-NEXT:    addl %ebp, %eax
3934; X32-NEXT:    movl %eax, %ebp
3935; X32-NEXT:    adcl %ebx, %esi
3936; X32-NEXT:    setb %bl
3937; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3938; X32-NEXT:    mull %ecx
3939; X32-NEXT:    addl %esi, %eax
3940; X32-NEXT:    movzbl %bl, %esi
3941; X32-NEXT:    adcl %esi, %edx
3942; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3943; X32-NEXT:    addl %edi, %ebx
3944; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3945; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
3946; X32-NEXT:    adcl %ecx, %eax
3947; X32-NEXT:    adcl $0, %edx
3948; X32-NEXT:    movl %edx, %esi
3949; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3950; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3951; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3952; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3953; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3954; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3955; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3956; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3957; X32-NEXT:    movl %ebx, %edx
3958; X32-NEXT:    adcl $0, %edx
3959; X32-NEXT:    movl %ebp, %ecx
3960; X32-NEXT:    adcl $0, %ecx
3961; X32-NEXT:    adcl $0, %eax
3962; X32-NEXT:    adcl $0, %esi
3963; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3964; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3965; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3966; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3967; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3968; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3969; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3970; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3971; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3972; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3973; X32-NEXT:    movl %ebp, %eax
3974; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3975; X32-NEXT:    mull %esi
3976; X32-NEXT:    movl %edx, %ecx
3977; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3978; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3979; X32-NEXT:    mull %esi
3980; X32-NEXT:    movl %edx, %edi
3981; X32-NEXT:    movl %eax, %ebx
3982; X32-NEXT:    addl %ecx, %ebx
3983; X32-NEXT:    adcl $0, %edi
3984; X32-NEXT:    movl %ebp, %eax
3985; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3986; X32-NEXT:    mull %esi
3987; X32-NEXT:    movl %edx, %ecx
3988; X32-NEXT:    addl %ebx, %eax
3989; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3990; X32-NEXT:    adcl %edi, %ecx
3991; X32-NEXT:    setb %bl
3992; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3993; X32-NEXT:    mull %esi
3994; X32-NEXT:    addl %ecx, %eax
3995; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3996; X32-NEXT:    movzbl %bl, %eax
3997; X32-NEXT:    adcl %eax, %edx
3998; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3999; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4000; X32-NEXT:    movl %esi, %eax
4001; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4002; X32-NEXT:    mull %ebx
4003; X32-NEXT:    movl %edx, %ecx
4004; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4005; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4006; X32-NEXT:    movl %edi, %eax
4007; X32-NEXT:    mull %ebx
4008; X32-NEXT:    movl %edx, %ebx
4009; X32-NEXT:    movl %eax, %ebp
4010; X32-NEXT:    addl %ecx, %ebp
4011; X32-NEXT:    adcl $0, %ebx
4012; X32-NEXT:    movl %esi, %eax
4013; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4014; X32-NEXT:    mull %ecx
4015; X32-NEXT:    movl %edx, %esi
4016; X32-NEXT:    addl %ebp, %eax
4017; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4018; X32-NEXT:    adcl %ebx, %esi
4019; X32-NEXT:    setb %bl
4020; X32-NEXT:    movl %edi, %eax
4021; X32-NEXT:    movl %edi, %ebp
4022; X32-NEXT:    mull %ecx
4023; X32-NEXT:    movl %eax, %ecx
4024; X32-NEXT:    addl %esi, %ecx
4025; X32-NEXT:    movzbl %bl, %eax
4026; X32-NEXT:    adcl %eax, %edx
4027; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4028; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4029; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4030; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4031; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4032; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4033; X32-NEXT:    movl %ebx, %eax
4034; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4035; X32-NEXT:    mull %edi
4036; X32-NEXT:    movl %edx, %esi
4037; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4038; X32-NEXT:    movl %ebp, %eax
4039; X32-NEXT:    mull %edi
4040; X32-NEXT:    movl %edx, %ebp
4041; X32-NEXT:    movl %eax, %edi
4042; X32-NEXT:    addl %esi, %edi
4043; X32-NEXT:    adcl $0, %ebp
4044; X32-NEXT:    movl %ebx, %eax
4045; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4046; X32-NEXT:    mull %esi
4047; X32-NEXT:    movl %edx, %ebx
4048; X32-NEXT:    addl %edi, %eax
4049; X32-NEXT:    movl %eax, %edi
4050; X32-NEXT:    adcl %ebp, %ebx
4051; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4052; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4053; X32-NEXT:    mull %esi
4054; X32-NEXT:    movl %eax, %ebp
4055; X32-NEXT:    addl %ebx, %ebp
4056; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4057; X32-NEXT:    adcl %eax, %edx
4058; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4059; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4060; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4061; X32-NEXT:    adcl $0, %ebp
4062; X32-NEXT:    adcl $0, %edx
4063; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4064; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4065; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4066; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4067; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4068; X32-NEXT:    movl %ecx, %eax
4069; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4070; X32-NEXT:    mull %esi
4071; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4072; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4073; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4074; X32-NEXT:    mull %esi
4075; X32-NEXT:    movl %edx, %edi
4076; X32-NEXT:    movl %eax, %ebx
4077; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4078; X32-NEXT:    adcl $0, %edi
4079; X32-NEXT:    movl %ecx, %eax
4080; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4081; X32-NEXT:    mull %ecx
4082; X32-NEXT:    movl %edx, %esi
4083; X32-NEXT:    addl %ebx, %eax
4084; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4085; X32-NEXT:    adcl %edi, %esi
4086; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4087; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4088; X32-NEXT:    mull %ecx
4089; X32-NEXT:    movl %eax, %ebx
4090; X32-NEXT:    addl %esi, %ebx
4091; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4092; X32-NEXT:    adcl %eax, %edx
4093; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4094; X32-NEXT:    addl %ebp, %ecx
4095; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4096; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4097; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4098; X32-NEXT:    adcl %eax, %ebx
4099; X32-NEXT:    adcl $0, %edx
4100; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4101; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4102; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4103; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4104; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4105; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4106; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4107; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4108; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4109; X32-NEXT:    adcl %eax, %ecx
4110; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4111; X32-NEXT:    adcl $0, %edi
4112; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4113; X32-NEXT:    adcl $0, %ebx
4114; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4115; X32-NEXT:    adcl $0, %edx
4116; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4117; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
4118; X32-NEXT:    movl 96(%eax), %edi
4119; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4120; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4121; X32-NEXT:    movl %esi, %eax
4122; X32-NEXT:    mull %edi
4123; X32-NEXT:    movl %edx, %ecx
4124; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4125; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4126; X32-NEXT:    movl %ebp, %eax
4127; X32-NEXT:    mull %edi
4128; X32-NEXT:    movl %edx, %edi
4129; X32-NEXT:    movl %eax, %ebx
4130; X32-NEXT:    addl %ecx, %ebx
4131; X32-NEXT:    adcl $0, %edi
4132; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
4133; X32-NEXT:    movl 100(%eax), %ecx
4134; X32-NEXT:    movl %esi, %eax
4135; X32-NEXT:    movl %ecx, %esi
4136; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4137; X32-NEXT:    mull %ecx
4138; X32-NEXT:    movl %edx, %ecx
4139; X32-NEXT:    addl %ebx, %eax
4140; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4141; X32-NEXT:    adcl %edi, %ecx
4142; X32-NEXT:    setb %bl
4143; X32-NEXT:    movl %ebp, %eax
4144; X32-NEXT:    mull %esi
4145; X32-NEXT:    addl %ecx, %eax
4146; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4147; X32-NEXT:    movzbl %bl, %eax
4148; X32-NEXT:    adcl %eax, %edx
4149; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4150; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4151; X32-NEXT:    movl %esi, %eax
4152; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4153; X32-NEXT:    mull %edi
4154; X32-NEXT:    movl %edx, %ecx
4155; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4156; X32-NEXT:    movl (%esp), %ebx # 4-byte Reload
4157; X32-NEXT:    movl %ebx, %eax
4158; X32-NEXT:    mull %edi
4159; X32-NEXT:    movl %edx, %edi
4160; X32-NEXT:    movl %eax, %ebp
4161; X32-NEXT:    addl %ecx, %ebp
4162; X32-NEXT:    adcl $0, %edi
4163; X32-NEXT:    movl %esi, %eax
4164; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4165; X32-NEXT:    mull %ecx
4166; X32-NEXT:    movl %edx, %esi
4167; X32-NEXT:    addl %ebp, %eax
4168; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4169; X32-NEXT:    adcl %edi, %esi
4170; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4171; X32-NEXT:    movl %ebx, %eax
4172; X32-NEXT:    mull %ecx
4173; X32-NEXT:    movl %eax, %edi
4174; X32-NEXT:    addl %esi, %edi
4175; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4176; X32-NEXT:    adcl %eax, %edx
4177; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4178; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4179; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4180; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4181; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4182; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
4183; X32-NEXT:    movl 104(%eax), %esi
4184; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4185; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4186; X32-NEXT:    movl %ecx, %eax
4187; X32-NEXT:    mull %esi
4188; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4189; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4190; X32-NEXT:    movl %ebx, %eax
4191; X32-NEXT:    mull %esi
4192; X32-NEXT:    movl %edx, %ebp
4193; X32-NEXT:    movl %eax, %ebx
4194; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4195; X32-NEXT:    adcl $0, %ebp
4196; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
4197; X32-NEXT:    movl 108(%eax), %esi
4198; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4199; X32-NEXT:    movl %ecx, %eax
4200; X32-NEXT:    mull %esi
4201; X32-NEXT:    movl %edx, %ecx
4202; X32-NEXT:    addl %ebx, %eax
4203; X32-NEXT:    movl %eax, %ebx
4204; X32-NEXT:    adcl %ebp, %ecx
4205; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4206; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
4207; X32-NEXT:    mull %esi
4208; X32-NEXT:    movl %edx, %ebp
4209; X32-NEXT:    movl %eax, %esi
4210; X32-NEXT:    addl %ecx, %esi
4211; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4212; X32-NEXT:    adcl %eax, %ebp
4213; X32-NEXT:    addl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4214; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4215; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4216; X32-NEXT:    adcl $0, %esi
4217; X32-NEXT:    adcl $0, %ebp
4218; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4219; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4220; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4221; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4222; X32-NEXT:    movl %ecx, %eax
4223; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4224; X32-NEXT:    mull %edi
4225; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4226; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4227; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4228; X32-NEXT:    mull %edi
4229; X32-NEXT:    movl %edx, %edi
4230; X32-NEXT:    movl %eax, %ebx
4231; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4232; X32-NEXT:    adcl $0, %edi
4233; X32-NEXT:    movl %ecx, %eax
4234; X32-NEXT:    mull {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload
4235; X32-NEXT:    movl %edx, %ecx
4236; X32-NEXT:    addl %ebx, %eax
4237; X32-NEXT:    movl %eax, %ebx
4238; X32-NEXT:    adcl %edi, %ecx
4239; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4240; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4241; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4242; X32-NEXT:    mull %edi
4243; X32-NEXT:    addl %ecx, %eax
4244; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
4245; X32-NEXT:    adcl %ecx, %edx
4246; X32-NEXT:    addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4247; X32-NEXT:    adcl %ebp, %ebx
4248; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4249; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
4250; X32-NEXT:    adcl %ecx, %eax
4251; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4252; X32-NEXT:    adcl $0, %edx
4253; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4254; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4255; X32-NEXT:    movl %edi, %esi
4256; X32-NEXT:    imull %eax, %esi
4257; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4258; X32-NEXT:    mull %ecx
4259; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4260; X32-NEXT:    addl %esi, %edx
4261; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4262; X32-NEXT:    imull %ebx, %ecx
4263; X32-NEXT:    addl %edx, %ecx
4264; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4265; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4266; X32-NEXT:    movl %eax, %esi
4267; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4268; X32-NEXT:    imull %edi, %esi
4269; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4270; X32-NEXT:    mull %ebp
4271; X32-NEXT:    movl %eax, %ecx
4272; X32-NEXT:    addl %esi, %edx
4273; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4274; X32-NEXT:    movl %ebp, %eax
4275; X32-NEXT:    imull %ebp, %esi
4276; X32-NEXT:    addl %edx, %esi
4277; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4278; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4279; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4280; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4281; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4282; X32-NEXT:    mull %ecx
4283; X32-NEXT:    movl %edx, %ebp
4284; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4285; X32-NEXT:    movl %edi, %eax
4286; X32-NEXT:    mull %ecx
4287; X32-NEXT:    movl %edx, %esi
4288; X32-NEXT:    movl %eax, %edi
4289; X32-NEXT:    addl %ebp, %edi
4290; X32-NEXT:    adcl $0, %esi
4291; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4292; X32-NEXT:    mull %ebx
4293; X32-NEXT:    movl %ebx, %ebp
4294; X32-NEXT:    movl %edx, %ecx
4295; X32-NEXT:    addl %edi, %eax
4296; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4297; X32-NEXT:    adcl %esi, %ecx
4298; X32-NEXT:    setb %bl
4299; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4300; X32-NEXT:    mull %ebp
4301; X32-NEXT:    addl %ecx, %eax
4302; X32-NEXT:    movzbl %bl, %ecx
4303; X32-NEXT:    adcl %ecx, %edx
4304; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4305; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4306; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4307; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4308; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
4309; X32-NEXT:    movl 124(%edi), %ecx
4310; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4311; X32-NEXT:    imull %eax, %ecx
4312; X32-NEXT:    movl 120(%edi), %esi
4313; X32-NEXT:    movl %edi, %ebx
4314; X32-NEXT:    mull %esi
4315; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4316; X32-NEXT:    addl %ecx, %edx
4317; X32-NEXT:    imull (%esp), %esi # 4-byte Folded Reload
4318; X32-NEXT:    addl %edx, %esi
4319; X32-NEXT:    movl 112(%edi), %edi
4320; X32-NEXT:    movl 116(%ebx), %ebp
4321; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4322; X32-NEXT:    movl %eax, %ebx
4323; X32-NEXT:    imull %ebp, %ebx
4324; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4325; X32-NEXT:    mull %edi
4326; X32-NEXT:    addl %ebx, %edx
4327; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4328; X32-NEXT:    imull %edi, %ecx
4329; X32-NEXT:    addl %edx, %ecx
4330; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4331; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4332; X32-NEXT:    adcl %esi, %ecx
4333; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4334; X32-NEXT:    movl %edi, %eax
4335; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4336; X32-NEXT:    mull %ecx
4337; X32-NEXT:    movl %edx, %esi
4338; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4339; X32-NEXT:    movl %ebp, %eax
4340; X32-NEXT:    mull %ecx
4341; X32-NEXT:    movl %edx, %ebx
4342; X32-NEXT:    movl %eax, %ebp
4343; X32-NEXT:    addl %esi, %ebp
4344; X32-NEXT:    adcl $0, %ebx
4345; X32-NEXT:    movl %edi, %eax
4346; X32-NEXT:    movl (%esp), %esi # 4-byte Reload
4347; X32-NEXT:    mull %esi
4348; X32-NEXT:    movl %edx, %ecx
4349; X32-NEXT:    movl %eax, %edi
4350; X32-NEXT:    addl %ebp, %edi
4351; X32-NEXT:    adcl %ebx, %ecx
4352; X32-NEXT:    setb %bl
4353; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4354; X32-NEXT:    mull %esi
4355; X32-NEXT:    addl %ecx, %eax
4356; X32-NEXT:    movzbl %bl, %ecx
4357; X32-NEXT:    adcl %ecx, %edx
4358; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4359; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4360; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4361; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4362; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4363; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4364; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4365; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4366; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4367; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4368; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4369; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4370; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4371; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4372; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4373; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4374; X32-NEXT:    movl %ecx, %eax
4375; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4376; X32-NEXT:    mull %edi
4377; X32-NEXT:    movl %edx, %esi
4378; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4379; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4380; X32-NEXT:    movl %ebp, %eax
4381; X32-NEXT:    mull %edi
4382; X32-NEXT:    movl %edx, %edi
4383; X32-NEXT:    movl %eax, %ebx
4384; X32-NEXT:    addl %esi, %ebx
4385; X32-NEXT:    adcl $0, %edi
4386; X32-NEXT:    movl %ecx, %eax
4387; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4388; X32-NEXT:    mull %ecx
4389; X32-NEXT:    movl %edx, %esi
4390; X32-NEXT:    addl %ebx, %eax
4391; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4392; X32-NEXT:    adcl %edi, %esi
4393; X32-NEXT:    setb %bl
4394; X32-NEXT:    movl %ebp, %eax
4395; X32-NEXT:    mull %ecx
4396; X32-NEXT:    addl %esi, %eax
4397; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
4398; X32-NEXT:    movzbl %bl, %eax
4399; X32-NEXT:    adcl %eax, %edx
4400; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4401; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4402; X32-NEXT:    movl %ebp, %eax
4403; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4404; X32-NEXT:    mull %ecx
4405; X32-NEXT:    movl %edx, %esi
4406; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4407; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4408; X32-NEXT:    movl %edi, %eax
4409; X32-NEXT:    mull %ecx
4410; X32-NEXT:    movl %edx, %ebx
4411; X32-NEXT:    movl %eax, %ecx
4412; X32-NEXT:    addl %esi, %ecx
4413; X32-NEXT:    adcl $0, %ebx
4414; X32-NEXT:    movl %ebp, %eax
4415; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4416; X32-NEXT:    mull %esi
4417; X32-NEXT:    movl %edx, %ebp
4418; X32-NEXT:    addl %ecx, %eax
4419; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4420; X32-NEXT:    adcl %ebx, %ebp
4421; X32-NEXT:    setb %cl
4422; X32-NEXT:    movl %edi, %eax
4423; X32-NEXT:    mull %esi
4424; X32-NEXT:    movl %eax, %ebx
4425; X32-NEXT:    addl %ebp, %ebx
4426; X32-NEXT:    movzbl %cl, %eax
4427; X32-NEXT:    adcl %eax, %edx
4428; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4429; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4430; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4431; X32-NEXT:    adcl $0, (%esp) # 4-byte Folded Spill
4432; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4433; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4434; X32-NEXT:    movl %ecx, %eax
4435; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4436; X32-NEXT:    mull %esi
4437; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4438; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4439; X32-NEXT:    movl %edi, %eax
4440; X32-NEXT:    mull %esi
4441; X32-NEXT:    movl %edx, %ebp
4442; X32-NEXT:    movl %eax, %edi
4443; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4444; X32-NEXT:    adcl $0, %ebp
4445; X32-NEXT:    movl %ecx, %eax
4446; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4447; X32-NEXT:    mull %ecx
4448; X32-NEXT:    movl %edx, %esi
4449; X32-NEXT:    addl %edi, %eax
4450; X32-NEXT:    movl %eax, %edi
4451; X32-NEXT:    adcl %ebp, %esi
4452; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4453; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4454; X32-NEXT:    mull %ecx
4455; X32-NEXT:    movl %edx, %ecx
4456; X32-NEXT:    movl %eax, %ebp
4457; X32-NEXT:    addl %esi, %ebp
4458; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4459; X32-NEXT:    adcl %eax, %ecx
4460; X32-NEXT:    addl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4461; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4462; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4463; X32-NEXT:    adcl $0, %ebp
4464; X32-NEXT:    adcl $0, %ecx
4465; X32-NEXT:    addl (%esp), %ebp # 4-byte Folded Reload
4466; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4467; X32-NEXT:    setb (%esp) # 1-byte Folded Spill
4468; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4469; X32-NEXT:    movl %esi, %eax
4470; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4471; X32-NEXT:    mull %edi
4472; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4473; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4474; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4475; X32-NEXT:    mull %edi
4476; X32-NEXT:    movl %edx, %edi
4477; X32-NEXT:    movl %eax, %ebx
4478; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4479; X32-NEXT:    adcl $0, %edi
4480; X32-NEXT:    movl %esi, %eax
4481; X32-NEXT:    mull {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload
4482; X32-NEXT:    movl %edx, %esi
4483; X32-NEXT:    addl %ebx, %eax
4484; X32-NEXT:    movl %eax, %ebx
4485; X32-NEXT:    adcl %edi, %esi
4486; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4487; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4488; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4489; X32-NEXT:    mull %edi
4490; X32-NEXT:    addl %esi, %eax
4491; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 1-byte Folded Reload
4492; X32-NEXT:    adcl %esi, %edx
4493; X32-NEXT:    addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4494; X32-NEXT:    adcl %ecx, %ebx
4495; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4496; X32-NEXT:    movzbl (%esp), %ecx # 1-byte Folded Reload
4497; X32-NEXT:    adcl %ecx, %eax
4498; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4499; X32-NEXT:    adcl $0, %edx
4500; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4501; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4502; X32-NEXT:    movl %edi, %ecx
4503; X32-NEXT:    imull %eax, %ecx
4504; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4505; X32-NEXT:    mull %esi
4506; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
4507; X32-NEXT:    addl %ecx, %edx
4508; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4509; X32-NEXT:    imull %ebp, %esi
4510; X32-NEXT:    addl %edx, %esi
4511; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4512; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4513; X32-NEXT:    movl %eax, %edi
4514; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4515; X32-NEXT:    imull %ebx, %edi
4516; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4517; X32-NEXT:    mull %esi
4518; X32-NEXT:    movl %eax, %ecx
4519; X32-NEXT:    addl %edi, %edx
4520; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4521; X32-NEXT:    movl %esi, %eax
4522; X32-NEXT:    imull %esi, %edi
4523; X32-NEXT:    addl %edx, %edi
4524; X32-NEXT:    addl (%esp), %ecx # 4-byte Folded Reload
4525; X32-NEXT:    movl %ecx, (%esp) # 4-byte Spill
4526; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4527; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4528; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4529; X32-NEXT:    mull %ecx
4530; X32-NEXT:    movl %edx, %esi
4531; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4532; X32-NEXT:    movl %ebx, %eax
4533; X32-NEXT:    mull %ecx
4534; X32-NEXT:    movl %edx, %edi
4535; X32-NEXT:    movl %eax, %ebx
4536; X32-NEXT:    addl %esi, %ebx
4537; X32-NEXT:    adcl $0, %edi
4538; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4539; X32-NEXT:    mull %ebp
4540; X32-NEXT:    movl %ebp, %esi
4541; X32-NEXT:    movl %edx, %ebp
4542; X32-NEXT:    addl %ebx, %eax
4543; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4544; X32-NEXT:    adcl %edi, %ebp
4545; X32-NEXT:    setb %cl
4546; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4547; X32-NEXT:    mull %esi
4548; X32-NEXT:    addl %ebp, %eax
4549; X32-NEXT:    movzbl %cl, %ecx
4550; X32-NEXT:    adcl %ecx, %edx
4551; X32-NEXT:    addl (%esp), %eax # 4-byte Folded Reload
4552; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4553; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4554; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4555; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4556; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4557; X32-NEXT:    imull %esi, %ebx
4558; X32-NEXT:    movl %esi, %eax
4559; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4560; X32-NEXT:    mull %ecx
4561; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
4562; X32-NEXT:    addl %ebx, %edx
4563; X32-NEXT:    imull {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4564; X32-NEXT:    addl %edx, %ecx
4565; X32-NEXT:    movl %ecx, %ebx
4566; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4567; X32-NEXT:    movl %eax, %ecx
4568; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4569; X32-NEXT:    imull %edi, %ecx
4570; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4571; X32-NEXT:    mull %ebp
4572; X32-NEXT:    addl %ecx, %edx
4573; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4574; X32-NEXT:    imull %ebp, %ecx
4575; X32-NEXT:    addl %edx, %ecx
4576; X32-NEXT:    addl (%esp), %eax # 4-byte Folded Reload
4577; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4578; X32-NEXT:    adcl %ebx, %ecx
4579; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4580; X32-NEXT:    movl %ebp, %eax
4581; X32-NEXT:    movl %ebp, %ebx
4582; X32-NEXT:    mull %esi
4583; X32-NEXT:    movl %edx, %ebp
4584; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
4585; X32-NEXT:    movl %edi, %eax
4586; X32-NEXT:    mull %esi
4587; X32-NEXT:    movl %edx, %esi
4588; X32-NEXT:    movl %eax, %ecx
4589; X32-NEXT:    addl %ebp, %ecx
4590; X32-NEXT:    adcl $0, %esi
4591; X32-NEXT:    movl %ebx, %eax
4592; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4593; X32-NEXT:    mull %ebp
4594; X32-NEXT:    movl %edx, %edi
4595; X32-NEXT:    movl %eax, %ebx
4596; X32-NEXT:    addl %ecx, %ebx
4597; X32-NEXT:    adcl %esi, %edi
4598; X32-NEXT:    setb %cl
4599; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4600; X32-NEXT:    mull %ebp
4601; X32-NEXT:    movl %edx, %esi
4602; X32-NEXT:    addl %edi, %eax
4603; X32-NEXT:    movzbl %cl, %ecx
4604; X32-NEXT:    adcl %ecx, %esi
4605; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4606; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4607; X32-NEXT:    movl (%esp), %ecx # 4-byte Reload
4608; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4609; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4610; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4611; X32-NEXT:    movl %eax, %ebp
4612; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4613; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4614; X32-NEXT:    movl %ecx, %edx
4615; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4616; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4617; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4618; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4619; X32-NEXT:    movl %esi, %edi
4620; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4621; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4622; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4623; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4624; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4625; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4626; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4627; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4628; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4629; X32-NEXT:    movl %edx, (%esp) # 4-byte Spill
4630; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
4631; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4632; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4633; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4634; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4635; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4636; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4637; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4638; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4639; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4640; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4641; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
4642; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4643; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
4644; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4645; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4646; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4647; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4648; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4649; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4650; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4651; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4652; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4653; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4654; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4655; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4656; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4657; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4658; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4659; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4660; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4661; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4662; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4663; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4664; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4665; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4666; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4667; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4668; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4669; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4670; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4671; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4672; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4673; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4674; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4675; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4676; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4677; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4678; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4679; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4680; X32-NEXT:    movl (%esp), %edx # 4-byte Reload
4681; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4682; X32-NEXT:    movl %edx, (%esp) # 4-byte Spill
4683; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
4684; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4685; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4686; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
4687; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4688; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4689; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4690; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4691; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4692; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4693; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4694; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4695; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4696; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4697; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4698; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4699; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4700; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4701; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4702; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4703; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4704; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4705; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4706; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4707; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4708; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4709; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4710; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4711; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4712; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4713; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4714; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4715; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4716; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4717; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4718; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4719; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4720; X32-NEXT:    movl (%esp), %edi # 4-byte Reload
4721; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4722; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4723; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4724; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4725; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4726; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4727; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
4728; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4729; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
4730; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4731; X32-NEXT:    movl %esi, (%ecx)
4732; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4733; X32-NEXT:    movl %esi, 4(%ecx)
4734; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4735; X32-NEXT:    movl %esi, 8(%ecx)
4736; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4737; X32-NEXT:    movl %esi, 12(%ecx)
4738; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4739; X32-NEXT:    movl %esi, 16(%ecx)
4740; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4741; X32-NEXT:    movl %esi, 20(%ecx)
4742; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4743; X32-NEXT:    movl %esi, 24(%ecx)
4744; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4745; X32-NEXT:    movl %esi, 28(%ecx)
4746; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4747; X32-NEXT:    movl %esi, 32(%ecx)
4748; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4749; X32-NEXT:    movl %esi, 36(%ecx)
4750; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4751; X32-NEXT:    movl %esi, 40(%ecx)
4752; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4753; X32-NEXT:    movl %esi, 44(%ecx)
4754; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4755; X32-NEXT:    movl %esi, 48(%ecx)
4756; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4757; X32-NEXT:    movl %esi, 52(%ecx)
4758; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4759; X32-NEXT:    movl %esi, 56(%ecx)
4760; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4761; X32-NEXT:    movl %esi, 60(%ecx)
4762; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4763; X32-NEXT:    movl %eax, 64(%ecx)
4764; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4765; X32-NEXT:    movl %eax, 68(%ecx)
4766; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4767; X32-NEXT:    movl %eax, 72(%ecx)
4768; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4769; X32-NEXT:    movl %eax, 76(%ecx)
4770; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4771; X32-NEXT:    movl %eax, 80(%ecx)
4772; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4773; X32-NEXT:    movl %eax, 84(%ecx)
4774; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4775; X32-NEXT:    movl %eax, 88(%ecx)
4776; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4777; X32-NEXT:    movl %eax, 92(%ecx)
4778; X32-NEXT:    movl %ebp, 96(%ecx)
4779; X32-NEXT:    movl %ebx, 100(%ecx)
4780; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4781; X32-NEXT:    movl %eax, 104(%ecx)
4782; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4783; X32-NEXT:    movl %eax, 108(%ecx)
4784; X32-NEXT:    movl %edi, 112(%ecx)
4785; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4786; X32-NEXT:    movl %eax, 116(%ecx)
4787; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4788; X32-NEXT:    movl %eax, 120(%ecx)
4789; X32-NEXT:    movl %edx, 124(%ecx)
4790; X32-NEXT:    addl $400, %esp # imm = 0x190
4791; X32-NEXT:    popl %esi
4792; X32-NEXT:    popl %edi
4793; X32-NEXT:    popl %ebx
4794; X32-NEXT:    popl %ebp
4795; X32-NEXT:    retl
4796;
4797; X64-LABEL: test_1024:
4798; X64:       # %bb.0:
4799; X64-NEXT:    pushq %rbp
4800; X64-NEXT:    pushq %r15
4801; X64-NEXT:    pushq %r14
4802; X64-NEXT:    pushq %r13
4803; X64-NEXT:    pushq %r12
4804; X64-NEXT:    pushq %rbx
4805; X64-NEXT:    subq $240, %rsp
4806; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4807; X64-NEXT:    movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4808; X64-NEXT:    movq 40(%rdi), %r15
4809; X64-NEXT:    movq 32(%rdi), %r9
4810; X64-NEXT:    movq 56(%rdi), %r8
4811; X64-NEXT:    movq 48(%rdi), %rbx
4812; X64-NEXT:    movq %rbx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4813; X64-NEXT:    movq (%rsi), %rdi
4814; X64-NEXT:    movq 8(%rsi), %r11
4815; X64-NEXT:    movq %rsi, %r13
4816; X64-NEXT:    movq %rbx, %rax
4817; X64-NEXT:    mulq %rdi
4818; X64-NEXT:    movq %rdx, %rcx
4819; X64-NEXT:    movq %rax, %r12
4820; X64-NEXT:    movq %r8, %rax
4821; X64-NEXT:    movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4822; X64-NEXT:    mulq %rdi
4823; X64-NEXT:    movq %rdx, %rsi
4824; X64-NEXT:    movq %rax, %rbp
4825; X64-NEXT:    addq %rcx, %rbp
4826; X64-NEXT:    adcq $0, %rsi
4827; X64-NEXT:    movq %rbx, %rax
4828; X64-NEXT:    mulq %r11
4829; X64-NEXT:    movq %rdx, %rcx
4830; X64-NEXT:    movq %rax, %r10
4831; X64-NEXT:    addq %rbp, %r10
4832; X64-NEXT:    adcq %rsi, %rcx
4833; X64-NEXT:    setb %al
4834; X64-NEXT:    movzbl %al, %esi
4835; X64-NEXT:    movq %r8, %rax
4836; X64-NEXT:    mulq %r11
4837; X64-NEXT:    movq %rdx, %r8
4838; X64-NEXT:    movq %rax, %r14
4839; X64-NEXT:    addq %rcx, %r14
4840; X64-NEXT:    adcq %rsi, %r8
4841; X64-NEXT:    movq %r9, %rax
4842; X64-NEXT:    movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4843; X64-NEXT:    mulq %rdi
4844; X64-NEXT:    movq %rdx, %rcx
4845; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4846; X64-NEXT:    movq %r15, %rax
4847; X64-NEXT:    mulq %rdi
4848; X64-NEXT:    movq %rdx, %rbp
4849; X64-NEXT:    movq %rax, %rdi
4850; X64-NEXT:    addq %rcx, %rdi
4851; X64-NEXT:    adcq $0, %rbp
4852; X64-NEXT:    movq %r9, %rax
4853; X64-NEXT:    movq %r9, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4854; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4855; X64-NEXT:    mulq %r11
4856; X64-NEXT:    movq %rdx, %rbx
4857; X64-NEXT:    addq %rdi, %rax
4858; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4859; X64-NEXT:    adcq %rbp, %rbx
4860; X64-NEXT:    setb %sil
4861; X64-NEXT:    movq %r15, %rbp
4862; X64-NEXT:    movq %r15, %rax
4863; X64-NEXT:    mulq %r11
4864; X64-NEXT:    movq %rdx, %r15
4865; X64-NEXT:    movq %rax, %rcx
4866; X64-NEXT:    addq %rbx, %rcx
4867; X64-NEXT:    movzbl %sil, %eax
4868; X64-NEXT:    adcq %rax, %r15
4869; X64-NEXT:    addq %r12, %rcx
4870; X64-NEXT:    adcq %r10, %r15
4871; X64-NEXT:    adcq $0, %r14
4872; X64-NEXT:    adcq $0, %r8
4873; X64-NEXT:    movq %r13, %rdi
4874; X64-NEXT:    movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4875; X64-NEXT:    movq 16(%r13), %r10
4876; X64-NEXT:    movq %r9, %rax
4877; X64-NEXT:    mulq %r10
4878; X64-NEXT:    movq %rdx, %r12
4879; X64-NEXT:    movq %rax, %r13
4880; X64-NEXT:    movq %rbp, %rax
4881; X64-NEXT:    movq %rbp, %r11
4882; X64-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4883; X64-NEXT:    mulq %r10
4884; X64-NEXT:    movq %rdx, %rbx
4885; X64-NEXT:    movq %rax, %rsi
4886; X64-NEXT:    addq %r12, %rsi
4887; X64-NEXT:    adcq $0, %rbx
4888; X64-NEXT:    movq 24(%rdi), %rdi
4889; X64-NEXT:    movq %r9, %rax
4890; X64-NEXT:    mulq %rdi
4891; X64-NEXT:    movq %rdi, %r12
4892; X64-NEXT:    movq %rdx, %rbp
4893; X64-NEXT:    addq %rsi, %rax
4894; X64-NEXT:    movq %rax, %rsi
4895; X64-NEXT:    adcq %rbx, %rbp
4896; X64-NEXT:    setb %r9b
4897; X64-NEXT:    movq %r11, %rax
4898; X64-NEXT:    mulq %rdi
4899; X64-NEXT:    movq %rdx, %rdi
4900; X64-NEXT:    movq %rax, %rbx
4901; X64-NEXT:    addq %rbp, %rbx
4902; X64-NEXT:    movzbl %r9b, %eax
4903; X64-NEXT:    adcq %rax, %rdi
4904; X64-NEXT:    addq %rcx, %r13
4905; X64-NEXT:    movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4906; X64-NEXT:    adcq %r15, %rsi
4907; X64-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4908; X64-NEXT:    adcq $0, %rbx
4909; X64-NEXT:    adcq $0, %rdi
4910; X64-NEXT:    addq %r14, %rbx
4911; X64-NEXT:    adcq %r8, %rdi
4912; X64-NEXT:    setb %r11b
4913; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
4914; X64-NEXT:    movq %rcx, %rax
4915; X64-NEXT:    mulq %r10
4916; X64-NEXT:    movq %rdx, %r14
4917; X64-NEXT:    movq %rax, %r15
4918; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
4919; X64-NEXT:    movq %r9, %rax
4920; X64-NEXT:    mulq %r10
4921; X64-NEXT:    movq %rdx, %rsi
4922; X64-NEXT:    movq %rax, %rbp
4923; X64-NEXT:    addq %r14, %rbp
4924; X64-NEXT:    adcq $0, %rsi
4925; X64-NEXT:    movq %rcx, %rax
4926; X64-NEXT:    movq %r12, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4927; X64-NEXT:    mulq %r12
4928; X64-NEXT:    movq %rdx, %rcx
4929; X64-NEXT:    addq %rbp, %rax
4930; X64-NEXT:    movq %rax, %rbp
4931; X64-NEXT:    adcq %rsi, %rcx
4932; X64-NEXT:    setb %sil
4933; X64-NEXT:    movq %r9, %rax
4934; X64-NEXT:    mulq %r12
4935; X64-NEXT:    addq %rcx, %rax
4936; X64-NEXT:    movzbl %sil, %ecx
4937; X64-NEXT:    adcq %rcx, %rdx
4938; X64-NEXT:    addq %rbx, %r15
4939; X64-NEXT:    movq %r15, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4940; X64-NEXT:    adcq %rdi, %rbp
4941; X64-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4942; X64-NEXT:    movzbl %r11b, %ecx
4943; X64-NEXT:    adcq %rcx, %rax
4944; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4945; X64-NEXT:    adcq $0, %rdx
4946; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4947; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
4948; X64-NEXT:    movq 16(%rsi), %rcx
4949; X64-NEXT:    movq %rcx, %rax
4950; X64-NEXT:    movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4951; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload
4952; X64-NEXT:    mulq %r8
4953; X64-NEXT:    movq %rax, %r14
4954; X64-NEXT:    movq %rdx, %r9
4955; X64-NEXT:    movq 24(%rsi), %rbx
4956; X64-NEXT:    movq %rbx, %rax
4957; X64-NEXT:    movq %rbx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4958; X64-NEXT:    mulq %r8
4959; X64-NEXT:    movq %rdx, %rdi
4960; X64-NEXT:    movq %rax, %rbp
4961; X64-NEXT:    addq %r9, %rbp
4962; X64-NEXT:    adcq $0, %rdi
4963; X64-NEXT:    movq %rcx, %rax
4964; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r13 # 8-byte Reload
4965; X64-NEXT:    mulq %r13
4966; X64-NEXT:    movq %rdx, %rcx
4967; X64-NEXT:    movq %rax, %r15
4968; X64-NEXT:    addq %rbp, %r15
4969; X64-NEXT:    adcq %rdi, %rcx
4970; X64-NEXT:    setb %dil
4971; X64-NEXT:    movq %rbx, %rax
4972; X64-NEXT:    mulq %r13
4973; X64-NEXT:    movq %rdx, %r11
4974; X64-NEXT:    movq %rax, %r12
4975; X64-NEXT:    addq %rcx, %r12
4976; X64-NEXT:    movzbl %dil, %eax
4977; X64-NEXT:    adcq %rax, %r11
4978; X64-NEXT:    movq (%rsi), %rdi
4979; X64-NEXT:    movq %rdi, %rax
4980; X64-NEXT:    mulq %r8
4981; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4982; X64-NEXT:    movq %rdx, %rcx
4983; X64-NEXT:    movq 8(%rsi), %r9
4984; X64-NEXT:    movq %r9, %rax
4985; X64-NEXT:    mulq %r8
4986; X64-NEXT:    movq %rdx, %rbp
4987; X64-NEXT:    movq %rax, %rbx
4988; X64-NEXT:    addq %rcx, %rbx
4989; X64-NEXT:    adcq $0, %rbp
4990; X64-NEXT:    movq %rdi, %rax
4991; X64-NEXT:    mulq %r13
4992; X64-NEXT:    movq %rdx, %rsi
4993; X64-NEXT:    addq %rbx, %rax
4994; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4995; X64-NEXT:    adcq %rbp, %rsi
4996; X64-NEXT:    setb %bl
4997; X64-NEXT:    movq %r9, %rax
4998; X64-NEXT:    mulq %r13
4999; X64-NEXT:    movq %rdx, %r13
5000; X64-NEXT:    movq %rax, %rcx
5001; X64-NEXT:    addq %rsi, %rcx
5002; X64-NEXT:    movzbl %bl, %eax
5003; X64-NEXT:    adcq %rax, %r13
5004; X64-NEXT:    addq %r14, %rcx
5005; X64-NEXT:    adcq %r15, %r13
5006; X64-NEXT:    adcq $0, %r12
5007; X64-NEXT:    adcq $0, %r11
5008; X64-NEXT:    movq %rdi, %rbp
5009; X64-NEXT:    movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5010; X64-NEXT:    movq %rdi, %rax
5011; X64-NEXT:    mulq %r10
5012; X64-NEXT:    movq %rdx, %rsi
5013; X64-NEXT:    movq %rax, %r14
5014; X64-NEXT:    movq %r9, %rax
5015; X64-NEXT:    movq %r9, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5016; X64-NEXT:    mulq %r10
5017; X64-NEXT:    movq %rdx, %rbx
5018; X64-NEXT:    movq %rax, %rdi
5019; X64-NEXT:    addq %rsi, %rdi
5020; X64-NEXT:    adcq $0, %rbx
5021; X64-NEXT:    movq %rbp, %rax
5022; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5023; X64-NEXT:    mulq %rsi
5024; X64-NEXT:    movq %rdx, %rbp
5025; X64-NEXT:    addq %rdi, %rax
5026; X64-NEXT:    movq %rax, %rdi
5027; X64-NEXT:    adcq %rbx, %rbp
5028; X64-NEXT:    setb %r15b
5029; X64-NEXT:    movq %r9, %rax
5030; X64-NEXT:    mulq %rsi
5031; X64-NEXT:    movq %rdx, %r8
5032; X64-NEXT:    movq %rax, %rbx
5033; X64-NEXT:    addq %rbp, %rbx
5034; X64-NEXT:    movzbl %r15b, %eax
5035; X64-NEXT:    adcq %rax, %r8
5036; X64-NEXT:    addq %rcx, %r14
5037; X64-NEXT:    movq %r14, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5038; X64-NEXT:    adcq %r13, %rdi
5039; X64-NEXT:    movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5040; X64-NEXT:    adcq $0, %rbx
5041; X64-NEXT:    adcq $0, %r8
5042; X64-NEXT:    addq %r12, %rbx
5043; X64-NEXT:    adcq %r11, %r8
5044; X64-NEXT:    setb %r14b
5045; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5046; X64-NEXT:    movq %rsi, %rax
5047; X64-NEXT:    movq %r10, (%rsp) # 8-byte Spill
5048; X64-NEXT:    mulq %r10
5049; X64-NEXT:    movq %rdx, %rcx
5050; X64-NEXT:    movq %rax, %r11
5051; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5052; X64-NEXT:    movq %r9, %rax
5053; X64-NEXT:    mulq %r10
5054; X64-NEXT:    movq %rdx, %rdi
5055; X64-NEXT:    movq %rax, %rbp
5056; X64-NEXT:    addq %rcx, %rbp
5057; X64-NEXT:    adcq $0, %rdi
5058; X64-NEXT:    movq %rsi, %rax
5059; X64-NEXT:    movq %rsi, %r15
5060; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5061; X64-NEXT:    mulq %rsi
5062; X64-NEXT:    movq %rdx, %rcx
5063; X64-NEXT:    movq %rax, %r10
5064; X64-NEXT:    addq %rbp, %r10
5065; X64-NEXT:    adcq %rdi, %rcx
5066; X64-NEXT:    setb %dil
5067; X64-NEXT:    movq %r9, %rax
5068; X64-NEXT:    mulq %rsi
5069; X64-NEXT:    addq %rcx, %rax
5070; X64-NEXT:    movzbl %dil, %ecx
5071; X64-NEXT:    adcq %rcx, %rdx
5072; X64-NEXT:    addq %rbx, %r11
5073; X64-NEXT:    adcq %r8, %r10
5074; X64-NEXT:    movzbl %r14b, %ecx
5075; X64-NEXT:    adcq %rcx, %rax
5076; X64-NEXT:    adcq $0, %rdx
5077; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Folded Reload
5078; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5079; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Folded Reload
5080; X64-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5081; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload
5082; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5083; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload
5084; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5085; X64-NEXT:    adcq $0, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5086; X64-NEXT:    adcq $0, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5087; X64-NEXT:    adcq $0, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5088; X64-NEXT:    adcq $0, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5089; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5090; X64-NEXT:    movq 32(%rsi), %rdi
5091; X64-NEXT:    movq %r15, %rax
5092; X64-NEXT:    mulq %rdi
5093; X64-NEXT:    movq %rdx, %rcx
5094; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5095; X64-NEXT:    movq %r9, %rbx
5096; X64-NEXT:    movq %r9, %rax
5097; X64-NEXT:    mulq %rdi
5098; X64-NEXT:    movq %rdi, %r11
5099; X64-NEXT:    movq %rdx, %rdi
5100; X64-NEXT:    movq %rax, %rbp
5101; X64-NEXT:    addq %rcx, %rbp
5102; X64-NEXT:    adcq $0, %rdi
5103; X64-NEXT:    movq 40(%rsi), %rcx
5104; X64-NEXT:    movq %rsi, %r13
5105; X64-NEXT:    movq %r15, %rax
5106; X64-NEXT:    mulq %rcx
5107; X64-NEXT:    movq %rcx, %r8
5108; X64-NEXT:    movq %rdx, %rcx
5109; X64-NEXT:    movq %rax, %r9
5110; X64-NEXT:    addq %rbp, %r9
5111; X64-NEXT:    adcq %rdi, %rcx
5112; X64-NEXT:    setb %sil
5113; X64-NEXT:    movq %rbx, %rax
5114; X64-NEXT:    mulq %r8
5115; X64-NEXT:    movq %rdx, %r10
5116; X64-NEXT:    movq %rax, %r14
5117; X64-NEXT:    addq %rcx, %r14
5118; X64-NEXT:    movzbl %sil, %eax
5119; X64-NEXT:    adcq %rax, %r10
5120; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r12 # 8-byte Reload
5121; X64-NEXT:    movq %r12, %rax
5122; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5123; X64-NEXT:    mulq %r11
5124; X64-NEXT:    movq %rdx, %rcx
5125; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5126; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r15 # 8-byte Reload
5127; X64-NEXT:    movq %r15, %rax
5128; X64-NEXT:    mulq %r11
5129; X64-NEXT:    movq %rdx, %rdi
5130; X64-NEXT:    movq %rax, %rsi
5131; X64-NEXT:    addq %rcx, %rsi
5132; X64-NEXT:    adcq $0, %rdi
5133; X64-NEXT:    movq %r12, %rax
5134; X64-NEXT:    movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5135; X64-NEXT:    mulq %r8
5136; X64-NEXT:    movq %rdx, %rbp
5137; X64-NEXT:    addq %rsi, %rax
5138; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5139; X64-NEXT:    adcq %rdi, %rbp
5140; X64-NEXT:    setb %sil
5141; X64-NEXT:    movq %r15, %rax
5142; X64-NEXT:    mulq %r8
5143; X64-NEXT:    movq %rdx, %r8
5144; X64-NEXT:    movq %rax, %rcx
5145; X64-NEXT:    addq %rbp, %rcx
5146; X64-NEXT:    movzbl %sil, %eax
5147; X64-NEXT:    adcq %rax, %r8
5148; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Folded Reload
5149; X64-NEXT:    adcq %r9, %r8
5150; X64-NEXT:    adcq $0, %r14
5151; X64-NEXT:    adcq $0, %r10
5152; X64-NEXT:    movq 48(%r13), %r11
5153; X64-NEXT:    movq %r12, %rdi
5154; X64-NEXT:    movq %r12, %rax
5155; X64-NEXT:    mulq %r11
5156; X64-NEXT:    movq %rdx, %r12
5157; X64-NEXT:    movq %rax, %r9
5158; X64-NEXT:    movq %r15, %rax
5159; X64-NEXT:    mulq %r11
5160; X64-NEXT:    movq %rdx, %rbp
5161; X64-NEXT:    movq %rax, %rbx
5162; X64-NEXT:    addq %r12, %rbx
5163; X64-NEXT:    adcq $0, %rbp
5164; X64-NEXT:    movq 56(%r13), %rsi
5165; X64-NEXT:    movq %rdi, %rax
5166; X64-NEXT:    mulq %rsi
5167; X64-NEXT:    movq %rdx, %rdi
5168; X64-NEXT:    movq %rax, %r13
5169; X64-NEXT:    addq %rbx, %r13
5170; X64-NEXT:    adcq %rbp, %rdi
5171; X64-NEXT:    setb %bl
5172; X64-NEXT:    movq %r15, %rax
5173; X64-NEXT:    mulq %rsi
5174; X64-NEXT:    movq %rsi, %r15
5175; X64-NEXT:    movq %rdx, %rsi
5176; X64-NEXT:    movq %rax, %r12
5177; X64-NEXT:    addq %rdi, %r12
5178; X64-NEXT:    movzbl %bl, %eax
5179; X64-NEXT:    adcq %rax, %rsi
5180; X64-NEXT:    addq %rcx, %r9
5181; X64-NEXT:    movq %r9, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5182; X64-NEXT:    adcq %r8, %r13
5183; X64-NEXT:    adcq $0, %r12
5184; X64-NEXT:    adcq $0, %rsi
5185; X64-NEXT:    addq %r14, %r12
5186; X64-NEXT:    adcq %r10, %rsi
5187; X64-NEXT:    setb {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Folded Spill
5188; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5189; X64-NEXT:    movq %rcx, %rax
5190; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5191; X64-NEXT:    mulq %r11
5192; X64-NEXT:    movq %rdx, %r9
5193; X64-NEXT:    movq %rax, %r8
5194; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload
5195; X64-NEXT:    movq %r10, %rax
5196; X64-NEXT:    mulq %r11
5197; X64-NEXT:    movq %rdx, %rdi
5198; X64-NEXT:    movq %rax, %rbp
5199; X64-NEXT:    addq %r9, %rbp
5200; X64-NEXT:    adcq $0, %rdi
5201; X64-NEXT:    movq %rcx, %rax
5202; X64-NEXT:    movq %r15, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5203; X64-NEXT:    mulq %r15
5204; X64-NEXT:    movq %rdx, %rcx
5205; X64-NEXT:    movq %rax, %r9
5206; X64-NEXT:    addq %rbp, %r9
5207; X64-NEXT:    adcq %rdi, %rcx
5208; X64-NEXT:    setb %dil
5209; X64-NEXT:    movq %r10, %rax
5210; X64-NEXT:    mulq %r15
5211; X64-NEXT:    movq %rdx, %r10
5212; X64-NEXT:    movq %rax, %r14
5213; X64-NEXT:    addq %rcx, %r14
5214; X64-NEXT:    movzbl %dil, %eax
5215; X64-NEXT:    adcq %rax, %r10
5216; X64-NEXT:    addq %r12, %r8
5217; X64-NEXT:    adcq %rsi, %r9
5218; X64-NEXT:    movzbl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 1-byte Folded Reload
5219; X64-NEXT:    adcq %rax, %r14
5220; X64-NEXT:    adcq $0, %r10
5221; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5222; X64-NEXT:    addq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5223; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5224; X64-NEXT:    adcq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5225; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5226; X64-NEXT:    adcq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5227; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r13 # 8-byte Folded Reload
5228; X64-NEXT:    movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5229; X64-NEXT:    adcq $0, %r8
5230; X64-NEXT:    adcq $0, %r9
5231; X64-NEXT:    adcq $0, %r14
5232; X64-NEXT:    adcq $0, %r10
5233; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Folded Reload
5234; X64-NEXT:    movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5235; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Folded Reload
5236; X64-NEXT:    movq %r9, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5237; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Folded Reload
5238; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Folded Reload
5239; X64-NEXT:    setb {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Folded Spill
5240; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5241; X64-NEXT:    movq %rdi, %rax
5242; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5243; X64-NEXT:    mulq %rsi
5244; X64-NEXT:    movq %rdx, %rcx
5245; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5246; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
5247; X64-NEXT:    movq %rbp, %rax
5248; X64-NEXT:    mulq %rsi
5249; X64-NEXT:    movq %rsi, %r8
5250; X64-NEXT:    movq %rdx, %rsi
5251; X64-NEXT:    movq %rax, %rbx
5252; X64-NEXT:    addq %rcx, %rbx
5253; X64-NEXT:    adcq $0, %rsi
5254; X64-NEXT:    movq %rdi, %rax
5255; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5256; X64-NEXT:    mulq %rdi
5257; X64-NEXT:    movq %rdx, %rcx
5258; X64-NEXT:    movq %rax, %r12
5259; X64-NEXT:    addq %rbx, %r12
5260; X64-NEXT:    adcq %rsi, %rcx
5261; X64-NEXT:    setb %bl
5262; X64-NEXT:    movq %rbp, %rax
5263; X64-NEXT:    mulq %rdi
5264; X64-NEXT:    movq %rdi, %r9
5265; X64-NEXT:    movq %rdx, %r11
5266; X64-NEXT:    movq %rax, %r13
5267; X64-NEXT:    addq %rcx, %r13
5268; X64-NEXT:    movzbl %bl, %eax
5269; X64-NEXT:    adcq %rax, %r11
5270; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
5271; X64-NEXT:    movq %rbp, %rax
5272; X64-NEXT:    mulq %r8
5273; X64-NEXT:    movq %rdx, %rcx
5274; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5275; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5276; X64-NEXT:    movq %rsi, %rax
5277; X64-NEXT:    mulq %r8
5278; X64-NEXT:    movq %rdx, %rbx
5279; X64-NEXT:    movq %rax, %rdi
5280; X64-NEXT:    addq %rcx, %rdi
5281; X64-NEXT:    adcq $0, %rbx
5282; X64-NEXT:    movq %rbp, %rax
5283; X64-NEXT:    movq %rbp, %r8
5284; X64-NEXT:    mulq %r9
5285; X64-NEXT:    movq %rdx, %rbp
5286; X64-NEXT:    addq %rdi, %rax
5287; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5288; X64-NEXT:    adcq %rbx, %rbp
5289; X64-NEXT:    setb %bl
5290; X64-NEXT:    movq %rsi, %rax
5291; X64-NEXT:    mulq %r9
5292; X64-NEXT:    movq %rdx, %r15
5293; X64-NEXT:    movq %rax, %rcx
5294; X64-NEXT:    addq %rbp, %rcx
5295; X64-NEXT:    movzbl %bl, %eax
5296; X64-NEXT:    adcq %rax, %r15
5297; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Folded Reload
5298; X64-NEXT:    adcq %r12, %r15
5299; X64-NEXT:    adcq $0, %r13
5300; X64-NEXT:    adcq $0, %r11
5301; X64-NEXT:    movq %r8, %rbx
5302; X64-NEXT:    movq %r8, %rax
5303; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5304; X64-NEXT:    mulq %rdi
5305; X64-NEXT:    movq %rdx, %r8
5306; X64-NEXT:    movq %rax, %r12
5307; X64-NEXT:    movq %rsi, %rax
5308; X64-NEXT:    movq %rsi, %r9
5309; X64-NEXT:    mulq %rdi
5310; X64-NEXT:    movq %rdx, %rbp
5311; X64-NEXT:    movq %rax, %rsi
5312; X64-NEXT:    addq %r8, %rsi
5313; X64-NEXT:    adcq $0, %rbp
5314; X64-NEXT:    movq %rbx, %rax
5315; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5316; X64-NEXT:    mulq %rdi
5317; X64-NEXT:    movq %rdx, %rbx
5318; X64-NEXT:    movq %rax, %r8
5319; X64-NEXT:    addq %rsi, %r8
5320; X64-NEXT:    adcq %rbp, %rbx
5321; X64-NEXT:    setb %sil
5322; X64-NEXT:    movq %r9, %rax
5323; X64-NEXT:    mulq %rdi
5324; X64-NEXT:    movq %rdx, %rdi
5325; X64-NEXT:    movq %rax, %rbp
5326; X64-NEXT:    addq %rbx, %rbp
5327; X64-NEXT:    movzbl %sil, %eax
5328; X64-NEXT:    adcq %rax, %rdi
5329; X64-NEXT:    addq %rcx, %r12
5330; X64-NEXT:    adcq %r15, %r8
5331; X64-NEXT:    adcq $0, %rbp
5332; X64-NEXT:    adcq $0, %rdi
5333; X64-NEXT:    addq %r13, %rbp
5334; X64-NEXT:    adcq %r11, %rdi
5335; X64-NEXT:    setb {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Folded Spill
5336; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5337; X64-NEXT:    movq %rcx, %rax
5338; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5339; X64-NEXT:    mulq %rsi
5340; X64-NEXT:    movq %rdx, %r15
5341; X64-NEXT:    movq %rax, %r13
5342; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5343; X64-NEXT:    movq %r9, %rax
5344; X64-NEXT:    mulq %rsi
5345; X64-NEXT:    movq %rdx, %rsi
5346; X64-NEXT:    movq %rax, %rbx
5347; X64-NEXT:    addq %r15, %rbx
5348; X64-NEXT:    adcq $0, %rsi
5349; X64-NEXT:    movq %rcx, %rax
5350; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5351; X64-NEXT:    mulq %rcx
5352; X64-NEXT:    movq %rdx, %r11
5353; X64-NEXT:    addq %rbx, %rax
5354; X64-NEXT:    movq %rax, %r15
5355; X64-NEXT:    adcq %rsi, %r11
5356; X64-NEXT:    setb %bl
5357; X64-NEXT:    movq %r9, %rax
5358; X64-NEXT:    mulq %rcx
5359; X64-NEXT:    addq %r11, %rax
5360; X64-NEXT:    movzbl %bl, %ecx
5361; X64-NEXT:    adcq %rcx, %rdx
5362; X64-NEXT:    addq %rbp, %r13
5363; X64-NEXT:    adcq %rdi, %r15
5364; X64-NEXT:    movzbl {{[-0-9]+}}(%r{{[sb]}}p), %ecx # 1-byte Folded Reload
5365; X64-NEXT:    adcq %rcx, %rax
5366; X64-NEXT:    movq %rax, %rcx
5367; X64-NEXT:    adcq $0, %rdx
5368; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5369; X64-NEXT:    addq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5370; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5371; X64-NEXT:    adcq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5372; X64-NEXT:    adcq %r14, %r12
5373; X64-NEXT:    movq %r12, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5374; X64-NEXT:    adcq %r10, %r8
5375; X64-NEXT:    movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5376; X64-NEXT:    movzbl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 1-byte Folded Reload
5377; X64-NEXT:    adcq %rax, %r13
5378; X64-NEXT:    movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5379; X64-NEXT:    adcq $0, %r15
5380; X64-NEXT:    movq %r15, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5381; X64-NEXT:    adcq $0, %rcx
5382; X64-NEXT:    movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5383; X64-NEXT:    adcq $0, %rdx
5384; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5385; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5386; X64-NEXT:    movq 64(%rsi), %rdi
5387; X64-NEXT:    movq (%rsp), %rbx # 8-byte Reload
5388; X64-NEXT:    movq %rbx, %rax
5389; X64-NEXT:    mulq %rdi
5390; X64-NEXT:    movq %rdx, %rcx
5391; X64-NEXT:    movq %rax, %r11
5392; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5393; X64-NEXT:    movq %r9, %rax
5394; X64-NEXT:    mulq %rdi
5395; X64-NEXT:    movq %rdi, %r8
5396; X64-NEXT:    movq %rdx, %rdi
5397; X64-NEXT:    movq %rax, %rbp
5398; X64-NEXT:    addq %rcx, %rbp
5399; X64-NEXT:    adcq $0, %rdi
5400; X64-NEXT:    movq 72(%rsi), %rcx
5401; X64-NEXT:    movq %rsi, %r13
5402; X64-NEXT:    movq %rbx, %rax
5403; X64-NEXT:    mulq %rcx
5404; X64-NEXT:    movq %rcx, %rsi
5405; X64-NEXT:    movq %rdx, %rcx
5406; X64-NEXT:    movq %rax, %r14
5407; X64-NEXT:    addq %rbp, %r14
5408; X64-NEXT:    adcq %rdi, %rcx
5409; X64-NEXT:    setb %bl
5410; X64-NEXT:    movq %r9, %rax
5411; X64-NEXT:    mulq %rsi
5412; X64-NEXT:    movq %rsi, %r12
5413; X64-NEXT:    movq %rdx, %r10
5414; X64-NEXT:    movq %rax, %r15
5415; X64-NEXT:    addq %rcx, %r15
5416; X64-NEXT:    movzbl %bl, %eax
5417; X64-NEXT:    adcq %rax, %r10
5418; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5419; X64-NEXT:    movq %r9, %rax
5420; X64-NEXT:    movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5421; X64-NEXT:    mulq %r8
5422; X64-NEXT:    movq %rdx, %rcx
5423; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5424; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
5425; X64-NEXT:    movq %rbp, %rax
5426; X64-NEXT:    mulq %r8
5427; X64-NEXT:    movq %rdx, %rdi
5428; X64-NEXT:    movq %rax, %rbx
5429; X64-NEXT:    addq %rcx, %rbx
5430; X64-NEXT:    adcq $0, %rdi
5431; X64-NEXT:    movq %r9, %rax
5432; X64-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5433; X64-NEXT:    mulq %rsi
5434; X64-NEXT:    movq %rdx, %rsi
5435; X64-NEXT:    addq %rbx, %rax
5436; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5437; X64-NEXT:    adcq %rdi, %rsi
5438; X64-NEXT:    setb %cl
5439; X64-NEXT:    movq %rbp, %rax
5440; X64-NEXT:    mulq %r12
5441; X64-NEXT:    movq %rdx, %r12
5442; X64-NEXT:    movq %rax, %rdi
5443; X64-NEXT:    addq %rsi, %rdi
5444; X64-NEXT:    movzbl %cl, %eax
5445; X64-NEXT:    adcq %rax, %r12
5446; X64-NEXT:    addq %r11, %rdi
5447; X64-NEXT:    adcq %r14, %r12
5448; X64-NEXT:    adcq $0, %r15
5449; X64-NEXT:    adcq $0, %r10
5450; X64-NEXT:    movq 80(%r13), %r11
5451; X64-NEXT:    movq %r9, %rax
5452; X64-NEXT:    mulq %r11
5453; X64-NEXT:    movq %rdx, %rcx
5454; X64-NEXT:    movq %rax, %r14
5455; X64-NEXT:    movq %rbp, %rax
5456; X64-NEXT:    movq %rbp, %rsi
5457; X64-NEXT:    mulq %r11
5458; X64-NEXT:    movq %rdx, %rbx
5459; X64-NEXT:    movq %rax, %rbp
5460; X64-NEXT:    addq %rcx, %rbp
5461; X64-NEXT:    adcq $0, %rbx
5462; X64-NEXT:    movq 88(%r13), %r13
5463; X64-NEXT:    movq %r9, %rax
5464; X64-NEXT:    mulq %r13
5465; X64-NEXT:    movq %rdx, %rcx
5466; X64-NEXT:    addq %rbp, %rax
5467; X64-NEXT:    movq %rax, %rbp
5468; X64-NEXT:    adcq %rbx, %rcx
5469; X64-NEXT:    setb %r9b
5470; X64-NEXT:    movq %rsi, %rax
5471; X64-NEXT:    mulq %r13
5472; X64-NEXT:    movq %rdx, %rbx
5473; X64-NEXT:    movq %rax, %rsi
5474; X64-NEXT:    addq %rcx, %rsi
5475; X64-NEXT:    movzbl %r9b, %eax
5476; X64-NEXT:    adcq %rax, %rbx
5477; X64-NEXT:    addq %rdi, %r14
5478; X64-NEXT:    movq %r14, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5479; X64-NEXT:    adcq %r12, %rbp
5480; X64-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5481; X64-NEXT:    adcq $0, %rsi
5482; X64-NEXT:    adcq $0, %rbx
5483; X64-NEXT:    addq %r15, %rsi
5484; X64-NEXT:    adcq %r10, %rbx
5485; X64-NEXT:    setb %r9b
5486; X64-NEXT:    movq (%rsp), %r14 # 8-byte Reload
5487; X64-NEXT:    movq %r14, %rax
5488; X64-NEXT:    mulq %r11
5489; X64-NEXT:    movq %rdx, %rcx
5490; X64-NEXT:    movq %rax, %r10
5491; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload
5492; X64-NEXT:    movq %r8, %rax
5493; X64-NEXT:    mulq %r11
5494; X64-NEXT:    movq %rdx, %rdi
5495; X64-NEXT:    movq %rax, %rbp
5496; X64-NEXT:    addq %rcx, %rbp
5497; X64-NEXT:    adcq $0, %rdi
5498; X64-NEXT:    movq %r14, %rax
5499; X64-NEXT:    movq %r14, %r15
5500; X64-NEXT:    mulq %r13
5501; X64-NEXT:    movq %rdx, %rcx
5502; X64-NEXT:    addq %rbp, %rax
5503; X64-NEXT:    movq %rax, %rbp
5504; X64-NEXT:    adcq %rdi, %rcx
5505; X64-NEXT:    setb %dil
5506; X64-NEXT:    movq %r8, %rax
5507; X64-NEXT:    mulq %r13
5508; X64-NEXT:    movq %rax, %r12
5509; X64-NEXT:    addq %rcx, %r12
5510; X64-NEXT:    movzbl %dil, %eax
5511; X64-NEXT:    adcq %rax, %rdx
5512; X64-NEXT:    addq %rsi, %r10
5513; X64-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5514; X64-NEXT:    adcq %rbx, %rbp
5515; X64-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5516; X64-NEXT:    movzbl %r9b, %eax
5517; X64-NEXT:    adcq %rax, %r12
5518; X64-NEXT:    adcq $0, %rdx
5519; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5520; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5521; X64-NEXT:    imulq %rax, %r13
5522; X64-NEXT:    movq %rax, %r10
5523; X64-NEXT:    mulq %r11
5524; X64-NEXT:    movq %rax, %r8
5525; X64-NEXT:    addq %r13, %rdx
5526; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5527; X64-NEXT:    imulq %rdi, %r11
5528; X64-NEXT:    addq %rdx, %r11
5529; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5530; X64-NEXT:    movq %rax, %rsi
5531; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Reload
5532; X64-NEXT:    imulq %rbx, %rsi
5533; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
5534; X64-NEXT:    mulq %rbp
5535; X64-NEXT:    movq %rax, %r9
5536; X64-NEXT:    addq %rsi, %rdx
5537; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5538; X64-NEXT:    imulq %rbp, %rax
5539; X64-NEXT:    addq %rdx, %rax
5540; X64-NEXT:    addq %r8, %r9
5541; X64-NEXT:    adcq %r11, %rax
5542; X64-NEXT:    movq %rax, %r8
5543; X64-NEXT:    movq %rbp, %rax
5544; X64-NEXT:    mulq %r10
5545; X64-NEXT:    movq %rdx, %rcx
5546; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5547; X64-NEXT:    movq %rbx, %rax
5548; X64-NEXT:    movq %rbx, %r11
5549; X64-NEXT:    mulq %r10
5550; X64-NEXT:    movq %rdx, %rsi
5551; X64-NEXT:    movq %rax, %rbx
5552; X64-NEXT:    addq %rcx, %rbx
5553; X64-NEXT:    adcq $0, %rsi
5554; X64-NEXT:    movq %rbp, %rax
5555; X64-NEXT:    mulq %rdi
5556; X64-NEXT:    movq %rdx, %rbp
5557; X64-NEXT:    movq %rax, %r14
5558; X64-NEXT:    addq %rbx, %r14
5559; X64-NEXT:    adcq %rsi, %rbp
5560; X64-NEXT:    setb %cl
5561; X64-NEXT:    movq %r11, %rax
5562; X64-NEXT:    mulq %rdi
5563; X64-NEXT:    movq %rdx, %r13
5564; X64-NEXT:    movq %rax, %r11
5565; X64-NEXT:    addq %rbp, %r11
5566; X64-NEXT:    movzbl %cl, %eax
5567; X64-NEXT:    adcq %rax, %r13
5568; X64-NEXT:    addq %r9, %r11
5569; X64-NEXT:    adcq %r8, %r13
5570; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
5571; X64-NEXT:    movq 120(%rdx), %rcx
5572; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5573; X64-NEXT:    imulq %rax, %rcx
5574; X64-NEXT:    movq 112(%rdx), %rsi
5575; X64-NEXT:    movq %rdx, %rdi
5576; X64-NEXT:    movq %rax, %rbx
5577; X64-NEXT:    mulq %rsi
5578; X64-NEXT:    movq %rax, %r10
5579; X64-NEXT:    addq %rcx, %rdx
5580; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload
5581; X64-NEXT:    imulq %r8, %rsi
5582; X64-NEXT:    addq %rdx, %rsi
5583; X64-NEXT:    movq 96(%rdi), %rcx
5584; X64-NEXT:    movq 104(%rdi), %rbp
5585; X64-NEXT:    movq %r15, %rax
5586; X64-NEXT:    movq %r15, %rdi
5587; X64-NEXT:    imulq %rbp, %rdi
5588; X64-NEXT:    mulq %rcx
5589; X64-NEXT:    movq %rax, %r9
5590; X64-NEXT:    addq %rdi, %rdx
5591; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5592; X64-NEXT:    imulq %rcx, %rax
5593; X64-NEXT:    addq %rdx, %rax
5594; X64-NEXT:    addq %r10, %r9
5595; X64-NEXT:    adcq %rsi, %rax
5596; X64-NEXT:    movq %rax, %r10
5597; X64-NEXT:    movq %rcx, %rax
5598; X64-NEXT:    mulq %rbx
5599; X64-NEXT:    movq %rdx, %rsi
5600; X64-NEXT:    movq %rax, %r15
5601; X64-NEXT:    movq %rbp, %rax
5602; X64-NEXT:    mulq %rbx
5603; X64-NEXT:    movq %rdx, %rbx
5604; X64-NEXT:    movq %rax, %rdi
5605; X64-NEXT:    addq %rsi, %rdi
5606; X64-NEXT:    adcq $0, %rbx
5607; X64-NEXT:    movq %rcx, %rax
5608; X64-NEXT:    mulq %r8
5609; X64-NEXT:    movq %rdx, %rcx
5610; X64-NEXT:    movq %rax, %rsi
5611; X64-NEXT:    addq %rdi, %rsi
5612; X64-NEXT:    adcq %rbx, %rcx
5613; X64-NEXT:    setb %bl
5614; X64-NEXT:    movq %rbp, %rax
5615; X64-NEXT:    mulq %r8
5616; X64-NEXT:    addq %rcx, %rax
5617; X64-NEXT:    movzbl %bl, %ecx
5618; X64-NEXT:    adcq %rcx, %rdx
5619; X64-NEXT:    addq %r9, %rax
5620; X64-NEXT:    adcq %r10, %rdx
5621; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r15 # 8-byte Folded Reload
5622; X64-NEXT:    adcq %r14, %rsi
5623; X64-NEXT:    adcq %r11, %rax
5624; X64-NEXT:    adcq %r13, %rdx
5625; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r15 # 8-byte Folded Reload
5626; X64-NEXT:    movq %r15, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5627; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Folded Reload
5628; X64-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5629; X64-NEXT:    adcq %r12, %rax
5630; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5631; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload
5632; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5633; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5634; X64-NEXT:    movq 80(%r9), %rbp
5635; X64-NEXT:    movq %rbp, %rax
5636; X64-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5637; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload
5638; X64-NEXT:    mulq %r14
5639; X64-NEXT:    movq %rax, %r15
5640; X64-NEXT:    movq %rdx, %rcx
5641; X64-NEXT:    movq 88(%r9), %rbx
5642; X64-NEXT:    movq %rbx, %rax
5643; X64-NEXT:    movq %rbx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5644; X64-NEXT:    mulq %r14
5645; X64-NEXT:    movq %rdx, %rsi
5646; X64-NEXT:    movq %rax, %rdi
5647; X64-NEXT:    addq %rcx, %rdi
5648; X64-NEXT:    adcq $0, %rsi
5649; X64-NEXT:    movq %rbp, %rax
5650; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5651; X64-NEXT:    mulq %rcx
5652; X64-NEXT:    movq %rdx, %rbp
5653; X64-NEXT:    movq %rax, %r10
5654; X64-NEXT:    addq %rdi, %r10
5655; X64-NEXT:    adcq %rsi, %rbp
5656; X64-NEXT:    setb %sil
5657; X64-NEXT:    movq %rbx, %rax
5658; X64-NEXT:    mulq %rcx
5659; X64-NEXT:    movq %rcx, %rbx
5660; X64-NEXT:    movq %rdx, %r8
5661; X64-NEXT:    movq %rax, %r11
5662; X64-NEXT:    addq %rbp, %r11
5663; X64-NEXT:    movzbl %sil, %eax
5664; X64-NEXT:    adcq %rax, %r8
5665; X64-NEXT:    movq 64(%r9), %r13
5666; X64-NEXT:    movq %r13, %rax
5667; X64-NEXT:    movq %r14, %rdi
5668; X64-NEXT:    mulq %r14
5669; X64-NEXT:    movq %rax, (%rsp) # 8-byte Spill
5670; X64-NEXT:    movq %rdx, %r14
5671; X64-NEXT:    movq 72(%r9), %rax
5672; X64-NEXT:    movq %rax, %r9
5673; X64-NEXT:    mulq %rdi
5674; X64-NEXT:    movq %rdx, %rdi
5675; X64-NEXT:    movq %rax, %rbp
5676; X64-NEXT:    addq %r14, %rbp
5677; X64-NEXT:    adcq $0, %rdi
5678; X64-NEXT:    movq %r13, %rax
5679; X64-NEXT:    movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5680; X64-NEXT:    mulq %rcx
5681; X64-NEXT:    movq %rdx, %rsi
5682; X64-NEXT:    addq %rbp, %rax
5683; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5684; X64-NEXT:    adcq %rdi, %rsi
5685; X64-NEXT:    setb %cl
5686; X64-NEXT:    movq %r9, %rax
5687; X64-NEXT:    mulq %rbx
5688; X64-NEXT:    movq %rdx, %r14
5689; X64-NEXT:    movq %rax, %r12
5690; X64-NEXT:    addq %rsi, %r12
5691; X64-NEXT:    movzbl %cl, %eax
5692; X64-NEXT:    adcq %rax, %r14
5693; X64-NEXT:    addq %r15, %r12
5694; X64-NEXT:    adcq %r10, %r14
5695; X64-NEXT:    adcq $0, %r11
5696; X64-NEXT:    adcq $0, %r8
5697; X64-NEXT:    movq %r13, %rax
5698; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Reload
5699; X64-NEXT:    mulq %rbx
5700; X64-NEXT:    movq %rdx, %rbp
5701; X64-NEXT:    movq %rax, %r10
5702; X64-NEXT:    movq %r9, %rax
5703; X64-NEXT:    movq %r9, %r15
5704; X64-NEXT:    movq %r9, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5705; X64-NEXT:    mulq %rbx
5706; X64-NEXT:    movq %rdx, %rsi
5707; X64-NEXT:    movq %rax, %rcx
5708; X64-NEXT:    addq %rbp, %rcx
5709; X64-NEXT:    adcq $0, %rsi
5710; X64-NEXT:    movq %r13, %rax
5711; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5712; X64-NEXT:    mulq %r9
5713; X64-NEXT:    movq %rdx, %rdi
5714; X64-NEXT:    addq %rcx, %rax
5715; X64-NEXT:    movq %rax, %rbp
5716; X64-NEXT:    adcq %rsi, %rdi
5717; X64-NEXT:    setb %cl
5718; X64-NEXT:    movq %r15, %rax
5719; X64-NEXT:    mulq %r9
5720; X64-NEXT:    movq %rdx, %r15
5721; X64-NEXT:    movq %rax, %r13
5722; X64-NEXT:    addq %rdi, %r13
5723; X64-NEXT:    movzbl %cl, %eax
5724; X64-NEXT:    adcq %rax, %r15
5725; X64-NEXT:    addq %r12, %r10
5726; X64-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5727; X64-NEXT:    adcq %r14, %rbp
5728; X64-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5729; X64-NEXT:    adcq $0, %r13
5730; X64-NEXT:    adcq $0, %r15
5731; X64-NEXT:    addq %r11, %r13
5732; X64-NEXT:    adcq %r8, %r15
5733; X64-NEXT:    setb %r8b
5734; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
5735; X64-NEXT:    movq %rbp, %rax
5736; X64-NEXT:    mulq %rbx
5737; X64-NEXT:    movq %rdx, %r11
5738; X64-NEXT:    movq %rax, %r12
5739; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload
5740; X64-NEXT:    movq %r10, %rax
5741; X64-NEXT:    mulq %rbx
5742; X64-NEXT:    movq %rdx, %rsi
5743; X64-NEXT:    movq %rax, %rcx
5744; X64-NEXT:    addq %r11, %rcx
5745; X64-NEXT:    adcq $0, %rsi
5746; X64-NEXT:    movq %rbp, %rax
5747; X64-NEXT:    mulq %r9
5748; X64-NEXT:    movq %rdx, %r14
5749; X64-NEXT:    addq %rcx, %rax
5750; X64-NEXT:    movq %rax, %rcx
5751; X64-NEXT:    adcq %rsi, %r14
5752; X64-NEXT:    setb %sil
5753; X64-NEXT:    movq %r10, %rax
5754; X64-NEXT:    mulq %r9
5755; X64-NEXT:    addq %r14, %rax
5756; X64-NEXT:    movzbl %sil, %esi
5757; X64-NEXT:    adcq %rsi, %rdx
5758; X64-NEXT:    addq %r13, %r12
5759; X64-NEXT:    movq %r12, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5760; X64-NEXT:    adcq %r15, %rcx
5761; X64-NEXT:    movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5762; X64-NEXT:    movzbl %r8b, %ecx
5763; X64-NEXT:    adcq %rcx, %rax
5764; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5765; X64-NEXT:    adcq $0, %rdx
5766; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5767; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
5768; X64-NEXT:    movq 96(%rbp), %rsi
5769; X64-NEXT:    imulq %rsi, %r9
5770; X64-NEXT:    movq %rsi, %rax
5771; X64-NEXT:    mulq %rbx
5772; X64-NEXT:    movq %rax, %r14
5773; X64-NEXT:    addq %r9, %rdx
5774; X64-NEXT:    movq 104(%rbp), %r15
5775; X64-NEXT:    imulq %r15, %rbx
5776; X64-NEXT:    addq %rdx, %rbx
5777; X64-NEXT:    movq %rbx, %r9
5778; X64-NEXT:    movq 112(%rbp), %rax
5779; X64-NEXT:    movq %rbp, %rdi
5780; X64-NEXT:    movq %rax, %rcx
5781; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Reload
5782; X64-NEXT:    imulq %rbx, %rcx
5783; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
5784; X64-NEXT:    mulq %rbp
5785; X64-NEXT:    movq %rax, %r13
5786; X64-NEXT:    addq %rcx, %rdx
5787; X64-NEXT:    movq 120(%rdi), %r8
5788; X64-NEXT:    imulq %rbp, %r8
5789; X64-NEXT:    addq %rdx, %r8
5790; X64-NEXT:    addq %r14, %r13
5791; X64-NEXT:    adcq %r9, %r8
5792; X64-NEXT:    movq %rbp, %rax
5793; X64-NEXT:    mulq %rsi
5794; X64-NEXT:    movq %rdx, %r14
5795; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5796; X64-NEXT:    movq %rbx, %rax
5797; X64-NEXT:    mulq %rsi
5798; X64-NEXT:    movq %rdx, %rsi
5799; X64-NEXT:    movq %rax, %rcx
5800; X64-NEXT:    addq %r14, %rcx
5801; X64-NEXT:    adcq $0, %rsi
5802; X64-NEXT:    movq %rbp, %rax
5803; X64-NEXT:    mulq %r15
5804; X64-NEXT:    movq %rdx, %rdi
5805; X64-NEXT:    addq %rcx, %rax
5806; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5807; X64-NEXT:    adcq %rsi, %rdi
5808; X64-NEXT:    setb %cl
5809; X64-NEXT:    movq %rbx, %rax
5810; X64-NEXT:    mulq %r15
5811; X64-NEXT:    movq %rdx, %r12
5812; X64-NEXT:    movq %rax, %r15
5813; X64-NEXT:    addq %rdi, %r15
5814; X64-NEXT:    movzbl %cl, %eax
5815; X64-NEXT:    adcq %rax, %r12
5816; X64-NEXT:    addq %r13, %r15
5817; X64-NEXT:    adcq %r8, %r12
5818; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5819; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Reload
5820; X64-NEXT:    imulq %r11, %rcx
5821; X64-NEXT:    movq %r11, %rax
5822; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5823; X64-NEXT:    mulq %rsi
5824; X64-NEXT:    movq %rax, %r8
5825; X64-NEXT:    addq %rcx, %rdx
5826; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload
5827; X64-NEXT:    imulq %r14, %rsi
5828; X64-NEXT:    addq %rdx, %rsi
5829; X64-NEXT:    movq %rsi, %r9
5830; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5831; X64-NEXT:    movq %rax, %rsi
5832; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
5833; X64-NEXT:    imulq %rbp, %rsi
5834; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5835; X64-NEXT:    mulq %rdi
5836; X64-NEXT:    movq %rax, %r13
5837; X64-NEXT:    addq %rsi, %rdx
5838; X64-NEXT:    imulq %rdi, %r10
5839; X64-NEXT:    addq %rdx, %r10
5840; X64-NEXT:    addq %r8, %r13
5841; X64-NEXT:    adcq %r9, %r10
5842; X64-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5843; X64-NEXT:    movq %rdi, %rax
5844; X64-NEXT:    movq %rdi, %r10
5845; X64-NEXT:    mulq %r11
5846; X64-NEXT:    movq %rdx, %rsi
5847; X64-NEXT:    movq %rax, %r8
5848; X64-NEXT:    movq %rbp, %rax
5849; X64-NEXT:    mulq %r11
5850; X64-NEXT:    movq %rdx, %r9
5851; X64-NEXT:    movq %rax, %rdi
5852; X64-NEXT:    addq %rsi, %rdi
5853; X64-NEXT:    adcq $0, %r9
5854; X64-NEXT:    movq %r10, %rax
5855; X64-NEXT:    mulq %r14
5856; X64-NEXT:    movq %rdx, %rcx
5857; X64-NEXT:    movq %rax, %rsi
5858; X64-NEXT:    addq %rdi, %rsi
5859; X64-NEXT:    adcq %r9, %rcx
5860; X64-NEXT:    setb %dil
5861; X64-NEXT:    movq %rbp, %rax
5862; X64-NEXT:    mulq %r14
5863; X64-NEXT:    addq %rcx, %rax
5864; X64-NEXT:    movzbl %dil, %ecx
5865; X64-NEXT:    adcq %rcx, %rdx
5866; X64-NEXT:    addq %r13, %rax
5867; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload
5868; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Folded Reload
5869; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Folded Reload
5870; X64-NEXT:    adcq %r15, %rax
5871; X64-NEXT:    adcq %r12, %rdx
5872; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Folded Reload
5873; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Folded Reload
5874; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload
5875; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload
5876; X64-NEXT:    movq (%rsp), %rcx # 8-byte Reload
5877; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Folded Reload
5878; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5879; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Folded Reload
5880; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Reload
5881; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Folded Reload
5882; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
5883; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Folded Reload
5884; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Folded Reload
5885; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Folded Reload
5886; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload
5887; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload
5888; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Folded Reload
5889; X64-NEXT:    movq %rcx, %r9
5890; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Folded Reload
5891; X64-NEXT:    movq %rdi, %r10
5892; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Folded Reload
5893; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Folded Reload
5894; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Folded Reload
5895; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Folded Reload
5896; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload
5897; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload
5898; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5899; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5900; X64-NEXT:    movq %rdi, (%rcx)
5901; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5902; X64-NEXT:    movq %rdi, 8(%rcx)
5903; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5904; X64-NEXT:    movq %rdi, 16(%rcx)
5905; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5906; X64-NEXT:    movq %rdi, 24(%rcx)
5907; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5908; X64-NEXT:    movq %rdi, 32(%rcx)
5909; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5910; X64-NEXT:    movq %rdi, 40(%rcx)
5911; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5912; X64-NEXT:    movq %rdi, 48(%rcx)
5913; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5914; X64-NEXT:    movq %rdi, 56(%rcx)
5915; X64-NEXT:    movq %r9, 64(%rcx)
5916; X64-NEXT:    movq %r10, 72(%rcx)
5917; X64-NEXT:    movq %rbx, 80(%rcx)
5918; X64-NEXT:    movq %rbp, 88(%rcx)
5919; X64-NEXT:    movq %r8, 96(%rcx)
5920; X64-NEXT:    movq %rsi, 104(%rcx)
5921; X64-NEXT:    movq %rax, 112(%rcx)
5922; X64-NEXT:    movq %rdx, 120(%rcx)
5923; X64-NEXT:    addq $240, %rsp
5924; X64-NEXT:    popq %rbx
5925; X64-NEXT:    popq %r12
5926; X64-NEXT:    popq %r13
5927; X64-NEXT:    popq %r14
5928; X64-NEXT:    popq %r15
5929; X64-NEXT:    popq %rbp
5930; X64-NEXT:    retq
5931  %av = load i1024, i1024* %a
5932  %bv = load i1024, i1024* %b
5933  %r = mul i1024 %av, %bv
5934  store i1024 %r, i1024* %out
5935  ret void
5936}
5937