Lines Matching refs:rc4

24 # instruction sequence is virtually identical to rc4-x86_64.pl, which
46 # (*) rc4-x86_64.pl delivers 5.3 on Opteron, so real improvement
50 my ($rc4,$md5)=(1,1); # what to generate?
53 # to be able to use 'openssl speed rc4' for
74 if ($rc4 && !$md5) {
77 } elsif ($md5 && !$rc4) {
148 if ($rc4) {
216 #rc4# add $TX[0]#b,$YY#b
217 #rc4# lea ($dat,$XX[0],4),$XX[1]
244 $code.=" movdqu ($in0),%xmm2\n" if ($rc4 && $j==15);
245 $code.=" add \$$MOD,$XX[0]#b\n" if ($rc4 && $j==15 && $k==$MOD-1);
246 $code.=" pxor $xmm,$xmm\n" if ($rc4 && $j<=1);
248 #rc4# movl ($dat,$YY,4),$TY#d
250 #rc4# movl $TX[0]#d,($dat,$YY,4)
253 #rc4# add $TY#b,$TX[0]#b
254 #rc4# movl `4*(($k+1)%$MOD)`(`$k==$MOD-1?"$dat,$XX[0],4":"$XX[1]"`),$TX[1]#d
257 #rc4# movz $TX[0]#b,$TX[0]#d
258 #rc4# movl $TY#d,4*$k($XX[1])
260 #rc4# add $TX[1]#b,$YY#b
263 #rc4# pinsrw \$`($j>>1)&7`,($dat,$TX[0],4),$xmm\n
266 $code.=<<___ if ($rc4 && $j==15 && $k==$MOD-1);
272 $code.=<<___ if ($rc4 && $j==15);
284 $code.=" movdqu 16($in0),%xmm3\n" if ($rc4 && $j==15);
285 $code.=" add \$$MOD,$XX[0]#b\n" if ($rc4 && $j==15 && $k==$MOD-1);
286 $code.=" pxor $xmm,$xmm\n" if ($rc4 && $j<=1);
288 #rc4# movl ($dat,$YY,4),$TY#d
290 #rc4# movl $TX[0]#d,($dat,$YY,4)
293 #rc4# add $TY#b,$TX[0]#b
294 #rc4# movl `4*(($k+1)%$MOD)`(`$k==$MOD-1?"$dat,$XX[0],4":"$XX[1]"`),$TX[1]#d
297 #rc4# movz $TX[0]#b,$TX[0]#d
298 #rc4# movl $TY#d,4*$k($XX[1])
300 #rc4# add $TX[1]#b,$YY#b
303 #rc4# pinsrw \$`($j>>1)&7`,($dat,$TX[0],4),$xmm\n
306 $code.=<<___ if ($rc4 && $j==15 && $k==$MOD-1);
312 $code.=<<___ if ($rc4 && $j==15);
324 $code.=" movdqu 32($in0),%xmm4\n" if ($rc4 && $j==15);
325 $code.=" add \$$MOD,$XX[0]#b\n" if ($rc4 && $j==15 && $k==$MOD-1);
326 $code.=" pxor $xmm,$xmm\n" if ($rc4 && $j<=1);
328 #rc4# movl ($dat,$YY,4),$TY#d
330 #rc4# movl $TX[0]#d,($dat,$YY,4)
333 #rc4# add $TY#b,$TX[0]#b
334 #rc4# movl `4*(($k+1)%$MOD)`(`$k==$MOD-1?"$dat,$XX[0],4":"$XX[1]"`),$TX[1]#d
336 #rc4# movz $TX[0]#b,$TX[0]#d
338 #rc4# movl $TY#d,4*$k($XX[1])
339 #rc4# add $TX[1]#b,$YY#b
342 #rc4# pinsrw \$`($j>>1)&7`,($dat,$TX[0],4),$xmm\n
345 $code.=<<___ if ($rc4 && $j==15 && $k==$MOD-1);
351 $code.=<<___ if ($rc4 && $j==15);
363 $code.=" movdqu 48($in0),%xmm5\n" if ($rc4 && $j==15);
364 $code.=" add \$$MOD,$XX[0]#b\n" if ($rc4 && $j==15 && $k==$MOD-1);
365 $code.=" pxor $xmm,$xmm\n" if ($rc4 && $j<=1);
367 #rc4# movl ($dat,$YY,4),$TY#d
369 #rc4# movl $TX[0]#d,($dat,$YY,4)
372 #rc4# add $TY#b,$TX[0]#b
373 #rc4# movl `4*(($k+1)%$MOD)`(`$k==$MOD-1?"$dat,$XX[0],4":"$XX[1]"`),$TX[1]#d
375 #rc4# movz $TX[0]#b,$TX[0]#d
377 #rc4# movl $TY#d,4*$k($XX[1])
379 #rc4# add $TX[1]#b,$YY#b
382 #rc4# pinsrw \$`($j>>1)&7`,($dat,$TX[0],4),$xmm\n
385 $code.=<<___ if ($rc4 && $j==15);
411 #rc4# movdqu %xmm2,($out,$in0) # write RC4 output
412 #rc4# movdqu %xmm3,16($out,$in0)
413 #rc4# movdqu %xmm4,32($out,$in0)
414 #rc4# movdqu %xmm5,48($out,$in0)
416 #rc4# lea 64($in0),$in0
421 #rc4# sub $TX[0]#b,$YY#b # correct $YY
427 $code.=<<___ if ($rc4 && (!$md5 || $D));
452 #rc4# sub \$1,$XX[0]#b
453 #rc4# movl $XX[0]#d,-8($dat)
454 #rc4# movl $YY#d,-4($dat)
477 if ($rc4 && $D) { # sole purpose of this section is to provide
479 # replacement for rc4-x86_64.pl for debugging
536 .asciz "rc4(64x,int)"
661 $code =~ s/#rc4#//gm if ($rc4);