Lines Matching refs:code

35 # Opteron... For reference, 1x in this case is RC4_CHAR C-code
42 # Intel P4 EM64T core was found to run the AMD64 code really slow...
45 # compose blended code, which would perform even within 30% marginal
59 # provided that loads are reordered even more aggressively! Both code
64 # If executed on Xeon, current RC4_CHAR code-path is 2.7x faster than
65 # RC4_INT code-path. While if executed on Opteron, it's only 25%
67 # is not implemented, then this final RC4_CHAR code-path should be
72 # Intel Core2 was observed to perform poorly on both code paths:-( It
77 # fit for Core2 and therefore the code was modified to skip cloop8 on
88 # The only code path that was not modified is P4-specific one. Non-P4
89 # Intel code path optimization is heavily based on submission by Maxim
92 # code path... Current performance in cycles per processed byte (less
108 # For reference, Intel code runs at 6.8 cpb rate on Opteron.
110 # for 32-bit code, meaning that it's possible to improve it,
136 $code=<<___;
170 $code.=<<___;
214 $code.=<<___ if ($i==7);
217 $code.=<<___;
229 $code.=<<___;
278 $code.=" add \$16,$XX[0]#b\n" if ($i==15);
279 $code.=" movdqu ($inp),%xmm2\n" if ($i==15);
280 $code.=" add $TX[0]#b,$YY#b\n" if ($i<=0);
281 $code.=" movl ($dat,$YY,4),$TY#d\n";
282 $code.=" pxor %xmm0,%xmm2\n" if ($i==0);
283 $code.=" psllq \$8,%xmm1\n" if ($i==0);
284 $code.=" pxor $xmm,$xmm\n" if ($i<=1);
285 $code.=" movl $TX[0]#d,($dat,$YY,4)\n";
286 $code.=" add $TY#b,$TX[0]#b\n";
287 $code.=" movl `4*($j+1)`($XX[1]),$TX[1]#d\n" if ($i<15);
288 $code.=" movz $TX[0]#b,$TX[0]#d\n";
289 $code.=" movl $TY#d,4*$j($XX[1])\n";
290 $code.=" pxor %xmm1,%xmm2\n" if ($i==0);
291 $code.=" lea ($dat,$XX[0],4),$XX[1]\n" if ($i==15);
292 $code.=" add $TX[1]#b,$YY#b\n" if ($i<15);
293 $code.=" pinsrw \$`($j>>1)&7`,($dat,$TX[0],4),$xmm\n";
294 $code.=" movdqu %xmm2,($out,$inp)\n" if ($i==0);
295 $code.=" lea 16($inp),$inp\n" if ($i==0);
296 $code.=" movl ($XX[1]),$TX[1]#d\n" if ($i==15);
299 $code.=<<___;
306 $code.=".Loop16_enter:\n" if ($i==1);
310 $code.=<<___;
359 $code.=<<___;
378 $code.=<<___;
396 $code.=<<___;
409 $code.=<<___;
455 $code.=<<___;
568 $code.=<<___;
701 $code =~ s/(%[a-z0-9]+)#([bwd])/reg_part($1,$2)/gem;
702 $code =~ s/\`([^\`]*)\`/eval $1/gem;
704 print $code;