i386/cygwin fpu hard-float [l]{0-2}rint[lf]? implementation pt. 1

Dave Korn dave.korn@artimi.com
Wed Dec 19 17:15:00 GMT 2007

On 18 December 2007 20:04, Jeff Johnston wrote:

> Hi Dave,
>    After looking at it, I tend to agree with you that you have really
> provided fastmath versions of the functions.  In keeping with that, I
> renamed the functions appropriately, removed the inclusion of common
> code (not needed), and fixed up math.h (can't assume all types exist)

  Thanks for doing all this!

> and added the functions to libc/machine/i386/machine/fastmath.h.

  That bit was missing from your patch.  I could probably reproduce it locally by
following the existing patterns - should I be using _LONG_LONG et al. here as well,
or do the #if guards guarantee that those types will be available?

>    I have included the modified patch with this.  Please look at it and
> try it out if you are ok with it.

  I'll give it a quick test.  I'm certainly ok with it, it seems like a better way
to implement it to me.

>    The consequence of my tinkering is that there is no default versions
> for lrintl, rintl, llrint, llrintf, and llrintl (i.e. the new
> functions).  This could be remedied by adding s* C code that calls the
> _f_ versions for the time-being until they are eventually added to the
> common directory.  The alternative is that -ffast-math is required to
> use these functions.  I'll let you decide which you prefer.  In the
> soft-float case, the functions don't exist.

  Righto.  I'll add the s* files/functions, because -ffast-math appears to have some
problems currently, and people might want to avoid it but still get the new
functions.  I also note that you had the same excess changes as I did when you
regenerated Makefile.in, so I won't worry about those, they look basically like
noise anyway.

Can't think of a witty .sigline today....

More information about the Newlib mailing list