------- Comment #8 from rguenth at gcc dot gnu dot org 2006-03-07 10:43 ------- With -O2 -fno-ivopts -fno-tree-vrp -fno-tree-salias -fno-strict-aliasing we correctly get
<L11>:; # BF_current_23 = PHI <BF_current_21(5), BF_current_24(7)>; # ptr_3 = PHI <&BF_current.P[0](5), ptr_9(7)>; # L_2 = PHI <0(5), L_14(7)>; <L7>:; ptr_9 = ptr_3 + 8B; # VUSE <BF_current_23>; D.1541_10 = BF_current.P[0]; L_11 = L_2 ^ D.1541_10; tmp4_12 = L_11 >> 24; # VUSE <BF_current_23>; D.1542_13 = BF_current.P[17]; L_14 = tmp4_12 ^ D.1542_13; D.1543_15 = ptr_9 - 8B; # BF_current_24 = V_MAY_DEF <BF_current_23>; *D.1543_15 = L_14; if (ptr_9 < &BF_current.P[18]) goto <L12>; else goto <L4>; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26587