Message ID | 20190525022008.24788-3-programmingkidx@gmail.com |
---|---|
State | New |
Headers | show |
Series | Implement PowerPC FPSCR flag Fraction Rounded | expand |
diff --git a/target/ppc/fpu_helper.c b/target/ppc/fpu_helper.c index 0b7308f539..0baf1ce8e4 100644 --- a/target/ppc/fpu_helper.c +++ b/target/ppc/fpu_helper.c @@ -630,6 +630,10 @@ static void do_float_check_status(CPUPPCState *env, uintptr_t raddr) env->fpscr &= ~(1 << FPSCR_FI); /* clear the FPSCR[FI] bit */ } + /* Set or clear the Fraction Rounded bit */ + env->fpscr = deposit32(env->fpscr, FPSCR_FR, 1, + (status & float_flag_rounded) != 0); + if (cs->exception_index == POWERPC_EXCP_PROGRAM && (env->error_code & POWERPC_EXCP_FP)) { /* Differred floating-point exception after target FPR update */
Signed-off-by: John Arbuckle <programmingkidx@gmail.com> --- target/ppc/fpu_helper.c | 4 ++++ 1 file changed, 4 insertions(+)