qemu/tcg/i386
Richard Henderson 11e2bfef79 tcg/i386: Use MOVDQA for TCG_TYPE_V128 load/store
This instruction raises #GP, aka SIGSEGV, if the effective address
is not aligned to 16-bytes.

We have assertions in tcg-op-gvec.c that the offset from ENV is
aligned, for vector types <= V128.  But the offset itself does not
validate that the final pointer is aligned -- one must also remember
to use the QEMU_ALIGNED() attribute on the vector member within ENV.

PowerPC Altivec has vector load/store instructions that silently
discard the low 4 bits of the address, making alignment mistakes
difficult to discover.  Aid that by making the most popular host
visibly signal the error.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2019-05-22 15:09:43 -04:00
..
tcg-target.h tcg/i386: Support vector comparison select value 2019-05-22 15:09:43 -04:00
tcg-target.inc.c tcg/i386: Use MOVDQA for TCG_TYPE_V128 load/store 2019-05-22 15:09:43 -04:00
tcg-target.opc.h tcg/i386: Add vector operations 2018-02-08 15:54:08 +00:00