incorrectly rounded square root

Marco Atzeri marco.atzeri@gmail.com
Wed Jun 2 19:07:45 GMT 2021


On 02.06.2021 20:43, Jeff Johnston wrote:
> On Wed, Jun 2, 2021 at 9:08 AM Joel Sherrill <joel@rtems.org> wrote:
> 
>>
>>
>> On Wed, Jun 2, 2021 at 2:51 AM Paul Zimmermann <Paul.Zimmermann@inria.fr>
>> wrote:
>>

>>
> I'll second Joel's comment.  The code is extremely close to the glibc code
> both in sqrtf and fesetround.  The only
> thing I can think of is that the glibc code does the x87 stuff first and
> does the set back into FPU state before doing the
> SSE stuff.  The newlib code sets back the FPU state at the end after the
> SSE stuff.  Don't know if this is relevant or not.
> 
> Any Cygwin users out there who can verify that the code is working/not
> working for them?
> 
> -- Jeff J.
> 

current Cygwin produces for both i686 and X86_64

  $ gcc -DNEWLIB -fno-builtin test_sqrt.c  -lm

  $ ./a.exe
RNDN: 0x1.ff83fp+63
RNDZ: 0x1.ff83fp+63
RNDU: 0x1.ff83fp+63
RNDD: 0x1.ff83fp+63



More information about the Newlib mailing list