I've introduced a bug to i386 RC4 assembler, which would emerge with
certain mix of calls to RC4 routine not covered by rc4test.c. It's fixed now. In addition this patch inadvertently fixes minor performance problem: in 0.9.7 context P4 was performing 12% slower than the original implementation...
This commit is contained in:
parent
1862dae862
commit
7c69478064
1 changed files with 2 additions and 2 deletions
|
@ -68,13 +68,13 @@ sub RC4_loop
|
|||
# &mov( $tx, &DWP(0,$d,$x,4)) if $p < 0;
|
||||
|
||||
&add( &LB($y), &LB($tx));
|
||||
&inc( &LB($x)); # NEXT ROUND
|
||||
&mov( $ty, &DWP(0,$d,$y,4));
|
||||
# XXX
|
||||
&mov( &DWP(-4,$d,$x,4),$ty); # AGI
|
||||
&mov( &DWP(0,$d,$x,4),$ty);
|
||||
&add( $ty, $tx);
|
||||
&mov( &DWP(0,$d,$y,4),$tx);
|
||||
&and( $ty, 0xff);
|
||||
&inc( &LB($x)); # NEXT ROUND
|
||||
&mov( $tx, &DWP(0,$d,$x,4)) if $p < 1; # NEXT ROUND
|
||||
&mov( $ty, &DWP(0,$d,$ty,4));
|
||||
|
||||
|
|
Loading…
Reference in a new issue