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