1*e0ea3921Schristos#include "mips_arch.h" 276c4f342Schristos 376c4f342Schristos.text 476c4f342Schristos 576c4f342Schristos.set noat 676c4f342Schristos.set noreorder 776c4f342Schristos.align 5 876c4f342Schristos.globl sha1_block_data_order 976c4f342Schristos.ent sha1_block_data_order 1076c4f342Schristossha1_block_data_order: 1176c4f342Schristos .frame $29,16*4,$31 1276c4f342Schristos .mask 0xc0ff0000,-4 1376c4f342Schristos .set noreorder 14*e0ea3921Schristos subu $29,16*4 1576c4f342Schristos sw $31,(16-1)*4($29) 1676c4f342Schristos sw $30,(16-2)*4($29) 1776c4f342Schristos sw $23,(16-3)*4($29) 1876c4f342Schristos sw $22,(16-4)*4($29) 1976c4f342Schristos sw $21,(16-5)*4($29) 2076c4f342Schristos sw $20,(16-6)*4($29) 2176c4f342Schristos sw $19,(16-7)*4($29) 2276c4f342Schristos sw $18,(16-8)*4($29) 2376c4f342Schristos sw $17,(16-9)*4($29) 2476c4f342Schristos sw $16,(16-10)*4($29) 2576c4f342Schristos sll $6,6 26*e0ea3921Schristos addu $6,$5 2776c4f342Schristos sw $6,0($29) 2876c4f342Schristos lw $1,0($4) 2976c4f342Schristos lw $2,4($4) 3076c4f342Schristos lw $3,8($4) 3176c4f342Schristos lw $7,12($4) 3276c4f342Schristos b .Loop 3376c4f342Schristos lw $24,16($4) 3476c4f342Schristos.align 4 3576c4f342Schristos.Loop: 3676c4f342Schristos .set reorder 37*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 38*e0ea3921Schristos lui $31,0x5a82 39*e0ea3921Schristos lw $8,($5) 40*e0ea3921Schristos ori $31,0x7999 # K_00_19 41*e0ea3921Schristos#else 4276c4f342Schristos lwl $8,3($5) 4376c4f342Schristos lui $31,0x5a82 4476c4f342Schristos lwr $8,0($5) 4576c4f342Schristos ori $31,0x7999 # K_00_19 46*e0ea3921Schristos#endif 4776c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 4876c4f342Schristos wsbh $8,$8 # byte swap(0) 4976c4f342Schristos rotr $8,$8,16 5076c4f342Schristos#else 5176c4f342Schristos srl $25,$8,24 # byte swap(0) 5276c4f342Schristos srl $6,$8,8 5376c4f342Schristos andi $30,$8,0xFF00 5476c4f342Schristos sll $8,$8,24 5576c4f342Schristos andi $6,0xFF00 5676c4f342Schristos sll $30,$30,8 5776c4f342Schristos or $8,$25 5876c4f342Schristos or $6,$30 5976c4f342Schristos or $8,$6 6076c4f342Schristos#endif 6176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 6276c4f342Schristos addu $24,$31 # 0 6376c4f342Schristos xor $25,$3,$7 6476c4f342Schristos rotr $6,$1,27 6576c4f342Schristos and $25,$2 6676c4f342Schristos addu $24,$6 67*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 68*e0ea3921Schristos lw $9,1*4($5) 69*e0ea3921Schristos#else 70*e0ea3921Schristos lwl $9,1*4+3($5) 7176c4f342Schristos lwr $9,1*4+0($5) 72*e0ea3921Schristos#endif 7376c4f342Schristos xor $25,$7 7476c4f342Schristos addu $24,$8 7576c4f342Schristos rotr $2,$2,2 7676c4f342Schristos addu $24,$25 7776c4f342Schristos#else 7876c4f342Schristos lwl $9,1*4+3($5) 7976c4f342Schristos sll $25,$1,5 # 0 8076c4f342Schristos addu $24,$31 8176c4f342Schristos lwr $9,1*4+0($5) 8276c4f342Schristos srl $6,$1,27 8376c4f342Schristos addu $24,$25 8476c4f342Schristos xor $25,$3,$7 8576c4f342Schristos addu $24,$6 8676c4f342Schristos sll $30,$2,30 8776c4f342Schristos and $25,$2 8876c4f342Schristos srl $2,$2,2 8976c4f342Schristos xor $25,$7 9076c4f342Schristos addu $24,$8 9176c4f342Schristos or $2,$30 9276c4f342Schristos addu $24,$25 9376c4f342Schristos#endif 9476c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 9576c4f342Schristos wsbh $9,$9 # byte swap(1) 9676c4f342Schristos rotr $9,$9,16 9776c4f342Schristos#else 9876c4f342Schristos srl $25,$9,24 # byte swap(1) 9976c4f342Schristos srl $6,$9,8 10076c4f342Schristos andi $30,$9,0xFF00 10176c4f342Schristos sll $9,$9,24 10276c4f342Schristos andi $6,0xFF00 10376c4f342Schristos sll $30,$30,8 10476c4f342Schristos or $9,$25 10576c4f342Schristos or $6,$30 10676c4f342Schristos or $9,$6 10776c4f342Schristos#endif 10876c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 10976c4f342Schristos addu $7,$31 # 1 11076c4f342Schristos xor $25,$2,$3 11176c4f342Schristos rotr $6,$24,27 11276c4f342Schristos and $25,$1 11376c4f342Schristos addu $7,$6 114*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 115*e0ea3921Schristos lw $10,2*4($5) 116*e0ea3921Schristos#else 117*e0ea3921Schristos lwl $10,2*4+3($5) 11876c4f342Schristos lwr $10,2*4+0($5) 119*e0ea3921Schristos#endif 12076c4f342Schristos xor $25,$3 12176c4f342Schristos addu $7,$9 12276c4f342Schristos rotr $1,$1,2 12376c4f342Schristos addu $7,$25 12476c4f342Schristos#else 12576c4f342Schristos lwl $10,2*4+3($5) 12676c4f342Schristos sll $25,$24,5 # 1 12776c4f342Schristos addu $7,$31 12876c4f342Schristos lwr $10,2*4+0($5) 12976c4f342Schristos srl $6,$24,27 13076c4f342Schristos addu $7,$25 13176c4f342Schristos xor $25,$2,$3 13276c4f342Schristos addu $7,$6 13376c4f342Schristos sll $30,$1,30 13476c4f342Schristos and $25,$1 13576c4f342Schristos srl $1,$1,2 13676c4f342Schristos xor $25,$3 13776c4f342Schristos addu $7,$9 13876c4f342Schristos or $1,$30 13976c4f342Schristos addu $7,$25 14076c4f342Schristos#endif 14176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 14276c4f342Schristos wsbh $10,$10 # byte swap(2) 14376c4f342Schristos rotr $10,$10,16 14476c4f342Schristos#else 14576c4f342Schristos srl $25,$10,24 # byte swap(2) 14676c4f342Schristos srl $6,$10,8 14776c4f342Schristos andi $30,$10,0xFF00 14876c4f342Schristos sll $10,$10,24 14976c4f342Schristos andi $6,0xFF00 15076c4f342Schristos sll $30,$30,8 15176c4f342Schristos or $10,$25 15276c4f342Schristos or $6,$30 15376c4f342Schristos or $10,$6 15476c4f342Schristos#endif 15576c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 15676c4f342Schristos addu $3,$31 # 2 15776c4f342Schristos xor $25,$1,$2 15876c4f342Schristos rotr $6,$7,27 15976c4f342Schristos and $25,$24 16076c4f342Schristos addu $3,$6 161*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 162*e0ea3921Schristos lw $11,3*4($5) 163*e0ea3921Schristos#else 164*e0ea3921Schristos lwl $11,3*4+3($5) 16576c4f342Schristos lwr $11,3*4+0($5) 166*e0ea3921Schristos#endif 16776c4f342Schristos xor $25,$2 16876c4f342Schristos addu $3,$10 16976c4f342Schristos rotr $24,$24,2 17076c4f342Schristos addu $3,$25 17176c4f342Schristos#else 17276c4f342Schristos lwl $11,3*4+3($5) 17376c4f342Schristos sll $25,$7,5 # 2 17476c4f342Schristos addu $3,$31 17576c4f342Schristos lwr $11,3*4+0($5) 17676c4f342Schristos srl $6,$7,27 17776c4f342Schristos addu $3,$25 17876c4f342Schristos xor $25,$1,$2 17976c4f342Schristos addu $3,$6 18076c4f342Schristos sll $30,$24,30 18176c4f342Schristos and $25,$24 18276c4f342Schristos srl $24,$24,2 18376c4f342Schristos xor $25,$2 18476c4f342Schristos addu $3,$10 18576c4f342Schristos or $24,$30 18676c4f342Schristos addu $3,$25 18776c4f342Schristos#endif 18876c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 18976c4f342Schristos wsbh $11,$11 # byte swap(3) 19076c4f342Schristos rotr $11,$11,16 19176c4f342Schristos#else 19276c4f342Schristos srl $25,$11,24 # byte swap(3) 19376c4f342Schristos srl $6,$11,8 19476c4f342Schristos andi $30,$11,0xFF00 19576c4f342Schristos sll $11,$11,24 19676c4f342Schristos andi $6,0xFF00 19776c4f342Schristos sll $30,$30,8 19876c4f342Schristos or $11,$25 19976c4f342Schristos or $6,$30 20076c4f342Schristos or $11,$6 20176c4f342Schristos#endif 20276c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 20376c4f342Schristos addu $2,$31 # 3 20476c4f342Schristos xor $25,$24,$1 20576c4f342Schristos rotr $6,$3,27 20676c4f342Schristos and $25,$7 20776c4f342Schristos addu $2,$6 208*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 209*e0ea3921Schristos lw $12,4*4($5) 210*e0ea3921Schristos#else 211*e0ea3921Schristos lwl $12,4*4+3($5) 21276c4f342Schristos lwr $12,4*4+0($5) 213*e0ea3921Schristos#endif 21476c4f342Schristos xor $25,$1 21576c4f342Schristos addu $2,$11 21676c4f342Schristos rotr $7,$7,2 21776c4f342Schristos addu $2,$25 21876c4f342Schristos#else 21976c4f342Schristos lwl $12,4*4+3($5) 22076c4f342Schristos sll $25,$3,5 # 3 22176c4f342Schristos addu $2,$31 22276c4f342Schristos lwr $12,4*4+0($5) 22376c4f342Schristos srl $6,$3,27 22476c4f342Schristos addu $2,$25 22576c4f342Schristos xor $25,$24,$1 22676c4f342Schristos addu $2,$6 22776c4f342Schristos sll $30,$7,30 22876c4f342Schristos and $25,$7 22976c4f342Schristos srl $7,$7,2 23076c4f342Schristos xor $25,$1 23176c4f342Schristos addu $2,$11 23276c4f342Schristos or $7,$30 23376c4f342Schristos addu $2,$25 23476c4f342Schristos#endif 23576c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 23676c4f342Schristos wsbh $12,$12 # byte swap(4) 23776c4f342Schristos rotr $12,$12,16 23876c4f342Schristos#else 23976c4f342Schristos srl $25,$12,24 # byte swap(4) 24076c4f342Schristos srl $6,$12,8 24176c4f342Schristos andi $30,$12,0xFF00 24276c4f342Schristos sll $12,$12,24 24376c4f342Schristos andi $6,0xFF00 24476c4f342Schristos sll $30,$30,8 24576c4f342Schristos or $12,$25 24676c4f342Schristos or $6,$30 24776c4f342Schristos or $12,$6 24876c4f342Schristos#endif 24976c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 25076c4f342Schristos addu $1,$31 # 4 25176c4f342Schristos xor $25,$7,$24 25276c4f342Schristos rotr $6,$2,27 25376c4f342Schristos and $25,$3 25476c4f342Schristos addu $1,$6 255*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 256*e0ea3921Schristos lw $13,5*4($5) 257*e0ea3921Schristos#else 258*e0ea3921Schristos lwl $13,5*4+3($5) 25976c4f342Schristos lwr $13,5*4+0($5) 260*e0ea3921Schristos#endif 26176c4f342Schristos xor $25,$24 26276c4f342Schristos addu $1,$12 26376c4f342Schristos rotr $3,$3,2 26476c4f342Schristos addu $1,$25 26576c4f342Schristos#else 26676c4f342Schristos lwl $13,5*4+3($5) 26776c4f342Schristos sll $25,$2,5 # 4 26876c4f342Schristos addu $1,$31 26976c4f342Schristos lwr $13,5*4+0($5) 27076c4f342Schristos srl $6,$2,27 27176c4f342Schristos addu $1,$25 27276c4f342Schristos xor $25,$7,$24 27376c4f342Schristos addu $1,$6 27476c4f342Schristos sll $30,$3,30 27576c4f342Schristos and $25,$3 27676c4f342Schristos srl $3,$3,2 27776c4f342Schristos xor $25,$24 27876c4f342Schristos addu $1,$12 27976c4f342Schristos or $3,$30 28076c4f342Schristos addu $1,$25 28176c4f342Schristos#endif 28276c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 28376c4f342Schristos wsbh $13,$13 # byte swap(5) 28476c4f342Schristos rotr $13,$13,16 28576c4f342Schristos#else 28676c4f342Schristos srl $25,$13,24 # byte swap(5) 28776c4f342Schristos srl $6,$13,8 28876c4f342Schristos andi $30,$13,0xFF00 28976c4f342Schristos sll $13,$13,24 29076c4f342Schristos andi $6,0xFF00 29176c4f342Schristos sll $30,$30,8 29276c4f342Schristos or $13,$25 29376c4f342Schristos or $6,$30 29476c4f342Schristos or $13,$6 29576c4f342Schristos#endif 29676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 29776c4f342Schristos addu $24,$31 # 5 29876c4f342Schristos xor $25,$3,$7 29976c4f342Schristos rotr $6,$1,27 30076c4f342Schristos and $25,$2 30176c4f342Schristos addu $24,$6 302*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 303*e0ea3921Schristos lw $14,6*4($5) 304*e0ea3921Schristos#else 305*e0ea3921Schristos lwl $14,6*4+3($5) 30676c4f342Schristos lwr $14,6*4+0($5) 307*e0ea3921Schristos#endif 30876c4f342Schristos xor $25,$7 30976c4f342Schristos addu $24,$13 31076c4f342Schristos rotr $2,$2,2 31176c4f342Schristos addu $24,$25 31276c4f342Schristos#else 31376c4f342Schristos lwl $14,6*4+3($5) 31476c4f342Schristos sll $25,$1,5 # 5 31576c4f342Schristos addu $24,$31 31676c4f342Schristos lwr $14,6*4+0($5) 31776c4f342Schristos srl $6,$1,27 31876c4f342Schristos addu $24,$25 31976c4f342Schristos xor $25,$3,$7 32076c4f342Schristos addu $24,$6 32176c4f342Schristos sll $30,$2,30 32276c4f342Schristos and $25,$2 32376c4f342Schristos srl $2,$2,2 32476c4f342Schristos xor $25,$7 32576c4f342Schristos addu $24,$13 32676c4f342Schristos or $2,$30 32776c4f342Schristos addu $24,$25 32876c4f342Schristos#endif 32976c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 33076c4f342Schristos wsbh $14,$14 # byte swap(6) 33176c4f342Schristos rotr $14,$14,16 33276c4f342Schristos#else 33376c4f342Schristos srl $25,$14,24 # byte swap(6) 33476c4f342Schristos srl $6,$14,8 33576c4f342Schristos andi $30,$14,0xFF00 33676c4f342Schristos sll $14,$14,24 33776c4f342Schristos andi $6,0xFF00 33876c4f342Schristos sll $30,$30,8 33976c4f342Schristos or $14,$25 34076c4f342Schristos or $6,$30 34176c4f342Schristos or $14,$6 34276c4f342Schristos#endif 34376c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 34476c4f342Schristos addu $7,$31 # 6 34576c4f342Schristos xor $25,$2,$3 34676c4f342Schristos rotr $6,$24,27 34776c4f342Schristos and $25,$1 34876c4f342Schristos addu $7,$6 349*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 350*e0ea3921Schristos lw $15,7*4($5) 351*e0ea3921Schristos#else 352*e0ea3921Schristos lwl $15,7*4+3($5) 35376c4f342Schristos lwr $15,7*4+0($5) 354*e0ea3921Schristos#endif 35576c4f342Schristos xor $25,$3 35676c4f342Schristos addu $7,$14 35776c4f342Schristos rotr $1,$1,2 35876c4f342Schristos addu $7,$25 35976c4f342Schristos#else 36076c4f342Schristos lwl $15,7*4+3($5) 36176c4f342Schristos sll $25,$24,5 # 6 36276c4f342Schristos addu $7,$31 36376c4f342Schristos lwr $15,7*4+0($5) 36476c4f342Schristos srl $6,$24,27 36576c4f342Schristos addu $7,$25 36676c4f342Schristos xor $25,$2,$3 36776c4f342Schristos addu $7,$6 36876c4f342Schristos sll $30,$1,30 36976c4f342Schristos and $25,$1 37076c4f342Schristos srl $1,$1,2 37176c4f342Schristos xor $25,$3 37276c4f342Schristos addu $7,$14 37376c4f342Schristos or $1,$30 37476c4f342Schristos addu $7,$25 37576c4f342Schristos#endif 37676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 37776c4f342Schristos wsbh $15,$15 # byte swap(7) 37876c4f342Schristos rotr $15,$15,16 37976c4f342Schristos#else 38076c4f342Schristos srl $25,$15,24 # byte swap(7) 38176c4f342Schristos srl $6,$15,8 38276c4f342Schristos andi $30,$15,0xFF00 38376c4f342Schristos sll $15,$15,24 38476c4f342Schristos andi $6,0xFF00 38576c4f342Schristos sll $30,$30,8 38676c4f342Schristos or $15,$25 38776c4f342Schristos or $6,$30 38876c4f342Schristos or $15,$6 38976c4f342Schristos#endif 39076c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 39176c4f342Schristos addu $3,$31 # 7 39276c4f342Schristos xor $25,$1,$2 39376c4f342Schristos rotr $6,$7,27 39476c4f342Schristos and $25,$24 39576c4f342Schristos addu $3,$6 396*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 397*e0ea3921Schristos lw $16,8*4($5) 398*e0ea3921Schristos#else 399*e0ea3921Schristos lwl $16,8*4+3($5) 40076c4f342Schristos lwr $16,8*4+0($5) 401*e0ea3921Schristos#endif 40276c4f342Schristos xor $25,$2 40376c4f342Schristos addu $3,$15 40476c4f342Schristos rotr $24,$24,2 40576c4f342Schristos addu $3,$25 40676c4f342Schristos#else 40776c4f342Schristos lwl $16,8*4+3($5) 40876c4f342Schristos sll $25,$7,5 # 7 40976c4f342Schristos addu $3,$31 41076c4f342Schristos lwr $16,8*4+0($5) 41176c4f342Schristos srl $6,$7,27 41276c4f342Schristos addu $3,$25 41376c4f342Schristos xor $25,$1,$2 41476c4f342Schristos addu $3,$6 41576c4f342Schristos sll $30,$24,30 41676c4f342Schristos and $25,$24 41776c4f342Schristos srl $24,$24,2 41876c4f342Schristos xor $25,$2 41976c4f342Schristos addu $3,$15 42076c4f342Schristos or $24,$30 42176c4f342Schristos addu $3,$25 42276c4f342Schristos#endif 42376c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 42476c4f342Schristos wsbh $16,$16 # byte swap(8) 42576c4f342Schristos rotr $16,$16,16 42676c4f342Schristos#else 42776c4f342Schristos srl $25,$16,24 # byte swap(8) 42876c4f342Schristos srl $6,$16,8 42976c4f342Schristos andi $30,$16,0xFF00 43076c4f342Schristos sll $16,$16,24 43176c4f342Schristos andi $6,0xFF00 43276c4f342Schristos sll $30,$30,8 43376c4f342Schristos or $16,$25 43476c4f342Schristos or $6,$30 43576c4f342Schristos or $16,$6 43676c4f342Schristos#endif 43776c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 43876c4f342Schristos addu $2,$31 # 8 43976c4f342Schristos xor $25,$24,$1 44076c4f342Schristos rotr $6,$3,27 44176c4f342Schristos and $25,$7 44276c4f342Schristos addu $2,$6 443*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 444*e0ea3921Schristos lw $17,9*4($5) 445*e0ea3921Schristos#else 446*e0ea3921Schristos lwl $17,9*4+3($5) 44776c4f342Schristos lwr $17,9*4+0($5) 448*e0ea3921Schristos#endif 44976c4f342Schristos xor $25,$1 45076c4f342Schristos addu $2,$16 45176c4f342Schristos rotr $7,$7,2 45276c4f342Schristos addu $2,$25 45376c4f342Schristos#else 45476c4f342Schristos lwl $17,9*4+3($5) 45576c4f342Schristos sll $25,$3,5 # 8 45676c4f342Schristos addu $2,$31 45776c4f342Schristos lwr $17,9*4+0($5) 45876c4f342Schristos srl $6,$3,27 45976c4f342Schristos addu $2,$25 46076c4f342Schristos xor $25,$24,$1 46176c4f342Schristos addu $2,$6 46276c4f342Schristos sll $30,$7,30 46376c4f342Schristos and $25,$7 46476c4f342Schristos srl $7,$7,2 46576c4f342Schristos xor $25,$1 46676c4f342Schristos addu $2,$16 46776c4f342Schristos or $7,$30 46876c4f342Schristos addu $2,$25 46976c4f342Schristos#endif 47076c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 47176c4f342Schristos wsbh $17,$17 # byte swap(9) 47276c4f342Schristos rotr $17,$17,16 47376c4f342Schristos#else 47476c4f342Schristos srl $25,$17,24 # byte swap(9) 47576c4f342Schristos srl $6,$17,8 47676c4f342Schristos andi $30,$17,0xFF00 47776c4f342Schristos sll $17,$17,24 47876c4f342Schristos andi $6,0xFF00 47976c4f342Schristos sll $30,$30,8 48076c4f342Schristos or $17,$25 48176c4f342Schristos or $6,$30 48276c4f342Schristos or $17,$6 48376c4f342Schristos#endif 48476c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 48576c4f342Schristos addu $1,$31 # 9 48676c4f342Schristos xor $25,$7,$24 48776c4f342Schristos rotr $6,$2,27 48876c4f342Schristos and $25,$3 48976c4f342Schristos addu $1,$6 490*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 491*e0ea3921Schristos lw $18,10*4($5) 492*e0ea3921Schristos#else 493*e0ea3921Schristos lwl $18,10*4+3($5) 49476c4f342Schristos lwr $18,10*4+0($5) 495*e0ea3921Schristos#endif 49676c4f342Schristos xor $25,$24 49776c4f342Schristos addu $1,$17 49876c4f342Schristos rotr $3,$3,2 49976c4f342Schristos addu $1,$25 50076c4f342Schristos#else 50176c4f342Schristos lwl $18,10*4+3($5) 50276c4f342Schristos sll $25,$2,5 # 9 50376c4f342Schristos addu $1,$31 50476c4f342Schristos lwr $18,10*4+0($5) 50576c4f342Schristos srl $6,$2,27 50676c4f342Schristos addu $1,$25 50776c4f342Schristos xor $25,$7,$24 50876c4f342Schristos addu $1,$6 50976c4f342Schristos sll $30,$3,30 51076c4f342Schristos and $25,$3 51176c4f342Schristos srl $3,$3,2 51276c4f342Schristos xor $25,$24 51376c4f342Schristos addu $1,$17 51476c4f342Schristos or $3,$30 51576c4f342Schristos addu $1,$25 51676c4f342Schristos#endif 51776c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 51876c4f342Schristos wsbh $18,$18 # byte swap(10) 51976c4f342Schristos rotr $18,$18,16 52076c4f342Schristos#else 52176c4f342Schristos srl $25,$18,24 # byte swap(10) 52276c4f342Schristos srl $6,$18,8 52376c4f342Schristos andi $30,$18,0xFF00 52476c4f342Schristos sll $18,$18,24 52576c4f342Schristos andi $6,0xFF00 52676c4f342Schristos sll $30,$30,8 52776c4f342Schristos or $18,$25 52876c4f342Schristos or $6,$30 52976c4f342Schristos or $18,$6 53076c4f342Schristos#endif 53176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 53276c4f342Schristos addu $24,$31 # 10 53376c4f342Schristos xor $25,$3,$7 53476c4f342Schristos rotr $6,$1,27 53576c4f342Schristos and $25,$2 53676c4f342Schristos addu $24,$6 537*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 538*e0ea3921Schristos lw $19,11*4($5) 539*e0ea3921Schristos#else 540*e0ea3921Schristos lwl $19,11*4+3($5) 54176c4f342Schristos lwr $19,11*4+0($5) 542*e0ea3921Schristos#endif 54376c4f342Schristos xor $25,$7 54476c4f342Schristos addu $24,$18 54576c4f342Schristos rotr $2,$2,2 54676c4f342Schristos addu $24,$25 54776c4f342Schristos#else 54876c4f342Schristos lwl $19,11*4+3($5) 54976c4f342Schristos sll $25,$1,5 # 10 55076c4f342Schristos addu $24,$31 55176c4f342Schristos lwr $19,11*4+0($5) 55276c4f342Schristos srl $6,$1,27 55376c4f342Schristos addu $24,$25 55476c4f342Schristos xor $25,$3,$7 55576c4f342Schristos addu $24,$6 55676c4f342Schristos sll $30,$2,30 55776c4f342Schristos and $25,$2 55876c4f342Schristos srl $2,$2,2 55976c4f342Schristos xor $25,$7 56076c4f342Schristos addu $24,$18 56176c4f342Schristos or $2,$30 56276c4f342Schristos addu $24,$25 56376c4f342Schristos#endif 56476c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 56576c4f342Schristos wsbh $19,$19 # byte swap(11) 56676c4f342Schristos rotr $19,$19,16 56776c4f342Schristos#else 56876c4f342Schristos srl $25,$19,24 # byte swap(11) 56976c4f342Schristos srl $6,$19,8 57076c4f342Schristos andi $30,$19,0xFF00 57176c4f342Schristos sll $19,$19,24 57276c4f342Schristos andi $6,0xFF00 57376c4f342Schristos sll $30,$30,8 57476c4f342Schristos or $19,$25 57576c4f342Schristos or $6,$30 57676c4f342Schristos or $19,$6 57776c4f342Schristos#endif 57876c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 57976c4f342Schristos addu $7,$31 # 11 58076c4f342Schristos xor $25,$2,$3 58176c4f342Schristos rotr $6,$24,27 58276c4f342Schristos and $25,$1 58376c4f342Schristos addu $7,$6 584*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 585*e0ea3921Schristos lw $20,12*4($5) 586*e0ea3921Schristos#else 587*e0ea3921Schristos lwl $20,12*4+3($5) 58876c4f342Schristos lwr $20,12*4+0($5) 589*e0ea3921Schristos#endif 59076c4f342Schristos xor $25,$3 59176c4f342Schristos addu $7,$19 59276c4f342Schristos rotr $1,$1,2 59376c4f342Schristos addu $7,$25 59476c4f342Schristos#else 59576c4f342Schristos lwl $20,12*4+3($5) 59676c4f342Schristos sll $25,$24,5 # 11 59776c4f342Schristos addu $7,$31 59876c4f342Schristos lwr $20,12*4+0($5) 59976c4f342Schristos srl $6,$24,27 60076c4f342Schristos addu $7,$25 60176c4f342Schristos xor $25,$2,$3 60276c4f342Schristos addu $7,$6 60376c4f342Schristos sll $30,$1,30 60476c4f342Schristos and $25,$1 60576c4f342Schristos srl $1,$1,2 60676c4f342Schristos xor $25,$3 60776c4f342Schristos addu $7,$19 60876c4f342Schristos or $1,$30 60976c4f342Schristos addu $7,$25 61076c4f342Schristos#endif 61176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 61276c4f342Schristos wsbh $20,$20 # byte swap(12) 61376c4f342Schristos rotr $20,$20,16 61476c4f342Schristos#else 61576c4f342Schristos srl $25,$20,24 # byte swap(12) 61676c4f342Schristos srl $6,$20,8 61776c4f342Schristos andi $30,$20,0xFF00 61876c4f342Schristos sll $20,$20,24 61976c4f342Schristos andi $6,0xFF00 62076c4f342Schristos sll $30,$30,8 62176c4f342Schristos or $20,$25 62276c4f342Schristos or $6,$30 62376c4f342Schristos or $20,$6 62476c4f342Schristos#endif 62576c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 62676c4f342Schristos addu $3,$31 # 12 62776c4f342Schristos xor $25,$1,$2 62876c4f342Schristos rotr $6,$7,27 62976c4f342Schristos and $25,$24 63076c4f342Schristos addu $3,$6 631*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 632*e0ea3921Schristos lw $21,13*4($5) 633*e0ea3921Schristos#else 634*e0ea3921Schristos lwl $21,13*4+3($5) 63576c4f342Schristos lwr $21,13*4+0($5) 636*e0ea3921Schristos#endif 63776c4f342Schristos xor $25,$2 63876c4f342Schristos addu $3,$20 63976c4f342Schristos rotr $24,$24,2 64076c4f342Schristos addu $3,$25 64176c4f342Schristos#else 64276c4f342Schristos lwl $21,13*4+3($5) 64376c4f342Schristos sll $25,$7,5 # 12 64476c4f342Schristos addu $3,$31 64576c4f342Schristos lwr $21,13*4+0($5) 64676c4f342Schristos srl $6,$7,27 64776c4f342Schristos addu $3,$25 64876c4f342Schristos xor $25,$1,$2 64976c4f342Schristos addu $3,$6 65076c4f342Schristos sll $30,$24,30 65176c4f342Schristos and $25,$24 65276c4f342Schristos srl $24,$24,2 65376c4f342Schristos xor $25,$2 65476c4f342Schristos addu $3,$20 65576c4f342Schristos or $24,$30 65676c4f342Schristos addu $3,$25 65776c4f342Schristos#endif 65876c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 65976c4f342Schristos wsbh $21,$21 # byte swap(13) 66076c4f342Schristos rotr $21,$21,16 66176c4f342Schristos#else 66276c4f342Schristos srl $25,$21,24 # byte swap(13) 66376c4f342Schristos srl $6,$21,8 66476c4f342Schristos andi $30,$21,0xFF00 66576c4f342Schristos sll $21,$21,24 66676c4f342Schristos andi $6,0xFF00 66776c4f342Schristos sll $30,$30,8 66876c4f342Schristos or $21,$25 66976c4f342Schristos or $6,$30 67076c4f342Schristos or $21,$6 67176c4f342Schristos#endif 67276c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 67376c4f342Schristos addu $2,$31 # 13 67476c4f342Schristos xor $25,$24,$1 67576c4f342Schristos rotr $6,$3,27 67676c4f342Schristos and $25,$7 67776c4f342Schristos addu $2,$6 678*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 679*e0ea3921Schristos lw $22,14*4($5) 680*e0ea3921Schristos#else 681*e0ea3921Schristos lwl $22,14*4+3($5) 68276c4f342Schristos lwr $22,14*4+0($5) 683*e0ea3921Schristos#endif 68476c4f342Schristos xor $25,$1 68576c4f342Schristos addu $2,$21 68676c4f342Schristos rotr $7,$7,2 68776c4f342Schristos addu $2,$25 68876c4f342Schristos#else 68976c4f342Schristos lwl $22,14*4+3($5) 69076c4f342Schristos sll $25,$3,5 # 13 69176c4f342Schristos addu $2,$31 69276c4f342Schristos lwr $22,14*4+0($5) 69376c4f342Schristos srl $6,$3,27 69476c4f342Schristos addu $2,$25 69576c4f342Schristos xor $25,$24,$1 69676c4f342Schristos addu $2,$6 69776c4f342Schristos sll $30,$7,30 69876c4f342Schristos and $25,$7 69976c4f342Schristos srl $7,$7,2 70076c4f342Schristos xor $25,$1 70176c4f342Schristos addu $2,$21 70276c4f342Schristos or $7,$30 70376c4f342Schristos addu $2,$25 70476c4f342Schristos#endif 70576c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 70676c4f342Schristos wsbh $22,$22 # byte swap(14) 70776c4f342Schristos rotr $22,$22,16 70876c4f342Schristos#else 70976c4f342Schristos srl $25,$22,24 # byte swap(14) 71076c4f342Schristos srl $6,$22,8 71176c4f342Schristos andi $30,$22,0xFF00 71276c4f342Schristos sll $22,$22,24 71376c4f342Schristos andi $6,0xFF00 71476c4f342Schristos sll $30,$30,8 71576c4f342Schristos or $22,$25 71676c4f342Schristos or $6,$30 71776c4f342Schristos or $22,$6 71876c4f342Schristos#endif 71976c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 72076c4f342Schristos addu $1,$31 # 14 72176c4f342Schristos xor $25,$7,$24 72276c4f342Schristos rotr $6,$2,27 72376c4f342Schristos and $25,$3 72476c4f342Schristos addu $1,$6 725*e0ea3921Schristos#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 726*e0ea3921Schristos lw $23,15*4($5) 727*e0ea3921Schristos#else 728*e0ea3921Schristos lwl $23,15*4+3($5) 72976c4f342Schristos lwr $23,15*4+0($5) 730*e0ea3921Schristos#endif 73176c4f342Schristos xor $25,$24 73276c4f342Schristos addu $1,$22 73376c4f342Schristos rotr $3,$3,2 73476c4f342Schristos addu $1,$25 73576c4f342Schristos#else 73676c4f342Schristos lwl $23,15*4+3($5) 73776c4f342Schristos sll $25,$2,5 # 14 73876c4f342Schristos addu $1,$31 73976c4f342Schristos lwr $23,15*4+0($5) 74076c4f342Schristos srl $6,$2,27 74176c4f342Schristos addu $1,$25 74276c4f342Schristos xor $25,$7,$24 74376c4f342Schristos addu $1,$6 74476c4f342Schristos sll $30,$3,30 74576c4f342Schristos and $25,$3 74676c4f342Schristos srl $3,$3,2 74776c4f342Schristos xor $25,$24 74876c4f342Schristos addu $1,$22 74976c4f342Schristos or $3,$30 75076c4f342Schristos addu $1,$25 75176c4f342Schristos#endif 75276c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 75376c4f342Schristos wsbh $23,$23 # byte swap(15) 75476c4f342Schristos rotr $23,$23,16 75576c4f342Schristos#else 75676c4f342Schristos srl $25,$23,24 # byte swap(15) 75776c4f342Schristos srl $6,$23,8 75876c4f342Schristos andi $30,$23,0xFF00 75976c4f342Schristos sll $23,$23,24 76076c4f342Schristos andi $6,0xFF00 76176c4f342Schristos sll $30,$30,8 76276c4f342Schristos or $23,$25 76376c4f342Schristos or $23,$6 76476c4f342Schristos or $23,$30 76576c4f342Schristos#endif 76676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 76776c4f342Schristos addu $24,$31 # 15 76876c4f342Schristos xor $8,$10 76976c4f342Schristos xor $25,$3,$7 77076c4f342Schristos rotr $6,$1,27 77176c4f342Schristos xor $8,$16 77276c4f342Schristos and $25,$2 77376c4f342Schristos addu $24,$6 77476c4f342Schristos xor $8,$21 77576c4f342Schristos xor $25,$7 77676c4f342Schristos addu $24,$23 77776c4f342Schristos rotr $8,$8,31 77876c4f342Schristos rotr $2,$2,2 77976c4f342Schristos addu $24,$25 78076c4f342Schristos#else 78176c4f342Schristos xor $8,$10 78276c4f342Schristos sll $25,$1,5 # 15 78376c4f342Schristos addu $24,$31 78476c4f342Schristos srl $6,$1,27 78576c4f342Schristos addu $24,$25 78676c4f342Schristos xor $8,$16 78776c4f342Schristos xor $25,$3,$7 78876c4f342Schristos addu $24,$6 78976c4f342Schristos xor $8,$21 79076c4f342Schristos sll $30,$2,30 79176c4f342Schristos and $25,$2 79276c4f342Schristos srl $6,$8,31 79376c4f342Schristos addu $8,$8 79476c4f342Schristos srl $2,$2,2 79576c4f342Schristos xor $25,$7 79676c4f342Schristos or $8,$6 79776c4f342Schristos addu $24,$23 79876c4f342Schristos or $2,$30 79976c4f342Schristos addu $24,$25 80076c4f342Schristos#endif 80176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 80276c4f342Schristos addu $7,$31 # 16 80376c4f342Schristos xor $9,$11 80476c4f342Schristos xor $25,$2,$3 80576c4f342Schristos rotr $6,$24,27 80676c4f342Schristos xor $9,$17 80776c4f342Schristos and $25,$1 80876c4f342Schristos addu $7,$6 80976c4f342Schristos xor $9,$22 81076c4f342Schristos xor $25,$3 81176c4f342Schristos addu $7,$8 81276c4f342Schristos rotr $9,$9,31 81376c4f342Schristos rotr $1,$1,2 81476c4f342Schristos addu $7,$25 81576c4f342Schristos#else 81676c4f342Schristos xor $9,$11 81776c4f342Schristos sll $25,$24,5 # 16 81876c4f342Schristos addu $7,$31 81976c4f342Schristos srl $6,$24,27 82076c4f342Schristos addu $7,$25 82176c4f342Schristos xor $9,$17 82276c4f342Schristos xor $25,$2,$3 82376c4f342Schristos addu $7,$6 82476c4f342Schristos xor $9,$22 82576c4f342Schristos sll $30,$1,30 82676c4f342Schristos and $25,$1 82776c4f342Schristos srl $6,$9,31 82876c4f342Schristos addu $9,$9 82976c4f342Schristos srl $1,$1,2 83076c4f342Schristos xor $25,$3 83176c4f342Schristos or $9,$6 83276c4f342Schristos addu $7,$8 83376c4f342Schristos or $1,$30 83476c4f342Schristos addu $7,$25 83576c4f342Schristos#endif 83676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 83776c4f342Schristos addu $3,$31 # 17 83876c4f342Schristos xor $10,$12 83976c4f342Schristos xor $25,$1,$2 84076c4f342Schristos rotr $6,$7,27 84176c4f342Schristos xor $10,$18 84276c4f342Schristos and $25,$24 84376c4f342Schristos addu $3,$6 84476c4f342Schristos xor $10,$23 84576c4f342Schristos xor $25,$2 84676c4f342Schristos addu $3,$9 84776c4f342Schristos rotr $10,$10,31 84876c4f342Schristos rotr $24,$24,2 84976c4f342Schristos addu $3,$25 85076c4f342Schristos#else 85176c4f342Schristos xor $10,$12 85276c4f342Schristos sll $25,$7,5 # 17 85376c4f342Schristos addu $3,$31 85476c4f342Schristos srl $6,$7,27 85576c4f342Schristos addu $3,$25 85676c4f342Schristos xor $10,$18 85776c4f342Schristos xor $25,$1,$2 85876c4f342Schristos addu $3,$6 85976c4f342Schristos xor $10,$23 86076c4f342Schristos sll $30,$24,30 86176c4f342Schristos and $25,$24 86276c4f342Schristos srl $6,$10,31 86376c4f342Schristos addu $10,$10 86476c4f342Schristos srl $24,$24,2 86576c4f342Schristos xor $25,$2 86676c4f342Schristos or $10,$6 86776c4f342Schristos addu $3,$9 86876c4f342Schristos or $24,$30 86976c4f342Schristos addu $3,$25 87076c4f342Schristos#endif 87176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 87276c4f342Schristos addu $2,$31 # 18 87376c4f342Schristos xor $11,$13 87476c4f342Schristos xor $25,$24,$1 87576c4f342Schristos rotr $6,$3,27 87676c4f342Schristos xor $11,$19 87776c4f342Schristos and $25,$7 87876c4f342Schristos addu $2,$6 87976c4f342Schristos xor $11,$8 88076c4f342Schristos xor $25,$1 88176c4f342Schristos addu $2,$10 88276c4f342Schristos rotr $11,$11,31 88376c4f342Schristos rotr $7,$7,2 88476c4f342Schristos addu $2,$25 88576c4f342Schristos#else 88676c4f342Schristos xor $11,$13 88776c4f342Schristos sll $25,$3,5 # 18 88876c4f342Schristos addu $2,$31 88976c4f342Schristos srl $6,$3,27 89076c4f342Schristos addu $2,$25 89176c4f342Schristos xor $11,$19 89276c4f342Schristos xor $25,$24,$1 89376c4f342Schristos addu $2,$6 89476c4f342Schristos xor $11,$8 89576c4f342Schristos sll $30,$7,30 89676c4f342Schristos and $25,$7 89776c4f342Schristos srl $6,$11,31 89876c4f342Schristos addu $11,$11 89976c4f342Schristos srl $7,$7,2 90076c4f342Schristos xor $25,$1 90176c4f342Schristos or $11,$6 90276c4f342Schristos addu $2,$10 90376c4f342Schristos or $7,$30 90476c4f342Schristos addu $2,$25 90576c4f342Schristos#endif 90676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 90776c4f342Schristos addu $1,$31 # 19 90876c4f342Schristos xor $12,$14 90976c4f342Schristos xor $25,$7,$24 91076c4f342Schristos rotr $6,$2,27 91176c4f342Schristos xor $12,$20 91276c4f342Schristos and $25,$3 91376c4f342Schristos addu $1,$6 91476c4f342Schristos xor $12,$9 91576c4f342Schristos xor $25,$24 91676c4f342Schristos addu $1,$11 91776c4f342Schristos rotr $12,$12,31 91876c4f342Schristos rotr $3,$3,2 91976c4f342Schristos addu $1,$25 92076c4f342Schristos#else 92176c4f342Schristos xor $12,$14 92276c4f342Schristos sll $25,$2,5 # 19 92376c4f342Schristos addu $1,$31 92476c4f342Schristos srl $6,$2,27 92576c4f342Schristos addu $1,$25 92676c4f342Schristos xor $12,$20 92776c4f342Schristos xor $25,$7,$24 92876c4f342Schristos addu $1,$6 92976c4f342Schristos xor $12,$9 93076c4f342Schristos sll $30,$3,30 93176c4f342Schristos and $25,$3 93276c4f342Schristos srl $6,$12,31 93376c4f342Schristos addu $12,$12 93476c4f342Schristos srl $3,$3,2 93576c4f342Schristos xor $25,$24 93676c4f342Schristos or $12,$6 93776c4f342Schristos addu $1,$11 93876c4f342Schristos or $3,$30 93976c4f342Schristos addu $1,$25 94076c4f342Schristos#endif 94176c4f342Schristos lui $31,0x6ed9 94276c4f342Schristos ori $31,0xeba1 # K_20_39 94376c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 94476c4f342Schristos xor $13,$15 94576c4f342Schristos addu $24,$31 # 20 94676c4f342Schristos rotr $6,$1,27 94776c4f342Schristos xor $13,$21 94876c4f342Schristos xor $25,$3,$7 94976c4f342Schristos addu $24,$6 95076c4f342Schristos xor $13,$10 95176c4f342Schristos xor $25,$2 95276c4f342Schristos addu $24,$12 95376c4f342Schristos rotr $13,$13,31 95476c4f342Schristos rotr $2,$2,2 95576c4f342Schristos addu $24,$25 95676c4f342Schristos#else 95776c4f342Schristos xor $13,$15 95876c4f342Schristos sll $25,$1,5 # 20 95976c4f342Schristos addu $24,$31 96076c4f342Schristos srl $6,$1,27 96176c4f342Schristos addu $24,$25 96276c4f342Schristos xor $13,$21 96376c4f342Schristos xor $25,$3,$7 96476c4f342Schristos addu $24,$6 96576c4f342Schristos xor $13,$10 96676c4f342Schristos sll $30,$2,30 96776c4f342Schristos xor $25,$2 96876c4f342Schristos srl $6,$13,31 96976c4f342Schristos addu $13,$13 97076c4f342Schristos srl $2,$2,2 97176c4f342Schristos addu $24,$12 97276c4f342Schristos or $13,$6 97376c4f342Schristos or $2,$30 97476c4f342Schristos addu $24,$25 97576c4f342Schristos#endif 97676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 97776c4f342Schristos xor $14,$16 97876c4f342Schristos addu $7,$31 # 21 97976c4f342Schristos rotr $6,$24,27 98076c4f342Schristos xor $14,$22 98176c4f342Schristos xor $25,$2,$3 98276c4f342Schristos addu $7,$6 98376c4f342Schristos xor $14,$11 98476c4f342Schristos xor $25,$1 98576c4f342Schristos addu $7,$13 98676c4f342Schristos rotr $14,$14,31 98776c4f342Schristos rotr $1,$1,2 98876c4f342Schristos addu $7,$25 98976c4f342Schristos#else 99076c4f342Schristos xor $14,$16 99176c4f342Schristos sll $25,$24,5 # 21 99276c4f342Schristos addu $7,$31 99376c4f342Schristos srl $6,$24,27 99476c4f342Schristos addu $7,$25 99576c4f342Schristos xor $14,$22 99676c4f342Schristos xor $25,$2,$3 99776c4f342Schristos addu $7,$6 99876c4f342Schristos xor $14,$11 99976c4f342Schristos sll $30,$1,30 100076c4f342Schristos xor $25,$1 100176c4f342Schristos srl $6,$14,31 100276c4f342Schristos addu $14,$14 100376c4f342Schristos srl $1,$1,2 100476c4f342Schristos addu $7,$13 100576c4f342Schristos or $14,$6 100676c4f342Schristos or $1,$30 100776c4f342Schristos addu $7,$25 100876c4f342Schristos#endif 100976c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 101076c4f342Schristos xor $15,$17 101176c4f342Schristos addu $3,$31 # 22 101276c4f342Schristos rotr $6,$7,27 101376c4f342Schristos xor $15,$23 101476c4f342Schristos xor $25,$1,$2 101576c4f342Schristos addu $3,$6 101676c4f342Schristos xor $15,$12 101776c4f342Schristos xor $25,$24 101876c4f342Schristos addu $3,$14 101976c4f342Schristos rotr $15,$15,31 102076c4f342Schristos rotr $24,$24,2 102176c4f342Schristos addu $3,$25 102276c4f342Schristos#else 102376c4f342Schristos xor $15,$17 102476c4f342Schristos sll $25,$7,5 # 22 102576c4f342Schristos addu $3,$31 102676c4f342Schristos srl $6,$7,27 102776c4f342Schristos addu $3,$25 102876c4f342Schristos xor $15,$23 102976c4f342Schristos xor $25,$1,$2 103076c4f342Schristos addu $3,$6 103176c4f342Schristos xor $15,$12 103276c4f342Schristos sll $30,$24,30 103376c4f342Schristos xor $25,$24 103476c4f342Schristos srl $6,$15,31 103576c4f342Schristos addu $15,$15 103676c4f342Schristos srl $24,$24,2 103776c4f342Schristos addu $3,$14 103876c4f342Schristos or $15,$6 103976c4f342Schristos or $24,$30 104076c4f342Schristos addu $3,$25 104176c4f342Schristos#endif 104276c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 104376c4f342Schristos xor $16,$18 104476c4f342Schristos addu $2,$31 # 23 104576c4f342Schristos rotr $6,$3,27 104676c4f342Schristos xor $16,$8 104776c4f342Schristos xor $25,$24,$1 104876c4f342Schristos addu $2,$6 104976c4f342Schristos xor $16,$13 105076c4f342Schristos xor $25,$7 105176c4f342Schristos addu $2,$15 105276c4f342Schristos rotr $16,$16,31 105376c4f342Schristos rotr $7,$7,2 105476c4f342Schristos addu $2,$25 105576c4f342Schristos#else 105676c4f342Schristos xor $16,$18 105776c4f342Schristos sll $25,$3,5 # 23 105876c4f342Schristos addu $2,$31 105976c4f342Schristos srl $6,$3,27 106076c4f342Schristos addu $2,$25 106176c4f342Schristos xor $16,$8 106276c4f342Schristos xor $25,$24,$1 106376c4f342Schristos addu $2,$6 106476c4f342Schristos xor $16,$13 106576c4f342Schristos sll $30,$7,30 106676c4f342Schristos xor $25,$7 106776c4f342Schristos srl $6,$16,31 106876c4f342Schristos addu $16,$16 106976c4f342Schristos srl $7,$7,2 107076c4f342Schristos addu $2,$15 107176c4f342Schristos or $16,$6 107276c4f342Schristos or $7,$30 107376c4f342Schristos addu $2,$25 107476c4f342Schristos#endif 107576c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 107676c4f342Schristos xor $17,$19 107776c4f342Schristos addu $1,$31 # 24 107876c4f342Schristos rotr $6,$2,27 107976c4f342Schristos xor $17,$9 108076c4f342Schristos xor $25,$7,$24 108176c4f342Schristos addu $1,$6 108276c4f342Schristos xor $17,$14 108376c4f342Schristos xor $25,$3 108476c4f342Schristos addu $1,$16 108576c4f342Schristos rotr $17,$17,31 108676c4f342Schristos rotr $3,$3,2 108776c4f342Schristos addu $1,$25 108876c4f342Schristos#else 108976c4f342Schristos xor $17,$19 109076c4f342Schristos sll $25,$2,5 # 24 109176c4f342Schristos addu $1,$31 109276c4f342Schristos srl $6,$2,27 109376c4f342Schristos addu $1,$25 109476c4f342Schristos xor $17,$9 109576c4f342Schristos xor $25,$7,$24 109676c4f342Schristos addu $1,$6 109776c4f342Schristos xor $17,$14 109876c4f342Schristos sll $30,$3,30 109976c4f342Schristos xor $25,$3 110076c4f342Schristos srl $6,$17,31 110176c4f342Schristos addu $17,$17 110276c4f342Schristos srl $3,$3,2 110376c4f342Schristos addu $1,$16 110476c4f342Schristos or $17,$6 110576c4f342Schristos or $3,$30 110676c4f342Schristos addu $1,$25 110776c4f342Schristos#endif 110876c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 110976c4f342Schristos xor $18,$20 111076c4f342Schristos addu $24,$31 # 25 111176c4f342Schristos rotr $6,$1,27 111276c4f342Schristos xor $18,$10 111376c4f342Schristos xor $25,$3,$7 111476c4f342Schristos addu $24,$6 111576c4f342Schristos xor $18,$15 111676c4f342Schristos xor $25,$2 111776c4f342Schristos addu $24,$17 111876c4f342Schristos rotr $18,$18,31 111976c4f342Schristos rotr $2,$2,2 112076c4f342Schristos addu $24,$25 112176c4f342Schristos#else 112276c4f342Schristos xor $18,$20 112376c4f342Schristos sll $25,$1,5 # 25 112476c4f342Schristos addu $24,$31 112576c4f342Schristos srl $6,$1,27 112676c4f342Schristos addu $24,$25 112776c4f342Schristos xor $18,$10 112876c4f342Schristos xor $25,$3,$7 112976c4f342Schristos addu $24,$6 113076c4f342Schristos xor $18,$15 113176c4f342Schristos sll $30,$2,30 113276c4f342Schristos xor $25,$2 113376c4f342Schristos srl $6,$18,31 113476c4f342Schristos addu $18,$18 113576c4f342Schristos srl $2,$2,2 113676c4f342Schristos addu $24,$17 113776c4f342Schristos or $18,$6 113876c4f342Schristos or $2,$30 113976c4f342Schristos addu $24,$25 114076c4f342Schristos#endif 114176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 114276c4f342Schristos xor $19,$21 114376c4f342Schristos addu $7,$31 # 26 114476c4f342Schristos rotr $6,$24,27 114576c4f342Schristos xor $19,$11 114676c4f342Schristos xor $25,$2,$3 114776c4f342Schristos addu $7,$6 114876c4f342Schristos xor $19,$16 114976c4f342Schristos xor $25,$1 115076c4f342Schristos addu $7,$18 115176c4f342Schristos rotr $19,$19,31 115276c4f342Schristos rotr $1,$1,2 115376c4f342Schristos addu $7,$25 115476c4f342Schristos#else 115576c4f342Schristos xor $19,$21 115676c4f342Schristos sll $25,$24,5 # 26 115776c4f342Schristos addu $7,$31 115876c4f342Schristos srl $6,$24,27 115976c4f342Schristos addu $7,$25 116076c4f342Schristos xor $19,$11 116176c4f342Schristos xor $25,$2,$3 116276c4f342Schristos addu $7,$6 116376c4f342Schristos xor $19,$16 116476c4f342Schristos sll $30,$1,30 116576c4f342Schristos xor $25,$1 116676c4f342Schristos srl $6,$19,31 116776c4f342Schristos addu $19,$19 116876c4f342Schristos srl $1,$1,2 116976c4f342Schristos addu $7,$18 117076c4f342Schristos or $19,$6 117176c4f342Schristos or $1,$30 117276c4f342Schristos addu $7,$25 117376c4f342Schristos#endif 117476c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 117576c4f342Schristos xor $20,$22 117676c4f342Schristos addu $3,$31 # 27 117776c4f342Schristos rotr $6,$7,27 117876c4f342Schristos xor $20,$12 117976c4f342Schristos xor $25,$1,$2 118076c4f342Schristos addu $3,$6 118176c4f342Schristos xor $20,$17 118276c4f342Schristos xor $25,$24 118376c4f342Schristos addu $3,$19 118476c4f342Schristos rotr $20,$20,31 118576c4f342Schristos rotr $24,$24,2 118676c4f342Schristos addu $3,$25 118776c4f342Schristos#else 118876c4f342Schristos xor $20,$22 118976c4f342Schristos sll $25,$7,5 # 27 119076c4f342Schristos addu $3,$31 119176c4f342Schristos srl $6,$7,27 119276c4f342Schristos addu $3,$25 119376c4f342Schristos xor $20,$12 119476c4f342Schristos xor $25,$1,$2 119576c4f342Schristos addu $3,$6 119676c4f342Schristos xor $20,$17 119776c4f342Schristos sll $30,$24,30 119876c4f342Schristos xor $25,$24 119976c4f342Schristos srl $6,$20,31 120076c4f342Schristos addu $20,$20 120176c4f342Schristos srl $24,$24,2 120276c4f342Schristos addu $3,$19 120376c4f342Schristos or $20,$6 120476c4f342Schristos or $24,$30 120576c4f342Schristos addu $3,$25 120676c4f342Schristos#endif 120776c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 120876c4f342Schristos xor $21,$23 120976c4f342Schristos addu $2,$31 # 28 121076c4f342Schristos rotr $6,$3,27 121176c4f342Schristos xor $21,$13 121276c4f342Schristos xor $25,$24,$1 121376c4f342Schristos addu $2,$6 121476c4f342Schristos xor $21,$18 121576c4f342Schristos xor $25,$7 121676c4f342Schristos addu $2,$20 121776c4f342Schristos rotr $21,$21,31 121876c4f342Schristos rotr $7,$7,2 121976c4f342Schristos addu $2,$25 122076c4f342Schristos#else 122176c4f342Schristos xor $21,$23 122276c4f342Schristos sll $25,$3,5 # 28 122376c4f342Schristos addu $2,$31 122476c4f342Schristos srl $6,$3,27 122576c4f342Schristos addu $2,$25 122676c4f342Schristos xor $21,$13 122776c4f342Schristos xor $25,$24,$1 122876c4f342Schristos addu $2,$6 122976c4f342Schristos xor $21,$18 123076c4f342Schristos sll $30,$7,30 123176c4f342Schristos xor $25,$7 123276c4f342Schristos srl $6,$21,31 123376c4f342Schristos addu $21,$21 123476c4f342Schristos srl $7,$7,2 123576c4f342Schristos addu $2,$20 123676c4f342Schristos or $21,$6 123776c4f342Schristos or $7,$30 123876c4f342Schristos addu $2,$25 123976c4f342Schristos#endif 124076c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 124176c4f342Schristos xor $22,$8 124276c4f342Schristos addu $1,$31 # 29 124376c4f342Schristos rotr $6,$2,27 124476c4f342Schristos xor $22,$14 124576c4f342Schristos xor $25,$7,$24 124676c4f342Schristos addu $1,$6 124776c4f342Schristos xor $22,$19 124876c4f342Schristos xor $25,$3 124976c4f342Schristos addu $1,$21 125076c4f342Schristos rotr $22,$22,31 125176c4f342Schristos rotr $3,$3,2 125276c4f342Schristos addu $1,$25 125376c4f342Schristos#else 125476c4f342Schristos xor $22,$8 125576c4f342Schristos sll $25,$2,5 # 29 125676c4f342Schristos addu $1,$31 125776c4f342Schristos srl $6,$2,27 125876c4f342Schristos addu $1,$25 125976c4f342Schristos xor $22,$14 126076c4f342Schristos xor $25,$7,$24 126176c4f342Schristos addu $1,$6 126276c4f342Schristos xor $22,$19 126376c4f342Schristos sll $30,$3,30 126476c4f342Schristos xor $25,$3 126576c4f342Schristos srl $6,$22,31 126676c4f342Schristos addu $22,$22 126776c4f342Schristos srl $3,$3,2 126876c4f342Schristos addu $1,$21 126976c4f342Schristos or $22,$6 127076c4f342Schristos or $3,$30 127176c4f342Schristos addu $1,$25 127276c4f342Schristos#endif 127376c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 127476c4f342Schristos xor $23,$9 127576c4f342Schristos addu $24,$31 # 30 127676c4f342Schristos rotr $6,$1,27 127776c4f342Schristos xor $23,$15 127876c4f342Schristos xor $25,$3,$7 127976c4f342Schristos addu $24,$6 128076c4f342Schristos xor $23,$20 128176c4f342Schristos xor $25,$2 128276c4f342Schristos addu $24,$22 128376c4f342Schristos rotr $23,$23,31 128476c4f342Schristos rotr $2,$2,2 128576c4f342Schristos addu $24,$25 128676c4f342Schristos#else 128776c4f342Schristos xor $23,$9 128876c4f342Schristos sll $25,$1,5 # 30 128976c4f342Schristos addu $24,$31 129076c4f342Schristos srl $6,$1,27 129176c4f342Schristos addu $24,$25 129276c4f342Schristos xor $23,$15 129376c4f342Schristos xor $25,$3,$7 129476c4f342Schristos addu $24,$6 129576c4f342Schristos xor $23,$20 129676c4f342Schristos sll $30,$2,30 129776c4f342Schristos xor $25,$2 129876c4f342Schristos srl $6,$23,31 129976c4f342Schristos addu $23,$23 130076c4f342Schristos srl $2,$2,2 130176c4f342Schristos addu $24,$22 130276c4f342Schristos or $23,$6 130376c4f342Schristos or $2,$30 130476c4f342Schristos addu $24,$25 130576c4f342Schristos#endif 130676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 130776c4f342Schristos xor $8,$10 130876c4f342Schristos addu $7,$31 # 31 130976c4f342Schristos rotr $6,$24,27 131076c4f342Schristos xor $8,$16 131176c4f342Schristos xor $25,$2,$3 131276c4f342Schristos addu $7,$6 131376c4f342Schristos xor $8,$21 131476c4f342Schristos xor $25,$1 131576c4f342Schristos addu $7,$23 131676c4f342Schristos rotr $8,$8,31 131776c4f342Schristos rotr $1,$1,2 131876c4f342Schristos addu $7,$25 131976c4f342Schristos#else 132076c4f342Schristos xor $8,$10 132176c4f342Schristos sll $25,$24,5 # 31 132276c4f342Schristos addu $7,$31 132376c4f342Schristos srl $6,$24,27 132476c4f342Schristos addu $7,$25 132576c4f342Schristos xor $8,$16 132676c4f342Schristos xor $25,$2,$3 132776c4f342Schristos addu $7,$6 132876c4f342Schristos xor $8,$21 132976c4f342Schristos sll $30,$1,30 133076c4f342Schristos xor $25,$1 133176c4f342Schristos srl $6,$8,31 133276c4f342Schristos addu $8,$8 133376c4f342Schristos srl $1,$1,2 133476c4f342Schristos addu $7,$23 133576c4f342Schristos or $8,$6 133676c4f342Schristos or $1,$30 133776c4f342Schristos addu $7,$25 133876c4f342Schristos#endif 133976c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 134076c4f342Schristos xor $9,$11 134176c4f342Schristos addu $3,$31 # 32 134276c4f342Schristos rotr $6,$7,27 134376c4f342Schristos xor $9,$17 134476c4f342Schristos xor $25,$1,$2 134576c4f342Schristos addu $3,$6 134676c4f342Schristos xor $9,$22 134776c4f342Schristos xor $25,$24 134876c4f342Schristos addu $3,$8 134976c4f342Schristos rotr $9,$9,31 135076c4f342Schristos rotr $24,$24,2 135176c4f342Schristos addu $3,$25 135276c4f342Schristos#else 135376c4f342Schristos xor $9,$11 135476c4f342Schristos sll $25,$7,5 # 32 135576c4f342Schristos addu $3,$31 135676c4f342Schristos srl $6,$7,27 135776c4f342Schristos addu $3,$25 135876c4f342Schristos xor $9,$17 135976c4f342Schristos xor $25,$1,$2 136076c4f342Schristos addu $3,$6 136176c4f342Schristos xor $9,$22 136276c4f342Schristos sll $30,$24,30 136376c4f342Schristos xor $25,$24 136476c4f342Schristos srl $6,$9,31 136576c4f342Schristos addu $9,$9 136676c4f342Schristos srl $24,$24,2 136776c4f342Schristos addu $3,$8 136876c4f342Schristos or $9,$6 136976c4f342Schristos or $24,$30 137076c4f342Schristos addu $3,$25 137176c4f342Schristos#endif 137276c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 137376c4f342Schristos xor $10,$12 137476c4f342Schristos addu $2,$31 # 33 137576c4f342Schristos rotr $6,$3,27 137676c4f342Schristos xor $10,$18 137776c4f342Schristos xor $25,$24,$1 137876c4f342Schristos addu $2,$6 137976c4f342Schristos xor $10,$23 138076c4f342Schristos xor $25,$7 138176c4f342Schristos addu $2,$9 138276c4f342Schristos rotr $10,$10,31 138376c4f342Schristos rotr $7,$7,2 138476c4f342Schristos addu $2,$25 138576c4f342Schristos#else 138676c4f342Schristos xor $10,$12 138776c4f342Schristos sll $25,$3,5 # 33 138876c4f342Schristos addu $2,$31 138976c4f342Schristos srl $6,$3,27 139076c4f342Schristos addu $2,$25 139176c4f342Schristos xor $10,$18 139276c4f342Schristos xor $25,$24,$1 139376c4f342Schristos addu $2,$6 139476c4f342Schristos xor $10,$23 139576c4f342Schristos sll $30,$7,30 139676c4f342Schristos xor $25,$7 139776c4f342Schristos srl $6,$10,31 139876c4f342Schristos addu $10,$10 139976c4f342Schristos srl $7,$7,2 140076c4f342Schristos addu $2,$9 140176c4f342Schristos or $10,$6 140276c4f342Schristos or $7,$30 140376c4f342Schristos addu $2,$25 140476c4f342Schristos#endif 140576c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 140676c4f342Schristos xor $11,$13 140776c4f342Schristos addu $1,$31 # 34 140876c4f342Schristos rotr $6,$2,27 140976c4f342Schristos xor $11,$19 141076c4f342Schristos xor $25,$7,$24 141176c4f342Schristos addu $1,$6 141276c4f342Schristos xor $11,$8 141376c4f342Schristos xor $25,$3 141476c4f342Schristos addu $1,$10 141576c4f342Schristos rotr $11,$11,31 141676c4f342Schristos rotr $3,$3,2 141776c4f342Schristos addu $1,$25 141876c4f342Schristos#else 141976c4f342Schristos xor $11,$13 142076c4f342Schristos sll $25,$2,5 # 34 142176c4f342Schristos addu $1,$31 142276c4f342Schristos srl $6,$2,27 142376c4f342Schristos addu $1,$25 142476c4f342Schristos xor $11,$19 142576c4f342Schristos xor $25,$7,$24 142676c4f342Schristos addu $1,$6 142776c4f342Schristos xor $11,$8 142876c4f342Schristos sll $30,$3,30 142976c4f342Schristos xor $25,$3 143076c4f342Schristos srl $6,$11,31 143176c4f342Schristos addu $11,$11 143276c4f342Schristos srl $3,$3,2 143376c4f342Schristos addu $1,$10 143476c4f342Schristos or $11,$6 143576c4f342Schristos or $3,$30 143676c4f342Schristos addu $1,$25 143776c4f342Schristos#endif 143876c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 143976c4f342Schristos xor $12,$14 144076c4f342Schristos addu $24,$31 # 35 144176c4f342Schristos rotr $6,$1,27 144276c4f342Schristos xor $12,$20 144376c4f342Schristos xor $25,$3,$7 144476c4f342Schristos addu $24,$6 144576c4f342Schristos xor $12,$9 144676c4f342Schristos xor $25,$2 144776c4f342Schristos addu $24,$11 144876c4f342Schristos rotr $12,$12,31 144976c4f342Schristos rotr $2,$2,2 145076c4f342Schristos addu $24,$25 145176c4f342Schristos#else 145276c4f342Schristos xor $12,$14 145376c4f342Schristos sll $25,$1,5 # 35 145476c4f342Schristos addu $24,$31 145576c4f342Schristos srl $6,$1,27 145676c4f342Schristos addu $24,$25 145776c4f342Schristos xor $12,$20 145876c4f342Schristos xor $25,$3,$7 145976c4f342Schristos addu $24,$6 146076c4f342Schristos xor $12,$9 146176c4f342Schristos sll $30,$2,30 146276c4f342Schristos xor $25,$2 146376c4f342Schristos srl $6,$12,31 146476c4f342Schristos addu $12,$12 146576c4f342Schristos srl $2,$2,2 146676c4f342Schristos addu $24,$11 146776c4f342Schristos or $12,$6 146876c4f342Schristos or $2,$30 146976c4f342Schristos addu $24,$25 147076c4f342Schristos#endif 147176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 147276c4f342Schristos xor $13,$15 147376c4f342Schristos addu $7,$31 # 36 147476c4f342Schristos rotr $6,$24,27 147576c4f342Schristos xor $13,$21 147676c4f342Schristos xor $25,$2,$3 147776c4f342Schristos addu $7,$6 147876c4f342Schristos xor $13,$10 147976c4f342Schristos xor $25,$1 148076c4f342Schristos addu $7,$12 148176c4f342Schristos rotr $13,$13,31 148276c4f342Schristos rotr $1,$1,2 148376c4f342Schristos addu $7,$25 148476c4f342Schristos#else 148576c4f342Schristos xor $13,$15 148676c4f342Schristos sll $25,$24,5 # 36 148776c4f342Schristos addu $7,$31 148876c4f342Schristos srl $6,$24,27 148976c4f342Schristos addu $7,$25 149076c4f342Schristos xor $13,$21 149176c4f342Schristos xor $25,$2,$3 149276c4f342Schristos addu $7,$6 149376c4f342Schristos xor $13,$10 149476c4f342Schristos sll $30,$1,30 149576c4f342Schristos xor $25,$1 149676c4f342Schristos srl $6,$13,31 149776c4f342Schristos addu $13,$13 149876c4f342Schristos srl $1,$1,2 149976c4f342Schristos addu $7,$12 150076c4f342Schristos or $13,$6 150176c4f342Schristos or $1,$30 150276c4f342Schristos addu $7,$25 150376c4f342Schristos#endif 150476c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 150576c4f342Schristos xor $14,$16 150676c4f342Schristos addu $3,$31 # 37 150776c4f342Schristos rotr $6,$7,27 150876c4f342Schristos xor $14,$22 150976c4f342Schristos xor $25,$1,$2 151076c4f342Schristos addu $3,$6 151176c4f342Schristos xor $14,$11 151276c4f342Schristos xor $25,$24 151376c4f342Schristos addu $3,$13 151476c4f342Schristos rotr $14,$14,31 151576c4f342Schristos rotr $24,$24,2 151676c4f342Schristos addu $3,$25 151776c4f342Schristos#else 151876c4f342Schristos xor $14,$16 151976c4f342Schristos sll $25,$7,5 # 37 152076c4f342Schristos addu $3,$31 152176c4f342Schristos srl $6,$7,27 152276c4f342Schristos addu $3,$25 152376c4f342Schristos xor $14,$22 152476c4f342Schristos xor $25,$1,$2 152576c4f342Schristos addu $3,$6 152676c4f342Schristos xor $14,$11 152776c4f342Schristos sll $30,$24,30 152876c4f342Schristos xor $25,$24 152976c4f342Schristos srl $6,$14,31 153076c4f342Schristos addu $14,$14 153176c4f342Schristos srl $24,$24,2 153276c4f342Schristos addu $3,$13 153376c4f342Schristos or $14,$6 153476c4f342Schristos or $24,$30 153576c4f342Schristos addu $3,$25 153676c4f342Schristos#endif 153776c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 153876c4f342Schristos xor $15,$17 153976c4f342Schristos addu $2,$31 # 38 154076c4f342Schristos rotr $6,$3,27 154176c4f342Schristos xor $15,$23 154276c4f342Schristos xor $25,$24,$1 154376c4f342Schristos addu $2,$6 154476c4f342Schristos xor $15,$12 154576c4f342Schristos xor $25,$7 154676c4f342Schristos addu $2,$14 154776c4f342Schristos rotr $15,$15,31 154876c4f342Schristos rotr $7,$7,2 154976c4f342Schristos addu $2,$25 155076c4f342Schristos#else 155176c4f342Schristos xor $15,$17 155276c4f342Schristos sll $25,$3,5 # 38 155376c4f342Schristos addu $2,$31 155476c4f342Schristos srl $6,$3,27 155576c4f342Schristos addu $2,$25 155676c4f342Schristos xor $15,$23 155776c4f342Schristos xor $25,$24,$1 155876c4f342Schristos addu $2,$6 155976c4f342Schristos xor $15,$12 156076c4f342Schristos sll $30,$7,30 156176c4f342Schristos xor $25,$7 156276c4f342Schristos srl $6,$15,31 156376c4f342Schristos addu $15,$15 156476c4f342Schristos srl $7,$7,2 156576c4f342Schristos addu $2,$14 156676c4f342Schristos or $15,$6 156776c4f342Schristos or $7,$30 156876c4f342Schristos addu $2,$25 156976c4f342Schristos#endif 157076c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 157176c4f342Schristos xor $16,$18 157276c4f342Schristos addu $1,$31 # 39 157376c4f342Schristos rotr $6,$2,27 157476c4f342Schristos xor $16,$8 157576c4f342Schristos xor $25,$7,$24 157676c4f342Schristos addu $1,$6 157776c4f342Schristos xor $16,$13 157876c4f342Schristos xor $25,$3 157976c4f342Schristos addu $1,$15 158076c4f342Schristos rotr $16,$16,31 158176c4f342Schristos rotr $3,$3,2 158276c4f342Schristos addu $1,$25 158376c4f342Schristos#else 158476c4f342Schristos xor $16,$18 158576c4f342Schristos sll $25,$2,5 # 39 158676c4f342Schristos addu $1,$31 158776c4f342Schristos srl $6,$2,27 158876c4f342Schristos addu $1,$25 158976c4f342Schristos xor $16,$8 159076c4f342Schristos xor $25,$7,$24 159176c4f342Schristos addu $1,$6 159276c4f342Schristos xor $16,$13 159376c4f342Schristos sll $30,$3,30 159476c4f342Schristos xor $25,$3 159576c4f342Schristos srl $6,$16,31 159676c4f342Schristos addu $16,$16 159776c4f342Schristos srl $3,$3,2 159876c4f342Schristos addu $1,$15 159976c4f342Schristos or $16,$6 160076c4f342Schristos or $3,$30 160176c4f342Schristos addu $1,$25 160276c4f342Schristos#endif 160376c4f342Schristos lui $31,0x8f1b 160476c4f342Schristos ori $31,0xbcdc # K_40_59 160576c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 160676c4f342Schristos addu $24,$31 # 40 160776c4f342Schristos and $25,$3,$7 160876c4f342Schristos xor $17,$19 160976c4f342Schristos rotr $6,$1,27 161076c4f342Schristos addu $24,$25 161176c4f342Schristos xor $17,$9 161276c4f342Schristos xor $25,$3,$7 161376c4f342Schristos addu $24,$6 161476c4f342Schristos xor $17,$14 161576c4f342Schristos and $25,$2 161676c4f342Schristos addu $24,$16 161776c4f342Schristos rotr $17,$17,31 161876c4f342Schristos rotr $2,$2,2 161976c4f342Schristos addu $24,$25 162076c4f342Schristos#else 162176c4f342Schristos xor $17,$19 162276c4f342Schristos sll $25,$1,5 # 40 162376c4f342Schristos addu $24,$31 162476c4f342Schristos srl $6,$1,27 162576c4f342Schristos addu $24,$25 162676c4f342Schristos xor $17,$9 162776c4f342Schristos and $25,$3,$7 162876c4f342Schristos addu $24,$6 162976c4f342Schristos xor $17,$14 163076c4f342Schristos sll $30,$2,30 163176c4f342Schristos addu $24,$25 163276c4f342Schristos srl $6,$17,31 163376c4f342Schristos xor $25,$3,$7 163476c4f342Schristos addu $17,$17 163576c4f342Schristos and $25,$2 163676c4f342Schristos srl $2,$2,2 163776c4f342Schristos or $17,$6 163876c4f342Schristos addu $24,$16 163976c4f342Schristos or $2,$30 164076c4f342Schristos addu $24,$25 164176c4f342Schristos#endif 164276c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 164376c4f342Schristos addu $7,$31 # 41 164476c4f342Schristos and $25,$2,$3 164576c4f342Schristos xor $18,$20 164676c4f342Schristos rotr $6,$24,27 164776c4f342Schristos addu $7,$25 164876c4f342Schristos xor $18,$10 164976c4f342Schristos xor $25,$2,$3 165076c4f342Schristos addu $7,$6 165176c4f342Schristos xor $18,$15 165276c4f342Schristos and $25,$1 165376c4f342Schristos addu $7,$17 165476c4f342Schristos rotr $18,$18,31 165576c4f342Schristos rotr $1,$1,2 165676c4f342Schristos addu $7,$25 165776c4f342Schristos#else 165876c4f342Schristos xor $18,$20 165976c4f342Schristos sll $25,$24,5 # 41 166076c4f342Schristos addu $7,$31 166176c4f342Schristos srl $6,$24,27 166276c4f342Schristos addu $7,$25 166376c4f342Schristos xor $18,$10 166476c4f342Schristos and $25,$2,$3 166576c4f342Schristos addu $7,$6 166676c4f342Schristos xor $18,$15 166776c4f342Schristos sll $30,$1,30 166876c4f342Schristos addu $7,$25 166976c4f342Schristos srl $6,$18,31 167076c4f342Schristos xor $25,$2,$3 167176c4f342Schristos addu $18,$18 167276c4f342Schristos and $25,$1 167376c4f342Schristos srl $1,$1,2 167476c4f342Schristos or $18,$6 167576c4f342Schristos addu $7,$17 167676c4f342Schristos or $1,$30 167776c4f342Schristos addu $7,$25 167876c4f342Schristos#endif 167976c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 168076c4f342Schristos addu $3,$31 # 42 168176c4f342Schristos and $25,$1,$2 168276c4f342Schristos xor $19,$21 168376c4f342Schristos rotr $6,$7,27 168476c4f342Schristos addu $3,$25 168576c4f342Schristos xor $19,$11 168676c4f342Schristos xor $25,$1,$2 168776c4f342Schristos addu $3,$6 168876c4f342Schristos xor $19,$16 168976c4f342Schristos and $25,$24 169076c4f342Schristos addu $3,$18 169176c4f342Schristos rotr $19,$19,31 169276c4f342Schristos rotr $24,$24,2 169376c4f342Schristos addu $3,$25 169476c4f342Schristos#else 169576c4f342Schristos xor $19,$21 169676c4f342Schristos sll $25,$7,5 # 42 169776c4f342Schristos addu $3,$31 169876c4f342Schristos srl $6,$7,27 169976c4f342Schristos addu $3,$25 170076c4f342Schristos xor $19,$11 170176c4f342Schristos and $25,$1,$2 170276c4f342Schristos addu $3,$6 170376c4f342Schristos xor $19,$16 170476c4f342Schristos sll $30,$24,30 170576c4f342Schristos addu $3,$25 170676c4f342Schristos srl $6,$19,31 170776c4f342Schristos xor $25,$1,$2 170876c4f342Schristos addu $19,$19 170976c4f342Schristos and $25,$24 171076c4f342Schristos srl $24,$24,2 171176c4f342Schristos or $19,$6 171276c4f342Schristos addu $3,$18 171376c4f342Schristos or $24,$30 171476c4f342Schristos addu $3,$25 171576c4f342Schristos#endif 171676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 171776c4f342Schristos addu $2,$31 # 43 171876c4f342Schristos and $25,$24,$1 171976c4f342Schristos xor $20,$22 172076c4f342Schristos rotr $6,$3,27 172176c4f342Schristos addu $2,$25 172276c4f342Schristos xor $20,$12 172376c4f342Schristos xor $25,$24,$1 172476c4f342Schristos addu $2,$6 172576c4f342Schristos xor $20,$17 172676c4f342Schristos and $25,$7 172776c4f342Schristos addu $2,$19 172876c4f342Schristos rotr $20,$20,31 172976c4f342Schristos rotr $7,$7,2 173076c4f342Schristos addu $2,$25 173176c4f342Schristos#else 173276c4f342Schristos xor $20,$22 173376c4f342Schristos sll $25,$3,5 # 43 173476c4f342Schristos addu $2,$31 173576c4f342Schristos srl $6,$3,27 173676c4f342Schristos addu $2,$25 173776c4f342Schristos xor $20,$12 173876c4f342Schristos and $25,$24,$1 173976c4f342Schristos addu $2,$6 174076c4f342Schristos xor $20,$17 174176c4f342Schristos sll $30,$7,30 174276c4f342Schristos addu $2,$25 174376c4f342Schristos srl $6,$20,31 174476c4f342Schristos xor $25,$24,$1 174576c4f342Schristos addu $20,$20 174676c4f342Schristos and $25,$7 174776c4f342Schristos srl $7,$7,2 174876c4f342Schristos or $20,$6 174976c4f342Schristos addu $2,$19 175076c4f342Schristos or $7,$30 175176c4f342Schristos addu $2,$25 175276c4f342Schristos#endif 175376c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 175476c4f342Schristos addu $1,$31 # 44 175576c4f342Schristos and $25,$7,$24 175676c4f342Schristos xor $21,$23 175776c4f342Schristos rotr $6,$2,27 175876c4f342Schristos addu $1,$25 175976c4f342Schristos xor $21,$13 176076c4f342Schristos xor $25,$7,$24 176176c4f342Schristos addu $1,$6 176276c4f342Schristos xor $21,$18 176376c4f342Schristos and $25,$3 176476c4f342Schristos addu $1,$20 176576c4f342Schristos rotr $21,$21,31 176676c4f342Schristos rotr $3,$3,2 176776c4f342Schristos addu $1,$25 176876c4f342Schristos#else 176976c4f342Schristos xor $21,$23 177076c4f342Schristos sll $25,$2,5 # 44 177176c4f342Schristos addu $1,$31 177276c4f342Schristos srl $6,$2,27 177376c4f342Schristos addu $1,$25 177476c4f342Schristos xor $21,$13 177576c4f342Schristos and $25,$7,$24 177676c4f342Schristos addu $1,$6 177776c4f342Schristos xor $21,$18 177876c4f342Schristos sll $30,$3,30 177976c4f342Schristos addu $1,$25 178076c4f342Schristos srl $6,$21,31 178176c4f342Schristos xor $25,$7,$24 178276c4f342Schristos addu $21,$21 178376c4f342Schristos and $25,$3 178476c4f342Schristos srl $3,$3,2 178576c4f342Schristos or $21,$6 178676c4f342Schristos addu $1,$20 178776c4f342Schristos or $3,$30 178876c4f342Schristos addu $1,$25 178976c4f342Schristos#endif 179076c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 179176c4f342Schristos addu $24,$31 # 45 179276c4f342Schristos and $25,$3,$7 179376c4f342Schristos xor $22,$8 179476c4f342Schristos rotr $6,$1,27 179576c4f342Schristos addu $24,$25 179676c4f342Schristos xor $22,$14 179776c4f342Schristos xor $25,$3,$7 179876c4f342Schristos addu $24,$6 179976c4f342Schristos xor $22,$19 180076c4f342Schristos and $25,$2 180176c4f342Schristos addu $24,$21 180276c4f342Schristos rotr $22,$22,31 180376c4f342Schristos rotr $2,$2,2 180476c4f342Schristos addu $24,$25 180576c4f342Schristos#else 180676c4f342Schristos xor $22,$8 180776c4f342Schristos sll $25,$1,5 # 45 180876c4f342Schristos addu $24,$31 180976c4f342Schristos srl $6,$1,27 181076c4f342Schristos addu $24,$25 181176c4f342Schristos xor $22,$14 181276c4f342Schristos and $25,$3,$7 181376c4f342Schristos addu $24,$6 181476c4f342Schristos xor $22,$19 181576c4f342Schristos sll $30,$2,30 181676c4f342Schristos addu $24,$25 181776c4f342Schristos srl $6,$22,31 181876c4f342Schristos xor $25,$3,$7 181976c4f342Schristos addu $22,$22 182076c4f342Schristos and $25,$2 182176c4f342Schristos srl $2,$2,2 182276c4f342Schristos or $22,$6 182376c4f342Schristos addu $24,$21 182476c4f342Schristos or $2,$30 182576c4f342Schristos addu $24,$25 182676c4f342Schristos#endif 182776c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 182876c4f342Schristos addu $7,$31 # 46 182976c4f342Schristos and $25,$2,$3 183076c4f342Schristos xor $23,$9 183176c4f342Schristos rotr $6,$24,27 183276c4f342Schristos addu $7,$25 183376c4f342Schristos xor $23,$15 183476c4f342Schristos xor $25,$2,$3 183576c4f342Schristos addu $7,$6 183676c4f342Schristos xor $23,$20 183776c4f342Schristos and $25,$1 183876c4f342Schristos addu $7,$22 183976c4f342Schristos rotr $23,$23,31 184076c4f342Schristos rotr $1,$1,2 184176c4f342Schristos addu $7,$25 184276c4f342Schristos#else 184376c4f342Schristos xor $23,$9 184476c4f342Schristos sll $25,$24,5 # 46 184576c4f342Schristos addu $7,$31 184676c4f342Schristos srl $6,$24,27 184776c4f342Schristos addu $7,$25 184876c4f342Schristos xor $23,$15 184976c4f342Schristos and $25,$2,$3 185076c4f342Schristos addu $7,$6 185176c4f342Schristos xor $23,$20 185276c4f342Schristos sll $30,$1,30 185376c4f342Schristos addu $7,$25 185476c4f342Schristos srl $6,$23,31 185576c4f342Schristos xor $25,$2,$3 185676c4f342Schristos addu $23,$23 185776c4f342Schristos and $25,$1 185876c4f342Schristos srl $1,$1,2 185976c4f342Schristos or $23,$6 186076c4f342Schristos addu $7,$22 186176c4f342Schristos or $1,$30 186276c4f342Schristos addu $7,$25 186376c4f342Schristos#endif 186476c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 186576c4f342Schristos addu $3,$31 # 47 186676c4f342Schristos and $25,$1,$2 186776c4f342Schristos xor $8,$10 186876c4f342Schristos rotr $6,$7,27 186976c4f342Schristos addu $3,$25 187076c4f342Schristos xor $8,$16 187176c4f342Schristos xor $25,$1,$2 187276c4f342Schristos addu $3,$6 187376c4f342Schristos xor $8,$21 187476c4f342Schristos and $25,$24 187576c4f342Schristos addu $3,$23 187676c4f342Schristos rotr $8,$8,31 187776c4f342Schristos rotr $24,$24,2 187876c4f342Schristos addu $3,$25 187976c4f342Schristos#else 188076c4f342Schristos xor $8,$10 188176c4f342Schristos sll $25,$7,5 # 47 188276c4f342Schristos addu $3,$31 188376c4f342Schristos srl $6,$7,27 188476c4f342Schristos addu $3,$25 188576c4f342Schristos xor $8,$16 188676c4f342Schristos and $25,$1,$2 188776c4f342Schristos addu $3,$6 188876c4f342Schristos xor $8,$21 188976c4f342Schristos sll $30,$24,30 189076c4f342Schristos addu $3,$25 189176c4f342Schristos srl $6,$8,31 189276c4f342Schristos xor $25,$1,$2 189376c4f342Schristos addu $8,$8 189476c4f342Schristos and $25,$24 189576c4f342Schristos srl $24,$24,2 189676c4f342Schristos or $8,$6 189776c4f342Schristos addu $3,$23 189876c4f342Schristos or $24,$30 189976c4f342Schristos addu $3,$25 190076c4f342Schristos#endif 190176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 190276c4f342Schristos addu $2,$31 # 48 190376c4f342Schristos and $25,$24,$1 190476c4f342Schristos xor $9,$11 190576c4f342Schristos rotr $6,$3,27 190676c4f342Schristos addu $2,$25 190776c4f342Schristos xor $9,$17 190876c4f342Schristos xor $25,$24,$1 190976c4f342Schristos addu $2,$6 191076c4f342Schristos xor $9,$22 191176c4f342Schristos and $25,$7 191276c4f342Schristos addu $2,$8 191376c4f342Schristos rotr $9,$9,31 191476c4f342Schristos rotr $7,$7,2 191576c4f342Schristos addu $2,$25 191676c4f342Schristos#else 191776c4f342Schristos xor $9,$11 191876c4f342Schristos sll $25,$3,5 # 48 191976c4f342Schristos addu $2,$31 192076c4f342Schristos srl $6,$3,27 192176c4f342Schristos addu $2,$25 192276c4f342Schristos xor $9,$17 192376c4f342Schristos and $25,$24,$1 192476c4f342Schristos addu $2,$6 192576c4f342Schristos xor $9,$22 192676c4f342Schristos sll $30,$7,30 192776c4f342Schristos addu $2,$25 192876c4f342Schristos srl $6,$9,31 192976c4f342Schristos xor $25,$24,$1 193076c4f342Schristos addu $9,$9 193176c4f342Schristos and $25,$7 193276c4f342Schristos srl $7,$7,2 193376c4f342Schristos or $9,$6 193476c4f342Schristos addu $2,$8 193576c4f342Schristos or $7,$30 193676c4f342Schristos addu $2,$25 193776c4f342Schristos#endif 193876c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 193976c4f342Schristos addu $1,$31 # 49 194076c4f342Schristos and $25,$7,$24 194176c4f342Schristos xor $10,$12 194276c4f342Schristos rotr $6,$2,27 194376c4f342Schristos addu $1,$25 194476c4f342Schristos xor $10,$18 194576c4f342Schristos xor $25,$7,$24 194676c4f342Schristos addu $1,$6 194776c4f342Schristos xor $10,$23 194876c4f342Schristos and $25,$3 194976c4f342Schristos addu $1,$9 195076c4f342Schristos rotr $10,$10,31 195176c4f342Schristos rotr $3,$3,2 195276c4f342Schristos addu $1,$25 195376c4f342Schristos#else 195476c4f342Schristos xor $10,$12 195576c4f342Schristos sll $25,$2,5 # 49 195676c4f342Schristos addu $1,$31 195776c4f342Schristos srl $6,$2,27 195876c4f342Schristos addu $1,$25 195976c4f342Schristos xor $10,$18 196076c4f342Schristos and $25,$7,$24 196176c4f342Schristos addu $1,$6 196276c4f342Schristos xor $10,$23 196376c4f342Schristos sll $30,$3,30 196476c4f342Schristos addu $1,$25 196576c4f342Schristos srl $6,$10,31 196676c4f342Schristos xor $25,$7,$24 196776c4f342Schristos addu $10,$10 196876c4f342Schristos and $25,$3 196976c4f342Schristos srl $3,$3,2 197076c4f342Schristos or $10,$6 197176c4f342Schristos addu $1,$9 197276c4f342Schristos or $3,$30 197376c4f342Schristos addu $1,$25 197476c4f342Schristos#endif 197576c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 197676c4f342Schristos addu $24,$31 # 50 197776c4f342Schristos and $25,$3,$7 197876c4f342Schristos xor $11,$13 197976c4f342Schristos rotr $6,$1,27 198076c4f342Schristos addu $24,$25 198176c4f342Schristos xor $11,$19 198276c4f342Schristos xor $25,$3,$7 198376c4f342Schristos addu $24,$6 198476c4f342Schristos xor $11,$8 198576c4f342Schristos and $25,$2 198676c4f342Schristos addu $24,$10 198776c4f342Schristos rotr $11,$11,31 198876c4f342Schristos rotr $2,$2,2 198976c4f342Schristos addu $24,$25 199076c4f342Schristos#else 199176c4f342Schristos xor $11,$13 199276c4f342Schristos sll $25,$1,5 # 50 199376c4f342Schristos addu $24,$31 199476c4f342Schristos srl $6,$1,27 199576c4f342Schristos addu $24,$25 199676c4f342Schristos xor $11,$19 199776c4f342Schristos and $25,$3,$7 199876c4f342Schristos addu $24,$6 199976c4f342Schristos xor $11,$8 200076c4f342Schristos sll $30,$2,30 200176c4f342Schristos addu $24,$25 200276c4f342Schristos srl $6,$11,31 200376c4f342Schristos xor $25,$3,$7 200476c4f342Schristos addu $11,$11 200576c4f342Schristos and $25,$2 200676c4f342Schristos srl $2,$2,2 200776c4f342Schristos or $11,$6 200876c4f342Schristos addu $24,$10 200976c4f342Schristos or $2,$30 201076c4f342Schristos addu $24,$25 201176c4f342Schristos#endif 201276c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 201376c4f342Schristos addu $7,$31 # 51 201476c4f342Schristos and $25,$2,$3 201576c4f342Schristos xor $12,$14 201676c4f342Schristos rotr $6,$24,27 201776c4f342Schristos addu $7,$25 201876c4f342Schristos xor $12,$20 201976c4f342Schristos xor $25,$2,$3 202076c4f342Schristos addu $7,$6 202176c4f342Schristos xor $12,$9 202276c4f342Schristos and $25,$1 202376c4f342Schristos addu $7,$11 202476c4f342Schristos rotr $12,$12,31 202576c4f342Schristos rotr $1,$1,2 202676c4f342Schristos addu $7,$25 202776c4f342Schristos#else 202876c4f342Schristos xor $12,$14 202976c4f342Schristos sll $25,$24,5 # 51 203076c4f342Schristos addu $7,$31 203176c4f342Schristos srl $6,$24,27 203276c4f342Schristos addu $7,$25 203376c4f342Schristos xor $12,$20 203476c4f342Schristos and $25,$2,$3 203576c4f342Schristos addu $7,$6 203676c4f342Schristos xor $12,$9 203776c4f342Schristos sll $30,$1,30 203876c4f342Schristos addu $7,$25 203976c4f342Schristos srl $6,$12,31 204076c4f342Schristos xor $25,$2,$3 204176c4f342Schristos addu $12,$12 204276c4f342Schristos and $25,$1 204376c4f342Schristos srl $1,$1,2 204476c4f342Schristos or $12,$6 204576c4f342Schristos addu $7,$11 204676c4f342Schristos or $1,$30 204776c4f342Schristos addu $7,$25 204876c4f342Schristos#endif 204976c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 205076c4f342Schristos addu $3,$31 # 52 205176c4f342Schristos and $25,$1,$2 205276c4f342Schristos xor $13,$15 205376c4f342Schristos rotr $6,$7,27 205476c4f342Schristos addu $3,$25 205576c4f342Schristos xor $13,$21 205676c4f342Schristos xor $25,$1,$2 205776c4f342Schristos addu $3,$6 205876c4f342Schristos xor $13,$10 205976c4f342Schristos and $25,$24 206076c4f342Schristos addu $3,$12 206176c4f342Schristos rotr $13,$13,31 206276c4f342Schristos rotr $24,$24,2 206376c4f342Schristos addu $3,$25 206476c4f342Schristos#else 206576c4f342Schristos xor $13,$15 206676c4f342Schristos sll $25,$7,5 # 52 206776c4f342Schristos addu $3,$31 206876c4f342Schristos srl $6,$7,27 206976c4f342Schristos addu $3,$25 207076c4f342Schristos xor $13,$21 207176c4f342Schristos and $25,$1,$2 207276c4f342Schristos addu $3,$6 207376c4f342Schristos xor $13,$10 207476c4f342Schristos sll $30,$24,30 207576c4f342Schristos addu $3,$25 207676c4f342Schristos srl $6,$13,31 207776c4f342Schristos xor $25,$1,$2 207876c4f342Schristos addu $13,$13 207976c4f342Schristos and $25,$24 208076c4f342Schristos srl $24,$24,2 208176c4f342Schristos or $13,$6 208276c4f342Schristos addu $3,$12 208376c4f342Schristos or $24,$30 208476c4f342Schristos addu $3,$25 208576c4f342Schristos#endif 208676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 208776c4f342Schristos addu $2,$31 # 53 208876c4f342Schristos and $25,$24,$1 208976c4f342Schristos xor $14,$16 209076c4f342Schristos rotr $6,$3,27 209176c4f342Schristos addu $2,$25 209276c4f342Schristos xor $14,$22 209376c4f342Schristos xor $25,$24,$1 209476c4f342Schristos addu $2,$6 209576c4f342Schristos xor $14,$11 209676c4f342Schristos and $25,$7 209776c4f342Schristos addu $2,$13 209876c4f342Schristos rotr $14,$14,31 209976c4f342Schristos rotr $7,$7,2 210076c4f342Schristos addu $2,$25 210176c4f342Schristos#else 210276c4f342Schristos xor $14,$16 210376c4f342Schristos sll $25,$3,5 # 53 210476c4f342Schristos addu $2,$31 210576c4f342Schristos srl $6,$3,27 210676c4f342Schristos addu $2,$25 210776c4f342Schristos xor $14,$22 210876c4f342Schristos and $25,$24,$1 210976c4f342Schristos addu $2,$6 211076c4f342Schristos xor $14,$11 211176c4f342Schristos sll $30,$7,30 211276c4f342Schristos addu $2,$25 211376c4f342Schristos srl $6,$14,31 211476c4f342Schristos xor $25,$24,$1 211576c4f342Schristos addu $14,$14 211676c4f342Schristos and $25,$7 211776c4f342Schristos srl $7,$7,2 211876c4f342Schristos or $14,$6 211976c4f342Schristos addu $2,$13 212076c4f342Schristos or $7,$30 212176c4f342Schristos addu $2,$25 212276c4f342Schristos#endif 212376c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 212476c4f342Schristos addu $1,$31 # 54 212576c4f342Schristos and $25,$7,$24 212676c4f342Schristos xor $15,$17 212776c4f342Schristos rotr $6,$2,27 212876c4f342Schristos addu $1,$25 212976c4f342Schristos xor $15,$23 213076c4f342Schristos xor $25,$7,$24 213176c4f342Schristos addu $1,$6 213276c4f342Schristos xor $15,$12 213376c4f342Schristos and $25,$3 213476c4f342Schristos addu $1,$14 213576c4f342Schristos rotr $15,$15,31 213676c4f342Schristos rotr $3,$3,2 213776c4f342Schristos addu $1,$25 213876c4f342Schristos#else 213976c4f342Schristos xor $15,$17 214076c4f342Schristos sll $25,$2,5 # 54 214176c4f342Schristos addu $1,$31 214276c4f342Schristos srl $6,$2,27 214376c4f342Schristos addu $1,$25 214476c4f342Schristos xor $15,$23 214576c4f342Schristos and $25,$7,$24 214676c4f342Schristos addu $1,$6 214776c4f342Schristos xor $15,$12 214876c4f342Schristos sll $30,$3,30 214976c4f342Schristos addu $1,$25 215076c4f342Schristos srl $6,$15,31 215176c4f342Schristos xor $25,$7,$24 215276c4f342Schristos addu $15,$15 215376c4f342Schristos and $25,$3 215476c4f342Schristos srl $3,$3,2 215576c4f342Schristos or $15,$6 215676c4f342Schristos addu $1,$14 215776c4f342Schristos or $3,$30 215876c4f342Schristos addu $1,$25 215976c4f342Schristos#endif 216076c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 216176c4f342Schristos addu $24,$31 # 55 216276c4f342Schristos and $25,$3,$7 216376c4f342Schristos xor $16,$18 216476c4f342Schristos rotr $6,$1,27 216576c4f342Schristos addu $24,$25 216676c4f342Schristos xor $16,$8 216776c4f342Schristos xor $25,$3,$7 216876c4f342Schristos addu $24,$6 216976c4f342Schristos xor $16,$13 217076c4f342Schristos and $25,$2 217176c4f342Schristos addu $24,$15 217276c4f342Schristos rotr $16,$16,31 217376c4f342Schristos rotr $2,$2,2 217476c4f342Schristos addu $24,$25 217576c4f342Schristos#else 217676c4f342Schristos xor $16,$18 217776c4f342Schristos sll $25,$1,5 # 55 217876c4f342Schristos addu $24,$31 217976c4f342Schristos srl $6,$1,27 218076c4f342Schristos addu $24,$25 218176c4f342Schristos xor $16,$8 218276c4f342Schristos and $25,$3,$7 218376c4f342Schristos addu $24,$6 218476c4f342Schristos xor $16,$13 218576c4f342Schristos sll $30,$2,30 218676c4f342Schristos addu $24,$25 218776c4f342Schristos srl $6,$16,31 218876c4f342Schristos xor $25,$3,$7 218976c4f342Schristos addu $16,$16 219076c4f342Schristos and $25,$2 219176c4f342Schristos srl $2,$2,2 219276c4f342Schristos or $16,$6 219376c4f342Schristos addu $24,$15 219476c4f342Schristos or $2,$30 219576c4f342Schristos addu $24,$25 219676c4f342Schristos#endif 219776c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 219876c4f342Schristos addu $7,$31 # 56 219976c4f342Schristos and $25,$2,$3 220076c4f342Schristos xor $17,$19 220176c4f342Schristos rotr $6,$24,27 220276c4f342Schristos addu $7,$25 220376c4f342Schristos xor $17,$9 220476c4f342Schristos xor $25,$2,$3 220576c4f342Schristos addu $7,$6 220676c4f342Schristos xor $17,$14 220776c4f342Schristos and $25,$1 220876c4f342Schristos addu $7,$16 220976c4f342Schristos rotr $17,$17,31 221076c4f342Schristos rotr $1,$1,2 221176c4f342Schristos addu $7,$25 221276c4f342Schristos#else 221376c4f342Schristos xor $17,$19 221476c4f342Schristos sll $25,$24,5 # 56 221576c4f342Schristos addu $7,$31 221676c4f342Schristos srl $6,$24,27 221776c4f342Schristos addu $7,$25 221876c4f342Schristos xor $17,$9 221976c4f342Schristos and $25,$2,$3 222076c4f342Schristos addu $7,$6 222176c4f342Schristos xor $17,$14 222276c4f342Schristos sll $30,$1,30 222376c4f342Schristos addu $7,$25 222476c4f342Schristos srl $6,$17,31 222576c4f342Schristos xor $25,$2,$3 222676c4f342Schristos addu $17,$17 222776c4f342Schristos and $25,$1 222876c4f342Schristos srl $1,$1,2 222976c4f342Schristos or $17,$6 223076c4f342Schristos addu $7,$16 223176c4f342Schristos or $1,$30 223276c4f342Schristos addu $7,$25 223376c4f342Schristos#endif 223476c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 223576c4f342Schristos addu $3,$31 # 57 223676c4f342Schristos and $25,$1,$2 223776c4f342Schristos xor $18,$20 223876c4f342Schristos rotr $6,$7,27 223976c4f342Schristos addu $3,$25 224076c4f342Schristos xor $18,$10 224176c4f342Schristos xor $25,$1,$2 224276c4f342Schristos addu $3,$6 224376c4f342Schristos xor $18,$15 224476c4f342Schristos and $25,$24 224576c4f342Schristos addu $3,$17 224676c4f342Schristos rotr $18,$18,31 224776c4f342Schristos rotr $24,$24,2 224876c4f342Schristos addu $3,$25 224976c4f342Schristos#else 225076c4f342Schristos xor $18,$20 225176c4f342Schristos sll $25,$7,5 # 57 225276c4f342Schristos addu $3,$31 225376c4f342Schristos srl $6,$7,27 225476c4f342Schristos addu $3,$25 225576c4f342Schristos xor $18,$10 225676c4f342Schristos and $25,$1,$2 225776c4f342Schristos addu $3,$6 225876c4f342Schristos xor $18,$15 225976c4f342Schristos sll $30,$24,30 226076c4f342Schristos addu $3,$25 226176c4f342Schristos srl $6,$18,31 226276c4f342Schristos xor $25,$1,$2 226376c4f342Schristos addu $18,$18 226476c4f342Schristos and $25,$24 226576c4f342Schristos srl $24,$24,2 226676c4f342Schristos or $18,$6 226776c4f342Schristos addu $3,$17 226876c4f342Schristos or $24,$30 226976c4f342Schristos addu $3,$25 227076c4f342Schristos#endif 227176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 227276c4f342Schristos addu $2,$31 # 58 227376c4f342Schristos and $25,$24,$1 227476c4f342Schristos xor $19,$21 227576c4f342Schristos rotr $6,$3,27 227676c4f342Schristos addu $2,$25 227776c4f342Schristos xor $19,$11 227876c4f342Schristos xor $25,$24,$1 227976c4f342Schristos addu $2,$6 228076c4f342Schristos xor $19,$16 228176c4f342Schristos and $25,$7 228276c4f342Schristos addu $2,$18 228376c4f342Schristos rotr $19,$19,31 228476c4f342Schristos rotr $7,$7,2 228576c4f342Schristos addu $2,$25 228676c4f342Schristos#else 228776c4f342Schristos xor $19,$21 228876c4f342Schristos sll $25,$3,5 # 58 228976c4f342Schristos addu $2,$31 229076c4f342Schristos srl $6,$3,27 229176c4f342Schristos addu $2,$25 229276c4f342Schristos xor $19,$11 229376c4f342Schristos and $25,$24,$1 229476c4f342Schristos addu $2,$6 229576c4f342Schristos xor $19,$16 229676c4f342Schristos sll $30,$7,30 229776c4f342Schristos addu $2,$25 229876c4f342Schristos srl $6,$19,31 229976c4f342Schristos xor $25,$24,$1 230076c4f342Schristos addu $19,$19 230176c4f342Schristos and $25,$7 230276c4f342Schristos srl $7,$7,2 230376c4f342Schristos or $19,$6 230476c4f342Schristos addu $2,$18 230576c4f342Schristos or $7,$30 230676c4f342Schristos addu $2,$25 230776c4f342Schristos#endif 230876c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 230976c4f342Schristos addu $1,$31 # 59 231076c4f342Schristos and $25,$7,$24 231176c4f342Schristos xor $20,$22 231276c4f342Schristos rotr $6,$2,27 231376c4f342Schristos addu $1,$25 231476c4f342Schristos xor $20,$12 231576c4f342Schristos xor $25,$7,$24 231676c4f342Schristos addu $1,$6 231776c4f342Schristos xor $20,$17 231876c4f342Schristos and $25,$3 231976c4f342Schristos addu $1,$19 232076c4f342Schristos rotr $20,$20,31 232176c4f342Schristos rotr $3,$3,2 232276c4f342Schristos addu $1,$25 232376c4f342Schristos#else 232476c4f342Schristos xor $20,$22 232576c4f342Schristos sll $25,$2,5 # 59 232676c4f342Schristos addu $1,$31 232776c4f342Schristos srl $6,$2,27 232876c4f342Schristos addu $1,$25 232976c4f342Schristos xor $20,$12 233076c4f342Schristos and $25,$7,$24 233176c4f342Schristos addu $1,$6 233276c4f342Schristos xor $20,$17 233376c4f342Schristos sll $30,$3,30 233476c4f342Schristos addu $1,$25 233576c4f342Schristos srl $6,$20,31 233676c4f342Schristos xor $25,$7,$24 233776c4f342Schristos addu $20,$20 233876c4f342Schristos and $25,$3 233976c4f342Schristos srl $3,$3,2 234076c4f342Schristos or $20,$6 234176c4f342Schristos addu $1,$19 234276c4f342Schristos or $3,$30 234376c4f342Schristos addu $1,$25 234476c4f342Schristos#endif 234576c4f342Schristos lui $31,0xca62 234676c4f342Schristos ori $31,0xc1d6 # K_60_79 234776c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 234876c4f342Schristos xor $21,$23 234976c4f342Schristos addu $24,$31 # 60 235076c4f342Schristos rotr $6,$1,27 235176c4f342Schristos xor $21,$13 235276c4f342Schristos xor $25,$3,$7 235376c4f342Schristos addu $24,$6 235476c4f342Schristos xor $21,$18 235576c4f342Schristos xor $25,$2 235676c4f342Schristos addu $24,$20 235776c4f342Schristos rotr $21,$21,31 235876c4f342Schristos rotr $2,$2,2 235976c4f342Schristos addu $24,$25 236076c4f342Schristos#else 236176c4f342Schristos xor $21,$23 236276c4f342Schristos sll $25,$1,5 # 60 236376c4f342Schristos addu $24,$31 236476c4f342Schristos srl $6,$1,27 236576c4f342Schristos addu $24,$25 236676c4f342Schristos xor $21,$13 236776c4f342Schristos xor $25,$3,$7 236876c4f342Schristos addu $24,$6 236976c4f342Schristos xor $21,$18 237076c4f342Schristos sll $30,$2,30 237176c4f342Schristos xor $25,$2 237276c4f342Schristos srl $6,$21,31 237376c4f342Schristos addu $21,$21 237476c4f342Schristos srl $2,$2,2 237576c4f342Schristos addu $24,$20 237676c4f342Schristos or $21,$6 237776c4f342Schristos or $2,$30 237876c4f342Schristos addu $24,$25 237976c4f342Schristos#endif 238076c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 238176c4f342Schristos xor $22,$8 238276c4f342Schristos addu $7,$31 # 61 238376c4f342Schristos rotr $6,$24,27 238476c4f342Schristos xor $22,$14 238576c4f342Schristos xor $25,$2,$3 238676c4f342Schristos addu $7,$6 238776c4f342Schristos xor $22,$19 238876c4f342Schristos xor $25,$1 238976c4f342Schristos addu $7,$21 239076c4f342Schristos rotr $22,$22,31 239176c4f342Schristos rotr $1,$1,2 239276c4f342Schristos addu $7,$25 239376c4f342Schristos#else 239476c4f342Schristos xor $22,$8 239576c4f342Schristos sll $25,$24,5 # 61 239676c4f342Schristos addu $7,$31 239776c4f342Schristos srl $6,$24,27 239876c4f342Schristos addu $7,$25 239976c4f342Schristos xor $22,$14 240076c4f342Schristos xor $25,$2,$3 240176c4f342Schristos addu $7,$6 240276c4f342Schristos xor $22,$19 240376c4f342Schristos sll $30,$1,30 240476c4f342Schristos xor $25,$1 240576c4f342Schristos srl $6,$22,31 240676c4f342Schristos addu $22,$22 240776c4f342Schristos srl $1,$1,2 240876c4f342Schristos addu $7,$21 240976c4f342Schristos or $22,$6 241076c4f342Schristos or $1,$30 241176c4f342Schristos addu $7,$25 241276c4f342Schristos#endif 241376c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 241476c4f342Schristos xor $23,$9 241576c4f342Schristos addu $3,$31 # 62 241676c4f342Schristos rotr $6,$7,27 241776c4f342Schristos xor $23,$15 241876c4f342Schristos xor $25,$1,$2 241976c4f342Schristos addu $3,$6 242076c4f342Schristos xor $23,$20 242176c4f342Schristos xor $25,$24 242276c4f342Schristos addu $3,$22 242376c4f342Schristos rotr $23,$23,31 242476c4f342Schristos rotr $24,$24,2 242576c4f342Schristos addu $3,$25 242676c4f342Schristos#else 242776c4f342Schristos xor $23,$9 242876c4f342Schristos sll $25,$7,5 # 62 242976c4f342Schristos addu $3,$31 243076c4f342Schristos srl $6,$7,27 243176c4f342Schristos addu $3,$25 243276c4f342Schristos xor $23,$15 243376c4f342Schristos xor $25,$1,$2 243476c4f342Schristos addu $3,$6 243576c4f342Schristos xor $23,$20 243676c4f342Schristos sll $30,$24,30 243776c4f342Schristos xor $25,$24 243876c4f342Schristos srl $6,$23,31 243976c4f342Schristos addu $23,$23 244076c4f342Schristos srl $24,$24,2 244176c4f342Schristos addu $3,$22 244276c4f342Schristos or $23,$6 244376c4f342Schristos or $24,$30 244476c4f342Schristos addu $3,$25 244576c4f342Schristos#endif 244676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 244776c4f342Schristos xor $8,$10 244876c4f342Schristos addu $2,$31 # 63 244976c4f342Schristos rotr $6,$3,27 245076c4f342Schristos xor $8,$16 245176c4f342Schristos xor $25,$24,$1 245276c4f342Schristos addu $2,$6 245376c4f342Schristos xor $8,$21 245476c4f342Schristos xor $25,$7 245576c4f342Schristos addu $2,$23 245676c4f342Schristos rotr $8,$8,31 245776c4f342Schristos rotr $7,$7,2 245876c4f342Schristos addu $2,$25 245976c4f342Schristos#else 246076c4f342Schristos xor $8,$10 246176c4f342Schristos sll $25,$3,5 # 63 246276c4f342Schristos addu $2,$31 246376c4f342Schristos srl $6,$3,27 246476c4f342Schristos addu $2,$25 246576c4f342Schristos xor $8,$16 246676c4f342Schristos xor $25,$24,$1 246776c4f342Schristos addu $2,$6 246876c4f342Schristos xor $8,$21 246976c4f342Schristos sll $30,$7,30 247076c4f342Schristos xor $25,$7 247176c4f342Schristos srl $6,$8,31 247276c4f342Schristos addu $8,$8 247376c4f342Schristos srl $7,$7,2 247476c4f342Schristos addu $2,$23 247576c4f342Schristos or $8,$6 247676c4f342Schristos or $7,$30 247776c4f342Schristos addu $2,$25 247876c4f342Schristos#endif 247976c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 248076c4f342Schristos xor $9,$11 248176c4f342Schristos addu $1,$31 # 64 248276c4f342Schristos rotr $6,$2,27 248376c4f342Schristos xor $9,$17 248476c4f342Schristos xor $25,$7,$24 248576c4f342Schristos addu $1,$6 248676c4f342Schristos xor $9,$22 248776c4f342Schristos xor $25,$3 248876c4f342Schristos addu $1,$8 248976c4f342Schristos rotr $9,$9,31 249076c4f342Schristos rotr $3,$3,2 249176c4f342Schristos addu $1,$25 249276c4f342Schristos#else 249376c4f342Schristos xor $9,$11 249476c4f342Schristos sll $25,$2,5 # 64 249576c4f342Schristos addu $1,$31 249676c4f342Schristos srl $6,$2,27 249776c4f342Schristos addu $1,$25 249876c4f342Schristos xor $9,$17 249976c4f342Schristos xor $25,$7,$24 250076c4f342Schristos addu $1,$6 250176c4f342Schristos xor $9,$22 250276c4f342Schristos sll $30,$3,30 250376c4f342Schristos xor $25,$3 250476c4f342Schristos srl $6,$9,31 250576c4f342Schristos addu $9,$9 250676c4f342Schristos srl $3,$3,2 250776c4f342Schristos addu $1,$8 250876c4f342Schristos or $9,$6 250976c4f342Schristos or $3,$30 251076c4f342Schristos addu $1,$25 251176c4f342Schristos#endif 251276c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 251376c4f342Schristos xor $10,$12 251476c4f342Schristos addu $24,$31 # 65 251576c4f342Schristos rotr $6,$1,27 251676c4f342Schristos xor $10,$18 251776c4f342Schristos xor $25,$3,$7 251876c4f342Schristos addu $24,$6 251976c4f342Schristos xor $10,$23 252076c4f342Schristos xor $25,$2 252176c4f342Schristos addu $24,$9 252276c4f342Schristos rotr $10,$10,31 252376c4f342Schristos rotr $2,$2,2 252476c4f342Schristos addu $24,$25 252576c4f342Schristos#else 252676c4f342Schristos xor $10,$12 252776c4f342Schristos sll $25,$1,5 # 65 252876c4f342Schristos addu $24,$31 252976c4f342Schristos srl $6,$1,27 253076c4f342Schristos addu $24,$25 253176c4f342Schristos xor $10,$18 253276c4f342Schristos xor $25,$3,$7 253376c4f342Schristos addu $24,$6 253476c4f342Schristos xor $10,$23 253576c4f342Schristos sll $30,$2,30 253676c4f342Schristos xor $25,$2 253776c4f342Schristos srl $6,$10,31 253876c4f342Schristos addu $10,$10 253976c4f342Schristos srl $2,$2,2 254076c4f342Schristos addu $24,$9 254176c4f342Schristos or $10,$6 254276c4f342Schristos or $2,$30 254376c4f342Schristos addu $24,$25 254476c4f342Schristos#endif 254576c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 254676c4f342Schristos xor $11,$13 254776c4f342Schristos addu $7,$31 # 66 254876c4f342Schristos rotr $6,$24,27 254976c4f342Schristos xor $11,$19 255076c4f342Schristos xor $25,$2,$3 255176c4f342Schristos addu $7,$6 255276c4f342Schristos xor $11,$8 255376c4f342Schristos xor $25,$1 255476c4f342Schristos addu $7,$10 255576c4f342Schristos rotr $11,$11,31 255676c4f342Schristos rotr $1,$1,2 255776c4f342Schristos addu $7,$25 255876c4f342Schristos#else 255976c4f342Schristos xor $11,$13 256076c4f342Schristos sll $25,$24,5 # 66 256176c4f342Schristos addu $7,$31 256276c4f342Schristos srl $6,$24,27 256376c4f342Schristos addu $7,$25 256476c4f342Schristos xor $11,$19 256576c4f342Schristos xor $25,$2,$3 256676c4f342Schristos addu $7,$6 256776c4f342Schristos xor $11,$8 256876c4f342Schristos sll $30,$1,30 256976c4f342Schristos xor $25,$1 257076c4f342Schristos srl $6,$11,31 257176c4f342Schristos addu $11,$11 257276c4f342Schristos srl $1,$1,2 257376c4f342Schristos addu $7,$10 257476c4f342Schristos or $11,$6 257576c4f342Schristos or $1,$30 257676c4f342Schristos addu $7,$25 257776c4f342Schristos#endif 257876c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 257976c4f342Schristos xor $12,$14 258076c4f342Schristos addu $3,$31 # 67 258176c4f342Schristos rotr $6,$7,27 258276c4f342Schristos xor $12,$20 258376c4f342Schristos xor $25,$1,$2 258476c4f342Schristos addu $3,$6 258576c4f342Schristos xor $12,$9 258676c4f342Schristos xor $25,$24 258776c4f342Schristos addu $3,$11 258876c4f342Schristos rotr $12,$12,31 258976c4f342Schristos rotr $24,$24,2 259076c4f342Schristos addu $3,$25 259176c4f342Schristos#else 259276c4f342Schristos xor $12,$14 259376c4f342Schristos sll $25,$7,5 # 67 259476c4f342Schristos addu $3,$31 259576c4f342Schristos srl $6,$7,27 259676c4f342Schristos addu $3,$25 259776c4f342Schristos xor $12,$20 259876c4f342Schristos xor $25,$1,$2 259976c4f342Schristos addu $3,$6 260076c4f342Schristos xor $12,$9 260176c4f342Schristos sll $30,$24,30 260276c4f342Schristos xor $25,$24 260376c4f342Schristos srl $6,$12,31 260476c4f342Schristos addu $12,$12 260576c4f342Schristos srl $24,$24,2 260676c4f342Schristos addu $3,$11 260776c4f342Schristos or $12,$6 260876c4f342Schristos or $24,$30 260976c4f342Schristos addu $3,$25 261076c4f342Schristos#endif 261176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 261276c4f342Schristos xor $13,$15 261376c4f342Schristos addu $2,$31 # 68 261476c4f342Schristos rotr $6,$3,27 261576c4f342Schristos xor $13,$21 261676c4f342Schristos xor $25,$24,$1 261776c4f342Schristos addu $2,$6 261876c4f342Schristos xor $13,$10 261976c4f342Schristos xor $25,$7 262076c4f342Schristos addu $2,$12 262176c4f342Schristos rotr $13,$13,31 262276c4f342Schristos rotr $7,$7,2 262376c4f342Schristos addu $2,$25 262476c4f342Schristos#else 262576c4f342Schristos xor $13,$15 262676c4f342Schristos sll $25,$3,5 # 68 262776c4f342Schristos addu $2,$31 262876c4f342Schristos srl $6,$3,27 262976c4f342Schristos addu $2,$25 263076c4f342Schristos xor $13,$21 263176c4f342Schristos xor $25,$24,$1 263276c4f342Schristos addu $2,$6 263376c4f342Schristos xor $13,$10 263476c4f342Schristos sll $30,$7,30 263576c4f342Schristos xor $25,$7 263676c4f342Schristos srl $6,$13,31 263776c4f342Schristos addu $13,$13 263876c4f342Schristos srl $7,$7,2 263976c4f342Schristos addu $2,$12 264076c4f342Schristos or $13,$6 264176c4f342Schristos or $7,$30 264276c4f342Schristos addu $2,$25 264376c4f342Schristos#endif 264476c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 264576c4f342Schristos xor $14,$16 264676c4f342Schristos addu $1,$31 # 69 264776c4f342Schristos rotr $6,$2,27 264876c4f342Schristos xor $14,$22 264976c4f342Schristos xor $25,$7,$24 265076c4f342Schristos addu $1,$6 265176c4f342Schristos xor $14,$11 265276c4f342Schristos xor $25,$3 265376c4f342Schristos addu $1,$13 265476c4f342Schristos rotr $14,$14,31 265576c4f342Schristos rotr $3,$3,2 265676c4f342Schristos addu $1,$25 265776c4f342Schristos#else 265876c4f342Schristos xor $14,$16 265976c4f342Schristos sll $25,$2,5 # 69 266076c4f342Schristos addu $1,$31 266176c4f342Schristos srl $6,$2,27 266276c4f342Schristos addu $1,$25 266376c4f342Schristos xor $14,$22 266476c4f342Schristos xor $25,$7,$24 266576c4f342Schristos addu $1,$6 266676c4f342Schristos xor $14,$11 266776c4f342Schristos sll $30,$3,30 266876c4f342Schristos xor $25,$3 266976c4f342Schristos srl $6,$14,31 267076c4f342Schristos addu $14,$14 267176c4f342Schristos srl $3,$3,2 267276c4f342Schristos addu $1,$13 267376c4f342Schristos or $14,$6 267476c4f342Schristos or $3,$30 267576c4f342Schristos addu $1,$25 267676c4f342Schristos#endif 267776c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 267876c4f342Schristos xor $15,$17 267976c4f342Schristos addu $24,$31 # 70 268076c4f342Schristos rotr $6,$1,27 268176c4f342Schristos xor $15,$23 268276c4f342Schristos xor $25,$3,$7 268376c4f342Schristos addu $24,$6 268476c4f342Schristos xor $15,$12 268576c4f342Schristos xor $25,$2 268676c4f342Schristos addu $24,$14 268776c4f342Schristos rotr $15,$15,31 268876c4f342Schristos rotr $2,$2,2 268976c4f342Schristos addu $24,$25 269076c4f342Schristos#else 269176c4f342Schristos xor $15,$17 269276c4f342Schristos sll $25,$1,5 # 70 269376c4f342Schristos addu $24,$31 269476c4f342Schristos srl $6,$1,27 269576c4f342Schristos addu $24,$25 269676c4f342Schristos xor $15,$23 269776c4f342Schristos xor $25,$3,$7 269876c4f342Schristos addu $24,$6 269976c4f342Schristos xor $15,$12 270076c4f342Schristos sll $30,$2,30 270176c4f342Schristos xor $25,$2 270276c4f342Schristos srl $6,$15,31 270376c4f342Schristos addu $15,$15 270476c4f342Schristos srl $2,$2,2 270576c4f342Schristos addu $24,$14 270676c4f342Schristos or $15,$6 270776c4f342Schristos or $2,$30 270876c4f342Schristos addu $24,$25 270976c4f342Schristos#endif 271076c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 271176c4f342Schristos xor $16,$18 271276c4f342Schristos addu $7,$31 # 71 271376c4f342Schristos rotr $6,$24,27 271476c4f342Schristos xor $16,$8 271576c4f342Schristos xor $25,$2,$3 271676c4f342Schristos addu $7,$6 271776c4f342Schristos xor $16,$13 271876c4f342Schristos xor $25,$1 271976c4f342Schristos addu $7,$15 272076c4f342Schristos rotr $16,$16,31 272176c4f342Schristos rotr $1,$1,2 272276c4f342Schristos addu $7,$25 272376c4f342Schristos#else 272476c4f342Schristos xor $16,$18 272576c4f342Schristos sll $25,$24,5 # 71 272676c4f342Schristos addu $7,$31 272776c4f342Schristos srl $6,$24,27 272876c4f342Schristos addu $7,$25 272976c4f342Schristos xor $16,$8 273076c4f342Schristos xor $25,$2,$3 273176c4f342Schristos addu $7,$6 273276c4f342Schristos xor $16,$13 273376c4f342Schristos sll $30,$1,30 273476c4f342Schristos xor $25,$1 273576c4f342Schristos srl $6,$16,31 273676c4f342Schristos addu $16,$16 273776c4f342Schristos srl $1,$1,2 273876c4f342Schristos addu $7,$15 273976c4f342Schristos or $16,$6 274076c4f342Schristos or $1,$30 274176c4f342Schristos addu $7,$25 274276c4f342Schristos#endif 274376c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 274476c4f342Schristos xor $17,$19 274576c4f342Schristos addu $3,$31 # 72 274676c4f342Schristos rotr $6,$7,27 274776c4f342Schristos xor $17,$9 274876c4f342Schristos xor $25,$1,$2 274976c4f342Schristos addu $3,$6 275076c4f342Schristos xor $17,$14 275176c4f342Schristos xor $25,$24 275276c4f342Schristos addu $3,$16 275376c4f342Schristos rotr $17,$17,31 275476c4f342Schristos rotr $24,$24,2 275576c4f342Schristos addu $3,$25 275676c4f342Schristos#else 275776c4f342Schristos xor $17,$19 275876c4f342Schristos sll $25,$7,5 # 72 275976c4f342Schristos addu $3,$31 276076c4f342Schristos srl $6,$7,27 276176c4f342Schristos addu $3,$25 276276c4f342Schristos xor $17,$9 276376c4f342Schristos xor $25,$1,$2 276476c4f342Schristos addu $3,$6 276576c4f342Schristos xor $17,$14 276676c4f342Schristos sll $30,$24,30 276776c4f342Schristos xor $25,$24 276876c4f342Schristos srl $6,$17,31 276976c4f342Schristos addu $17,$17 277076c4f342Schristos srl $24,$24,2 277176c4f342Schristos addu $3,$16 277276c4f342Schristos or $17,$6 277376c4f342Schristos or $24,$30 277476c4f342Schristos addu $3,$25 277576c4f342Schristos#endif 277676c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 277776c4f342Schristos xor $18,$20 277876c4f342Schristos addu $2,$31 # 73 277976c4f342Schristos rotr $6,$3,27 278076c4f342Schristos xor $18,$10 278176c4f342Schristos xor $25,$24,$1 278276c4f342Schristos addu $2,$6 278376c4f342Schristos xor $18,$15 278476c4f342Schristos xor $25,$7 278576c4f342Schristos addu $2,$17 278676c4f342Schristos rotr $18,$18,31 278776c4f342Schristos rotr $7,$7,2 278876c4f342Schristos addu $2,$25 278976c4f342Schristos#else 279076c4f342Schristos xor $18,$20 279176c4f342Schristos sll $25,$3,5 # 73 279276c4f342Schristos addu $2,$31 279376c4f342Schristos srl $6,$3,27 279476c4f342Schristos addu $2,$25 279576c4f342Schristos xor $18,$10 279676c4f342Schristos xor $25,$24,$1 279776c4f342Schristos addu $2,$6 279876c4f342Schristos xor $18,$15 279976c4f342Schristos sll $30,$7,30 280076c4f342Schristos xor $25,$7 280176c4f342Schristos srl $6,$18,31 280276c4f342Schristos addu $18,$18 280376c4f342Schristos srl $7,$7,2 280476c4f342Schristos addu $2,$17 280576c4f342Schristos or $18,$6 280676c4f342Schristos or $7,$30 280776c4f342Schristos addu $2,$25 280876c4f342Schristos#endif 280976c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 281076c4f342Schristos xor $19,$21 281176c4f342Schristos addu $1,$31 # 74 281276c4f342Schristos rotr $6,$2,27 281376c4f342Schristos xor $19,$11 281476c4f342Schristos xor $25,$7,$24 281576c4f342Schristos addu $1,$6 281676c4f342Schristos xor $19,$16 281776c4f342Schristos xor $25,$3 281876c4f342Schristos addu $1,$18 281976c4f342Schristos rotr $19,$19,31 282076c4f342Schristos rotr $3,$3,2 282176c4f342Schristos addu $1,$25 282276c4f342Schristos#else 282376c4f342Schristos xor $19,$21 282476c4f342Schristos sll $25,$2,5 # 74 282576c4f342Schristos addu $1,$31 282676c4f342Schristos srl $6,$2,27 282776c4f342Schristos addu $1,$25 282876c4f342Schristos xor $19,$11 282976c4f342Schristos xor $25,$7,$24 283076c4f342Schristos addu $1,$6 283176c4f342Schristos xor $19,$16 283276c4f342Schristos sll $30,$3,30 283376c4f342Schristos xor $25,$3 283476c4f342Schristos srl $6,$19,31 283576c4f342Schristos addu $19,$19 283676c4f342Schristos srl $3,$3,2 283776c4f342Schristos addu $1,$18 283876c4f342Schristos or $19,$6 283976c4f342Schristos or $3,$30 284076c4f342Schristos addu $1,$25 284176c4f342Schristos#endif 284276c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 284376c4f342Schristos xor $20,$22 284476c4f342Schristos addu $24,$31 # 75 284576c4f342Schristos rotr $6,$1,27 284676c4f342Schristos xor $20,$12 284776c4f342Schristos xor $25,$3,$7 284876c4f342Schristos addu $24,$6 284976c4f342Schristos xor $20,$17 285076c4f342Schristos xor $25,$2 285176c4f342Schristos addu $24,$19 285276c4f342Schristos rotr $20,$20,31 285376c4f342Schristos rotr $2,$2,2 285476c4f342Schristos addu $24,$25 285576c4f342Schristos#else 285676c4f342Schristos xor $20,$22 285776c4f342Schristos sll $25,$1,5 # 75 285876c4f342Schristos addu $24,$31 285976c4f342Schristos srl $6,$1,27 286076c4f342Schristos addu $24,$25 286176c4f342Schristos xor $20,$12 286276c4f342Schristos xor $25,$3,$7 286376c4f342Schristos addu $24,$6 286476c4f342Schristos xor $20,$17 286576c4f342Schristos sll $30,$2,30 286676c4f342Schristos xor $25,$2 286776c4f342Schristos srl $6,$20,31 286876c4f342Schristos addu $20,$20 286976c4f342Schristos srl $2,$2,2 287076c4f342Schristos addu $24,$19 287176c4f342Schristos or $20,$6 287276c4f342Schristos or $2,$30 287376c4f342Schristos addu $24,$25 287476c4f342Schristos#endif 287576c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 287676c4f342Schristos xor $21,$23 287776c4f342Schristos addu $7,$31 # 76 287876c4f342Schristos rotr $6,$24,27 287976c4f342Schristos xor $21,$13 288076c4f342Schristos xor $25,$2,$3 288176c4f342Schristos addu $7,$6 288276c4f342Schristos xor $21,$18 288376c4f342Schristos xor $25,$1 288476c4f342Schristos addu $7,$20 288576c4f342Schristos rotr $21,$21,31 288676c4f342Schristos rotr $1,$1,2 288776c4f342Schristos addu $7,$25 288876c4f342Schristos#else 288976c4f342Schristos xor $21,$23 289076c4f342Schristos sll $25,$24,5 # 76 289176c4f342Schristos addu $7,$31 289276c4f342Schristos srl $6,$24,27 289376c4f342Schristos addu $7,$25 289476c4f342Schristos xor $21,$13 289576c4f342Schristos xor $25,$2,$3 289676c4f342Schristos addu $7,$6 289776c4f342Schristos xor $21,$18 289876c4f342Schristos sll $30,$1,30 289976c4f342Schristos xor $25,$1 290076c4f342Schristos srl $6,$21,31 290176c4f342Schristos addu $21,$21 290276c4f342Schristos srl $1,$1,2 290376c4f342Schristos addu $7,$20 290476c4f342Schristos or $21,$6 290576c4f342Schristos or $1,$30 290676c4f342Schristos addu $7,$25 290776c4f342Schristos#endif 290876c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 290976c4f342Schristos xor $22,$8 291076c4f342Schristos addu $3,$31 # 77 291176c4f342Schristos rotr $6,$7,27 291276c4f342Schristos xor $22,$14 291376c4f342Schristos xor $25,$1,$2 291476c4f342Schristos addu $3,$6 291576c4f342Schristos xor $22,$19 291676c4f342Schristos xor $25,$24 291776c4f342Schristos addu $3,$21 291876c4f342Schristos rotr $22,$22,31 291976c4f342Schristos rotr $24,$24,2 292076c4f342Schristos addu $3,$25 292176c4f342Schristos#else 292276c4f342Schristos xor $22,$8 292376c4f342Schristos sll $25,$7,5 # 77 292476c4f342Schristos addu $3,$31 292576c4f342Schristos srl $6,$7,27 292676c4f342Schristos addu $3,$25 292776c4f342Schristos xor $22,$14 292876c4f342Schristos xor $25,$1,$2 292976c4f342Schristos addu $3,$6 293076c4f342Schristos xor $22,$19 293176c4f342Schristos sll $30,$24,30 293276c4f342Schristos xor $25,$24 293376c4f342Schristos srl $6,$22,31 293476c4f342Schristos addu $22,$22 293576c4f342Schristos srl $24,$24,2 293676c4f342Schristos addu $3,$21 293776c4f342Schristos or $22,$6 293876c4f342Schristos or $24,$30 293976c4f342Schristos addu $3,$25 294076c4f342Schristos#endif 294176c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 294276c4f342Schristos xor $23,$9 294376c4f342Schristos addu $2,$31 # 78 294476c4f342Schristos rotr $6,$3,27 294576c4f342Schristos xor $23,$15 294676c4f342Schristos xor $25,$24,$1 294776c4f342Schristos addu $2,$6 294876c4f342Schristos xor $23,$20 294976c4f342Schristos xor $25,$7 295076c4f342Schristos addu $2,$22 295176c4f342Schristos rotr $23,$23,31 295276c4f342Schristos rotr $7,$7,2 295376c4f342Schristos addu $2,$25 295476c4f342Schristos#else 295576c4f342Schristos xor $23,$9 295676c4f342Schristos sll $25,$3,5 # 78 295776c4f342Schristos addu $2,$31 295876c4f342Schristos srl $6,$3,27 295976c4f342Schristos addu $2,$25 296076c4f342Schristos xor $23,$15 296176c4f342Schristos xor $25,$24,$1 296276c4f342Schristos addu $2,$6 296376c4f342Schristos xor $23,$20 296476c4f342Schristos sll $30,$7,30 296576c4f342Schristos xor $25,$7 296676c4f342Schristos srl $6,$23,31 296776c4f342Schristos addu $23,$23 296876c4f342Schristos srl $7,$7,2 296976c4f342Schristos addu $2,$22 297076c4f342Schristos or $23,$6 297176c4f342Schristos or $7,$30 297276c4f342Schristos addu $2,$25 297376c4f342Schristos#endif 297476c4f342Schristos#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 297576c4f342Schristos lw $8,0($4) 297676c4f342Schristos addu $1,$31 # 79 297776c4f342Schristos lw $9,4($4) 297876c4f342Schristos rotr $6,$2,27 297976c4f342Schristos lw $10,8($4) 298076c4f342Schristos xor $25,$7,$24 298176c4f342Schristos addu $1,$6 298276c4f342Schristos lw $11,12($4) 298376c4f342Schristos xor $25,$3 298476c4f342Schristos addu $1,$23 298576c4f342Schristos lw $12,16($4) 298676c4f342Schristos rotr $3,$3,2 298776c4f342Schristos addu $1,$25 298876c4f342Schristos#else 298976c4f342Schristos lw $8,0($4) 299076c4f342Schristos sll $25,$2,5 # 79 299176c4f342Schristos addu $1,$31 299276c4f342Schristos lw $9,4($4) 299376c4f342Schristos srl $6,$2,27 299476c4f342Schristos addu $1,$25 299576c4f342Schristos lw $10,8($4) 299676c4f342Schristos xor $25,$7,$24 299776c4f342Schristos addu $1,$6 299876c4f342Schristos lw $11,12($4) 299976c4f342Schristos sll $30,$3,30 300076c4f342Schristos xor $25,$3 300176c4f342Schristos lw $12,16($4) 300276c4f342Schristos srl $3,$3,2 300376c4f342Schristos addu $1,$23 300476c4f342Schristos or $3,$30 300576c4f342Schristos addu $1,$25 300676c4f342Schristos#endif 3007*e0ea3921Schristos addu $5,64 300876c4f342Schristos lw $6,0($29) 300976c4f342Schristos 301076c4f342Schristos addu $1,$8 301176c4f342Schristos addu $2,$9 301276c4f342Schristos sw $1,0($4) 301376c4f342Schristos addu $3,$10 301476c4f342Schristos addu $7,$11 301576c4f342Schristos sw $2,4($4) 301676c4f342Schristos addu $24,$12 301776c4f342Schristos sw $3,8($4) 301876c4f342Schristos sw $7,12($4) 301976c4f342Schristos sw $24,16($4) 302076c4f342Schristos .set noreorder 302176c4f342Schristos bne $5,$6,.Loop 302276c4f342Schristos nop 302376c4f342Schristos 302476c4f342Schristos .set noreorder 302576c4f342Schristos lw $31,(16-1)*4($29) 302676c4f342Schristos lw $30,(16-2)*4($29) 302776c4f342Schristos lw $23,(16-3)*4($29) 302876c4f342Schristos lw $22,(16-4)*4($29) 302976c4f342Schristos lw $21,(16-5)*4($29) 303076c4f342Schristos lw $20,(16-6)*4($29) 303176c4f342Schristos lw $19,(16-7)*4($29) 303276c4f342Schristos lw $18,(16-8)*4($29) 303376c4f342Schristos lw $17,(16-9)*4($29) 303476c4f342Schristos lw $16,(16-10)*4($29) 303576c4f342Schristos jr $31 3036*e0ea3921Schristos addu $29,16*4 303776c4f342Schristos.end sha1_block_data_order 303876c4f342Schristos.rdata 303976c4f342Schristos.asciiz "SHA1 for MIPS, CRYPTOGAMS by <appro@openssl.org>" 3040