Lines Matching refs:SZ
153 $SZ=8;
165 $SZ=4;
180 $_ctx="16*$SZ+0*8(%rsp)";
181 $_inp="16*$SZ+1*8(%rsp)";
182 $_end="16*$SZ+2*8(%rsp)";
183 $_rsp="`16*$SZ+3*8`(%rsp)";
184 $framesz="16*$SZ+4*8";
189 my $STRIDE=$SZ;
190 $STRIDE += 16 if ($i%(16/$SZ)==(16/$SZ-1));
200 mov $T1,`$SZ*($i&0xf)`(%rsp)
240 mov `$SZ*(($i+1)&0xf)`(%rsp),$a0
241 mov `$SZ*(($i+14)&0xf)`(%rsp),$a2
258 add `$SZ*(($i+9)&0xf)`(%rsp),$T1
260 add `$SZ*($i&0xf)`(%rsp),$T1
278 $code.=<<___ if ($SZ==4 || $avx);
284 $code.=<<___ if ($SZ==4 && $shaext);
288 $code.=<<___ if ($avx && $SZ==8);
304 $code.=<<___ if ($SZ==4);
325 lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
334 mov $SZ*0($ctx),$A
335 mov $SZ*1($ctx),$B
336 mov $SZ*2($ctx),$C
337 mov $SZ*3($ctx),$D
338 mov $SZ*4($ctx),$E
339 mov $SZ*5($ctx),$F
340 mov $SZ*6($ctx),$G
341 mov $SZ*7($ctx),$H
351 $code.=" mov $SZ*$i($inp),$T1\n";
369 cmpb \$0,`$SZ-1`($Tbl)
374 lea 16*$SZ($inp),$inp
376 add $SZ*0($ctx),$A
377 add $SZ*1($ctx),$B
378 add $SZ*2($ctx),$C
379 add $SZ*3($ctx),$D
380 add $SZ*4($ctx),$E
381 add $SZ*5($ctx),$F
382 add $SZ*6($ctx),$G
383 add $SZ*7($ctx),$H
387 mov $A,$SZ*0($ctx)
388 mov $B,$SZ*1($ctx)
389 mov $C,$SZ*2($ctx)
390 mov $D,$SZ*3($ctx)
391 mov $E,$SZ*4($ctx)
392 mov $F,$SZ*5($ctx)
393 mov $G,$SZ*6($ctx)
394 mov $H,$SZ*7($ctx)
419 if ($SZ==4) {
560 if ($SZ==4 && $shaext) {{{
751 '&add ($h,$SZ*($i&15)."(%rsp)")', # h+=X[i]+K[i]
779 if ($SZ==4) { # SHA256 only
805 lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
814 movaps %xmm6,16*$SZ+32(%rsp)
815 movaps %xmm7,16*$SZ+48(%rsp)
816 movaps %xmm8,16*$SZ+64(%rsp)
817 movaps %xmm9,16*$SZ+80(%rsp)
822 mov $SZ*0($ctx),$A
823 mov $SZ*1($ctx),$B
824 mov $SZ*2($ctx),$C
825 mov $SZ*3($ctx),$D
826 mov $SZ*4($ctx),$E
827 mov $SZ*5($ctx),$F
828 mov $SZ*6($ctx),$G
829 mov $SZ*7($ctx),$H
833 #movdqa $TABLE+`$SZ*2*$rounds`+32(%rip),$t4
834 #movdqa $TABLE+`$SZ*2*$rounds`+64(%rip),$t5
838 movdqa $TABLE+`$SZ*2*$rounds`(%rip),$t3
868 sub \$`-16*2*$SZ`,$Tbl # size optimization
874 '&palignr ($t0,@X[0],$SZ)', # X[1..4]
875 '&palignr ($t3,@X[2],$SZ);', # X[9..12]
882 '&pslld ($t1,8*$SZ-$sigma0[1]);'.
935 &palignr ($t0,@X[0],$SZ); # X[1..4]
938 &palignr ($t3,@X[2],$SZ); # X[9..12]
962 &pslld ($t1,8*$SZ-$sigma0[1]);
1077 &cmpb ($SZ-1+16*2*$SZ."($Tbl)",0);
1087 add $SZ*0($ctx),$A
1088 lea 16*$SZ($inp),$inp
1089 add $SZ*1($ctx),$B
1090 add $SZ*2($ctx),$C
1091 add $SZ*3($ctx),$D
1092 add $SZ*4($ctx),$E
1093 add $SZ*5($ctx),$F
1094 add $SZ*6($ctx),$G
1095 add $SZ*7($ctx),$H
1099 mov $A,$SZ*0($ctx)
1100 mov $B,$SZ*1($ctx)
1101 mov $C,$SZ*2($ctx)
1102 mov $D,$SZ*3($ctx)
1103 mov $E,$SZ*4($ctx)
1104 mov $F,$SZ*5($ctx)
1105 mov $G,$SZ*6($ctx)
1106 mov $H,$SZ*7($ctx)
1113 movaps 16*$SZ+32(%rsp),%xmm6
1114 movaps 16*$SZ+48(%rsp),%xmm7
1115 movaps 16*$SZ+64(%rsp),%xmm8
1116 movaps 16*$SZ+80(%rsp),%xmm9
1144 if ($SZ==8) { # SHA512 only
1166 sub \$`$framesz+$win64*16*($SZ==4?4:6)`,%rsp
1167 lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
1176 movaps %xmm6,16*$SZ+32(%rsp)
1177 movaps %xmm7,16*$SZ+48(%rsp)
1178 movaps %xmm8,16*$SZ+64(%rsp)
1179 movaps %xmm9,16*$SZ+80(%rsp)
1181 $code.=<<___ if ($win64 && $SZ>4);
1182 movaps %xmm10,16*$SZ+96(%rsp)
1183 movaps %xmm11,16*$SZ+112(%rsp)
1189 mov $SZ*0($ctx),$A
1190 mov $SZ*1($ctx),$B
1191 mov $SZ*2($ctx),$C
1192 mov $SZ*3($ctx),$D
1193 mov $SZ*4($ctx),$E
1194 mov $SZ*5($ctx),$F
1195 mov $SZ*6($ctx),$G
1196 mov $SZ*7($ctx),$H
1199 if ($SZ==4) { # SHA256
1206 vmovdqa $TABLE+`$SZ*2*$rounds`(%rip),$t3
1232 sub \$`-16*2*$SZ`,$Tbl # size optimization
1240 &vpalignr ($t0,@X[1],@X[0],$SZ); # X[1..4]
1243 &vpalignr ($t3,@X[3],@X[2],$SZ); # X[9..12]
1246 &vprotd ($t1,$t0,8*$SZ-$sigma0[1]);
1265 &vprotd ($t3,@X[3],8*$SZ-$sigma1[1]);
1300 &vprotd ($t3,@X[0],8*$SZ-$sigma1[1]);
1338 &cmpb ($SZ-1+16*2*$SZ."($Tbl)",0);
1352 vmovdqa $TABLE+`$SZ*2*$rounds`(%rip),$t3
1394 add \$`16*2*$SZ`,$Tbl
1402 &vpalignr ($t0,@X[1],@X[0],$SZ); # X[1..2]
1405 &vpalignr ($t3,@X[5],@X[4],$SZ); # X[9..10]
1408 &vprotq ($t1,$t0,8*$SZ-$sigma0[1]);
1427 &vprotq ($t3,@X[7],8*$SZ-$sigma1[1]);
1466 &cmpb ($SZ-1+16*2*$SZ-0x80."($Tbl)",0);
1477 add $SZ*0($ctx),$A
1478 lea 16*$SZ($inp),$inp
1479 add $SZ*1($ctx),$B
1480 add $SZ*2($ctx),$C
1481 add $SZ*3($ctx),$D
1482 add $SZ*4($ctx),$E
1483 add $SZ*5($ctx),$F
1484 add $SZ*6($ctx),$G
1485 add $SZ*7($ctx),$H
1489 mov $A,$SZ*0($ctx)
1490 mov $B,$SZ*1($ctx)
1491 mov $C,$SZ*2($ctx)
1492 mov $D,$SZ*3($ctx)
1493 mov $E,$SZ*4($ctx)
1494 mov $F,$SZ*5($ctx)
1495 mov $G,$SZ*6($ctx)
1496 mov $H,$SZ*7($ctx)
1504 movaps 16*$SZ+32(%rsp),%xmm6
1505 movaps 16*$SZ+48(%rsp),%xmm7
1506 movaps 16*$SZ+64(%rsp),%xmm8
1507 movaps 16*$SZ+80(%rsp),%xmm9
1509 $code.=<<___ if ($win64 && $SZ>4);
1510 movaps 16*$SZ+96(%rsp),%xmm10
1511 movaps 16*$SZ+112(%rsp),%xmm11
1560 sub \$`$framesz+$win64*16*($SZ==4?4:6)`,%rsp
1561 lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
1570 movaps %xmm6,16*$SZ+32(%rsp)
1571 movaps %xmm7,16*$SZ+48(%rsp)
1572 movaps %xmm8,16*$SZ+64(%rsp)
1573 movaps %xmm9,16*$SZ+80(%rsp)
1575 $code.=<<___ if ($win64 && $SZ>4);
1576 movaps %xmm10,16*$SZ+96(%rsp)
1577 movaps %xmm11,16*$SZ+112(%rsp)
1583 mov $SZ*0($ctx),$A
1584 mov $SZ*1($ctx),$B
1585 mov $SZ*2($ctx),$C
1586 mov $SZ*3($ctx),$D
1587 mov $SZ*4($ctx),$E
1588 mov $SZ*5($ctx),$F
1589 mov $SZ*6($ctx),$G
1590 mov $SZ*7($ctx),$H
1592 if ($SZ==4) { # SHA256
1597 vmovdqa $TABLE+`$SZ*2*$rounds`+32(%rip),$t4
1598 vmovdqa $TABLE+`$SZ*2*$rounds`+64(%rip),$t5
1602 vmovdqa $TABLE+`$SZ*2*$rounds`(%rip),$t3
1628 sub \$`-16*2*$SZ`,$Tbl # size optimization
1632 '&vpalignr ($t0,@X[1],@X[0],$SZ)', # X[1..4]
1633 '&vpalignr ($t3,@X[3],@X[2],$SZ)', # X[9..12]
1637 '&vpslld ($t1,$t0,8*$SZ-$sigma0[1]);',
1685 &cmpb ($SZ-1+16*2*$SZ."($Tbl)",0);
1700 vmovdqa $TABLE+`$SZ*2*$rounds`(%rip),$t3
1742 add \$`16*2*$SZ`,$Tbl
1746 '&vpalignr ($t0,@X[1],@X[0],$SZ)', # X[1..2]
1747 '&vpalignr ($t3,@X[5],@X[4],$SZ)', # X[9..10]
1751 '&vpsllq ($t1,$t0,8*$SZ-$sigma0[1]);',
1759 '&vpsllq ($t2,@X[7],8*$SZ-$sigma1[1]);',
1792 &cmpb ($SZ-1+16*2*$SZ-0x80."($Tbl)",0);
1803 add $SZ*0($ctx),$A
1804 lea 16*$SZ($inp),$inp
1805 add $SZ*1($ctx),$B
1806 add $SZ*2($ctx),$C
1807 add $SZ*3($ctx),$D
1808 add $SZ*4($ctx),$E
1809 add $SZ*5($ctx),$F
1810 add $SZ*6($ctx),$G
1811 add $SZ*7($ctx),$H
1815 mov $A,$SZ*0($ctx)
1816 mov $B,$SZ*1($ctx)
1817 mov $C,$SZ*2($ctx)
1818 mov $D,$SZ*3($ctx)
1819 mov $E,$SZ*4($ctx)
1820 mov $F,$SZ*5($ctx)
1821 mov $G,$SZ*6($ctx)
1822 mov $H,$SZ*7($ctx)
1830 movaps 16*$SZ+32(%rsp),%xmm6
1831 movaps 16*$SZ+48(%rsp),%xmm7
1832 movaps 16*$SZ+64(%rsp),%xmm8
1833 movaps 16*$SZ+80(%rsp),%xmm9
1835 $code.=<<___ if ($win64 && $SZ>4);
1836 movaps 16*$SZ+96(%rsp),%xmm10
1837 movaps 16*$SZ+112(%rsp),%xmm11
1864 my $a5=$SZ==4?"%esi":"%rsi"; # zap $inp
1865 my $PUSH8=8*2*$SZ;
1873 '&add ($h,(32*($i/(16/$SZ))+$SZ*($i%(16/$SZ)))%$PUSH8.$base)', # h+=X[i]+K[i]
1928 sub \$`2*$SZ*$rounds+4*8+$win64*16*($SZ==4?4:6)`,%rsp
1930 and \$-256*$SZ,%rsp # align stack frame
1931 lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
1932 add \$`2*$SZ*($rounds-8)`,%rsp
1940 movaps %xmm6,16*$SZ+32(%rsp)
1941 movaps %xmm7,16*$SZ+48(%rsp)
1942 movaps %xmm8,16*$SZ+64(%rsp)
1943 movaps %xmm9,16*$SZ+80(%rsp)
1945 $code.=<<___ if ($win64 && $SZ>4);
1946 movaps %xmm10,16*$SZ+96(%rsp)
1947 movaps %xmm11,16*$SZ+112(%rsp)
1953 sub \$-16*$SZ,$inp # inp++, size optimization
1954 mov $SZ*0($ctx),$A
1956 mov $SZ*1($ctx),$B
1958 mov $SZ*2($ctx),$C
1960 mov $SZ*3($ctx),$D
1961 mov $SZ*4($ctx),$E
1962 mov $SZ*5($ctx),$F
1963 mov $SZ*6($ctx),$G
1964 mov $SZ*7($ctx),$H
1966 if ($SZ==4) { # SHA256
1971 vmovdqa $TABLE+`$SZ*2*$rounds`+32(%rip),$t4
1972 vmovdqa $TABLE+`$SZ*2*$rounds`+64(%rip),$t5
1976 vmovdqa $TABLE+`$SZ*2*$rounds`(%rip),$t3
1977 vmovdqu -16*$SZ+0($inp),%xmm0
1978 vmovdqu -16*$SZ+16($inp),%xmm1
1979 vmovdqu -16*$SZ+32($inp),%xmm2
1980 vmovdqu -16*$SZ+48($inp),%xmm3
2021 sub \$-16*2*$SZ,$Tbl # size optimization
2062 &lea ($Tbl,16*2*$SZ."($Tbl)");
2063 &cmpb (($SZ-1)."($Tbl)",0);
2078 vmovdqu -16*$SZ($inp),%xmm0
2079 vmovdqu -16*$SZ+16($inp),%xmm1
2080 vmovdqu -16*$SZ+32($inp),%xmm2
2082 vmovdqu -16*$SZ+48($inp),%xmm3
2083 vmovdqu -16*$SZ+64($inp),%xmm4
2084 vmovdqu -16*$SZ+80($inp),%xmm5
2085 vmovdqu -16*$SZ+96($inp),%xmm6
2086 vmovdqu -16*$SZ+112($inp),%xmm7
2088 vmovdqa `$SZ*2*$rounds-0x80`($Tbl),$t2
2143 add \$16*2*$SZ,$Tbl
2186 &lea ($Tbl,16*2*$SZ."($Tbl)");
2187 &cmpb (($SZ-1-0x80)."($Tbl)",0);
2196 mov `2*$SZ*$rounds`(%rsp),$ctx # $_ctx
2198 #mov `2*$SZ*$rounds+8`(%rsp),$inp # $_inp
2199 lea `2*$SZ*($rounds-8)`(%rsp),$Tbl
2201 add $SZ*0($ctx),$A
2202 add $SZ*1($ctx),$B
2203 add $SZ*2($ctx),$C
2204 add $SZ*3($ctx),$D
2205 add $SZ*4($ctx),$E
2206 add $SZ*5($ctx),$F
2207 add $SZ*6($ctx),$G
2208 add $SZ*7($ctx),$H
2210 mov $A,$SZ*0($ctx)
2211 mov $B,$SZ*1($ctx)
2212 mov $C,$SZ*2($ctx)
2213 mov $D,$SZ*3($ctx)
2214 mov $E,$SZ*4($ctx)
2215 mov $F,$SZ*5($ctx)
2216 mov $G,$SZ*6($ctx)
2217 mov $H,$SZ*7($ctx)
2239 mov `2*$SZ*$rounds`(%rsp),$ctx # $_ctx
2241 #mov `2*$SZ*$rounds+8`(%rsp),$inp # $_inp
2242 lea `2*$SZ*($rounds-8)`(%rsp),%rsp
2246 add $SZ*0($ctx),$A
2247 add $SZ*1($ctx),$B
2248 add $SZ*2($ctx),$C
2249 add $SZ*3($ctx),$D
2250 add $SZ*4($ctx),$E
2251 add $SZ*5($ctx),$F
2252 lea `2*16*$SZ`($inp),$inp # inp+=2
2253 add $SZ*6($ctx),$G
2255 add $SZ*7($ctx),$H
2258 mov $A,$SZ*0($ctx)
2260 mov $B,$SZ*1($ctx)
2261 mov $C,$SZ*2($ctx)
2262 mov $D,$SZ*3($ctx)
2263 mov $E,$SZ*4($ctx)
2264 mov $F,$SZ*5($ctx)
2265 mov $G,$SZ*6($ctx)
2266 mov $H,$SZ*7($ctx)
2272 .cfi_cfa_expression $Tbl+`16*$SZ+3*8`,deref,+8
2275 mov `16*$SZ+3*8`($Tbl),%rsi
2280 movaps 16*$SZ+32($Tbl),%xmm6
2281 movaps 16*$SZ+48($Tbl),%xmm7
2282 movaps 16*$SZ+64($Tbl),%xmm8
2283 movaps 16*$SZ+80($Tbl),%xmm9
2285 $code.=<<___ if ($win64 && $SZ>4);
2286 movaps 16*$SZ+96($Tbl),%xmm10
2287 movaps 16*$SZ+112($Tbl),%xmm11
2359 and \$-256*$SZ,%rax
2360 add \$`2*$SZ*($rounds-8)`,%rax
2365 mov 16*$SZ+3*8(%rax),%rax # pull $_rsp
2384 lea 16*$SZ+4*8(%rsi),%rsi # Xmm6- save area
2386 mov \$`$SZ==4?8:12`,%ecx
2430 $code.=<<___ if ($SZ==4 && $shaext);
2472 $code.=<<___ if ($SZ==4 && $shaext);
2477 $code.=<<___ if ($SZ==4);
2482 $code.=<<___ if ($avx && $SZ==8);
2505 $code.=<<___ if ($SZ==4 && $shaext);
2510 $code.=<<___ if ($SZ==4);
2516 $code.=<<___ if ($avx && $SZ==8);