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)
/* 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.
Confirmed. See also related XFAILs on LP64 targets.