From 00ebbae128bb3d71e8189e8561f1a37756ea7f6e Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Fri, 2 Mar 2018 15:12:07 -0500 Subject: [PATCH] tcg/mips: fix field extraction opcode The "msb" argument should correspond to (len - 1). Backports commit 2f5a5f5774d95baacf86c03aa8a77a2d0390f2b2 from qemu --- qemu/tcg/mips/tcg-target.inc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qemu/tcg/mips/tcg-target.inc.c b/qemu/tcg/mips/tcg-target.inc.c index a496b5bc..dd9ac47c 100644 --- a/qemu/tcg/mips/tcg-target.inc.c +++ b/qemu/tcg/mips/tcg-target.inc.c @@ -2108,11 +2108,11 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode opc, args[3] + args[4] - 1, args[3]); break; case INDEX_op_extract_i32: - tcg_out_opc_bf(s, OPC_EXT, a0, a1, a2 + args[3] - 1, a2); + tcg_out_opc_bf(s, OPC_EXT, a0, a1, args[3] - 1, a2); break; case INDEX_op_extract_i64: tcg_out_opc_bf64(s, OPC_DEXT, OPC_DEXTM, OPC_DEXTU, a0, a1, - a2 + args[3] - 1, a2); + args[3] - 1, a2); break; case INDEX_op_brcond_i32: