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

--- Comment #20 from Alex Coplan <acoplan at gcc dot gnu.org> ---
I think the testcase in #c10 went latent on the 13 branch but the following
(reduced from the attachment) still ICEs on the tip of the 13 branch with
-Ofast -fopenmp -fstack-protector-strong:

typedef struct {
  long size_z;
  int width;
} dt_bilateral_t;
typedef float dt_aligned_pixel_t[4];
#pragma omp declare simd
void dt_bilateral_splat(dt_bilateral_t *b) {
  float *buf;
  long offsets[8];
  for (; b;) {
    int firstrow;
    for (int j = firstrow; j; j++)
      for (int i; i < b->width; i++) {
        dt_aligned_pixel_t contrib;
        for (int k = 0; k < 4; k++)
          buf[offsets[k]] += contrib[k];
      }
    float *dest;
    for (int j = (long)b; j; j++) {
      float *src = (float *)b->size_z;
      for (int i = 0; i < (long)b; i++)
        dest[i] += src[i];
    }
  }
}

Reply via email to