This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: floor on i386



> 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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]