mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
[powerpc] libc_feholdsetround_noex_ppc_ctx: optimize FPSCR write
libc_feholdsetround_noex_ppc_ctx currently performs: 1. Read FPSCR, save to context. 2. Create new FPSCR value: clear enables and set new rounding mode. 3. Write new value to FPSCR. Since other bits just pass through, there is no need to write them. Instead, write just the changed values (enables and rounding mode), which can be a bit more efficient.
This commit is contained in:
parent
81ecb0ee49
commit
36c17c7079
@ -1,3 +1,9 @@
|
||||
2019-09-27 Paul A. Clarke <pc@us.ibm.com>
|
||||
|
||||
* sysdeps/powerpc/fpu/fenv_private.h
|
||||
(libc_feholdsetround_noex_ppc_ctx): Call fesetenv_mode instead
|
||||
of fesetenv_register.
|
||||
|
||||
2019-09-27 Paul A. Clarke <pc@us.ibm.com>
|
||||
|
||||
* sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_status): Rename to
|
||||
|
@ -142,7 +142,7 @@ libc_feholdsetround_noex_ppc_ctx (struct rm_ctx *ctx, int r)
|
||||
if (__glibc_unlikely (new.l != old.l))
|
||||
{
|
||||
__TEST_AND_ENTER_NON_STOP (old.l, 0ULL);
|
||||
fesetenv_register (new.fenv);
|
||||
fesetenv_mode (new.fenv);
|
||||
ctx->updated_status = true;
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user