I noticed that AUTO_INC_DEC is defined a bit oddly in gcc/rtl.h. More specifically, the condition does not include HAVE_POST_MODIFY_DISP but it does include HAVE_PRE_MODIFY_DISP twice. Most likely one of these HAVE_PRE_MODIFY_DISP should be a HAVE_POST_MODIFY_DISP.
The following is the code snippet from gcc/rtl.h that I am talking about: /* Indicate whether the machine has any sort of auto increment addressing. If not, we can avoid checking for REG_INC notes. */ #if (defined (HAVE_PRE_INCREMENT) || defined (HAVE_PRE_DECREMENT) \ || defined (HAVE_POST_INCREMENT) || defined (HAVE_POST_DECREMENT) \ || defined (HAVE_PRE_MODIFY_DISP) || defined (HAVE_PRE_MODIFY_DISP) \ || defined (HAVE_PRE_MODIFY_REG) || defined (HAVE_POST_MODIFY_REG)) #define AUTO_INC_DEC #endif -- Summary: AUTO_INC_DEC not defined correctly in rtl.h Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: trivial Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ehliar at isy dot liu dot se http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40069