[Bug rtl-optimization/61094] [4.9/4.10 Regression] -O3 insn Internal compiler error in copyprop_hardreg_forward_1, at regcprop.c:775

glisse at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri May 9 19:05:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61094

--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> ---
template <typename> struct A {
  unsigned _width, _height, _depth, _spectrum;
  template <typename t> A(t p1) {
    int a = p1.size();
    if (a) {
      _width = p1._width;
      _depth = _height = _spectrum = p1._spectrum;
    }
  }
  long size() { return (long)_width * _height * _depth * _spectrum; }
};

int d;
void fn1(void *);
A<int> *fn2();
void fn3() {
  int b;
  for (;;) {
    A<char> c(*fn2());
    fn1(&c);
    if (d || !b)
      throw;
  }
}




a.ii: In function 'void fn3()':
a.ii:24:1: error: insn does not satisfy its constraints:
 }
 ^
(insn 67 20 62 3 (set (reg:DI 21 xmm0)
        (reg:DI 2 cx)) 89 {*movdi_internal}
     (expr_list:REG_DEAD (reg:DI 2 cx)
        (nil)))
a.ii:24:1: internal compiler error: in copyprop_hardreg_forward_1, at
regcprop.c:775



More information about the Gcc-bugs mailing list