On Tue, Jan 16, 2007 at 08:22:10AM -0600, Gabriel Dos Reis wrote:
> I mean, could not we generate the following for "%":
> 
>     rem a b :=
>       if abs(b) == 1 
>          return 0
>       return <machine-instruction> a b

On x86 processors that have conditional moves, why not do the equivalent
of

        neg_b = -b;
        cmov(last result is negative,neg_b,b)
        __machine_rem(a,b)

Then there's no disruption of the pipeline.

Reply via email to