------- Comment #3 from rguenth at gcc dot gnu dot org 2010-04-13 09:02 ------- Micha - compared to 4.4 we arrive with
(gdb) call debug_rtx (target) (mem/c/i:SI (plus:DI (reg/f:DI 54 virtual-stack-vars) (const_int -4 [0xfffffffffffffffc])) [0 result+0 S4 A32]) instead of (gdb) call debug_rtx (target) (reg:SI 59 [ D.1598 ]) which isn't valid for (define_expand "isinfxf2" [(use (match_operand:SI 0 "register_operand" "")) (use (match_operand:XF 1 "register_operand" ""))] "TARGET_USE_FANCY_MATH_387 && TARGET_C99_FUNCTIONS" but we assert that it is. Do we never expect a MEM for target or why were we lucky before? I can obviously "fix" this by Index: builtins.c =================================================================== --- builtins.c (revision 158225) +++ builtins.c (working copy) @@ -2316,6 +2316,7 @@ expand_builtin_interclass_mathfn (tree e tree orig_arg = arg; /* Make a suitable register to place result in. */ if (!target + || !REG_P (target) || GET_MODE (target) != TYPE_MODE (TREE_TYPE (exp))) target = gen_reg_rtx (TYPE_MODE (TREE_TYPE (exp))); -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43730