gvec operations require that all vectors be aligned on 16-byte boundary; make sure the MM/XMM/YMM/ZMM register file is aligned as neccessary.
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Jan Bobek <jan.bo...@gmail.com> --- target/i386/cpu.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 8b3dc5533e..cb407b86ba 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -1199,9 +1199,9 @@ typedef struct CPUX86State { float_status mmx_status; /* for 3DNow! float ops */ float_status sse_status; uint32_t mxcsr; - ZMMReg xmm_regs[CPU_NB_REGS == 8 ? 8 : 32]; - ZMMReg xmm_t0; - MMXReg mmx_t0; + ZMMReg xmm_regs[CPU_NB_REGS == 8 ? 8 : 32] QEMU_ALIGNED(16); + ZMMReg xmm_t0 QEMU_ALIGNED(16); + MMXReg mmx_t0 QEMU_ALIGNED(8); XMMReg ymmh_regs[CPU_NB_REGS]; -- 2.20.1