If we do not opimize away dup_vec, we must mark its output as changed. Fixes: 170ba88f45b Reported-by: Laurent Desnogues <laurent.desnog...@gmail.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- tcg/optimize.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tcg/optimize.c b/tcg/optimize.c index d4ea67e541..5dbe11c3c8 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1094,9 +1094,9 @@ void tcg_optimize(TCGContext *s) tmp = arg_info(op->args[1])->val; tmp = dup_const(TCGOP_VECE(op), tmp); tcg_opt_gen_movi(s, op, op->args[0], tmp); - continue; + break; } - break; + goto do_default; CASE_OP_32_64(not): CASE_OP_32_64(neg): -- 2.17.1