[Bug target/54412] minimal 32-byte stack alignment with -mavx on 64-bit Windows
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Apr 20 14:41:30 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412
--- Comment #40 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Eric Botcazou from comment #37)
> > If the Windows ABI doesn't align stack or not as much as gcc assumes, then a
> > fix would ensure only automatic vars on Windows are accessed always using
> > unaligned vector instructions provided dynamic stack realignment is not an
> > option.
>
> It's classical double-word alignment, i.e. 16 bytes, and AVX requires 32
> bytes.
> The implementation of dynamic stack realignment is too much of a kludge to
> be safely used on Windows IMO so, yes, the way out is probably unaligned
> vector instructions.
Assembler in binutils 2.38 supports:
-muse-unaligned-vector-move
encode aligned vector move as unaligned vector move
More information about the Gcc-bugs
mailing list