From: Richard Henderson Date: Tue, 9 Jul 2019 18:36:34 +0000 (+0000) Subject: tcg/aarch64: Fix output of extract2 opcodes X-Git-Tag: v4.1.0-rc1~10^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1789d4274b851fb8fdf4a947ce5474c63e813d0d;p=thirdparty%2Fqemu.git tcg/aarch64: Fix output of extract2 opcodes This patch fixes two problems: (1) The inputs to the EXTR insn were reversed, (2) The input constraints use rZ, which means that we need to use the REG0 macro in order to supply XZR for a constant 0 input. Fixes: 464c2969d5d Reported-by: Peter Maydell Tested-by: Alex Bennée Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- diff --git a/tcg/aarch64/tcg-target.inc.c b/tcg/aarch64/tcg-target.inc.c index b0f8106642f..0713448bf53 100644 --- a/tcg/aarch64/tcg-target.inc.c +++ b/tcg/aarch64/tcg-target.inc.c @@ -2226,7 +2226,7 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, case INDEX_op_extract2_i64: case INDEX_op_extract2_i32: - tcg_out_extr(s, ext, a0, a1, a2, args[3]); + tcg_out_extr(s, ext, a0, REG0(2), REG0(1), args[3]); break; case INDEX_op_add2_i32: