]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: rs6000.c (rs6000_init_libfuncs): Set TFmode optabs to xlq names if TARGET_X...
authorDavid Edelsohn <edelsohn@gnu.org>
Fri, 22 Apr 2005 15:39:18 +0000 (15:39 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Fri, 22 Apr 2005 15:39:18 +0000 (11:39 -0400)
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
gcc/config/rs6000/rs6000.c

index b54aced646652a5d6037b2b12941f0c24cc9e7dd..593623a943a1f73fef9decb0c6a338cbfe2e2dd2 100644 (file)
@@ -1,3 +1,9 @@
+2005-04-22  David Edelsohn  <edelsohn@gnu.org>
+
+       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  <ebotcazou@libertysurf.fr>
 
        * doc/invoke.texi (SPARC options): Document that -mapp-regs
index c25aa9efff109cc4180999ec2f356e8fadcbd00d..354446b62acdfb887eba793b293353a5c95c0164 100644 (file)
@@ -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
     {