https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85478
--- Comment #1 from Andreas Krebbel <krebbel at gcc dot gnu.org> --- The testcases ICEs since r253196: S/390: Set the preferred mode for float vectors gcc/ChangeLog: 2017-09-26 Andreas Krebbel <kreb...@linux.vnet.ibm.com> * config/s390/s390.c (s390_preferred_simd_mode): Return V4SFmode for SFmode. with: during RTL pass: reload t2.cc: In member function ‘dealii::FullMatrix<number>& dealii::FullMatrix<number>::operator=(const dealii::FullMatrix<number2>&) [with number2 = std::complex<float>; number = std::complex<long double>]’: t2.cc:199:3: internal compiler error: Max. number of generated reload insns per insn is achieved (90) } ^ 0x185f553 lra_constraints(bool) /home/andreas/gcc/gcc/lra-constraints.c:4756 0x1845459 lra(_IO_FILE*) /home/andreas/gcc/gcc/lra.c:2390 0x17f260b do_reload /home/andreas/gcc/gcc/ira.c:5440 0x17f260b execute /home/andreas/gcc/gcc/ira.c:5624 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. With the poly-int patches the ICE is triggered during vectorization already probably papering over the original ICE. With the patch posted here the vectorization will not continue and does not appear to end up in that situation anymore: https://gcc.gnu.org/ml/gcc-patches/2018-04/msg00758.html