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