/usr/local/vect/bin/g++ -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../gcc-vect/configure --enable-languages=c,c++ --prefix=/usr/local/vect Thread model: posix gcc version 4.2.0-autovect 20060518 (experimental)
Reduced testcase below ICEs: /usr/local/vect/bin/g++ -O3 -ftree-vectorize -march=pentium-m -c vecreduced.cpp vecreduced.cpp: In member function vector<T>& vector<T>::add(T) [with T = ppoint<int>]: vecreduced.cpp:14: internal compiler error: in make_ssa_name, at tree-ssanames.c:129 ======================================================== template <class T> struct ppoint { int x, y; inline ppoint<T>& operator+=(const ppoint<T>& p) { x+=p.x; y+=p.y; return *this; } }; template<typename T> class vector { public: vector<T>& add(T cst) { for (int i=0; i<vectorSize_; i++) { theElements_[i]+=cst; } return *this; } private: int vectorSize_; T* theElements_; }; template class vector<ppoint<int> >; ======================================================== -- Summary: ICE in make_ssa_name on autovect-branch Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at pdoerfler dot com GCC host triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27753