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]

Re: Pre-release review of glibc 2.17: 0 P1 bugs, 14 P2 bugs, 0 P3bugs.


From: "Joseph S. Myers" <joseph@codesourcery.com>
Date: Thu, 29 Nov 2012 17:42:01 +0000

> On Thu, 29 Nov 2012, David Miller wrote:
> 
>> > "Removal of sysdeps/x86_64/fpu/s_sincos.S causes regressions"
>> > http://sourceware.org/bugzilla/show_bug.cgi?id=14412
>> > - No patches.
>> > - Real problem though.
>> 
>> I wish we had a usable fix for this one, but we don't so...
> 
> There was speculation for some such issues that changing fesetround so it 
> doesn't set the control word if it hasn't actually made any changes to it 
> would avoid the overhead from setting round-to-nearest in various 
> functions, if the function is called with the FPU already in 
> round-to-nearest mode (the common case).  But I'm not sure what benchmarks 
> we have for that suggestion.

I think this is worth exploring.

But assuming that reading the register is about the same as writing to
it, it would cut the overhead by four.

The thinking is that SET_RESTORE_ROUND_53BIT (FE_TONEAREST) could save
some state that says "do nothing on restore" in this case.  Perhaps
by using some special sentinel for the __libc_save_rm value.


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