tcg/i386: Fix dupi for avx2 32-bit hosts

The previous change wrongly stated that 32-bit avx2 should have
used VPBROADCASTW. But that's a 16-bit broadcast and we want a
32-bit broadcast.

Backports f80d09b599a5e0fd7f44653f23b04104cb703f7a
This commit is contained in:
Richard Henderson 2021-03-01 19:44:07 -05:00 committed by Lioncash
parent 50b3632ab4
commit 578673be68

View file

@ -964,7 +964,7 @@ static void tcg_out_dupi_vec(TCGContext *s, TCGType type,
new_pool_label(s, arg, R_386_PC32, s->code_ptr - 4, -4); new_pool_label(s, arg, R_386_PC32, s->code_ptr - 4, -4);
} else { } else {
if (have_avx2) { if (have_avx2) {
tcg_out_vex_modrm_pool(s, OPC_VPBROADCASTW + vex_l, ret); tcg_out_vex_modrm_pool(s, OPC_VPBROADCASTD + vex_l, ret);
} else { } else {
tcg_out_vex_modrm_pool(s, OPC_VBROADCASTSS, ret); tcg_out_vex_modrm_pool(s, OPC_VBROADCASTSS, ret);
} }