Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / mul-i1024.ll
blob6829356bf107eb04bfa08c130a280548002eda53
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
5 define void @test_1024(ptr %a, ptr %b, ptr %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), %edx
14 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
15 ; X32-NEXT:    movl 60(%eax), %ebp
16 ; X32-NEXT:    movl 56(%eax), %eax
17 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
18 ; X32-NEXT:    movl (%edx), %esi
19 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
20 ; X32-NEXT:    movl %edx, %ebx
21 ; X32-NEXT:    mull %esi
22 ; X32-NEXT:    movl %edx, %edi
23 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
24 ; X32-NEXT:    movl %ebp, %eax
25 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
26 ; X32-NEXT:    mull %esi
27 ; X32-NEXT:    movl %edx, %ecx
28 ; X32-NEXT:    movl %eax, %esi
29 ; X32-NEXT:    addl %edi, %esi
30 ; X32-NEXT:    adcl $0, %ecx
31 ; X32-NEXT:    movl 4(%ebx), %ebx
32 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
33 ; X32-NEXT:    mull %ebx
34 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
35 ; X32-NEXT:    movl %edx, %edi
36 ; X32-NEXT:    addl %esi, %eax
37 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
38 ; X32-NEXT:    adcl %ecx, %edi
39 ; X32-NEXT:    setb %cl
40 ; X32-NEXT:    movl %ebp, %eax
41 ; X32-NEXT:    mull %ebx
42 ; X32-NEXT:    addl %edi, %eax
43 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
44 ; X32-NEXT:    movzbl %cl, %eax
45 ; X32-NEXT:    adcl %eax, %edx
46 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
47 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
48 ; X32-NEXT:    movl 48(%ecx), %ebx
49 ; X32-NEXT:    movl %ebx, %eax
50 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
51 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
52 ; X32-NEXT:    mull %ebp
53 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
54 ; X32-NEXT:    movl %edx, %edi
55 ; X32-NEXT:    movl 52(%ecx), %eax
56 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
57 ; X32-NEXT:    mull %ebp
58 ; X32-NEXT:    movl %edx, %ecx
59 ; X32-NEXT:    movl %eax, %esi
60 ; X32-NEXT:    addl %edi, %esi
61 ; X32-NEXT:    adcl $0, %ecx
62 ; X32-NEXT:    movl %ebx, %eax
63 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
64 ; X32-NEXT:    mull %edi
65 ; X32-NEXT:    movl %edx, %ebp
66 ; X32-NEXT:    addl %esi, %eax
67 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
68 ; X32-NEXT:    adcl %ecx, %ebp
69 ; X32-NEXT:    setb %bl
70 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
71 ; X32-NEXT:    movl %esi, %eax
72 ; X32-NEXT:    mull %edi
73 ; X32-NEXT:    addl %ebp, %eax
74 ; X32-NEXT:    movzbl %bl, %ecx
75 ; X32-NEXT:    adcl %ecx, %edx
76 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
77 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
78 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
79 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
80 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
81 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
82 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
83 ; X32-NEXT:    movl 8(%eax), %ecx
84 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
85 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
86 ; X32-NEXT:    movl %edi, %eax
87 ; X32-NEXT:    mull %ecx
88 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
89 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
90 ; X32-NEXT:    movl %esi, %eax
91 ; X32-NEXT:    mull %ecx
92 ; X32-NEXT:    movl %edx, %ebx
93 ; X32-NEXT:    movl %eax, %ebp
94 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
95 ; X32-NEXT:    adcl $0, %ebx
96 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
97 ; X32-NEXT:    movl 12(%eax), %ecx
98 ; X32-NEXT:    movl %edi, %eax
99 ; X32-NEXT:    mull %ecx
100 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
101 ; X32-NEXT:    movl %edx, %esi
102 ; X32-NEXT:    addl %ebp, %eax
103 ; X32-NEXT:    movl %eax, %edi
104 ; X32-NEXT:    adcl %ebx, %esi
105 ; X32-NEXT:    setb %bl
106 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
107 ; X32-NEXT:    mull %ecx
108 ; X32-NEXT:    movl %eax, %ebp
109 ; X32-NEXT:    addl %esi, %ebp
110 ; X32-NEXT:    movzbl %bl, %eax
111 ; X32-NEXT:    adcl %eax, %edx
112 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
113 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
114 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
115 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
116 ; X32-NEXT:    adcl $0, %ebp
117 ; X32-NEXT:    adcl $0, %edx
118 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 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), %esi # 4-byte Reload
123 ; X32-NEXT:    movl %esi, %eax
124 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
125 ; X32-NEXT:    mull %ecx
126 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 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 %ecx
130 ; X32-NEXT:    movl %edx, %ebx
131 ; X32-NEXT:    movl %eax, %edi
132 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
133 ; X32-NEXT:    adcl $0, %ebx
134 ; X32-NEXT:    movl %esi, %eax
135 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
136 ; X32-NEXT:    mull %ecx
137 ; X32-NEXT:    movl %edx, %esi
138 ; X32-NEXT:    addl %edi, %eax
139 ; X32-NEXT:    movl %eax, %edi
140 ; X32-NEXT:    adcl %ebx, %esi
141 ; X32-NEXT:    setb %bl
142 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
143 ; X32-NEXT:    mull %ecx
144 ; X32-NEXT:    addl %esi, %eax
145 ; X32-NEXT:    movl %eax, %esi
146 ; X32-NEXT:    movzbl %bl, %eax
147 ; X32-NEXT:    adcl %eax, %edx
148 ; X32-NEXT:    addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
149 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
150 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
151 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
152 ; X32-NEXT:    adcl %eax, %esi
153 ; X32-NEXT:    movl %esi, {{[-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), %ecx
157 ; X32-NEXT:    movl 40(%ecx), %ebx
158 ; X32-NEXT:    movl %ebx, %eax
159 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
160 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
161 ; X32-NEXT:    mull %esi
162 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
163 ; X32-NEXT:    movl %edx, %edi
164 ; X32-NEXT:    movl 44(%ecx), %ebp
165 ; X32-NEXT:    movl %ebp, %eax
166 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
167 ; X32-NEXT:    mull %esi
168 ; X32-NEXT:    movl %edx, %ecx
169 ; X32-NEXT:    movl %eax, %esi
170 ; X32-NEXT:    addl %edi, %esi
171 ; X32-NEXT:    adcl $0, %ecx
172 ; X32-NEXT:    movl %ebx, %eax
173 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
174 ; X32-NEXT:    mull %ebx
175 ; X32-NEXT:    movl %edx, %edi
176 ; X32-NEXT:    addl %esi, %eax
177 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
178 ; X32-NEXT:    adcl %ecx, %edi
179 ; X32-NEXT:    setb %cl
180 ; X32-NEXT:    movl %ebp, %eax
181 ; X32-NEXT:    mull %ebx
182 ; X32-NEXT:    addl %edi, %eax
183 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
184 ; X32-NEXT:    movzbl %cl, %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), %ecx
188 ; X32-NEXT:    movl 32(%ecx), %ebp
189 ; X32-NEXT:    movl %ebp, %eax
190 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
191 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
192 ; X32-NEXT:    mull %esi
193 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
194 ; X32-NEXT:    movl %edx, %edi
195 ; X32-NEXT:    movl 36(%ecx), %eax
196 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
197 ; X32-NEXT:    mull %esi
198 ; X32-NEXT:    movl %edx, %ecx
199 ; X32-NEXT:    movl %eax, %esi
200 ; X32-NEXT:    addl %edi, %esi
201 ; X32-NEXT:    adcl $0, %ecx
202 ; X32-NEXT:    movl %ebp, %eax
203 ; X32-NEXT:    mull %ebx
204 ; X32-NEXT:    movl %ebx, %ebp
205 ; X32-NEXT:    movl %edx, %ebx
206 ; X32-NEXT:    addl %esi, %eax
207 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
208 ; X32-NEXT:    adcl %ecx, %ebx
209 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
210 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
211 ; X32-NEXT:    movl %edi, %eax
212 ; X32-NEXT:    mull %ebp
213 ; X32-NEXT:    movl %eax, %ecx
214 ; X32-NEXT:    addl %ebx, %ecx
215 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
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, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
221 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
222 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
223 ; X32-NEXT:    movl %esi, %eax
224 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
225 ; X32-NEXT:    mull %ebx
226 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
227 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
228 ; X32-NEXT:    movl %edi, %eax
229 ; X32-NEXT:    mull %ebx
230 ; X32-NEXT:    movl %edx, %ebx
231 ; X32-NEXT:    movl %eax, %ebp
232 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
233 ; X32-NEXT:    adcl $0, %ebx
234 ; X32-NEXT:    movl %esi, %eax
235 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
236 ; X32-NEXT:    mull %edi
237 ; X32-NEXT:    movl %edx, %esi
238 ; X32-NEXT:    addl %ebp, %eax
239 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
240 ; X32-NEXT:    adcl %ebx, %esi
241 ; X32-NEXT:    setb %bl
242 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
243 ; X32-NEXT:    mull %edi
244 ; X32-NEXT:    movl %eax, %ebp
245 ; X32-NEXT:    addl %esi, %ebp
246 ; X32-NEXT:    movzbl %bl, %eax
247 ; X32-NEXT:    adcl %eax, %edx
248 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
249 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
250 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
251 ; X32-NEXT:    adcl $0, %ebp
252 ; X32-NEXT:    adcl $0, %edx
253 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
254 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
255 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
256 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
257 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
258 ; X32-NEXT:    movl %ebx, %eax
259 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
260 ; X32-NEXT:    mull %ecx
261 ; X32-NEXT:    movl %edx, %esi
262 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
263 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
264 ; X32-NEXT:    mull %ecx
265 ; X32-NEXT:    movl %edx, %ecx
266 ; X32-NEXT:    movl %eax, %edi
267 ; X32-NEXT:    addl %esi, %edi
268 ; X32-NEXT:    adcl $0, %ecx
269 ; X32-NEXT:    movl %ebx, %eax
270 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
271 ; X32-NEXT:    mull %ebx
272 ; X32-NEXT:    movl %edx, %esi
273 ; X32-NEXT:    addl %edi, %eax
274 ; X32-NEXT:    movl %eax, %edi
275 ; X32-NEXT:    adcl %ecx, %esi
276 ; X32-NEXT:    setb %cl
277 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
278 ; X32-NEXT:    mull %ebx
279 ; X32-NEXT:    addl %esi, %eax
280 ; X32-NEXT:    movzbl %cl, %ecx
281 ; X32-NEXT:    movl %edx, %esi
282 ; X32-NEXT:    adcl %ecx, %esi
283 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
284 ; X32-NEXT:    addl %ebp, %ecx
285 ; X32-NEXT:    movl %edi, %edx
286 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 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, %esi
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), %edx # 4-byte Folded Reload
293 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 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), %esi # 4-byte Folded Reload
297 ; X32-NEXT:    movl %esi, {{[-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), %esi
304 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
305 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
306 ; X32-NEXT:    movl %edi, %eax
307 ; X32-NEXT:    mull %esi
308 ; X32-NEXT:    movl %edx, %ecx
309 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
310 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
311 ; X32-NEXT:    movl %ebp, %eax
312 ; X32-NEXT:    mull %esi
313 ; X32-NEXT:    movl %edx, %esi
314 ; X32-NEXT:    movl %eax, %ebx
315 ; X32-NEXT:    addl %ecx, %ebx
316 ; X32-NEXT:    adcl $0, %esi
317 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
318 ; X32-NEXT:    movl 20(%eax), %ecx
319 ; X32-NEXT:    movl %edi, %eax
320 ; X32-NEXT:    mull %ecx
321 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
322 ; X32-NEXT:    movl %edx, %edi
323 ; X32-NEXT:    addl %ebx, %eax
324 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
325 ; X32-NEXT:    adcl %esi, %edi
326 ; X32-NEXT:    setb %bl
327 ; X32-NEXT:    movl %ebp, %eax
328 ; X32-NEXT:    mull %ecx
329 ; X32-NEXT:    addl %edi, %eax
330 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
331 ; X32-NEXT:    movzbl %bl, %eax
332 ; X32-NEXT:    adcl %eax, %edx
333 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
334 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
335 ; X32-NEXT:    movl %ebp, %eax
336 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
337 ; X32-NEXT:    mull %esi
338 ; X32-NEXT:    movl %edx, %ebx
339 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
340 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
341 ; X32-NEXT:    movl %ecx, %eax
342 ; X32-NEXT:    mull %esi
343 ; X32-NEXT:    movl %edx, %esi
344 ; X32-NEXT:    movl %eax, %edi
345 ; X32-NEXT:    addl %ebx, %edi
346 ; X32-NEXT:    adcl $0, %esi
347 ; X32-NEXT:    movl %ebp, %eax
348 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
349 ; X32-NEXT:    mull %ebx
350 ; X32-NEXT:    movl %edx, %ebp
351 ; X32-NEXT:    addl %edi, %eax
352 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
353 ; X32-NEXT:    adcl %esi, %ebp
354 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
355 ; X32-NEXT:    movl %ecx, %eax
356 ; X32-NEXT:    mull %ebx
357 ; X32-NEXT:    addl %ebp, %eax
358 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 1-byte Folded Reload
359 ; X32-NEXT:    adcl %esi, %edx
360 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
361 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
362 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
363 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
364 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
365 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
366 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
367 ; X32-NEXT:    movl 24(%eax), %edi
368 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
369 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
370 ; X32-NEXT:    movl %esi, %eax
371 ; X32-NEXT:    mull %edi
372 ; X32-NEXT:    movl %edx, %ebx
373 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
374 ; X32-NEXT:    movl %ecx, %eax
375 ; X32-NEXT:    mull %edi
376 ; X32-NEXT:    movl %edx, %ecx
377 ; X32-NEXT:    movl %eax, %ebp
378 ; X32-NEXT:    addl %ebx, %ebp
379 ; X32-NEXT:    adcl $0, %ecx
380 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
381 ; X32-NEXT:    movl 28(%eax), %edi
382 ; X32-NEXT:    movl %esi, %eax
383 ; X32-NEXT:    mull %edi
384 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
385 ; X32-NEXT:    movl %edx, %ebx
386 ; X32-NEXT:    addl %ebp, %eax
387 ; X32-NEXT:    movl %eax, %esi
388 ; X32-NEXT:    adcl %ecx, %ebx
389 ; X32-NEXT:    setb %cl
390 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
391 ; X32-NEXT:    mull %edi
392 ; X32-NEXT:    movl %eax, %ebp
393 ; X32-NEXT:    addl %ebx, %ebp
394 ; X32-NEXT:    movzbl %cl, %eax
395 ; X32-NEXT:    adcl %eax, %edx
396 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
397 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
398 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
399 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
400 ; X32-NEXT:    adcl $0, %ebp
401 ; X32-NEXT:    adcl $0, %edx
402 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
403 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
404 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
405 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
406 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
407 ; X32-NEXT:    movl %edi, %eax
408 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
409 ; X32-NEXT:    mull %ecx
410 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
411 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
412 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
413 ; X32-NEXT:    mull %ecx
414 ; X32-NEXT:    movl %edx, %esi
415 ; X32-NEXT:    movl %eax, %ebx
416 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
417 ; X32-NEXT:    adcl $0, %esi
418 ; X32-NEXT:    movl %edi, %eax
419 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
420 ; X32-NEXT:    mull %ecx
421 ; X32-NEXT:    movl %edx, %edi
422 ; X32-NEXT:    addl %ebx, %eax
423 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
424 ; X32-NEXT:    adcl %esi, %edi
425 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
426 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
427 ; X32-NEXT:    mull %ecx
428 ; X32-NEXT:    movl %eax, %ebx
429 ; X32-NEXT:    addl %edi, %ebx
430 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
431 ; X32-NEXT:    movl %edx, %esi
432 ; X32-NEXT:    adcl %eax, %esi
433 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
434 ; X32-NEXT:    addl %ebp, %edx
435 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
436 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
437 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
438 ; X32-NEXT:    adcl %eax, %ebx
439 ; X32-NEXT:    adcl $0, %esi
440 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
441 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
442 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
443 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
444 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
445 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
446 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
447 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
448 ; X32-NEXT:    movl %edx, %eax
449 ; X32-NEXT:    adcl $0, %eax
450 ; X32-NEXT:    adcl $0, %ecx
451 ; X32-NEXT:    adcl $0, %ebx
452 ; X32-NEXT:    adcl $0, %esi
453 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
454 ; X32-NEXT:    movl %eax, {{[-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), %ebx # 4-byte Folded Reload
458 ; X32-NEXT:    movl %ebx, {{[-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 {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
462 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
463 ; X32-NEXT:    movl %ebx, %eax
464 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
465 ; X32-NEXT:    mull %ecx
466 ; X32-NEXT:    movl %edx, %edi
467 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
468 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
469 ; X32-NEXT:    movl %ebp, %eax
470 ; X32-NEXT:    mull %ecx
471 ; X32-NEXT:    movl %edx, %ecx
472 ; X32-NEXT:    movl %eax, %esi
473 ; X32-NEXT:    addl %edi, %esi
474 ; X32-NEXT:    adcl $0, %ecx
475 ; X32-NEXT:    movl %ebx, %eax
476 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
477 ; X32-NEXT:    mull %ebx
478 ; X32-NEXT:    movl %edx, %edi
479 ; X32-NEXT:    addl %esi, %eax
480 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
481 ; X32-NEXT:    adcl %ecx, %edi
482 ; X32-NEXT:    setb %cl
483 ; X32-NEXT:    movl %ebp, %eax
484 ; X32-NEXT:    mull %ebx
485 ; X32-NEXT:    addl %edi, %eax
486 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
487 ; X32-NEXT:    movzbl %cl, %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), %ebx # 4-byte Reload
491 ; X32-NEXT:    movl %ebx, %eax
492 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
493 ; X32-NEXT:    mull %ecx
494 ; X32-NEXT:    movl %edx, %edi
495 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
496 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
497 ; X32-NEXT:    movl %ebp, %eax
498 ; X32-NEXT:    mull %ecx
499 ; X32-NEXT:    movl %edx, %ecx
500 ; X32-NEXT:    movl %eax, %esi
501 ; X32-NEXT:    addl %edi, %esi
502 ; X32-NEXT:    adcl $0, %ecx
503 ; X32-NEXT:    movl %ebx, %eax
504 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
505 ; X32-NEXT:    mull %edi
506 ; X32-NEXT:    movl %edx, %ebx
507 ; X32-NEXT:    addl %esi, %eax
508 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
509 ; X32-NEXT:    adcl %ecx, %ebx
510 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
511 ; X32-NEXT:    movl %ebp, %eax
512 ; X32-NEXT:    mull %edi
513 ; X32-NEXT:    movl %eax, %ecx
514 ; X32-NEXT:    addl %ebx, %ecx
515 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
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), %esi # 4-byte Reload
523 ; X32-NEXT:    movl %esi, %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 %ebp, %eax
529 ; X32-NEXT:    mull %edi
530 ; X32-NEXT:    movl %edx, %ebx
531 ; X32-NEXT:    movl %eax, %ebp
532 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
533 ; X32-NEXT:    adcl $0, %ebx
534 ; X32-NEXT:    movl %esi, %eax
535 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
536 ; X32-NEXT:    mull %edi
537 ; X32-NEXT:    movl %edx, %esi
538 ; X32-NEXT:    addl %ebp, %eax
539 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
540 ; X32-NEXT:    adcl %ebx, %esi
541 ; X32-NEXT:    setb %bl
542 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
543 ; X32-NEXT:    mull %edi
544 ; X32-NEXT:    movl %eax, %ebp
545 ; X32-NEXT:    addl %esi, %ebp
546 ; X32-NEXT:    movzbl %bl, %eax
547 ; X32-NEXT:    adcl %eax, %edx
548 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
549 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
550 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
551 ; X32-NEXT:    adcl $0, %ebp
552 ; X32-NEXT:    adcl $0, %edx
553 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
554 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
555 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
556 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
557 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
558 ; X32-NEXT:    movl %esi, %eax
559 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
560 ; X32-NEXT:    mull %ecx
561 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
562 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
563 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
564 ; X32-NEXT:    mull %ecx
565 ; X32-NEXT:    movl %edx, %ebx
566 ; X32-NEXT:    movl %eax, %edi
567 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
568 ; X32-NEXT:    adcl $0, %ebx
569 ; X32-NEXT:    movl %esi, %eax
570 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
571 ; X32-NEXT:    mull %ecx
572 ; X32-NEXT:    movl %edx, %esi
573 ; X32-NEXT:    addl %edi, %eax
574 ; X32-NEXT:    movl %eax, %edi
575 ; X32-NEXT:    adcl %ebx, %esi
576 ; X32-NEXT:    setb %bl
577 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
578 ; X32-NEXT:    mull %ecx
579 ; X32-NEXT:    addl %esi, %eax
580 ; X32-NEXT:    movl %eax, %esi
581 ; X32-NEXT:    movzbl %bl, %eax
582 ; X32-NEXT:    adcl %eax, %edx
583 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
584 ; X32-NEXT:    addl %ebp, %ecx
585 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
586 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
587 ; X32-NEXT:    adcl %eax, %esi
588 ; X32-NEXT:    adcl $0, %edx
589 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
590 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
591 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
592 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
593 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
594 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
595 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
596 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
597 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
598 ; X32-NEXT:    adcl %eax, %ecx
599 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
600 ; X32-NEXT:    adcl $0, %edi
601 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
602 ; X32-NEXT:    adcl $0, %esi
603 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
604 ; X32-NEXT:    adcl $0, %edx
605 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
606 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
607 ; X32-NEXT:    movl 24(%ecx), %ebx
608 ; X32-NEXT:    movl %ebx, %eax
609 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
610 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
611 ; X32-NEXT:    mull %edi
612 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
613 ; X32-NEXT:    movl %edx, %esi
614 ; X32-NEXT:    movl 28(%ecx), %ebp
615 ; X32-NEXT:    movl %ebp, %eax
616 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
617 ; X32-NEXT:    mull %edi
618 ; X32-NEXT:    movl %edx, %ecx
619 ; X32-NEXT:    movl %eax, %edi
620 ; X32-NEXT:    addl %esi, %edi
621 ; X32-NEXT:    adcl $0, %ecx
622 ; X32-NEXT:    movl %ebx, %eax
623 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
624 ; X32-NEXT:    mull %ebx
625 ; X32-NEXT:    movl %edx, %esi
626 ; X32-NEXT:    addl %edi, %eax
627 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
628 ; X32-NEXT:    adcl %ecx, %esi
629 ; X32-NEXT:    setb %cl
630 ; X32-NEXT:    movl %ebp, %eax
631 ; X32-NEXT:    mull %ebx
632 ; X32-NEXT:    movl %ebx, %ebp
633 ; X32-NEXT:    addl %esi, %eax
634 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
635 ; X32-NEXT:    movzbl %cl, %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), %ecx
639 ; X32-NEXT:    movl 16(%ecx), %ebx
640 ; X32-NEXT:    movl %ebx, %eax
641 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
642 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
643 ; X32-NEXT:    mull %esi
644 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
645 ; X32-NEXT:    movl %edx, %edi
646 ; X32-NEXT:    movl 20(%ecx), %eax
647 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
648 ; X32-NEXT:    mull %esi
649 ; X32-NEXT:    movl %edx, %ecx
650 ; X32-NEXT:    movl %eax, %esi
651 ; X32-NEXT:    addl %edi, %esi
652 ; X32-NEXT:    adcl $0, %ecx
653 ; X32-NEXT:    movl %ebx, %eax
654 ; X32-NEXT:    mull %ebp
655 ; X32-NEXT:    movl %ebp, %ebx
656 ; X32-NEXT:    movl %edx, %ebp
657 ; X32-NEXT:    addl %esi, %eax
658 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
659 ; X32-NEXT:    adcl %ecx, %ebp
660 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
661 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
662 ; X32-NEXT:    movl %edi, %eax
663 ; X32-NEXT:    mull %ebx
664 ; X32-NEXT:    movl %eax, %ecx
665 ; X32-NEXT:    addl %ebp, %ecx
666 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
667 ; X32-NEXT:    adcl %eax, %edx
668 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
669 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
670 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
671 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
672 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
673 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
674 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
675 ; X32-NEXT:    mull %esi
676 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
677 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
678 ; X32-NEXT:    movl %edi, %eax
679 ; X32-NEXT:    mull %esi
680 ; X32-NEXT:    movl %edx, %ebx
681 ; X32-NEXT:    movl %eax, %ebp
682 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
683 ; X32-NEXT:    adcl $0, %ebx
684 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
685 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
686 ; X32-NEXT:    mull %esi
687 ; X32-NEXT:    movl %edx, %edi
688 ; X32-NEXT:    addl %ebp, %eax
689 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
690 ; X32-NEXT:    adcl %ebx, %edi
691 ; X32-NEXT:    setb %bl
692 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
693 ; X32-NEXT:    mull %esi
694 ; X32-NEXT:    movl %eax, %ebp
695 ; X32-NEXT:    addl %edi, %ebp
696 ; X32-NEXT:    movzbl %bl, %eax
697 ; X32-NEXT:    adcl %eax, %edx
698 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
699 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
700 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
701 ; X32-NEXT:    adcl $0, %ebp
702 ; X32-NEXT:    adcl $0, %edx
703 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
704 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
705 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
706 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
707 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
708 ; X32-NEXT:    movl %esi, %eax
709 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
710 ; X32-NEXT:    mull %ecx
711 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
712 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
713 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
714 ; X32-NEXT:    mull %ecx
715 ; X32-NEXT:    movl %edx, %ebx
716 ; X32-NEXT:    movl %eax, %edi
717 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
718 ; X32-NEXT:    adcl $0, %ebx
719 ; X32-NEXT:    movl %esi, %eax
720 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
721 ; X32-NEXT:    mull %ecx
722 ; X32-NEXT:    movl %edx, %esi
723 ; X32-NEXT:    addl %edi, %eax
724 ; X32-NEXT:    movl %eax, %edi
725 ; X32-NEXT:    adcl %ebx, %esi
726 ; X32-NEXT:    setb %bl
727 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
728 ; X32-NEXT:    mull %ecx
729 ; X32-NEXT:    addl %esi, %eax
730 ; X32-NEXT:    movl %eax, %esi
731 ; X32-NEXT:    movzbl %bl, %eax
732 ; X32-NEXT:    adcl %eax, %edx
733 ; X32-NEXT:    addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
734 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
735 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
736 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
737 ; X32-NEXT:    adcl %eax, %esi
738 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
739 ; X32-NEXT:    adcl $0, %edx
740 ; X32-NEXT:    movl %edx, (%esp) # 4-byte Spill
741 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
742 ; X32-NEXT:    movl 8(%ecx), %ebx
743 ; X32-NEXT:    movl %ebx, %eax
744 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
745 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
746 ; X32-NEXT:    mull %esi
747 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
748 ; X32-NEXT:    movl %edx, %edi
749 ; X32-NEXT:    movl 12(%ecx), %ebp
750 ; X32-NEXT:    movl %ebp, %eax
751 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
752 ; X32-NEXT:    mull %esi
753 ; X32-NEXT:    movl %edx, %ecx
754 ; X32-NEXT:    movl %eax, %esi
755 ; X32-NEXT:    addl %edi, %esi
756 ; X32-NEXT:    adcl $0, %ecx
757 ; X32-NEXT:    movl %ebx, %eax
758 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
759 ; X32-NEXT:    mull %edi
760 ; X32-NEXT:    movl %edx, %ebx
761 ; X32-NEXT:    addl %esi, %eax
762 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
763 ; X32-NEXT:    adcl %ecx, %ebx
764 ; X32-NEXT:    setb %cl
765 ; X32-NEXT:    movl %ebp, %eax
766 ; X32-NEXT:    mull %edi
767 ; X32-NEXT:    addl %ebx, %eax
768 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
769 ; X32-NEXT:    movzbl %cl, %eax
770 ; X32-NEXT:    adcl %eax, %edx
771 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
772 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
773 ; X32-NEXT:    movl (%ecx), %ebx
774 ; X32-NEXT:    movl %ebx, %eax
775 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
776 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
777 ; X32-NEXT:    mull %edi
778 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
779 ; X32-NEXT:    movl %edx, %esi
780 ; X32-NEXT:    movl 4(%ecx), %ebp
781 ; X32-NEXT:    movl %ebp, %eax
782 ; X32-NEXT:    mull %edi
783 ; X32-NEXT:    movl %edx, %ecx
784 ; X32-NEXT:    movl %eax, %edi
785 ; X32-NEXT:    addl %esi, %edi
786 ; X32-NEXT:    adcl $0, %ecx
787 ; X32-NEXT:    movl %ebx, %eax
788 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
789 ; X32-NEXT:    mull %ebx
790 ; X32-NEXT:    movl %edx, %esi
791 ; X32-NEXT:    addl %edi, %eax
792 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
793 ; X32-NEXT:    adcl %ecx, %esi
794 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
795 ; X32-NEXT:    movl %ebp, %eax
796 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
797 ; X32-NEXT:    mull %ebx
798 ; X32-NEXT:    movl %eax, %ecx
799 ; X32-NEXT:    addl %esi, %ecx
800 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
801 ; X32-NEXT:    adcl %eax, %edx
802 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
803 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
804 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
805 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
806 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
807 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
808 ; X32-NEXT:    movl %ebx, %eax
809 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
810 ; X32-NEXT:    mull %esi
811 ; X32-NEXT:    movl %edx, %edi
812 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
813 ; X32-NEXT:    movl %ebp, %eax
814 ; X32-NEXT:    mull %esi
815 ; X32-NEXT:    movl %edx, %esi
816 ; X32-NEXT:    movl %eax, %ebp
817 ; X32-NEXT:    addl %edi, %ebp
818 ; X32-NEXT:    adcl $0, %esi
819 ; X32-NEXT:    movl %ebx, %eax
820 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
821 ; X32-NEXT:    mull %ebx
822 ; X32-NEXT:    movl %edx, %edi
823 ; X32-NEXT:    addl %ebp, %eax
824 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
825 ; X32-NEXT:    adcl %esi, %edi
826 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
827 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
828 ; X32-NEXT:    mull %ebx
829 ; X32-NEXT:    movl %eax, %esi
830 ; X32-NEXT:    addl %edi, %esi
831 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
832 ; X32-NEXT:    adcl %eax, %edx
833 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
834 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
835 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
836 ; X32-NEXT:    adcl $0, %esi
837 ; X32-NEXT:    adcl $0, %edx
838 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
839 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
840 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
841 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
842 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
843 ; X32-NEXT:    movl %ebp, %eax
844 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
845 ; X32-NEXT:    mull %ecx
846 ; X32-NEXT:    movl %edx, %edi
847 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
848 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
849 ; X32-NEXT:    mull %ecx
850 ; X32-NEXT:    movl %edx, %ecx
851 ; X32-NEXT:    movl %eax, %ebx
852 ; X32-NEXT:    addl %edi, %ebx
853 ; X32-NEXT:    adcl $0, %ecx
854 ; X32-NEXT:    movl %ebp, %eax
855 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
856 ; X32-NEXT:    mull %ebp
857 ; X32-NEXT:    movl %edx, %edi
858 ; X32-NEXT:    addl %ebx, %eax
859 ; X32-NEXT:    movl %eax, %ebx
860 ; X32-NEXT:    adcl %ecx, %edi
861 ; X32-NEXT:    setb %cl
862 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
863 ; X32-NEXT:    mull %ebp
864 ; X32-NEXT:    addl %edi, %eax
865 ; X32-NEXT:    movzbl %cl, %ecx
866 ; X32-NEXT:    movl %edx, %edi
867 ; X32-NEXT:    adcl %ecx, %edi
868 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
869 ; X32-NEXT:    addl %esi, %ecx
870 ; X32-NEXT:    movl %ebx, %edx
871 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
872 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 1-byte Folded Reload
873 ; X32-NEXT:    adcl %esi, %eax
874 ; X32-NEXT:    adcl $0, %edi
875 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
876 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
877 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
878 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
879 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
880 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
881 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
882 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
883 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded 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, (%esp) # 4-byte Folded Spill
887 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
888 ; X32-NEXT:    movl %ebx, %eax
889 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
890 ; X32-NEXT:    mull %esi
891 ; X32-NEXT:    movl %edx, %ebp
892 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
893 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
894 ; X32-NEXT:    movl %ecx, %eax
895 ; X32-NEXT:    mull %esi
896 ; X32-NEXT:    movl %edx, %esi
897 ; X32-NEXT:    movl %eax, %edi
898 ; X32-NEXT:    addl %ebp, %edi
899 ; X32-NEXT:    adcl $0, %esi
900 ; X32-NEXT:    movl %ebx, %eax
901 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
902 ; X32-NEXT:    mull %ebp
903 ; X32-NEXT:    movl %edx, %ebx
904 ; X32-NEXT:    addl %edi, %eax
905 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
906 ; X32-NEXT:    adcl %esi, %ebx
907 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
908 ; X32-NEXT:    movl %ecx, %eax
909 ; X32-NEXT:    mull %ebp
910 ; X32-NEXT:    addl %ebx, %eax
911 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
912 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
913 ; X32-NEXT:    adcl %eax, %edx
914 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
915 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
916 ; X32-NEXT:    movl %ebp, %eax
917 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
918 ; X32-NEXT:    mull %esi
919 ; X32-NEXT:    movl %edx, %ebx
920 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
921 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
922 ; X32-NEXT:    movl %ecx, %eax
923 ; X32-NEXT:    mull %esi
924 ; X32-NEXT:    movl %edx, %esi
925 ; X32-NEXT:    movl %eax, %edi
926 ; X32-NEXT:    addl %ebx, %edi
927 ; X32-NEXT:    adcl $0, %esi
928 ; X32-NEXT:    movl %ebp, %eax
929 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
930 ; X32-NEXT:    mull %ebx
931 ; X32-NEXT:    movl %edx, %ebp
932 ; X32-NEXT:    addl %edi, %eax
933 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
934 ; X32-NEXT:    adcl %esi, %ebp
935 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
936 ; X32-NEXT:    movl %ecx, %eax
937 ; X32-NEXT:    movl %ecx, %esi
938 ; X32-NEXT:    mull %ebx
939 ; X32-NEXT:    addl %ebp, %eax
940 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
941 ; X32-NEXT:    adcl %ecx, %edx
942 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
943 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
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), %ebx # 4-byte Reload
949 ; X32-NEXT:    movl %ebx, %eax
950 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
951 ; X32-NEXT:    mull %ecx
952 ; X32-NEXT:    movl %edx, %edi
953 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
954 ; X32-NEXT:    movl %esi, %eax
955 ; X32-NEXT:    mull %ecx
956 ; X32-NEXT:    movl %edx, %ecx
957 ; X32-NEXT:    movl %eax, %ebp
958 ; X32-NEXT:    addl %edi, %ebp
959 ; X32-NEXT:    adcl $0, %ecx
960 ; X32-NEXT:    movl %ebx, %eax
961 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
962 ; X32-NEXT:    mull %ebx
963 ; X32-NEXT:    movl %edx, %edi
964 ; X32-NEXT:    addl %ebp, %eax
965 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
966 ; X32-NEXT:    adcl %ecx, %edi
967 ; X32-NEXT:    setb %cl
968 ; X32-NEXT:    movl %esi, %eax
969 ; X32-NEXT:    mull %ebx
970 ; X32-NEXT:    movl %eax, %ebp
971 ; X32-NEXT:    addl %edi, %ebp
972 ; X32-NEXT:    movzbl %cl, %eax
973 ; X32-NEXT:    adcl %eax, %edx
974 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
975 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
976 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
977 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
978 ; X32-NEXT:    adcl $0, %ebp
979 ; X32-NEXT:    adcl $0, %edx
980 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
981 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
982 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
983 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
984 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
985 ; X32-NEXT:    movl %edi, %eax
986 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
987 ; X32-NEXT:    mull %ecx
988 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
989 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
990 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
991 ; X32-NEXT:    mull %ecx
992 ; X32-NEXT:    movl %edx, %esi
993 ; X32-NEXT:    movl %eax, %ebx
994 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
995 ; X32-NEXT:    adcl $0, %esi
996 ; X32-NEXT:    movl %edi, %eax
997 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
998 ; X32-NEXT:    mull %ecx
999 ; X32-NEXT:    movl %edx, %edi
1000 ; X32-NEXT:    addl %ebx, %eax
1001 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1002 ; X32-NEXT:    adcl %esi, %edi
1003 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1004 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1005 ; X32-NEXT:    mull %ecx
1006 ; X32-NEXT:    movl %eax, %ebx
1007 ; X32-NEXT:    addl %edi, %ebx
1008 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1009 ; X32-NEXT:    movl %edx, %esi
1010 ; X32-NEXT:    adcl %eax, %esi
1011 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
1012 ; X32-NEXT:    addl %ebp, %edx
1013 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1014 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1015 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1016 ; X32-NEXT:    adcl %eax, %ebx
1017 ; X32-NEXT:    adcl $0, %esi
1018 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1019 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1020 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1021 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1022 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1023 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1024 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1025 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1026 ; X32-NEXT:    movl %edx, %eax
1027 ; X32-NEXT:    adcl $0, %eax
1028 ; X32-NEXT:    adcl $0, %ecx
1029 ; X32-NEXT:    adcl $0, %ebx
1030 ; X32-NEXT:    adcl $0, %esi
1031 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1032 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1033 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1034 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1035 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1036 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1037 ; X32-NEXT:    adcl (%esp), %esi # 4-byte Folded Reload
1038 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1039 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1040 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1041 ; X32-NEXT:    movl %ebp, %eax
1042 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1043 ; X32-NEXT:    mull %ecx
1044 ; X32-NEXT:    movl %edx, %esi
1045 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1046 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1047 ; X32-NEXT:    movl %ebx, %eax
1048 ; X32-NEXT:    mull %ecx
1049 ; X32-NEXT:    movl %edx, %ecx
1050 ; X32-NEXT:    movl %eax, %edi
1051 ; X32-NEXT:    addl %esi, %edi
1052 ; X32-NEXT:    adcl $0, %ecx
1053 ; X32-NEXT:    movl %ebp, %eax
1054 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1055 ; X32-NEXT:    mull %ebp
1056 ; X32-NEXT:    movl %edx, %esi
1057 ; X32-NEXT:    addl %edi, %eax
1058 ; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
1059 ; X32-NEXT:    adcl %ecx, %esi
1060 ; X32-NEXT:    setb %cl
1061 ; X32-NEXT:    movl %ebx, %eax
1062 ; X32-NEXT:    mull %ebp
1063 ; X32-NEXT:    movl %ebp, %ebx
1064 ; X32-NEXT:    addl %esi, %eax
1065 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1066 ; X32-NEXT:    movzbl %cl, %eax
1067 ; X32-NEXT:    adcl %eax, %edx
1068 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1069 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1070 ; X32-NEXT:    movl %esi, %eax
1071 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1072 ; X32-NEXT:    mull %ecx
1073 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1074 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1075 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1076 ; X32-NEXT:    movl %ebp, %eax
1077 ; X32-NEXT:    mull %ecx
1078 ; X32-NEXT:    movl %edx, %ecx
1079 ; X32-NEXT:    movl %eax, %edi
1080 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1081 ; X32-NEXT:    adcl $0, %ecx
1082 ; X32-NEXT:    movl %esi, %eax
1083 ; X32-NEXT:    mull %ebx
1084 ; X32-NEXT:    movl %edx, %esi
1085 ; X32-NEXT:    addl %edi, %eax
1086 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1087 ; X32-NEXT:    adcl %ecx, %esi
1088 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1089 ; X32-NEXT:    movl %ebp, %eax
1090 ; X32-NEXT:    mull %ebx
1091 ; X32-NEXT:    movl %eax, %ecx
1092 ; X32-NEXT:    addl %esi, %ecx
1093 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1094 ; X32-NEXT:    adcl %eax, %edx
1095 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1096 ; X32-NEXT:    adcl (%esp), %edx # 4-byte Folded Reload
1097 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1098 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1099 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1100 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1101 ; X32-NEXT:    movl %edi, %eax
1102 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1103 ; X32-NEXT:    mull %esi
1104 ; X32-NEXT:    movl %edx, %ebx
1105 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1106 ; X32-NEXT:    movl %ebp, %eax
1107 ; X32-NEXT:    mull %esi
1108 ; X32-NEXT:    movl %edx, %esi
1109 ; X32-NEXT:    movl %eax, %ebp
1110 ; X32-NEXT:    addl %ebx, %ebp
1111 ; X32-NEXT:    adcl $0, %esi
1112 ; X32-NEXT:    movl %edi, %eax
1113 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1114 ; X32-NEXT:    mull %edi
1115 ; X32-NEXT:    movl %edx, %ebx
1116 ; X32-NEXT:    addl %ebp, %eax
1117 ; X32-NEXT:    movl %eax, %ebp
1118 ; X32-NEXT:    adcl %esi, %ebx
1119 ; X32-NEXT:    setb (%esp) # 1-byte Folded Spill
1120 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1121 ; X32-NEXT:    mull %edi
1122 ; X32-NEXT:    movl %eax, %esi
1123 ; X32-NEXT:    addl %ebx, %esi
1124 ; X32-NEXT:    movzbl (%esp), %eax # 1-byte Folded Reload
1125 ; X32-NEXT:    adcl %eax, %edx
1126 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1127 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1128 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1129 ; X32-NEXT:    adcl $0, %esi
1130 ; X32-NEXT:    adcl $0, %edx
1131 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1132 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1133 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1134 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1135 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1136 ; X32-NEXT:    movl %ebp, %eax
1137 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1138 ; X32-NEXT:    mull %ecx
1139 ; X32-NEXT:    movl %edx, %edi
1140 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1141 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1142 ; X32-NEXT:    mull %ecx
1143 ; X32-NEXT:    movl %edx, %ecx
1144 ; X32-NEXT:    movl %eax, %ebx
1145 ; X32-NEXT:    addl %edi, %ebx
1146 ; X32-NEXT:    adcl $0, %ecx
1147 ; X32-NEXT:    movl %ebp, %eax
1148 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1149 ; X32-NEXT:    mull %ebp
1150 ; X32-NEXT:    movl %edx, %edi
1151 ; X32-NEXT:    addl %ebx, %eax
1152 ; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
1153 ; X32-NEXT:    adcl %ecx, %edi
1154 ; X32-NEXT:    setb %cl
1155 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1156 ; X32-NEXT:    mull %ebp
1157 ; X32-NEXT:    addl %edi, %eax
1158 ; X32-NEXT:    movl %eax, %ebp
1159 ; X32-NEXT:    movzbl %cl, %eax
1160 ; X32-NEXT:    adcl %eax, %edx
1161 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1162 ; X32-NEXT:    addl %esi, %ebx
1163 ; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
1164 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1165 ; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
1166 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1167 ; X32-NEXT:    adcl %eax, %ebp
1168 ; X32-NEXT:    adcl $0, %edx
1169 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1170 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1171 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1172 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
1173 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1174 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1175 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1176 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1177 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1178 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1179 ; X32-NEXT:    adcl %eax, %ebx
1180 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1181 ; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
1182 ; X32-NEXT:    adcl $0, %eax
1183 ; X32-NEXT:    adcl $0, %ebp
1184 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1185 ; X32-NEXT:    adcl $0, %ebx
1186 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1187 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1188 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1189 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1190 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1191 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1192 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1193 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1194 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1195 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1196 ; X32-NEXT:    movl %ecx, {{[-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, (%esp) # 4-byte Spill
1199 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1200 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1201 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1202 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte 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:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1208 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1209 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1210 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1211 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
1212 ; X32-NEXT:    movl 32(%edi), %ecx
1213 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1214 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1215 ; X32-NEXT:    movl %edi, %eax
1216 ; X32-NEXT:    mull %ecx
1217 ; X32-NEXT:    movl %edx, %esi
1218 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1219 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1220 ; X32-NEXT:    movl %ebp, %eax
1221 ; X32-NEXT:    mull %ecx
1222 ; X32-NEXT:    movl %edx, %ecx
1223 ; X32-NEXT:    movl %eax, %ebx
1224 ; X32-NEXT:    addl %esi, %ebx
1225 ; X32-NEXT:    adcl $0, %ecx
1226 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1227 ; X32-NEXT:    movl 36(%eax), %esi
1228 ; X32-NEXT:    movl %edi, %eax
1229 ; X32-NEXT:    mull %esi
1230 ; X32-NEXT:    movl %esi, %edi
1231 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1232 ; X32-NEXT:    movl %edx, %esi
1233 ; X32-NEXT:    addl %ebx, %eax
1234 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1235 ; X32-NEXT:    adcl %ecx, %esi
1236 ; X32-NEXT:    setb %cl
1237 ; X32-NEXT:    movl %ebp, %eax
1238 ; X32-NEXT:    mull %edi
1239 ; X32-NEXT:    addl %esi, %eax
1240 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1241 ; X32-NEXT:    movzbl %cl, %eax
1242 ; X32-NEXT:    adcl %eax, %edx
1243 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1244 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1245 ; X32-NEXT:    movl %ebp, %eax
1246 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1247 ; X32-NEXT:    mull %ecx
1248 ; X32-NEXT:    movl %edx, %ebx
1249 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1250 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1251 ; X32-NEXT:    movl %edi, %eax
1252 ; X32-NEXT:    mull %ecx
1253 ; X32-NEXT:    movl %edx, %ecx
1254 ; X32-NEXT:    movl %eax, %esi
1255 ; X32-NEXT:    addl %ebx, %esi
1256 ; X32-NEXT:    adcl $0, %ecx
1257 ; X32-NEXT:    movl %ebp, %eax
1258 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1259 ; X32-NEXT:    mull %ebx
1260 ; X32-NEXT:    movl %edx, %ebp
1261 ; X32-NEXT:    addl %esi, %eax
1262 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1263 ; X32-NEXT:    adcl %ecx, %ebp
1264 ; X32-NEXT:    setb %cl
1265 ; X32-NEXT:    movl %edi, %eax
1266 ; X32-NEXT:    mull %ebx
1267 ; X32-NEXT:    addl %ebp, %eax
1268 ; X32-NEXT:    movzbl %cl, %ecx
1269 ; X32-NEXT:    adcl %ecx, %edx
1270 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1271 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1272 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1273 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1274 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1275 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1276 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1277 ; X32-NEXT:    movl 40(%eax), %ecx
1278 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1279 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1280 ; X32-NEXT:    movl %esi, %eax
1281 ; X32-NEXT:    mull %ecx
1282 ; X32-NEXT:    movl %edx, %ebx
1283 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1284 ; X32-NEXT:    movl %edi, %eax
1285 ; X32-NEXT:    mull %ecx
1286 ; X32-NEXT:    movl %edx, %edi
1287 ; X32-NEXT:    movl %eax, %ebp
1288 ; X32-NEXT:    addl %ebx, %ebp
1289 ; X32-NEXT:    adcl $0, %edi
1290 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1291 ; X32-NEXT:    movl 44(%eax), %ecx
1292 ; X32-NEXT:    movl %esi, %eax
1293 ; X32-NEXT:    mull %ecx
1294 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1295 ; X32-NEXT:    movl %edx, %ebx
1296 ; X32-NEXT:    addl %ebp, %eax
1297 ; X32-NEXT:    movl %eax, %esi
1298 ; X32-NEXT:    adcl %edi, %ebx
1299 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1300 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1301 ; X32-NEXT:    mull %ecx
1302 ; X32-NEXT:    movl %eax, %ebp
1303 ; X32-NEXT:    addl %ebx, %ebp
1304 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1305 ; X32-NEXT:    adcl %eax, %edx
1306 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1307 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1308 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1309 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1310 ; X32-NEXT:    adcl $0, %ebp
1311 ; X32-NEXT:    adcl $0, %edx
1312 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1313 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1314 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1315 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1316 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1317 ; X32-NEXT:    movl %esi, %eax
1318 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1319 ; X32-NEXT:    mull %ecx
1320 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1321 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1322 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1323 ; X32-NEXT:    mull %ecx
1324 ; X32-NEXT:    movl %edx, %edi
1325 ; X32-NEXT:    movl %eax, %ebx
1326 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1327 ; X32-NEXT:    adcl $0, %edi
1328 ; X32-NEXT:    movl %esi, %eax
1329 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1330 ; X32-NEXT:    mull %ecx
1331 ; X32-NEXT:    movl %edx, %esi
1332 ; X32-NEXT:    addl %ebx, %eax
1333 ; X32-NEXT:    movl %eax, %ebx
1334 ; X32-NEXT:    adcl %edi, %esi
1335 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1336 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1337 ; X32-NEXT:    mull %ecx
1338 ; X32-NEXT:    addl %esi, %eax
1339 ; X32-NEXT:    movl %eax, %esi
1340 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1341 ; X32-NEXT:    adcl %eax, %edx
1342 ; X32-NEXT:    addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1343 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1344 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1345 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1346 ; X32-NEXT:    adcl %eax, %esi
1347 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1348 ; X32-NEXT:    adcl $0, %edx
1349 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1350 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1351 ; X32-NEXT:    movl %edi, %eax
1352 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1353 ; X32-NEXT:    mull %ecx
1354 ; X32-NEXT:    movl %edx, %esi
1355 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1356 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1357 ; X32-NEXT:    movl %ebp, %eax
1358 ; X32-NEXT:    mull %ecx
1359 ; X32-NEXT:    movl %edx, %ecx
1360 ; X32-NEXT:    movl %eax, %ebx
1361 ; X32-NEXT:    addl %esi, %ebx
1362 ; X32-NEXT:    adcl $0, %ecx
1363 ; X32-NEXT:    movl %edi, %eax
1364 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1365 ; X32-NEXT:    mull %edi
1366 ; X32-NEXT:    movl %edx, %esi
1367 ; X32-NEXT:    addl %ebx, %eax
1368 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1369 ; X32-NEXT:    adcl %ecx, %esi
1370 ; X32-NEXT:    setb %cl
1371 ; X32-NEXT:    movl %ebp, %eax
1372 ; X32-NEXT:    mull %edi
1373 ; X32-NEXT:    addl %esi, %eax
1374 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1375 ; X32-NEXT:    movzbl %cl, %eax
1376 ; X32-NEXT:    adcl %eax, %edx
1377 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1378 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1379 ; X32-NEXT:    movl %ebp, %eax
1380 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1381 ; X32-NEXT:    mull %ecx
1382 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1383 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1384 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1385 ; X32-NEXT:    movl %ebx, %eax
1386 ; X32-NEXT:    mull %ecx
1387 ; X32-NEXT:    movl %edx, %ecx
1388 ; X32-NEXT:    movl %eax, %esi
1389 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1390 ; X32-NEXT:    adcl $0, %ecx
1391 ; X32-NEXT:    movl %ebp, %eax
1392 ; X32-NEXT:    mull %edi
1393 ; X32-NEXT:    movl %edx, %ebp
1394 ; X32-NEXT:    addl %esi, %eax
1395 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1396 ; X32-NEXT:    adcl %ecx, %ebp
1397 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1398 ; X32-NEXT:    movl %ebx, %esi
1399 ; X32-NEXT:    movl %ebx, %eax
1400 ; X32-NEXT:    mull %edi
1401 ; X32-NEXT:    movl %eax, %ecx
1402 ; X32-NEXT:    addl %ebp, %ecx
1403 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1404 ; X32-NEXT:    adcl %eax, %edx
1405 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1406 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1407 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1408 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1409 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1410 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1411 ; X32-NEXT:    movl %ebx, %eax
1412 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1413 ; X32-NEXT:    mull %edi
1414 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1415 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1416 ; X32-NEXT:    movl %esi, %eax
1417 ; X32-NEXT:    mull %edi
1418 ; X32-NEXT:    movl %edx, %edi
1419 ; X32-NEXT:    movl %eax, %ebp
1420 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1421 ; X32-NEXT:    adcl $0, %edi
1422 ; X32-NEXT:    movl %ebx, %eax
1423 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1424 ; X32-NEXT:    mull %esi
1425 ; X32-NEXT:    movl %edx, %ebx
1426 ; X32-NEXT:    addl %ebp, %eax
1427 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1428 ; X32-NEXT:    adcl %edi, %ebx
1429 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1430 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1431 ; X32-NEXT:    mull %esi
1432 ; X32-NEXT:    movl %eax, %edi
1433 ; X32-NEXT:    addl %ebx, %edi
1434 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1435 ; X32-NEXT:    adcl %eax, %edx
1436 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1437 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1438 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1439 ; X32-NEXT:    adcl $0, %edi
1440 ; X32-NEXT:    adcl $0, %edx
1441 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1442 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1443 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1444 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1445 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1446 ; X32-NEXT:    movl %ebp, %eax
1447 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1448 ; X32-NEXT:    mull %ecx
1449 ; X32-NEXT:    movl %edx, %esi
1450 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1451 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1452 ; X32-NEXT:    mull %ecx
1453 ; X32-NEXT:    movl %edx, %ecx
1454 ; X32-NEXT:    movl %eax, %ebx
1455 ; X32-NEXT:    addl %esi, %ebx
1456 ; X32-NEXT:    adcl $0, %ecx
1457 ; X32-NEXT:    movl %ebp, %eax
1458 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1459 ; X32-NEXT:    mull %ebp
1460 ; X32-NEXT:    movl %edx, %esi
1461 ; X32-NEXT:    addl %ebx, %eax
1462 ; X32-NEXT:    movl %eax, %ebx
1463 ; X32-NEXT:    adcl %ecx, %esi
1464 ; X32-NEXT:    setb %cl
1465 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1466 ; X32-NEXT:    mull %ebp
1467 ; X32-NEXT:    addl %esi, %eax
1468 ; X32-NEXT:    movzbl %cl, %ecx
1469 ; X32-NEXT:    movl %edx, %esi
1470 ; X32-NEXT:    adcl %ecx, %esi
1471 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1472 ; X32-NEXT:    addl %edi, %ecx
1473 ; X32-NEXT:    movl %ebx, %edx
1474 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1475 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 1-byte Folded Reload
1476 ; X32-NEXT:    adcl %edi, %eax
1477 ; X32-NEXT:    adcl $0, %esi
1478 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1479 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1480 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1481 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1482 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1483 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1484 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1485 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1486 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1487 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1488 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1489 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1490 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1491 ; X32-NEXT:    movl 48(%eax), %esi
1492 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1493 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1494 ; X32-NEXT:    movl %ebx, %eax
1495 ; X32-NEXT:    mull %esi
1496 ; X32-NEXT:    movl %edx, %ebp
1497 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1498 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1499 ; X32-NEXT:    movl %ecx, %eax
1500 ; X32-NEXT:    mull %esi
1501 ; X32-NEXT:    movl %edx, %esi
1502 ; X32-NEXT:    movl %eax, %edi
1503 ; X32-NEXT:    addl %ebp, %edi
1504 ; X32-NEXT:    adcl $0, %esi
1505 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1506 ; X32-NEXT:    movl 52(%eax), %ebp
1507 ; X32-NEXT:    movl %ebx, %eax
1508 ; X32-NEXT:    mull %ebp
1509 ; X32-NEXT:    movl %ebp, %ebx
1510 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1511 ; X32-NEXT:    movl %edx, %ebp
1512 ; X32-NEXT:    addl %edi, %eax
1513 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1514 ; X32-NEXT:    adcl %esi, %ebp
1515 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1516 ; X32-NEXT:    movl %ecx, %eax
1517 ; X32-NEXT:    mull %ebx
1518 ; X32-NEXT:    addl %ebp, %eax
1519 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1520 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1521 ; X32-NEXT:    adcl %eax, %edx
1522 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1523 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1524 ; X32-NEXT:    movl %ecx, %eax
1525 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1526 ; X32-NEXT:    mull %esi
1527 ; X32-NEXT:    movl %edx, %ebx
1528 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1529 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1530 ; X32-NEXT:    movl %ebp, %eax
1531 ; X32-NEXT:    mull %esi
1532 ; X32-NEXT:    movl %edx, %esi
1533 ; X32-NEXT:    movl %eax, %edi
1534 ; X32-NEXT:    addl %ebx, %edi
1535 ; X32-NEXT:    adcl $0, %esi
1536 ; X32-NEXT:    movl %ecx, %eax
1537 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1538 ; X32-NEXT:    mull %ecx
1539 ; X32-NEXT:    movl %edx, %ebx
1540 ; X32-NEXT:    addl %edi, %eax
1541 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1542 ; X32-NEXT:    adcl %esi, %ebx
1543 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1544 ; X32-NEXT:    movl %ebp, %eax
1545 ; X32-NEXT:    mull %ecx
1546 ; X32-NEXT:    addl %ebx, %eax
1547 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
1548 ; X32-NEXT:    adcl %ecx, %edx
1549 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1550 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1551 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1552 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1553 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1554 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1555 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
1556 ; X32-NEXT:    movl 56(%eax), %ecx
1557 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1558 ; X32-NEXT:    movl %eax, %esi
1559 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1560 ; X32-NEXT:    movl %edi, %eax
1561 ; X32-NEXT:    mull %ecx
1562 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1563 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1564 ; X32-NEXT:    movl %ebp, %eax
1565 ; X32-NEXT:    mull %ecx
1566 ; X32-NEXT:    movl %edx, %ecx
1567 ; X32-NEXT:    movl %eax, %ebx
1568 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1569 ; X32-NEXT:    adcl $0, %ecx
1570 ; X32-NEXT:    movl 60(%esi), %esi
1571 ; X32-NEXT:    movl %edi, %eax
1572 ; X32-NEXT:    mull %esi
1573 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1574 ; X32-NEXT:    movl %edx, %edi
1575 ; X32-NEXT:    addl %ebx, %eax
1576 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1577 ; X32-NEXT:    adcl %ecx, %edi
1578 ; X32-NEXT:    setb %cl
1579 ; X32-NEXT:    movl %ebp, %eax
1580 ; X32-NEXT:    mull %esi
1581 ; X32-NEXT:    movl %eax, %ebx
1582 ; X32-NEXT:    addl %edi, %ebx
1583 ; X32-NEXT:    movzbl %cl, %eax
1584 ; X32-NEXT:    adcl %eax, %edx
1585 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1586 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1587 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1588 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1589 ; X32-NEXT:    adcl $0, %ebx
1590 ; X32-NEXT:    adcl $0, %edx
1591 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1592 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1593 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1594 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1595 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1596 ; X32-NEXT:    movl %edi, %eax
1597 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1598 ; X32-NEXT:    mull %ecx
1599 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1600 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1601 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1602 ; X32-NEXT:    mull %ecx
1603 ; X32-NEXT:    movl %edx, %esi
1604 ; X32-NEXT:    movl %eax, %ebp
1605 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1606 ; X32-NEXT:    adcl $0, %esi
1607 ; X32-NEXT:    movl %edi, %eax
1608 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1609 ; X32-NEXT:    mull %ecx
1610 ; X32-NEXT:    movl %edx, %edi
1611 ; X32-NEXT:    addl %ebp, %eax
1612 ; X32-NEXT:    movl %eax, %ebp
1613 ; X32-NEXT:    adcl %esi, %edi
1614 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1615 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1616 ; X32-NEXT:    mull %ecx
1617 ; X32-NEXT:    addl %edi, %eax
1618 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 1-byte Folded Reload
1619 ; X32-NEXT:    adcl %esi, %edx
1620 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1621 ; X32-NEXT:    addl %ebx, %esi
1622 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1623 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
1624 ; X32-NEXT:    adcl %ecx, %eax
1625 ; X32-NEXT:    adcl $0, %edx
1626 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1627 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1628 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1629 ; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1630 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1631 ; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1632 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1633 ; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1634 ; X32-NEXT:    movl %esi, %ecx
1635 ; X32-NEXT:    adcl $0, %ecx
1636 ; X32-NEXT:    adcl $0, %ebp
1637 ; X32-NEXT:    adcl $0, %eax
1638 ; X32-NEXT:    adcl $0, %edx
1639 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1640 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1641 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1642 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1643 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1644 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1645 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1646 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1647 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1648 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1649 ; X32-NEXT:    movl %edi, %eax
1650 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1651 ; X32-NEXT:    mull %ecx
1652 ; X32-NEXT:    movl %edx, %esi
1653 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1654 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1655 ; X32-NEXT:    movl %ebp, %eax
1656 ; X32-NEXT:    mull %ecx
1657 ; X32-NEXT:    movl %edx, %ecx
1658 ; X32-NEXT:    movl %eax, %ebx
1659 ; X32-NEXT:    addl %esi, %ebx
1660 ; X32-NEXT:    adcl $0, %ecx
1661 ; X32-NEXT:    movl %edi, %eax
1662 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1663 ; X32-NEXT:    mull %esi
1664 ; X32-NEXT:    movl %edx, %edi
1665 ; X32-NEXT:    addl %ebx, %eax
1666 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1667 ; X32-NEXT:    adcl %ecx, %edi
1668 ; X32-NEXT:    setb %cl
1669 ; X32-NEXT:    movl %ebp, %eax
1670 ; X32-NEXT:    mull %esi
1671 ; X32-NEXT:    addl %edi, %eax
1672 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1673 ; X32-NEXT:    movzbl %cl, %eax
1674 ; X32-NEXT:    adcl %eax, %edx
1675 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1676 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1677 ; X32-NEXT:    movl %ebp, %eax
1678 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1679 ; X32-NEXT:    mull %ecx
1680 ; X32-NEXT:    movl %edx, %ebx
1681 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1682 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1683 ; X32-NEXT:    movl %esi, %eax
1684 ; X32-NEXT:    mull %ecx
1685 ; X32-NEXT:    movl %edx, %ecx
1686 ; X32-NEXT:    movl %eax, %edi
1687 ; X32-NEXT:    addl %ebx, %edi
1688 ; X32-NEXT:    adcl $0, %ecx
1689 ; X32-NEXT:    movl %ebp, %eax
1690 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1691 ; X32-NEXT:    mull %ebx
1692 ; X32-NEXT:    movl %edx, %ebp
1693 ; X32-NEXT:    addl %edi, %eax
1694 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1695 ; X32-NEXT:    adcl %ecx, %ebp
1696 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1697 ; X32-NEXT:    movl %esi, %eax
1698 ; X32-NEXT:    mull %ebx
1699 ; X32-NEXT:    movl %eax, %ecx
1700 ; X32-NEXT:    addl %ebp, %ecx
1701 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1702 ; X32-NEXT:    adcl %eax, %edx
1703 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1704 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1705 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1706 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1707 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1708 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1709 ; X32-NEXT:    movl %ebx, %eax
1710 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1711 ; X32-NEXT:    mull %edi
1712 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1713 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1714 ; X32-NEXT:    movl %esi, %eax
1715 ; X32-NEXT:    mull %edi
1716 ; X32-NEXT:    movl %edx, %esi
1717 ; X32-NEXT:    movl %eax, %ebp
1718 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1719 ; X32-NEXT:    adcl $0, %esi
1720 ; X32-NEXT:    movl %ebx, %eax
1721 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1722 ; X32-NEXT:    mull %edi
1723 ; X32-NEXT:    movl %edx, %ebx
1724 ; X32-NEXT:    addl %ebp, %eax
1725 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1726 ; X32-NEXT:    adcl %esi, %ebx
1727 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1728 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1729 ; X32-NEXT:    mull %edi
1730 ; X32-NEXT:    movl %eax, %ebp
1731 ; X32-NEXT:    addl %ebx, %ebp
1732 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1733 ; X32-NEXT:    adcl %eax, %edx
1734 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1735 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1736 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1737 ; X32-NEXT:    adcl $0, %ebp
1738 ; X32-NEXT:    adcl $0, %edx
1739 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1740 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1741 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1742 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1743 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1744 ; X32-NEXT:    movl %edi, %eax
1745 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1746 ; X32-NEXT:    mull %ecx
1747 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1748 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1749 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1750 ; X32-NEXT:    mull %ecx
1751 ; X32-NEXT:    movl %edx, %esi
1752 ; X32-NEXT:    movl %eax, %ebx
1753 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1754 ; X32-NEXT:    adcl $0, %esi
1755 ; X32-NEXT:    movl %edi, %eax
1756 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1757 ; X32-NEXT:    mull %ecx
1758 ; X32-NEXT:    movl %edx, %edi
1759 ; X32-NEXT:    addl %ebx, %eax
1760 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1761 ; X32-NEXT:    adcl %esi, %edi
1762 ; X32-NEXT:    setb %bl
1763 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1764 ; X32-NEXT:    mull %ecx
1765 ; X32-NEXT:    movl %eax, %ecx
1766 ; X32-NEXT:    addl %edi, %ecx
1767 ; X32-NEXT:    movzbl %bl, %eax
1768 ; X32-NEXT:    adcl %eax, %edx
1769 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1770 ; X32-NEXT:    addl %ebp, %edi
1771 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1772 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1773 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1774 ; X32-NEXT:    movl %ecx, %ebp
1775 ; X32-NEXT:    adcl %eax, %ebp
1776 ; X32-NEXT:    adcl $0, %edx
1777 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1778 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1779 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1780 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1781 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1782 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1783 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
1784 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1785 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1786 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1787 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
1788 ; X32-NEXT:    adcl %eax, %edi
1789 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1790 ; X32-NEXT:    adcl $0, %ebx
1791 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1792 ; X32-NEXT:    adcl $0, %ebp
1793 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1794 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1795 ; X32-NEXT:    adcl $0, %edi
1796 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1797 ; X32-NEXT:    addl %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 {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1805 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1806 ; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
1807 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1808 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1809 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1810 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1811 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1812 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1813 ; X32-NEXT:    adcl $0, %eax
1814 ; X32-NEXT:    adcl $0, %ecx
1815 ; X32-NEXT:    adcl $0, %edx
1816 ; X32-NEXT:    adcl $0, %esi
1817 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1818 ; X32-NEXT:    adcl $0, %ebx
1819 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1820 ; X32-NEXT:    adcl $0, %ebp
1821 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1822 ; X32-NEXT:    adcl $0, %edi
1823 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1824 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1825 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
1826 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1827 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1828 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1829 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
1830 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1831 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
1832 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1833 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1834 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1835 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1836 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1837 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1838 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1839 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1840 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
1841 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1842 ; X32-NEXT:    movl %ebp, %eax
1843 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1844 ; X32-NEXT:    mull %ecx
1845 ; X32-NEXT:    movl %edx, %esi
1846 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1847 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1848 ; X32-NEXT:    movl %ebx, %eax
1849 ; X32-NEXT:    mull %ecx
1850 ; X32-NEXT:    movl %edx, %ecx
1851 ; X32-NEXT:    movl %eax, %edi
1852 ; X32-NEXT:    addl %esi, %edi
1853 ; X32-NEXT:    adcl $0, %ecx
1854 ; X32-NEXT:    movl %ebp, %eax
1855 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1856 ; X32-NEXT:    mull %ebp
1857 ; X32-NEXT:    movl %edx, %esi
1858 ; X32-NEXT:    addl %edi, %eax
1859 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1860 ; X32-NEXT:    adcl %ecx, %esi
1861 ; X32-NEXT:    setb %cl
1862 ; X32-NEXT:    movl %ebx, %eax
1863 ; X32-NEXT:    mull %ebp
1864 ; X32-NEXT:    addl %esi, %eax
1865 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1866 ; X32-NEXT:    movzbl %cl, %eax
1867 ; X32-NEXT:    adcl %eax, %edx
1868 ; X32-NEXT:    movl %edx, (%esp) # 4-byte Spill
1869 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1870 ; X32-NEXT:    movl %ebx, %eax
1871 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1872 ; X32-NEXT:    mull %ecx
1873 ; X32-NEXT:    movl %edx, %ebp
1874 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1875 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1876 ; X32-NEXT:    movl %edi, %eax
1877 ; X32-NEXT:    mull %ecx
1878 ; X32-NEXT:    movl %edx, %ecx
1879 ; X32-NEXT:    movl %eax, %esi
1880 ; X32-NEXT:    addl %ebp, %esi
1881 ; X32-NEXT:    adcl $0, %ecx
1882 ; X32-NEXT:    movl %ebx, %eax
1883 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1884 ; X32-NEXT:    mull %ebx
1885 ; X32-NEXT:    movl %edx, %ebp
1886 ; X32-NEXT:    addl %esi, %eax
1887 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1888 ; X32-NEXT:    adcl %ecx, %ebp
1889 ; X32-NEXT:    setb %cl
1890 ; X32-NEXT:    movl %edi, %eax
1891 ; X32-NEXT:    movl %edi, %esi
1892 ; X32-NEXT:    mull %ebx
1893 ; X32-NEXT:    addl %ebp, %eax
1894 ; X32-NEXT:    movzbl %cl, %ecx
1895 ; X32-NEXT:    adcl %ecx, %edx
1896 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
1897 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1898 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
1899 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1900 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1901 ; X32-NEXT:    adcl $0, (%esp) # 4-byte Folded Spill
1902 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1903 ; X32-NEXT:    movl %ecx, %eax
1904 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1905 ; X32-NEXT:    mull %ebx
1906 ; X32-NEXT:    movl %edx, %edi
1907 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1908 ; X32-NEXT:    movl %esi, %eax
1909 ; X32-NEXT:    mull %ebx
1910 ; X32-NEXT:    movl %edx, %ebx
1911 ; X32-NEXT:    movl %eax, %ebp
1912 ; X32-NEXT:    addl %edi, %ebp
1913 ; X32-NEXT:    adcl $0, %ebx
1914 ; X32-NEXT:    movl %ecx, %eax
1915 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1916 ; X32-NEXT:    mull %ecx
1917 ; X32-NEXT:    movl %edx, %edi
1918 ; X32-NEXT:    addl %ebp, %eax
1919 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1920 ; X32-NEXT:    adcl %ebx, %edi
1921 ; X32-NEXT:    setb %bl
1922 ; X32-NEXT:    movl %esi, %eax
1923 ; X32-NEXT:    mull %ecx
1924 ; X32-NEXT:    movl %eax, %ebp
1925 ; X32-NEXT:    addl %edi, %ebp
1926 ; X32-NEXT:    movzbl %bl, %eax
1927 ; X32-NEXT:    adcl %eax, %edx
1928 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1929 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1930 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1931 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1932 ; X32-NEXT:    adcl $0, %ebp
1933 ; X32-NEXT:    adcl $0, %edx
1934 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
1935 ; X32-NEXT:    adcl (%esp), %edx # 4-byte Folded Reload
1936 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1937 ; X32-NEXT:    setb (%esp) # 1-byte Folded Spill
1938 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
1939 ; X32-NEXT:    movl %esi, %eax
1940 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1941 ; X32-NEXT:    mull %ecx
1942 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1943 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1944 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1945 ; X32-NEXT:    mull %ecx
1946 ; X32-NEXT:    movl %edx, %ebx
1947 ; X32-NEXT:    movl %eax, %edi
1948 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1949 ; X32-NEXT:    adcl $0, %ebx
1950 ; X32-NEXT:    movl %esi, %eax
1951 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1952 ; X32-NEXT:    mull %ecx
1953 ; X32-NEXT:    movl %edx, %esi
1954 ; X32-NEXT:    addl %edi, %eax
1955 ; X32-NEXT:    movl %eax, %edi
1956 ; X32-NEXT:    adcl %ebx, %esi
1957 ; X32-NEXT:    setb %bl
1958 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
1959 ; X32-NEXT:    mull %ecx
1960 ; X32-NEXT:    addl %esi, %eax
1961 ; X32-NEXT:    movl %eax, %esi
1962 ; X32-NEXT:    movzbl %bl, %eax
1963 ; X32-NEXT:    adcl %eax, %edx
1964 ; X32-NEXT:    addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
1965 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
1966 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1967 ; X32-NEXT:    movzbl (%esp), %eax # 1-byte Folded Reload
1968 ; X32-NEXT:    adcl %eax, %esi
1969 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1970 ; X32-NEXT:    adcl $0, %edx
1971 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1972 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
1973 ; X32-NEXT:    movl %ebx, %eax
1974 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
1975 ; X32-NEXT:    mull %ecx
1976 ; X32-NEXT:    movl %edx, %edi
1977 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1978 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
1979 ; X32-NEXT:    movl %ebp, %eax
1980 ; X32-NEXT:    mull %ecx
1981 ; X32-NEXT:    movl %edx, %esi
1982 ; X32-NEXT:    movl %eax, %ecx
1983 ; X32-NEXT:    addl %edi, %ecx
1984 ; X32-NEXT:    adcl $0, %esi
1985 ; X32-NEXT:    movl %ebx, %eax
1986 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
1987 ; X32-NEXT:    mull %edi
1988 ; X32-NEXT:    movl %edx, %ebx
1989 ; X32-NEXT:    addl %ecx, %eax
1990 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
1991 ; X32-NEXT:    adcl %esi, %ebx
1992 ; X32-NEXT:    setb %cl
1993 ; X32-NEXT:    movl %ebp, %eax
1994 ; X32-NEXT:    mull %edi
1995 ; X32-NEXT:    addl %ebx, %eax
1996 ; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
1997 ; X32-NEXT:    movzbl %cl, %eax
1998 ; X32-NEXT:    adcl %eax, %edx
1999 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2000 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2001 ; X32-NEXT:    movl %ebp, %eax
2002 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2003 ; X32-NEXT:    mull %esi
2004 ; X32-NEXT:    movl %edx, %ecx
2005 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2006 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2007 ; X32-NEXT:    movl %ebx, %eax
2008 ; X32-NEXT:    mull %esi
2009 ; X32-NEXT:    movl %edx, %esi
2010 ; X32-NEXT:    movl %eax, %edi
2011 ; X32-NEXT:    addl %ecx, %edi
2012 ; X32-NEXT:    adcl $0, %esi
2013 ; X32-NEXT:    movl %ebp, %eax
2014 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2015 ; X32-NEXT:    mull %ebp
2016 ; X32-NEXT:    movl %edx, %ecx
2017 ; X32-NEXT:    addl %edi, %eax
2018 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2019 ; X32-NEXT:    adcl %esi, %ecx
2020 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2021 ; X32-NEXT:    movl %ebx, %eax
2022 ; X32-NEXT:    movl %ebx, %esi
2023 ; X32-NEXT:    mull %ebp
2024 ; X32-NEXT:    addl %ecx, %eax
2025 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
2026 ; X32-NEXT:    adcl %ecx, %edx
2027 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2028 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2029 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2030 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2031 ; X32-NEXT:    adcl $0, (%esp) # 4-byte Folded Spill
2032 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2033 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2034 ; X32-NEXT:    movl %ebx, %eax
2035 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2036 ; X32-NEXT:    mull %ecx
2037 ; X32-NEXT:    movl %edx, %edi
2038 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2039 ; X32-NEXT:    movl %esi, %eax
2040 ; X32-NEXT:    mull %ecx
2041 ; X32-NEXT:    movl %edx, %ecx
2042 ; X32-NEXT:    movl %eax, %ebp
2043 ; X32-NEXT:    addl %edi, %ebp
2044 ; X32-NEXT:    adcl $0, %ecx
2045 ; X32-NEXT:    movl %ebx, %eax
2046 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2047 ; X32-NEXT:    mull %ebx
2048 ; X32-NEXT:    movl %edx, %edi
2049 ; X32-NEXT:    addl %ebp, %eax
2050 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2051 ; X32-NEXT:    adcl %ecx, %edi
2052 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2053 ; X32-NEXT:    movl %esi, %eax
2054 ; X32-NEXT:    mull %ebx
2055 ; X32-NEXT:    movl %eax, %ecx
2056 ; X32-NEXT:    addl %edi, %ecx
2057 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2058 ; X32-NEXT:    adcl %eax, %edx
2059 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2060 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2061 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2062 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2063 ; X32-NEXT:    adcl $0, %ecx
2064 ; X32-NEXT:    adcl $0, %edx
2065 ; X32-NEXT:    addl (%esp), %ecx # 4-byte Folded Reload
2066 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2067 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2068 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2069 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2070 ; X32-NEXT:    movl %ebp, %eax
2071 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2072 ; X32-NEXT:    mull %esi
2073 ; X32-NEXT:    movl %edx, %edi
2074 ; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
2075 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2076 ; X32-NEXT:    mull %esi
2077 ; X32-NEXT:    movl %edx, %esi
2078 ; X32-NEXT:    movl %eax, %ebx
2079 ; X32-NEXT:    addl %edi, %ebx
2080 ; X32-NEXT:    adcl $0, %esi
2081 ; X32-NEXT:    movl %ebp, %eax
2082 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2083 ; X32-NEXT:    mull %ebp
2084 ; X32-NEXT:    movl %edx, %edi
2085 ; X32-NEXT:    addl %ebx, %eax
2086 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2087 ; X32-NEXT:    adcl %esi, %edi
2088 ; X32-NEXT:    setb %bl
2089 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2090 ; X32-NEXT:    mull %ebp
2091 ; X32-NEXT:    addl %edi, %eax
2092 ; X32-NEXT:    movzbl %bl, %edi
2093 ; X32-NEXT:    movl %edx, %esi
2094 ; X32-NEXT:    adcl %edi, %esi
2095 ; X32-NEXT:    movl (%esp), %edx # 4-byte Reload
2096 ; X32-NEXT:    addl %ecx, %edx
2097 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2098 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2099 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 1-byte Folded Reload
2100 ; X32-NEXT:    adcl %edi, %eax
2101 ; X32-NEXT:    adcl $0, %esi
2102 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2103 ; X32-NEXT:    movl %edx, (%esp) # 4-byte Spill
2104 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2105 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2106 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2107 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2108 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2109 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2110 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2111 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2112 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2113 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2114 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
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, %edi
2119 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2120 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2121 ; X32-NEXT:    movl %ebp, %eax
2122 ; X32-NEXT:    mull %ecx
2123 ; X32-NEXT:    movl %edx, %ecx
2124 ; X32-NEXT:    movl %eax, %esi
2125 ; X32-NEXT:    addl %edi, %esi
2126 ; X32-NEXT:    adcl $0, %ecx
2127 ; X32-NEXT:    movl %ebx, %eax
2128 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2129 ; X32-NEXT:    mull %edi
2130 ; X32-NEXT:    movl %edx, %ebx
2131 ; X32-NEXT:    addl %esi, %eax
2132 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2133 ; X32-NEXT:    adcl %ecx, %ebx
2134 ; X32-NEXT:    setb %cl
2135 ; X32-NEXT:    movl %ebp, %eax
2136 ; X32-NEXT:    mull %edi
2137 ; X32-NEXT:    addl %ebx, %eax
2138 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2139 ; X32-NEXT:    movzbl %cl, %eax
2140 ; X32-NEXT:    adcl %eax, %edx
2141 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2142 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2143 ; X32-NEXT:    movl %ebp, %eax
2144 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2145 ; X32-NEXT:    mull %ecx
2146 ; X32-NEXT:    movl %edx, %ebx
2147 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2148 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2149 ; X32-NEXT:    movl %edi, %eax
2150 ; X32-NEXT:    mull %ecx
2151 ; X32-NEXT:    movl %edx, %ecx
2152 ; X32-NEXT:    movl %eax, %esi
2153 ; X32-NEXT:    addl %ebx, %esi
2154 ; X32-NEXT:    adcl $0, %ecx
2155 ; X32-NEXT:    movl %ebp, %eax
2156 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2157 ; X32-NEXT:    mull %ebx
2158 ; X32-NEXT:    movl %edx, %ebp
2159 ; X32-NEXT:    addl %esi, %eax
2160 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2161 ; X32-NEXT:    adcl %ecx, %ebp
2162 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2163 ; X32-NEXT:    movl %edi, %eax
2164 ; X32-NEXT:    mull %ebx
2165 ; X32-NEXT:    movl %eax, %ecx
2166 ; X32-NEXT:    addl %ebp, %ecx
2167 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2168 ; X32-NEXT:    adcl %eax, %edx
2169 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2170 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2171 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2172 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2173 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2174 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2175 ; X32-NEXT:    movl %esi, %eax
2176 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2177 ; X32-NEXT:    mull %ebx
2178 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2179 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2180 ; X32-NEXT:    movl %edi, %eax
2181 ; X32-NEXT:    mull %ebx
2182 ; X32-NEXT:    movl %edx, %edi
2183 ; X32-NEXT:    movl %eax, %ebp
2184 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2185 ; X32-NEXT:    adcl $0, %edi
2186 ; X32-NEXT:    movl %esi, %eax
2187 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2188 ; X32-NEXT:    mull %ebx
2189 ; X32-NEXT:    movl %edx, %esi
2190 ; X32-NEXT:    addl %ebp, %eax
2191 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2192 ; X32-NEXT:    adcl %edi, %esi
2193 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2194 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2195 ; X32-NEXT:    mull %ebx
2196 ; X32-NEXT:    movl %eax, %ebp
2197 ; X32-NEXT:    addl %esi, %ebp
2198 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2199 ; X32-NEXT:    adcl %eax, %edx
2200 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2201 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2202 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2203 ; X32-NEXT:    adcl $0, %ebp
2204 ; X32-NEXT:    adcl $0, %edx
2205 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2206 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2207 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2208 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2209 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2210 ; X32-NEXT:    movl %esi, %eax
2211 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2212 ; X32-NEXT:    mull %ecx
2213 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2214 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2215 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2216 ; X32-NEXT:    mull %ecx
2217 ; X32-NEXT:    movl %edx, %edi
2218 ; X32-NEXT:    movl %eax, %ebx
2219 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2220 ; X32-NEXT:    adcl $0, %edi
2221 ; X32-NEXT:    movl %esi, %eax
2222 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2223 ; X32-NEXT:    mull %ecx
2224 ; X32-NEXT:    movl %edx, %esi
2225 ; X32-NEXT:    addl %ebx, %eax
2226 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2227 ; X32-NEXT:    adcl %edi, %esi
2228 ; X32-NEXT:    setb %bl
2229 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2230 ; X32-NEXT:    mull %ecx
2231 ; X32-NEXT:    movl %eax, %ecx
2232 ; X32-NEXT:    addl %esi, %ecx
2233 ; X32-NEXT:    movzbl %bl, %eax
2234 ; X32-NEXT:    adcl %eax, %edx
2235 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2236 ; X32-NEXT:    addl %ebp, %edi
2237 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2238 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2239 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2240 ; X32-NEXT:    adcl %eax, %ecx
2241 ; X32-NEXT:    adcl $0, %edx
2242 ; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
2243 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2244 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2245 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2246 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2247 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2248 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2249 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2250 ; X32-NEXT:    movl %edi, %eax
2251 ; X32-NEXT:    adcl $0, %eax
2252 ; X32-NEXT:    adcl $0, %esi
2253 ; X32-NEXT:    adcl $0, %ecx
2254 ; X32-NEXT:    adcl $0, %edx
2255 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2256 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2257 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2258 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2259 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2260 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2261 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2262 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2263 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2264 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2265 ; X32-NEXT:    movl %ebp, %eax
2266 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2267 ; X32-NEXT:    mull %ecx
2268 ; X32-NEXT:    movl %edx, %esi
2269 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2270 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2271 ; X32-NEXT:    movl %ebx, %eax
2272 ; X32-NEXT:    mull %ecx
2273 ; X32-NEXT:    movl %edx, %ecx
2274 ; X32-NEXT:    movl %eax, %edi
2275 ; X32-NEXT:    addl %esi, %edi
2276 ; X32-NEXT:    adcl $0, %ecx
2277 ; X32-NEXT:    movl %ebp, %eax
2278 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2279 ; X32-NEXT:    mull %ebp
2280 ; X32-NEXT:    movl %edx, %esi
2281 ; X32-NEXT:    addl %edi, %eax
2282 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2283 ; X32-NEXT:    adcl %ecx, %esi
2284 ; X32-NEXT:    setb %cl
2285 ; X32-NEXT:    movl %ebx, %eax
2286 ; X32-NEXT:    mull %ebp
2287 ; X32-NEXT:    addl %esi, %eax
2288 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2289 ; X32-NEXT:    movzbl %cl, %eax
2290 ; X32-NEXT:    adcl %eax, %edx
2291 ; X32-NEXT:    movl %edx, (%esp) # 4-byte Spill
2292 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2293 ; X32-NEXT:    movl %ebp, %eax
2294 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2295 ; X32-NEXT:    mull %ecx
2296 ; X32-NEXT:    movl %edx, %edi
2297 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2298 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2299 ; X32-NEXT:    movl %ebx, %eax
2300 ; X32-NEXT:    mull %ecx
2301 ; X32-NEXT:    movl %edx, %ecx
2302 ; X32-NEXT:    movl %eax, %esi
2303 ; X32-NEXT:    addl %edi, %esi
2304 ; X32-NEXT:    adcl $0, %ecx
2305 ; X32-NEXT:    movl %ebp, %eax
2306 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2307 ; X32-NEXT:    mull %edi
2308 ; X32-NEXT:    movl %edx, %ebp
2309 ; X32-NEXT:    addl %esi, %eax
2310 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2311 ; X32-NEXT:    adcl %ecx, %ebp
2312 ; X32-NEXT:    setb %cl
2313 ; X32-NEXT:    movl %ebx, %eax
2314 ; X32-NEXT:    movl %ebx, %esi
2315 ; X32-NEXT:    mull %edi
2316 ; X32-NEXT:    addl %ebp, %eax
2317 ; X32-NEXT:    movzbl %cl, %ecx
2318 ; X32-NEXT:    adcl %ecx, %edx
2319 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2320 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2321 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2322 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2323 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2324 ; X32-NEXT:    adcl $0, (%esp) # 4-byte Folded Spill
2325 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2326 ; X32-NEXT:    movl %ebx, %eax
2327 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2328 ; X32-NEXT:    mull %ecx
2329 ; X32-NEXT:    movl %edx, %edi
2330 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2331 ; X32-NEXT:    movl %esi, %eax
2332 ; X32-NEXT:    mull %ecx
2333 ; X32-NEXT:    movl %edx, %ecx
2334 ; X32-NEXT:    movl %eax, %ebp
2335 ; X32-NEXT:    addl %edi, %ebp
2336 ; X32-NEXT:    adcl $0, %ecx
2337 ; X32-NEXT:    movl %ebx, %eax
2338 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2339 ; X32-NEXT:    mull %edi
2340 ; X32-NEXT:    movl %edx, %ebx
2341 ; X32-NEXT:    addl %ebp, %eax
2342 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2343 ; X32-NEXT:    adcl %ecx, %ebx
2344 ; X32-NEXT:    setb %cl
2345 ; X32-NEXT:    movl %esi, %eax
2346 ; X32-NEXT:    mull %edi
2347 ; X32-NEXT:    movl %eax, %ebp
2348 ; X32-NEXT:    addl %ebx, %ebp
2349 ; X32-NEXT:    movzbl %cl, %eax
2350 ; X32-NEXT:    adcl %eax, %edx
2351 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2352 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2353 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2354 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2355 ; X32-NEXT:    adcl $0, %ebp
2356 ; X32-NEXT:    adcl $0, %edx
2357 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2358 ; X32-NEXT:    adcl (%esp), %edx # 4-byte Folded Reload
2359 ; X32-NEXT:    movl %edx, (%esp) # 4-byte Spill
2360 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2361 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2362 ; X32-NEXT:    movl %edi, %eax
2363 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2364 ; X32-NEXT:    mull %ecx
2365 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2366 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2367 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2368 ; X32-NEXT:    mull %ecx
2369 ; X32-NEXT:    movl %edx, %esi
2370 ; X32-NEXT:    movl %eax, %ebx
2371 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2372 ; X32-NEXT:    adcl $0, %esi
2373 ; X32-NEXT:    movl %edi, %eax
2374 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2375 ; X32-NEXT:    mull %ecx
2376 ; X32-NEXT:    movl %edx, %edi
2377 ; X32-NEXT:    addl %ebx, %eax
2378 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2379 ; X32-NEXT:    adcl %esi, %edi
2380 ; X32-NEXT:    setb %bl
2381 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2382 ; X32-NEXT:    mull %ecx
2383 ; X32-NEXT:    addl %edi, %eax
2384 ; X32-NEXT:    movl %eax, %esi
2385 ; X32-NEXT:    movzbl %bl, %eax
2386 ; X32-NEXT:    adcl %eax, %edx
2387 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2388 ; X32-NEXT:    addl %ebp, %ebx
2389 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2390 ; X32-NEXT:    adcl (%esp), %eax # 4-byte Folded Reload
2391 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2392 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2393 ; X32-NEXT:    movl %esi, %ebp
2394 ; X32-NEXT:    adcl %eax, %ebp
2395 ; X32-NEXT:    adcl $0, %edx
2396 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2397 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2398 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2399 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
2400 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2401 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2402 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2403 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2404 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2405 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2406 ; X32-NEXT:    adcl %eax, %ebx
2407 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2408 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2409 ; X32-NEXT:    adcl $0, %ebx
2410 ; X32-NEXT:    adcl $0, %ebp
2411 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2412 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2413 ; X32-NEXT:    adcl $0, %ebp
2414 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2415 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2416 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2417 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2418 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2419 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2420 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2421 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2422 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2423 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2424 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2425 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2426 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2427 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2428 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2429 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2430 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2431 ; X32-NEXT:    adcl %eax, %ecx
2432 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2433 ; X32-NEXT:    adcl $0, %edx
2434 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2435 ; X32-NEXT:    adcl $0, %esi
2436 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2437 ; X32-NEXT:    adcl $0, %edi
2438 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2439 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2440 ; X32-NEXT:    adcl $0, %ebx
2441 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2442 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2443 ; X32-NEXT:    adcl $0, %ebp
2444 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2445 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2446 ; X32-NEXT:    movl 64(%eax), %ecx
2447 ; X32-NEXT:    movl %ecx, (%esp) # 4-byte Spill
2448 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2449 ; X32-NEXT:    movl %ebp, %eax
2450 ; X32-NEXT:    mull %ecx
2451 ; X32-NEXT:    movl %edx, %edi
2452 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2453 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2454 ; X32-NEXT:    movl %ebx, %eax
2455 ; X32-NEXT:    mull %ecx
2456 ; X32-NEXT:    movl %edx, %ecx
2457 ; X32-NEXT:    movl %eax, %esi
2458 ; X32-NEXT:    addl %edi, %esi
2459 ; X32-NEXT:    adcl $0, %ecx
2460 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2461 ; X32-NEXT:    movl 68(%eax), %edi
2462 ; X32-NEXT:    movl %ebp, %eax
2463 ; X32-NEXT:    mull %edi
2464 ; X32-NEXT:    movl %edi, %ebp
2465 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2466 ; X32-NEXT:    movl %edx, %edi
2467 ; X32-NEXT:    addl %esi, %eax
2468 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2469 ; X32-NEXT:    adcl %ecx, %edi
2470 ; X32-NEXT:    setb %cl
2471 ; X32-NEXT:    movl %ebx, %eax
2472 ; X32-NEXT:    mull %ebp
2473 ; X32-NEXT:    addl %edi, %eax
2474 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2475 ; X32-NEXT:    movzbl %cl, %eax
2476 ; X32-NEXT:    adcl %eax, %edx
2477 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2478 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2479 ; X32-NEXT:    movl %ebx, %eax
2480 ; X32-NEXT:    movl (%esp), %ecx # 4-byte Reload
2481 ; X32-NEXT:    mull %ecx
2482 ; X32-NEXT:    movl %edx, %ebp
2483 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2484 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2485 ; X32-NEXT:    movl %edi, %eax
2486 ; X32-NEXT:    mull %ecx
2487 ; X32-NEXT:    movl %edx, %ecx
2488 ; X32-NEXT:    movl %eax, %esi
2489 ; X32-NEXT:    addl %ebp, %esi
2490 ; X32-NEXT:    adcl $0, %ecx
2491 ; X32-NEXT:    movl %ebx, %eax
2492 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2493 ; X32-NEXT:    mull %ebx
2494 ; X32-NEXT:    movl %edx, %ebp
2495 ; X32-NEXT:    addl %esi, %eax
2496 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2497 ; X32-NEXT:    adcl %ecx, %ebp
2498 ; X32-NEXT:    setb %cl
2499 ; X32-NEXT:    movl %edi, %eax
2500 ; X32-NEXT:    mull %ebx
2501 ; X32-NEXT:    addl %ebp, %eax
2502 ; X32-NEXT:    movzbl %cl, %ecx
2503 ; X32-NEXT:    adcl %ecx, %edx
2504 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2505 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2506 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2507 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2508 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2509 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2510 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2511 ; X32-NEXT:    movl 72(%eax), %ebx
2512 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2513 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2514 ; X32-NEXT:    movl %edi, %eax
2515 ; X32-NEXT:    mull %ebx
2516 ; X32-NEXT:    movl %edx, %esi
2517 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2518 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2519 ; X32-NEXT:    movl %ecx, %eax
2520 ; X32-NEXT:    mull %ebx
2521 ; X32-NEXT:    movl %edx, %ebx
2522 ; X32-NEXT:    movl %eax, %ebp
2523 ; X32-NEXT:    addl %esi, %ebp
2524 ; X32-NEXT:    adcl $0, %ebx
2525 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2526 ; X32-NEXT:    movl 76(%eax), %edx
2527 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2528 ; X32-NEXT:    movl %edi, %eax
2529 ; X32-NEXT:    mull %edx
2530 ; X32-NEXT:    movl %edx, %esi
2531 ; X32-NEXT:    addl %ebp, %eax
2532 ; X32-NEXT:    movl %eax, %edi
2533 ; X32-NEXT:    adcl %ebx, %esi
2534 ; X32-NEXT:    setb %bl
2535 ; X32-NEXT:    movl %ecx, %eax
2536 ; X32-NEXT:    mull {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload
2537 ; X32-NEXT:    movl %eax, %ebp
2538 ; X32-NEXT:    addl %esi, %ebp
2539 ; X32-NEXT:    movzbl %bl, %eax
2540 ; X32-NEXT:    adcl %eax, %edx
2541 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2542 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2543 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2544 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2545 ; X32-NEXT:    adcl $0, %ebp
2546 ; X32-NEXT:    adcl $0, %edx
2547 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2548 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2549 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2550 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2551 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2552 ; X32-NEXT:    movl %esi, %eax
2553 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2554 ; X32-NEXT:    mull %ecx
2555 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2556 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2557 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2558 ; X32-NEXT:    mull %ecx
2559 ; X32-NEXT:    movl %edx, %ebx
2560 ; X32-NEXT:    movl %eax, %edi
2561 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2562 ; X32-NEXT:    adcl $0, %ebx
2563 ; X32-NEXT:    movl %esi, %eax
2564 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2565 ; X32-NEXT:    mull %ecx
2566 ; X32-NEXT:    movl %edx, %esi
2567 ; X32-NEXT:    addl %edi, %eax
2568 ; X32-NEXT:    movl %eax, %edi
2569 ; X32-NEXT:    adcl %ebx, %esi
2570 ; X32-NEXT:    setb %bl
2571 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2572 ; X32-NEXT:    mull %ecx
2573 ; X32-NEXT:    addl %esi, %eax
2574 ; X32-NEXT:    movl %eax, %esi
2575 ; X32-NEXT:    movzbl %bl, %eax
2576 ; X32-NEXT:    adcl %eax, %edx
2577 ; X32-NEXT:    addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2578 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2579 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2580 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2581 ; X32-NEXT:    adcl %eax, %esi
2582 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2583 ; X32-NEXT:    adcl $0, %edx
2584 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2585 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2586 ; X32-NEXT:    movl %ebp, %eax
2587 ; X32-NEXT:    movl (%esp), %ecx # 4-byte Reload
2588 ; X32-NEXT:    mull %ecx
2589 ; X32-NEXT:    movl %edx, %edi
2590 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2591 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2592 ; X32-NEXT:    movl %ebx, %eax
2593 ; X32-NEXT:    mull %ecx
2594 ; X32-NEXT:    movl %edx, %ecx
2595 ; X32-NEXT:    movl %eax, %esi
2596 ; X32-NEXT:    addl %edi, %esi
2597 ; X32-NEXT:    adcl $0, %ecx
2598 ; X32-NEXT:    movl %ebp, %eax
2599 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2600 ; X32-NEXT:    mull %ebp
2601 ; X32-NEXT:    movl %edx, %edi
2602 ; X32-NEXT:    addl %esi, %eax
2603 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2604 ; X32-NEXT:    adcl %ecx, %edi
2605 ; X32-NEXT:    setb %cl
2606 ; X32-NEXT:    movl %ebx, %eax
2607 ; X32-NEXT:    mull %ebp
2608 ; X32-NEXT:    addl %edi, %eax
2609 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2610 ; X32-NEXT:    movzbl %cl, %eax
2611 ; X32-NEXT:    adcl %eax, %edx
2612 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2613 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2614 ; X32-NEXT:    movl %ebx, %eax
2615 ; X32-NEXT:    movl (%esp), %ecx # 4-byte Reload
2616 ; X32-NEXT:    mull %ecx
2617 ; X32-NEXT:    movl %edx, %ebp
2618 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2619 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2620 ; X32-NEXT:    movl %edi, %eax
2621 ; X32-NEXT:    mull %ecx
2622 ; X32-NEXT:    movl %edx, %ecx
2623 ; X32-NEXT:    movl %eax, %esi
2624 ; X32-NEXT:    addl %ebp, %esi
2625 ; X32-NEXT:    adcl $0, %ecx
2626 ; X32-NEXT:    movl %ebx, %eax
2627 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2628 ; X32-NEXT:    mull %ebx
2629 ; X32-NEXT:    movl %edx, %ebp
2630 ; X32-NEXT:    addl %esi, %eax
2631 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2632 ; X32-NEXT:    adcl %ecx, %ebp
2633 ; X32-NEXT:    setb %cl
2634 ; X32-NEXT:    movl %edi, %eax
2635 ; X32-NEXT:    mull %ebx
2636 ; X32-NEXT:    addl %ebp, %eax
2637 ; X32-NEXT:    movzbl %cl, %ecx
2638 ; X32-NEXT:    adcl %ecx, %edx
2639 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2640 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2641 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2642 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2643 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2644 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2645 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2646 ; X32-NEXT:    movl %edi, %eax
2647 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2648 ; X32-NEXT:    mull %ebx
2649 ; X32-NEXT:    movl %edx, %esi
2650 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2651 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2652 ; X32-NEXT:    movl %ecx, %eax
2653 ; X32-NEXT:    mull %ebx
2654 ; X32-NEXT:    movl %edx, %ebx
2655 ; X32-NEXT:    movl %eax, %ebp
2656 ; X32-NEXT:    addl %esi, %ebp
2657 ; X32-NEXT:    adcl $0, %ebx
2658 ; X32-NEXT:    movl %edi, %eax
2659 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2660 ; X32-NEXT:    mull %edi
2661 ; X32-NEXT:    movl %edx, %esi
2662 ; X32-NEXT:    addl %ebp, %eax
2663 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2664 ; X32-NEXT:    adcl %ebx, %esi
2665 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2666 ; X32-NEXT:    movl %ecx, %eax
2667 ; X32-NEXT:    mull %edi
2668 ; X32-NEXT:    movl %eax, %ebx
2669 ; X32-NEXT:    addl %esi, %ebx
2670 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2671 ; X32-NEXT:    adcl %eax, %edx
2672 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2673 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2674 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2675 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2676 ; X32-NEXT:    adcl $0, %ebx
2677 ; X32-NEXT:    adcl $0, %edx
2678 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2679 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2680 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2681 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2682 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2683 ; X32-NEXT:    movl %ebp, %eax
2684 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2685 ; X32-NEXT:    mull %ecx
2686 ; X32-NEXT:    movl %edx, %esi
2687 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2688 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2689 ; X32-NEXT:    mull %ecx
2690 ; X32-NEXT:    movl %edx, %ecx
2691 ; X32-NEXT:    movl %eax, %edi
2692 ; X32-NEXT:    addl %esi, %edi
2693 ; X32-NEXT:    adcl $0, %ecx
2694 ; X32-NEXT:    movl %ebp, %eax
2695 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2696 ; X32-NEXT:    mull %ebp
2697 ; X32-NEXT:    movl %edx, %esi
2698 ; X32-NEXT:    addl %edi, %eax
2699 ; X32-NEXT:    movl %eax, %edi
2700 ; X32-NEXT:    adcl %ecx, %esi
2701 ; X32-NEXT:    setb %cl
2702 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2703 ; X32-NEXT:    mull %ebp
2704 ; X32-NEXT:    addl %esi, %eax
2705 ; X32-NEXT:    movzbl %cl, %ecx
2706 ; X32-NEXT:    movl %edx, %esi
2707 ; X32-NEXT:    adcl %ecx, %esi
2708 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2709 ; X32-NEXT:    addl %ebx, %ecx
2710 ; X32-NEXT:    movl %edi, %edx
2711 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2712 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 1-byte Folded Reload
2713 ; X32-NEXT:    adcl %edi, %eax
2714 ; X32-NEXT:    adcl $0, %esi
2715 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2716 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2717 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2718 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2719 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2720 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2721 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2722 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2723 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2724 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2725 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2726 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2727 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2728 ; X32-NEXT:    movl 80(%eax), %esi
2729 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2730 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2731 ; X32-NEXT:    movl %edi, %eax
2732 ; X32-NEXT:    mull %esi
2733 ; X32-NEXT:    movl %edx, %ecx
2734 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2735 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2736 ; X32-NEXT:    movl %ebp, %eax
2737 ; X32-NEXT:    mull %esi
2738 ; X32-NEXT:    movl %edx, %esi
2739 ; X32-NEXT:    movl %eax, %ebx
2740 ; X32-NEXT:    addl %ecx, %ebx
2741 ; X32-NEXT:    adcl $0, %esi
2742 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2743 ; X32-NEXT:    movl 84(%eax), %ecx
2744 ; X32-NEXT:    movl %edi, %eax
2745 ; X32-NEXT:    mull %ecx
2746 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2747 ; X32-NEXT:    movl %edx, %edi
2748 ; X32-NEXT:    addl %ebx, %eax
2749 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2750 ; X32-NEXT:    adcl %esi, %edi
2751 ; X32-NEXT:    setb %bl
2752 ; X32-NEXT:    movl %ebp, %eax
2753 ; X32-NEXT:    mull %ecx
2754 ; X32-NEXT:    addl %edi, %eax
2755 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2756 ; X32-NEXT:    movzbl %bl, %eax
2757 ; X32-NEXT:    adcl %eax, %edx
2758 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2759 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2760 ; X32-NEXT:    movl %ebp, %eax
2761 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2762 ; X32-NEXT:    mull %esi
2763 ; X32-NEXT:    movl %edx, %ebx
2764 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2765 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2766 ; X32-NEXT:    movl %ecx, %eax
2767 ; X32-NEXT:    mull %esi
2768 ; X32-NEXT:    movl %edx, %esi
2769 ; X32-NEXT:    movl %eax, %edi
2770 ; X32-NEXT:    addl %ebx, %edi
2771 ; X32-NEXT:    adcl $0, %esi
2772 ; X32-NEXT:    movl %ebp, %eax
2773 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2774 ; X32-NEXT:    mull %ebx
2775 ; X32-NEXT:    movl %edx, %ebp
2776 ; X32-NEXT:    addl %edi, %eax
2777 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2778 ; X32-NEXT:    adcl %esi, %ebp
2779 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2780 ; X32-NEXT:    movl %ecx, %eax
2781 ; X32-NEXT:    mull %ebx
2782 ; X32-NEXT:    movl %eax, %edi
2783 ; X32-NEXT:    addl %ebp, %edi
2784 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2785 ; X32-NEXT:    adcl %eax, %edx
2786 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
2787 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2788 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2789 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2790 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2791 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2792 ; X32-NEXT:    movl 88(%eax), %esi
2793 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2794 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2795 ; X32-NEXT:    movl %ebx, %eax
2796 ; X32-NEXT:    mull %esi
2797 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2798 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2799 ; X32-NEXT:    movl %ecx, %eax
2800 ; X32-NEXT:    mull %esi
2801 ; X32-NEXT:    movl %edx, %ecx
2802 ; X32-NEXT:    movl %eax, %ebp
2803 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2804 ; X32-NEXT:    adcl $0, %ecx
2805 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
2806 ; X32-NEXT:    movl 92(%eax), %esi
2807 ; X32-NEXT:    movl %ebx, %eax
2808 ; X32-NEXT:    mull %esi
2809 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2810 ; X32-NEXT:    movl %edx, %ebx
2811 ; X32-NEXT:    addl %ebp, %eax
2812 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2813 ; X32-NEXT:    adcl %ecx, %ebx
2814 ; X32-NEXT:    setb %cl
2815 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2816 ; X32-NEXT:    mull %esi
2817 ; X32-NEXT:    movl %eax, %ebp
2818 ; X32-NEXT:    addl %ebx, %ebp
2819 ; X32-NEXT:    movzbl %cl, %eax
2820 ; X32-NEXT:    adcl %eax, %edx
2821 ; X32-NEXT:    addl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2822 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2823 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2824 ; X32-NEXT:    adcl $0, %ebp
2825 ; X32-NEXT:    adcl $0, %edx
2826 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2827 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2828 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2829 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2830 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
2831 ; X32-NEXT:    movl %edi, %eax
2832 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2833 ; X32-NEXT:    mull %ecx
2834 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2835 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2836 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2837 ; X32-NEXT:    mull %ecx
2838 ; X32-NEXT:    movl %edx, %esi
2839 ; X32-NEXT:    movl %eax, %ebx
2840 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2841 ; X32-NEXT:    adcl $0, %esi
2842 ; X32-NEXT:    movl %edi, %eax
2843 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2844 ; X32-NEXT:    mull %ecx
2845 ; X32-NEXT:    movl %edx, %edi
2846 ; X32-NEXT:    addl %ebx, %eax
2847 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2848 ; X32-NEXT:    adcl %esi, %edi
2849 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2850 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2851 ; X32-NEXT:    mull %ecx
2852 ; X32-NEXT:    movl %eax, %ebx
2853 ; X32-NEXT:    addl %edi, %ebx
2854 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2855 ; X32-NEXT:    movl %edx, %esi
2856 ; X32-NEXT:    adcl %eax, %esi
2857 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
2858 ; X32-NEXT:    addl %ebp, %edx
2859 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2860 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2861 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2862 ; X32-NEXT:    adcl %eax, %ebx
2863 ; X32-NEXT:    adcl $0, %esi
2864 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2865 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2866 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2867 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2868 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2869 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2870 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2871 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2872 ; X32-NEXT:    movl %edx, %eax
2873 ; X32-NEXT:    adcl $0, %eax
2874 ; X32-NEXT:    adcl $0, %ecx
2875 ; X32-NEXT:    adcl $0, %ebx
2876 ; X32-NEXT:    adcl $0, %esi
2877 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2878 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2879 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
2880 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2881 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2882 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2883 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
2884 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2885 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2886 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2887 ; X32-NEXT:    movl %ebx, %eax
2888 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2889 ; X32-NEXT:    mull %ecx
2890 ; X32-NEXT:    movl %edx, %edi
2891 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2892 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2893 ; X32-NEXT:    movl %ebp, %eax
2894 ; X32-NEXT:    mull %ecx
2895 ; X32-NEXT:    movl %edx, %ecx
2896 ; X32-NEXT:    movl %eax, %esi
2897 ; X32-NEXT:    addl %edi, %esi
2898 ; X32-NEXT:    adcl $0, %ecx
2899 ; X32-NEXT:    movl %ebx, %eax
2900 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2901 ; X32-NEXT:    mull %ebx
2902 ; X32-NEXT:    movl %edx, %edi
2903 ; X32-NEXT:    addl %esi, %eax
2904 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2905 ; X32-NEXT:    adcl %ecx, %edi
2906 ; X32-NEXT:    setb %cl
2907 ; X32-NEXT:    movl %ebp, %eax
2908 ; X32-NEXT:    mull %ebx
2909 ; X32-NEXT:    addl %edi, %eax
2910 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2911 ; X32-NEXT:    movzbl %cl, %eax
2912 ; X32-NEXT:    adcl %eax, %edx
2913 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2914 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2915 ; X32-NEXT:    movl %ebp, %eax
2916 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2917 ; X32-NEXT:    mull %ecx
2918 ; X32-NEXT:    movl %edx, %edi
2919 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2920 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
2921 ; X32-NEXT:    movl %ebx, %eax
2922 ; X32-NEXT:    mull %ecx
2923 ; X32-NEXT:    movl %edx, %ecx
2924 ; X32-NEXT:    movl %eax, %esi
2925 ; X32-NEXT:    addl %edi, %esi
2926 ; X32-NEXT:    adcl $0, %ecx
2927 ; X32-NEXT:    movl %ebp, %eax
2928 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
2929 ; X32-NEXT:    mull %ebp
2930 ; X32-NEXT:    movl %edx, %edi
2931 ; X32-NEXT:    addl %esi, %eax
2932 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2933 ; X32-NEXT:    adcl %ecx, %edi
2934 ; X32-NEXT:    setb %cl
2935 ; X32-NEXT:    movl %ebx, %eax
2936 ; X32-NEXT:    mull %ebp
2937 ; X32-NEXT:    addl %edi, %eax
2938 ; X32-NEXT:    movzbl %cl, %ecx
2939 ; X32-NEXT:    adcl %ecx, %edx
2940 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
2941 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2942 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2943 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2944 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2945 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2946 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2947 ; X32-NEXT:    movl %esi, %eax
2948 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2949 ; X32-NEXT:    mull %ecx
2950 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2951 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2952 ; X32-NEXT:    movl %ebx, %eax
2953 ; X32-NEXT:    mull %ecx
2954 ; X32-NEXT:    movl %edx, %edi
2955 ; X32-NEXT:    movl %eax, %ebp
2956 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2957 ; X32-NEXT:    adcl $0, %edi
2958 ; X32-NEXT:    movl %esi, %eax
2959 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2960 ; X32-NEXT:    mull %ecx
2961 ; X32-NEXT:    movl %edx, %esi
2962 ; X32-NEXT:    addl %ebp, %eax
2963 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2964 ; X32-NEXT:    adcl %edi, %esi
2965 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2966 ; X32-NEXT:    movl %ebx, %eax
2967 ; X32-NEXT:    mull %ecx
2968 ; X32-NEXT:    movl %eax, %ebp
2969 ; X32-NEXT:    addl %esi, %ebp
2970 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
2971 ; X32-NEXT:    adcl %eax, %edx
2972 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2973 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2974 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2975 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
2976 ; X32-NEXT:    adcl $0, %ebp
2977 ; X32-NEXT:    adcl $0, %edx
2978 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
2979 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
2980 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2981 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
2982 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
2983 ; X32-NEXT:    movl %esi, %eax
2984 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2985 ; X32-NEXT:    mull %ecx
2986 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2987 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
2988 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
2989 ; X32-NEXT:    mull %ecx
2990 ; X32-NEXT:    movl %edx, %edi
2991 ; X32-NEXT:    movl %eax, %ebx
2992 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
2993 ; X32-NEXT:    adcl $0, %edi
2994 ; X32-NEXT:    movl %esi, %eax
2995 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
2996 ; X32-NEXT:    mull %ecx
2997 ; X32-NEXT:    movl %edx, %esi
2998 ; X32-NEXT:    addl %ebx, %eax
2999 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3000 ; X32-NEXT:    adcl %edi, %esi
3001 ; X32-NEXT:    setb %bl
3002 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3003 ; X32-NEXT:    mull %ecx
3004 ; X32-NEXT:    addl %esi, %eax
3005 ; X32-NEXT:    movl %eax, %esi
3006 ; X32-NEXT:    movzbl %bl, %eax
3007 ; X32-NEXT:    adcl %eax, %edx
3008 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3009 ; X32-NEXT:    addl %ebp, %ecx
3010 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3011 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3012 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3013 ; X32-NEXT:    adcl %eax, %esi
3014 ; X32-NEXT:    adcl $0, %edx
3015 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3016 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3017 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3018 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3019 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3020 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3021 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3022 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3023 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3024 ; X32-NEXT:    adcl %eax, %ecx
3025 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3026 ; X32-NEXT:    adcl $0, %ebx
3027 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3028 ; X32-NEXT:    adcl $0, %esi
3029 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3030 ; X32-NEXT:    adcl $0, %edx
3031 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3032 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3033 ; X32-NEXT:    movl %ebx, %eax
3034 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3035 ; X32-NEXT:    mull %ecx
3036 ; X32-NEXT:    movl %edx, %edi
3037 ; X32-NEXT:    movl %eax, {{[-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:    mull %ecx
3041 ; X32-NEXT:    movl %edx, %ecx
3042 ; X32-NEXT:    movl %eax, %esi
3043 ; X32-NEXT:    addl %edi, %esi
3044 ; X32-NEXT:    adcl $0, %ecx
3045 ; X32-NEXT:    movl %ebx, %eax
3046 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3047 ; X32-NEXT:    mull %edi
3048 ; X32-NEXT:    movl %edx, %ebx
3049 ; X32-NEXT:    addl %esi, %eax
3050 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3051 ; X32-NEXT:    adcl %ecx, %ebx
3052 ; X32-NEXT:    setb %cl
3053 ; X32-NEXT:    movl %ebp, %eax
3054 ; X32-NEXT:    mull %edi
3055 ; X32-NEXT:    addl %ebx, %eax
3056 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3057 ; X32-NEXT:    movzbl %cl, %eax
3058 ; X32-NEXT:    adcl %eax, %edx
3059 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3060 ; X32-NEXT:    movl (%esp), %ebx # 4-byte Reload
3061 ; X32-NEXT:    movl %ebx, %eax
3062 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3063 ; X32-NEXT:    mull %ecx
3064 ; X32-NEXT:    movl %edx, %edi
3065 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3066 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3067 ; X32-NEXT:    movl %ebp, %eax
3068 ; X32-NEXT:    mull %ecx
3069 ; X32-NEXT:    movl %edx, %ecx
3070 ; X32-NEXT:    movl %eax, %esi
3071 ; X32-NEXT:    addl %edi, %esi
3072 ; X32-NEXT:    adcl $0, %ecx
3073 ; X32-NEXT:    movl %ebx, %eax
3074 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3075 ; X32-NEXT:    mull %ebx
3076 ; X32-NEXT:    movl %edx, %edi
3077 ; X32-NEXT:    addl %esi, %eax
3078 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3079 ; X32-NEXT:    adcl %ecx, %edi
3080 ; X32-NEXT:    setb %cl
3081 ; X32-NEXT:    movl %ebp, %eax
3082 ; X32-NEXT:    mull %ebx
3083 ; X32-NEXT:    movl %eax, %ebx
3084 ; X32-NEXT:    addl %edi, %ebx
3085 ; X32-NEXT:    movzbl %cl, %eax
3086 ; X32-NEXT:    adcl %eax, %edx
3087 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3088 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3089 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3090 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3091 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3092 ; X32-NEXT:    movl (%esp), %ecx # 4-byte Reload
3093 ; X32-NEXT:    movl %ecx, %eax
3094 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3095 ; X32-NEXT:    mull %edi
3096 ; X32-NEXT:    movl %edx, %esi
3097 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3098 ; X32-NEXT:    movl %ebp, %eax
3099 ; X32-NEXT:    mull %edi
3100 ; X32-NEXT:    movl %edx, %edi
3101 ; X32-NEXT:    movl %eax, %ebp
3102 ; X32-NEXT:    addl %esi, %ebp
3103 ; X32-NEXT:    adcl $0, %edi
3104 ; X32-NEXT:    movl %ecx, %eax
3105 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3106 ; X32-NEXT:    mull %ecx
3107 ; X32-NEXT:    movl %edx, %esi
3108 ; X32-NEXT:    addl %ebp, %eax
3109 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3110 ; X32-NEXT:    adcl %edi, %esi
3111 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3112 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3113 ; X32-NEXT:    mull %ecx
3114 ; X32-NEXT:    movl %edx, %ebp
3115 ; X32-NEXT:    movl %eax, %edi
3116 ; X32-NEXT:    addl %esi, %edi
3117 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3118 ; X32-NEXT:    adcl %eax, %ebp
3119 ; X32-NEXT:    addl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3120 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3121 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3122 ; X32-NEXT:    adcl $0, %edi
3123 ; X32-NEXT:    adcl $0, %ebp
3124 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3125 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3126 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3127 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3128 ; X32-NEXT:    movl %esi, %eax
3129 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3130 ; X32-NEXT:    mull %ecx
3131 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3132 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3133 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3134 ; X32-NEXT:    mull %ecx
3135 ; X32-NEXT:    movl %edx, %ecx
3136 ; X32-NEXT:    movl %eax, %ebx
3137 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3138 ; X32-NEXT:    adcl $0, %ecx
3139 ; X32-NEXT:    movl %esi, %eax
3140 ; X32-NEXT:    mull {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload
3141 ; X32-NEXT:    movl %edx, %esi
3142 ; X32-NEXT:    addl %ebx, %eax
3143 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3144 ; X32-NEXT:    adcl %ecx, %esi
3145 ; X32-NEXT:    setb %cl
3146 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3147 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3148 ; X32-NEXT:    mull %ebx
3149 ; X32-NEXT:    addl %esi, %eax
3150 ; X32-NEXT:    movl %eax, %esi
3151 ; X32-NEXT:    movzbl %cl, %eax
3152 ; X32-NEXT:    adcl %eax, %edx
3153 ; X32-NEXT:    addl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3154 ; X32-NEXT:    adcl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3155 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3156 ; X32-NEXT:    adcl %eax, %esi
3157 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3158 ; X32-NEXT:    adcl $0, %edx
3159 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3160 ; X32-NEXT:    movl %ebx, %esi
3161 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3162 ; X32-NEXT:    imull %eax, %esi
3163 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3164 ; X32-NEXT:    mull %ebx
3165 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3166 ; X32-NEXT:    addl %esi, %edx
3167 ; X32-NEXT:    movl %ebx, %eax
3168 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3169 ; X32-NEXT:    imull %ebp, %eax
3170 ; X32-NEXT:    addl %edx, %eax
3171 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3172 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3173 ; X32-NEXT:    movl %eax, %esi
3174 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3175 ; X32-NEXT:    imull %ebx, %esi
3176 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3177 ; X32-NEXT:    mull %edi
3178 ; X32-NEXT:    movl %eax, %ecx
3179 ; X32-NEXT:    addl %esi, %edx
3180 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3181 ; X32-NEXT:    imull %edi, %esi
3182 ; X32-NEXT:    addl %edx, %esi
3183 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3184 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3185 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3186 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3187 ; X32-NEXT:    movl %edi, %eax
3188 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3189 ; X32-NEXT:    mull %ecx
3190 ; X32-NEXT:    movl %edx, %edi
3191 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3192 ; X32-NEXT:    movl %ebx, %eax
3193 ; X32-NEXT:    mull %ecx
3194 ; X32-NEXT:    movl %edx, %ecx
3195 ; X32-NEXT:    movl %eax, %esi
3196 ; X32-NEXT:    addl %edi, %esi
3197 ; X32-NEXT:    adcl $0, %ecx
3198 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3199 ; X32-NEXT:    mull %ebp
3200 ; X32-NEXT:    movl %edx, %ebx
3201 ; X32-NEXT:    addl %esi, %eax
3202 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3203 ; X32-NEXT:    adcl %ecx, %ebx
3204 ; X32-NEXT:    setb %cl
3205 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3206 ; X32-NEXT:    mull %ebp
3207 ; X32-NEXT:    addl %ebx, %eax
3208 ; X32-NEXT:    movzbl %cl, %ecx
3209 ; X32-NEXT:    adcl %ecx, %edx
3210 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3211 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3212 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3213 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3214 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3215 ; X32-NEXT:    movl (%esp), %eax # 4-byte Reload
3216 ; X32-NEXT:    imull %eax, %ecx
3217 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3218 ; X32-NEXT:    mull %ebp
3219 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3220 ; X32-NEXT:    addl %ecx, %edx
3221 ; X32-NEXT:    imull {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3222 ; X32-NEXT:    addl %edx, %ebp
3223 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3224 ; X32-NEXT:    movl %eax, %ecx
3225 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3226 ; X32-NEXT:    imull %ebx, %ecx
3227 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3228 ; X32-NEXT:    mull %edi
3229 ; X32-NEXT:    movl %eax, %esi
3230 ; X32-NEXT:    addl %ecx, %edx
3231 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3232 ; X32-NEXT:    imull %edi, %ecx
3233 ; X32-NEXT:    addl %edx, %ecx
3234 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3235 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3236 ; X32-NEXT:    adcl %ebp, %ecx
3237 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3238 ; X32-NEXT:    movl %edi, %eax
3239 ; X32-NEXT:    movl (%esp), %ecx # 4-byte Reload
3240 ; X32-NEXT:    mull %ecx
3241 ; X32-NEXT:    movl %edx, %ebp
3242 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3243 ; X32-NEXT:    movl %ebx, %eax
3244 ; X32-NEXT:    mull %ecx
3245 ; X32-NEXT:    movl %edx, %ebx
3246 ; X32-NEXT:    movl %eax, %ecx
3247 ; X32-NEXT:    addl %ebp, %ecx
3248 ; X32-NEXT:    adcl $0, %ebx
3249 ; X32-NEXT:    movl %edi, %eax
3250 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3251 ; X32-NEXT:    mull %edi
3252 ; X32-NEXT:    movl %edx, %ebp
3253 ; X32-NEXT:    movl %eax, %esi
3254 ; X32-NEXT:    addl %ecx, %esi
3255 ; X32-NEXT:    adcl %ebx, %ebp
3256 ; X32-NEXT:    setb %cl
3257 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3258 ; X32-NEXT:    mull %edi
3259 ; X32-NEXT:    addl %ebp, %eax
3260 ; X32-NEXT:    movzbl %cl, %ecx
3261 ; X32-NEXT:    adcl %ecx, %edx
3262 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3263 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3264 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3265 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3266 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3267 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3268 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3269 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3270 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3271 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3272 ; X32-NEXT:    movl %esi, (%esp) # 4-byte Spill
3273 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3274 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3275 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3276 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3277 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
3278 ; X32-NEXT:    movl 104(%ecx), %ebx
3279 ; X32-NEXT:    movl %ebx, %eax
3280 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3281 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3282 ; X32-NEXT:    mull %edi
3283 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3284 ; X32-NEXT:    movl %edx, %esi
3285 ; X32-NEXT:    movl 108(%ecx), %ebp
3286 ; X32-NEXT:    movl %ebp, %eax
3287 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3288 ; X32-NEXT:    mull %edi
3289 ; X32-NEXT:    movl %edx, %ecx
3290 ; X32-NEXT:    movl %eax, %edi
3291 ; X32-NEXT:    addl %esi, %edi
3292 ; X32-NEXT:    adcl $0, %ecx
3293 ; X32-NEXT:    movl %ebx, %eax
3294 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3295 ; X32-NEXT:    mull %ebx
3296 ; X32-NEXT:    movl %edx, %esi
3297 ; X32-NEXT:    addl %edi, %eax
3298 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3299 ; X32-NEXT:    adcl %ecx, %esi
3300 ; X32-NEXT:    setb %cl
3301 ; X32-NEXT:    movl %ebp, %eax
3302 ; X32-NEXT:    mull %ebx
3303 ; X32-NEXT:    addl %esi, %eax
3304 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3305 ; X32-NEXT:    movzbl %cl, %eax
3306 ; X32-NEXT:    adcl %eax, %edx
3307 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3308 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
3309 ; X32-NEXT:    movl 96(%esi), %ebx
3310 ; X32-NEXT:    movl %ebx, %eax
3311 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3312 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3313 ; X32-NEXT:    mull %ecx
3314 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3315 ; X32-NEXT:    movl %edx, %edi
3316 ; X32-NEXT:    movl 100(%esi), %ebp
3317 ; X32-NEXT:    movl %ebp, %eax
3318 ; X32-NEXT:    mull %ecx
3319 ; X32-NEXT:    movl %edx, %ecx
3320 ; X32-NEXT:    movl %eax, %esi
3321 ; X32-NEXT:    addl %edi, %esi
3322 ; X32-NEXT:    adcl $0, %ecx
3323 ; X32-NEXT:    movl %ebx, %eax
3324 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3325 ; X32-NEXT:    mull %edi
3326 ; X32-NEXT:    movl %edx, %ebx
3327 ; X32-NEXT:    addl %esi, %eax
3328 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3329 ; X32-NEXT:    adcl %ecx, %ebx
3330 ; X32-NEXT:    setb %cl
3331 ; X32-NEXT:    movl %ebp, %eax
3332 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3333 ; X32-NEXT:    mull %edi
3334 ; X32-NEXT:    movl %eax, %esi
3335 ; X32-NEXT:    addl %ebx, %esi
3336 ; X32-NEXT:    movzbl %cl, %eax
3337 ; X32-NEXT:    adcl %eax, %edx
3338 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3339 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3340 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3341 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3342 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3343 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3344 ; X32-NEXT:    movl %edi, %eax
3345 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3346 ; X32-NEXT:    mull %ecx
3347 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3348 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3349 ; X32-NEXT:    movl %ebp, %eax
3350 ; X32-NEXT:    mull %ecx
3351 ; X32-NEXT:    movl %edx, %ecx
3352 ; X32-NEXT:    movl %eax, %ebx
3353 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3354 ; X32-NEXT:    adcl $0, %ecx
3355 ; X32-NEXT:    movl %edi, %eax
3356 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3357 ; X32-NEXT:    mull %ebp
3358 ; X32-NEXT:    movl %edx, %edi
3359 ; X32-NEXT:    addl %ebx, %eax
3360 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3361 ; X32-NEXT:    adcl %ecx, %edi
3362 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3363 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3364 ; X32-NEXT:    mull %ebp
3365 ; X32-NEXT:    movl %edx, %ebx
3366 ; X32-NEXT:    movl %eax, %ecx
3367 ; X32-NEXT:    addl %edi, %ecx
3368 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3369 ; X32-NEXT:    adcl %eax, %ebx
3370 ; X32-NEXT:    addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3371 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3372 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3373 ; X32-NEXT:    adcl $0, %ecx
3374 ; X32-NEXT:    adcl $0, %ebx
3375 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3376 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3377 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3378 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3379 ; X32-NEXT:    movl %edi, %eax
3380 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3381 ; X32-NEXT:    mull %esi
3382 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3383 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3384 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3385 ; X32-NEXT:    mull %esi
3386 ; X32-NEXT:    movl %edx, %esi
3387 ; X32-NEXT:    movl %eax, %ebp
3388 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3389 ; X32-NEXT:    adcl $0, %esi
3390 ; X32-NEXT:    movl %edi, %eax
3391 ; X32-NEXT:    mull {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload
3392 ; X32-NEXT:    movl %edx, %edi
3393 ; X32-NEXT:    addl %ebp, %eax
3394 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3395 ; X32-NEXT:    adcl %esi, %edi
3396 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3397 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3398 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3399 ; X32-NEXT:    mull %ebp
3400 ; X32-NEXT:    addl %edi, %eax
3401 ; X32-NEXT:    movl %eax, %esi
3402 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3403 ; X32-NEXT:    adcl %eax, %edx
3404 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3405 ; X32-NEXT:    adcl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3406 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3407 ; X32-NEXT:    adcl %eax, %esi
3408 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3409 ; X32-NEXT:    adcl $0, %edx
3410 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3411 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
3412 ; X32-NEXT:    movl 112(%esi), %edi
3413 ; X32-NEXT:    movl %ebp, %ecx
3414 ; X32-NEXT:    imull %edi, %ecx
3415 ; X32-NEXT:    movl %edi, %eax
3416 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3417 ; X32-NEXT:    mull %ebx
3418 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3419 ; X32-NEXT:    addl %ecx, %edx
3420 ; X32-NEXT:    movl 116(%esi), %eax
3421 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3422 ; X32-NEXT:    imull %eax, %ebx
3423 ; X32-NEXT:    addl %edx, %ebx
3424 ; X32-NEXT:    movl 120(%esi), %eax
3425 ; X32-NEXT:    movl %eax, %ecx
3426 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3427 ; X32-NEXT:    imull %esi, %ecx
3428 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3429 ; X32-NEXT:    mull %ebp
3430 ; X32-NEXT:    addl %ecx, %edx
3431 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
3432 ; X32-NEXT:    movl 124(%ecx), %ecx
3433 ; X32-NEXT:    imull %ebp, %ecx
3434 ; X32-NEXT:    addl %edx, %ecx
3435 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3436 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3437 ; X32-NEXT:    adcl %ebx, %ecx
3438 ; X32-NEXT:    movl %ebp, %eax
3439 ; X32-NEXT:    mull %edi
3440 ; X32-NEXT:    movl %edx, %ebx
3441 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3442 ; X32-NEXT:    movl %esi, %eax
3443 ; X32-NEXT:    mull %edi
3444 ; X32-NEXT:    movl %edx, %esi
3445 ; X32-NEXT:    movl %eax, %edi
3446 ; X32-NEXT:    addl %ebx, %edi
3447 ; X32-NEXT:    adcl $0, %esi
3448 ; X32-NEXT:    movl %ebp, %eax
3449 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3450 ; X32-NEXT:    mull %ebx
3451 ; X32-NEXT:    movl %edx, %ebp
3452 ; X32-NEXT:    addl %edi, %eax
3453 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3454 ; X32-NEXT:    adcl %esi, %ebp
3455 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3456 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3457 ; X32-NEXT:    mull %ebx
3458 ; X32-NEXT:    addl %ebp, %eax
3459 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 1-byte Folded Reload
3460 ; X32-NEXT:    adcl %esi, %edx
3461 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3462 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3463 ; X32-NEXT:    adcl %ecx, %edx
3464 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3465 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3466 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3467 ; X32-NEXT:    imull %ebp, %ecx
3468 ; X32-NEXT:    movl %ebp, %eax
3469 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3470 ; X32-NEXT:    mull %ebx
3471 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3472 ; X32-NEXT:    addl %ecx, %edx
3473 ; X32-NEXT:    movl %ebx, %eax
3474 ; X32-NEXT:    imull {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3475 ; X32-NEXT:    addl %edx, %eax
3476 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3477 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3478 ; X32-NEXT:    movl %eax, %edi
3479 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3480 ; X32-NEXT:    imull %ebx, %edi
3481 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3482 ; X32-NEXT:    mull %ecx
3483 ; X32-NEXT:    movl %eax, %esi
3484 ; X32-NEXT:    addl %edi, %edx
3485 ; X32-NEXT:    movl %ecx, %eax
3486 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3487 ; X32-NEXT:    imull %eax, %ecx
3488 ; X32-NEXT:    addl %edx, %ecx
3489 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3490 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3491 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3492 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3493 ; X32-NEXT:    movl %eax, %ecx
3494 ; X32-NEXT:    mull %ebp
3495 ; X32-NEXT:    movl %edx, %edi
3496 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3497 ; X32-NEXT:    movl %ebx, %eax
3498 ; X32-NEXT:    mull %ebp
3499 ; X32-NEXT:    movl %edx, %ebp
3500 ; X32-NEXT:    movl %eax, %ebx
3501 ; X32-NEXT:    addl %edi, %ebx
3502 ; X32-NEXT:    adcl $0, %ebp
3503 ; X32-NEXT:    movl %ecx, %eax
3504 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3505 ; X32-NEXT:    mull %esi
3506 ; X32-NEXT:    movl %edx, %edi
3507 ; X32-NEXT:    movl %eax, %ecx
3508 ; X32-NEXT:    addl %ebx, %ecx
3509 ; X32-NEXT:    adcl %ebp, %edi
3510 ; X32-NEXT:    setb %bl
3511 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3512 ; X32-NEXT:    mull %esi
3513 ; X32-NEXT:    addl %edi, %eax
3514 ; X32-NEXT:    movzbl %bl, %edi
3515 ; X32-NEXT:    adcl %edi, %edx
3516 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3517 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3518 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3519 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3520 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3521 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3522 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3523 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3524 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3525 ; X32-NEXT:    movl %ecx, %ebx
3526 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3527 ; X32-NEXT:    movl %eax, {{[-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, %ebp
3530 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3531 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3532 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3533 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3534 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
3535 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3536 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3537 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3538 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3539 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3540 ; X32-NEXT:    adcl (%esp), %ebx # 4-byte Folded Reload
3541 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3542 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3543 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3544 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3545 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3546 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3547 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3548 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3549 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3550 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3551 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3552 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3553 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3554 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3555 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3556 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3557 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3558 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3559 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3560 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
3561 ; X32-NEXT:    movl 88(%ecx), %ebx
3562 ; X32-NEXT:    movl %ebx, %eax
3563 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3564 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3565 ; X32-NEXT:    mull %esi
3566 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3567 ; X32-NEXT:    movl %edx, %edi
3568 ; X32-NEXT:    movl 92(%ecx), %ebp
3569 ; X32-NEXT:    movl %ebp, %eax
3570 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3571 ; X32-NEXT:    mull %esi
3572 ; X32-NEXT:    movl %edx, %ecx
3573 ; X32-NEXT:    movl %eax, %esi
3574 ; X32-NEXT:    addl %edi, %esi
3575 ; X32-NEXT:    adcl $0, %ecx
3576 ; X32-NEXT:    movl %ebx, %eax
3577 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3578 ; X32-NEXT:    mull %edi
3579 ; X32-NEXT:    movl %edx, %ebx
3580 ; X32-NEXT:    addl %esi, %eax
3581 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3582 ; X32-NEXT:    adcl %ecx, %ebx
3583 ; X32-NEXT:    setb %cl
3584 ; X32-NEXT:    movl %ebp, %eax
3585 ; X32-NEXT:    mull %edi
3586 ; X32-NEXT:    addl %ebx, %eax
3587 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3588 ; X32-NEXT:    movzbl %cl, %eax
3589 ; X32-NEXT:    adcl %eax, %edx
3590 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3591 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
3592 ; X32-NEXT:    movl 80(%ecx), %ebx
3593 ; X32-NEXT:    movl %ebx, %eax
3594 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3595 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3596 ; X32-NEXT:    mull %edi
3597 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3598 ; X32-NEXT:    movl %edx, %esi
3599 ; X32-NEXT:    movl 84(%ecx), %ebp
3600 ; X32-NEXT:    movl %ebp, %eax
3601 ; X32-NEXT:    mull %edi
3602 ; X32-NEXT:    movl %edx, %ecx
3603 ; X32-NEXT:    movl %eax, %edi
3604 ; X32-NEXT:    addl %esi, %edi
3605 ; X32-NEXT:    adcl $0, %ecx
3606 ; X32-NEXT:    movl %ebx, %eax
3607 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3608 ; X32-NEXT:    mull %ebx
3609 ; X32-NEXT:    movl %edx, %esi
3610 ; X32-NEXT:    addl %edi, %eax
3611 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3612 ; X32-NEXT:    adcl %ecx, %esi
3613 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3614 ; X32-NEXT:    movl %ebp, %eax
3615 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3616 ; X32-NEXT:    mull %ebx
3617 ; X32-NEXT:    movl %eax, %ecx
3618 ; X32-NEXT:    addl %esi, %ecx
3619 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3620 ; X32-NEXT:    adcl %eax, %edx
3621 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3622 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3623 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3624 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3625 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3626 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3627 ; X32-NEXT:    movl %ebx, %eax
3628 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3629 ; X32-NEXT:    mull %esi
3630 ; X32-NEXT:    movl %edx, %edi
3631 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3632 ; X32-NEXT:    movl %ebp, %eax
3633 ; X32-NEXT:    mull %esi
3634 ; X32-NEXT:    movl %edx, %esi
3635 ; X32-NEXT:    movl %eax, %ebp
3636 ; X32-NEXT:    addl %edi, %ebp
3637 ; X32-NEXT:    adcl $0, %esi
3638 ; X32-NEXT:    movl %ebx, %eax
3639 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3640 ; X32-NEXT:    mull %ebx
3641 ; X32-NEXT:    movl %edx, %edi
3642 ; X32-NEXT:    addl %ebp, %eax
3643 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3644 ; X32-NEXT:    adcl %esi, %edi
3645 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3646 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3647 ; X32-NEXT:    mull %ebx
3648 ; X32-NEXT:    movl %eax, %ebp
3649 ; X32-NEXT:    addl %edi, %ebp
3650 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3651 ; X32-NEXT:    adcl %eax, %edx
3652 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3653 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3654 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3655 ; X32-NEXT:    adcl $0, %ebp
3656 ; X32-NEXT:    adcl $0, %edx
3657 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3658 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3659 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3660 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3661 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3662 ; X32-NEXT:    movl %edi, %eax
3663 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3664 ; X32-NEXT:    mull %ecx
3665 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3666 ; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
3667 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3668 ; X32-NEXT:    mull %ecx
3669 ; X32-NEXT:    movl %edx, %esi
3670 ; X32-NEXT:    movl %eax, %ebx
3671 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3672 ; X32-NEXT:    adcl $0, %esi
3673 ; X32-NEXT:    movl %edi, %eax
3674 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3675 ; X32-NEXT:    mull %ecx
3676 ; X32-NEXT:    movl %edx, %edi
3677 ; X32-NEXT:    addl %ebx, %eax
3678 ; X32-NEXT:    movl %eax, %ebx
3679 ; X32-NEXT:    adcl %esi, %edi
3680 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3681 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3682 ; X32-NEXT:    mull %ecx
3683 ; X32-NEXT:    addl %edi, %eax
3684 ; X32-NEXT:    movl %eax, %edi
3685 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3686 ; X32-NEXT:    adcl %eax, %edx
3687 ; X32-NEXT:    addl %ebp, (%esp) # 4-byte Folded Spill
3688 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
3689 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3690 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3691 ; X32-NEXT:    adcl %eax, %edi
3692 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3693 ; X32-NEXT:    adcl $0, %edx
3694 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3695 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
3696 ; X32-NEXT:    movl 72(%ecx), %ebp
3697 ; X32-NEXT:    movl %ebp, %eax
3698 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3699 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3700 ; X32-NEXT:    mull %edi
3701 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3702 ; X32-NEXT:    movl %edx, %ebx
3703 ; X32-NEXT:    movl 76(%ecx), %esi
3704 ; X32-NEXT:    movl %esi, %eax
3705 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3706 ; X32-NEXT:    mull %edi
3707 ; X32-NEXT:    movl %edx, %ecx
3708 ; X32-NEXT:    movl %eax, %edi
3709 ; X32-NEXT:    addl %ebx, %edi
3710 ; X32-NEXT:    adcl $0, %ecx
3711 ; X32-NEXT:    movl %ebp, %eax
3712 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3713 ; X32-NEXT:    mull %ebp
3714 ; X32-NEXT:    movl %edx, %ebx
3715 ; X32-NEXT:    addl %edi, %eax
3716 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3717 ; X32-NEXT:    adcl %ecx, %ebx
3718 ; X32-NEXT:    setb %cl
3719 ; X32-NEXT:    movl %esi, %eax
3720 ; X32-NEXT:    mull %ebp
3721 ; X32-NEXT:    addl %ebx, %eax
3722 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3723 ; X32-NEXT:    movzbl %cl, %eax
3724 ; X32-NEXT:    adcl %eax, %edx
3725 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3726 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
3727 ; X32-NEXT:    movl 64(%esi), %ebx
3728 ; X32-NEXT:    movl %ebx, %eax
3729 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3730 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3731 ; X32-NEXT:    mull %ecx
3732 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3733 ; X32-NEXT:    movl %edx, %ebp
3734 ; X32-NEXT:    movl 68(%esi), %eax
3735 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3736 ; X32-NEXT:    mull %ecx
3737 ; X32-NEXT:    movl %edx, %ecx
3738 ; X32-NEXT:    movl %eax, %edi
3739 ; X32-NEXT:    addl %ebp, %edi
3740 ; X32-NEXT:    adcl $0, %ecx
3741 ; X32-NEXT:    movl %ebx, %eax
3742 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3743 ; X32-NEXT:    mull %esi
3744 ; X32-NEXT:    movl %edx, %ebp
3745 ; X32-NEXT:    addl %edi, %eax
3746 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3747 ; X32-NEXT:    adcl %ecx, %ebp
3748 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3749 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3750 ; X32-NEXT:    movl %ebx, %eax
3751 ; X32-NEXT:    mull %esi
3752 ; X32-NEXT:    movl %eax, %ecx
3753 ; X32-NEXT:    addl %ebp, %ecx
3754 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3755 ; X32-NEXT:    adcl %eax, %edx
3756 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3757 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3758 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3759 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3760 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3761 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3762 ; X32-NEXT:    movl %edi, %eax
3763 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3764 ; X32-NEXT:    mull %esi
3765 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3766 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3767 ; X32-NEXT:    movl %ebx, %eax
3768 ; X32-NEXT:    mull %esi
3769 ; X32-NEXT:    movl %edx, %esi
3770 ; X32-NEXT:    movl %eax, %ebp
3771 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3772 ; X32-NEXT:    adcl $0, %esi
3773 ; X32-NEXT:    movl %edi, %eax
3774 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3775 ; X32-NEXT:    mull %ebx
3776 ; X32-NEXT:    movl %edx, %edi
3777 ; X32-NEXT:    addl %ebp, %eax
3778 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3779 ; X32-NEXT:    adcl %esi, %edi
3780 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3781 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3782 ; X32-NEXT:    mull %ebx
3783 ; X32-NEXT:    movl %eax, %ebp
3784 ; X32-NEXT:    addl %edi, %ebp
3785 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3786 ; X32-NEXT:    adcl %eax, %edx
3787 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3788 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3789 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3790 ; X32-NEXT:    adcl $0, %ebp
3791 ; X32-NEXT:    adcl $0, %edx
3792 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3793 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3794 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3795 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3796 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3797 ; X32-NEXT:    movl %esi, %eax
3798 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3799 ; X32-NEXT:    mull %ecx
3800 ; X32-NEXT:    movl %edx, %edi
3801 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3802 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3803 ; X32-NEXT:    mull %ecx
3804 ; X32-NEXT:    movl %edx, %ecx
3805 ; X32-NEXT:    movl %eax, %ebx
3806 ; X32-NEXT:    addl %edi, %ebx
3807 ; X32-NEXT:    adcl $0, %ecx
3808 ; X32-NEXT:    movl %esi, %eax
3809 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3810 ; X32-NEXT:    mull %esi
3811 ; X32-NEXT:    movl %edx, %edi
3812 ; X32-NEXT:    addl %ebx, %eax
3813 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3814 ; X32-NEXT:    adcl %ecx, %edi
3815 ; X32-NEXT:    setb %cl
3816 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3817 ; X32-NEXT:    movl %ebx, %eax
3818 ; X32-NEXT:    mull %esi
3819 ; X32-NEXT:    addl %edi, %eax
3820 ; X32-NEXT:    movl %eax, %edi
3821 ; X32-NEXT:    movzbl %cl, %eax
3822 ; X32-NEXT:    movl %edx, %esi
3823 ; X32-NEXT:    adcl %eax, %esi
3824 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3825 ; X32-NEXT:    addl %ebp, %ecx
3826 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
3827 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3828 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
3829 ; X32-NEXT:    adcl %eax, %edi
3830 ; X32-NEXT:    adcl $0, %esi
3831 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3832 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3833 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3834 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3835 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3836 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3837 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3838 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3839 ; X32-NEXT:    adcl $0, (%esp) # 4-byte Folded Spill
3840 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3841 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3842 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3843 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3844 ; X32-NEXT:    movl %ebp, %eax
3845 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3846 ; X32-NEXT:    mull %ecx
3847 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3848 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3849 ; X32-NEXT:    movl %ebx, %eax
3850 ; X32-NEXT:    movl %ebx, %edi
3851 ; X32-NEXT:    mull %ecx
3852 ; X32-NEXT:    movl %edx, %esi
3853 ; X32-NEXT:    movl %eax, %ecx
3854 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
3855 ; X32-NEXT:    adcl $0, %esi
3856 ; X32-NEXT:    movl %ebp, %eax
3857 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3858 ; X32-NEXT:    mull %ebx
3859 ; X32-NEXT:    movl %edx, %ebp
3860 ; X32-NEXT:    addl %ecx, %eax
3861 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3862 ; X32-NEXT:    adcl %esi, %ebp
3863 ; X32-NEXT:    setb %cl
3864 ; X32-NEXT:    movl %edi, %eax
3865 ; X32-NEXT:    mull %ebx
3866 ; X32-NEXT:    addl %ebp, %eax
3867 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3868 ; X32-NEXT:    movzbl %cl, %eax
3869 ; X32-NEXT:    adcl %eax, %edx
3870 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3871 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3872 ; X32-NEXT:    movl %ebp, %eax
3873 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3874 ; X32-NEXT:    mull %esi
3875 ; X32-NEXT:    movl %edx, %ecx
3876 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3877 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
3878 ; X32-NEXT:    movl %edi, %eax
3879 ; X32-NEXT:    mull %esi
3880 ; X32-NEXT:    movl %edx, %esi
3881 ; X32-NEXT:    movl %eax, %ebx
3882 ; X32-NEXT:    addl %ecx, %ebx
3883 ; X32-NEXT:    adcl $0, %esi
3884 ; X32-NEXT:    movl %ebp, %eax
3885 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3886 ; X32-NEXT:    mull %ebp
3887 ; X32-NEXT:    movl %edx, %ecx
3888 ; X32-NEXT:    addl %ebx, %eax
3889 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3890 ; X32-NEXT:    adcl %esi, %ecx
3891 ; X32-NEXT:    setb %bl
3892 ; X32-NEXT:    movl %edi, %eax
3893 ; X32-NEXT:    mull %ebp
3894 ; X32-NEXT:    movl %eax, %esi
3895 ; X32-NEXT:    addl %ecx, %esi
3896 ; X32-NEXT:    movzbl %bl, %eax
3897 ; X32-NEXT:    adcl %eax, %edx
3898 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
3899 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3900 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3901 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3902 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3903 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3904 ; X32-NEXT:    movl %ebp, %eax
3905 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3906 ; X32-NEXT:    mull %ecx
3907 ; X32-NEXT:    movl %edx, %ebx
3908 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3909 ; X32-NEXT:    movl %edi, %eax
3910 ; X32-NEXT:    mull %ecx
3911 ; X32-NEXT:    movl %edx, %ecx
3912 ; X32-NEXT:    movl %eax, %edi
3913 ; X32-NEXT:    addl %ebx, %edi
3914 ; X32-NEXT:    adcl $0, %ecx
3915 ; X32-NEXT:    movl %ebp, %eax
3916 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3917 ; X32-NEXT:    mull %ebp
3918 ; X32-NEXT:    movl %edx, %ebx
3919 ; X32-NEXT:    addl %edi, %eax
3920 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3921 ; X32-NEXT:    adcl %ecx, %ebx
3922 ; X32-NEXT:    setb %cl
3923 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3924 ; X32-NEXT:    mull %ebp
3925 ; X32-NEXT:    movl %eax, %edi
3926 ; X32-NEXT:    addl %ebx, %edi
3927 ; X32-NEXT:    movzbl %cl, %eax
3928 ; X32-NEXT:    adcl %eax, %edx
3929 ; X32-NEXT:    addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3930 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3931 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3932 ; X32-NEXT:    adcl $0, %edi
3933 ; X32-NEXT:    adcl $0, %edx
3934 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
3935 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3936 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3937 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3938 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3939 ; X32-NEXT:    movl %ebx, %eax
3940 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3941 ; X32-NEXT:    mull %ecx
3942 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3943 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3944 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3945 ; X32-NEXT:    mull %ecx
3946 ; X32-NEXT:    movl %edx, %esi
3947 ; X32-NEXT:    movl %eax, %ebp
3948 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3949 ; X32-NEXT:    adcl $0, %esi
3950 ; X32-NEXT:    movl %ebx, %eax
3951 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3952 ; X32-NEXT:    mull %ecx
3953 ; X32-NEXT:    movl %edx, %ebx
3954 ; X32-NEXT:    addl %ebp, %eax
3955 ; X32-NEXT:    movl %eax, %ebp
3956 ; X32-NEXT:    adcl %esi, %ebx
3957 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3958 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
3959 ; X32-NEXT:    mull %ecx
3960 ; X32-NEXT:    addl %ebx, %eax
3961 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 1-byte Folded Reload
3962 ; X32-NEXT:    adcl %esi, %edx
3963 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
3964 ; X32-NEXT:    addl %edi, %esi
3965 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3966 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
3967 ; X32-NEXT:    adcl %ecx, %eax
3968 ; X32-NEXT:    adcl $0, %edx
3969 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3970 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3971 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3972 ; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3973 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3974 ; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3975 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3976 ; X32-NEXT:    adcl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
3977 ; X32-NEXT:    movl %esi, %ecx
3978 ; X32-NEXT:    adcl $0, %ecx
3979 ; X32-NEXT:    adcl $0, %ebp
3980 ; X32-NEXT:    adcl $0, %eax
3981 ; X32-NEXT:    adcl $0, %edx
3982 ; X32-NEXT:    addl (%esp), %ecx # 4-byte Folded Reload
3983 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3984 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
3985 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3986 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
3987 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3988 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
3989 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3990 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
3991 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
3992 ; X32-NEXT:    movl %ebx, %eax
3993 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
3994 ; X32-NEXT:    mull %ecx
3995 ; X32-NEXT:    movl %edx, %esi
3996 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
3997 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
3998 ; X32-NEXT:    movl %ebp, %eax
3999 ; X32-NEXT:    mull %ecx
4000 ; X32-NEXT:    movl %edx, %ecx
4001 ; X32-NEXT:    movl %eax, %edi
4002 ; X32-NEXT:    addl %esi, %edi
4003 ; X32-NEXT:    adcl $0, %ecx
4004 ; X32-NEXT:    movl %ebx, %eax
4005 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4006 ; X32-NEXT:    mull %ebx
4007 ; X32-NEXT:    movl %edx, %esi
4008 ; X32-NEXT:    addl %edi, %eax
4009 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4010 ; X32-NEXT:    adcl %ecx, %esi
4011 ; X32-NEXT:    setb %cl
4012 ; X32-NEXT:    movl %ebp, %eax
4013 ; X32-NEXT:    mull %ebx
4014 ; X32-NEXT:    addl %esi, %eax
4015 ; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
4016 ; X32-NEXT:    movzbl %cl, %eax
4017 ; X32-NEXT:    adcl %eax, %edx
4018 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4019 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4020 ; X32-NEXT:    movl %ebx, %eax
4021 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4022 ; X32-NEXT:    mull %ecx
4023 ; X32-NEXT:    movl %edx, %esi
4024 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4025 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4026 ; X32-NEXT:    movl %ebp, %eax
4027 ; X32-NEXT:    mull %ecx
4028 ; X32-NEXT:    movl %edx, %ecx
4029 ; X32-NEXT:    movl %eax, %edi
4030 ; X32-NEXT:    addl %esi, %edi
4031 ; X32-NEXT:    adcl $0, %ecx
4032 ; X32-NEXT:    movl %ebx, %eax
4033 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4034 ; X32-NEXT:    mull %ebx
4035 ; X32-NEXT:    movl %edx, %esi
4036 ; X32-NEXT:    addl %edi, %eax
4037 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4038 ; X32-NEXT:    adcl %ecx, %esi
4039 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4040 ; X32-NEXT:    movl %ebp, %eax
4041 ; X32-NEXT:    mull %ebx
4042 ; X32-NEXT:    movl %eax, %ecx
4043 ; X32-NEXT:    addl %esi, %ecx
4044 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4045 ; X32-NEXT:    adcl %eax, %edx
4046 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4047 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4048 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4049 ; X32-NEXT:    adcl $0, (%esp) # 4-byte Folded Spill
4050 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4051 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4052 ; X32-NEXT:    movl %edi, %eax
4053 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4054 ; X32-NEXT:    mull %esi
4055 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4056 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4057 ; X32-NEXT:    movl %ebp, %eax
4058 ; X32-NEXT:    mull %esi
4059 ; X32-NEXT:    movl %edx, %esi
4060 ; X32-NEXT:    movl %eax, %ebx
4061 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4062 ; X32-NEXT:    adcl $0, %esi
4063 ; X32-NEXT:    movl %edi, %eax
4064 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4065 ; X32-NEXT:    mull %ebp
4066 ; X32-NEXT:    movl %edx, %edi
4067 ; X32-NEXT:    addl %ebx, %eax
4068 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4069 ; X32-NEXT:    adcl %esi, %edi
4070 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4071 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4072 ; X32-NEXT:    mull %ebp
4073 ; X32-NEXT:    movl %eax, %ebx
4074 ; X32-NEXT:    addl %edi, %ebx
4075 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4076 ; X32-NEXT:    adcl %eax, %edx
4077 ; X32-NEXT:    addl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4078 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4079 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4080 ; X32-NEXT:    adcl $0, %ebx
4081 ; X32-NEXT:    adcl $0, %edx
4082 ; X32-NEXT:    addl (%esp), %ebx # 4-byte Folded Reload
4083 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4084 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4085 ; X32-NEXT:    setb (%esp) # 1-byte Folded Spill
4086 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4087 ; X32-NEXT:    movl %edi, %eax
4088 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4089 ; X32-NEXT:    mull %ecx
4090 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4091 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4092 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4093 ; X32-NEXT:    mull %ecx
4094 ; X32-NEXT:    movl %edx, %esi
4095 ; X32-NEXT:    movl %eax, %ebp
4096 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4097 ; X32-NEXT:    adcl $0, %esi
4098 ; X32-NEXT:    movl %edi, %eax
4099 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4100 ; X32-NEXT:    mull %ecx
4101 ; X32-NEXT:    movl %edx, %edi
4102 ; X32-NEXT:    addl %ebp, %eax
4103 ; X32-NEXT:    movl %eax, %ebp
4104 ; X32-NEXT:    adcl %esi, %edi
4105 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4106 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4107 ; X32-NEXT:    mull %ecx
4108 ; X32-NEXT:    addl %edi, %eax
4109 ; X32-NEXT:    movl %eax, %edi
4110 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4111 ; X32-NEXT:    adcl %eax, %edx
4112 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4113 ; X32-NEXT:    addl %ebx, %ecx
4114 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4115 ; X32-NEXT:    movzbl (%esp), %eax # 1-byte Folded Reload
4116 ; X32-NEXT:    adcl %eax, %edi
4117 ; X32-NEXT:    adcl $0, %edx
4118 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4119 ; X32-NEXT:    addl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4120 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4121 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4122 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4123 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4124 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4125 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4126 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4127 ; X32-NEXT:    adcl %eax, %ecx
4128 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4129 ; X32-NEXT:    adcl $0, %ebp
4130 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4131 ; X32-NEXT:    adcl $0, %edi
4132 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4133 ; X32-NEXT:    adcl $0, %edx
4134 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4135 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
4136 ; X32-NEXT:    movl 96(%eax), %ecx
4137 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4138 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4139 ; X32-NEXT:    movl %ebp, %eax
4140 ; X32-NEXT:    mull %ecx
4141 ; X32-NEXT:    movl %edx, %esi
4142 ; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
4143 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4144 ; X32-NEXT:    movl %ebx, %eax
4145 ; X32-NEXT:    mull %ecx
4146 ; X32-NEXT:    movl %edx, %ecx
4147 ; X32-NEXT:    movl %eax, %edi
4148 ; X32-NEXT:    addl %esi, %edi
4149 ; X32-NEXT:    adcl $0, %ecx
4150 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
4151 ; X32-NEXT:    movl 100(%eax), %esi
4152 ; X32-NEXT:    movl %ebp, %eax
4153 ; X32-NEXT:    mull %esi
4154 ; X32-NEXT:    movl %esi, %ebp
4155 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4156 ; X32-NEXT:    movl %edx, %esi
4157 ; X32-NEXT:    addl %edi, %eax
4158 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4159 ; X32-NEXT:    adcl %ecx, %esi
4160 ; X32-NEXT:    setb %cl
4161 ; X32-NEXT:    movl %ebx, %eax
4162 ; X32-NEXT:    mull %ebp
4163 ; X32-NEXT:    addl %esi, %eax
4164 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4165 ; X32-NEXT:    movzbl %cl, %eax
4166 ; X32-NEXT:    adcl %eax, %edx
4167 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4168 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4169 ; X32-NEXT:    movl %ebx, %eax
4170 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4171 ; X32-NEXT:    mull %ecx
4172 ; X32-NEXT:    movl %edx, %esi
4173 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4174 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4175 ; X32-NEXT:    movl %ebp, %eax
4176 ; X32-NEXT:    mull %ecx
4177 ; X32-NEXT:    movl %edx, %ecx
4178 ; X32-NEXT:    movl %eax, %edi
4179 ; X32-NEXT:    addl %esi, %edi
4180 ; X32-NEXT:    adcl $0, %ecx
4181 ; X32-NEXT:    movl %ebx, %eax
4182 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4183 ; X32-NEXT:    mull %ebx
4184 ; X32-NEXT:    movl %edx, %esi
4185 ; X32-NEXT:    addl %edi, %eax
4186 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4187 ; X32-NEXT:    adcl %ecx, %esi
4188 ; X32-NEXT:    setb %cl
4189 ; X32-NEXT:    movl %ebp, %eax
4190 ; X32-NEXT:    mull %ebx
4191 ; X32-NEXT:    movl %eax, %edi
4192 ; X32-NEXT:    addl %esi, %edi
4193 ; X32-NEXT:    movzbl %cl, %eax
4194 ; X32-NEXT:    adcl %eax, %edx
4195 ; X32-NEXT:    addl (%esp), %edi # 4-byte Folded Reload
4196 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4197 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4198 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4199 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4200 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
4201 ; X32-NEXT:    movl 104(%eax), %ecx
4202 ; X32-NEXT:    movl %ecx, (%esp) # 4-byte Spill
4203 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4204 ; X32-NEXT:    movl %ebx, %eax
4205 ; X32-NEXT:    mull %ecx
4206 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4207 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4208 ; X32-NEXT:    movl %ebp, %eax
4209 ; X32-NEXT:    mull %ecx
4210 ; X32-NEXT:    movl %edx, %esi
4211 ; X32-NEXT:    movl %eax, %ebp
4212 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4213 ; X32-NEXT:    adcl $0, %esi
4214 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
4215 ; X32-NEXT:    movl 108(%eax), %ecx
4216 ; X32-NEXT:    movl %ebx, %eax
4217 ; X32-NEXT:    mull %ecx
4218 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4219 ; X32-NEXT:    movl %edx, %ebx
4220 ; X32-NEXT:    addl %ebp, %eax
4221 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4222 ; X32-NEXT:    adcl %esi, %ebx
4223 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4224 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4225 ; X32-NEXT:    mull %ecx
4226 ; X32-NEXT:    movl %eax, %ebp
4227 ; X32-NEXT:    addl %ebx, %ebp
4228 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4229 ; X32-NEXT:    adcl %eax, %edx
4230 ; X32-NEXT:    addl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4231 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4232 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4233 ; X32-NEXT:    adcl $0, %ebp
4234 ; X32-NEXT:    adcl $0, %edx
4235 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4236 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4237 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4238 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4239 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4240 ; X32-NEXT:    movl %edi, %eax
4241 ; X32-NEXT:    movl (%esp), %ecx # 4-byte Reload
4242 ; X32-NEXT:    mull %ecx
4243 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4244 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4245 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4246 ; X32-NEXT:    mull %ecx
4247 ; X32-NEXT:    movl %edx, %esi
4248 ; X32-NEXT:    movl %eax, %ebx
4249 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4250 ; X32-NEXT:    adcl $0, %esi
4251 ; X32-NEXT:    movl %edi, %eax
4252 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4253 ; X32-NEXT:    mull %ecx
4254 ; X32-NEXT:    movl %edx, %edi
4255 ; X32-NEXT:    addl %ebx, %eax
4256 ; X32-NEXT:    movl %eax, %ebx
4257 ; X32-NEXT:    adcl %esi, %edi
4258 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4259 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4260 ; X32-NEXT:    mull %ecx
4261 ; X32-NEXT:    addl %edi, %eax
4262 ; X32-NEXT:    movl %eax, %edi
4263 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4264 ; X32-NEXT:    adcl %eax, %edx
4265 ; X32-NEXT:    addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4266 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4267 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4268 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4269 ; X32-NEXT:    adcl %eax, %edi
4270 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4271 ; X32-NEXT:    adcl $0, %edx
4272 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4273 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4274 ; X32-NEXT:    imull %eax, %ecx
4275 ; X32-NEXT:    movl (%esp), %esi # 4-byte Reload
4276 ; X32-NEXT:    mull %esi
4277 ; X32-NEXT:    movl %eax, %ebp
4278 ; X32-NEXT:    addl %ecx, %edx
4279 ; X32-NEXT:    movl %esi, %eax
4280 ; X32-NEXT:    imull {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4281 ; X32-NEXT:    addl %edx, %eax
4282 ; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
4283 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4284 ; X32-NEXT:    movl %eax, %esi
4285 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4286 ; X32-NEXT:    imull %ebx, %esi
4287 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4288 ; X32-NEXT:    mull %edi
4289 ; X32-NEXT:    movl %eax, %ecx
4290 ; X32-NEXT:    addl %esi, %edx
4291 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4292 ; X32-NEXT:    imull %edi, %esi
4293 ; X32-NEXT:    addl %edx, %esi
4294 ; X32-NEXT:    addl %ebp, %ecx
4295 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4296 ; X32-NEXT:    adcl (%esp), %esi # 4-byte Folded Reload
4297 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4298 ; X32-NEXT:    movl %edi, %eax
4299 ; X32-NEXT:    movl %edi, %ebp
4300 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4301 ; X32-NEXT:    mull %ecx
4302 ; X32-NEXT:    movl %edx, %esi
4303 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4304 ; X32-NEXT:    movl %ebx, %eax
4305 ; X32-NEXT:    mull %ecx
4306 ; X32-NEXT:    movl %edx, %ecx
4307 ; X32-NEXT:    movl %eax, %edi
4308 ; X32-NEXT:    addl %esi, %edi
4309 ; X32-NEXT:    adcl $0, %ecx
4310 ; X32-NEXT:    movl %ebp, %eax
4311 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4312 ; X32-NEXT:    mull %ebx
4313 ; X32-NEXT:    movl %edx, %esi
4314 ; X32-NEXT:    addl %edi, %eax
4315 ; X32-NEXT:    movl %eax, (%esp) # 4-byte Spill
4316 ; X32-NEXT:    adcl %ecx, %esi
4317 ; X32-NEXT:    setb %cl
4318 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4319 ; X32-NEXT:    mull %ebx
4320 ; X32-NEXT:    addl %esi, %eax
4321 ; X32-NEXT:    movzbl %cl, %ecx
4322 ; X32-NEXT:    adcl %ecx, %edx
4323 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4324 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4325 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4326 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4327 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebx
4328 ; X32-NEXT:    movl 120(%ebx), %esi
4329 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4330 ; X32-NEXT:    movl %ecx, %eax
4331 ; X32-NEXT:    mull %esi
4332 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4333 ; X32-NEXT:    imull {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4334 ; X32-NEXT:    addl %edx, %esi
4335 ; X32-NEXT:    movl 124(%ebx), %eax
4336 ; X32-NEXT:    imull %ecx, %eax
4337 ; X32-NEXT:    addl %eax, %esi
4338 ; X32-NEXT:    movl 112(%ebx), %edi
4339 ; X32-NEXT:    movl 116(%ebx), %ebp
4340 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4341 ; X32-NEXT:    movl %eax, %ebx
4342 ; X32-NEXT:    imull %ebp, %ebx
4343 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4344 ; X32-NEXT:    mull %edi
4345 ; X32-NEXT:    addl %ebx, %edx
4346 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4347 ; X32-NEXT:    imull %edi, %ecx
4348 ; X32-NEXT:    addl %edx, %ecx
4349 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4350 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4351 ; X32-NEXT:    adcl %esi, %ecx
4352 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4353 ; X32-NEXT:    movl %edi, %eax
4354 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4355 ; X32-NEXT:    mull %ecx
4356 ; X32-NEXT:    movl %edx, %ebx
4357 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4358 ; X32-NEXT:    movl %ebp, %eax
4359 ; X32-NEXT:    mull %ecx
4360 ; X32-NEXT:    movl %edx, %esi
4361 ; X32-NEXT:    movl %eax, %ebp
4362 ; X32-NEXT:    addl %ebx, %ebp
4363 ; X32-NEXT:    adcl $0, %esi
4364 ; X32-NEXT:    movl %edi, %eax
4365 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4366 ; X32-NEXT:    mull %ebx
4367 ; X32-NEXT:    movl %edx, %ecx
4368 ; X32-NEXT:    movl %eax, %edi
4369 ; X32-NEXT:    addl %ebp, %edi
4370 ; X32-NEXT:    adcl %esi, %ecx
4371 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4372 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4373 ; X32-NEXT:    mull %ebx
4374 ; X32-NEXT:    addl %ecx, %eax
4375 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
4376 ; X32-NEXT:    adcl %ecx, %edx
4377 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4378 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4379 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4380 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4381 ; X32-NEXT:    adcl (%esp), %edi # 4-byte Folded Reload
4382 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4383 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4384 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4385 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4386 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4387 ; X32-NEXT:    movl %edi, (%esp) # 4-byte Spill
4388 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4389 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4390 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4391 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4392 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4393 ; X32-NEXT:    movl %ebx, %eax
4394 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4395 ; X32-NEXT:    mull %ecx
4396 ; X32-NEXT:    movl %edx, %ebp
4397 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4398 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4399 ; X32-NEXT:    movl %esi, %eax
4400 ; X32-NEXT:    mull %ecx
4401 ; X32-NEXT:    movl %edx, %edi
4402 ; X32-NEXT:    movl %eax, %ecx
4403 ; X32-NEXT:    addl %ebp, %ecx
4404 ; X32-NEXT:    adcl $0, %edi
4405 ; X32-NEXT:    movl %ebx, %eax
4406 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4407 ; X32-NEXT:    mull %ebx
4408 ; X32-NEXT:    movl %edx, %ebp
4409 ; X32-NEXT:    addl %ecx, %eax
4410 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4411 ; X32-NEXT:    adcl %edi, %ebp
4412 ; X32-NEXT:    setb %cl
4413 ; X32-NEXT:    movl %esi, %eax
4414 ; X32-NEXT:    mull %ebx
4415 ; X32-NEXT:    addl %ebp, %eax
4416 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4417 ; X32-NEXT:    movzbl %cl, %eax
4418 ; X32-NEXT:    adcl %eax, %edx
4419 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4420 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4421 ; X32-NEXT:    movl %esi, %eax
4422 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4423 ; X32-NEXT:    mull %edi
4424 ; X32-NEXT:    movl %edx, %ecx
4425 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4426 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4427 ; X32-NEXT:    movl %ebp, %eax
4428 ; X32-NEXT:    mull %edi
4429 ; X32-NEXT:    movl %edx, %edi
4430 ; X32-NEXT:    movl %eax, %ebx
4431 ; X32-NEXT:    addl %ecx, %ebx
4432 ; X32-NEXT:    adcl $0, %edi
4433 ; X32-NEXT:    movl %esi, %eax
4434 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4435 ; X32-NEXT:    mull %esi
4436 ; X32-NEXT:    movl %edx, %ecx
4437 ; X32-NEXT:    addl %ebx, %eax
4438 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4439 ; X32-NEXT:    adcl %edi, %ecx
4440 ; X32-NEXT:    setb %bl
4441 ; X32-NEXT:    movl %ebp, %eax
4442 ; X32-NEXT:    movl %ebp, %edi
4443 ; X32-NEXT:    mull %esi
4444 ; X32-NEXT:    movl %eax, %ebp
4445 ; X32-NEXT:    addl %ecx, %ebp
4446 ; X32-NEXT:    movzbl %bl, %eax
4447 ; X32-NEXT:    adcl %eax, %edx
4448 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4449 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4450 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4451 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4452 ; X32-NEXT:    adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4453 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4454 ; X32-NEXT:    movl %ebx, %eax
4455 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4456 ; X32-NEXT:    mull %ecx
4457 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4458 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4459 ; X32-NEXT:    movl %edi, %eax
4460 ; X32-NEXT:    mull %ecx
4461 ; X32-NEXT:    movl %edx, %ecx
4462 ; X32-NEXT:    movl %eax, %esi
4463 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4464 ; X32-NEXT:    adcl $0, %ecx
4465 ; X32-NEXT:    movl %ebx, %eax
4466 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4467 ; X32-NEXT:    mull %edi
4468 ; X32-NEXT:    movl %edx, %ebx
4469 ; X32-NEXT:    addl %esi, %eax
4470 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4471 ; X32-NEXT:    adcl %ecx, %ebx
4472 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4473 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4474 ; X32-NEXT:    mull %edi
4475 ; X32-NEXT:    movl %edx, %ecx
4476 ; X32-NEXT:    movl %eax, %esi
4477 ; X32-NEXT:    addl %ebx, %esi
4478 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4479 ; X32-NEXT:    adcl %eax, %ecx
4480 ; X32-NEXT:    addl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4481 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4482 ; X32-NEXT:    adcl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4483 ; X32-NEXT:    adcl $0, %esi
4484 ; X32-NEXT:    adcl $0, %ecx
4485 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4486 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4487 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4488 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4489 ; X32-NEXT:    movl %ebx, %eax
4490 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4491 ; X32-NEXT:    mull %edi
4492 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4493 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4494 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4495 ; X32-NEXT:    mull %edi
4496 ; X32-NEXT:    movl %edx, %edi
4497 ; X32-NEXT:    movl %eax, %ebp
4498 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4499 ; X32-NEXT:    adcl $0, %edi
4500 ; X32-NEXT:    movl %ebx, %eax
4501 ; X32-NEXT:    mull {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload
4502 ; X32-NEXT:    movl %edx, %ebx
4503 ; X32-NEXT:    addl %ebp, %eax
4504 ; X32-NEXT:    movl %eax, %ebp
4505 ; X32-NEXT:    adcl %edi, %ebx
4506 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4507 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4508 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4509 ; X32-NEXT:    mull %edi
4510 ; X32-NEXT:    addl %ebx, %eax
4511 ; X32-NEXT:    movl %eax, %ebx
4512 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4513 ; X32-NEXT:    adcl %eax, %edx
4514 ; X32-NEXT:    addl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
4515 ; X32-NEXT:    adcl %ecx, %ebp
4516 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4517 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
4518 ; X32-NEXT:    adcl %eax, %ebx
4519 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4520 ; X32-NEXT:    adcl $0, %edx
4521 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4522 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4523 ; X32-NEXT:    movl %edi, %esi
4524 ; X32-NEXT:    imull %eax, %esi
4525 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4526 ; X32-NEXT:    mull %ebx
4527 ; X32-NEXT:    movl %eax, %ebp
4528 ; X32-NEXT:    addl %esi, %edx
4529 ; X32-NEXT:    movl %ebx, %eax
4530 ; X32-NEXT:    imull {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4531 ; X32-NEXT:    addl %edx, %eax
4532 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4533 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4534 ; X32-NEXT:    movl %eax, %esi
4535 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4536 ; X32-NEXT:    imull %ebx, %esi
4537 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4538 ; X32-NEXT:    mull %edi
4539 ; X32-NEXT:    movl %eax, %ecx
4540 ; X32-NEXT:    addl %esi, %edx
4541 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4542 ; X32-NEXT:    imull %edi, %esi
4543 ; X32-NEXT:    addl %edx, %esi
4544 ; X32-NEXT:    addl %ebp, %ecx
4545 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4546 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4547 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4548 ; X32-NEXT:    movl %edi, %eax
4549 ; X32-NEXT:    movl %edi, %ebp
4550 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4551 ; X32-NEXT:    mull %ecx
4552 ; X32-NEXT:    movl %edx, %edi
4553 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4554 ; X32-NEXT:    movl %ebx, %eax
4555 ; X32-NEXT:    mull %ecx
4556 ; X32-NEXT:    movl %edx, %ecx
4557 ; X32-NEXT:    movl %eax, %esi
4558 ; X32-NEXT:    addl %edi, %esi
4559 ; X32-NEXT:    adcl $0, %ecx
4560 ; X32-NEXT:    movl %ebp, %eax
4561 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4562 ; X32-NEXT:    mull %edi
4563 ; X32-NEXT:    movl %edx, %ebx
4564 ; X32-NEXT:    addl %esi, %eax
4565 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4566 ; X32-NEXT:    adcl %ecx, %ebx
4567 ; X32-NEXT:    setb %cl
4568 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4569 ; X32-NEXT:    mull %edi
4570 ; X32-NEXT:    addl %ebx, %eax
4571 ; X32-NEXT:    movzbl %cl, %ecx
4572 ; X32-NEXT:    adcl %ecx, %edx
4573 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4574 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4575 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4576 ; X32-NEXT:    movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4577 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4578 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4579 ; X32-NEXT:    imull %esi, %ecx
4580 ; X32-NEXT:    movl %esi, %eax
4581 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4582 ; X32-NEXT:    mull %ebx
4583 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4584 ; X32-NEXT:    addl %ecx, %edx
4585 ; X32-NEXT:    imull {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4586 ; X32-NEXT:    addl %edx, %ebx
4587 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4588 ; X32-NEXT:    movl %eax, %ecx
4589 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4590 ; X32-NEXT:    imull %edi, %ecx
4591 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4592 ; X32-NEXT:    mull %ebp
4593 ; X32-NEXT:    addl %ecx, %edx
4594 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4595 ; X32-NEXT:    imull %ebp, %ecx
4596 ; X32-NEXT:    addl %edx, %ecx
4597 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4598 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4599 ; X32-NEXT:    adcl %ebx, %ecx
4600 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4601 ; X32-NEXT:    movl %ebp, %eax
4602 ; X32-NEXT:    mull %esi
4603 ; X32-NEXT:    movl %edx, %ecx
4604 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4605 ; X32-NEXT:    movl %edi, %eax
4606 ; X32-NEXT:    mull %esi
4607 ; X32-NEXT:    movl %edx, %edi
4608 ; X32-NEXT:    movl %eax, %esi
4609 ; X32-NEXT:    addl %ecx, %esi
4610 ; X32-NEXT:    adcl $0, %edi
4611 ; X32-NEXT:    movl %ebp, %eax
4612 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4613 ; X32-NEXT:    mull %ebx
4614 ; X32-NEXT:    movl %edx, %ecx
4615 ; X32-NEXT:    movl %eax, %ebp
4616 ; X32-NEXT:    addl %esi, %ebp
4617 ; X32-NEXT:    adcl %edi, %ecx
4618 ; X32-NEXT:    setb {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
4619 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4620 ; X32-NEXT:    mull %ebx
4621 ; X32-NEXT:    movl %edx, %esi
4622 ; X32-NEXT:    movl %eax, %edx
4623 ; X32-NEXT:    addl %ecx, %edx
4624 ; X32-NEXT:    movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
4625 ; X32-NEXT:    adcl %ecx, %esi
4626 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4627 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4628 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4629 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4630 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4631 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4632 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4633 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4634 ; X32-NEXT:    movl %ecx, %eax
4635 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4636 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4637 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4638 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4639 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4640 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4641 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4642 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4643 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4644 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4645 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4646 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4647 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4648 ; X32-NEXT:    movl %eax, %ebp
4649 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4650 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4651 ; X32-NEXT:    adcl (%esp), %eax # 4-byte Folded Reload
4652 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4653 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4654 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4655 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4656 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4657 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4658 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4659 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4660 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4661 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4662 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4663 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4664 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4665 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4666 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4667 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4668 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4669 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4670 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4671 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4672 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4673 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4674 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4675 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4676 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4677 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4678 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4679 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4680 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4681 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4682 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4683 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4684 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4685 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4686 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4687 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4688 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4689 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4690 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4691 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4692 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4693 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4694 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4695 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4696 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4697 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4698 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4699 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4700 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4701 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4702 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4703 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4704 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4705 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4706 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4707 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4708 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4709 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4710 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4711 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4712 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4713 ; X32-NEXT:    addl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4714 ; X32-NEXT:    movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4715 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4716 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4717 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Folded Reload
4718 ; X32-NEXT:    movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4719 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4720 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4721 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4722 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4723 ; X32-NEXT:    movl %ebp, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4724 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4725 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4726 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4727 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Reload
4728 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebp # 4-byte Folded Reload
4729 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4730 ; X32-NEXT:    movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4731 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
4732 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
4733 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
4734 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
4735 ; X32-NEXT:    movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4736 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4737 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4738 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4739 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4740 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4741 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4742 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4743 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4744 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4745 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
4746 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
4747 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
4748 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4749 ; X32-NEXT:    adcl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
4750 ; X32-NEXT:    movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
4751 ; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
4752 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4753 ; X32-NEXT:    movl %esi, (%ecx)
4754 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4755 ; X32-NEXT:    movl %esi, 4(%ecx)
4756 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4757 ; X32-NEXT:    movl %esi, 8(%ecx)
4758 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4759 ; X32-NEXT:    movl %esi, 12(%ecx)
4760 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4761 ; X32-NEXT:    movl %esi, 16(%ecx)
4762 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4763 ; X32-NEXT:    movl %esi, 20(%ecx)
4764 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4765 ; X32-NEXT:    movl %esi, 24(%ecx)
4766 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4767 ; X32-NEXT:    movl %esi, 28(%ecx)
4768 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4769 ; X32-NEXT:    movl %esi, 32(%ecx)
4770 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4771 ; X32-NEXT:    movl %esi, 36(%ecx)
4772 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4773 ; X32-NEXT:    movl %esi, 40(%ecx)
4774 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4775 ; X32-NEXT:    movl %esi, 44(%ecx)
4776 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4777 ; X32-NEXT:    movl %esi, 48(%ecx)
4778 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4779 ; X32-NEXT:    movl %esi, 52(%ecx)
4780 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4781 ; X32-NEXT:    movl %esi, 56(%ecx)
4782 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
4783 ; X32-NEXT:    movl %esi, 60(%ecx)
4784 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4785 ; X32-NEXT:    movl %eax, 64(%ecx)
4786 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4787 ; X32-NEXT:    movl %eax, 68(%ecx)
4788 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4789 ; X32-NEXT:    movl %eax, 72(%ecx)
4790 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4791 ; X32-NEXT:    movl %eax, 76(%ecx)
4792 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4793 ; X32-NEXT:    movl %eax, 80(%ecx)
4794 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4795 ; X32-NEXT:    movl %eax, 84(%ecx)
4796 ; X32-NEXT:    movl %ebp, 88(%ecx)
4797 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4798 ; X32-NEXT:    movl %eax, 92(%ecx)
4799 ; X32-NEXT:    movl %ebx, 96(%ecx)
4800 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4801 ; X32-NEXT:    movl %eax, 100(%ecx)
4802 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4803 ; X32-NEXT:    movl %eax, 104(%ecx)
4804 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4805 ; X32-NEXT:    movl %eax, 108(%ecx)
4806 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4807 ; X32-NEXT:    movl %eax, 112(%ecx)
4808 ; X32-NEXT:    movl %edi, 116(%ecx)
4809 ; X32-NEXT:    movl %edx, 120(%ecx)
4810 ; X32-NEXT:    movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
4811 ; X32-NEXT:    movl %eax, 124(%ecx)
4812 ; X32-NEXT:    addl $400, %esp # imm = 0x190
4813 ; X32-NEXT:    popl %esi
4814 ; X32-NEXT:    popl %edi
4815 ; X32-NEXT:    popl %ebx
4816 ; X32-NEXT:    popl %ebp
4817 ; X32-NEXT:    retl
4819 ; X64-LABEL: test_1024:
4820 ; X64:       # %bb.0:
4821 ; X64-NEXT:    pushq %rbp
4822 ; X64-NEXT:    pushq %r15
4823 ; X64-NEXT:    pushq %r14
4824 ; X64-NEXT:    pushq %r13
4825 ; X64-NEXT:    pushq %r12
4826 ; X64-NEXT:    pushq %rbx
4827 ; X64-NEXT:    subq $240, %rsp
4828 ; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4829 ; X64-NEXT:    movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4830 ; X64-NEXT:    movq 40(%rdi), %rbx
4831 ; X64-NEXT:    movq 32(%rdi), %r12
4832 ; X64-NEXT:    movq 56(%rdi), %r15
4833 ; X64-NEXT:    movq 48(%rdi), %r10
4834 ; X64-NEXT:    movq (%rsi), %r11
4835 ; X64-NEXT:    movq 8(%rsi), %r14
4836 ; X64-NEXT:    movq %rsi, %r13
4837 ; X64-NEXT:    movq %r10, %rax
4838 ; X64-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4839 ; X64-NEXT:    mulq %r11
4840 ; X64-NEXT:    movq %rdx, %rcx
4841 ; X64-NEXT:    movq %rax, %rdi
4842 ; X64-NEXT:    movq %r15, %rax
4843 ; X64-NEXT:    movq %r15, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4844 ; X64-NEXT:    mulq %r11
4845 ; X64-NEXT:    movq %rdx, %rsi
4846 ; X64-NEXT:    movq %rax, %r9
4847 ; X64-NEXT:    addq %rcx, %r9
4848 ; X64-NEXT:    adcq $0, %rsi
4849 ; X64-NEXT:    movq %r10, %rax
4850 ; X64-NEXT:    mulq %r14
4851 ; X64-NEXT:    movq %rdx, %r10
4852 ; X64-NEXT:    movq %rax, %r8
4853 ; X64-NEXT:    addq %r9, %r8
4854 ; X64-NEXT:    adcq %rsi, %r10
4855 ; X64-NEXT:    setb %al
4856 ; X64-NEXT:    movzbl %al, %r9d
4857 ; X64-NEXT:    movq %r15, %rax
4858 ; X64-NEXT:    mulq %r14
4859 ; X64-NEXT:    movq %r14, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4860 ; X64-NEXT:    movq %rdx, %rcx
4861 ; X64-NEXT:    movq %rax, %rsi
4862 ; X64-NEXT:    addq %r10, %rsi
4863 ; X64-NEXT:    adcq %r9, %rcx
4864 ; X64-NEXT:    movq %r12, %rax
4865 ; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4866 ; X64-NEXT:    mulq %r11
4867 ; X64-NEXT:    movq %rdx, %r9
4868 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4869 ; X64-NEXT:    movq %rbx, %rax
4870 ; X64-NEXT:    mulq %r11
4871 ; X64-NEXT:    movq %rdx, %r10
4872 ; X64-NEXT:    movq %rax, %r11
4873 ; X64-NEXT:    addq %r9, %r11
4874 ; X64-NEXT:    adcq $0, %r10
4875 ; X64-NEXT:    movq %r12, %rax
4876 ; X64-NEXT:    mulq %r14
4877 ; X64-NEXT:    movq %rdx, %r9
4878 ; X64-NEXT:    addq %r11, %rax
4879 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4880 ; X64-NEXT:    adcq %r10, %r9
4881 ; X64-NEXT:    setb %r10b
4882 ; X64-NEXT:    movq %rbx, %r11
4883 ; X64-NEXT:    movq %rbx, %rax
4884 ; X64-NEXT:    mulq %r14
4885 ; X64-NEXT:    movq %rdx, %rbx
4886 ; X64-NEXT:    movq %rax, %r15
4887 ; X64-NEXT:    addq %r9, %r15
4888 ; X64-NEXT:    movzbl %r10b, %eax
4889 ; X64-NEXT:    adcq %rax, %rbx
4890 ; X64-NEXT:    addq %rdi, %r15
4891 ; X64-NEXT:    adcq %r8, %rbx
4892 ; X64-NEXT:    adcq $0, %rsi
4893 ; X64-NEXT:    adcq $0, %rcx
4894 ; X64-NEXT:    movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4895 ; X64-NEXT:    movq 16(%r13), %r8
4896 ; X64-NEXT:    movq %r12, %r10
4897 ; X64-NEXT:    movq %r12, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4898 ; X64-NEXT:    movq %r12, %rax
4899 ; X64-NEXT:    mulq %r8
4900 ; X64-NEXT:    movq %rdx, %rdi
4901 ; X64-NEXT:    movq %rax, %r14
4902 ; X64-NEXT:    movq %r11, %rax
4903 ; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4904 ; X64-NEXT:    mulq %r8
4905 ; X64-NEXT:    movq %rdx, %r9
4906 ; X64-NEXT:    movq %rax, %r12
4907 ; X64-NEXT:    addq %rdi, %r12
4908 ; X64-NEXT:    adcq $0, %r9
4909 ; X64-NEXT:    movq 24(%r13), %rbp
4910 ; X64-NEXT:    movq %r10, %rax
4911 ; X64-NEXT:    mulq %rbp
4912 ; X64-NEXT:    movq %rdx, %r13
4913 ; X64-NEXT:    addq %r12, %rax
4914 ; X64-NEXT:    movq %rax, %r12
4915 ; X64-NEXT:    adcq %r9, %r13
4916 ; X64-NEXT:    setb %r10b
4917 ; X64-NEXT:    movq %r11, %rax
4918 ; X64-NEXT:    mulq %rbp
4919 ; X64-NEXT:    movq %rdx, %rdi
4920 ; X64-NEXT:    movq %rax, %r9
4921 ; X64-NEXT:    addq %r13, %r9
4922 ; X64-NEXT:    movzbl %r10b, %eax
4923 ; X64-NEXT:    adcq %rax, %rdi
4924 ; X64-NEXT:    addq %r15, %r14
4925 ; X64-NEXT:    movq %r14, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4926 ; X64-NEXT:    adcq %rbx, %r12
4927 ; X64-NEXT:    movq %r12, (%rsp) # 8-byte Spill
4928 ; X64-NEXT:    adcq $0, %r9
4929 ; X64-NEXT:    adcq $0, %rdi
4930 ; X64-NEXT:    addq %rsi, %r9
4931 ; X64-NEXT:    adcq %rcx, %rdi
4932 ; X64-NEXT:    setb %r10b
4933 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r15 # 8-byte Reload
4934 ; X64-NEXT:    movq %r15, %rax
4935 ; X64-NEXT:    movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4936 ; X64-NEXT:    mulq %r8
4937 ; X64-NEXT:    movq %rdx, %rcx
4938 ; X64-NEXT:    movq %rax, %r11
4939 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload
4940 ; X64-NEXT:    movq %r14, %rax
4941 ; X64-NEXT:    mulq %r8
4942 ; X64-NEXT:    movq %rdx, %rsi
4943 ; X64-NEXT:    movq %rax, %rbx
4944 ; X64-NEXT:    addq %rcx, %rbx
4945 ; X64-NEXT:    adcq $0, %rsi
4946 ; X64-NEXT:    movq %r15, %rax
4947 ; X64-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4948 ; X64-NEXT:    mulq %rbp
4949 ; X64-NEXT:    movq %rdx, %rcx
4950 ; X64-NEXT:    addq %rbx, %rax
4951 ; X64-NEXT:    movq %rax, %rbx
4952 ; X64-NEXT:    adcq %rsi, %rcx
4953 ; X64-NEXT:    setb %sil
4954 ; X64-NEXT:    movq %r14, %rax
4955 ; X64-NEXT:    mulq %rbp
4956 ; X64-NEXT:    addq %rcx, %rax
4957 ; X64-NEXT:    movq %rax, %rcx
4958 ; X64-NEXT:    movzbl %sil, %eax
4959 ; X64-NEXT:    adcq %rax, %rdx
4960 ; X64-NEXT:    addq %r9, %r11
4961 ; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4962 ; X64-NEXT:    adcq %rdi, %rbx
4963 ; X64-NEXT:    movq %rbx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4964 ; X64-NEXT:    movzbl %r10b, %eax
4965 ; X64-NEXT:    adcq %rax, %rcx
4966 ; X64-NEXT:    movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4967 ; X64-NEXT:    adcq $0, %rdx
4968 ; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4969 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload
4970 ; X64-NEXT:    movq 16(%r14), %r11
4971 ; X64-NEXT:    movq %r11, %rax
4972 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload
4973 ; X64-NEXT:    mulq %r10
4974 ; X64-NEXT:    movq %rax, %r9
4975 ; X64-NEXT:    movq %rdx, %rcx
4976 ; X64-NEXT:    movq 24(%r14), %r8
4977 ; X64-NEXT:    movq %r8, %rax
4978 ; X64-NEXT:    movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
4979 ; X64-NEXT:    mulq %r10
4980 ; X64-NEXT:    movq %rdx, %rsi
4981 ; X64-NEXT:    movq %rax, %rdi
4982 ; X64-NEXT:    addq %rcx, %rdi
4983 ; X64-NEXT:    adcq $0, %rsi
4984 ; X64-NEXT:    movq %r11, %rax
4985 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
4986 ; X64-NEXT:    mulq %rbp
4987 ; X64-NEXT:    movq %rdx, %r15
4988 ; X64-NEXT:    movq %rax, %rbx
4989 ; X64-NEXT:    addq %rdi, %rbx
4990 ; X64-NEXT:    adcq %rsi, %r15
4991 ; X64-NEXT:    setb %sil
4992 ; X64-NEXT:    movq %r8, %rax
4993 ; X64-NEXT:    mulq %rbp
4994 ; X64-NEXT:    movq %rbp, %r13
4995 ; X64-NEXT:    movq %rdx, %rcx
4996 ; X64-NEXT:    movq %rax, %rdi
4997 ; X64-NEXT:    addq %r15, %rdi
4998 ; X64-NEXT:    movzbl %sil, %eax
4999 ; X64-NEXT:    adcq %rax, %rcx
5000 ; X64-NEXT:    movq (%r14), %rbp
5001 ; X64-NEXT:    movq %rbp, %rax
5002 ; X64-NEXT:    mulq %r10
5003 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5004 ; X64-NEXT:    movq %rdx, %rsi
5005 ; X64-NEXT:    movq 8(%r14), %r14
5006 ; X64-NEXT:    movq %r14, %rax
5007 ; X64-NEXT:    mulq %r10
5008 ; X64-NEXT:    movq %rdx, %r15
5009 ; X64-NEXT:    movq %rax, %r12
5010 ; X64-NEXT:    addq %rsi, %r12
5011 ; X64-NEXT:    adcq $0, %r15
5012 ; X64-NEXT:    movq %rbp, %rax
5013 ; X64-NEXT:    mulq %r13
5014 ; X64-NEXT:    movq %rdx, %rsi
5015 ; X64-NEXT:    addq %r12, %rax
5016 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5017 ; X64-NEXT:    adcq %r15, %rsi
5018 ; X64-NEXT:    setb %r10b
5019 ; X64-NEXT:    movq %r14, %r15
5020 ; X64-NEXT:    movq %r14, %rax
5021 ; X64-NEXT:    mulq %r13
5022 ; X64-NEXT:    movq %rdx, %r12
5023 ; X64-NEXT:    movq %rax, %r13
5024 ; X64-NEXT:    addq %rsi, %r13
5025 ; X64-NEXT:    movzbl %r10b, %eax
5026 ; X64-NEXT:    adcq %rax, %r12
5027 ; X64-NEXT:    addq %r9, %r13
5028 ; X64-NEXT:    adcq %rbx, %r12
5029 ; X64-NEXT:    adcq $0, %rdi
5030 ; X64-NEXT:    adcq $0, %rcx
5031 ; X64-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5032 ; X64-NEXT:    movq %rbp, %rax
5033 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload
5034 ; X64-NEXT:    mulq %r8
5035 ; X64-NEXT:    movq %rdx, %rsi
5036 ; X64-NEXT:    movq %rax, %r10
5037 ; X64-NEXT:    movq %r14, %rax
5038 ; X64-NEXT:    movq %r14, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5039 ; X64-NEXT:    mulq %r8
5040 ; X64-NEXT:    movq %rdx, %r9
5041 ; X64-NEXT:    movq %rax, %rbx
5042 ; X64-NEXT:    addq %rsi, %rbx
5043 ; X64-NEXT:    adcq $0, %r9
5044 ; X64-NEXT:    movq %rbp, %rax
5045 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload
5046 ; X64-NEXT:    mulq %r14
5047 ; X64-NEXT:    movq %rdx, %rbp
5048 ; X64-NEXT:    addq %rbx, %rax
5049 ; X64-NEXT:    movq %rax, %rbx
5050 ; X64-NEXT:    adcq %r9, %rbp
5051 ; X64-NEXT:    setb %r9b
5052 ; X64-NEXT:    movq %r15, %rax
5053 ; X64-NEXT:    mulq %r14
5054 ; X64-NEXT:    movq %rdx, %r15
5055 ; X64-NEXT:    movq %rax, %rsi
5056 ; X64-NEXT:    addq %rbp, %rsi
5057 ; X64-NEXT:    movzbl %r9b, %eax
5058 ; X64-NEXT:    adcq %rax, %r15
5059 ; X64-NEXT:    addq %r13, %r10
5060 ; X64-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5061 ; X64-NEXT:    adcq %r12, %rbx
5062 ; X64-NEXT:    movq %rbx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5063 ; X64-NEXT:    adcq $0, %rsi
5064 ; X64-NEXT:    adcq $0, %r15
5065 ; X64-NEXT:    addq %rdi, %rsi
5066 ; X64-NEXT:    adcq %rcx, %r15
5067 ; X64-NEXT:    setb %r10b
5068 ; X64-NEXT:    movq %r11, %rax
5069 ; X64-NEXT:    movq %r8, %rdi
5070 ; X64-NEXT:    mulq %r8
5071 ; X64-NEXT:    movq %rdx, %rcx
5072 ; X64-NEXT:    movq %rax, %rbx
5073 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload
5074 ; X64-NEXT:    movq %r8, %rax
5075 ; X64-NEXT:    mulq %rdi
5076 ; X64-NEXT:    movq %rdx, %rdi
5077 ; X64-NEXT:    movq %rax, %r12
5078 ; X64-NEXT:    addq %rcx, %r12
5079 ; X64-NEXT:    adcq $0, %rdi
5080 ; X64-NEXT:    movq %r11, %rax
5081 ; X64-NEXT:    movq %r11, %rbp
5082 ; X64-NEXT:    mulq %r14
5083 ; X64-NEXT:    movq %rdx, %r13
5084 ; X64-NEXT:    movq %rax, %r11
5085 ; X64-NEXT:    addq %r12, %r11
5086 ; X64-NEXT:    adcq %rdi, %r13
5087 ; X64-NEXT:    setb %dil
5088 ; X64-NEXT:    movq %r8, %rax
5089 ; X64-NEXT:    movq %r8, %r9
5090 ; X64-NEXT:    mulq %r14
5091 ; X64-NEXT:    addq %r13, %rax
5092 ; X64-NEXT:    movzbl %dil, %ecx
5093 ; X64-NEXT:    adcq %rcx, %rdx
5094 ; X64-NEXT:    addq %rsi, %rbx
5095 ; X64-NEXT:    adcq %r15, %r11
5096 ; X64-NEXT:    movzbl %r10b, %ecx
5097 ; X64-NEXT:    adcq %rcx, %rax
5098 ; X64-NEXT:    adcq $0, %rdx
5099 ; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Folded Reload
5100 ; X64-NEXT:    movq %rbx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5101 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Folded Reload
5102 ; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5103 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload
5104 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5105 ; X64-NEXT:    adcq (%rsp), %rdx # 8-byte Folded Reload
5106 ; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5107 ; X64-NEXT:    adcq $0, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5108 ; X64-NEXT:    adcq $0, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5109 ; X64-NEXT:    adcq $0, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5110 ; X64-NEXT:    adcq $0, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5111 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload
5112 ; X64-NEXT:    movq 32(%r8), %rcx
5113 ; X64-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5114 ; X64-NEXT:    movq %rbp, %rax
5115 ; X64-NEXT:    mulq %rcx
5116 ; X64-NEXT:    movq %rdx, %rsi
5117 ; X64-NEXT:    movq %rax, %r12
5118 ; X64-NEXT:    movq %r9, %rax
5119 ; X64-NEXT:    mulq %rcx
5120 ; X64-NEXT:    movq %rdx, %rdi
5121 ; X64-NEXT:    movq %rax, %r11
5122 ; X64-NEXT:    addq %rsi, %r11
5123 ; X64-NEXT:    adcq $0, %rdi
5124 ; X64-NEXT:    movq 40(%r8), %rsi
5125 ; X64-NEXT:    movq %rbp, %rax
5126 ; X64-NEXT:    mulq %rsi
5127 ; X64-NEXT:    movq %rsi, %rbx
5128 ; X64-NEXT:    movq %rdx, %r15
5129 ; X64-NEXT:    movq %rax, %rsi
5130 ; X64-NEXT:    addq %r11, %rsi
5131 ; X64-NEXT:    adcq %rdi, %r15
5132 ; X64-NEXT:    setb %r10b
5133 ; X64-NEXT:    movq %r9, %rax
5134 ; X64-NEXT:    mulq %rbx
5135 ; X64-NEXT:    movq %rdx, %rdi
5136 ; X64-NEXT:    movq %rax, %r11
5137 ; X64-NEXT:    addq %r15, %r11
5138 ; X64-NEXT:    movzbl %r10b, %eax
5139 ; X64-NEXT:    adcq %rax, %rdi
5140 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5141 ; X64-NEXT:    movq %r9, %rax
5142 ; X64-NEXT:    movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5143 ; X64-NEXT:    mulq %rcx
5144 ; X64-NEXT:    movq %rdx, %r15
5145 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5146 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload
5147 ; X64-NEXT:    movq %r14, %rax
5148 ; X64-NEXT:    mulq %rcx
5149 ; X64-NEXT:    movq %rdx, %r13
5150 ; X64-NEXT:    movq %rax, %rbp
5151 ; X64-NEXT:    addq %r15, %rbp
5152 ; X64-NEXT:    adcq $0, %r13
5153 ; X64-NEXT:    movq %r9, %rax
5154 ; X64-NEXT:    movq %rbx, %rcx
5155 ; X64-NEXT:    movq %rbx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5156 ; X64-NEXT:    mulq %rbx
5157 ; X64-NEXT:    movq %rdx, %r10
5158 ; X64-NEXT:    addq %rbp, %rax
5159 ; X64-NEXT:    movq %rax, (%rsp) # 8-byte Spill
5160 ; X64-NEXT:    adcq %r13, %r10
5161 ; X64-NEXT:    setb %bl
5162 ; X64-NEXT:    movq %r14, %rax
5163 ; X64-NEXT:    mulq %rcx
5164 ; X64-NEXT:    movq %rdx, %r15
5165 ; X64-NEXT:    movq %rax, %rbp
5166 ; X64-NEXT:    addq %r10, %rbp
5167 ; X64-NEXT:    movzbl %bl, %eax
5168 ; X64-NEXT:    adcq %rax, %r15
5169 ; X64-NEXT:    addq %r12, %rbp
5170 ; X64-NEXT:    adcq %rsi, %r15
5171 ; X64-NEXT:    adcq $0, %r11
5172 ; X64-NEXT:    adcq $0, %rdi
5173 ; X64-NEXT:    movq 48(%r8), %rcx
5174 ; X64-NEXT:    movq %r9, %rax
5175 ; X64-NEXT:    mulq %rcx
5176 ; X64-NEXT:    movq %rdx, %rsi
5177 ; X64-NEXT:    movq %rax, %rbx
5178 ; X64-NEXT:    movq %r14, %rax
5179 ; X64-NEXT:    movq %r14, %r12
5180 ; X64-NEXT:    mulq %rcx
5181 ; X64-NEXT:    movq %rdx, %r10
5182 ; X64-NEXT:    movq %rax, %r13
5183 ; X64-NEXT:    addq %rsi, %r13
5184 ; X64-NEXT:    adcq $0, %r10
5185 ; X64-NEXT:    movq 56(%r8), %rsi
5186 ; X64-NEXT:    movq %r9, %rax
5187 ; X64-NEXT:    mulq %rsi
5188 ; X64-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5189 ; X64-NEXT:    movq %rdx, %r14
5190 ; X64-NEXT:    movq %rax, %r9
5191 ; X64-NEXT:    addq %r13, %r9
5192 ; X64-NEXT:    adcq %r10, %r14
5193 ; X64-NEXT:    setb %r8b
5194 ; X64-NEXT:    movq %r12, %rax
5195 ; X64-NEXT:    mulq %rsi
5196 ; X64-NEXT:    movq %rdx, %rsi
5197 ; X64-NEXT:    movq %rax, %r13
5198 ; X64-NEXT:    addq %r14, %r13
5199 ; X64-NEXT:    movzbl %r8b, %eax
5200 ; X64-NEXT:    adcq %rax, %rsi
5201 ; X64-NEXT:    addq %rbp, %rbx
5202 ; X64-NEXT:    adcq %r15, %r9
5203 ; X64-NEXT:    adcq $0, %r13
5204 ; X64-NEXT:    adcq $0, %rsi
5205 ; X64-NEXT:    addq %r11, %r13
5206 ; X64-NEXT:    adcq %rdi, %rsi
5207 ; X64-NEXT:    setb %r11b
5208 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload
5209 ; X64-NEXT:    movq %r8, %rax
5210 ; X64-NEXT:    movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5211 ; X64-NEXT:    mulq %rcx
5212 ; X64-NEXT:    movq %rdx, %rdi
5213 ; X64-NEXT:    movq %rax, %r12
5214 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r15 # 8-byte Reload
5215 ; X64-NEXT:    movq %r15, %rax
5216 ; X64-NEXT:    mulq %rcx
5217 ; X64-NEXT:    movq %rdx, %r10
5218 ; X64-NEXT:    movq %rax, %r14
5219 ; X64-NEXT:    addq %rdi, %r14
5220 ; X64-NEXT:    adcq $0, %r10
5221 ; X64-NEXT:    movq %r8, %rax
5222 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5223 ; X64-NEXT:    mulq %rcx
5224 ; X64-NEXT:    movq %rdx, %r8
5225 ; X64-NEXT:    movq %rax, %rbp
5226 ; X64-NEXT:    addq %r14, %rbp
5227 ; X64-NEXT:    adcq %r10, %r8
5228 ; X64-NEXT:    setb %r10b
5229 ; X64-NEXT:    movq %r15, %rax
5230 ; X64-NEXT:    mulq %rcx
5231 ; X64-NEXT:    movq %rdx, %r15
5232 ; X64-NEXT:    movq %rax, %rdi
5233 ; X64-NEXT:    addq %r8, %rdi
5234 ; X64-NEXT:    movzbl %r10b, %eax
5235 ; X64-NEXT:    adcq %rax, %r15
5236 ; X64-NEXT:    addq %r13, %r12
5237 ; X64-NEXT:    adcq %rsi, %rbp
5238 ; X64-NEXT:    movzbl %r11b, %eax
5239 ; X64-NEXT:    adcq %rax, %rdi
5240 ; X64-NEXT:    adcq $0, %r15
5241 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5242 ; X64-NEXT:    addq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5243 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5244 ; X64-NEXT:    adcq %rax, (%rsp) # 8-byte Folded Spill
5245 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Folded Reload
5246 ; X64-NEXT:    movq %rbx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5247 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Folded Reload
5248 ; X64-NEXT:    movq %r9, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5249 ; X64-NEXT:    adcq $0, %r12
5250 ; X64-NEXT:    adcq $0, %rbp
5251 ; X64-NEXT:    adcq $0, %rdi
5252 ; X64-NEXT:    adcq $0, %r15
5253 ; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r12 # 8-byte Folded Reload
5254 ; X64-NEXT:    movq %r12, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5255 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Folded Reload
5256 ; X64-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5257 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Folded Reload
5258 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r15 # 8-byte Folded Reload
5259 ; X64-NEXT:    setb {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Folded Spill
5260 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload
5261 ; X64-NEXT:    movq %r10, %rax
5262 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5263 ; X64-NEXT:    mulq %rsi
5264 ; X64-NEXT:    movq %rdx, %rcx
5265 ; X64-NEXT:    movq %rax, %rbp
5266 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5267 ; X64-NEXT:    movq %r9, %rax
5268 ; X64-NEXT:    mulq %rsi
5269 ; X64-NEXT:    movq %rsi, %r14
5270 ; X64-NEXT:    movq %rdx, %rsi
5271 ; X64-NEXT:    movq %rax, %r8
5272 ; X64-NEXT:    addq %rcx, %r8
5273 ; X64-NEXT:    adcq $0, %rsi
5274 ; X64-NEXT:    movq %r10, %rax
5275 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5276 ; X64-NEXT:    mulq %rcx
5277 ; X64-NEXT:    movq %rdx, %r10
5278 ; X64-NEXT:    movq %rax, %rbx
5279 ; X64-NEXT:    addq %r8, %rbx
5280 ; X64-NEXT:    adcq %rsi, %r10
5281 ; X64-NEXT:    setb %r8b
5282 ; X64-NEXT:    movq %r9, %rax
5283 ; X64-NEXT:    mulq %rcx
5284 ; X64-NEXT:    movq %rcx, %r11
5285 ; X64-NEXT:    movq %rdx, %rcx
5286 ; X64-NEXT:    movq %rax, %rsi
5287 ; X64-NEXT:    addq %r10, %rsi
5288 ; X64-NEXT:    movzbl %r8b, %eax
5289 ; X64-NEXT:    adcq %rax, %rcx
5290 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5291 ; X64-NEXT:    movq %r9, %rax
5292 ; X64-NEXT:    mulq %r14
5293 ; X64-NEXT:    movq %rdx, %r8
5294 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5295 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r12 # 8-byte Reload
5296 ; X64-NEXT:    movq %r12, %rax
5297 ; X64-NEXT:    mulq %r14
5298 ; X64-NEXT:    movq %rdx, %r10
5299 ; X64-NEXT:    movq %rax, %r14
5300 ; X64-NEXT:    addq %r8, %r14
5301 ; X64-NEXT:    adcq $0, %r10
5302 ; X64-NEXT:    movq %r9, %rax
5303 ; X64-NEXT:    movq %r11, %r13
5304 ; X64-NEXT:    mulq %r11
5305 ; X64-NEXT:    movq %rdx, %r8
5306 ; X64-NEXT:    addq %r14, %rax
5307 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5308 ; X64-NEXT:    adcq %r10, %r8
5309 ; X64-NEXT:    setb %r10b
5310 ; X64-NEXT:    movq %r12, %rax
5311 ; X64-NEXT:    movq %r12, %r11
5312 ; X64-NEXT:    mulq %r13
5313 ; X64-NEXT:    movq %rdx, %r12
5314 ; X64-NEXT:    movq %rax, %r13
5315 ; X64-NEXT:    addq %r8, %r13
5316 ; X64-NEXT:    movzbl %r10b, %eax
5317 ; X64-NEXT:    adcq %rax, %r12
5318 ; X64-NEXT:    addq %rbp, %r13
5319 ; X64-NEXT:    adcq %rbx, %r12
5320 ; X64-NEXT:    adcq $0, %rsi
5321 ; X64-NEXT:    adcq $0, %rcx
5322 ; X64-NEXT:    movq %r9, %rax
5323 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload
5324 ; X64-NEXT:    mulq %r10
5325 ; X64-NEXT:    movq %rdx, %r8
5326 ; X64-NEXT:    movq %rax, %r14
5327 ; X64-NEXT:    movq %r11, %rax
5328 ; X64-NEXT:    movq %r11, %rbx
5329 ; X64-NEXT:    mulq %r10
5330 ; X64-NEXT:    movq %rdx, %rbp
5331 ; X64-NEXT:    movq %rax, %r10
5332 ; X64-NEXT:    addq %r8, %r10
5333 ; X64-NEXT:    adcq $0, %rbp
5334 ; X64-NEXT:    movq %r9, %rax
5335 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5336 ; X64-NEXT:    mulq %r9
5337 ; X64-NEXT:    movq %rdx, %r8
5338 ; X64-NEXT:    movq %rax, %r11
5339 ; X64-NEXT:    addq %r10, %r11
5340 ; X64-NEXT:    adcq %rbp, %r8
5341 ; X64-NEXT:    setb %r10b
5342 ; X64-NEXT:    movq %rbx, %rax
5343 ; X64-NEXT:    mulq %r9
5344 ; X64-NEXT:    movq %r9, %rbp
5345 ; X64-NEXT:    movq %rdx, %r9
5346 ; X64-NEXT:    movq %rax, %rbx
5347 ; X64-NEXT:    addq %r8, %rbx
5348 ; X64-NEXT:    movzbl %r10b, %eax
5349 ; X64-NEXT:    adcq %rax, %r9
5350 ; X64-NEXT:    addq %r13, %r14
5351 ; X64-NEXT:    movq %r14, %r13
5352 ; X64-NEXT:    adcq %r12, %r11
5353 ; X64-NEXT:    adcq $0, %rbx
5354 ; X64-NEXT:    adcq $0, %r9
5355 ; X64-NEXT:    addq %rsi, %rbx
5356 ; X64-NEXT:    adcq %rcx, %r9
5357 ; X64-NEXT:    setb {{[-0-9]+}}(%r{{[sb]}}p) # 1-byte Folded Spill
5358 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload
5359 ; X64-NEXT:    movq %r14, %rax
5360 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5361 ; X64-NEXT:    mulq %rsi
5362 ; X64-NEXT:    movq %rdx, %rcx
5363 ; X64-NEXT:    movq %rax, %r10
5364 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r12 # 8-byte Reload
5365 ; X64-NEXT:    movq %r12, %rax
5366 ; X64-NEXT:    mulq %rsi
5367 ; X64-NEXT:    movq %rdx, %rsi
5368 ; X64-NEXT:    movq %rax, %r8
5369 ; X64-NEXT:    addq %rcx, %r8
5370 ; X64-NEXT:    adcq $0, %rsi
5371 ; X64-NEXT:    movq %r14, %rax
5372 ; X64-NEXT:    mulq %rbp
5373 ; X64-NEXT:    movq %rdx, %rcx
5374 ; X64-NEXT:    addq %r8, %rax
5375 ; X64-NEXT:    movq %rax, %r8
5376 ; X64-NEXT:    adcq %rsi, %rcx
5377 ; X64-NEXT:    setb %sil
5378 ; X64-NEXT:    movq %r12, %rax
5379 ; X64-NEXT:    mulq %rbp
5380 ; X64-NEXT:    addq %rcx, %rax
5381 ; X64-NEXT:    movq %rax, %rcx
5382 ; X64-NEXT:    movzbl %sil, %eax
5383 ; X64-NEXT:    adcq %rax, %rdx
5384 ; X64-NEXT:    addq %rbx, %r10
5385 ; X64-NEXT:    adcq %r9, %r8
5386 ; X64-NEXT:    movzbl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 1-byte Folded Reload
5387 ; X64-NEXT:    adcq %rax, %rcx
5388 ; X64-NEXT:    adcq $0, %rdx
5389 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5390 ; X64-NEXT:    addq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5391 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5392 ; X64-NEXT:    adcq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Folded Spill
5393 ; X64-NEXT:    adcq %rdi, %r13
5394 ; X64-NEXT:    movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5395 ; X64-NEXT:    adcq %r15, %r11
5396 ; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5397 ; X64-NEXT:    movzbl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 1-byte Folded Reload
5398 ; X64-NEXT:    adcq %rax, %r10
5399 ; X64-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5400 ; X64-NEXT:    adcq $0, %r8
5401 ; X64-NEXT:    movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5402 ; X64-NEXT:    adcq $0, %rcx
5403 ; X64-NEXT:    movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5404 ; X64-NEXT:    adcq $0, %rdx
5405 ; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5406 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5407 ; X64-NEXT:    movq 64(%r9), %rdi
5408 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5409 ; X64-NEXT:    movq %rcx, %rax
5410 ; X64-NEXT:    mulq %rdi
5411 ; X64-NEXT:    movq %rdx, %rsi
5412 ; X64-NEXT:    movq %rax, %r11
5413 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload
5414 ; X64-NEXT:    movq %r14, %rax
5415 ; X64-NEXT:    mulq %rdi
5416 ; X64-NEXT:    movq %rdi, %r15
5417 ; X64-NEXT:    movq %rdx, %rdi
5418 ; X64-NEXT:    movq %rax, %r8
5419 ; X64-NEXT:    addq %rsi, %r8
5420 ; X64-NEXT:    adcq $0, %rdi
5421 ; X64-NEXT:    movq 72(%r9), %rsi
5422 ; X64-NEXT:    movq %r9, %r13
5423 ; X64-NEXT:    movq %rcx, %rax
5424 ; X64-NEXT:    mulq %rsi
5425 ; X64-NEXT:    movq %rdx, %r10
5426 ; X64-NEXT:    movq %rax, %rbx
5427 ; X64-NEXT:    addq %r8, %rbx
5428 ; X64-NEXT:    adcq %rdi, %r10
5429 ; X64-NEXT:    setb %r8b
5430 ; X64-NEXT:    movq %r14, %rax
5431 ; X64-NEXT:    mulq %rsi
5432 ; X64-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5433 ; X64-NEXT:    movq %rdx, %rdi
5434 ; X64-NEXT:    movq %rax, %r9
5435 ; X64-NEXT:    addq %r10, %r9
5436 ; X64-NEXT:    movzbl %r8b, %eax
5437 ; X64-NEXT:    adcq %rax, %rdi
5438 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r12 # 8-byte Reload
5439 ; X64-NEXT:    movq %r12, %rax
5440 ; X64-NEXT:    movq %r15, %rcx
5441 ; X64-NEXT:    movq %r15, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5442 ; X64-NEXT:    mulq %r15
5443 ; X64-NEXT:    movq %rdx, %r8
5444 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5445 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r15 # 8-byte Reload
5446 ; X64-NEXT:    movq %r15, %rax
5447 ; X64-NEXT:    mulq %rcx
5448 ; X64-NEXT:    movq %rdx, %r10
5449 ; X64-NEXT:    movq %rax, %r14
5450 ; X64-NEXT:    addq %r8, %r14
5451 ; X64-NEXT:    adcq $0, %r10
5452 ; X64-NEXT:    movq %r12, %rax
5453 ; X64-NEXT:    movq %r12, %rcx
5454 ; X64-NEXT:    mulq %rsi
5455 ; X64-NEXT:    movq %rdx, %r8
5456 ; X64-NEXT:    addq %r14, %rax
5457 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5458 ; X64-NEXT:    adcq %r10, %r8
5459 ; X64-NEXT:    setb %r10b
5460 ; X64-NEXT:    movq %r15, %rax
5461 ; X64-NEXT:    movq %r15, %r12
5462 ; X64-NEXT:    mulq %rsi
5463 ; X64-NEXT:    movq %rdx, %r15
5464 ; X64-NEXT:    movq %rax, %rbp
5465 ; X64-NEXT:    addq %r8, %rbp
5466 ; X64-NEXT:    movzbl %r10b, %eax
5467 ; X64-NEXT:    adcq %rax, %r15
5468 ; X64-NEXT:    addq %r11, %rbp
5469 ; X64-NEXT:    adcq %rbx, %r15
5470 ; X64-NEXT:    adcq $0, %r9
5471 ; X64-NEXT:    adcq $0, %rdi
5472 ; X64-NEXT:    movq 80(%r13), %r14
5473 ; X64-NEXT:    movq %rcx, %rax
5474 ; X64-NEXT:    mulq %r14
5475 ; X64-NEXT:    movq %rdx, %r8
5476 ; X64-NEXT:    movq %rax, %rsi
5477 ; X64-NEXT:    movq %r12, %rax
5478 ; X64-NEXT:    mulq %r14
5479 ; X64-NEXT:    movq %rdx, %r10
5480 ; X64-NEXT:    movq %rax, %r11
5481 ; X64-NEXT:    addq %r8, %r11
5482 ; X64-NEXT:    adcq $0, %r10
5483 ; X64-NEXT:    movq 88(%r13), %rbx
5484 ; X64-NEXT:    movq %rcx, %rax
5485 ; X64-NEXT:    mulq %rbx
5486 ; X64-NEXT:    movq %rdx, %r8
5487 ; X64-NEXT:    addq %r11, %rax
5488 ; X64-NEXT:    movq %rax, %r11
5489 ; X64-NEXT:    adcq %r10, %r8
5490 ; X64-NEXT:    setb %r10b
5491 ; X64-NEXT:    movq %r12, %rax
5492 ; X64-NEXT:    mulq %rbx
5493 ; X64-NEXT:    movq %rdx, %r12
5494 ; X64-NEXT:    movq %rax, %r13
5495 ; X64-NEXT:    addq %r8, %r13
5496 ; X64-NEXT:    movzbl %r10b, %eax
5497 ; X64-NEXT:    adcq %rax, %r12
5498 ; X64-NEXT:    addq %rbp, %rsi
5499 ; X64-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5500 ; X64-NEXT:    adcq %r15, %r11
5501 ; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5502 ; X64-NEXT:    adcq $0, %r13
5503 ; X64-NEXT:    adcq $0, %r12
5504 ; X64-NEXT:    addq %r9, %r13
5505 ; X64-NEXT:    adcq %rdi, %r12
5506 ; X64-NEXT:    setb %bpl
5507 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Reload
5508 ; X64-NEXT:    movq %r9, %rax
5509 ; X64-NEXT:    mulq %r14
5510 ; X64-NEXT:    movq %rdx, %rdi
5511 ; X64-NEXT:    movq %rax, %rsi
5512 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5513 ; X64-NEXT:    movq %rcx, %rax
5514 ; X64-NEXT:    mulq %r14
5515 ; X64-NEXT:    movq %rdx, %r8
5516 ; X64-NEXT:    movq %rax, %r10
5517 ; X64-NEXT:    addq %rdi, %r10
5518 ; X64-NEXT:    adcq $0, %r8
5519 ; X64-NEXT:    movq %r9, %rax
5520 ; X64-NEXT:    movq %r9, %r15
5521 ; X64-NEXT:    mulq %rbx
5522 ; X64-NEXT:    movq %rdx, %rdi
5523 ; X64-NEXT:    addq %r10, %rax
5524 ; X64-NEXT:    movq %rax, %r10
5525 ; X64-NEXT:    adcq %r8, %rdi
5526 ; X64-NEXT:    setb %r8b
5527 ; X64-NEXT:    movq %rcx, %rax
5528 ; X64-NEXT:    movq %rcx, %r9
5529 ; X64-NEXT:    mulq %rbx
5530 ; X64-NEXT:    addq %rdi, %rax
5531 ; X64-NEXT:    movq %rax, %rcx
5532 ; X64-NEXT:    movzbl %r8b, %eax
5533 ; X64-NEXT:    adcq %rax, %rdx
5534 ; X64-NEXT:    addq %r13, %rsi
5535 ; X64-NEXT:    movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5536 ; X64-NEXT:    adcq %r12, %r10
5537 ; X64-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5538 ; X64-NEXT:    movzbl %bpl, %eax
5539 ; X64-NEXT:    adcq %rax, %rcx
5540 ; X64-NEXT:    movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5541 ; X64-NEXT:    adcq $0, %rdx
5542 ; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5543 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5544 ; X64-NEXT:    imulq %rax, %rbx
5545 ; X64-NEXT:    movq %rax, %r12
5546 ; X64-NEXT:    mulq %r14
5547 ; X64-NEXT:    movq %rax, %r8
5548 ; X64-NEXT:    addq %rbx, %rdx
5549 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5550 ; X64-NEXT:    imulq %rcx, %r14
5551 ; X64-NEXT:    addq %rdx, %r14
5552 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5553 ; X64-NEXT:    movq %rax, %r10
5554 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5555 ; X64-NEXT:    imulq %rsi, %r10
5556 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Reload
5557 ; X64-NEXT:    mulq %r11
5558 ; X64-NEXT:    movq %rax, %rdi
5559 ; X64-NEXT:    addq %r10, %rdx
5560 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Reload
5561 ; X64-NEXT:    imulq %r11, %rbx
5562 ; X64-NEXT:    addq %rdx, %rbx
5563 ; X64-NEXT:    addq %r8, %rdi
5564 ; X64-NEXT:    adcq %r14, %rbx
5565 ; X64-NEXT:    movq %r11, %rax
5566 ; X64-NEXT:    mulq %r12
5567 ; X64-NEXT:    movq %rdx, %r8
5568 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5569 ; X64-NEXT:    movq %rsi, %rax
5570 ; X64-NEXT:    mulq %r12
5571 ; X64-NEXT:    movq %rdx, %r10
5572 ; X64-NEXT:    movq %rax, %r14
5573 ; X64-NEXT:    addq %r8, %r14
5574 ; X64-NEXT:    adcq $0, %r10
5575 ; X64-NEXT:    movq %r11, %rax
5576 ; X64-NEXT:    mulq %rcx
5577 ; X64-NEXT:    movq %rdx, %r8
5578 ; X64-NEXT:    addq %r14, %rax
5579 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5580 ; X64-NEXT:    adcq %r10, %r8
5581 ; X64-NEXT:    setb %r10b
5582 ; X64-NEXT:    movq %rsi, %rax
5583 ; X64-NEXT:    mulq %rcx
5584 ; X64-NEXT:    movq %rdx, %rsi
5585 ; X64-NEXT:    movq %rax, %r14
5586 ; X64-NEXT:    addq %r8, %r14
5587 ; X64-NEXT:    movzbl %r10b, %eax
5588 ; X64-NEXT:    adcq %rax, %rsi
5589 ; X64-NEXT:    addq %rdi, %r14
5590 ; X64-NEXT:    adcq %rbx, %rsi
5591 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5592 ; X64-NEXT:    movq 112(%rcx), %r10
5593 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5594 ; X64-NEXT:    movq %rdi, %rax
5595 ; X64-NEXT:    mulq %r10
5596 ; X64-NEXT:    movq %rax, %rbp
5597 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Reload
5598 ; X64-NEXT:    imulq %r11, %r10
5599 ; X64-NEXT:    addq %rdx, %r10
5600 ; X64-NEXT:    movq 120(%rcx), %rax
5601 ; X64-NEXT:    imulq %rdi, %rax
5602 ; X64-NEXT:    movq %rdi, %r12
5603 ; X64-NEXT:    addq %rax, %r10
5604 ; X64-NEXT:    movq 96(%rcx), %r13
5605 ; X64-NEXT:    movq 104(%rcx), %r8
5606 ; X64-NEXT:    movq %r15, %rax
5607 ; X64-NEXT:    movq %r15, %rbx
5608 ; X64-NEXT:    imulq %r8, %rbx
5609 ; X64-NEXT:    mulq %r13
5610 ; X64-NEXT:    movq %rax, %rdi
5611 ; X64-NEXT:    addq %rbx, %rdx
5612 ; X64-NEXT:    imulq %r13, %r9
5613 ; X64-NEXT:    addq %rdx, %r9
5614 ; X64-NEXT:    addq %rbp, %rdi
5615 ; X64-NEXT:    adcq %r10, %r9
5616 ; X64-NEXT:    movq %r9, %r15
5617 ; X64-NEXT:    movq %r13, %rax
5618 ; X64-NEXT:    mulq %r12
5619 ; X64-NEXT:    movq %rdx, %r10
5620 ; X64-NEXT:    movq %rax, %r9
5621 ; X64-NEXT:    movq %r8, %rax
5622 ; X64-NEXT:    mulq %r12
5623 ; X64-NEXT:    movq %rdx, %rbp
5624 ; X64-NEXT:    movq %rax, %r12
5625 ; X64-NEXT:    addq %r10, %r12
5626 ; X64-NEXT:    adcq $0, %rbp
5627 ; X64-NEXT:    movq %r13, %rax
5628 ; X64-NEXT:    mulq %r11
5629 ; X64-NEXT:    movq %rdx, %r10
5630 ; X64-NEXT:    movq %rax, %r13
5631 ; X64-NEXT:    addq %r12, %r13
5632 ; X64-NEXT:    adcq %rbp, %r10
5633 ; X64-NEXT:    setb %bl
5634 ; X64-NEXT:    movq %r8, %rax
5635 ; X64-NEXT:    mulq %r11
5636 ; X64-NEXT:    addq %r10, %rax
5637 ; X64-NEXT:    movzbl %bl, %r8d
5638 ; X64-NEXT:    adcq %r8, %rdx
5639 ; X64-NEXT:    addq %rdi, %rax
5640 ; X64-NEXT:    adcq %r15, %rdx
5641 ; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Folded Reload
5642 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r13 # 8-byte Folded Reload
5643 ; X64-NEXT:    adcq %r14, %rax
5644 ; X64-NEXT:    adcq %rsi, %rdx
5645 ; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r9 # 8-byte Folded Reload
5646 ; X64-NEXT:    movq %r9, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5647 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r13 # 8-byte Folded Reload
5648 ; X64-NEXT:    movq %r13, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5649 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload
5650 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5651 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload
5652 ; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5653 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5654 ; X64-NEXT:    movq 80(%rdi), %r10
5655 ; X64-NEXT:    movq %r10, %rax
5656 ; X64-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5657 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload
5658 ; X64-NEXT:    mulq %r8
5659 ; X64-NEXT:    movq %rax, %rsi
5660 ; X64-NEXT:    movq %rdx, %rcx
5661 ; X64-NEXT:    movq 88(%rdi), %r15
5662 ; X64-NEXT:    movq %rdi, %r14
5663 ; X64-NEXT:    movq %r15, %rax
5664 ; X64-NEXT:    movq %r15, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5665 ; X64-NEXT:    mulq %r8
5666 ; X64-NEXT:    movq %r8, %rbx
5667 ; X64-NEXT:    movq %rdx, %r8
5668 ; X64-NEXT:    movq %rax, %r9
5669 ; X64-NEXT:    addq %rcx, %r9
5670 ; X64-NEXT:    adcq $0, %r8
5671 ; X64-NEXT:    movq %r10, %rax
5672 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Reload
5673 ; X64-NEXT:    mulq %r11
5674 ; X64-NEXT:    movq %rdx, %rcx
5675 ; X64-NEXT:    movq %rax, %rdi
5676 ; X64-NEXT:    addq %r9, %rdi
5677 ; X64-NEXT:    adcq %r8, %rcx
5678 ; X64-NEXT:    setb %r8b
5679 ; X64-NEXT:    movq %r15, %rax
5680 ; X64-NEXT:    mulq %r11
5681 ; X64-NEXT:    movq %r11, %r10
5682 ; X64-NEXT:    movq %rdx, %r15
5683 ; X64-NEXT:    movq %rax, %r12
5684 ; X64-NEXT:    addq %rcx, %r12
5685 ; X64-NEXT:    movzbl %r8b, %eax
5686 ; X64-NEXT:    adcq %rax, %r15
5687 ; X64-NEXT:    movq 64(%r14), %rcx
5688 ; X64-NEXT:    movq %rcx, %rax
5689 ; X64-NEXT:    mulq %rbx
5690 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5691 ; X64-NEXT:    movq %rdx, %r11
5692 ; X64-NEXT:    movq 72(%r14), %r8
5693 ; X64-NEXT:    movq %r8, %rax
5694 ; X64-NEXT:    mulq %rbx
5695 ; X64-NEXT:    movq %rdx, %rbx
5696 ; X64-NEXT:    movq %rax, %r14
5697 ; X64-NEXT:    addq %r11, %r14
5698 ; X64-NEXT:    adcq $0, %rbx
5699 ; X64-NEXT:    movq %rcx, %rax
5700 ; X64-NEXT:    movq %rcx, %r9
5701 ; X64-NEXT:    mulq %r10
5702 ; X64-NEXT:    movq %rdx, %r11
5703 ; X64-NEXT:    addq %r14, %rax
5704 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5705 ; X64-NEXT:    adcq %rbx, %r11
5706 ; X64-NEXT:    setb %cl
5707 ; X64-NEXT:    movq %r8, %rax
5708 ; X64-NEXT:    mulq %r10
5709 ; X64-NEXT:    movq %rdx, %rbx
5710 ; X64-NEXT:    movq %rax, %rbp
5711 ; X64-NEXT:    addq %r11, %rbp
5712 ; X64-NEXT:    movzbl %cl, %eax
5713 ; X64-NEXT:    adcq %rax, %rbx
5714 ; X64-NEXT:    addq %rsi, %rbp
5715 ; X64-NEXT:    adcq %rdi, %rbx
5716 ; X64-NEXT:    adcq $0, %r12
5717 ; X64-NEXT:    adcq $0, %r15
5718 ; X64-NEXT:    movq %r9, %rcx
5719 ; X64-NEXT:    movq %r9, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5720 ; X64-NEXT:    movq %r9, %rax
5721 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload
5722 ; X64-NEXT:    mulq %r14
5723 ; X64-NEXT:    movq %rdx, %rsi
5724 ; X64-NEXT:    movq %rax, %r9
5725 ; X64-NEXT:    movq %r8, %rax
5726 ; X64-NEXT:    movq %r8, %r10
5727 ; X64-NEXT:    movq %r8, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5728 ; X64-NEXT:    mulq %r14
5729 ; X64-NEXT:    movq %rdx, %rdi
5730 ; X64-NEXT:    movq %rax, %r11
5731 ; X64-NEXT:    addq %rsi, %r11
5732 ; X64-NEXT:    adcq $0, %rdi
5733 ; X64-NEXT:    movq %rcx, %rax
5734 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload
5735 ; X64-NEXT:    mulq %r8
5736 ; X64-NEXT:    movq %rdx, %r13
5737 ; X64-NEXT:    addq %r11, %rax
5738 ; X64-NEXT:    movq %rax, %r11
5739 ; X64-NEXT:    adcq %rdi, %r13
5740 ; X64-NEXT:    setb %cl
5741 ; X64-NEXT:    movq %r10, %rax
5742 ; X64-NEXT:    mulq %r8
5743 ; X64-NEXT:    movq %rdx, %rsi
5744 ; X64-NEXT:    movq %rax, %rdi
5745 ; X64-NEXT:    addq %r13, %rdi
5746 ; X64-NEXT:    movzbl %cl, %eax
5747 ; X64-NEXT:    adcq %rax, %rsi
5748 ; X64-NEXT:    addq %rbp, %r9
5749 ; X64-NEXT:    movq %r9, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5750 ; X64-NEXT:    adcq %rbx, %r11
5751 ; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5752 ; X64-NEXT:    adcq $0, %rdi
5753 ; X64-NEXT:    adcq $0, %rsi
5754 ; X64-NEXT:    addq %r12, %rdi
5755 ; X64-NEXT:    adcq %r15, %rsi
5756 ; X64-NEXT:    setb %cl
5757 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload
5758 ; X64-NEXT:    movq %r10, %rax
5759 ; X64-NEXT:    mulq %r14
5760 ; X64-NEXT:    movq %rdx, %r9
5761 ; X64-NEXT:    movq %rax, %r15
5762 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbp # 8-byte Reload
5763 ; X64-NEXT:    movq %rbp, %rax
5764 ; X64-NEXT:    mulq %r14
5765 ; X64-NEXT:    movq %rdx, %r11
5766 ; X64-NEXT:    movq %rax, %rbx
5767 ; X64-NEXT:    addq %r9, %rbx
5768 ; X64-NEXT:    adcq $0, %r11
5769 ; X64-NEXT:    movq %r10, %rax
5770 ; X64-NEXT:    movq %r8, %r9
5771 ; X64-NEXT:    mulq %r8
5772 ; X64-NEXT:    movq %rdx, %r13
5773 ; X64-NEXT:    addq %rbx, %rax
5774 ; X64-NEXT:    movq %rax, %r10
5775 ; X64-NEXT:    adcq %r11, %r13
5776 ; X64-NEXT:    setb %r8b
5777 ; X64-NEXT:    movq %rbp, %rax
5778 ; X64-NEXT:    mulq %r9
5779 ; X64-NEXT:    addq %r13, %rax
5780 ; X64-NEXT:    movq %rax, %r11
5781 ; X64-NEXT:    movzbl %r8b, %eax
5782 ; X64-NEXT:    adcq %rax, %rdx
5783 ; X64-NEXT:    addq %rdi, %r15
5784 ; X64-NEXT:    movq %r15, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5785 ; X64-NEXT:    adcq %rsi, %r10
5786 ; X64-NEXT:    movq %r10, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5787 ; X64-NEXT:    movzbl %cl, %eax
5788 ; X64-NEXT:    adcq %rax, %r11
5789 ; X64-NEXT:    movq %r11, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5790 ; X64-NEXT:    adcq $0, %rdx
5791 ; X64-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5792 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
5793 ; X64-NEXT:    movq 96(%rcx), %rsi
5794 ; X64-NEXT:    imulq %rsi, %r9
5795 ; X64-NEXT:    movq %rsi, %rax
5796 ; X64-NEXT:    mulq %r14
5797 ; X64-NEXT:    movq %rax, %rdi
5798 ; X64-NEXT:    addq %r9, %rdx
5799 ; X64-NEXT:    movq 104(%rcx), %r9
5800 ; X64-NEXT:    movq %r14, %rax
5801 ; X64-NEXT:    imulq %r9, %rax
5802 ; X64-NEXT:    addq %rdx, %rax
5803 ; X64-NEXT:    movq %rax, %r11
5804 ; X64-NEXT:    movq 112(%rcx), %rax
5805 ; X64-NEXT:    movq %rcx, %r14
5806 ; X64-NEXT:    movq %rax, %rcx
5807 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload
5808 ; X64-NEXT:    imulq %r10, %rcx
5809 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbx # 8-byte Reload
5810 ; X64-NEXT:    mulq %rbx
5811 ; X64-NEXT:    movq %rax, %r8
5812 ; X64-NEXT:    addq %rcx, %rdx
5813 ; X64-NEXT:    movq 120(%r14), %r13
5814 ; X64-NEXT:    imulq %rbx, %r13
5815 ; X64-NEXT:    addq %rdx, %r13
5816 ; X64-NEXT:    addq %rdi, %r8
5817 ; X64-NEXT:    adcq %r11, %r13
5818 ; X64-NEXT:    movq %rbx, %rax
5819 ; X64-NEXT:    movq %rbx, %rcx
5820 ; X64-NEXT:    mulq %rsi
5821 ; X64-NEXT:    movq %rdx, %rdi
5822 ; X64-NEXT:    movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
5823 ; X64-NEXT:    movq %r10, %rax
5824 ; X64-NEXT:    mulq %rsi
5825 ; X64-NEXT:    movq %rdx, %r11
5826 ; X64-NEXT:    movq %rax, %rbx
5827 ; X64-NEXT:    addq %rdi, %rbx
5828 ; X64-NEXT:    adcq $0, %r11
5829 ; X64-NEXT:    movq %rcx, %rax
5830 ; X64-NEXT:    mulq %r9
5831 ; X64-NEXT:    movq %rdx, %rcx
5832 ; X64-NEXT:    movq %rax, %r12
5833 ; X64-NEXT:    addq %rbx, %r12
5834 ; X64-NEXT:    adcq %r11, %rcx
5835 ; X64-NEXT:    setb %sil
5836 ; X64-NEXT:    movq %r10, %rax
5837 ; X64-NEXT:    mulq %r9
5838 ; X64-NEXT:    movq %rdx, %rbx
5839 ; X64-NEXT:    movq %rax, %r9
5840 ; X64-NEXT:    addq %rcx, %r9
5841 ; X64-NEXT:    movzbl %sil, %eax
5842 ; X64-NEXT:    adcq %rax, %rbx
5843 ; X64-NEXT:    addq %r8, %r9
5844 ; X64-NEXT:    adcq %r13, %rbx
5845 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5846 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload
5847 ; X64-NEXT:    imulq %r10, %rdi
5848 ; X64-NEXT:    movq %r10, %rax
5849 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5850 ; X64-NEXT:    mulq %rsi
5851 ; X64-NEXT:    movq %rax, %rcx
5852 ; X64-NEXT:    addq %rdi, %rdx
5853 ; X64-NEXT:    movq %rsi, %rax
5854 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r14 # 8-byte Reload
5855 ; X64-NEXT:    imulq %r14, %rax
5856 ; X64-NEXT:    addq %rdx, %rax
5857 ; X64-NEXT:    movq %rax, %r13
5858 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
5859 ; X64-NEXT:    movq %rax, %rsi
5860 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r8 # 8-byte Reload
5861 ; X64-NEXT:    imulq %r8, %rsi
5862 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5863 ; X64-NEXT:    mulq %rdi
5864 ; X64-NEXT:    movq %rax, %r11
5865 ; X64-NEXT:    addq %rsi, %rdx
5866 ; X64-NEXT:    imulq %rdi, %rbp
5867 ; X64-NEXT:    addq %rdx, %rbp
5868 ; X64-NEXT:    addq %rcx, %r11
5869 ; X64-NEXT:    adcq %r13, %rbp
5870 ; X64-NEXT:    movq %rdi, %rax
5871 ; X64-NEXT:    mulq %r10
5872 ; X64-NEXT:    movq %rdx, %rcx
5873 ; X64-NEXT:    movq %rax, %r13
5874 ; X64-NEXT:    movq %r8, %rax
5875 ; X64-NEXT:    movq %r8, %r15
5876 ; X64-NEXT:    mulq %r10
5877 ; X64-NEXT:    movq %rdx, %r8
5878 ; X64-NEXT:    movq %rax, %rsi
5879 ; X64-NEXT:    addq %rcx, %rsi
5880 ; X64-NEXT:    adcq $0, %r8
5881 ; X64-NEXT:    movq %rdi, %rax
5882 ; X64-NEXT:    mulq %r14
5883 ; X64-NEXT:    movq %rdx, %rdi
5884 ; X64-NEXT:    movq %rax, %rcx
5885 ; X64-NEXT:    addq %rsi, %rcx
5886 ; X64-NEXT:    adcq %r8, %rdi
5887 ; X64-NEXT:    setb %sil
5888 ; X64-NEXT:    movq %r15, %rax
5889 ; X64-NEXT:    mulq %r14
5890 ; X64-NEXT:    addq %rdi, %rax
5891 ; X64-NEXT:    movzbl %sil, %esi
5892 ; X64-NEXT:    adcq %rsi, %rdx
5893 ; X64-NEXT:    addq %r11, %rax
5894 ; X64-NEXT:    adcq %rbp, %rdx
5895 ; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r13 # 8-byte Folded Reload
5896 ; X64-NEXT:    adcq %r12, %rcx
5897 ; X64-NEXT:    adcq %r9, %rax
5898 ; X64-NEXT:    adcq %rbx, %rdx
5899 ; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %r13 # 8-byte Folded Reload
5900 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Folded Reload
5901 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload
5902 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload
5903 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5904 ; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Folded Reload
5905 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5906 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Folded Reload
5907 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Reload
5908 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Folded Reload
5909 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Reload
5910 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Folded Reload
5911 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r13 # 8-byte Folded Reload
5912 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Folded Reload
5913 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload
5914 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload
5915 ; X64-NEXT:    addq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Folded Reload
5916 ; X64-NEXT:    movq %rsi, %r8
5917 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Folded Reload
5918 ; X64-NEXT:    movq %rdi, %r9
5919 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r10 # 8-byte Folded Reload
5920 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r11 # 8-byte Folded Reload
5921 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %r13 # 8-byte Folded Reload
5922 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Folded Reload
5923 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Folded Reload
5924 ; X64-NEXT:    adcq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Folded Reload
5925 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
5926 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5927 ; X64-NEXT:    movq %rdi, (%rsi)
5928 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5929 ; X64-NEXT:    movq %rdi, 8(%rsi)
5930 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5931 ; X64-NEXT:    movq %rdi, 16(%rsi)
5932 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5933 ; X64-NEXT:    movq %rdi, 24(%rsi)
5934 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5935 ; X64-NEXT:    movq %rdi, 32(%rsi)
5936 ; X64-NEXT:    movq (%rsp), %rdi # 8-byte Reload
5937 ; X64-NEXT:    movq %rdi, 40(%rsi)
5938 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5939 ; X64-NEXT:    movq %rdi, 48(%rsi)
5940 ; X64-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rdi # 8-byte Reload
5941 ; X64-NEXT:    movq %rdi, 56(%rsi)
5942 ; X64-NEXT:    movq %r8, 64(%rsi)
5943 ; X64-NEXT:    movq %r9, 72(%rsi)
5944 ; X64-NEXT:    movq %r10, 80(%rsi)
5945 ; X64-NEXT:    movq %r11, 88(%rsi)
5946 ; X64-NEXT:    movq %r13, 96(%rsi)
5947 ; X64-NEXT:    movq %rcx, 104(%rsi)
5948 ; X64-NEXT:    movq %rax, 112(%rsi)
5949 ; X64-NEXT:    movq %rdx, 120(%rsi)
5950 ; X64-NEXT:    addq $240, %rsp
5951 ; X64-NEXT:    popq %rbx
5952 ; X64-NEXT:    popq %r12
5953 ; X64-NEXT:    popq %r13
5954 ; X64-NEXT:    popq %r14
5955 ; X64-NEXT:    popq %r15
5956 ; X64-NEXT:    popq %rbp
5957 ; X64-NEXT:    retq
5958   %av = load i1024, ptr %a
5959   %bv = load i1024, ptr %b
5960   %r = mul i1024 %av, %bv
5961   store i1024 %r, ptr %out
5962   ret void