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

--- Comment #8 from Gianfranco <costamagnagianfranco at yahoo dot it> ---
reduced testcase:

typedef struct {
  int width
} dt_bilateral_t;
typedef dt_aligned_pixel_t[4];
#pragma omp declare simd
void dt_bilateral_splat(dt_bilateral_t *b) {
  int oy = b;
  float *buf;
  long offsets[8];
  for (int slice; slice < b; slice++) {
    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, *src = oy;
    for (int i = 0; i < oy; i++)
      dest[i] += src[i];
  }
}

removing openmp, fstack-protector-strong or ffast-math works.

Reply via email to