[Bug target/25005] [4.1/4.2 regression] ICE in extract_constrain_insn_cached, at recog.c:2002

bangerth at dealii dot org gcc-bugzilla@gcc.gnu.org
Wed Nov 23 17:12:00 GMT 2005



------- Comment #3 from bangerth at dealii dot org  2005-11-23 17:12 -------
Here's a much shorter testcase:
---------------------
#include <vector>

struct Point {
    Point (const Point &);
    Point (const double x);
    double values[3];
};

Point::Point (const double x) {
  this->values[0] = x;
}

Point::Point (const Point &p) {
  for (unsigned int i=0; i<3; ++i) values[i] = p.values[i];
}

struct X {
    void bar (const std::vector<Point> &vertices);
};

void foo (X &x) {
  const Point vertices[2] = { Point(1), Point(1), };

  x.bar (std::vector<Point>(&vertices[0], &vertices[2]));
}
----------------------

deal.II/deal.II> c++ -c -O3 -funroll-loops x.cc
x.cc: In function 'void foo(X&)':
x.cc:25: error: insn does not satisfy its constraints:
(insn 556 554 555 (set (reg:DI 1 dx [orig:153 D.13205 ] [153])
        (mult:DI (reg:DI 7 sp [118])
            (const_int 2 [0x2]))) 196 {*lea_2_rex64} (nil)
    (nil))
x.cc:25: internal compiler error: in extract_constrain_insn_cached, at
recog.c:2002
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.


W.


-- 


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



More information about the Gcc-bugs mailing list