target/openrisc: Fix FPCSR mask to allow setting DZF
The mask used when setting FPCSR allows setting bits 10 to 1. However, OpenRISC has flags and config bits in 11 to 1, 11 being Divide by Zero Flag (DZF). This seems like an off-by-one bug. This was found when testing the GLIBC test suite which has test cases to set and clear all bits. Signed-off-by: Stafford Horne <shorne@gmail.com> Message-Id: <20200110212843.27335-1-shorne@gmail.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
28b58f19d2
commit
97a254b3f0
@ -70,7 +70,7 @@ void cpu_set_fpcsr(CPUOpenRISCState *env, uint32_t val)
|
||||
float_round_down
|
||||
};
|
||||
|
||||
env->fpcsr = val & 0x7ff;
|
||||
env->fpcsr = val & 0xfff;
|
||||
set_float_rounding_mode(rm_to_sf[extract32(val, 1, 2)], &env->fp_status);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user