Turns out is an upstream #GCC #bug that hasn't been fixed despite being reported in 2012. Windows 64bit #stack is aligned to 16 bytes only, and some part of GCC generates vector move instructions that require 32 bytes. Problem doesn't occur on Linux as stack can be re-aligned there, some Windows-specific stuff I don't understand means that that isn't possible there.
Currently rebuilding gcc-mingw-w64 Debian package with an #HorribleHack to replace all #aligned #vector #move to #unaligned vector move in the i386+mmx+sse machine descriptions.
#gcc #bug #stack #horriblehack #aligned #vector #move #unaligned