------- 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