https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65782
Bug ID: 65782 Summary: Assembly failure (invalid register for .seh_savexmm) with -O3 -mavx512f on mingw-w64 Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jamrial at gmail dot com Created attachment 35328 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35328&action=edit Assembly output https://raw.githubusercontent.com/foo86/dcadec/4dac90072f1a0ad368430dbbb568ac71def0241f/libdcadec/idct_float.c GCC 5.1.0 RC and mingw-w64 v4.0.1, cross-compiler. Can also be reproduced with GCC 4.9 [jamrial@archVM dcadec]$ x86_64-w64-mingw32-gcc -O3 -mavx512f -c -o libdcadec/idct_float.o libdcadec/idct_float.c /tmp/ccGUgVPR.s: Assembler messages: /tmp/ccGUgVPR.s:557: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:559: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:561: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:563: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:565: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:567: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:569: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:571: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:573: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:575: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:577: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:579: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:581: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:583: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:585: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:587: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1482: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1484: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1486: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1488: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1490: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1492: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1494: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1496: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1498: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1500: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1502: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1504: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1506: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1508: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1510: Error: invalid register for .seh_savexmm /tmp/ccGUgVPR.s:1512: Error: invalid register for .seh_savexmm [jamrial@archVM dcadec]$ x86_64-w64-mingw32-gcc -v Using built-in specs. COLLECT_GCC=x86_64-w64-mingw32-gcc COLLECT_LTO_WRAPPER=/opt/mingw64/lib/gcc/x86_64-w64-mingw32/5.0.1/lto-wrapper Target: x86_64-w64-mingw32 Configured with: /home/jamrial/gcc-5.1.0-RC-20150412/configure --host=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu --target=x86_64-w64-mingw32 --disable-multilib --enable-static --disable-shared --enable-64bit --prefix=/opt/mingw64 --with-sysroot=/opt/mingw64 --enable-version-specific-runtime-libs --with-dwarf --enable-fully-dynamic-string --enable-languages=c,c++ --enable-libssp --with-host-libstdcxx='-lstdc++ -lsupc++' --enable-lto --disable-win32-registry --libexecdir=/opt/mingw64/lib --disable-nls Thread model: win32 gcc version 5.0.1 20150412 (prerelease) (GCC) Attached is the resulting assembly file.