This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] [AArch64] Suppress unnecessary FPSR and FPCR writes


Writes to fpsr and fpcr are expensive.  This patch adds checks before each
write to ensure we only write new values to them (as opposed to rewriting
what's there).

Tested with make check and make bench, with no regressions.

OK for commit?

Cheers,
Ian


2014-04-24  Ian Bolton  <ian.bolton@arm.com>

	* sysdeps/aarch64/fpu/fclrexcpt.c (feclearexcept): Don't write to
	fpsr if value didn't change.
	* sysdeps/aarch64/fpu/fedisblxcpt.c (fedisableexcept): Don't write
	to fpcr if value didn't change.
	* sysdeps/aarch64/fpu/feenablxcpt.c (feenableexcept): Likewise.
	* sysdeps/aarch64/fpu/feholdexcpt.c (feholdexcept): Don't write to
	fpsr or fpcr if value didn't change.
	* sysdeps/aarch64/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/aarch64/fpu/fesetround.c (fesetround): Don't write to
	fpcr if value didn't change.
	* sysdeps/aarch64/fpu/fsetexcptflg.c (fesetexceptflag): Don't write
	to fpsr if value didn't change.

Attachment: glibc_suppress_fpcr_fpsr_writes_patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]