gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

md5block_amd64.s (10477B)


      1 // Code generated by command: go run gen.go -out ../md5block_amd64.s -stubs ../md5block_amd64.go -pkg=md5simd. DO NOT EDIT.
      2 
      3 // +build !appengine
      4 // +build !noasm
      5 // +build gc
      6 
      7 // func blockScalar(dig *[4]uint32, p []byte)
      8 TEXT ·blockScalar(SB), $0-32
      9 	MOVQ p_len+16(FP), AX
     10 	MOVQ dig+0(FP), CX
     11 	MOVQ p_base+8(FP), DX
     12 	SHRQ $0x06, AX
     13 	SHLQ $0x06, AX
     14 	LEAQ (DX)(AX*1), AX
     15 	CMPQ DX, AX
     16 	JEQ  end
     17 	MOVL (CX), BX
     18 	MOVL 4(CX), BP
     19 	MOVL 8(CX), SI
     20 	MOVL 12(CX), CX
     21 	MOVL $0xffffffff, DI
     22 
     23 loop:
     24 	MOVL (DX), R8
     25 	MOVL CX, R9
     26 	MOVL BX, R10
     27 	MOVL BP, R11
     28 	MOVL SI, R12
     29 	MOVL CX, R13
     30 
     31 	// ROUND1
     32 	XORL SI, R9
     33 	ADDL $0xd76aa478, BX
     34 	ADDL R8, BX
     35 	ANDL BP, R9
     36 	XORL CX, R9
     37 	MOVL 4(DX), R8
     38 	ADDL R9, BX
     39 	ROLL $0x07, BX
     40 	MOVL SI, R9
     41 	ADDL BP, BX
     42 	XORL BP, R9
     43 	ADDL $0xe8c7b756, CX
     44 	ADDL R8, CX
     45 	ANDL BX, R9
     46 	XORL SI, R9
     47 	MOVL 8(DX), R8
     48 	ADDL R9, CX
     49 	ROLL $0x0c, CX
     50 	MOVL BP, R9
     51 	ADDL BX, CX
     52 	XORL BX, R9
     53 	ADDL $0x242070db, SI
     54 	ADDL R8, SI
     55 	ANDL CX, R9
     56 	XORL BP, R9
     57 	MOVL 12(DX), R8
     58 	ADDL R9, SI
     59 	ROLL $0x11, SI
     60 	MOVL BX, R9
     61 	ADDL CX, SI
     62 	XORL CX, R9
     63 	ADDL $0xc1bdceee, BP
     64 	ADDL R8, BP
     65 	ANDL SI, R9
     66 	XORL BX, R9
     67 	MOVL 16(DX), R8
     68 	ADDL R9, BP
     69 	ROLL $0x16, BP
     70 	MOVL CX, R9
     71 	ADDL SI, BP
     72 	XORL SI, R9
     73 	ADDL $0xf57c0faf, BX
     74 	ADDL R8, BX
     75 	ANDL BP, R9
     76 	XORL CX, R9
     77 	MOVL 20(DX), R8
     78 	ADDL R9, BX
     79 	ROLL $0x07, BX
     80 	MOVL SI, R9
     81 	ADDL BP, BX
     82 	XORL BP, R9
     83 	ADDL $0x4787c62a, CX
     84 	ADDL R8, CX
     85 	ANDL BX, R9
     86 	XORL SI, R9
     87 	MOVL 24(DX), R8
     88 	ADDL R9, CX
     89 	ROLL $0x0c, CX
     90 	MOVL BP, R9
     91 	ADDL BX, CX
     92 	XORL BX, R9
     93 	ADDL $0xa8304613, SI
     94 	ADDL R8, SI
     95 	ANDL CX, R9
     96 	XORL BP, R9
     97 	MOVL 28(DX), R8
     98 	ADDL R9, SI
     99 	ROLL $0x11, SI
    100 	MOVL BX, R9
    101 	ADDL CX, SI
    102 	XORL CX, R9
    103 	ADDL $0xfd469501, BP
    104 	ADDL R8, BP
    105 	ANDL SI, R9
    106 	XORL BX, R9
    107 	MOVL 32(DX), R8
    108 	ADDL R9, BP
    109 	ROLL $0x16, BP
    110 	MOVL CX, R9
    111 	ADDL SI, BP
    112 	XORL SI, R9
    113 	ADDL $0x698098d8, BX
    114 	ADDL R8, BX
    115 	ANDL BP, R9
    116 	XORL CX, R9
    117 	MOVL 36(DX), R8
    118 	ADDL R9, BX
    119 	ROLL $0x07, BX
    120 	MOVL SI, R9
    121 	ADDL BP, BX
    122 	XORL BP, R9
    123 	ADDL $0x8b44f7af, CX
    124 	ADDL R8, CX
    125 	ANDL BX, R9
    126 	XORL SI, R9
    127 	MOVL 40(DX), R8
    128 	ADDL R9, CX
    129 	ROLL $0x0c, CX
    130 	MOVL BP, R9
    131 	ADDL BX, CX
    132 	XORL BX, R9
    133 	ADDL $0xffff5bb1, SI
    134 	ADDL R8, SI
    135 	ANDL CX, R9
    136 	XORL BP, R9
    137 	MOVL 44(DX), R8
    138 	ADDL R9, SI
    139 	ROLL $0x11, SI
    140 	MOVL BX, R9
    141 	ADDL CX, SI
    142 	XORL CX, R9
    143 	ADDL $0x895cd7be, BP
    144 	ADDL R8, BP
    145 	ANDL SI, R9
    146 	XORL BX, R9
    147 	MOVL 48(DX), R8
    148 	ADDL R9, BP
    149 	ROLL $0x16, BP
    150 	MOVL CX, R9
    151 	ADDL SI, BP
    152 	XORL SI, R9
    153 	ADDL $0x6b901122, BX
    154 	ADDL R8, BX
    155 	ANDL BP, R9
    156 	XORL CX, R9
    157 	MOVL 52(DX), R8
    158 	ADDL R9, BX
    159 	ROLL $0x07, BX
    160 	MOVL SI, R9
    161 	ADDL BP, BX
    162 	XORL BP, R9
    163 	ADDL $0xfd987193, CX
    164 	ADDL R8, CX
    165 	ANDL BX, R9
    166 	XORL SI, R9
    167 	MOVL 56(DX), R8
    168 	ADDL R9, CX
    169 	ROLL $0x0c, CX
    170 	MOVL BP, R9
    171 	ADDL BX, CX
    172 	XORL BX, R9
    173 	ADDL $0xa679438e, SI
    174 	ADDL R8, SI
    175 	ANDL CX, R9
    176 	XORL BP, R9
    177 	MOVL 60(DX), R8
    178 	ADDL R9, SI
    179 	ROLL $0x11, SI
    180 	MOVL BX, R9
    181 	ADDL CX, SI
    182 	XORL CX, R9
    183 	ADDL $0x49b40821, BP
    184 	ADDL R8, BP
    185 	ANDL SI, R9
    186 	XORL BX, R9
    187 	MOVL 4(DX), R8
    188 	ADDL R9, BP
    189 	ROLL $0x16, BP
    190 	MOVL CX, R9
    191 	ADDL SI, BP
    192 
    193 	// ROUND2
    194 	MOVL CX, R9
    195 	MOVL CX, R14
    196 	XORL DI, R9
    197 	ADDL $0xf61e2562, BX
    198 	ADDL R8, BX
    199 	ANDL BP, R14
    200 	ANDL SI, R9
    201 	MOVL 24(DX), R8
    202 	ORL  R9, R14
    203 	MOVL SI, R9
    204 	ADDL R14, BX
    205 	MOVL SI, R14
    206 	ROLL $0x05, BX
    207 	ADDL BP, BX
    208 	XORL DI, R9
    209 	ADDL $0xc040b340, CX
    210 	ADDL R8, CX
    211 	ANDL BX, R14
    212 	ANDL BP, R9
    213 	MOVL 44(DX), R8
    214 	ORL  R9, R14
    215 	MOVL BP, R9
    216 	ADDL R14, CX
    217 	MOVL BP, R14
    218 	ROLL $0x09, CX
    219 	ADDL BX, CX
    220 	XORL DI, R9
    221 	ADDL $0x265e5a51, SI
    222 	ADDL R8, SI
    223 	ANDL CX, R14
    224 	ANDL BX, R9
    225 	MOVL (DX), R8
    226 	ORL  R9, R14
    227 	MOVL BX, R9
    228 	ADDL R14, SI
    229 	MOVL BX, R14
    230 	ROLL $0x0e, SI
    231 	ADDL CX, SI
    232 	XORL DI, R9
    233 	ADDL $0xe9b6c7aa, BP
    234 	ADDL R8, BP
    235 	ANDL SI, R14
    236 	ANDL CX, R9
    237 	MOVL 20(DX), R8
    238 	ORL  R9, R14
    239 	MOVL CX, R9
    240 	ADDL R14, BP
    241 	MOVL CX, R14
    242 	ROLL $0x14, BP
    243 	ADDL SI, BP
    244 	XORL DI, R9
    245 	ADDL $0xd62f105d, BX
    246 	ADDL R8, BX
    247 	ANDL BP, R14
    248 	ANDL SI, R9
    249 	MOVL 40(DX), R8
    250 	ORL  R9, R14
    251 	MOVL SI, R9
    252 	ADDL R14, BX
    253 	MOVL SI, R14
    254 	ROLL $0x05, BX
    255 	ADDL BP, BX
    256 	XORL DI, R9
    257 	ADDL $0x02441453, CX
    258 	ADDL R8, CX
    259 	ANDL BX, R14
    260 	ANDL BP, R9
    261 	MOVL 60(DX), R8
    262 	ORL  R9, R14
    263 	MOVL BP, R9
    264 	ADDL R14, CX
    265 	MOVL BP, R14
    266 	ROLL $0x09, CX
    267 	ADDL BX, CX
    268 	XORL DI, R9
    269 	ADDL $0xd8a1e681, SI
    270 	ADDL R8, SI
    271 	ANDL CX, R14
    272 	ANDL BX, R9
    273 	MOVL 16(DX), R8
    274 	ORL  R9, R14
    275 	MOVL BX, R9
    276 	ADDL R14, SI
    277 	MOVL BX, R14
    278 	ROLL $0x0e, SI
    279 	ADDL CX, SI
    280 	XORL DI, R9
    281 	ADDL $0xe7d3fbc8, BP
    282 	ADDL R8, BP
    283 	ANDL SI, R14
    284 	ANDL CX, R9
    285 	MOVL 36(DX), R8
    286 	ORL  R9, R14
    287 	MOVL CX, R9
    288 	ADDL R14, BP
    289 	MOVL CX, R14
    290 	ROLL $0x14, BP
    291 	ADDL SI, BP
    292 	XORL DI, R9
    293 	ADDL $0x21e1cde6, BX
    294 	ADDL R8, BX
    295 	ANDL BP, R14
    296 	ANDL SI, R9
    297 	MOVL 56(DX), R8
    298 	ORL  R9, R14
    299 	MOVL SI, R9
    300 	ADDL R14, BX
    301 	MOVL SI, R14
    302 	ROLL $0x05, BX
    303 	ADDL BP, BX
    304 	XORL DI, R9
    305 	ADDL $0xc33707d6, CX
    306 	ADDL R8, CX
    307 	ANDL BX, R14
    308 	ANDL BP, R9
    309 	MOVL 12(DX), R8
    310 	ORL  R9, R14
    311 	MOVL BP, R9
    312 	ADDL R14, CX
    313 	MOVL BP, R14
    314 	ROLL $0x09, CX
    315 	ADDL BX, CX
    316 	XORL DI, R9
    317 	ADDL $0xf4d50d87, SI
    318 	ADDL R8, SI
    319 	ANDL CX, R14
    320 	ANDL BX, R9
    321 	MOVL 32(DX), R8
    322 	ORL  R9, R14
    323 	MOVL BX, R9
    324 	ADDL R14, SI
    325 	MOVL BX, R14
    326 	ROLL $0x0e, SI
    327 	ADDL CX, SI
    328 	XORL DI, R9
    329 	ADDL $0x455a14ed, BP
    330 	ADDL R8, BP
    331 	ANDL SI, R14
    332 	ANDL CX, R9
    333 	MOVL 52(DX), R8
    334 	ORL  R9, R14
    335 	MOVL CX, R9
    336 	ADDL R14, BP
    337 	MOVL CX, R14
    338 	ROLL $0x14, BP
    339 	ADDL SI, BP
    340 	XORL DI, R9
    341 	ADDL $0xa9e3e905, BX
    342 	ADDL R8, BX
    343 	ANDL BP, R14
    344 	ANDL SI, R9
    345 	MOVL 8(DX), R8
    346 	ORL  R9, R14
    347 	MOVL SI, R9
    348 	ADDL R14, BX
    349 	MOVL SI, R14
    350 	ROLL $0x05, BX
    351 	ADDL BP, BX
    352 	XORL DI, R9
    353 	ADDL $0xfcefa3f8, CX
    354 	ADDL R8, CX
    355 	ANDL BX, R14
    356 	ANDL BP, R9
    357 	MOVL 28(DX), R8
    358 	ORL  R9, R14
    359 	MOVL BP, R9
    360 	ADDL R14, CX
    361 	MOVL BP, R14
    362 	ROLL $0x09, CX
    363 	ADDL BX, CX
    364 	XORL DI, R9
    365 	ADDL $0x676f02d9, SI
    366 	ADDL R8, SI
    367 	ANDL CX, R14
    368 	ANDL BX, R9
    369 	MOVL 48(DX), R8
    370 	ORL  R9, R14
    371 	MOVL BX, R9
    372 	ADDL R14, SI
    373 	MOVL BX, R14
    374 	ROLL $0x0e, SI
    375 	ADDL CX, SI
    376 	XORL DI, R9
    377 	ADDL $0x8d2a4c8a, BP
    378 	ADDL R8, BP
    379 	ANDL SI, R14
    380 	ANDL CX, R9
    381 	MOVL 20(DX), R8
    382 	ORL  R9, R14
    383 	MOVL CX, R9
    384 	ADDL R14, BP
    385 	MOVL CX, R14
    386 	ROLL $0x14, BP
    387 	ADDL SI, BP
    388 
    389 	// ROUND3
    390 	MOVL SI, R9
    391 	ADDL $0xfffa3942, BX
    392 	ADDL R8, BX
    393 	MOVL 32(DX), R8
    394 	XORL CX, R9
    395 	XORL BP, R9
    396 	ADDL R9, BX
    397 	ROLL $0x04, BX
    398 	MOVL BP, R9
    399 	ADDL BP, BX
    400 	ADDL $0x8771f681, CX
    401 	ADDL R8, CX
    402 	MOVL 44(DX), R8
    403 	XORL SI, R9
    404 	XORL BX, R9
    405 	ADDL R9, CX
    406 	ROLL $0x0b, CX
    407 	MOVL BX, R9
    408 	ADDL BX, CX
    409 	ADDL $0x6d9d6122, SI
    410 	ADDL R8, SI
    411 	MOVL 56(DX), R8
    412 	XORL BP, R9
    413 	XORL CX, R9
    414 	ADDL R9, SI
    415 	ROLL $0x10, SI
    416 	MOVL CX, R9
    417 	ADDL CX, SI
    418 	ADDL $0xfde5380c, BP
    419 	ADDL R8, BP
    420 	MOVL 4(DX), R8
    421 	XORL BX, R9
    422 	XORL SI, R9
    423 	ADDL R9, BP
    424 	ROLL $0x17, BP
    425 	MOVL SI, R9
    426 	ADDL SI, BP
    427 	ADDL $0xa4beea44, BX
    428 	ADDL R8, BX
    429 	MOVL 16(DX), R8
    430 	XORL CX, R9
    431 	XORL BP, R9
    432 	ADDL R9, BX
    433 	ROLL $0x04, BX
    434 	MOVL BP, R9
    435 	ADDL BP, BX
    436 	ADDL $0x4bdecfa9, CX
    437 	ADDL R8, CX
    438 	MOVL 28(DX), R8
    439 	XORL SI, R9
    440 	XORL BX, R9
    441 	ADDL R9, CX
    442 	ROLL $0x0b, CX
    443 	MOVL BX, R9
    444 	ADDL BX, CX
    445 	ADDL $0xf6bb4b60, SI
    446 	ADDL R8, SI
    447 	MOVL 40(DX), R8
    448 	XORL BP, R9
    449 	XORL CX, R9
    450 	ADDL R9, SI
    451 	ROLL $0x10, SI
    452 	MOVL CX, R9
    453 	ADDL CX, SI
    454 	ADDL $0xbebfbc70, BP
    455 	ADDL R8, BP
    456 	MOVL 52(DX), R8
    457 	XORL BX, R9
    458 	XORL SI, R9
    459 	ADDL R9, BP
    460 	ROLL $0x17, BP
    461 	MOVL SI, R9
    462 	ADDL SI, BP
    463 	ADDL $0x289b7ec6, BX
    464 	ADDL R8, BX
    465 	MOVL (DX), R8
    466 	XORL CX, R9
    467 	XORL BP, R9
    468 	ADDL R9, BX
    469 	ROLL $0x04, BX
    470 	MOVL BP, R9
    471 	ADDL BP, BX
    472 	ADDL $0xeaa127fa, CX
    473 	ADDL R8, CX
    474 	MOVL 12(DX), R8
    475 	XORL SI, R9
    476 	XORL BX, R9
    477 	ADDL R9, CX
    478 	ROLL $0x0b, CX
    479 	MOVL BX, R9
    480 	ADDL BX, CX
    481 	ADDL $0xd4ef3085, SI
    482 	ADDL R8, SI
    483 	MOVL 24(DX), R8
    484 	XORL BP, R9
    485 	XORL CX, R9
    486 	ADDL R9, SI
    487 	ROLL $0x10, SI
    488 	MOVL CX, R9
    489 	ADDL CX, SI
    490 	ADDL $0x04881d05, BP
    491 	ADDL R8, BP
    492 	MOVL 36(DX), R8
    493 	XORL BX, R9
    494 	XORL SI, R9
    495 	ADDL R9, BP
    496 	ROLL $0x17, BP
    497 	MOVL SI, R9
    498 	ADDL SI, BP
    499 	ADDL $0xd9d4d039, BX
    500 	ADDL R8, BX
    501 	MOVL 48(DX), R8
    502 	XORL CX, R9
    503 	XORL BP, R9
    504 	ADDL R9, BX
    505 	ROLL $0x04, BX
    506 	MOVL BP, R9
    507 	ADDL BP, BX
    508 	ADDL $0xe6db99e5, CX
    509 	ADDL R8, CX
    510 	MOVL 60(DX), R8
    511 	XORL SI, R9
    512 	XORL BX, R9
    513 	ADDL R9, CX
    514 	ROLL $0x0b, CX
    515 	MOVL BX, R9
    516 	ADDL BX, CX
    517 	ADDL $0x1fa27cf8, SI
    518 	ADDL R8, SI
    519 	MOVL 8(DX), R8
    520 	XORL BP, R9
    521 	XORL CX, R9
    522 	ADDL R9, SI
    523 	ROLL $0x10, SI
    524 	MOVL CX, R9
    525 	ADDL CX, SI
    526 	ADDL $0xc4ac5665, BP
    527 	ADDL R8, BP
    528 	MOVL (DX), R8
    529 	XORL BX, R9
    530 	XORL SI, R9
    531 	ADDL R9, BP
    532 	ROLL $0x17, BP
    533 	MOVL SI, R9
    534 	ADDL SI, BP
    535 
    536 	// ROUND4
    537 	MOVL DI, R9
    538 	XORL CX, R9
    539 	ADDL $0xf4292244, BX
    540 	ADDL R8, BX
    541 	ORL  BP, R9
    542 	XORL SI, R9
    543 	ADDL R9, BX
    544 	MOVL 28(DX), R8
    545 	MOVL DI, R9
    546 	ROLL $0x06, BX
    547 	XORL SI, R9
    548 	ADDL BP, BX
    549 	ADDL $0x432aff97, CX
    550 	ADDL R8, CX
    551 	ORL  BX, R9
    552 	XORL BP, R9
    553 	ADDL R9, CX
    554 	MOVL 56(DX), R8
    555 	MOVL DI, R9
    556 	ROLL $0x0a, CX
    557 	XORL BP, R9
    558 	ADDL BX, CX
    559 	ADDL $0xab9423a7, SI
    560 	ADDL R8, SI
    561 	ORL  CX, R9
    562 	XORL BX, R9
    563 	ADDL R9, SI
    564 	MOVL 20(DX), R8
    565 	MOVL DI, R9
    566 	ROLL $0x0f, SI
    567 	XORL BX, R9
    568 	ADDL CX, SI
    569 	ADDL $0xfc93a039, BP
    570 	ADDL R8, BP
    571 	ORL  SI, R9
    572 	XORL CX, R9
    573 	ADDL R9, BP
    574 	MOVL 48(DX), R8
    575 	MOVL DI, R9
    576 	ROLL $0x15, BP
    577 	XORL CX, R9
    578 	ADDL SI, BP
    579 	ADDL $0x655b59c3, BX
    580 	ADDL R8, BX
    581 	ORL  BP, R9
    582 	XORL SI, R9
    583 	ADDL R9, BX
    584 	MOVL 12(DX), R8
    585 	MOVL DI, R9
    586 	ROLL $0x06, BX
    587 	XORL SI, R9
    588 	ADDL BP, BX
    589 	ADDL $0x8f0ccc92, CX
    590 	ADDL R8, CX
    591 	ORL  BX, R9
    592 	XORL BP, R9
    593 	ADDL R9, CX
    594 	MOVL 40(DX), R8
    595 	MOVL DI, R9
    596 	ROLL $0x0a, CX
    597 	XORL BP, R9
    598 	ADDL BX, CX
    599 	ADDL $0xffeff47d, SI
    600 	ADDL R8, SI
    601 	ORL  CX, R9
    602 	XORL BX, R9
    603 	ADDL R9, SI
    604 	MOVL 4(DX), R8
    605 	MOVL DI, R9
    606 	ROLL $0x0f, SI
    607 	XORL BX, R9
    608 	ADDL CX, SI
    609 	ADDL $0x85845dd1, BP
    610 	ADDL R8, BP
    611 	ORL  SI, R9
    612 	XORL CX, R9
    613 	ADDL R9, BP
    614 	MOVL 32(DX), R8
    615 	MOVL DI, R9
    616 	ROLL $0x15, BP
    617 	XORL CX, R9
    618 	ADDL SI, BP
    619 	ADDL $0x6fa87e4f, BX
    620 	ADDL R8, BX
    621 	ORL  BP, R9
    622 	XORL SI, R9
    623 	ADDL R9, BX
    624 	MOVL 60(DX), R8
    625 	MOVL DI, R9
    626 	ROLL $0x06, BX
    627 	XORL SI, R9
    628 	ADDL BP, BX
    629 	ADDL $0xfe2ce6e0, CX
    630 	ADDL R8, CX
    631 	ORL  BX, R9
    632 	XORL BP, R9
    633 	ADDL R9, CX
    634 	MOVL 24(DX), R8
    635 	MOVL DI, R9
    636 	ROLL $0x0a, CX
    637 	XORL BP, R9
    638 	ADDL BX, CX
    639 	ADDL $0xa3014314, SI
    640 	ADDL R8, SI
    641 	ORL  CX, R9
    642 	XORL BX, R9
    643 	ADDL R9, SI
    644 	MOVL 52(DX), R8
    645 	MOVL DI, R9
    646 	ROLL $0x0f, SI
    647 	XORL BX, R9
    648 	ADDL CX, SI
    649 	ADDL $0x4e0811a1, BP
    650 	ADDL R8, BP
    651 	ORL  SI, R9
    652 	XORL CX, R9
    653 	ADDL R9, BP
    654 	MOVL 16(DX), R8
    655 	MOVL DI, R9
    656 	ROLL $0x15, BP
    657 	XORL CX, R9
    658 	ADDL SI, BP
    659 	ADDL $0xf7537e82, BX
    660 	ADDL R8, BX
    661 	ORL  BP, R9
    662 	XORL SI, R9
    663 	ADDL R9, BX
    664 	MOVL 44(DX), R8
    665 	MOVL DI, R9
    666 	ROLL $0x06, BX
    667 	XORL SI, R9
    668 	ADDL BP, BX
    669 	ADDL $0xbd3af235, CX
    670 	ADDL R8, CX
    671 	ORL  BX, R9
    672 	XORL BP, R9
    673 	ADDL R9, CX
    674 	MOVL 8(DX), R8
    675 	MOVL DI, R9
    676 	ROLL $0x0a, CX
    677 	XORL BP, R9
    678 	ADDL BX, CX
    679 	ADDL $0x2ad7d2bb, SI
    680 	ADDL R8, SI
    681 	ORL  CX, R9
    682 	XORL BX, R9
    683 	ADDL R9, SI
    684 	MOVL 36(DX), R8
    685 	MOVL DI, R9
    686 	ROLL $0x0f, SI
    687 	XORL BX, R9
    688 	ADDL CX, SI
    689 	ADDL $0xeb86d391, BP
    690 	ADDL R8, BP
    691 	ORL  SI, R9
    692 	XORL CX, R9
    693 	ADDL R9, BP
    694 	ROLL $0x15, BP
    695 	ADDL SI, BP
    696 	ADDL R10, BX
    697 	ADDL R11, BP
    698 	ADDL R12, SI
    699 	ADDL R13, CX
    700 
    701 	// Prepare next loop
    702 	ADDQ $0x40, DX
    703 	CMPQ DX, AX
    704 	JB   loop
    705 
    706 	// Write output
    707 	MOVQ dig+0(FP), AX
    708 	MOVL BX, (AX)
    709 	MOVL BP, 4(AX)
    710 	MOVL SI, 8(AX)
    711 	MOVL CX, 12(AX)
    712 
    713 end:
    714 	RET