This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: [patch,target] Fix ppc-darwin issue with long double intrinsics (PR25477)


FX Coudert wrote:
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.)

Fortran parts are OK. As an aside, this should also allow gfortran to constant fold cpow* calls.


--
Janne Blomqvist


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