On Sat, Feb 8, 2020 at 11:05 AM Jakub Jelinek <ja...@redhat.com> wrote: > > On Sat, Feb 08, 2020 at 08:24:38AM +0000, JonY wrote: > > It does not, I just checked with the master branch of binutils. > ... > > I did a -c test build with an older toolchain, it fails to compile > > (invalid register for .seh_savexmm) while the latest gcc is passing, > > both are using the same binutils version. > > > > I guess that covers it? > > I went ahead and committed the patch (with the double config/i386/ in it > fixed obviously).
I think that the patch should also be backported to gcc-9 branch. The change is backward compatible, since the new code will save and restore zmm16+ registers at the caller site, and the old code (e.g. existing libraries) will then unnecessarily save and restore regs in the callee. HJ fixed some other MSABI issue there. Uros. > > > > 2020-02-07 Uroš Bizjak <ubiz...@gmail.com> > > > Jakub Jelinek <ja...@redhat.com> > > > > > > PR target/65782 > > > * config/i386/config/i386/i386.h (CALL_USED_REGISTERS): Make > > > xmm16-xmm31 call-used even in 64-bit ms-abi. > > > > > > * gcc.target/i386/pr65782.c: New test. > > Jakub >