[Bug rtl-optimization/45051] [4.6 Regression]: gcc.c-torture/execute/builtins/abs-2.c and abs-3.c due to "track subwords of DImode allocnos"

hp at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Dec 23 01:56:00 GMT 2010


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45051

--- Comment #8 from Hans-Peter Nilsson <hp at gcc dot gnu.org> 2010-12-23 01:56:08 UTC ---
(In reply to comment #7)
>  (insn 3163 3161 3164 107 rectmm.c:1041 (set (reg:SI 1 r1) 
>     (plus:SI (reg:SI 1 r1) 
>        (const_int 280 [0x118]))) 4 {*arm_addsi3} (nil))

> I think the issue might be that reg_mentioned_p() considers output registers to
> have been "mentioned", whereas the refers_to_regno_p() does not consider an
> output register to have been "referred to".

But r1 is an input as well as an output , i.e. "referred to", so insn 3163
should have matched without your patch.  I'm missing analysis on why that
didn't happen.  Nevertheless, I'm testing r162418 with your patch.

Also, you should open a separate PR for the regression you see, not just reuse
this one. Use the depends-on features for the dependency.



More information about the Gcc-bugs mailing list