https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80367
--- Comment #7 from jwjagersma at gmail dot com --- Created attachment 41167 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41167&action=edit test case Here is a reduced test case that causes a similar (likely the same?) ICE on i686-w64-mingw32. The line number in print_reg is different, but then this is a different gcc version (6.3.0). Interestingly, compiling with -O3 here prints a more sensible error message. $ g++ -masm=intel -march=pentium3 -mstackrealign -O3 ice_print_reg.cpp ice_print_reg.cpp: In function 'int main()': ice_print_reg.cpp:19:30: error: 'asm' operand has impossible constraints : "esi", "esp", "cc"); ^ $ g++ -masm=intel -march=pentium3 -mstackrealign ice_print_reg.cpp ice_print_reg.cpp: In function 'int main()': ice_print_reg.cpp:20:1: internal compiler error: in print_reg, at config/i386/i386.c:16601 } ^ This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. ice_print_reg.cpp:20:1: internal compiler error: Aborted This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. g++.exe: internal compiler error: Aborted (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <https://sourceforge.net/projects/msys2> for instructions. $ g++ -v Using built-in specs. COLLECT_GCC=D:\msys64\mingw32\bin\g++.exe COLLECT_LTO_WRAPPER=D:/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/6.3.0/lto-wrapper.exe Target: i686-w64-mingw32 Configured with: ../gcc-6.3.0/configure --prefix=/mingw32 --with-local-prefix=/mingw32/local --build=i686-w64-mingw32 --host=i686-w64-mingw32 --target=i686-w64-mingw32 --with-native-system-header-dir=/mingw32/i686-w64-mingw32/include --libexecdir=/mingw32/lib --enable-bootstrap --with-arch=i686 --with-tune=generic --enable-languages=c,lto,c++,objc,obj-c++,fortran,ada --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-time=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-isl-version-check --enable-lto --enable-libgomp --disable-multilib --enable-checking=release --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw32 --with-mpfr=/mingw32 --with-mpc=/mingw32 --with-isl=/mingw32 --with-pkgversion='Rev2, Built by MSYS2 project' --with-bugurl=https://sourceforge.net/projects/msys2 --with-gnu-as --with-gnu-ld --disable-sjlj-exceptions --with-dwarf2 Thread model: posix gcc version 6.3.0 (Rev2, Built by MSYS2 project)