summaryrefslogtreecommitdiffstats
path: root/target-tricore/tricore-opcodes.h
diff options
context:
space:
mode:
authorBastian Koppelmann <kbastian@mail.uni-paderborn.de>2014-12-03 17:40:21 +0000
committerBastian Koppelmann <kbastian@mail.uni-paderborn.de>2014-12-21 18:35:38 +0000
commit436d63ff3e3f87cda3e8df35827a40093cc17430 (patch)
tree62ecb383161ebf03bd775288046fb30836269aa0 /target-tricore/tricore-opcodes.h
parentb5fd8fa34594da327e2965a8c3b5dddf21f862ff (diff)
downloadhqemu-436d63ff3e3f87cda3e8df35827a40093cc17430.zip
hqemu-436d63ff3e3f87cda3e8df35827a40093cc17430.tar.gz
target-tricore: Fix MFCR/MTCR insn and B format offset.
Fix gen_mtcr using wrong register. Fix gen_mtcr/mfcr using sign extended offsets. Fix B format insn using not sign extendend offsets. Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Reviewed-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-tricore/tricore-opcodes.h')
-rw-r--r--target-tricore/tricore-opcodes.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/target-tricore/tricore-opcodes.h b/target-tricore/tricore-opcodes.h
index afc2288..919063e 100644
--- a/target-tricore/tricore-opcodes.h
+++ b/target-tricore/tricore-opcodes.h
@@ -94,6 +94,8 @@
/* B Format */
#define MASK_OP_B_DISP24(op) (MASK_BITS_SHIFT(op, 16, 31) + \
(MASK_BITS_SHIFT(op, 8, 15) << 16))
+#define MASK_OP_B_DISP24_SEXT(op) (MASK_BITS_SHIFT(op, 16, 31) + \
+ (MASK_BITS_SHIFT_SEXT(op, 8, 15) << 16))
/* BIT Format */
#define MASK_OP_BIT_D(op) MASK_BITS_SHIFT(op, 28, 31)
#define MASK_OP_BIT_POS2(op) MASK_BITS_SHIFT(op, 23, 27)
OpenPOWER on IntegriCloud