1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2 ; RUN: llc < %s -mtriple=i386-unknown | FileCheck %s --check-prefix=X32 3 ; RUN: llc < %s -mtriple=x86_64-unknown | FileCheck %s --check-prefix=X64 4 5 define void @test_512(i512* %a, i512* %b, i512* %out) nounwind { 6 ; X32-LABEL: test_512: 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 $244, %esp 13 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx 14 ; X32-NEXT: movl 20(%ecx), %edi 15 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 16 ; X32-NEXT: movl 16(%ecx), %eax 17 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 18 ; X32-NEXT: movl %ecx, %ebp 19 ; X32-NEXT: xorl %ebx, %ebx 20 ; X32-NEXT: mull %ebx 21 ; X32-NEXT: movl %edx, %ecx 22 ; X32-NEXT: movl %eax, %esi 23 ; X32-NEXT: movl %edi, %eax 24 ; X32-NEXT: mull %ebx 25 ; X32-NEXT: movl %eax, %edi 26 ; X32-NEXT: addl %ecx, %edi 27 ; X32-NEXT: movl %edx, %ebx 28 ; X32-NEXT: adcl $0, %ebx 29 ; X32-NEXT: addl %esi, %edi 30 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 31 ; X32-NEXT: movl %edi, (%esp) # 4-byte Spill 32 ; X32-NEXT: adcl %ecx, %ebx 33 ; X32-NEXT: movl %ecx, %edi 34 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 35 ; X32-NEXT: setb %cl 36 ; X32-NEXT: addl %eax, %ebx 37 ; X32-NEXT: movzbl %cl, %ecx 38 ; X32-NEXT: adcl %edx, %ecx 39 ; X32-NEXT: movl 24(%ebp), %eax 40 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 41 ; X32-NEXT: xorl %edx, %edx 42 ; X32-NEXT: mull %edx 43 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 44 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 45 ; X32-NEXT: addl %eax, %esi 46 ; X32-NEXT: adcl %edx, %edi 47 ; X32-NEXT: addl %ebx, %esi 48 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 49 ; X32-NEXT: adcl %ecx, %edi 50 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 51 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx 52 ; X32-NEXT: movl (%ecx), %eax 53 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 54 ; X32-NEXT: xorl %ebx, %ebx 55 ; X32-NEXT: mull %ebx 56 ; X32-NEXT: movl %eax, %ebp 57 ; X32-NEXT: movl %edx, %edi 58 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 59 ; X32-NEXT: movl 4(%ecx), %eax 60 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 61 ; X32-NEXT: movl %ecx, %esi 62 ; X32-NEXT: mull %ebx 63 ; X32-NEXT: movl %eax, %ebx 64 ; X32-NEXT: addl %edi, %ebx 65 ; X32-NEXT: movl %edx, %ecx 66 ; X32-NEXT: adcl $0, %ecx 67 ; X32-NEXT: addl %ebp, %ebx 68 ; X32-NEXT: movl %ebx, {{[0-9]+}}(%esp) # 4-byte Spill 69 ; X32-NEXT: adcl %edi, %ecx 70 ; X32-NEXT: setb %bl 71 ; X32-NEXT: addl %eax, %ecx 72 ; X32-NEXT: movzbl %bl, %ebx 73 ; X32-NEXT: adcl %edx, %ebx 74 ; X32-NEXT: movl 8(%esi), %eax 75 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 76 ; X32-NEXT: xorl %edx, %edx 77 ; X32-NEXT: mull %edx 78 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 79 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 80 ; X32-NEXT: movl %ebp, %esi 81 ; X32-NEXT: addl %eax, %esi 82 ; X32-NEXT: movl %edi, %eax 83 ; X32-NEXT: adcl %edx, %eax 84 ; X32-NEXT: addl %ecx, %esi 85 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 86 ; X32-NEXT: adcl %ebx, %eax 87 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 88 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 89 ; X32-NEXT: addl %ebp, %eax 90 ; X32-NEXT: movl %ebp, %esi 91 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 92 ; X32-NEXT: adcl %edi, %eax 93 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 94 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx 95 ; X32-NEXT: movl (%ecx), %eax 96 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 97 ; X32-NEXT: xorl %ebp, %ebp 98 ; X32-NEXT: mull %ebp 99 ; X32-NEXT: movl %edx, %ebx 100 ; X32-NEXT: movl %eax, %ecx 101 ; X32-NEXT: movl %eax, %edx 102 ; X32-NEXT: addl %esi, %edx 103 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 104 ; X32-NEXT: movl %ebx, %eax 105 ; X32-NEXT: adcl %edi, %eax 106 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 107 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax 108 ; X32-NEXT: movl 16(%eax), %eax 109 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 110 ; X32-NEXT: mull %ebp 111 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 112 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 113 ; X32-NEXT: movl %ecx, %edi 114 ; X32-NEXT: movl %ecx, %ebp 115 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 116 ; X32-NEXT: addl %eax, %edi 117 ; X32-NEXT: movl %ebx, %eax 118 ; X32-NEXT: adcl %edx, %eax 119 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 120 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 121 ; X32-NEXT: addl %esi, %eax 122 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 123 ; X32-NEXT: movl (%esp), %eax # 4-byte Reload 124 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 125 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 126 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 127 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 128 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 129 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 130 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 131 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 132 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax 133 ; X32-NEXT: movl 4(%eax), %eax 134 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 135 ; X32-NEXT: xorl %edi, %edi 136 ; X32-NEXT: mull %edi 137 ; X32-NEXT: movl %eax, %esi 138 ; X32-NEXT: addl %ebx, %esi 139 ; X32-NEXT: movl %edx, %ecx 140 ; X32-NEXT: adcl $0, %ecx 141 ; X32-NEXT: addl %ebp, %esi 142 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 143 ; X32-NEXT: adcl %ebx, %ecx 144 ; X32-NEXT: movl %ebx, %esi 145 ; X32-NEXT: movl %ebx, {{[0-9]+}}(%esp) # 4-byte Spill 146 ; X32-NEXT: setb %bl 147 ; X32-NEXT: addl %eax, %ecx 148 ; X32-NEXT: movzbl %bl, %ebx 149 ; X32-NEXT: adcl %edx, %ebx 150 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax 151 ; X32-NEXT: movl 8(%eax), %eax 152 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 153 ; X32-NEXT: mull %edi 154 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 155 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 156 ; X32-NEXT: movl %ebp, %edi 157 ; X32-NEXT: addl %eax, %edi 158 ; X32-NEXT: adcl %edx, %esi 159 ; X32-NEXT: addl %ecx, %edi 160 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 161 ; X32-NEXT: adcl %ebx, %esi 162 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 163 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 164 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 165 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 166 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 167 ; X32-NEXT: adcl %edi, {{[0-9]+}}(%esp) # 4-byte Folded Spill 168 ; X32-NEXT: adcl %esi, {{[0-9]+}}(%esp) # 4-byte Folded Spill 169 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi 170 ; X32-NEXT: movl 20(%esi), %eax 171 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 172 ; X32-NEXT: xorl %ecx, %ecx 173 ; X32-NEXT: mull %ecx 174 ; X32-NEXT: movl %eax, %ebx 175 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 176 ; X32-NEXT: addl %edi, %ebx 177 ; X32-NEXT: movl %edx, %ecx 178 ; X32-NEXT: adcl $0, %ecx 179 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 180 ; X32-NEXT: addl %ebp, %ebx 181 ; X32-NEXT: movl %ebx, {{[0-9]+}}(%esp) # 4-byte Spill 182 ; X32-NEXT: adcl %edi, %ecx 183 ; X32-NEXT: setb %bl 184 ; X32-NEXT: addl %eax, %ecx 185 ; X32-NEXT: movzbl %bl, %ebx 186 ; X32-NEXT: adcl %edx, %ebx 187 ; X32-NEXT: movl 24(%esi), %eax 188 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 189 ; X32-NEXT: xorl %edx, %edx 190 ; X32-NEXT: mull %edx 191 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 192 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 193 ; X32-NEXT: movl %ebp, %esi 194 ; X32-NEXT: addl %eax, %esi 195 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 196 ; X32-NEXT: adcl %edx, %edi 197 ; X32-NEXT: addl %ecx, %esi 198 ; X32-NEXT: adcl %ebx, %edi 199 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 200 ; X32-NEXT: addl %ebp, %eax 201 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 202 ; X32-NEXT: movl %ebp, %edx 203 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 204 ; X32-NEXT: adcl %ebp, {{[0-9]+}}(%esp) # 4-byte Folded Spill 205 ; X32-NEXT: adcl %esi, {{[0-9]+}}(%esp) # 4-byte Folded Spill 206 ; X32-NEXT: adcl %edi, {{[0-9]+}}(%esp) # 4-byte Folded Spill 207 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 208 ; X32-NEXT: movl %ecx, %eax 209 ; X32-NEXT: addl %edx, %eax 210 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 211 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 212 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 213 ; X32-NEXT: movl %ecx, %eax 214 ; X32-NEXT: addl %edx, %eax 215 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 216 ; X32-NEXT: adcl (%esp), %ebp # 4-byte Folded Reload 217 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 218 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 219 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 220 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 221 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 222 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 223 ; X32-NEXT: movl %ecx, %eax 224 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 225 ; X32-NEXT: mull %edi 226 ; X32-NEXT: movl %eax, (%esp) # 4-byte Spill 227 ; X32-NEXT: movl %edx, %ebp 228 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax 229 ; X32-NEXT: movl 28(%eax), %esi 230 ; X32-NEXT: movl %esi, %eax 231 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 232 ; X32-NEXT: mull %edi 233 ; X32-NEXT: movl %edx, %edi 234 ; X32-NEXT: movl %eax, %ebx 235 ; X32-NEXT: addl %ebp, %ebx 236 ; X32-NEXT: adcl $0, %edi 237 ; X32-NEXT: movl %ecx, %eax 238 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 239 ; X32-NEXT: mull %ecx 240 ; X32-NEXT: movl %edx, %ebp 241 ; X32-NEXT: addl %ebx, %eax 242 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 243 ; X32-NEXT: adcl %edi, %ebp 244 ; X32-NEXT: setb %bl 245 ; X32-NEXT: movl %esi, %eax 246 ; X32-NEXT: mull %ecx 247 ; X32-NEXT: addl %ebp, %eax 248 ; X32-NEXT: movzbl %bl, %ecx 249 ; X32-NEXT: adcl %ecx, %edx 250 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 251 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 252 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 253 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 254 ; X32-NEXT: addl %eax, %ecx 255 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 256 ; X32-NEXT: adcl %edx, %esi 257 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 258 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 259 ; X32-NEXT: movl %ecx, %eax 260 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 261 ; X32-NEXT: mull %esi 262 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 263 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 264 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 265 ; X32-NEXT: movl %edi, %eax 266 ; X32-NEXT: mull %esi 267 ; X32-NEXT: movl %edx, %ebx 268 ; X32-NEXT: movl %eax, %ebp 269 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 270 ; X32-NEXT: adcl $0, %ebx 271 ; X32-NEXT: movl %ecx, %eax 272 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 273 ; X32-NEXT: mull %esi 274 ; X32-NEXT: movl %edx, %ecx 275 ; X32-NEXT: addl %ebp, %eax 276 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 277 ; X32-NEXT: adcl %ebx, %ecx 278 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 279 ; X32-NEXT: movl %edi, %ebp 280 ; X32-NEXT: movl %edi, %eax 281 ; X32-NEXT: mull %esi 282 ; X32-NEXT: movl %edx, %edi 283 ; X32-NEXT: movl %eax, %ebx 284 ; X32-NEXT: addl %ecx, %ebx 285 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 286 ; X32-NEXT: adcl %eax, %edi 287 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 288 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 289 ; X32-NEXT: addl (%esp), %ebx # 4-byte Folded Reload 290 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 291 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 292 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 293 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 294 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 295 ; X32-NEXT: mull %esi 296 ; X32-NEXT: movl %edx, %ecx 297 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 298 ; X32-NEXT: movl %ebp, %eax 299 ; X32-NEXT: mull %esi 300 ; X32-NEXT: movl %edx, %esi 301 ; X32-NEXT: movl %eax, %ebp 302 ; X32-NEXT: addl %ecx, %ebp 303 ; X32-NEXT: adcl $0, %esi 304 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax 305 ; X32-NEXT: movl 12(%eax), %ecx 306 ; X32-NEXT: movl %ecx, (%esp) # 4-byte Spill 307 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 308 ; X32-NEXT: mull %ecx 309 ; X32-NEXT: movl %edx, %ecx 310 ; X32-NEXT: addl %ebp, %eax 311 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 312 ; X32-NEXT: adcl %esi, %ecx 313 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 314 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 315 ; X32-NEXT: mull (%esp) # 4-byte Folded Reload 316 ; X32-NEXT: addl %ecx, %eax 317 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx # 1-byte Folded Reload 318 ; X32-NEXT: adcl %ecx, %edx 319 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 320 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 321 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 322 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 323 ; X32-NEXT: addl %eax, %ebp 324 ; X32-NEXT: adcl %edx, %ecx 325 ; X32-NEXT: addl %ebx, {{[0-9]+}}(%esp) # 4-byte Folded Spill 326 ; X32-NEXT: adcl %edi, {{[0-9]+}}(%esp) # 4-byte Folded Spill 327 ; X32-NEXT: adcl $0, %ebp 328 ; X32-NEXT: adcl $0, %ecx 329 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 330 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 331 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 332 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 333 ; X32-NEXT: movl %ebx, %eax 334 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 335 ; X32-NEXT: mull %esi 336 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 337 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 338 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 339 ; X32-NEXT: mull %esi 340 ; X32-NEXT: movl %eax, %edi 341 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 342 ; X32-NEXT: adcl $0, %edx 343 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 344 ; X32-NEXT: movl %ebx, %eax 345 ; X32-NEXT: movl (%esp), %esi # 4-byte Reload 346 ; X32-NEXT: mull %esi 347 ; X32-NEXT: movl %edx, %ebx 348 ; X32-NEXT: addl %edi, %eax 349 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 350 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 351 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 352 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 353 ; X32-NEXT: mull %esi 354 ; X32-NEXT: addl %ebx, %eax 355 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %esi # 1-byte Folded Reload 356 ; X32-NEXT: adcl %esi, %edx 357 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 358 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 359 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 360 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 361 ; X32-NEXT: addl %eax, %edi 362 ; X32-NEXT: adcl %edx, %ebx 363 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx # 4-byte Reload 364 ; X32-NEXT: addl %ebp, %edx 365 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 366 ; X32-NEXT: adcl %ecx, %esi 367 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 368 ; X32-NEXT: adcl %eax, %edi 369 ; X32-NEXT: adcl $0, %ebx 370 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 371 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 372 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 373 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 374 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 375 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 376 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 377 ; X32-NEXT: movl %ebx, {{[0-9]+}}(%esp) # 4-byte Spill 378 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 379 ; X32-NEXT: movl %ecx, %eax 380 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 381 ; X32-NEXT: mull %edi 382 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 383 ; X32-NEXT: movl %edx, %esi 384 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax 385 ; X32-NEXT: movl 12(%eax), %eax 386 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 387 ; X32-NEXT: mull %edi 388 ; X32-NEXT: movl %edx, %edi 389 ; X32-NEXT: movl %eax, %ebp 390 ; X32-NEXT: addl %esi, %ebp 391 ; X32-NEXT: adcl $0, %edi 392 ; X32-NEXT: movl %ecx, %eax 393 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 394 ; X32-NEXT: mull %ebx 395 ; X32-NEXT: movl %edx, %esi 396 ; X32-NEXT: addl %ebp, %eax 397 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 398 ; X32-NEXT: adcl %edi, %esi 399 ; X32-NEXT: setb %cl 400 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 401 ; X32-NEXT: mull %ebx 402 ; X32-NEXT: addl %esi, %eax 403 ; X32-NEXT: movzbl %cl, %ecx 404 ; X32-NEXT: adcl %ecx, %edx 405 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 406 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 407 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 408 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 409 ; X32-NEXT: addl %eax, %ecx 410 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 411 ; X32-NEXT: adcl %edx, %esi 412 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 413 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 414 ; X32-NEXT: movl %esi, %eax 415 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 416 ; X32-NEXT: mull %ecx 417 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 418 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 419 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 420 ; X32-NEXT: movl %ebx, %eax 421 ; X32-NEXT: mull %ecx 422 ; X32-NEXT: movl %edx, %edi 423 ; X32-NEXT: movl %eax, %ebp 424 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 425 ; X32-NEXT: adcl $0, %edi 426 ; X32-NEXT: movl %esi, %eax 427 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 428 ; X32-NEXT: mull %esi 429 ; X32-NEXT: movl %edx, %ecx 430 ; X32-NEXT: addl %ebp, %eax 431 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 432 ; X32-NEXT: adcl %edi, %ecx 433 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 434 ; X32-NEXT: movl %ebx, %edi 435 ; X32-NEXT: movl %ebx, %eax 436 ; X32-NEXT: mull %esi 437 ; X32-NEXT: movl %eax, %ebp 438 ; X32-NEXT: addl %ecx, %ebp 439 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 440 ; X32-NEXT: adcl %eax, %edx 441 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 442 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 443 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 444 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 445 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 446 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 447 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 448 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 449 ; X32-NEXT: movl %esi, %eax 450 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 451 ; X32-NEXT: mull %ebx 452 ; X32-NEXT: movl %edx, %ecx 453 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 454 ; X32-NEXT: movl %edi, %eax 455 ; X32-NEXT: mull %ebx 456 ; X32-NEXT: movl %edx, %edi 457 ; X32-NEXT: movl %eax, %ebx 458 ; X32-NEXT: addl %ecx, %ebx 459 ; X32-NEXT: adcl $0, %edi 460 ; X32-NEXT: movl %esi, %eax 461 ; X32-NEXT: movl (%esp), %ecx # 4-byte Reload 462 ; X32-NEXT: mull %ecx 463 ; X32-NEXT: movl %edx, %esi 464 ; X32-NEXT: addl %ebx, %eax 465 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 466 ; X32-NEXT: adcl %edi, %esi 467 ; X32-NEXT: setb %bl 468 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 469 ; X32-NEXT: mull %ecx 470 ; X32-NEXT: addl %esi, %eax 471 ; X32-NEXT: movzbl %bl, %ecx 472 ; X32-NEXT: adcl %ecx, %edx 473 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 474 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 475 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 476 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 477 ; X32-NEXT: addl %eax, %ebx 478 ; X32-NEXT: adcl %edx, %ecx 479 ; X32-NEXT: addl %ebp, {{[0-9]+}}(%esp) # 4-byte Folded Spill 480 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 481 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 482 ; X32-NEXT: adcl $0, %ebx 483 ; X32-NEXT: adcl $0, %ecx 484 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 485 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 486 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 487 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 488 ; X32-NEXT: movl %ebp, %eax 489 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 490 ; X32-NEXT: mull %esi 491 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 492 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 493 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 494 ; X32-NEXT: mull %esi 495 ; X32-NEXT: movl %eax, %edi 496 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 497 ; X32-NEXT: adcl $0, %edx 498 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 499 ; X32-NEXT: movl %ebp, %eax 500 ; X32-NEXT: movl (%esp), %esi # 4-byte Reload 501 ; X32-NEXT: mull %esi 502 ; X32-NEXT: movl %edx, %ebp 503 ; X32-NEXT: addl %edi, %eax 504 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 505 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 506 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 507 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 508 ; X32-NEXT: mull %esi 509 ; X32-NEXT: addl %ebp, %eax 510 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %esi # 1-byte Folded Reload 511 ; X32-NEXT: adcl %esi, %edx 512 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 513 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 514 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 515 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 516 ; X32-NEXT: addl %eax, %ebp 517 ; X32-NEXT: adcl %edx, %edi 518 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx # 4-byte Reload 519 ; X32-NEXT: addl %ebx, %edx 520 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 521 ; X32-NEXT: adcl %ecx, %esi 522 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 523 ; X32-NEXT: adcl %eax, %ebp 524 ; X32-NEXT: adcl $0, %edi 525 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 526 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 527 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 528 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 529 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 530 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 531 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 532 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 533 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 534 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 535 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 536 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 537 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 538 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 539 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 540 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 541 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 542 ; X32-NEXT: movl %ebx, %eax 543 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 544 ; X32-NEXT: mull %ecx 545 ; X32-NEXT: movl %edx, %esi 546 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 547 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 548 ; X32-NEXT: movl %ebp, %eax 549 ; X32-NEXT: mull %ecx 550 ; X32-NEXT: movl %edx, %edi 551 ; X32-NEXT: movl %eax, %ecx 552 ; X32-NEXT: addl %esi, %ecx 553 ; X32-NEXT: adcl $0, %edi 554 ; X32-NEXT: movl %ebx, %eax 555 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 556 ; X32-NEXT: mull %ebx 557 ; X32-NEXT: movl %edx, %esi 558 ; X32-NEXT: addl %ecx, %eax 559 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 560 ; X32-NEXT: adcl %edi, %esi 561 ; X32-NEXT: setb %cl 562 ; X32-NEXT: movl %ebp, %eax 563 ; X32-NEXT: mull %ebx 564 ; X32-NEXT: addl %esi, %eax 565 ; X32-NEXT: movzbl %cl, %ecx 566 ; X32-NEXT: adcl %ecx, %edx 567 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 568 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 569 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 570 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 571 ; X32-NEXT: addl %eax, %ecx 572 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 573 ; X32-NEXT: adcl %edx, %esi 574 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 575 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 576 ; X32-NEXT: movl %ebx, %eax 577 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 578 ; X32-NEXT: mull %esi 579 ; X32-NEXT: movl %edx, %ecx 580 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 581 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 582 ; X32-NEXT: movl %ebp, %eax 583 ; X32-NEXT: mull %esi 584 ; X32-NEXT: movl %edx, %esi 585 ; X32-NEXT: movl %eax, %edi 586 ; X32-NEXT: addl %ecx, %edi 587 ; X32-NEXT: adcl $0, %esi 588 ; X32-NEXT: movl %ebx, %eax 589 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 590 ; X32-NEXT: mull %ebx 591 ; X32-NEXT: movl %edx, %ecx 592 ; X32-NEXT: addl %edi, %eax 593 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 594 ; X32-NEXT: adcl %esi, %ecx 595 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 596 ; X32-NEXT: movl %ebp, %eax 597 ; X32-NEXT: mull %ebx 598 ; X32-NEXT: movl %eax, %edi 599 ; X32-NEXT: addl %ecx, %edi 600 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 601 ; X32-NEXT: adcl %eax, %edx 602 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 603 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 604 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 605 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 606 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 607 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 608 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 609 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 610 ; X32-NEXT: movl %ebx, %eax 611 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 612 ; X32-NEXT: mull %ecx 613 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 614 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 615 ; X32-NEXT: movl %ebp, %eax 616 ; X32-NEXT: mull %ecx 617 ; X32-NEXT: movl %edx, %esi 618 ; X32-NEXT: movl %eax, %ecx 619 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 620 ; X32-NEXT: adcl $0, %esi 621 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax 622 ; X32-NEXT: movl 28(%eax), %ebp 623 ; X32-NEXT: movl %ebx, %eax 624 ; X32-NEXT: mull %ebp 625 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 626 ; X32-NEXT: movl %edx, %ebx 627 ; X32-NEXT: addl %ecx, %eax 628 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 629 ; X32-NEXT: adcl %esi, %ebx 630 ; X32-NEXT: setb %cl 631 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 632 ; X32-NEXT: mull %ebp 633 ; X32-NEXT: addl %ebx, %eax 634 ; X32-NEXT: movzbl %cl, %ecx 635 ; X32-NEXT: adcl %ecx, %edx 636 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 637 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 638 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 639 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 640 ; X32-NEXT: addl %eax, %ebp 641 ; X32-NEXT: adcl %edx, %ecx 642 ; X32-NEXT: addl %edi, {{[0-9]+}}(%esp) # 4-byte Folded Spill 643 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 644 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 645 ; X32-NEXT: adcl $0, %ebp 646 ; X32-NEXT: adcl $0, %ecx 647 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 648 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 649 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 650 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 651 ; X32-NEXT: movl %esi, %eax 652 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 653 ; X32-NEXT: mull %edi 654 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 655 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 656 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 657 ; X32-NEXT: mull %edi 658 ; X32-NEXT: movl %edx, %edi 659 ; X32-NEXT: movl %eax, %ebx 660 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 661 ; X32-NEXT: adcl $0, %edi 662 ; X32-NEXT: movl %esi, %eax 663 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 664 ; X32-NEXT: mull %esi 665 ; X32-NEXT: addl %ebx, %eax 666 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 667 ; X32-NEXT: adcl %edi, %edx 668 ; X32-NEXT: movl %edx, %edi 669 ; X32-NEXT: setb %bl 670 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 671 ; X32-NEXT: mull %esi 672 ; X32-NEXT: addl %edi, %eax 673 ; X32-NEXT: movzbl %bl, %esi 674 ; X32-NEXT: adcl %esi, %edx 675 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 676 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 677 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 678 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 679 ; X32-NEXT: addl %eax, %edi 680 ; X32-NEXT: adcl %edx, %ebx 681 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx # 4-byte Reload 682 ; X32-NEXT: addl %ebp, %edx 683 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 684 ; X32-NEXT: adcl %ecx, %esi 685 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 686 ; X32-NEXT: adcl %eax, %edi 687 ; X32-NEXT: adcl $0, %ebx 688 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 689 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 690 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 691 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 692 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 693 ; X32-NEXT: addl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 694 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 695 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 696 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 697 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 698 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 699 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 700 ; X32-NEXT: adcl $0, %edx 701 ; X32-NEXT: adcl $0, %esi 702 ; X32-NEXT: adcl $0, %edi 703 ; X32-NEXT: adcl $0, %ebx 704 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 705 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 706 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 707 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 708 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 709 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 710 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 711 ; X32-NEXT: movl %ebx, {{[0-9]+}}(%esp) # 4-byte Spill 712 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 713 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 714 ; X32-NEXT: movl %esi, %eax 715 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 716 ; X32-NEXT: mull %edi 717 ; X32-NEXT: movl %edx, %ecx 718 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 719 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 720 ; X32-NEXT: movl %ebp, %eax 721 ; X32-NEXT: mull %edi 722 ; X32-NEXT: movl %edx, %ebx 723 ; X32-NEXT: movl %eax, %edi 724 ; X32-NEXT: addl %ecx, %edi 725 ; X32-NEXT: adcl $0, %ebx 726 ; X32-NEXT: movl %esi, %eax 727 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 728 ; X32-NEXT: mull %esi 729 ; X32-NEXT: movl %edx, %ecx 730 ; X32-NEXT: addl %edi, %eax 731 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 732 ; X32-NEXT: adcl %ebx, %ecx 733 ; X32-NEXT: setb %bl 734 ; X32-NEXT: movl %ebp, %eax 735 ; X32-NEXT: mull %esi 736 ; X32-NEXT: addl %ecx, %eax 737 ; X32-NEXT: movzbl %bl, %ecx 738 ; X32-NEXT: adcl %ecx, %edx 739 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 740 ; X32-NEXT: addl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 741 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 742 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 743 ; X32-NEXT: addl %eax, %esi 744 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 745 ; X32-NEXT: adcl %edx, %ecx 746 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 747 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 748 ; X32-NEXT: movl %ecx, %eax 749 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 750 ; X32-NEXT: mull %edi 751 ; X32-NEXT: movl %edx, %esi 752 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 753 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 754 ; X32-NEXT: movl %ebp, %eax 755 ; X32-NEXT: mull %edi 756 ; X32-NEXT: movl %edx, %edi 757 ; X32-NEXT: movl %eax, %ebx 758 ; X32-NEXT: addl %esi, %ebx 759 ; X32-NEXT: adcl $0, %edi 760 ; X32-NEXT: movl %ecx, %eax 761 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 762 ; X32-NEXT: mull %esi 763 ; X32-NEXT: movl %edx, %ecx 764 ; X32-NEXT: addl %ebx, %eax 765 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 766 ; X32-NEXT: adcl %edi, %ecx 767 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 768 ; X32-NEXT: movl %ebp, %eax 769 ; X32-NEXT: movl %ebp, %edi 770 ; X32-NEXT: mull %esi 771 ; X32-NEXT: movl %eax, %ebx 772 ; X32-NEXT: addl %ecx, %ebx 773 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 774 ; X32-NEXT: adcl %eax, %edx 775 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 776 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 777 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 778 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 779 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 780 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 781 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 782 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 783 ; X32-NEXT: movl %ebp, %eax 784 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 785 ; X32-NEXT: mull %ecx 786 ; X32-NEXT: movl %edx, %esi 787 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 788 ; X32-NEXT: movl %edi, %eax 789 ; X32-NEXT: mull %ecx 790 ; X32-NEXT: movl %edx, %edi 791 ; X32-NEXT: movl %eax, %ecx 792 ; X32-NEXT: addl %esi, %ecx 793 ; X32-NEXT: adcl $0, %edi 794 ; X32-NEXT: movl %ebp, %eax 795 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 796 ; X32-NEXT: mull %esi 797 ; X32-NEXT: movl %edx, %ebp 798 ; X32-NEXT: addl %ecx, %eax 799 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 800 ; X32-NEXT: adcl %edi, %ebp 801 ; X32-NEXT: setb %cl 802 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 803 ; X32-NEXT: mull %esi 804 ; X32-NEXT: addl %ebp, %eax 805 ; X32-NEXT: movzbl %cl, %ecx 806 ; X32-NEXT: adcl %ecx, %edx 807 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 808 ; X32-NEXT: addl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 809 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 810 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 811 ; X32-NEXT: addl %eax, %esi 812 ; X32-NEXT: adcl %edx, %ecx 813 ; X32-NEXT: addl %ebx, {{[0-9]+}}(%esp) # 4-byte Folded Spill 814 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 815 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 816 ; X32-NEXT: adcl $0, %esi 817 ; X32-NEXT: adcl $0, %ecx 818 ; X32-NEXT: addl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 819 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 820 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 821 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 822 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 823 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 824 ; X32-NEXT: movl %ebp, %eax 825 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 826 ; X32-NEXT: mull %esi 827 ; X32-NEXT: movl %edx, %ecx 828 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 829 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 830 ; X32-NEXT: mull %esi 831 ; X32-NEXT: movl %edx, %esi 832 ; X32-NEXT: movl %eax, %edi 833 ; X32-NEXT: addl %ecx, %edi 834 ; X32-NEXT: adcl $0, %esi 835 ; X32-NEXT: movl %ebp, %eax 836 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 837 ; X32-NEXT: mull %ebx 838 ; X32-NEXT: movl %edx, %ecx 839 ; X32-NEXT: movl %eax, %ebp 840 ; X32-NEXT: addl %edi, %ebp 841 ; X32-NEXT: adcl %esi, %ecx 842 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 843 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 844 ; X32-NEXT: mull %ebx 845 ; X32-NEXT: addl %ecx, %eax 846 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx # 1-byte Folded Reload 847 ; X32-NEXT: adcl %ecx, %edx 848 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 849 ; X32-NEXT: addl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 850 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 851 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 852 ; X32-NEXT: addl %eax, %esi 853 ; X32-NEXT: adcl %edx, %ecx 854 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx # 4-byte Reload 855 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 856 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 857 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 858 ; X32-NEXT: adcl %eax, %esi 859 ; X32-NEXT: adcl $0, %ecx 860 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 861 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 862 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 863 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 864 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 865 ; X32-NEXT: addl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 866 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 867 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 868 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 869 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 870 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 871 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 872 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 873 ; X32-NEXT: adcl %eax, %edx 874 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 875 ; X32-NEXT: adcl $0, %ebp 876 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 877 ; X32-NEXT: adcl $0, %esi 878 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 879 ; X32-NEXT: adcl $0, %ecx 880 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 881 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx 882 ; X32-NEXT: movl 32(%ecx), %edi 883 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 884 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 885 ; X32-NEXT: movl %ecx, %eax 886 ; X32-NEXT: mull %edi 887 ; X32-NEXT: movl %edx, %esi 888 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 889 ; X32-NEXT: movl (%esp), %ebp # 4-byte Reload 890 ; X32-NEXT: movl %ebp, %eax 891 ; X32-NEXT: mull %edi 892 ; X32-NEXT: movl %edx, %edi 893 ; X32-NEXT: movl %eax, %ebx 894 ; X32-NEXT: addl %esi, %ebx 895 ; X32-NEXT: adcl $0, %edi 896 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax 897 ; X32-NEXT: movl 36(%eax), %esi 898 ; X32-NEXT: movl %ecx, %eax 899 ; X32-NEXT: mull %esi 900 ; X32-NEXT: movl %esi, %ecx 901 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 902 ; X32-NEXT: movl %edx, %esi 903 ; X32-NEXT: addl %ebx, %eax 904 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 905 ; X32-NEXT: adcl %edi, %esi 906 ; X32-NEXT: setb %bl 907 ; X32-NEXT: movl %ebp, %eax 908 ; X32-NEXT: mull %ecx 909 ; X32-NEXT: movl %edx, %ecx 910 ; X32-NEXT: movl %eax, %ebp 911 ; X32-NEXT: addl %esi, %ebp 912 ; X32-NEXT: movzbl %bl, %eax 913 ; X32-NEXT: adcl %eax, %ecx 914 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 915 ; X32-NEXT: movl %ebx, %eax 916 ; X32-NEXT: xorl %edx, %edx 917 ; X32-NEXT: mull %edx 918 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 919 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 920 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 921 ; X32-NEXT: addl %eax, %edi 922 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 923 ; X32-NEXT: adcl %edx, %esi 924 ; X32-NEXT: addl %ebp, %edi 925 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 926 ; X32-NEXT: adcl %ecx, %esi 927 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 928 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 929 ; X32-NEXT: movl %ecx, %eax 930 ; X32-NEXT: movl %ebx, %esi 931 ; X32-NEXT: mull %ebx 932 ; X32-NEXT: movl %edx, %edi 933 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 934 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 935 ; X32-NEXT: movl %ebx, %eax 936 ; X32-NEXT: mull %esi 937 ; X32-NEXT: movl %edx, %esi 938 ; X32-NEXT: movl %eax, %ebp 939 ; X32-NEXT: addl %edi, %ebp 940 ; X32-NEXT: adcl $0, %esi 941 ; X32-NEXT: movl %ecx, %eax 942 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 943 ; X32-NEXT: mull %edi 944 ; X32-NEXT: movl %edx, %ecx 945 ; X32-NEXT: addl %ebp, %eax 946 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 947 ; X32-NEXT: adcl %esi, %ecx 948 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 949 ; X32-NEXT: movl %ebx, %eax 950 ; X32-NEXT: movl %ebx, %esi 951 ; X32-NEXT: mull %edi 952 ; X32-NEXT: addl %ecx, %eax 953 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx # 1-byte Folded Reload 954 ; X32-NEXT: adcl %ecx, %edx 955 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 956 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 957 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 958 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 959 ; X32-NEXT: addl %eax, %edi 960 ; X32-NEXT: adcl %edx, %ecx 961 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 962 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 963 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 964 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 965 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 966 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 967 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax 968 ; X32-NEXT: movl 40(%eax), %ebp 969 ; X32-NEXT: movl %eax, %ebx 970 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 971 ; X32-NEXT: movl %edi, %eax 972 ; X32-NEXT: mull %ebp 973 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 974 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 975 ; X32-NEXT: movl %esi, %eax 976 ; X32-NEXT: mull %ebp 977 ; X32-NEXT: movl %edx, %esi 978 ; X32-NEXT: movl %eax, %ecx 979 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 980 ; X32-NEXT: adcl $0, %esi 981 ; X32-NEXT: movl 44(%ebx), %ebx 982 ; X32-NEXT: movl %ebx, {{[0-9]+}}(%esp) # 4-byte Spill 983 ; X32-NEXT: movl %edi, %eax 984 ; X32-NEXT: mull %ebx 985 ; X32-NEXT: movl %edx, %edi 986 ; X32-NEXT: addl %ecx, %eax 987 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 988 ; X32-NEXT: adcl %esi, %edi 989 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 990 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 991 ; X32-NEXT: mull %ebx 992 ; X32-NEXT: movl %edx, %ecx 993 ; X32-NEXT: movl %eax, %esi 994 ; X32-NEXT: addl %edi, %esi 995 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 996 ; X32-NEXT: adcl %eax, %ecx 997 ; X32-NEXT: movl %ebp, %eax 998 ; X32-NEXT: xorl %edx, %edx 999 ; X32-NEXT: mull %edx 1000 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1001 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1002 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1003 ; X32-NEXT: addl %eax, %edi 1004 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1005 ; X32-NEXT: adcl %edx, %eax 1006 ; X32-NEXT: addl %esi, %edi 1007 ; X32-NEXT: adcl %ecx, %eax 1008 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1009 ; X32-NEXT: addl %ecx, {{[0-9]+}}(%esp) # 4-byte Folded Spill 1010 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1011 ; X32-NEXT: adcl %ecx, {{[0-9]+}}(%esp) # 4-byte Folded Spill 1012 ; X32-NEXT: adcl $0, %edi 1013 ; X32-NEXT: adcl $0, %eax 1014 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 1015 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 1016 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1017 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1018 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 1019 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1020 ; X32-NEXT: movl %ecx, %eax 1021 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 1022 ; X32-NEXT: mull %ebp 1023 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1024 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1025 ; X32-NEXT: movl (%esp), %edi # 4-byte Reload 1026 ; X32-NEXT: movl %edi, %eax 1027 ; X32-NEXT: mull %ebp 1028 ; X32-NEXT: movl %edx, %esi 1029 ; X32-NEXT: movl %eax, %ebx 1030 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 1031 ; X32-NEXT: adcl $0, %esi 1032 ; X32-NEXT: movl %ecx, %eax 1033 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 1034 ; X32-NEXT: mull %ebp 1035 ; X32-NEXT: movl %edx, %ecx 1036 ; X32-NEXT: addl %ebx, %eax 1037 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1038 ; X32-NEXT: adcl %esi, %ecx 1039 ; X32-NEXT: setb %bl 1040 ; X32-NEXT: movl %edi, %eax 1041 ; X32-NEXT: mull %ebp 1042 ; X32-NEXT: addl %ecx, %eax 1043 ; X32-NEXT: movzbl %bl, %ecx 1044 ; X32-NEXT: adcl %ecx, %edx 1045 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 1046 ; X32-NEXT: addl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 1047 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1048 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1049 ; X32-NEXT: addl %eax, %esi 1050 ; X32-NEXT: adcl %edx, %ecx 1051 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1052 ; X32-NEXT: addl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 1053 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1054 ; X32-NEXT: adcl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 1055 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 1056 ; X32-NEXT: adcl %eax, %esi 1057 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 1058 ; X32-NEXT: adcl $0, %ecx 1059 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1060 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1061 ; X32-NEXT: imull %eax, %ebp 1062 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 1063 ; X32-NEXT: mull %esi 1064 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1065 ; X32-NEXT: addl %ebp, %edx 1066 ; X32-NEXT: imull {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 1067 ; X32-NEXT: addl %edx, %esi 1068 ; X32-NEXT: movl %esi, %ebp 1069 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1070 ; X32-NEXT: movl %eax, %esi 1071 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 1072 ; X32-NEXT: imull %ebx, %esi 1073 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1074 ; X32-NEXT: mull %edi 1075 ; X32-NEXT: movl %eax, %ecx 1076 ; X32-NEXT: addl %esi, %edx 1077 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 1078 ; X32-NEXT: movl %edi, %eax 1079 ; X32-NEXT: imull %edi, %esi 1080 ; X32-NEXT: addl %edx, %esi 1081 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1082 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1083 ; X32-NEXT: adcl %ebp, %esi 1084 ; X32-NEXT: movl %esi, %edi 1085 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1086 ; X32-NEXT: mull %ecx 1087 ; X32-NEXT: movl %edx, %ebp 1088 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1089 ; X32-NEXT: movl %ebx, %eax 1090 ; X32-NEXT: mull %ecx 1091 ; X32-NEXT: movl %edx, %esi 1092 ; X32-NEXT: movl %eax, %ebx 1093 ; X32-NEXT: addl %ebp, %ebx 1094 ; X32-NEXT: adcl $0, %esi 1095 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1096 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 1097 ; X32-NEXT: mull %ebp 1098 ; X32-NEXT: movl %edx, %ecx 1099 ; X32-NEXT: addl %ebx, %eax 1100 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1101 ; X32-NEXT: adcl %esi, %ecx 1102 ; X32-NEXT: setb %bl 1103 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1104 ; X32-NEXT: mull %ebp 1105 ; X32-NEXT: addl %ecx, %eax 1106 ; X32-NEXT: movzbl %bl, %ecx 1107 ; X32-NEXT: adcl %ecx, %edx 1108 ; X32-NEXT: addl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1109 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1110 ; X32-NEXT: adcl %edi, %edx 1111 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1112 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx 1113 ; X32-NEXT: movl 60(%edx), %ecx 1114 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1115 ; X32-NEXT: imull %eax, %ecx 1116 ; X32-NEXT: movl 56(%edx), %esi 1117 ; X32-NEXT: movl %edx, %edi 1118 ; X32-NEXT: mull %esi 1119 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1120 ; X32-NEXT: addl %ecx, %edx 1121 ; X32-NEXT: imull {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 1122 ; X32-NEXT: addl %edx, %esi 1123 ; X32-NEXT: movl 48(%edi), %ebx 1124 ; X32-NEXT: movl 52(%edi), %ebp 1125 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1126 ; X32-NEXT: movl %eax, %edi 1127 ; X32-NEXT: imull %ebp, %edi 1128 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 1129 ; X32-NEXT: mull %ebx 1130 ; X32-NEXT: addl %edi, %edx 1131 ; X32-NEXT: movl (%esp), %ecx # 4-byte Reload 1132 ; X32-NEXT: imull %ebx, %ecx 1133 ; X32-NEXT: addl %edx, %ecx 1134 ; X32-NEXT: addl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1135 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1136 ; X32-NEXT: adcl %esi, %ecx 1137 ; X32-NEXT: movl %ecx, (%esp) # 4-byte Spill 1138 ; X32-NEXT: movl %ebx, %eax 1139 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1140 ; X32-NEXT: mull %ecx 1141 ; X32-NEXT: movl %edx, %esi 1142 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1143 ; X32-NEXT: movl %ebp, %eax 1144 ; X32-NEXT: mull %ecx 1145 ; X32-NEXT: movl %edx, %ebp 1146 ; X32-NEXT: movl %eax, %edi 1147 ; X32-NEXT: addl %esi, %edi 1148 ; X32-NEXT: adcl $0, %ebp 1149 ; X32-NEXT: movl %ebx, %eax 1150 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 1151 ; X32-NEXT: mull %esi 1152 ; X32-NEXT: movl %edx, %ecx 1153 ; X32-NEXT: movl %eax, %ebx 1154 ; X32-NEXT: addl %edi, %ebx 1155 ; X32-NEXT: adcl %ebp, %ecx 1156 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 1157 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1158 ; X32-NEXT: mull %esi 1159 ; X32-NEXT: addl %ecx, %eax 1160 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx # 1-byte Folded Reload 1161 ; X32-NEXT: adcl %ecx, %edx 1162 ; X32-NEXT: addl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1163 ; X32-NEXT: adcl (%esp), %edx # 4-byte Folded Reload 1164 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1165 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1166 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 1167 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1168 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 1169 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1170 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1171 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 1172 ; X32-NEXT: movl %ebx, {{[0-9]+}}(%esp) # 4-byte Spill 1173 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1174 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1175 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 1176 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1177 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi 1178 ; X32-NEXT: movl %esi, %ecx 1179 ; X32-NEXT: movl 40(%esi), %ebx 1180 ; X32-NEXT: movl %ebx, %eax 1181 ; X32-NEXT: movl %ebx, {{[0-9]+}}(%esp) # 4-byte Spill 1182 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 1183 ; X32-NEXT: mull %esi 1184 ; X32-NEXT: movl %eax, (%esp) # 4-byte Spill 1185 ; X32-NEXT: movl %edx, %ebp 1186 ; X32-NEXT: movl 44(%ecx), %ecx 1187 ; X32-NEXT: movl %ecx, %eax 1188 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1189 ; X32-NEXT: mull %esi 1190 ; X32-NEXT: movl %edx, %esi 1191 ; X32-NEXT: movl %eax, %edi 1192 ; X32-NEXT: addl %ebp, %edi 1193 ; X32-NEXT: adcl $0, %esi 1194 ; X32-NEXT: movl %ebx, %eax 1195 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 1196 ; X32-NEXT: mull %ebp 1197 ; X32-NEXT: movl %edx, %ebx 1198 ; X32-NEXT: addl %edi, %eax 1199 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1200 ; X32-NEXT: adcl %esi, %ebx 1201 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 1202 ; X32-NEXT: movl %ecx, %eax 1203 ; X32-NEXT: mull %ebp 1204 ; X32-NEXT: movl %edx, %esi 1205 ; X32-NEXT: movl %eax, %edi 1206 ; X32-NEXT: addl %ebx, %edi 1207 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 1208 ; X32-NEXT: adcl %eax, %esi 1209 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1210 ; X32-NEXT: xorl %ecx, %ecx 1211 ; X32-NEXT: mull %ecx 1212 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1213 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1214 ; X32-NEXT: addl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1215 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 1216 ; X32-NEXT: addl %edi, %eax 1217 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1218 ; X32-NEXT: adcl %esi, %edx 1219 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1220 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi 1221 ; X32-NEXT: movl 32(%esi), %edi 1222 ; X32-NEXT: movl %edi, %eax 1223 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 1224 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1225 ; X32-NEXT: mull %ecx 1226 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1227 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1228 ; X32-NEXT: movl 36(%esi), %esi 1229 ; X32-NEXT: movl %esi, %eax 1230 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 1231 ; X32-NEXT: mull %ecx 1232 ; X32-NEXT: movl %edx, %ebx 1233 ; X32-NEXT: movl %eax, %ebp 1234 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 1235 ; X32-NEXT: adcl $0, %ebx 1236 ; X32-NEXT: movl %edi, %eax 1237 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1238 ; X32-NEXT: mull %ecx 1239 ; X32-NEXT: movl %edx, %edi 1240 ; X32-NEXT: addl %ebp, %eax 1241 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1242 ; X32-NEXT: adcl %ebx, %edi 1243 ; X32-NEXT: setb %bl 1244 ; X32-NEXT: movl %esi, %eax 1245 ; X32-NEXT: mull %ecx 1246 ; X32-NEXT: movl %edx, %ebp 1247 ; X32-NEXT: movl %eax, %esi 1248 ; X32-NEXT: addl %edi, %esi 1249 ; X32-NEXT: movzbl %bl, %eax 1250 ; X32-NEXT: adcl %eax, %ebp 1251 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1252 ; X32-NEXT: movl %edi, %eax 1253 ; X32-NEXT: xorl %ecx, %ecx 1254 ; X32-NEXT: mull %ecx 1255 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1256 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1257 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1258 ; X32-NEXT: addl %eax, %ecx 1259 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1260 ; X32-NEXT: adcl %edx, %eax 1261 ; X32-NEXT: addl %esi, %ecx 1262 ; X32-NEXT: adcl %ebp, %eax 1263 ; X32-NEXT: addl (%esp), %ecx # 4-byte Folded Reload 1264 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1265 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1266 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1267 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 1268 ; X32-NEXT: adcl $0, {{[0-9]+}}(%esp) # 4-byte Folded Spill 1269 ; X32-NEXT: movl %edi, %eax 1270 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 1271 ; X32-NEXT: mull %esi 1272 ; X32-NEXT: movl %edx, %ecx 1273 ; X32-NEXT: movl %eax, (%esp) # 4-byte Spill 1274 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 1275 ; X32-NEXT: movl %ebx, %eax 1276 ; X32-NEXT: mull %esi 1277 ; X32-NEXT: movl %edx, %esi 1278 ; X32-NEXT: movl %eax, %ebp 1279 ; X32-NEXT: addl %ecx, %ebp 1280 ; X32-NEXT: adcl $0, %esi 1281 ; X32-NEXT: movl %edi, %eax 1282 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1283 ; X32-NEXT: mull %ecx 1284 ; X32-NEXT: movl %edx, %edi 1285 ; X32-NEXT: addl %ebp, %eax 1286 ; X32-NEXT: movl %eax, %ebp 1287 ; X32-NEXT: adcl %esi, %edi 1288 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 1289 ; X32-NEXT: movl %ebx, %eax 1290 ; X32-NEXT: mull %ecx 1291 ; X32-NEXT: movl %ecx, %ebx 1292 ; X32-NEXT: addl %edi, %eax 1293 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx # 1-byte Folded Reload 1294 ; X32-NEXT: adcl %ecx, %edx 1295 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 1296 ; X32-NEXT: addl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 1297 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1298 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1299 ; X32-NEXT: addl %eax, %esi 1300 ; X32-NEXT: adcl %edx, %ecx 1301 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1302 ; X32-NEXT: addl %eax, (%esp) # 4-byte Folded Spill 1303 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 1304 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 1305 ; X32-NEXT: adcl $0, %esi 1306 ; X32-NEXT: adcl $0, %ecx 1307 ; X32-NEXT: addl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 1308 ; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill 1309 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1310 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1311 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 1312 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1313 ; X32-NEXT: movl %ecx, %eax 1314 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 1315 ; X32-NEXT: mull %esi 1316 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1317 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1318 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1319 ; X32-NEXT: movl %edi, %eax 1320 ; X32-NEXT: mull %esi 1321 ; X32-NEXT: movl %edx, %esi 1322 ; X32-NEXT: movl %eax, %ebp 1323 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 1324 ; X32-NEXT: adcl $0, %esi 1325 ; X32-NEXT: movl %ecx, %eax 1326 ; X32-NEXT: mull %ebx 1327 ; X32-NEXT: movl %edx, %ecx 1328 ; X32-NEXT: addl %ebp, %eax 1329 ; X32-NEXT: movl %eax, %ebp 1330 ; X32-NEXT: adcl %esi, %ecx 1331 ; X32-NEXT: setb {{[0-9]+}}(%esp) # 1-byte Folded Spill 1332 ; X32-NEXT: movl %edi, %eax 1333 ; X32-NEXT: mull %ebx 1334 ; X32-NEXT: addl %ecx, %eax 1335 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx # 1-byte Folded Reload 1336 ; X32-NEXT: adcl %ecx, %edx 1337 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1338 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 1339 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1340 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1341 ; X32-NEXT: addl %eax, %edi 1342 ; X32-NEXT: adcl %edx, %ecx 1343 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1344 ; X32-NEXT: addl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill 1345 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 1346 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 1347 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax # 1-byte Folded Reload 1348 ; X32-NEXT: adcl %eax, %edi 1349 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 1350 ; X32-NEXT: adcl $0, %ecx 1351 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1352 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx 1353 ; X32-NEXT: movl 48(%ecx), %ebp 1354 ; X32-NEXT: imull %ebp, %ebx 1355 ; X32-NEXT: movl %ebp, %eax 1356 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1357 ; X32-NEXT: mull %edi 1358 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1359 ; X32-NEXT: addl %ebx, %edx 1360 ; X32-NEXT: movl 52(%ecx), %eax 1361 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1362 ; X32-NEXT: imull %eax, %edi 1363 ; X32-NEXT: addl %edx, %edi 1364 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 1365 ; X32-NEXT: movl 56(%ecx), %eax 1366 ; X32-NEXT: movl %ecx, %ebx 1367 ; X32-NEXT: movl %eax, %edi 1368 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 1369 ; X32-NEXT: imull %esi, %edi 1370 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1371 ; X32-NEXT: mull %ecx 1372 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1373 ; X32-NEXT: addl %edi, %edx 1374 ; X32-NEXT: movl 60(%ebx), %ebx 1375 ; X32-NEXT: movl %ecx, %eax 1376 ; X32-NEXT: imull %ecx, %ebx 1377 ; X32-NEXT: addl %edx, %ebx 1378 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1379 ; X32-NEXT: addl %ecx, {{[0-9]+}}(%esp) # 4-byte Folded Spill 1380 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 1381 ; X32-NEXT: mull %ebp 1382 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1383 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1384 ; X32-NEXT: movl %esi, %eax 1385 ; X32-NEXT: mull %ebp 1386 ; X32-NEXT: movl %edx, %ecx 1387 ; X32-NEXT: movl %eax, %edi 1388 ; X32-NEXT: addl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 1389 ; X32-NEXT: adcl $0, %ecx 1390 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1391 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 1392 ; X32-NEXT: mull %ebp 1393 ; X32-NEXT: movl %edx, %esi 1394 ; X32-NEXT: addl %edi, %eax 1395 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1396 ; X32-NEXT: adcl %ecx, %esi 1397 ; X32-NEXT: setb %cl 1398 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1399 ; X32-NEXT: mull %ebp 1400 ; X32-NEXT: addl %esi, %eax 1401 ; X32-NEXT: movzbl %cl, %ecx 1402 ; X32-NEXT: adcl %ecx, %edx 1403 ; X32-NEXT: addl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1404 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1405 ; X32-NEXT: adcl %ebx, %edx 1406 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill 1407 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1408 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 1409 ; X32-NEXT: imull %ebp, %edi 1410 ; X32-NEXT: movl %ebp, %eax 1411 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1412 ; X32-NEXT: mull %ecx 1413 ; X32-NEXT: movl %eax, %esi 1414 ; X32-NEXT: addl %edi, %edx 1415 ; X32-NEXT: imull {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1416 ; X32-NEXT: addl %edx, %ecx 1417 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1418 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1419 ; X32-NEXT: movl %eax, %ecx 1420 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 1421 ; X32-NEXT: imull %ebx, %ecx 1422 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1423 ; X32-NEXT: mull %edi 1424 ; X32-NEXT: addl %ecx, %edx 1425 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1426 ; X32-NEXT: imull %edi, %ecx 1427 ; X32-NEXT: addl %edx, %ecx 1428 ; X32-NEXT: addl %esi, %eax 1429 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1430 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1431 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1432 ; X32-NEXT: movl %edi, %eax 1433 ; X32-NEXT: mull %ebp 1434 ; X32-NEXT: movl %edx, %esi 1435 ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill 1436 ; X32-NEXT: movl %ebx, %eax 1437 ; X32-NEXT: mull %ebp 1438 ; X32-NEXT: movl %edx, %edi 1439 ; X32-NEXT: movl %eax, %ecx 1440 ; X32-NEXT: addl %esi, %ecx 1441 ; X32-NEXT: adcl $0, %edi 1442 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1443 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload 1444 ; X32-NEXT: mull %ebx 1445 ; X32-NEXT: movl %edx, %esi 1446 ; X32-NEXT: movl %eax, %ebp 1447 ; X32-NEXT: addl %ecx, %ebp 1448 ; X32-NEXT: adcl %edi, %esi 1449 ; X32-NEXT: setb %cl 1450 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload 1451 ; X32-NEXT: mull %ebx 1452 ; X32-NEXT: movl %edx, %ebx 1453 ; X32-NEXT: addl %esi, %eax 1454 ; X32-NEXT: movzbl %cl, %ecx 1455 ; X32-NEXT: adcl %ecx, %ebx 1456 ; X32-NEXT: addl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1457 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 1458 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1459 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1460 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 1461 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1462 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 1463 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1464 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1465 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 1466 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 1467 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1468 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 1469 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx # 4-byte Reload 1470 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1471 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1472 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 1473 ; X32-NEXT: movl (%esp), %edx # 4-byte Reload 1474 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 1475 ; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload 1476 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 1477 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 1478 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 1479 ; X32-NEXT: movl %ebp, {{[0-9]+}}(%esp) # 4-byte Spill 1480 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload 1481 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 1482 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1483 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 1484 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx # 4-byte Folded Reload 1485 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp) # 4-byte Spill 1486 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edi # 4-byte Folded Reload 1487 ; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill 1488 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 1489 ; X32-NEXT: movl %edx, (%esp) # 4-byte Spill 1490 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %esi # 4-byte Folded Reload 1491 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx # 4-byte Reload 1492 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %edx # 4-byte Folded Reload 1493 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebp # 4-byte Folded Reload 1494 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %eax # 4-byte Folded Reload 1495 ; X32-NEXT: adcl {{[0-9]+}}(%esp), %ebx # 4-byte Folded Reload 1496 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx 1497 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1498 ; X32-NEXT: movl %edi, (%ecx) 1499 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1500 ; X32-NEXT: movl %edi, 4(%ecx) 1501 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1502 ; X32-NEXT: movl %edi, 8(%ecx) 1503 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1504 ; X32-NEXT: movl %edi, 12(%ecx) 1505 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1506 ; X32-NEXT: movl %edi, 16(%ecx) 1507 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1508 ; X32-NEXT: movl %edi, 20(%ecx) 1509 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1510 ; X32-NEXT: movl %edi, 24(%ecx) 1511 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1512 ; X32-NEXT: movl %edi, 28(%ecx) 1513 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1514 ; X32-NEXT: movl %edi, 32(%ecx) 1515 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload 1516 ; X32-NEXT: movl %edi, 36(%ecx) 1517 ; X32-NEXT: movl (%esp), %edi # 4-byte Reload 1518 ; X32-NEXT: movl %edi, 40(%ecx) 1519 ; X32-NEXT: movl %esi, 44(%ecx) 1520 ; X32-NEXT: movl %edx, 48(%ecx) 1521 ; X32-NEXT: movl %ebp, 52(%ecx) 1522 ; X32-NEXT: movl %eax, 56(%ecx) 1523 ; X32-NEXT: movl %ebx, 60(%ecx) 1524 ; X32-NEXT: addl $244, %esp 1525 ; X32-NEXT: popl %esi 1526 ; X32-NEXT: popl %edi 1527 ; X32-NEXT: popl %ebx 1528 ; X32-NEXT: popl %ebp 1529 ; X32-NEXT: retl 1530 ; 1531 ; X64-LABEL: test_512: 1532 ; X64: # %bb.0: 1533 ; X64-NEXT: pushq %rbp 1534 ; X64-NEXT: pushq %r15 1535 ; X64-NEXT: pushq %r14 1536 ; X64-NEXT: pushq %r13 1537 ; X64-NEXT: pushq %r12 1538 ; X64-NEXT: pushq %rbx 1539 ; X64-NEXT: pushq %rax 1540 ; X64-NEXT: movq %rdx, (%rsp) # 8-byte Spill 1541 ; X64-NEXT: movq 24(%rdi), %r11 1542 ; X64-NEXT: movq 16(%rdi), %r15 1543 ; X64-NEXT: movq %rsi, -{{[0-9]+}}(%rsp) # 8-byte Spill 1544 ; X64-NEXT: movq (%rsi), %rdx 1545 ; X64-NEXT: movq 8(%rsi), %rbp 1546 ; X64-NEXT: movq %r15, %rax 1547 ; X64-NEXT: movq %rdx, %rsi 1548 ; X64-NEXT: mulq %rdx 1549 ; X64-NEXT: movq %rdx, %r9 1550 ; X64-NEXT: movq %rax, %r8 1551 ; X64-NEXT: movq %r11, %rax 1552 ; X64-NEXT: movq %r11, -{{[0-9]+}}(%rsp) # 8-byte Spill 1553 ; X64-NEXT: mulq %rsi 1554 ; X64-NEXT: movq %rsi, %r10 1555 ; X64-NEXT: movq %rdx, %rbx 1556 ; X64-NEXT: movq %rax, %rsi 1557 ; X64-NEXT: addq %r9, %rsi 1558 ; X64-NEXT: adcq $0, %rbx 1559 ; X64-NEXT: movq %r15, %rax 1560 ; X64-NEXT: movq %r15, -{{[0-9]+}}(%rsp) # 8-byte Spill 1561 ; X64-NEXT: mulq %rbp 1562 ; X64-NEXT: movq %rdx, %rcx 1563 ; X64-NEXT: movq %rax, %r9 1564 ; X64-NEXT: addq %rsi, %r9 1565 ; X64-NEXT: adcq %rbx, %rcx 1566 ; X64-NEXT: setb %al 1567 ; X64-NEXT: movzbl %al, %ebx 1568 ; X64-NEXT: movq %r11, %rax 1569 ; X64-NEXT: mulq %rbp 1570 ; X64-NEXT: movq %rbp, %r14 1571 ; X64-NEXT: movq %rbp, -{{[0-9]+}}(%rsp) # 8-byte Spill 1572 ; X64-NEXT: movq %rdx, %rsi 1573 ; X64-NEXT: movq %rax, %rbp 1574 ; X64-NEXT: addq %rcx, %rbp 1575 ; X64-NEXT: adcq %rbx, %rsi 1576 ; X64-NEXT: xorl %ecx, %ecx 1577 ; X64-NEXT: movq %r10, %rbx 1578 ; X64-NEXT: movq %r10, -{{[0-9]+}}(%rsp) # 8-byte Spill 1579 ; X64-NEXT: movq %r10, %rax 1580 ; X64-NEXT: mulq %rcx 1581 ; X64-NEXT: movq %rdx, %r13 1582 ; X64-NEXT: movq %rax, %r10 1583 ; X64-NEXT: movq %r15, %rax 1584 ; X64-NEXT: mulq %rcx 1585 ; X64-NEXT: movq %rdx, -{{[0-9]+}}(%rsp) # 8-byte Spill 1586 ; X64-NEXT: movq %rax, %r15 1587 ; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill 1588 ; X64-NEXT: addq %r10, %r15 1589 ; X64-NEXT: adcq %r13, %rdx 1590 ; X64-NEXT: addq %rbp, %r15 1591 ; X64-NEXT: adcq %rsi, %rdx 1592 ; X64-NEXT: movq %rdx, %r12 1593 ; X64-NEXT: movq %rdi, -{{[0-9]+}}(%rsp) # 8-byte Spill 1594 ; X64-NEXT: movq (%rdi), %rcx 1595 ; X64-NEXT: movq %rcx, %rax 1596 ; X64-NEXT: mulq %rbx 1597 ; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill 1598 ; X64-NEXT: movq %rdx, %r11 1599 ; X64-NEXT: movq 8(%rdi), %rdi 1600 ; X64-NEXT: movq %rdi, %rax 1601 ; X64-NEXT: movq %rdi, -{{[0-9]+}}(%rsp) # 8-byte Spill 1602 ; X64-NEXT: mulq %rbx 1603 ; X64-NEXT: movq %rdx, %rbp 1604 ; X64-NEXT: movq %rax, %rsi 1605 ; X64-NEXT: addq %r11, %rsi 1606 ; X64-NEXT: adcq $0, %rbp 1607 ; X64-NEXT: movq %rcx, %rax 1608 ; X64-NEXT: mulq %r14 1609 ; X64-NEXT: movq %rdx, %rbx 1610 ; X64-NEXT: addq %rsi, %rax 1611 ; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill 1612 ; X64-NEXT: adcq %rbp, %rbx 1613 ; X64-NEXT: setb %r11b 1614 ; X64-NEXT: movq %rdi, %rax 1615 ; X64-NEXT: mulq %r14 1616 ; X64-NEXT: movq %rdx, %rsi 1617 ; X64-NEXT: movq %rax, %rbp 1618 ; X64-NEXT: addq %rbx, %rbp 1619 ; X64-NEXT: movzbl %r11b, %eax 1620 ; X64-NEXT: adcq %rax, %rsi 1621 ; X64-NEXT: movq %rcx, %rax 1622 ; X64-NEXT: xorl %edx, %edx 1623 ; X64-NEXT: mulq %rdx 1624 ; X64-NEXT: movq %rdx, %r14 1625 ; X64-NEXT: movq %rax, %r11 1626 ; X64-NEXT: addq %rax, %r10 1627 ; X64-NEXT: adcq %rdx, %r13 1628 ; X64-NEXT: addq %rbp, %r10 1629 ; X64-NEXT: adcq %rsi, %r13 1630 ; X64-NEXT: addq %r8, %r10 1631 ; X64-NEXT: adcq %r9, %r13 1632 ; X64-NEXT: adcq $0, %r15 1633 ; X64-NEXT: adcq $0, %r12 1634 ; X64-NEXT: movq %r12, -{{[0-9]+}}(%rsp) # 8-byte Spill 1635 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rsi # 8-byte Reload 1636 ; X64-NEXT: movq 16(%rsi), %r8 1637 ; X64-NEXT: movq %rcx, %rax 1638 ; X64-NEXT: movq %rcx, %r9 1639 ; X64-NEXT: movq %rcx, -{{[0-9]+}}(%rsp) # 8-byte Spill 1640 ; X64-NEXT: mulq %r8 1641 ; X64-NEXT: movq %rdx, %rdi 1642 ; X64-NEXT: movq %rax, %r12 1643 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rcx # 8-byte Reload 1644 ; X64-NEXT: movq %rcx, %rax 1645 ; X64-NEXT: mulq %r8 1646 ; X64-NEXT: movq %rdx, %rbp 1647 ; X64-NEXT: movq %rax, %rbx 1648 ; X64-NEXT: addq %rdi, %rbx 1649 ; X64-NEXT: adcq $0, %rbp 1650 ; X64-NEXT: movq 24(%rsi), %rdi 1651 ; X64-NEXT: movq %r9, %rax 1652 ; X64-NEXT: mulq %rdi 1653 ; X64-NEXT: movq %rdx, %rsi 1654 ; X64-NEXT: addq %rbx, %rax 1655 ; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill 1656 ; X64-NEXT: adcq %rbp, %rsi 1657 ; X64-NEXT: setb %bpl 1658 ; X64-NEXT: movq %rcx, %rax 1659 ; X64-NEXT: mulq %rdi 1660 ; X64-NEXT: movq %rdx, %rbx 1661 ; X64-NEXT: movq %rax, %r9 1662 ; X64-NEXT: addq %rsi, %r9 1663 ; X64-NEXT: movzbl %bpl, %eax 1664 ; X64-NEXT: adcq %rax, %rbx 1665 ; X64-NEXT: movq %r8, %rax 1666 ; X64-NEXT: xorl %ecx, %ecx 1667 ; X64-NEXT: mulq %rcx 1668 ; X64-NEXT: movq %rdx, -{{[0-9]+}}(%rsp) # 8-byte Spill 1669 ; X64-NEXT: movq %rax, %rbp 1670 ; X64-NEXT: addq %rax, %r11 1671 ; X64-NEXT: adcq %rdx, %r14 1672 ; X64-NEXT: addq %r9, %r11 1673 ; X64-NEXT: adcq %rbx, %r14 1674 ; X64-NEXT: addq %r10, %r12 1675 ; X64-NEXT: movq %r12, -{{[0-9]+}}(%rsp) # 8-byte Spill 1676 ; X64-NEXT: adcq %r13, -{{[0-9]+}}(%rsp) # 8-byte Folded Spill 1677 ; X64-NEXT: adcq $0, %r11 1678 ; X64-NEXT: adcq $0, %r14 1679 ; X64-NEXT: addq %r15, %r11 1680 ; X64-NEXT: adcq -{{[0-9]+}}(%rsp), %r14 # 8-byte Folded Reload 1681 ; X64-NEXT: setb %r9b 1682 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rcx # 8-byte Reload 1683 ; X64-NEXT: movq %rcx, %rax 1684 ; X64-NEXT: mulq %r8 1685 ; X64-NEXT: movq %rdx, %r15 1686 ; X64-NEXT: movq %rax, %r12 1687 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r10 # 8-byte Reload 1688 ; X64-NEXT: movq %r10, %rax 1689 ; X64-NEXT: mulq %r8 1690 ; X64-NEXT: movq %rdx, %rsi 1691 ; X64-NEXT: movq %rax, %rbx 1692 ; X64-NEXT: addq %r15, %rbx 1693 ; X64-NEXT: adcq $0, %rsi 1694 ; X64-NEXT: movq %rcx, %rax 1695 ; X64-NEXT: mulq %rdi 1696 ; X64-NEXT: movq %rdx, %rcx 1697 ; X64-NEXT: addq %rbx, %rax 1698 ; X64-NEXT: movq %rax, %rbx 1699 ; X64-NEXT: adcq %rsi, %rcx 1700 ; X64-NEXT: setb %sil 1701 ; X64-NEXT: movq %r10, %rax 1702 ; X64-NEXT: mulq %rdi 1703 ; X64-NEXT: addq %rcx, %rax 1704 ; X64-NEXT: movzbl %sil, %ecx 1705 ; X64-NEXT: adcq %rcx, %rdx 1706 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rsi # 8-byte Reload 1707 ; X64-NEXT: addq %rbp, %rsi 1708 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rcx # 8-byte Reload 1709 ; X64-NEXT: adcq -{{[0-9]+}}(%rsp), %rcx # 8-byte Folded Reload 1710 ; X64-NEXT: addq %rax, %rsi 1711 ; X64-NEXT: adcq %rdx, %rcx 1712 ; X64-NEXT: addq %r11, %r12 1713 ; X64-NEXT: movq %r12, -{{[0-9]+}}(%rsp) # 8-byte Spill 1714 ; X64-NEXT: adcq %r14, %rbx 1715 ; X64-NEXT: movq %rbx, -{{[0-9]+}}(%rsp) # 8-byte Spill 1716 ; X64-NEXT: movzbl %r9b, %eax 1717 ; X64-NEXT: adcq %rax, %rsi 1718 ; X64-NEXT: movq %rsi, -{{[0-9]+}}(%rsp) # 8-byte Spill 1719 ; X64-NEXT: adcq $0, %rcx 1720 ; X64-NEXT: movq %rcx, -{{[0-9]+}}(%rsp) # 8-byte Spill 1721 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rcx # 8-byte Reload 1722 ; X64-NEXT: movq 32(%rcx), %rsi 1723 ; X64-NEXT: imulq %rsi, %rdi 1724 ; X64-NEXT: movq %rsi, %rax 1725 ; X64-NEXT: mulq %r8 1726 ; X64-NEXT: movq %rax, %r10 1727 ; X64-NEXT: addq %rdi, %rdx 1728 ; X64-NEXT: movq 40(%rcx), %r9 1729 ; X64-NEXT: imulq %r9, %r8 1730 ; X64-NEXT: addq %rdx, %r8 1731 ; X64-NEXT: movq 48(%rcx), %rax 1732 ; X64-NEXT: movq %rcx, %rbx 1733 ; X64-NEXT: movq %rax, %rdi 1734 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rcx # 8-byte Reload 1735 ; X64-NEXT: imulq %rcx, %rdi 1736 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rbp # 8-byte Reload 1737 ; X64-NEXT: mulq %rbp 1738 ; X64-NEXT: movq %rax, %r14 1739 ; X64-NEXT: addq %rdi, %rdx 1740 ; X64-NEXT: movq 56(%rbx), %rbx 1741 ; X64-NEXT: imulq %rbp, %rbx 1742 ; X64-NEXT: addq %rdx, %rbx 1743 ; X64-NEXT: addq %r10, %r14 1744 ; X64-NEXT: adcq %r8, %rbx 1745 ; X64-NEXT: movq %rbp, %rax 1746 ; X64-NEXT: movq %rbp, %r10 1747 ; X64-NEXT: mulq %rsi 1748 ; X64-NEXT: movq %rdx, %rdi 1749 ; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill 1750 ; X64-NEXT: movq %rcx, %rax 1751 ; X64-NEXT: movq %rcx, %r8 1752 ; X64-NEXT: mulq %rsi 1753 ; X64-NEXT: movq %rdx, %rsi 1754 ; X64-NEXT: movq %rax, %rbp 1755 ; X64-NEXT: addq %rdi, %rbp 1756 ; X64-NEXT: adcq $0, %rsi 1757 ; X64-NEXT: movq %r10, %rax 1758 ; X64-NEXT: mulq %r9 1759 ; X64-NEXT: movq %rdx, %rdi 1760 ; X64-NEXT: movq %rax, %r13 1761 ; X64-NEXT: addq %rbp, %r13 1762 ; X64-NEXT: adcq %rsi, %rdi 1763 ; X64-NEXT: setb %cl 1764 ; X64-NEXT: movq %r8, %rax 1765 ; X64-NEXT: mulq %r9 1766 ; X64-NEXT: movq %rdx, %r11 1767 ; X64-NEXT: movq %rax, %r9 1768 ; X64-NEXT: addq %rdi, %r9 1769 ; X64-NEXT: movzbl %cl, %eax 1770 ; X64-NEXT: adcq %rax, %r11 1771 ; X64-NEXT: addq %r14, %r9 1772 ; X64-NEXT: adcq %rbx, %r11 1773 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rdx # 8-byte Reload 1774 ; X64-NEXT: movq 56(%rdx), %rcx 1775 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r10 # 8-byte Reload 1776 ; X64-NEXT: imulq %r10, %rcx 1777 ; X64-NEXT: movq 48(%rdx), %rbx 1778 ; X64-NEXT: movq %rdx, %rbp 1779 ; X64-NEXT: movq %r10, %rax 1780 ; X64-NEXT: mulq %rbx 1781 ; X64-NEXT: movq %rax, %rsi 1782 ; X64-NEXT: addq %rcx, %rdx 1783 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r15 # 8-byte Reload 1784 ; X64-NEXT: imulq %r15, %rbx 1785 ; X64-NEXT: addq %rdx, %rbx 1786 ; X64-NEXT: movq 32(%rbp), %rdi 1787 ; X64-NEXT: movq 40(%rbp), %r8 1788 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rax # 8-byte Reload 1789 ; X64-NEXT: movq %rax, %rcx 1790 ; X64-NEXT: imulq %r8, %rcx 1791 ; X64-NEXT: mulq %rdi 1792 ; X64-NEXT: movq %rax, %r14 1793 ; X64-NEXT: addq %rcx, %rdx 1794 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rax # 8-byte Reload 1795 ; X64-NEXT: imulq %rdi, %rax 1796 ; X64-NEXT: addq %rdx, %rax 1797 ; X64-NEXT: addq %rsi, %r14 1798 ; X64-NEXT: adcq %rbx, %rax 1799 ; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill 1800 ; X64-NEXT: movq %rdi, %rax 1801 ; X64-NEXT: mulq %r10 1802 ; X64-NEXT: movq %rdx, %r12 1803 ; X64-NEXT: movq %rax, %rsi 1804 ; X64-NEXT: movq %r8, %rax 1805 ; X64-NEXT: mulq %r10 1806 ; X64-NEXT: movq %rdx, %rcx 1807 ; X64-NEXT: movq %rax, %rbx 1808 ; X64-NEXT: addq %r12, %rbx 1809 ; X64-NEXT: adcq $0, %rcx 1810 ; X64-NEXT: movq %rdi, %rax 1811 ; X64-NEXT: mulq %r15 1812 ; X64-NEXT: movq %rdx, %rbp 1813 ; X64-NEXT: movq %rax, %rdi 1814 ; X64-NEXT: addq %rbx, %rdi 1815 ; X64-NEXT: adcq %rcx, %rbp 1816 ; X64-NEXT: setb %cl 1817 ; X64-NEXT: movq %r8, %rax 1818 ; X64-NEXT: mulq %r15 1819 ; X64-NEXT: addq %rbp, %rax 1820 ; X64-NEXT: movzbl %cl, %ecx 1821 ; X64-NEXT: adcq %rcx, %rdx 1822 ; X64-NEXT: addq %r14, %rax 1823 ; X64-NEXT: adcq -{{[0-9]+}}(%rsp), %rdx # 8-byte Folded Reload 1824 ; X64-NEXT: addq -{{[0-9]+}}(%rsp), %rsi # 8-byte Folded Reload 1825 ; X64-NEXT: adcq %r13, %rdi 1826 ; X64-NEXT: adcq %r9, %rax 1827 ; X64-NEXT: adcq %r11, %rdx 1828 ; X64-NEXT: addq -{{[0-9]+}}(%rsp), %rsi # 8-byte Folded Reload 1829 ; X64-NEXT: adcq -{{[0-9]+}}(%rsp), %rdi # 8-byte Folded Reload 1830 ; X64-NEXT: adcq -{{[0-9]+}}(%rsp), %rax # 8-byte Folded Reload 1831 ; X64-NEXT: adcq -{{[0-9]+}}(%rsp), %rdx # 8-byte Folded Reload 1832 ; X64-NEXT: movq (%rsp), %rcx # 8-byte Reload 1833 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rbp # 8-byte Reload 1834 ; X64-NEXT: movq %rbp, (%rcx) 1835 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rbp # 8-byte Reload 1836 ; X64-NEXT: movq %rbp, 8(%rcx) 1837 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rbp # 8-byte Reload 1838 ; X64-NEXT: movq %rbp, 16(%rcx) 1839 ; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rbp # 8-byte Reload 1840 ; X64-NEXT: movq %rbp, 24(%rcx) 1841 ; X64-NEXT: movq %rsi, 32(%rcx) 1842 ; X64-NEXT: movq %rdi, 40(%rcx) 1843 ; X64-NEXT: movq %rax, 48(%rcx) 1844 ; X64-NEXT: movq %rdx, 56(%rcx) 1845 ; X64-NEXT: addq $8, %rsp 1846 ; X64-NEXT: popq %rbx 1847 ; X64-NEXT: popq %r12 1848 ; X64-NEXT: popq %r13 1849 ; X64-NEXT: popq %r14 1850 ; X64-NEXT: popq %r15 1851 ; X64-NEXT: popq %rbp 1852 ; X64-NEXT: retq 1853 %av = load i512, i512* %a 1854 %bv = load i512, i512* %b 1855 %r = mul i512 %av, %bv 1856 store i512 %r, i512* %out 1857 ret void 1858 } 1859