From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53004) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yrmqx-0000mQ-AV for qemu-devel@nongnu.org; Mon, 11 May 2015 08:30:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yrmqs-0004qW-IQ for qemu-devel@nongnu.org; Mon, 11 May 2015 08:30:34 -0400 Received: from mail.uni-paderborn.de ([131.234.142.9]:55731) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yrmqr-0004q5-Ub for qemu-devel@nongnu.org; Mon, 11 May 2015 08:30:30 -0400 From: Bastian Koppelmann Date: Mon, 11 May 2015 14:30:14 +0200 Message-Id: <1431347416-32365-4-git-send-email-kbastian@mail.uni-paderborn.de> In-Reply-To: <1431347416-32365-1-git-send-email-kbastian@mail.uni-paderborn.de> References: <1431347416-32365-1-git-send-email-kbastian@mail.uni-paderborn.de> Subject: [Qemu-devel] [PULL 3/5] target-tricore: fix BO_OFF10_SEXT calculating the wrong offset List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org The lower part of the combined offset was sign extended and could lead to wrong results. Signed-off-by: Bastian Koppelmann --- target-tricore/tricore-opcodes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-tricore/tricore-opcodes.h b/target-tricore/tricore-opcodes.h index d3a9bc1..2291f75 100644 --- a/target-tricore/tricore-opcodes.h +++ b/target-tricore/tricore-opcodes.h @@ -107,7 +107,7 @@ /* BO Format */ #define MASK_OP_BO_OFF10(op) (MASK_BITS_SHIFT(op, 16, 21) + \ (MASK_BITS_SHIFT(op, 28, 31) << 6)) -#define MASK_OP_BO_OFF10_SEXT(op) (MASK_BITS_SHIFT_SEXT(op, 16, 21) + \ +#define MASK_OP_BO_OFF10_SEXT(op) (MASK_BITS_SHIFT(op, 16, 21) + \ (MASK_BITS_SHIFT_SEXT(op, 28, 31) << 6)) #define MASK_OP_BO_OP2(op) MASK_BITS_SHIFT(op, 22, 27) #define MASK_OP_BO_S2(op) MASK_BITS_SHIFT(op, 12, 15) -- 2.4.0