From 951ad8709f93bf722fe526268f756901fd1dfdec Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Fri, 22 Apr 2005 15:39:18 +0000 Subject: [PATCH] backport: rs6000.c (rs6000_init_libfuncs): Set TFmode optabs to xlq names if TARGET_XL_COMPAT. Backport from mainline. * config/rs6000/rs6000.c (rs6000_init_libfuncs): Set TFmode optabs to xlq names if TARGET_XL_COMPAT. From-SVN: r98564 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/rs6000.c | 20 +++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b54aced64665..593623a943a1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-04-22 David Edelsohn + + Backport from mainline. + * config/rs6000/rs6000.c (rs6000_init_libfuncs): Set TFmode + optabs to xlq names if TARGET_XL_COMPAT. + 2005-04-22 Eric Botcazou * doc/invoke.texi (SPARC options): Document that -mapp-regs diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index c25aa9efff10..354446b62acd 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -7701,11 +7701,21 @@ rs6000_init_libfuncs (void) set_conv_libfunc (ufix_optab, SImode, TFmode, "_quitrunc"); } - /* Standard AIX/Darwin/64-bit SVR4 quad floating point routines. */ - set_optab_libfunc (add_optab, TFmode, "__gcc_qadd"); - set_optab_libfunc (sub_optab, TFmode, "__gcc_qsub"); - set_optab_libfunc (smul_optab, TFmode, "__gcc_qmul"); - set_optab_libfunc (sdiv_optab, TFmode, "__gcc_qdiv"); + /* AIX/Darwin/64-bit Linux quad floating point routines. */ + if (!TARGET_XL_COMPAT) + { + set_optab_libfunc (add_optab, TFmode, "__gcc_qadd"); + set_optab_libfunc (sub_optab, TFmode, "__gcc_qsub"); + set_optab_libfunc (smul_optab, TFmode, "__gcc_qmul"); + set_optab_libfunc (sdiv_optab, TFmode, "__gcc_qdiv"); + } + else + { + set_optab_libfunc (add_optab, TFmode, "_xlqadd"); + set_optab_libfunc (sub_optab, TFmode, "_xlqsub"); + set_optab_libfunc (smul_optab, TFmode, "_xlqmul"); + set_optab_libfunc (sdiv_optab, TFmode, "_xlqdiv"); + } } else { -- 2.47.2