http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49583
Uros Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |WONTFIX --- Comment #2 from Uros Bizjak <ubizjak at gmail dot com> 2011-07-03 14:38:54 UTC --- You should use powf instead of pow. Many of these moves are actually double->float and float->double x87 conversion instructions. You can use -ffast-math to avoid these conversions, but using powf on float values is probably what you want. Other moves are necessary to pass arguments to the function via stack and to save live values from registers around the call. Also, don't worry about fxch or two, these are extremely fast instructions.