This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch,target] Fix ppc-darwin issue with long double intrinsics (PR25477)
- From: FX Coudert <fxcoudert at gmail dot com>
- To: gcc-patches list <gcc-patches at gcc dot gnu dot org>, gfortran List <fortran at gcc dot gnu dot org>
- Cc: GCC Development <gcc at gcc dot gnu dot org>, dalej at apple dot com, echristo at apple dot com, Mike Stump <mrs at apple dot com>
- Date: Sat, 23 Feb 2008 10:57:02 +0000
- Subject: [patch,target] Fix ppc-darwin issue with long double intrinsics (PR25477)
- References: <19c433eb0802210610w55b467e4vcffac985eac0a2cd@mail.gmail.com> <E6A6063A-7D9A-40BD-A6D9-B0B337901CA5@apple.com> <Pine.GSO.4.58.0802212324570.9993@caipclassic.rutgers.edu> <1665A79A-FAD8-4A99-BF26-D2D7C242F138@apple.com> <000801c8758f$8a4c52d0$6401a8c0@glap> <4929F0B3-0FDA-43E5-AF0B-F85E7CFDD191@apple.com> <20080222205019.GP13837@synopsys.com> <2A7A5D4C-6524-42F4-A671-86635EC950C3@apple.com>
Thanks to Andrew's code, Mike's and Geoff's comments in the PR, help
from Uros, Paolo and Jack, and Dominique's machine for testing, here
is a patch for fixing this PR. It has three independent parts, joined
together because I regtested them together:
1. the target part, in gcc/config/darwin* and gcc/config/rs6000,
that takes care of setting correct assembler names for the builtins,
if needed
2. the Fortran front-end part, bordering on obvious, that makes
cpow{f,,l} builtins instead of simply considering them library
functions (otherwise, they don't benefit from the patch above)
3. the Fortran testsuite part, splitting testing of ERF/ERFC from
large_real_kind_2.F90 into its separate test case, which still fails
on Darwin at -O0 because Apple's PowerPC erfl() and ercl() are plain
useless.
The patch was bootstrapped on powerpc-apple-darwin9.2.0 with C and
Fortran, and regtested with both -m32 and -m64 for these same
languages. OK for trunk? (I need a Darwin maintainer approval for the
target stuff, and a Fortran maintainer for Fortran parts.)
FX
--
François-Xavier Coudert
http://www.homepages.ucl.ac.uk/~uccafco/
Attachment:
darwin-longdouble-4.ChangeLog
Description: Binary data
Attachment:
darwin-longdouble-4.diff
Description: Binary data