We need to use the newly introduced dup_const_tl in orc.b to legalise the truncation (to target_long) of the constant generated with dup_const.
Signed-off-by: Philipp Tomsich <philipp.toms...@vrull.eu> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> --- (no changes since v1) target/riscv/insn_trans/trans_rvb.c.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/insn_trans/trans_rvb.c.inc b/target/riscv/insn_trans/trans_rvb.c.inc index 2927353d9b..185c3e9a60 100644 --- a/target/riscv/insn_trans/trans_rvb.c.inc +++ b/target/riscv/insn_trans/trans_rvb.c.inc @@ -249,7 +249,7 @@ static bool trans_rev8_64(DisasContext *ctx, arg_rev8_64 *a) static void gen_orc_b(TCGv ret, TCGv source1) { TCGv tmp = tcg_temp_new(); - TCGv ones = tcg_constant_tl(dup_const(MO_8, 0x01)); + TCGv ones = tcg_constant_tl(dup_const_tl(MO_8, 0x01)); /* Set lsb in each byte if the byte was zero. */ tcg_gen_sub_tl(tmp, source1, ones); -- 2.25.1