diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2021-07-09 14:56:18 -0700 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2021-07-21 13:13:44 -0700 |
commit | 31aefa93f3e9a49b7a493d410acb70108e176d61 (patch) | |
tree | 2f561d4720e94a127809be94dee5c85af16abaec /version.h | |
parent | 77ede5f010f1b144e067ec035e422a13bb57c55d (diff) | |
download | glibc-31aefa93f3e9a49b7a493d410acb70108e176d61.zip glibc-31aefa93f3e9a49b7a493d410acb70108e176d61.tar.gz glibc-31aefa93f3e9a49b7a493d410acb70108e176d61.tar.bz2 |
ARC: fp: (micro)optimize FPU_STATUS read by eliding FWE bit clearing
Any FPU_STATUS write needs setting the FWE bit (31) whcih just provides
a "control signal" to enable explicit write (vs. the side-effect of FPU
instructions). However this bit is RAZ and write-only, thus effectively
never stored in FPU_STATUS register. Thus when reading the register
there is no need to clear it. This shaves off a BCLR instruction from
the fe*exceptino family of functions and while no big deal still makes
sense to do.
This came up when debugging a race in math/test-fenv-tls [1]
[1]: https://github.com/foss-for-synopsys-dwc-arc-processors/linux/issues/54
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'version.h')
0 files changed, 0 insertions, 0 deletions