floor on i386

Chris Lattner sabre@nondot.org
Wed Sep 12 12:03:00 GMT 2001


> If one had tree nodes or RTL nodes to express the sequence

> Save rounding mode
> Change rounding mode to round-down
> Convert to integer
> Restore rounding mode

> then perhaps the rounding mode change changes could be moved
> outside of loops where they occur, if there were no floating-point
> instructions in  the loop that needed the currently set rounding mode.

Actually you could probably represent this by adding a "hard register"
that effectively is the rounding mode flags.  Doing this seems like a
natural way to allow existing optimizations to get rid of the
redundancies that are killing GCC here... and you wouldn't have to add any
new RTL semantics...

-Chris

http://www.nondot.org/~sabre/os/
http://www.nondot.org/MagicStats/



More information about the Gcc mailing list