------- Comment #38 from rguenth at gcc dot gnu dot org 2010-03-16 15:26 ------- Btw, the testcase has
D.1610_34 = __builtin_pow (D.1564_28, 1.5e+0); which would expand to D.1564_28 * sqrt (D.1564_28) which is estimated as being larger than the call to pow. Now this isn't exactly true if the target has a sqrt insn, but we do not implement such a sophisticated size check. Especially on embedded targets with soft-float the multiplication would add a significant code size penalty. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40106