------- Comment #21 from ubizjak at gmail dot com 2007-10-08 08:56 ------- The problem is, that we don't have correct REG_DEP_TRUE expr of the call to powf after we have pushed ebp+const into temp register.
I'm testing following patch to explow.c: Index: explow.c =================================================================== --- explow.c (revision 129120) +++ explow.c (working copy) @@ -488,7 +488,9 @@ memory_address (enum machine_mode mode, win2: x = oldx; win: - if (flag_force_addr && ! cse_not_expected && !REG_P (x)) + if (flag_force_addr && ! cse_not_expected && !REG_P (x) + && ! reg_mentioned_p (virtual_outgoing_args_rtx, x) + && ! reg_mentioned_p (stack_pointer_rtx, x)) { x = force_operand (x, NULL_RTX); x = force_reg (Pmode, x); -- ubizjak at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ubizjak at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33638