]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
target-tricore: fix BO_OFF10_SEXT calculating the wrong offset
authorBastian Koppelmann <kbastian@mail.uni-paderborn.de>
Tue, 5 May 2015 17:36:55 +0000 (19:36 +0200)
committerBastian Koppelmann <kbastian@mail.uni-paderborn.de>
Mon, 11 May 2015 12:15:46 +0000 (14:15 +0200)
The lower part of the combined offset was sign extended and could lead to
wrong results.

Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
target-tricore/tricore-opcodes.h

index d3a9bc158b4f8705562b6489bf8b9dc228755f9c..2291f75fd9b33bd5edd57a1e30a5d5d7f673d28a 100644 (file)
 /* 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)