https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79237
Bug ID: 79237 Summary: ARMv7-M ICE in extract_constrain_insn, insn does not satisfy its constraints Product: gcc Version: 6.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: headch at gmail dot com Target Milestone: --- Created attachment 40585 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40585&action=edit Source code reproducing the bug $ armv7m-none-eabihf-g++ -O2 -mslow-flash-data -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -c test.cpp test.cpp: In member function ‘void S2::memFun()’: test.cpp:22:1: error: insn does not satisfy its constraints: } ^ (insn 8 20 6 2 (set (reg:SI 31 s15 [orig:118 obj1.mem1 ] [118]) (mem/u/c:SI (reg/f:SI 3 r3 [116]) [5 obj1.mem1+0 S4 A32])) test.cpp:21 615 {*thumb2_movsi_vfp} (nil)) test.cpp:22:1: internal compiler error: in extract_constrain_insn, at recog.c:2190 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. $ armv7m-none-eabihf-g++ -v Using built-in specs. COLLECT_GCC=armv7m-none-eabihf-g++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/armv7m-none-eabihf/6.3.0/lto-wrapper Target: armv7m-none-eabihf Configured with: /tmp/portage/dev-embedded/armv7m-none-eabihf-gcc-6.3.0/work/gcc-6.3.0/configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --docdir=/usr/share/doc/armv7m-none-eabihf-gcc-6.3.0 --htmldir=/usr/share/doc/armv7m-none-eabihf-gcc-6.3.0/html --libdir=/usr/lib64 --target=armv7m-none-eabihf --infodir=/usr/share/gcc-data/armv7m-none-eabihf/6.3.0/info --disable-multilib --disable-threads --with-cpu=cortex-m4 --with-abi=aapcs --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --enable-languages=c,c++ --disable-libstdc++-v3 --disable-libada --disable-libsanitizer --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libgomp --disable-libvtv --with-dwarf2 --without-headers --with-system-zlib --enable-nls --without-included-gettext Thread model: single gcc version 6.3.0 (GCC) Note that this is a locally developed Gentoo ebuild which runs a fairly stock ARM GCC install. I can try reproducing in a completely isolated, non-ebuild-driven environment if necessary.