Testsuite test gcc.dg/tree-ssa/loop35.c fails for avr target for test3(). This test uses long array index. Tests with int or char index get hoisted as expected.
void test3(unsigned long b) { unsigned i; /* And here. */ for (i = 0; i < 100; i++) { arr[b+8].X += i; arr[b+9].X += i; } } Richard Guenther indicates: > This is because the alias-oracle for store-motion doesn't handle conversions > to sizetype well in the offset disambiguation. -- Summary: store using long array index not hoisted out of loop Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hutchinsonandy at gcc dot gnu dot org GCC target triplet: avr-unkown-none http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36561