Trunk revision 141361 with the attached patch shows this regression compared to unpatched: Running /home/hp/combx/combined/gcc/testsuite/gcc.c-torture/execute/execute.exp ... FAIL: gcc.c-torture/execute/20040709-1.c execution, -O2 However, the regression is hidden at revisions 142609 and 142857. At the time, a quick glance at the RTL dumps pointed at LOAD_EXTEND_OP optimizations performed by combine not being properly handled in IRA, specifically a sign-extension optimized away by combine as matching the implicit sign extension of a memory read through LOAD_EXTEND_OP. IIRC the memory read was not being transformed (back) into an explicit sign-extension. (I intend to fill in details here, but this will have to do for today.)
Created attachment 16955 [details] MMIX IRA_COVER_CLASSES patch
The bug is still visible at r142016.
And still visible at r142018...
Ditto 142116 and 142117.
It looks to me that this is a reload bug, independent of IRA. See thread [1] for analysis of what seems to be the same problem. [1] http://gcc.gnu.org/ml/gcc/2009-04/msg00033.html
(In reply to comment #5) > It looks to me that this is a reload bug, independent of IRA. See thread [1] > for analysis of what seems to be the same problem. > > [1] http://gcc.gnu.org/ml/gcc/2009-04/msg00033.html Thread continues at http://gcc.gnu.org/ml/gcc/2009-04/msg00038.html.
4.4 branch is being closed, moving to 4.5.4 target.
GCC 4.6.4 has been released and the branch has been closed.
The 4.7 branch is being closed, moving target milestone to 4.8.4.
(Not even) with the current moral equivalent of the attached MMIX IRA_COVER_CLASSES patch, i.e. just excluding the fake MMIX_ARG_POINTER_REGNUM from SYSTEM_REGS (as all IRA_COVER_CLASSES macros are obsoleted and forbidden as defined by the first part), do I see any change in test-results at r212486. Specifically, gcc.c-torture/execute/20040709-1.c does not fail. Hence, I'm closing this. Though, the issue is likely just hidden.