mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 09:55:55 +00:00
target/alpha: Tidy helper_fp_exc_raise_s
Remove a redundant masking of ignore. Once that's gone it is obvious that the system-mode inner test is redundant with the outer test. Move the fpcr_exc_enable masking up and tidy. No functional change. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190921043256.4575-8-richard.henderson@linaro.org>
This commit is contained in:
parent
8009307031
commit
11bfdbdfc2
|
@ -90,25 +90,18 @@ void helper_fp_exc_raise_s(CPUAlphaState *env, uint32_t ignore, uint32_t regno)
|
|||
uint32_t exc = env->error_code & ~ignore;
|
||||
if (exc) {
|
||||
env->fpcr |= exc;
|
||||
exc &= ~ignore;
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
/*
|
||||
* In user mode, the kernel's software handler only
|
||||
* delivers a signal if the exception is enabled.
|
||||
*/
|
||||
if (!(exc & env->fpcr_exc_enable)) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
exc &= env->fpcr_exc_enable;
|
||||
/*
|
||||
* In system mode, the software handler gets invoked
|
||||
* for any non-ignored exception.
|
||||
* In user mode, the kernel's software handler only
|
||||
* delivers a signal if the exception is enabled.
|
||||
*/
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
if (!exc) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
exc &= env->fpcr_exc_enable;
|
||||
fp_exc_raise1(env, GETPC(), exc, regno, EXC_M_SWC);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue