unicorn/qemu/tcg/i386
Richard Henderson 60cfe541b2
tcg/i386: Fix dupi/dupm for avx1 and 32-bit hosts
The VBROADCASTSD instruction only allows %ymm registers as destination.
Rather than forcing VEX.L and writing to the entire 256-bit register,
revert to using MOVDDUP with an %xmm register. This is sufficient for
an avx1 host since we do not support TCG_TYPE_V256 for that case.

Also fix the 32-bit avx2, which should have used VPBROADCASTW.

Fixes: 1e262b49b533

Backports commit 7b60ef3264e9627ac6efb34e9a6130647e9b55c0 from qemu
2019-05-24 18:04:08 -04:00
..
tcg-target.h tcg/i386: Support vector absolute value 2019-05-16 16:37:33 -04:00
tcg-target.inc.c tcg/i386: Fix dupi/dupm for avx1 and 32-bit hosts 2019-05-24 18:04:08 -04:00
tcg-target.opc.h tcg/i386: Add vector operations 2018-03-07 08:07:40 -05:00