------- Comment #2 from hubicka at gcc dot gnu dot org 2005-11-03 12:58 ------- OK, have new, 100% sure theory ;) for 4.0 -fno-tree-sra makes important difference, for 4.1 it does not. One difference is that 4.0 splits startingpoint: Initial instantiation for startPoint startPoint.e[2] -> startPoint$e$2 startPoint.e[1] -> startPoint$e$1 startPoint.e[0] -> startPoint$e$0 4.1 claims: Cannot scalarize variable startPoint because it must live in memory
so this looks like 4.1 is missing transformation here. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24653