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

--- Comment #1 from David Binderman <dcb314 at hotmail dot com> ---
Reduced C++ code is:

typedef char quint8;
typedef struct {
  quint8 green, blue;
} CharPixel;
CharPixel *equalize_equalize_map;
int equalize_i;
void equalize() {
  unsigned low_0, high_0, low_1, high_1;
  for (; equalize_i; ++equalize_i) {
    equalize_equalize_map[equalize_i].green =
        255 * (equalize_equalize_map[equalize_i].green - low_1) /
        (high_1 - low_1);
    equalize_equalize_map[equalize_i].blue =
        255 * (equalize_equalize_map[equalize_i].blue - low_0) /
        (high_0 - low_0);
  }
}

-march=bdver2 not needed, but -O3 is.

Reply via email to