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.) -- Summary: IRA does not accommodate LOAD_EXTEND_OP transformations done by combine Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hp at gcc dot gnu dot org GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: mmix-knuth-mmixware http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38603