Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1 | // Copyright 2012 The Go Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style |
| 3 | // license that can be found in the LICENSE file. |
| 4 | |
| 5 | // This code was translated into a form compatible with 6a from the public |
| 6 | // domain sources in SUPERCOP: http://bench.cr.yp.to/supercop.html |
| 7 | |
Marga Manterola | c57d4a7 | 2015-03-26 13:36:50 +0100 | [diff] [blame] | 8 | // +build amd64,!gccgo,!appengine |
Ian Lance Taylor | 6779fad | 2012-11-07 22:50:39 -0800 | [diff] [blame] | 9 | |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 10 | // func ladderstep(inout *[5][5]uint64) |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 11 | TEXT ·ladderstep(SB),0,$296-8 |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 12 | MOVQ inout+0(FP),DI |
| 13 | |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 14 | MOVQ 40(DI),SI |
| 15 | MOVQ 48(DI),DX |
| 16 | MOVQ 56(DI),CX |
| 17 | MOVQ 64(DI),R8 |
| 18 | MOVQ 72(DI),R9 |
| 19 | MOVQ SI,AX |
| 20 | MOVQ DX,R10 |
| 21 | MOVQ CX,R11 |
| 22 | MOVQ R8,R12 |
| 23 | MOVQ R9,R13 |
| 24 | ADDQ ·_2P0(SB),AX |
| 25 | ADDQ ·_2P1234(SB),R10 |
| 26 | ADDQ ·_2P1234(SB),R11 |
| 27 | ADDQ ·_2P1234(SB),R12 |
| 28 | ADDQ ·_2P1234(SB),R13 |
| 29 | ADDQ 80(DI),SI |
| 30 | ADDQ 88(DI),DX |
| 31 | ADDQ 96(DI),CX |
| 32 | ADDQ 104(DI),R8 |
| 33 | ADDQ 112(DI),R9 |
| 34 | SUBQ 80(DI),AX |
| 35 | SUBQ 88(DI),R10 |
| 36 | SUBQ 96(DI),R11 |
| 37 | SUBQ 104(DI),R12 |
| 38 | SUBQ 112(DI),R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 39 | MOVQ SI,0(SP) |
| 40 | MOVQ DX,8(SP) |
| 41 | MOVQ CX,16(SP) |
| 42 | MOVQ R8,24(SP) |
| 43 | MOVQ R9,32(SP) |
| 44 | MOVQ AX,40(SP) |
| 45 | MOVQ R10,48(SP) |
| 46 | MOVQ R11,56(SP) |
| 47 | MOVQ R12,64(SP) |
| 48 | MOVQ R13,72(SP) |
| 49 | MOVQ 40(SP),AX |
| 50 | MULQ 40(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 51 | MOVQ AX,SI |
| 52 | MOVQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 53 | MOVQ 40(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 54 | SHLQ $1,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 55 | MULQ 48(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 56 | MOVQ AX,R8 |
| 57 | MOVQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 58 | MOVQ 40(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 59 | SHLQ $1,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 60 | MULQ 56(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 61 | MOVQ AX,R10 |
| 62 | MOVQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 63 | MOVQ 40(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 64 | SHLQ $1,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 65 | MULQ 64(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 66 | MOVQ AX,R12 |
| 67 | MOVQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 68 | MOVQ 40(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 69 | SHLQ $1,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 70 | MULQ 72(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 71 | MOVQ AX,R14 |
| 72 | MOVQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 73 | MOVQ 48(SP),AX |
| 74 | MULQ 48(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 75 | ADDQ AX,R10 |
| 76 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 77 | MOVQ 48(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 78 | SHLQ $1,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 79 | MULQ 56(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 80 | ADDQ AX,R12 |
| 81 | ADCQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 82 | MOVQ 48(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 83 | SHLQ $1,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 84 | MULQ 64(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 85 | ADDQ AX,R14 |
| 86 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 87 | MOVQ 48(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 88 | IMUL3Q $38,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 89 | MULQ 72(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 90 | ADDQ AX,SI |
| 91 | ADCQ DX,CX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 92 | MOVQ 56(SP),AX |
| 93 | MULQ 56(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 94 | ADDQ AX,R14 |
| 95 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 96 | MOVQ 56(SP),DX |
| 97 | IMUL3Q $38,DX,AX |
| 98 | MULQ 64(SP) |
| 99 | ADDQ AX,SI |
| 100 | ADCQ DX,CX |
| 101 | MOVQ 56(SP),DX |
| 102 | IMUL3Q $38,DX,AX |
| 103 | MULQ 72(SP) |
| 104 | ADDQ AX,R8 |
| 105 | ADCQ DX,R9 |
| 106 | MOVQ 64(SP),DX |
| 107 | IMUL3Q $19,DX,AX |
| 108 | MULQ 64(SP) |
| 109 | ADDQ AX,R8 |
| 110 | ADCQ DX,R9 |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 111 | MOVQ 64(SP),DX |
| 112 | IMUL3Q $38,DX,AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 113 | MULQ 72(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 114 | ADDQ AX,R10 |
| 115 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 116 | MOVQ 72(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 117 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 118 | MULQ 72(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 119 | ADDQ AX,R12 |
| 120 | ADCQ DX,R13 |
| 121 | MOVQ ·REDMASK51(SB),DX |
| 122 | SHLQ $13,CX:SI |
| 123 | ANDQ DX,SI |
| 124 | SHLQ $13,R9:R8 |
| 125 | ANDQ DX,R8 |
| 126 | ADDQ CX,R8 |
| 127 | SHLQ $13,R11:R10 |
| 128 | ANDQ DX,R10 |
| 129 | ADDQ R9,R10 |
| 130 | SHLQ $13,R13:R12 |
| 131 | ANDQ DX,R12 |
| 132 | ADDQ R11,R12 |
| 133 | SHLQ $13,R15:R14 |
| 134 | ANDQ DX,R14 |
| 135 | ADDQ R13,R14 |
| 136 | IMUL3Q $19,R15,CX |
| 137 | ADDQ CX,SI |
| 138 | MOVQ SI,CX |
| 139 | SHRQ $51,CX |
| 140 | ADDQ R8,CX |
| 141 | ANDQ DX,SI |
| 142 | MOVQ CX,R8 |
| 143 | SHRQ $51,CX |
| 144 | ADDQ R10,CX |
| 145 | ANDQ DX,R8 |
| 146 | MOVQ CX,R9 |
| 147 | SHRQ $51,CX |
| 148 | ADDQ R12,CX |
| 149 | ANDQ DX,R9 |
| 150 | MOVQ CX,AX |
| 151 | SHRQ $51,CX |
| 152 | ADDQ R14,CX |
| 153 | ANDQ DX,AX |
| 154 | MOVQ CX,R10 |
| 155 | SHRQ $51,CX |
| 156 | IMUL3Q $19,CX,CX |
| 157 | ADDQ CX,SI |
| 158 | ANDQ DX,R10 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 159 | MOVQ SI,80(SP) |
| 160 | MOVQ R8,88(SP) |
| 161 | MOVQ R9,96(SP) |
| 162 | MOVQ AX,104(SP) |
| 163 | MOVQ R10,112(SP) |
| 164 | MOVQ 0(SP),AX |
| 165 | MULQ 0(SP) |
| 166 | MOVQ AX,SI |
| 167 | MOVQ DX,CX |
| 168 | MOVQ 0(SP),AX |
| 169 | SHLQ $1,AX |
| 170 | MULQ 8(SP) |
| 171 | MOVQ AX,R8 |
| 172 | MOVQ DX,R9 |
| 173 | MOVQ 0(SP),AX |
| 174 | SHLQ $1,AX |
| 175 | MULQ 16(SP) |
| 176 | MOVQ AX,R10 |
| 177 | MOVQ DX,R11 |
| 178 | MOVQ 0(SP),AX |
| 179 | SHLQ $1,AX |
| 180 | MULQ 24(SP) |
| 181 | MOVQ AX,R12 |
| 182 | MOVQ DX,R13 |
| 183 | MOVQ 0(SP),AX |
| 184 | SHLQ $1,AX |
| 185 | MULQ 32(SP) |
| 186 | MOVQ AX,R14 |
| 187 | MOVQ DX,R15 |
| 188 | MOVQ 8(SP),AX |
| 189 | MULQ 8(SP) |
| 190 | ADDQ AX,R10 |
| 191 | ADCQ DX,R11 |
| 192 | MOVQ 8(SP),AX |
| 193 | SHLQ $1,AX |
| 194 | MULQ 16(SP) |
| 195 | ADDQ AX,R12 |
| 196 | ADCQ DX,R13 |
| 197 | MOVQ 8(SP),AX |
| 198 | SHLQ $1,AX |
| 199 | MULQ 24(SP) |
| 200 | ADDQ AX,R14 |
| 201 | ADCQ DX,R15 |
| 202 | MOVQ 8(SP),DX |
| 203 | IMUL3Q $38,DX,AX |
| 204 | MULQ 32(SP) |
| 205 | ADDQ AX,SI |
| 206 | ADCQ DX,CX |
| 207 | MOVQ 16(SP),AX |
| 208 | MULQ 16(SP) |
| 209 | ADDQ AX,R14 |
| 210 | ADCQ DX,R15 |
| 211 | MOVQ 16(SP),DX |
| 212 | IMUL3Q $38,DX,AX |
| 213 | MULQ 24(SP) |
| 214 | ADDQ AX,SI |
| 215 | ADCQ DX,CX |
| 216 | MOVQ 16(SP),DX |
| 217 | IMUL3Q $38,DX,AX |
| 218 | MULQ 32(SP) |
| 219 | ADDQ AX,R8 |
| 220 | ADCQ DX,R9 |
| 221 | MOVQ 24(SP),DX |
| 222 | IMUL3Q $19,DX,AX |
| 223 | MULQ 24(SP) |
| 224 | ADDQ AX,R8 |
| 225 | ADCQ DX,R9 |
| 226 | MOVQ 24(SP),DX |
| 227 | IMUL3Q $38,DX,AX |
| 228 | MULQ 32(SP) |
| 229 | ADDQ AX,R10 |
| 230 | ADCQ DX,R11 |
| 231 | MOVQ 32(SP),DX |
| 232 | IMUL3Q $19,DX,AX |
| 233 | MULQ 32(SP) |
| 234 | ADDQ AX,R12 |
| 235 | ADCQ DX,R13 |
| 236 | MOVQ ·REDMASK51(SB),DX |
| 237 | SHLQ $13,CX:SI |
| 238 | ANDQ DX,SI |
| 239 | SHLQ $13,R9:R8 |
| 240 | ANDQ DX,R8 |
| 241 | ADDQ CX,R8 |
| 242 | SHLQ $13,R11:R10 |
| 243 | ANDQ DX,R10 |
| 244 | ADDQ R9,R10 |
| 245 | SHLQ $13,R13:R12 |
| 246 | ANDQ DX,R12 |
| 247 | ADDQ R11,R12 |
| 248 | SHLQ $13,R15:R14 |
| 249 | ANDQ DX,R14 |
| 250 | ADDQ R13,R14 |
| 251 | IMUL3Q $19,R15,CX |
| 252 | ADDQ CX,SI |
| 253 | MOVQ SI,CX |
| 254 | SHRQ $51,CX |
| 255 | ADDQ R8,CX |
| 256 | ANDQ DX,SI |
| 257 | MOVQ CX,R8 |
| 258 | SHRQ $51,CX |
| 259 | ADDQ R10,CX |
| 260 | ANDQ DX,R8 |
| 261 | MOVQ CX,R9 |
| 262 | SHRQ $51,CX |
| 263 | ADDQ R12,CX |
| 264 | ANDQ DX,R9 |
| 265 | MOVQ CX,AX |
| 266 | SHRQ $51,CX |
| 267 | ADDQ R14,CX |
| 268 | ANDQ DX,AX |
| 269 | MOVQ CX,R10 |
| 270 | SHRQ $51,CX |
| 271 | IMUL3Q $19,CX,CX |
| 272 | ADDQ CX,SI |
| 273 | ANDQ DX,R10 |
| 274 | MOVQ SI,120(SP) |
| 275 | MOVQ R8,128(SP) |
| 276 | MOVQ R9,136(SP) |
| 277 | MOVQ AX,144(SP) |
| 278 | MOVQ R10,152(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 279 | MOVQ SI,SI |
| 280 | MOVQ R8,DX |
| 281 | MOVQ R9,CX |
| 282 | MOVQ AX,R8 |
| 283 | MOVQ R10,R9 |
| 284 | ADDQ ·_2P0(SB),SI |
| 285 | ADDQ ·_2P1234(SB),DX |
| 286 | ADDQ ·_2P1234(SB),CX |
| 287 | ADDQ ·_2P1234(SB),R8 |
| 288 | ADDQ ·_2P1234(SB),R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 289 | SUBQ 80(SP),SI |
| 290 | SUBQ 88(SP),DX |
| 291 | SUBQ 96(SP),CX |
| 292 | SUBQ 104(SP),R8 |
| 293 | SUBQ 112(SP),R9 |
| 294 | MOVQ SI,160(SP) |
| 295 | MOVQ DX,168(SP) |
| 296 | MOVQ CX,176(SP) |
| 297 | MOVQ R8,184(SP) |
| 298 | MOVQ R9,192(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 299 | MOVQ 120(DI),SI |
| 300 | MOVQ 128(DI),DX |
| 301 | MOVQ 136(DI),CX |
| 302 | MOVQ 144(DI),R8 |
| 303 | MOVQ 152(DI),R9 |
| 304 | MOVQ SI,AX |
| 305 | MOVQ DX,R10 |
| 306 | MOVQ CX,R11 |
| 307 | MOVQ R8,R12 |
| 308 | MOVQ R9,R13 |
| 309 | ADDQ ·_2P0(SB),AX |
| 310 | ADDQ ·_2P1234(SB),R10 |
| 311 | ADDQ ·_2P1234(SB),R11 |
| 312 | ADDQ ·_2P1234(SB),R12 |
| 313 | ADDQ ·_2P1234(SB),R13 |
| 314 | ADDQ 160(DI),SI |
| 315 | ADDQ 168(DI),DX |
| 316 | ADDQ 176(DI),CX |
| 317 | ADDQ 184(DI),R8 |
| 318 | ADDQ 192(DI),R9 |
| 319 | SUBQ 160(DI),AX |
| 320 | SUBQ 168(DI),R10 |
| 321 | SUBQ 176(DI),R11 |
| 322 | SUBQ 184(DI),R12 |
| 323 | SUBQ 192(DI),R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 324 | MOVQ SI,200(SP) |
| 325 | MOVQ DX,208(SP) |
| 326 | MOVQ CX,216(SP) |
| 327 | MOVQ R8,224(SP) |
| 328 | MOVQ R9,232(SP) |
| 329 | MOVQ AX,240(SP) |
| 330 | MOVQ R10,248(SP) |
| 331 | MOVQ R11,256(SP) |
| 332 | MOVQ R12,264(SP) |
| 333 | MOVQ R13,272(SP) |
| 334 | MOVQ 224(SP),SI |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 335 | IMUL3Q $19,SI,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 336 | MOVQ AX,280(SP) |
| 337 | MULQ 56(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 338 | MOVQ AX,SI |
| 339 | MOVQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 340 | MOVQ 232(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 341 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 342 | MOVQ AX,288(SP) |
| 343 | MULQ 48(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 344 | ADDQ AX,SI |
| 345 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 346 | MOVQ 200(SP),AX |
| 347 | MULQ 40(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 348 | ADDQ AX,SI |
| 349 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 350 | MOVQ 200(SP),AX |
| 351 | MULQ 48(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 352 | MOVQ AX,R8 |
| 353 | MOVQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 354 | MOVQ 200(SP),AX |
| 355 | MULQ 56(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 356 | MOVQ AX,R10 |
| 357 | MOVQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 358 | MOVQ 200(SP),AX |
| 359 | MULQ 64(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 360 | MOVQ AX,R12 |
| 361 | MOVQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 362 | MOVQ 200(SP),AX |
| 363 | MULQ 72(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 364 | MOVQ AX,R14 |
| 365 | MOVQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 366 | MOVQ 208(SP),AX |
| 367 | MULQ 40(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 368 | ADDQ AX,R8 |
| 369 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 370 | MOVQ 208(SP),AX |
| 371 | MULQ 48(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 372 | ADDQ AX,R10 |
| 373 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 374 | MOVQ 208(SP),AX |
| 375 | MULQ 56(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 376 | ADDQ AX,R12 |
| 377 | ADCQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 378 | MOVQ 208(SP),AX |
| 379 | MULQ 64(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 380 | ADDQ AX,R14 |
| 381 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 382 | MOVQ 208(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 383 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 384 | MULQ 72(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 385 | ADDQ AX,SI |
| 386 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 387 | MOVQ 216(SP),AX |
| 388 | MULQ 40(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 389 | ADDQ AX,R10 |
| 390 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 391 | MOVQ 216(SP),AX |
| 392 | MULQ 48(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 393 | ADDQ AX,R12 |
| 394 | ADCQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 395 | MOVQ 216(SP),AX |
| 396 | MULQ 56(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 397 | ADDQ AX,R14 |
| 398 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 399 | MOVQ 216(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 400 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 401 | MULQ 64(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 402 | ADDQ AX,SI |
| 403 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 404 | MOVQ 216(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 405 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 406 | MULQ 72(SP) |
| 407 | ADDQ AX,R8 |
| 408 | ADCQ DX,R9 |
| 409 | MOVQ 224(SP),AX |
| 410 | MULQ 40(SP) |
| 411 | ADDQ AX,R12 |
| 412 | ADCQ DX,R13 |
| 413 | MOVQ 224(SP),AX |
| 414 | MULQ 48(SP) |
| 415 | ADDQ AX,R14 |
| 416 | ADCQ DX,R15 |
| 417 | MOVQ 280(SP),AX |
| 418 | MULQ 64(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 419 | ADDQ AX,R8 |
| 420 | ADCQ DX,R9 |
| 421 | MOVQ 280(SP),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 422 | MULQ 72(SP) |
| 423 | ADDQ AX,R10 |
| 424 | ADCQ DX,R11 |
| 425 | MOVQ 232(SP),AX |
| 426 | MULQ 40(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 427 | ADDQ AX,R14 |
| 428 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 429 | MOVQ 288(SP),AX |
| 430 | MULQ 56(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 431 | ADDQ AX,R8 |
| 432 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 433 | MOVQ 288(SP),AX |
| 434 | MULQ 64(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 435 | ADDQ AX,R10 |
| 436 | ADCQ DX,R11 |
| 437 | MOVQ 288(SP),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 438 | MULQ 72(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 439 | ADDQ AX,R12 |
| 440 | ADCQ DX,R13 |
| 441 | MOVQ ·REDMASK51(SB),DX |
| 442 | SHLQ $13,CX:SI |
| 443 | ANDQ DX,SI |
| 444 | SHLQ $13,R9:R8 |
| 445 | ANDQ DX,R8 |
| 446 | ADDQ CX,R8 |
| 447 | SHLQ $13,R11:R10 |
| 448 | ANDQ DX,R10 |
| 449 | ADDQ R9,R10 |
| 450 | SHLQ $13,R13:R12 |
| 451 | ANDQ DX,R12 |
| 452 | ADDQ R11,R12 |
| 453 | SHLQ $13,R15:R14 |
| 454 | ANDQ DX,R14 |
| 455 | ADDQ R13,R14 |
| 456 | IMUL3Q $19,R15,CX |
| 457 | ADDQ CX,SI |
| 458 | MOVQ SI,CX |
| 459 | SHRQ $51,CX |
| 460 | ADDQ R8,CX |
| 461 | MOVQ CX,R8 |
| 462 | SHRQ $51,CX |
| 463 | ANDQ DX,SI |
| 464 | ADDQ R10,CX |
| 465 | MOVQ CX,R9 |
| 466 | SHRQ $51,CX |
| 467 | ANDQ DX,R8 |
| 468 | ADDQ R12,CX |
| 469 | MOVQ CX,AX |
| 470 | SHRQ $51,CX |
| 471 | ANDQ DX,R9 |
| 472 | ADDQ R14,CX |
| 473 | MOVQ CX,R10 |
| 474 | SHRQ $51,CX |
| 475 | ANDQ DX,AX |
| 476 | IMUL3Q $19,CX,CX |
| 477 | ADDQ CX,SI |
| 478 | ANDQ DX,R10 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 479 | MOVQ SI,40(SP) |
| 480 | MOVQ R8,48(SP) |
| 481 | MOVQ R9,56(SP) |
| 482 | MOVQ AX,64(SP) |
| 483 | MOVQ R10,72(SP) |
| 484 | MOVQ 264(SP),SI |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 485 | IMUL3Q $19,SI,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 486 | MOVQ AX,200(SP) |
| 487 | MULQ 16(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 488 | MOVQ AX,SI |
| 489 | MOVQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 490 | MOVQ 272(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 491 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 492 | MOVQ AX,208(SP) |
| 493 | MULQ 8(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 494 | ADDQ AX,SI |
| 495 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 496 | MOVQ 240(SP),AX |
| 497 | MULQ 0(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 498 | ADDQ AX,SI |
| 499 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 500 | MOVQ 240(SP),AX |
| 501 | MULQ 8(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 502 | MOVQ AX,R8 |
| 503 | MOVQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 504 | MOVQ 240(SP),AX |
| 505 | MULQ 16(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 506 | MOVQ AX,R10 |
| 507 | MOVQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 508 | MOVQ 240(SP),AX |
| 509 | MULQ 24(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 510 | MOVQ AX,R12 |
| 511 | MOVQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 512 | MOVQ 240(SP),AX |
| 513 | MULQ 32(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 514 | MOVQ AX,R14 |
| 515 | MOVQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 516 | MOVQ 248(SP),AX |
| 517 | MULQ 0(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 518 | ADDQ AX,R8 |
| 519 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 520 | MOVQ 248(SP),AX |
| 521 | MULQ 8(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 522 | ADDQ AX,R10 |
| 523 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 524 | MOVQ 248(SP),AX |
| 525 | MULQ 16(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 526 | ADDQ AX,R12 |
| 527 | ADCQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 528 | MOVQ 248(SP),AX |
| 529 | MULQ 24(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 530 | ADDQ AX,R14 |
| 531 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 532 | MOVQ 248(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 533 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 534 | MULQ 32(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 535 | ADDQ AX,SI |
| 536 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 537 | MOVQ 256(SP),AX |
| 538 | MULQ 0(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 539 | ADDQ AX,R10 |
| 540 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 541 | MOVQ 256(SP),AX |
| 542 | MULQ 8(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 543 | ADDQ AX,R12 |
| 544 | ADCQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 545 | MOVQ 256(SP),AX |
| 546 | MULQ 16(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 547 | ADDQ AX,R14 |
| 548 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 549 | MOVQ 256(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 550 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 551 | MULQ 24(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 552 | ADDQ AX,SI |
| 553 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 554 | MOVQ 256(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 555 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 556 | MULQ 32(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 557 | ADDQ AX,R8 |
| 558 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 559 | MOVQ 264(SP),AX |
| 560 | MULQ 0(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 561 | ADDQ AX,R12 |
| 562 | ADCQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 563 | MOVQ 264(SP),AX |
| 564 | MULQ 8(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 565 | ADDQ AX,R14 |
| 566 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 567 | MOVQ 200(SP),AX |
| 568 | MULQ 24(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 569 | ADDQ AX,R8 |
| 570 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 571 | MOVQ 200(SP),AX |
| 572 | MULQ 32(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 573 | ADDQ AX,R10 |
| 574 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 575 | MOVQ 272(SP),AX |
| 576 | MULQ 0(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 577 | ADDQ AX,R14 |
| 578 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 579 | MOVQ 208(SP),AX |
| 580 | MULQ 16(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 581 | ADDQ AX,R8 |
| 582 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 583 | MOVQ 208(SP),AX |
| 584 | MULQ 24(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 585 | ADDQ AX,R10 |
| 586 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 587 | MOVQ 208(SP),AX |
| 588 | MULQ 32(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 589 | ADDQ AX,R12 |
| 590 | ADCQ DX,R13 |
| 591 | MOVQ ·REDMASK51(SB),DX |
| 592 | SHLQ $13,CX:SI |
| 593 | ANDQ DX,SI |
| 594 | SHLQ $13,R9:R8 |
| 595 | ANDQ DX,R8 |
| 596 | ADDQ CX,R8 |
| 597 | SHLQ $13,R11:R10 |
| 598 | ANDQ DX,R10 |
| 599 | ADDQ R9,R10 |
| 600 | SHLQ $13,R13:R12 |
| 601 | ANDQ DX,R12 |
| 602 | ADDQ R11,R12 |
| 603 | SHLQ $13,R15:R14 |
| 604 | ANDQ DX,R14 |
| 605 | ADDQ R13,R14 |
| 606 | IMUL3Q $19,R15,CX |
| 607 | ADDQ CX,SI |
| 608 | MOVQ SI,CX |
| 609 | SHRQ $51,CX |
| 610 | ADDQ R8,CX |
| 611 | MOVQ CX,R8 |
| 612 | SHRQ $51,CX |
| 613 | ANDQ DX,SI |
| 614 | ADDQ R10,CX |
| 615 | MOVQ CX,R9 |
| 616 | SHRQ $51,CX |
| 617 | ANDQ DX,R8 |
| 618 | ADDQ R12,CX |
| 619 | MOVQ CX,AX |
| 620 | SHRQ $51,CX |
| 621 | ANDQ DX,R9 |
| 622 | ADDQ R14,CX |
| 623 | MOVQ CX,R10 |
| 624 | SHRQ $51,CX |
| 625 | ANDQ DX,AX |
| 626 | IMUL3Q $19,CX,CX |
| 627 | ADDQ CX,SI |
| 628 | ANDQ DX,R10 |
| 629 | MOVQ SI,DX |
| 630 | MOVQ R8,CX |
| 631 | MOVQ R9,R11 |
| 632 | MOVQ AX,R12 |
| 633 | MOVQ R10,R13 |
| 634 | ADDQ ·_2P0(SB),DX |
| 635 | ADDQ ·_2P1234(SB),CX |
| 636 | ADDQ ·_2P1234(SB),R11 |
| 637 | ADDQ ·_2P1234(SB),R12 |
| 638 | ADDQ ·_2P1234(SB),R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 639 | ADDQ 40(SP),SI |
| 640 | ADDQ 48(SP),R8 |
| 641 | ADDQ 56(SP),R9 |
| 642 | ADDQ 64(SP),AX |
| 643 | ADDQ 72(SP),R10 |
| 644 | SUBQ 40(SP),DX |
| 645 | SUBQ 48(SP),CX |
| 646 | SUBQ 56(SP),R11 |
| 647 | SUBQ 64(SP),R12 |
| 648 | SUBQ 72(SP),R13 |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 649 | MOVQ SI,120(DI) |
| 650 | MOVQ R8,128(DI) |
| 651 | MOVQ R9,136(DI) |
| 652 | MOVQ AX,144(DI) |
| 653 | MOVQ R10,152(DI) |
| 654 | MOVQ DX,160(DI) |
| 655 | MOVQ CX,168(DI) |
| 656 | MOVQ R11,176(DI) |
| 657 | MOVQ R12,184(DI) |
| 658 | MOVQ R13,192(DI) |
| 659 | MOVQ 120(DI),AX |
| 660 | MULQ 120(DI) |
| 661 | MOVQ AX,SI |
| 662 | MOVQ DX,CX |
| 663 | MOVQ 120(DI),AX |
| 664 | SHLQ $1,AX |
| 665 | MULQ 128(DI) |
| 666 | MOVQ AX,R8 |
| 667 | MOVQ DX,R9 |
| 668 | MOVQ 120(DI),AX |
| 669 | SHLQ $1,AX |
| 670 | MULQ 136(DI) |
| 671 | MOVQ AX,R10 |
| 672 | MOVQ DX,R11 |
| 673 | MOVQ 120(DI),AX |
| 674 | SHLQ $1,AX |
| 675 | MULQ 144(DI) |
| 676 | MOVQ AX,R12 |
| 677 | MOVQ DX,R13 |
| 678 | MOVQ 120(DI),AX |
| 679 | SHLQ $1,AX |
| 680 | MULQ 152(DI) |
| 681 | MOVQ AX,R14 |
| 682 | MOVQ DX,R15 |
| 683 | MOVQ 128(DI),AX |
| 684 | MULQ 128(DI) |
| 685 | ADDQ AX,R10 |
| 686 | ADCQ DX,R11 |
| 687 | MOVQ 128(DI),AX |
| 688 | SHLQ $1,AX |
| 689 | MULQ 136(DI) |
| 690 | ADDQ AX,R12 |
| 691 | ADCQ DX,R13 |
| 692 | MOVQ 128(DI),AX |
| 693 | SHLQ $1,AX |
| 694 | MULQ 144(DI) |
| 695 | ADDQ AX,R14 |
| 696 | ADCQ DX,R15 |
| 697 | MOVQ 128(DI),DX |
| 698 | IMUL3Q $38,DX,AX |
| 699 | MULQ 152(DI) |
| 700 | ADDQ AX,SI |
| 701 | ADCQ DX,CX |
| 702 | MOVQ 136(DI),AX |
| 703 | MULQ 136(DI) |
| 704 | ADDQ AX,R14 |
| 705 | ADCQ DX,R15 |
| 706 | MOVQ 136(DI),DX |
| 707 | IMUL3Q $38,DX,AX |
| 708 | MULQ 144(DI) |
| 709 | ADDQ AX,SI |
| 710 | ADCQ DX,CX |
| 711 | MOVQ 136(DI),DX |
| 712 | IMUL3Q $38,DX,AX |
| 713 | MULQ 152(DI) |
| 714 | ADDQ AX,R8 |
| 715 | ADCQ DX,R9 |
| 716 | MOVQ 144(DI),DX |
| 717 | IMUL3Q $19,DX,AX |
| 718 | MULQ 144(DI) |
| 719 | ADDQ AX,R8 |
| 720 | ADCQ DX,R9 |
| 721 | MOVQ 144(DI),DX |
| 722 | IMUL3Q $38,DX,AX |
| 723 | MULQ 152(DI) |
| 724 | ADDQ AX,R10 |
| 725 | ADCQ DX,R11 |
| 726 | MOVQ 152(DI),DX |
| 727 | IMUL3Q $19,DX,AX |
| 728 | MULQ 152(DI) |
| 729 | ADDQ AX,R12 |
| 730 | ADCQ DX,R13 |
| 731 | MOVQ ·REDMASK51(SB),DX |
| 732 | SHLQ $13,CX:SI |
| 733 | ANDQ DX,SI |
| 734 | SHLQ $13,R9:R8 |
| 735 | ANDQ DX,R8 |
| 736 | ADDQ CX,R8 |
| 737 | SHLQ $13,R11:R10 |
| 738 | ANDQ DX,R10 |
| 739 | ADDQ R9,R10 |
| 740 | SHLQ $13,R13:R12 |
| 741 | ANDQ DX,R12 |
| 742 | ADDQ R11,R12 |
| 743 | SHLQ $13,R15:R14 |
| 744 | ANDQ DX,R14 |
| 745 | ADDQ R13,R14 |
| 746 | IMUL3Q $19,R15,CX |
| 747 | ADDQ CX,SI |
| 748 | MOVQ SI,CX |
| 749 | SHRQ $51,CX |
| 750 | ADDQ R8,CX |
| 751 | ANDQ DX,SI |
| 752 | MOVQ CX,R8 |
| 753 | SHRQ $51,CX |
| 754 | ADDQ R10,CX |
| 755 | ANDQ DX,R8 |
| 756 | MOVQ CX,R9 |
| 757 | SHRQ $51,CX |
| 758 | ADDQ R12,CX |
| 759 | ANDQ DX,R9 |
| 760 | MOVQ CX,AX |
| 761 | SHRQ $51,CX |
| 762 | ADDQ R14,CX |
| 763 | ANDQ DX,AX |
| 764 | MOVQ CX,R10 |
| 765 | SHRQ $51,CX |
| 766 | IMUL3Q $19,CX,CX |
| 767 | ADDQ CX,SI |
| 768 | ANDQ DX,R10 |
| 769 | MOVQ SI,120(DI) |
| 770 | MOVQ R8,128(DI) |
| 771 | MOVQ R9,136(DI) |
| 772 | MOVQ AX,144(DI) |
| 773 | MOVQ R10,152(DI) |
| 774 | MOVQ 160(DI),AX |
| 775 | MULQ 160(DI) |
| 776 | MOVQ AX,SI |
| 777 | MOVQ DX,CX |
| 778 | MOVQ 160(DI),AX |
| 779 | SHLQ $1,AX |
| 780 | MULQ 168(DI) |
| 781 | MOVQ AX,R8 |
| 782 | MOVQ DX,R9 |
| 783 | MOVQ 160(DI),AX |
| 784 | SHLQ $1,AX |
| 785 | MULQ 176(DI) |
| 786 | MOVQ AX,R10 |
| 787 | MOVQ DX,R11 |
| 788 | MOVQ 160(DI),AX |
| 789 | SHLQ $1,AX |
| 790 | MULQ 184(DI) |
| 791 | MOVQ AX,R12 |
| 792 | MOVQ DX,R13 |
| 793 | MOVQ 160(DI),AX |
| 794 | SHLQ $1,AX |
| 795 | MULQ 192(DI) |
| 796 | MOVQ AX,R14 |
| 797 | MOVQ DX,R15 |
| 798 | MOVQ 168(DI),AX |
| 799 | MULQ 168(DI) |
| 800 | ADDQ AX,R10 |
| 801 | ADCQ DX,R11 |
| 802 | MOVQ 168(DI),AX |
| 803 | SHLQ $1,AX |
| 804 | MULQ 176(DI) |
| 805 | ADDQ AX,R12 |
| 806 | ADCQ DX,R13 |
| 807 | MOVQ 168(DI),AX |
| 808 | SHLQ $1,AX |
| 809 | MULQ 184(DI) |
| 810 | ADDQ AX,R14 |
| 811 | ADCQ DX,R15 |
| 812 | MOVQ 168(DI),DX |
| 813 | IMUL3Q $38,DX,AX |
| 814 | MULQ 192(DI) |
| 815 | ADDQ AX,SI |
| 816 | ADCQ DX,CX |
| 817 | MOVQ 176(DI),AX |
| 818 | MULQ 176(DI) |
| 819 | ADDQ AX,R14 |
| 820 | ADCQ DX,R15 |
| 821 | MOVQ 176(DI),DX |
| 822 | IMUL3Q $38,DX,AX |
| 823 | MULQ 184(DI) |
| 824 | ADDQ AX,SI |
| 825 | ADCQ DX,CX |
| 826 | MOVQ 176(DI),DX |
| 827 | IMUL3Q $38,DX,AX |
| 828 | MULQ 192(DI) |
| 829 | ADDQ AX,R8 |
| 830 | ADCQ DX,R9 |
| 831 | MOVQ 184(DI),DX |
| 832 | IMUL3Q $19,DX,AX |
| 833 | MULQ 184(DI) |
| 834 | ADDQ AX,R8 |
| 835 | ADCQ DX,R9 |
| 836 | MOVQ 184(DI),DX |
| 837 | IMUL3Q $38,DX,AX |
| 838 | MULQ 192(DI) |
| 839 | ADDQ AX,R10 |
| 840 | ADCQ DX,R11 |
| 841 | MOVQ 192(DI),DX |
| 842 | IMUL3Q $19,DX,AX |
| 843 | MULQ 192(DI) |
| 844 | ADDQ AX,R12 |
| 845 | ADCQ DX,R13 |
| 846 | MOVQ ·REDMASK51(SB),DX |
| 847 | SHLQ $13,CX:SI |
| 848 | ANDQ DX,SI |
| 849 | SHLQ $13,R9:R8 |
| 850 | ANDQ DX,R8 |
| 851 | ADDQ CX,R8 |
| 852 | SHLQ $13,R11:R10 |
| 853 | ANDQ DX,R10 |
| 854 | ADDQ R9,R10 |
| 855 | SHLQ $13,R13:R12 |
| 856 | ANDQ DX,R12 |
| 857 | ADDQ R11,R12 |
| 858 | SHLQ $13,R15:R14 |
| 859 | ANDQ DX,R14 |
| 860 | ADDQ R13,R14 |
| 861 | IMUL3Q $19,R15,CX |
| 862 | ADDQ CX,SI |
| 863 | MOVQ SI,CX |
| 864 | SHRQ $51,CX |
| 865 | ADDQ R8,CX |
| 866 | ANDQ DX,SI |
| 867 | MOVQ CX,R8 |
| 868 | SHRQ $51,CX |
| 869 | ADDQ R10,CX |
| 870 | ANDQ DX,R8 |
| 871 | MOVQ CX,R9 |
| 872 | SHRQ $51,CX |
| 873 | ADDQ R12,CX |
| 874 | ANDQ DX,R9 |
| 875 | MOVQ CX,AX |
| 876 | SHRQ $51,CX |
| 877 | ADDQ R14,CX |
| 878 | ANDQ DX,AX |
| 879 | MOVQ CX,R10 |
| 880 | SHRQ $51,CX |
| 881 | IMUL3Q $19,CX,CX |
| 882 | ADDQ CX,SI |
| 883 | ANDQ DX,R10 |
| 884 | MOVQ SI,160(DI) |
| 885 | MOVQ R8,168(DI) |
| 886 | MOVQ R9,176(DI) |
| 887 | MOVQ AX,184(DI) |
| 888 | MOVQ R10,192(DI) |
| 889 | MOVQ 184(DI),SI |
| 890 | IMUL3Q $19,SI,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 891 | MOVQ AX,0(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 892 | MULQ 16(DI) |
| 893 | MOVQ AX,SI |
| 894 | MOVQ DX,CX |
| 895 | MOVQ 192(DI),DX |
| 896 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 897 | MOVQ AX,8(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 898 | MULQ 8(DI) |
| 899 | ADDQ AX,SI |
| 900 | ADCQ DX,CX |
| 901 | MOVQ 160(DI),AX |
| 902 | MULQ 0(DI) |
| 903 | ADDQ AX,SI |
| 904 | ADCQ DX,CX |
| 905 | MOVQ 160(DI),AX |
| 906 | MULQ 8(DI) |
| 907 | MOVQ AX,R8 |
| 908 | MOVQ DX,R9 |
| 909 | MOVQ 160(DI),AX |
| 910 | MULQ 16(DI) |
| 911 | MOVQ AX,R10 |
| 912 | MOVQ DX,R11 |
| 913 | MOVQ 160(DI),AX |
| 914 | MULQ 24(DI) |
| 915 | MOVQ AX,R12 |
| 916 | MOVQ DX,R13 |
| 917 | MOVQ 160(DI),AX |
| 918 | MULQ 32(DI) |
| 919 | MOVQ AX,R14 |
| 920 | MOVQ DX,R15 |
| 921 | MOVQ 168(DI),AX |
| 922 | MULQ 0(DI) |
| 923 | ADDQ AX,R8 |
| 924 | ADCQ DX,R9 |
| 925 | MOVQ 168(DI),AX |
| 926 | MULQ 8(DI) |
| 927 | ADDQ AX,R10 |
| 928 | ADCQ DX,R11 |
| 929 | MOVQ 168(DI),AX |
| 930 | MULQ 16(DI) |
| 931 | ADDQ AX,R12 |
| 932 | ADCQ DX,R13 |
| 933 | MOVQ 168(DI),AX |
| 934 | MULQ 24(DI) |
| 935 | ADDQ AX,R14 |
| 936 | ADCQ DX,R15 |
| 937 | MOVQ 168(DI),DX |
| 938 | IMUL3Q $19,DX,AX |
| 939 | MULQ 32(DI) |
| 940 | ADDQ AX,SI |
| 941 | ADCQ DX,CX |
| 942 | MOVQ 176(DI),AX |
| 943 | MULQ 0(DI) |
| 944 | ADDQ AX,R10 |
| 945 | ADCQ DX,R11 |
| 946 | MOVQ 176(DI),AX |
| 947 | MULQ 8(DI) |
| 948 | ADDQ AX,R12 |
| 949 | ADCQ DX,R13 |
| 950 | MOVQ 176(DI),AX |
| 951 | MULQ 16(DI) |
| 952 | ADDQ AX,R14 |
| 953 | ADCQ DX,R15 |
| 954 | MOVQ 176(DI),DX |
| 955 | IMUL3Q $19,DX,AX |
| 956 | MULQ 24(DI) |
| 957 | ADDQ AX,SI |
| 958 | ADCQ DX,CX |
| 959 | MOVQ 176(DI),DX |
| 960 | IMUL3Q $19,DX,AX |
| 961 | MULQ 32(DI) |
| 962 | ADDQ AX,R8 |
| 963 | ADCQ DX,R9 |
| 964 | MOVQ 184(DI),AX |
| 965 | MULQ 0(DI) |
| 966 | ADDQ AX,R12 |
| 967 | ADCQ DX,R13 |
| 968 | MOVQ 184(DI),AX |
| 969 | MULQ 8(DI) |
| 970 | ADDQ AX,R14 |
| 971 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 972 | MOVQ 0(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 973 | MULQ 24(DI) |
| 974 | ADDQ AX,R8 |
| 975 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 976 | MOVQ 0(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 977 | MULQ 32(DI) |
| 978 | ADDQ AX,R10 |
| 979 | ADCQ DX,R11 |
| 980 | MOVQ 192(DI),AX |
| 981 | MULQ 0(DI) |
| 982 | ADDQ AX,R14 |
| 983 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 984 | MOVQ 8(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 985 | MULQ 16(DI) |
| 986 | ADDQ AX,R8 |
| 987 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 988 | MOVQ 8(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 989 | MULQ 24(DI) |
| 990 | ADDQ AX,R10 |
| 991 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 992 | MOVQ 8(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 993 | MULQ 32(DI) |
| 994 | ADDQ AX,R12 |
| 995 | ADCQ DX,R13 |
| 996 | MOVQ ·REDMASK51(SB),DX |
| 997 | SHLQ $13,CX:SI |
| 998 | ANDQ DX,SI |
| 999 | SHLQ $13,R9:R8 |
| 1000 | ANDQ DX,R8 |
| 1001 | ADDQ CX,R8 |
| 1002 | SHLQ $13,R11:R10 |
| 1003 | ANDQ DX,R10 |
| 1004 | ADDQ R9,R10 |
| 1005 | SHLQ $13,R13:R12 |
| 1006 | ANDQ DX,R12 |
| 1007 | ADDQ R11,R12 |
| 1008 | SHLQ $13,R15:R14 |
| 1009 | ANDQ DX,R14 |
| 1010 | ADDQ R13,R14 |
| 1011 | IMUL3Q $19,R15,CX |
| 1012 | ADDQ CX,SI |
| 1013 | MOVQ SI,CX |
| 1014 | SHRQ $51,CX |
| 1015 | ADDQ R8,CX |
| 1016 | MOVQ CX,R8 |
| 1017 | SHRQ $51,CX |
| 1018 | ANDQ DX,SI |
| 1019 | ADDQ R10,CX |
| 1020 | MOVQ CX,R9 |
| 1021 | SHRQ $51,CX |
| 1022 | ANDQ DX,R8 |
| 1023 | ADDQ R12,CX |
| 1024 | MOVQ CX,AX |
| 1025 | SHRQ $51,CX |
| 1026 | ANDQ DX,R9 |
| 1027 | ADDQ R14,CX |
| 1028 | MOVQ CX,R10 |
| 1029 | SHRQ $51,CX |
| 1030 | ANDQ DX,AX |
| 1031 | IMUL3Q $19,CX,CX |
| 1032 | ADDQ CX,SI |
| 1033 | ANDQ DX,R10 |
| 1034 | MOVQ SI,160(DI) |
| 1035 | MOVQ R8,168(DI) |
| 1036 | MOVQ R9,176(DI) |
| 1037 | MOVQ AX,184(DI) |
| 1038 | MOVQ R10,192(DI) |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1039 | MOVQ 144(SP),SI |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1040 | IMUL3Q $19,SI,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1041 | MOVQ AX,0(SP) |
| 1042 | MULQ 96(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1043 | MOVQ AX,SI |
| 1044 | MOVQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1045 | MOVQ 152(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1046 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1047 | MOVQ AX,8(SP) |
| 1048 | MULQ 88(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1049 | ADDQ AX,SI |
| 1050 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1051 | MOVQ 120(SP),AX |
| 1052 | MULQ 80(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1053 | ADDQ AX,SI |
| 1054 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1055 | MOVQ 120(SP),AX |
| 1056 | MULQ 88(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1057 | MOVQ AX,R8 |
| 1058 | MOVQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1059 | MOVQ 120(SP),AX |
| 1060 | MULQ 96(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1061 | MOVQ AX,R10 |
| 1062 | MOVQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1063 | MOVQ 120(SP),AX |
| 1064 | MULQ 104(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1065 | MOVQ AX,R12 |
| 1066 | MOVQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1067 | MOVQ 120(SP),AX |
| 1068 | MULQ 112(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1069 | MOVQ AX,R14 |
| 1070 | MOVQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1071 | MOVQ 128(SP),AX |
| 1072 | MULQ 80(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1073 | ADDQ AX,R8 |
| 1074 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1075 | MOVQ 128(SP),AX |
| 1076 | MULQ 88(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1077 | ADDQ AX,R10 |
| 1078 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1079 | MOVQ 128(SP),AX |
| 1080 | MULQ 96(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1081 | ADDQ AX,R12 |
| 1082 | ADCQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1083 | MOVQ 128(SP),AX |
| 1084 | MULQ 104(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1085 | ADDQ AX,R14 |
| 1086 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1087 | MOVQ 128(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1088 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1089 | MULQ 112(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1090 | ADDQ AX,SI |
| 1091 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1092 | MOVQ 136(SP),AX |
| 1093 | MULQ 80(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1094 | ADDQ AX,R10 |
| 1095 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1096 | MOVQ 136(SP),AX |
| 1097 | MULQ 88(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1098 | ADDQ AX,R12 |
| 1099 | ADCQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1100 | MOVQ 136(SP),AX |
| 1101 | MULQ 96(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1102 | ADDQ AX,R14 |
| 1103 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1104 | MOVQ 136(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1105 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1106 | MULQ 104(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1107 | ADDQ AX,SI |
| 1108 | ADCQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1109 | MOVQ 136(SP),DX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1110 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1111 | MULQ 112(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1112 | ADDQ AX,R8 |
| 1113 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1114 | MOVQ 144(SP),AX |
| 1115 | MULQ 80(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1116 | ADDQ AX,R12 |
| 1117 | ADCQ DX,R13 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1118 | MOVQ 144(SP),AX |
| 1119 | MULQ 88(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1120 | ADDQ AX,R14 |
| 1121 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1122 | MOVQ 0(SP),AX |
| 1123 | MULQ 104(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1124 | ADDQ AX,R8 |
| 1125 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1126 | MOVQ 0(SP),AX |
| 1127 | MULQ 112(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1128 | ADDQ AX,R10 |
| 1129 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1130 | MOVQ 152(SP),AX |
| 1131 | MULQ 80(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1132 | ADDQ AX,R14 |
| 1133 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1134 | MOVQ 8(SP),AX |
| 1135 | MULQ 96(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1136 | ADDQ AX,R8 |
| 1137 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1138 | MOVQ 8(SP),AX |
| 1139 | MULQ 104(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1140 | ADDQ AX,R10 |
| 1141 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1142 | MOVQ 8(SP),AX |
| 1143 | MULQ 112(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1144 | ADDQ AX,R12 |
| 1145 | ADCQ DX,R13 |
| 1146 | MOVQ ·REDMASK51(SB),DX |
| 1147 | SHLQ $13,CX:SI |
| 1148 | ANDQ DX,SI |
| 1149 | SHLQ $13,R9:R8 |
| 1150 | ANDQ DX,R8 |
| 1151 | ADDQ CX,R8 |
| 1152 | SHLQ $13,R11:R10 |
| 1153 | ANDQ DX,R10 |
| 1154 | ADDQ R9,R10 |
| 1155 | SHLQ $13,R13:R12 |
| 1156 | ANDQ DX,R12 |
| 1157 | ADDQ R11,R12 |
| 1158 | SHLQ $13,R15:R14 |
| 1159 | ANDQ DX,R14 |
| 1160 | ADDQ R13,R14 |
| 1161 | IMUL3Q $19,R15,CX |
| 1162 | ADDQ CX,SI |
| 1163 | MOVQ SI,CX |
| 1164 | SHRQ $51,CX |
| 1165 | ADDQ R8,CX |
| 1166 | MOVQ CX,R8 |
| 1167 | SHRQ $51,CX |
| 1168 | ANDQ DX,SI |
| 1169 | ADDQ R10,CX |
| 1170 | MOVQ CX,R9 |
| 1171 | SHRQ $51,CX |
| 1172 | ANDQ DX,R8 |
| 1173 | ADDQ R12,CX |
| 1174 | MOVQ CX,AX |
| 1175 | SHRQ $51,CX |
| 1176 | ANDQ DX,R9 |
| 1177 | ADDQ R14,CX |
| 1178 | MOVQ CX,R10 |
| 1179 | SHRQ $51,CX |
| 1180 | ANDQ DX,AX |
| 1181 | IMUL3Q $19,CX,CX |
| 1182 | ADDQ CX,SI |
| 1183 | ANDQ DX,R10 |
| 1184 | MOVQ SI,40(DI) |
| 1185 | MOVQ R8,48(DI) |
| 1186 | MOVQ R9,56(DI) |
| 1187 | MOVQ AX,64(DI) |
| 1188 | MOVQ R10,72(DI) |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1189 | MOVQ 160(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1190 | MULQ ·_121666_213(SB) |
| 1191 | SHRQ $13,AX |
| 1192 | MOVQ AX,SI |
| 1193 | MOVQ DX,CX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1194 | MOVQ 168(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1195 | MULQ ·_121666_213(SB) |
| 1196 | SHRQ $13,AX |
| 1197 | ADDQ AX,CX |
| 1198 | MOVQ DX,R8 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1199 | MOVQ 176(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1200 | MULQ ·_121666_213(SB) |
| 1201 | SHRQ $13,AX |
| 1202 | ADDQ AX,R8 |
| 1203 | MOVQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1204 | MOVQ 184(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1205 | MULQ ·_121666_213(SB) |
| 1206 | SHRQ $13,AX |
| 1207 | ADDQ AX,R9 |
| 1208 | MOVQ DX,R10 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1209 | MOVQ 192(SP),AX |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1210 | MULQ ·_121666_213(SB) |
| 1211 | SHRQ $13,AX |
| 1212 | ADDQ AX,R10 |
| 1213 | IMUL3Q $19,DX,DX |
| 1214 | ADDQ DX,SI |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1215 | ADDQ 80(SP),SI |
| 1216 | ADDQ 88(SP),CX |
| 1217 | ADDQ 96(SP),R8 |
| 1218 | ADDQ 104(SP),R9 |
| 1219 | ADDQ 112(SP),R10 |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1220 | MOVQ SI,80(DI) |
| 1221 | MOVQ CX,88(DI) |
| 1222 | MOVQ R8,96(DI) |
| 1223 | MOVQ R9,104(DI) |
| 1224 | MOVQ R10,112(DI) |
| 1225 | MOVQ 104(DI),SI |
| 1226 | IMUL3Q $19,SI,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1227 | MOVQ AX,0(SP) |
| 1228 | MULQ 176(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1229 | MOVQ AX,SI |
| 1230 | MOVQ DX,CX |
| 1231 | MOVQ 112(DI),DX |
| 1232 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1233 | MOVQ AX,8(SP) |
| 1234 | MULQ 168(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1235 | ADDQ AX,SI |
| 1236 | ADCQ DX,CX |
| 1237 | MOVQ 80(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1238 | MULQ 160(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1239 | ADDQ AX,SI |
| 1240 | ADCQ DX,CX |
| 1241 | MOVQ 80(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1242 | MULQ 168(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1243 | MOVQ AX,R8 |
| 1244 | MOVQ DX,R9 |
| 1245 | MOVQ 80(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1246 | MULQ 176(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1247 | MOVQ AX,R10 |
| 1248 | MOVQ DX,R11 |
| 1249 | MOVQ 80(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1250 | MULQ 184(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1251 | MOVQ AX,R12 |
| 1252 | MOVQ DX,R13 |
| 1253 | MOVQ 80(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1254 | MULQ 192(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1255 | MOVQ AX,R14 |
| 1256 | MOVQ DX,R15 |
| 1257 | MOVQ 88(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1258 | MULQ 160(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1259 | ADDQ AX,R8 |
| 1260 | ADCQ DX,R9 |
| 1261 | MOVQ 88(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1262 | MULQ 168(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1263 | ADDQ AX,R10 |
| 1264 | ADCQ DX,R11 |
| 1265 | MOVQ 88(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1266 | MULQ 176(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1267 | ADDQ AX,R12 |
| 1268 | ADCQ DX,R13 |
| 1269 | MOVQ 88(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1270 | MULQ 184(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1271 | ADDQ AX,R14 |
| 1272 | ADCQ DX,R15 |
| 1273 | MOVQ 88(DI),DX |
| 1274 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1275 | MULQ 192(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1276 | ADDQ AX,SI |
| 1277 | ADCQ DX,CX |
| 1278 | MOVQ 96(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1279 | MULQ 160(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1280 | ADDQ AX,R10 |
| 1281 | ADCQ DX,R11 |
| 1282 | MOVQ 96(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1283 | MULQ 168(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1284 | ADDQ AX,R12 |
| 1285 | ADCQ DX,R13 |
| 1286 | MOVQ 96(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1287 | MULQ 176(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1288 | ADDQ AX,R14 |
| 1289 | ADCQ DX,R15 |
| 1290 | MOVQ 96(DI),DX |
| 1291 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1292 | MULQ 184(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1293 | ADDQ AX,SI |
| 1294 | ADCQ DX,CX |
| 1295 | MOVQ 96(DI),DX |
| 1296 | IMUL3Q $19,DX,AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1297 | MULQ 192(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1298 | ADDQ AX,R8 |
| 1299 | ADCQ DX,R9 |
| 1300 | MOVQ 104(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1301 | MULQ 160(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1302 | ADDQ AX,R12 |
| 1303 | ADCQ DX,R13 |
| 1304 | MOVQ 104(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1305 | MULQ 168(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1306 | ADDQ AX,R14 |
| 1307 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1308 | MOVQ 0(SP),AX |
| 1309 | MULQ 184(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1310 | ADDQ AX,R8 |
| 1311 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1312 | MOVQ 0(SP),AX |
| 1313 | MULQ 192(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1314 | ADDQ AX,R10 |
| 1315 | ADCQ DX,R11 |
| 1316 | MOVQ 112(DI),AX |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1317 | MULQ 160(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1318 | ADDQ AX,R14 |
| 1319 | ADCQ DX,R15 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1320 | MOVQ 8(SP),AX |
| 1321 | MULQ 176(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1322 | ADDQ AX,R8 |
| 1323 | ADCQ DX,R9 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1324 | MOVQ 8(SP),AX |
| 1325 | MULQ 184(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1326 | ADDQ AX,R10 |
| 1327 | ADCQ DX,R11 |
Austin Clements | f620851 | 2016-10-20 16:03:43 -0400 | [diff] [blame] | 1328 | MOVQ 8(SP),AX |
| 1329 | MULQ 192(SP) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1330 | ADDQ AX,R12 |
| 1331 | ADCQ DX,R13 |
| 1332 | MOVQ ·REDMASK51(SB),DX |
| 1333 | SHLQ $13,CX:SI |
| 1334 | ANDQ DX,SI |
| 1335 | SHLQ $13,R9:R8 |
| 1336 | ANDQ DX,R8 |
| 1337 | ADDQ CX,R8 |
| 1338 | SHLQ $13,R11:R10 |
| 1339 | ANDQ DX,R10 |
| 1340 | ADDQ R9,R10 |
| 1341 | SHLQ $13,R13:R12 |
| 1342 | ANDQ DX,R12 |
| 1343 | ADDQ R11,R12 |
| 1344 | SHLQ $13,R15:R14 |
| 1345 | ANDQ DX,R14 |
| 1346 | ADDQ R13,R14 |
| 1347 | IMUL3Q $19,R15,CX |
| 1348 | ADDQ CX,SI |
| 1349 | MOVQ SI,CX |
| 1350 | SHRQ $51,CX |
| 1351 | ADDQ R8,CX |
| 1352 | MOVQ CX,R8 |
| 1353 | SHRQ $51,CX |
| 1354 | ANDQ DX,SI |
| 1355 | ADDQ R10,CX |
| 1356 | MOVQ CX,R9 |
| 1357 | SHRQ $51,CX |
| 1358 | ANDQ DX,R8 |
| 1359 | ADDQ R12,CX |
| 1360 | MOVQ CX,AX |
| 1361 | SHRQ $51,CX |
| 1362 | ANDQ DX,R9 |
| 1363 | ADDQ R14,CX |
| 1364 | MOVQ CX,R10 |
| 1365 | SHRQ $51,CX |
| 1366 | ANDQ DX,AX |
| 1367 | IMUL3Q $19,CX,CX |
| 1368 | ADDQ CX,SI |
| 1369 | ANDQ DX,R10 |
| 1370 | MOVQ SI,80(DI) |
| 1371 | MOVQ R8,88(DI) |
| 1372 | MOVQ R9,96(DI) |
| 1373 | MOVQ AX,104(DI) |
| 1374 | MOVQ R10,112(DI) |
Adam Langley | 124e52d | 2012-03-12 10:59:04 -0400 | [diff] [blame] | 1375 | RET |