[RFA][3/3] Remove Cell Broadband Engine SPU targets: libstdc++

Ulrich Weigand uweigand@de.ibm.com
Mon Sep 2 20:19:00 GMT 2019


[RFA][3/3] Remove Cell Broadband Engine SPU targets: libstdc++

Remove all references to spu from the libstdc++ directory.

Note that libstdc++ currently consideres "__ea" a reserved word
(because it was for the SPU target), and therefore specifically
avoids using it in include/tr1/ell_integral.tcc.  This patch
removes this workaround (which is not strictly necessary, but
seems the way to go ...).

Tested on s390x-ibm-linux.

OK for mainline?

Bye,
Ulrich


libstdc++-v3/ChangeLog:

	* crossconfig.m4: Remove references to spu.
	* configure: Regenerate.
	* doc/xml/manual/appendix_contributing.xml: Remove references
	to __ea as "badword" for spu.
	* doc/html/manual/source_code_style.html: Regenerate.
	* include/tr1/ell_integral.tcc (__ellint_rd): Do not attempt
	to avoid __ea (as "badword" for spu).
	(__ellint_rj): Likewise.

Index: libstdc++-v3/crossconfig.m4
===================================================================
--- libstdc++-v3/crossconfig.m4	(revision 275321)
+++ libstdc++-v3/crossconfig.m4	(working copy)
@@ -54,14 +54,6 @@
     AC_DEFINE(HAVE_SQRTF)
     ;;
 
-  spu-*-elf*)
-    GLIBCXX_CHECK_COMPILER_FEATURES
-    GLIBCXX_CHECK_LINKER_FEATURES
-    GLIBCXX_CHECK_MATH_SUPPORT
-    GLIBCXX_CHECK_STDLIB_SUPPORT
-    AM_ICONV
-    ;;
-
   *-aix*)
     GLIBCXX_CHECK_LINKER_FEATURES
     GLIBCXX_CHECK_MATH_SUPPORT
Index: libstdc++-v3/doc/html/manual/source_code_style.html
===================================================================
--- libstdc++-v3/doc/html/manual/source_code_style.html	(revision 275321)
+++ libstdc++-v3/doc/html/manual/source_code_style.html	(working copy)
@@ -48,9 +48,6 @@
       _res_ext<br />
       __tg_*<br />
 <br />
-      SPU adds:<br />
-      __ea<br />
-<br />
       For GCC:<br />
 <br />
       [Note that this list is out of date. It applies to the old<br />
Index: libstdc++-v3/doc/xml/manual/appendix_contributing.xml
===================================================================
--- libstdc++-v3/doc/xml/manual/appendix_contributing.xml	(revision 275321)
+++ libstdc++-v3/doc/xml/manual/appendix_contributing.xml	(working copy)
@@ -463,9 +463,6 @@
       _res_ext
       __tg_*
 
-      SPU adds:
-      __ea
-
       For GCC:
 
       [Note that this list is out of date. It applies to the old
Index: libstdc++-v3/include/tr1/ell_integral.tcc
===================================================================
--- libstdc++-v3/include/tr1/ell_integral.tcc	(revision 275321)
+++ libstdc++-v3/include/tr1/ell_integral.tcc	(working copy)
@@ -370,11 +370,10 @@
               __zn = __c0 * (__zn + __lambda);
             }
 
-	  // Note: __ea is an SPU badname.
-          _Tp __eaa = __xndev * __yndev;
+          _Tp __ea = __xndev * __yndev;
           _Tp __eb = __zndev * __zndev;
-          _Tp __ec = __eaa - __eb;
-          _Tp __ed = __eaa - _Tp(6) * __eb;
+          _Tp __ec = __ea - __eb;
+          _Tp __ed = __ea - _Tp(6) * __eb;
           _Tp __ef = __ed + __ec + __ec;
           _Tp __s1 = __ed * (-__c1 + __c3 * __ed
                                    / _Tp(3) - _Tp(3) * __c4 * __zndev * __ef
@@ -381,7 +380,7 @@
                                    / _Tp(2));
           _Tp __s2 = __zndev
                    * (__c2 * __ef
-                    + __zndev * (-__c3 * __ec - __zndev * __c4 - __eaa));
+                    + __zndev * (-__c3 * __ec - __zndev * __c4 - __ea));
 
           return _Tp(3) * __sigma + __power4 * (_Tp(1) + __s1 + __s2)
                                         / (__mu * std::sqrt(__mu));
@@ -634,17 +633,16 @@
               __pn = __c0 * (__pn + __lambda);
             }
 
-	  // Note: __ea is an SPU badname.
-          _Tp __eaa = __xndev * (__yndev + __zndev) + __yndev * __zndev;
+          _Tp __ea = __xndev * (__yndev + __zndev) + __yndev * __zndev;
           _Tp __eb = __xndev * __yndev * __zndev;
           _Tp __ec = __pndev * __pndev;
-          _Tp __e2 = __eaa - _Tp(3) * __ec;
-          _Tp __e3 = __eb + _Tp(2) * __pndev * (__eaa - __ec);
+          _Tp __e2 = __ea - _Tp(3) * __ec;
+          _Tp __e3 = __eb + _Tp(2) * __pndev * (__ea - __ec);
           _Tp __s1 = _Tp(1) + __e2 * (-__c1 + _Tp(3) * __c3 * __e2 / _Tp(4)
                             - _Tp(3) * __c4 * __e3 / _Tp(2));
           _Tp __s2 = __eb * (__c2 / _Tp(2)
                    + __pndev * (-__c3 - __c3 + __pndev * __c4));
-          _Tp __s3 = __pndev * __eaa * (__c2 - __pndev * __c3)
+          _Tp __s3 = __pndev * __ea * (__c2 - __pndev * __c3)
                    - __c2 * __pndev * __ec;
 
           return _Tp(3) * __sigma + __power4 * (__s1 + __s2 + __s3)
-- 
  Dr. Ulrich Weigand
  GNU/Linux compilers and toolchain
  Ulrich.Weigand@de.ibm.com



More information about the Libstdc++ mailing list