From: David Brenken <david.bren...@efs-auto.de> Signed-off-by: David Brenken <david.bren...@efs-auto.de> Signed-off-by: Georg Hofstetter <georg.hofstet...@efs-auto.de> Signed-off-by: Florian Artmeier <florian.artme...@efs-auto.de> --- target/tricore/op_helper.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/target/tricore/op_helper.c b/target/tricore/op_helper.c index 7af202c..491f97d 100644 --- a/target/tricore/op_helper.c +++ b/target/tricore/op_helper.c @@ -2605,7 +2605,8 @@ void helper_rfe(CPUTriCoreState *env) } env->PC = env->gpr_a[11] & ~0x1; /* ICR.IE = PCXI.PIE; */ - env->ICR = (env->ICR & ~MASK_ICR_IE) + ((env->PCXI & MASK_PCXI_PIE) >> 15); + env->ICR = (env->ICR & ~MASK_ICR_IE) + | ((env->PCXI & MASK_PCXI_PIE) >> (21 - 15)); /* ICR.CCPN = PCXI.PCPN; */ env->ICR = (env->ICR & ~MASK_ICR_CCPN) + ((env->PCXI & MASK_PCXI_PCPN) >> 24); -- 2.7.4