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

Reply via email to