tcg: Fix constant propagation in tcg_reg_alloc_dup
The scalar constant must be replicated for dup. Cc: qemu-stable@nongnu.org Fixes:bab1671f0f("tcg: Manually expand INDEX_op_dup_vec") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3002 Signed-off-by: Richard Henderson <richard.henderson@linaro.org> (cherry picked from commit0d0fc3f465) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
parent
46cdfdfe92
commit
22909a1397
1 changed files with 1 additions and 1 deletions
|
|
@ -4927,7 +4927,7 @@ static void tcg_reg_alloc_dup(TCGContext *s, const TCGOp *op)
|
|||
|
||||
if (its->val_type == TEMP_VAL_CONST) {
|
||||
/* Propagate constant via movi -> dupi. */
|
||||
tcg_target_ulong val = its->val;
|
||||
tcg_target_ulong val = dup_const(vece, its->val);
|
||||
if (IS_DEAD_ARG(1)) {
|
||||
temp_dead(s, its);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue