------- Comment #3 from rguenth at gcc dot gnu dot org 2006-07-10 13:24 ------- Confirmed. In 4.1, the data-refs have the wrong memtag associated:
Created dr for *D.2061_7 base_address: data__6 offset from base address: 0 constant offset from base address: 0 base_object: step: 4B misalignment from base: 0B aligned to: 4 memtag: TMT.5 Created dr for *D.2064_15 base_address: op_14 offset from base address: 0 constant offset from base address: 0 base_object: step: 4B misalignment from base: 0B aligned to: 4 memtag: TMT.6 after ifcvt: # TMT.6_22 = PHI <TMT.6_21(3), TMT.6_20(1)>; # i_2 = PHI <i_18(3), 0(1)>; <L0>:; D.2059_4 = i_2 * 4; D.2060_5 = (float *) D.2059_4; D.2061_7 = D.2060_5 + data__6; # VUSE <TMT.6_22>; D.2062_11 = *D.2061_7; D.2063_13 = (const float *) D.2059_4; D.2064_15 = D.2063_13 + op_14; # VUSE <TMT.6_22>; D.2065_16 = *D.2064_15; D.2066_17 = D.2062_11 * D.2065_16; # TMT.6_21 = V_MAY_DEF <TMT.6_22>; *D.2061_7 = D.2066_17; i_18 = i_2 + 1; if (size__3 > i_18) goto <L8>; else goto <L2>; <L8>:; goto <bb 2> (<L0>); no idea where that TMT.5 comes from (it's from the const qualifier, but the vectorizer makes this up itself). -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu dot | |org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Known to fail| |4.1.1 Known to work| |4.2.0 Last reconfirmed|0000-00-00 00:00:00 |2006-07-10 13:24:57 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28029