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...
# &mov( $tx, &DWP(0,$d,$x,4)) if $p < 0;
&add( &LB($y), &LB($tx));
# &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( $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);
&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));
&mov( $tx, &DWP(0,$d,$x,4)) if $p < 1; # NEXT ROUND
&mov( $ty, &DWP(0,$d,$ty,4));