This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Tue, Aug 19, 2008 at 9:59 AM, H.J. Lu <hjl.tools@gmail.com> wrote: > On Tue, Aug 19, 2008 at 9:25 AM, H.J. Lu <hjl.tools@gmail.com> wrote: >> On Tue, Aug 19, 2008 at 8:58 AM, Andreas Schwab <schwab@suse.de> wrote: >>> Michael Matz <matz@suse.de> writes: >>> >>>> Hi, >>>> >>>> On Tue, 19 Aug 2008, Michael Matz wrote: >>>> >>>>> Hi H.J., >>>>> On Mon, 18 Aug 2008, H.J. Lu wrote: >>>>> >>>>> > Your patch breaks Linux/ia64: >>>>> > >>>>> > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37155 >>>>> >>>>> from the bugreport it's obvious that the ia64 port really wants to access >>>>> reg 328 (sfp) in SImode. But that mode currently is not accepted by >>>>> HARD_REGNO_MODE_OK. I can't see a reason why SImode is allowed for >>>>> GR_REGNO_P, but not for GENERAL_REGNO_P (the only difference being exactly >>>>> the register in question, FRAME_POINTER_REGNUM). OTOH I don't know the >>>>> ia64 port very well. This patch fixes the testcase. H.J. can you >>>>> regstrap this? >>>> >>>> Hmm, hmm, I should read mailing lists not just personal mail before >>>> starting to work. Sorry Andreas; but at least two independend people came >>>> to the same conclusion ;) >>> >>> I'm not yet sure whether it's the right fix. There some regressions in >>> the gcc testsuite, but they may be related to the other changes since >>> yesterday. >>> >> >> The main regressions I saw are >> >> +FAIL: gcc.c-torture/compile/pr19357.c -O1 (internal compiler error) >> +FAIL: gcc.c-torture/compile/pr19357.c -O1 (test for excess errors) >> +FAIL: gcc.c-torture/compile/pr19357.c -O2 (internal compiler error) >> +FAIL: gcc.c-torture/compile/pr19357.c -O2 (test for excess errors) >> +FAIL: gcc.c-torture/compile/pr19357.c -O3 -fomit-frame-pointer >> (internal compiler error) >> +FAIL: gcc.c-torture/compile/pr19357.c -O3 -fomit-frame-pointer >> (test for excess errors) >> +FAIL: gcc.c-torture/compile/pr19357.c -O3 -g (internal compiler error) >> +FAIL: gcc.c-torture/compile/pr19357.c -O3 -g (test for excess errors) >> +FAIL: gcc.c-torture/compile/pr19357.c -Os (internal compiler error) >> +FAIL: gcc.c-torture/compile/pr19357.c -Os (test for excess errors) >> +FAIL: gcc.dg/compat/scalar-by-value-3 c_compat_x_tst.o compile, >> (internal compiler error) >> +FAIL: gcc.dg/compat/scalar-by-value-6 c_compat_x_tst.o compile, >> (internal compiler error) >> +FAIL: gcc.dg/compat/scalar-return-3 c_compat_x_tst.o compile, >> (internal compiler error) >> +FAIL: gcc.dg/compat/struct-by-value-18 c_compat_x_tst.o compile, >> (internal compiler error) >> >> I don't think it is the right fix. >> > > Revert revision 139207 fixes those regressions. > I am testing this patch. Richard, does it work for big endian MIPS targets? Thanks. -- H.J. --- 2008-08-19 H.J. Lu <hongjiu.lu@intel.com> PR bootstrap/37155 * rtlanal.c (subreg_offset_representable_p): Check HARD_REGNO_MODE_OK only for paradoxical subregs.
Attachment:
gcc-pr37155-2.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |