Mail Archives: djgpp/1997/05/20/11:46:02
Leath Muller wrote:
>
> > > Is comparing floats slower then comparing ints? i.e. if (a < b)
> > They are much more slower.
>
> This is true, but if your just checking for a < b, sub a from b, store and
> check the sign bit. If the sign is 0 then a <= b... If you weave the code
> properly, you can do a check in about (from memory) 5 cycles... (compared
> to an int's 1 though)
>
> Leathal.
This is true, but the compiler won't do it for you, and I can't imagine
writing all coparisions in assembler... so avoid it.
There is another trick you maight find usefull. To convert float point
to integer just add 0x59c00000 (have to be single precision fadd), store
the result and use it as it was integer. It's only 1 clock less, but you
have beter scheduling opportunities (can execute up to 4 integer
instruction in a gap after fadd).
- Raw text -