Lines Matching refs:DWP
64 $__ra=&DWP(0,"esp"); # return address
65 $__s0=&DWP(4,"esp"); # s0 backing store
66 $__s1=&DWP(8,"esp"); # s1 backing store
67 $__s2=&DWP(12,"esp"); # s2 backing store
68 $__s3=&DWP(16,"esp"); # s3 backing store
69 $__end=&DWP(20,"esp"); # pointer to end/start of key schedule
73 $_end=&DWP(16,"esp");
74 $_esp=&DWP(20,"esp");
95 &xor ($t1,&DWP($seed+$i*$scale+4,$key)); # t1^=key[1]
97 &mov ($t3,&DWP($SBOX3_3033,$Tbl,$idx,8)); # t3=SBOX3_3033[0]
99 &xor ($t3,&DWP($SBOX4_4404,$Tbl,$idx,8)); # t3^=SBOX4_4404[0]
102 &mov ($t2,&DWP($SBOX1_1110,$Tbl,$idx,8)); # t2=SBOX1_1110[1]
104 &xor ($t3,&DWP($SBOX1_1110,$Tbl,$idx,8)); # t3^=SBOX1_1110[0]
106 &xor ($t2,&DWP($SBOX4_4404,$Tbl,$idx,8)); # t2^=SBOX4_4404[1]
109 &xor ($t3,&DWP($SBOX2_0222,$Tbl,$t0,8)); # t3^=SBOX2_0222[0]
111 &mov ($t0,&DWP($frame+4*(($j+3)%4),"esp")); # prefetch "s3"
114 &xor ($t2,&DWP($SBOX2_0222,$Tbl,$idx,8)); # t2^=SBOX2_0222[1]
116 &mov ($t1,&DWP($frame+4*(($j+2)%4),"esp")); # prefetch "s2"
118 &xor ($t2,&DWP($SBOX3_3033,$Tbl,$idx,8)); # t2^=SBOX3_3033[1]
119 &mov ($idx,&DWP($seed+($i+1)*$scale,$key)); # prefetch key[i+1]
121 &mov (&DWP($frame+4*(($j+3)%4),"esp"),$t3); # s3=t3
123 &mov (&DWP($frame+4*(($j+2)%4),"esp"),$t2); # s2=t2
142 &lea ("ecx",&DWP(-64-63,$key));
150 &lea ("eax",&DWP(0,$key,"eax"));
157 &lea ($Tbl,&DWP(&label("Camellia_SBOX")."-".&label("pic_point"),$Tbl));
159 &mov (@T[0],&DWP(0,$idx)); # load plaintext
160 &mov (@T[1],&DWP(4,$idx));
161 &mov (@T[2],&DWP(8,$idx));
163 &mov (@T[3],&DWP(12,$idx));
176 &mov (&DWP(0,$idx),@T[0]); # write ciphertext
177 &mov (&DWP(4,$idx),@T[1]);
178 &mov (&DWP(8,$idx),@T[2]);
179 &mov (&DWP(12,$idx),@T[3]);
203 &mov ("eax",&DWP(272,$key)); # load grandRounds counter
207 &lea ("ecx",&DWP(-64-63,$key));
215 &lea ("eax",&DWP(0,$key,"eax"));
222 &lea ($Tbl,&DWP(&label("Camellia_SBOX")."-".&label("pic_point"),$Tbl));
224 &mov (@T[0],&DWP(0,$idx)); # load plaintext
225 &mov (@T[1],&DWP(4,$idx));
226 &mov (@T[2],&DWP(8,$idx));
228 &mov (@T[3],&DWP(12,$idx));
241 &mov (&DWP(0,$idx),@T[0]); # write ciphertext
242 &mov (&DWP(4,$idx),@T[1]);
243 &mov (&DWP(8,$idx),@T[2]);
244 &mov (&DWP(12,$idx),@T[3]);
249 &xor (@T[0],&DWP(0,$key)); # ^=key[0-3]
250 &xor (@T[1],&DWP(4,$key));
251 &xor (@T[2],&DWP(8,$key));
252 &xor (@T[3],&DWP(12,$key));
253 &mov ($idx,&DWP(16,$key)); # prefetch key[4]
273 &or (@T[2],&DWP(12,$key));
277 &mov ($idx,&DWP(4,$key));
280 &and (@T[2],&DWP(8,$key));
285 &mov ($idx,&DWP(16,$key)); # prefetch key[4]
295 &xor (@T[1],&DWP(4,$key));
296 &xor (@T[2],&DWP(8,$key));
297 &xor (@T[3],&DWP(12,$key));
317 &lea ("ecx",&DWP(-64-63,$key));
325 &mov (&DWP(4*4,"esp"),$key); # save keyStart
326 &lea ($key,&DWP(0,$key,"eax"));
327 &mov (&DWP(5*4,"esp"),"ebx");# save %esp
332 &lea ($Tbl,&DWP(&label("Camellia_SBOX")."-".&label("pic_point"),$Tbl));
334 &mov (@T[0],&DWP(0,$idx)); # load ciphertext
335 &mov (@T[1],&DWP(4,$idx));
336 &mov (@T[2],&DWP(8,$idx));
338 &mov (@T[3],&DWP(12,$idx));
345 &mov ("esp",&DWP(5*4,"esp"));
351 &mov (&DWP(0,$idx),@T[0]); # write plaintext
352 &mov (&DWP(4,$idx),@T[1]);
353 &mov (&DWP(8,$idx),@T[2]);
354 &mov (&DWP(12,$idx),@T[3]);
378 &mov ("eax",&DWP(272,$key)); # load grandRounds counter
382 &lea ("ecx",&DWP(-64-63,$key));
390 &mov (&DWP(4*4,"esp"),$key); # save keyStart
391 &lea ($key,&DWP(0,$key,"eax"));
392 &mov (&DWP(5*4,"esp"),"ebx");# save %esp
397 &lea ($Tbl,&DWP(&label("Camellia_SBOX")."-".&label("pic_point"),$Tbl));
399 &mov (@T[0],&DWP(0,$idx)); # load ciphertext
400 &mov (@T[1],&DWP(4,$idx));
401 &mov (@T[2],&DWP(8,$idx));
403 &mov (@T[3],&DWP(12,$idx));
410 &mov ("esp",&DWP(5*4,"esp"));
416 &mov (&DWP(0,$idx),@T[0]); # write plaintext
417 &mov (&DWP(4,$idx),@T[1]);
418 &mov (&DWP(8,$idx),@T[2]);
419 &mov (&DWP(12,$idx),@T[3]);
424 &xor (@T[0],&DWP(0,$key)); # ^=key[0-3]
425 &xor (@T[1],&DWP(4,$key));
426 &xor (@T[2],&DWP(8,$key));
427 &xor (@T[3],&DWP(12,$key));
428 &mov ($idx,&DWP(-8,$key)); # prefetch key[-2]
448 &or (@T[2],&DWP(4,$key));
452 &mov ($idx,&DWP(12,$key));
455 &and (@T[2],&DWP(0,$key));
460 &mov ($idx,&DWP(-8,$key)); # prefetch key[4]
470 &xor (@T[3],&DWP(12,$key));
471 &xor (@T[0],&DWP(0,$key));
472 &xor (@T[1],&DWP(4,$key));
491 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i0 eq @T[0]);
492 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i1 eq @T[0]);
493 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i2 eq @T[0]);
494 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i3 eq @T[0]);
513 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i0 eq @T[0]);
519 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i1 eq @T[0]);
523 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i2 eq @T[0]);
524 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i3 eq @T[0]);
526 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i0 eq @T[0]);
527 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i1 eq @T[0]);
528 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i2 eq @T[0]);
529 &mov (&DWP(-128+4*$rnd++,$key),shift(@T)) if ($i3 eq @T[0]);
537 &mov (&DWP($bias+$rnd*8+0,$key),@T[0]);
538 &mov (&DWP($bias+$rnd*8+4,$key),@T[1]) if ($#T>=1);
539 &mov (&DWP($bias+$rnd*8+8,$key),@T[2]) if ($#T>=2);
540 &mov (&DWP($bias+$rnd*8+12,$key),@T[3]) if ($#T>=3);
547 &mov (@T[0],&DWP($bias+$rnd*8+0,$key));
548 &mov (@T[1],&DWP($bias+$rnd*8+4,$key)) if ($#T>=1);
549 &mov (@T[2],&DWP($bias+$rnd*8+8,$key)) if ($#T>=2);
550 &mov (@T[3],&DWP($bias+$rnd*8+12,$key)) if ($#T>=3);
566 &mov (@T[0],&DWP(0,$idx)); # load 0-127 bits
567 &mov (@T[1],&DWP(4,$idx));
568 &mov (@T[2],&DWP(8,$idx));
569 &mov (@T[3],&DWP(12,$idx));
581 &mov (@T[0],&DWP(16,$idx)); # load 128-191 bits
582 &mov (@T[1],&DWP(20,$idx));
585 &mov (@T[2],&DWP(24,$idx)); # load 192-255 bits
586 &mov (@T[3],&DWP(28,$idx));
601 &xor (@T[0],&DWP(0*8+0,$key)); # KR^KL
602 &xor (@T[1],&DWP(0*8+4,$key));
603 &xor (@T[2],&DWP(1*8+0,$key));
604 &xor (@T[3],&DWP(1*8+4,$key));
610 &lea ($Tbl,&DWP(&label("Camellia_SBOX")."-".&label("pic_point"),$Tbl));
611 &lea ($key,&DWP(&label("Camellia_SIGMA")."-".&label("Camellia_SBOX"),$Tbl));
613 &mov ($idx,&DWP($step*8,$key)); # prefetch SIGMA[0]
624 &xor (@T[0],&DWP(0*8+0,$idx)); # ^KL
625 &xor (@T[1],&DWP(0*8+4,$idx));
626 &xor (@T[2],&DWP(1*8+0,$idx));
627 &xor (@T[3],&DWP(1*8+4,$idx));
629 &mov ($idx,&DWP($step*8,$key)); # prefetch SIGMA[4]
644 &lea ($key,&DWP(128,$key)); # size optimization
675 &xor (@T[0],&DWP(4*8+0,$idx)); # KA^KR
676 &xor (@T[1],&DWP(4*8+4,$idx));
677 &xor (@T[2],&DWP(5*8+0,$idx));
678 &xor (@T[3],&DWP(5*8+4,$idx));
680 &mov ($idx,&DWP($step*8,$key)); # prefetch SIGMA[8]
691 &lea ($key,&DWP(128,$key)); # size optimization
730 &lea ("edx",&DWP(272-128,$key)); # end of key schedule
768 &mov (&DWP(0,"edx"),"eax");
822 my $_inp=&DWP(24,"esp"); #copy of wparam(0)
823 my $_out=&DWP(28,"esp"); #copy of wparam(1)
824 my $_len=&DWP(32,"esp"); #copy of wparam(2)
825 my $_key=&DWP(36,"esp"); #copy of wparam(3)
826 my $_ivp=&DWP(40,"esp"); #copy of wparam(4)
827 my $ivec=&DWP(44,"esp"); #ivec[16]
828 my $_tmp=&DWP(44,"esp"); #volatile variable [yes, aliases with ivec]
846 &lea ($idx,&DWP(-64,"esp"));
851 &lea ($key,&DWP(-64-63,$s3));
872 &lea ($Tbl,&DWP(&label("Camellia_SBOX")."-".&label("pic_point"),$Tbl));
876 &mov ($s0,&DWP(0,$Tbl));
877 &mov ($s1,&DWP(32,$Tbl));
878 &mov ($s2,&DWP(64,$Tbl));
879 &mov ($s3,&DWP(96,$Tbl));
880 &lea ($Tbl,&DWP(128,$Tbl));
886 &mov ($s3,&DWP(272,$s0)); # load grandRounds
894 &lea ($s3,&DWP(0,$s0,$s3));
900 &mov ($s0,&DWP(0,$key)); # load iv
901 &mov ($s1,&DWP(4,$key));
904 &mov ($s2,&DWP(8,$key));
905 &mov ($s3,&DWP(12,$key));
907 &xor ($s0,&DWP(0,$idx)); # xor input data
908 &xor ($s1,&DWP(4,$idx));
909 &xor ($s2,&DWP(8,$idx));
911 &xor ($s3,&DWP(12,$idx));
925 &mov (&DWP(0,$key),$s0); # save output data
927 &mov (&DWP(4,$key),$s1);
928 &mov (&DWP(8,$key),$s2);
929 &mov (&DWP(12,$key),$s3);
933 &lea ($idx,&DWP(16,$idx));
936 &lea ($s3,&DWP(16,$key));
946 &mov ($s2,&DWP(8,$key)); # restore last dwords
947 &mov ($s3,&DWP(12,$key));
948 &mov (&DWP(0,$idx),$s0); # save ivec
949 &mov (&DWP(4,$idx),$s1);
950 &mov (&DWP(8,$idx),$s2);
951 &mov (&DWP(12,$idx),$s3);
971 &lea ($key,&DWP(0,$key,$s2));
980 &mov ($s0,&DWP(0,$key));
981 &mov ($s1,&DWP(4,$key));
988 &lea ($s3,&DWP(0,$s0,$s3));
999 &mov ($s0,&DWP(0,$idx)); # read input
1000 &mov ($s1,&DWP(4,$idx));
1001 &mov ($s2,&DWP(8,$idx));
1003 &mov ($s3,&DWP(12,$idx));
1017 &xor ($s0,&DWP(0,$key)); # xor iv
1019 &xor ($s1,&DWP(4,$key));
1020 &xor ($s2,&DWP(8,$key));
1021 &xor ($s3,&DWP(12,$key));
1029 &mov (&DWP(0,$key),$s0); # write output
1030 &mov (&DWP(4,$key),$s1);
1031 &mov (&DWP(8,$key),$s2);
1032 &mov (&DWP(12,$key),$s3);
1035 &lea ($idx,&DWP(16,$idx));
1038 &lea ($key,&DWP(16,$key));
1045 &mov ($s0,&DWP(0,$key)); # load iv
1046 &mov ($s1,&DWP(4,$key));
1047 &mov ($s2,&DWP(8,$key));
1048 &mov ($s3,&DWP(12,$key));
1049 &mov (&DWP(0,$idx),$s0); # copy back to user
1050 &mov (&DWP(4,$idx),$s1);
1051 &mov (&DWP(8,$idx),$s2);
1052 &mov (&DWP(12,$idx),$s3);
1057 &mov (&DWP(0,$key),$s0); # dump output to stack
1058 &mov (&DWP(4,$key),$s1);
1059 &mov (&DWP(8,$key),$s2);
1060 &mov (&DWP(12,$key),$s3);
1061 &lea ($s2 eq "ecx" ? $s2 : "",&DWP(16,$idx));
1071 &mov ($s0,&DWP(0,$idx)); # read input
1072 &mov ($s1,&DWP(4,$idx));
1073 &mov ($s2,&DWP(8,$idx));
1074 &mov ($s3,&DWP(12,$idx));
1076 &mov (&DWP(0,$key),$s0); # copy to temp
1077 &mov (&DWP(4,$key),$s1);
1078 &mov (&DWP(8,$key),$s2);
1080 &mov (&DWP(12,$key),$s3);
1094 &xor ($s0,&DWP(0,$key)); # xor iv
1096 &xor ($s1,&DWP(4,$key));
1097 &xor ($s2,&DWP(8,$key));
1098 &xor ($s3,&DWP(12,$key));
1100 &mov (&DWP(0,$idx),$s0); # write output
1101 &mov (&DWP(4,$idx),$s1);
1102 &mov (&DWP(8,$idx),$s2);
1103 &mov (&DWP(12,$idx),$s3);
1105 &lea ($idx,&DWP(16,$idx));
1109 &mov ($s0,&DWP(0,$idx)); # read temp
1110 &mov ($s1,&DWP(4,$idx));
1111 &mov ($s2,&DWP(8,$idx));
1112 &mov ($s3,&DWP(12,$idx));
1114 &mov (&DWP(0,$key),$s0); # copy iv
1115 &mov (&DWP(4,$key),$s1);
1116 &mov (&DWP(8,$key),$s2);
1117 &mov (&DWP(12,$key),$s3);
1121 &lea ($idx,&DWP(16,$idx));
1135 &lea ($key,&DWP(0,$key,$s2));
1136 &lea ($idx,&DWP(16,$idx,$s2));