https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113089

Manolis Tsamis <manolis.tsamis at vrull dot eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |manolis.tsamis at vrull dot eu

--- Comment #2 from Manolis Tsamis <manolis.tsamis at vrull dot eu> ---
The following testcase, reduced from x264 intrapred_chroma_plane:

typedef unsigned short uint16;

void intrapred_chroma_plane(uint16 ***mb_preds, int* max_imgpel_values, int
crx, int cry, int px) {
  for (int uv = 0; uv < 2; uv++) {
    uint16 **mb_pred = mb_preds[uv + 1];
    uint16 **predU2 = &mb_pred[px - 2];
    uint16 *upPred = &mb_pred[px][px];
    int max_imgpel_value = max_imgpel_values[uv];

    int ih = upPred[crx - 1];
    for (int i = 0; i < crx*3; ++i)
      ih += upPred[crx*3];

    int iv = (mb_pred[cry - 1][px+1]);  
    for (int i = 0; i < cry - 1; ++i) {
      iv += (i + 1) * (*(mb_preds[uv][0]) - *(*predU2--));
    }

    for (int j = 0; j < cry; ++j)
      for (int i = 0; i < crx; ++i)
        mb_pred[j][i] = (uint16) (max_imgpel_value * ((i * ih + iv)));
  }
}

reproduces the same ICE issue when compiled with:

gcc -g -O2 -funroll-loops -fno-strict-aliasing intra_chroma_pred.c

Reply via email to