This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][stage2 project] Sub-Target specific math routines library
- From: Gabriel Dos Reis <gdr at cs dot tamu dot edu>
- To: Richard Guenther <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 17 Jan 2006 11:14:59 -0600
- Subject: Re: [PATCH][stage2 project] Sub-Target specific math routines library
- References: <Pine.LNX.4.63.0601171739180.6210@t148.fhfr.qr>
Richard Guenther <rguenther@suse.de> writes:
| This is a preview-post and overview of the stage2 project named
| "Sub-Target specific math routines library". The features it will enable
| are SSE(2) ABI (and implementation) transcendental functions for ia32
| and vectorized transcendental functions (i.e sin(v2df), etc.) for x86_64.
As a libstdc++ implementor and math user, I think this is a good move
for GCC.
| A new toplevel library is added which is expected to host architecture
| and/or gcc specific math routines, thus I named it libgccm (originally
| it was called libsse2, which you may remember). The structure of the
| library is as follows
|
| libgccm/
toplevel libs have unambigous names. I would suggest that the
directory be named libgcc-math/
| flt-32/
| C source for math transcendentals, from glibc
| dbl-64/
| C source for math transcendentals, from glibc
Hmm, what about long double? The precision will vary from platform to
platforms, and withing a given platform, from command lines to command
lines. I would be more appropriate to say
flt/ # or float/
dbl/ # or double/
ldbl/ # or long-double/
Is the general policy to mirror glibc (math) sources or for gcc to be
just "inspired" from glibc?
| i386/
| i386 architecture specific routines and makefiles. Here the
| SSE(2) ABI math routines are built (currently) from the source
| in flt-32 and dbl-64.
| x86_64/
| x86_64 architecture specific routines and makefiles. Here the
| vectorized intrinsics will be built from assembly and C support
| files.
should not there be subdirectories of the respective floating point
types master directories? e.g.
flt/i386/
dbl/x86_x64/
| There's only a toplevel configure which decides which directories to
| build in. The subdirs build convenience libraries that are linked
| together by the toplevel make to libgccm and get versioned there.
In case the target already has some of these functions, do we use
libgcc-math functions as override, or do we defer to whatever the host
system has?
-- Gaby