strict aliasing incorrectly pre-loads an array element with loops.
Changed files:
gcc-pr26587.patch -> 1.1.2.1
--- /dev/null
+--- gcc-4.1.0/gcc/tree-ssa-structalias.c.orig 2006-02-14 17:01:32.000000000 +0100
++++ gcc-4.1.0/gcc/tree-ssa-structalias.c 2006-03-07 17:11:16.637683250 +0100
+@@ -2837,7 +2837,8 @@
+ tree op0, op1;
+ struct constraint_expr base, offset;
+
+- if (TREE_CODE (expr) != PLUS_EXPR)
++ if (TREE_CODE (expr) != PLUS_EXPR
++ && TREE_CODE (expr) != MINUS_EXPR)
+ return false;
+
+ op0 = TREE_OPERAND (expr, 0);