Hi!

In the http://gcc.gnu.org/ml/gcc/2017-02/msg00041.html
thread it has been proposed that powerpc*-*-*spe* would be obsoleted in
GCC 7, which didn't happen and the rs6000 backend has been split into two,
one actively maintained where the SPE support has been removed, and the
other one which unfortunately had just a few small commits, didn't get rid
of the expected 80% of the new backend which would make it deal with it
for global changes in GCC, nor has the bugfixes added to rs6000 backend in
the last 11 months since the split (many of them apply to powerpcspe too).

So, in order to resolve the P1 PR81084, I think we should at least make the
powerpc*-*-*spe* obsolete for GCC 8 and remove in GCC 9 if it doesn't get
significantly better soon (the first patch), or remove it altogether now,
which would match the deal that either the port is cleaned up, or it is
removed (the second patch).  In addition to this some changes.html
changes will be needed depending on what is chosen.

Preferences on what to do?

        Jakub
2018-04-17  Jakub Jelinek  <ja...@redhat.com>

        PR target/81084
        * config.gcc: Obsolete powerpc*-*-*spe*.

--- gcc/config.gcc.jj   2018-04-09 20:15:49.172631651 +0200
+++ gcc/config.gcc      2018-04-16 17:50:55.978576645 +0200
@@ -236,7 +236,7 @@ md_file=
 
 # Obsolete configurations.
 case ${target} in
- nothing                               \
+  powerpc*-*-*spe*                     \
  )
     if test "x$enable_obsolete" != xyes; then
       echo "*** Configuration ${target} is obsolete." >&2
2018-04-17  Jakub Jelinek  <ja...@redhat.com>

        PR target/81084
        * config.gcc: Add powerpc*-*-*spe* to unsupported targets.  Remove
        all other powerpc*-*-*spe* support snippets.
        * config.host: Remove powerpc*-*-*spe* support.
        * config/powerpcspe: Remove.
        * common/config/powerpcspe: Remove.
libgcc/
        * config.host: Remove powerpc-*-eabispe* support.
contrib/
        * config-list.mk (LIST): Remove powerpc-eabispe and powerpc-linux_spe.

rm -rf gcc/config/powerpcspe gcc/common/config/powerpcspe
--- gcc/config.gcc.jj   2018-04-09 20:15:49.172631651 +0200
+++ gcc/config.gcc      2018-04-16 17:55:22.854747410 +0200
@@ -265,6 +265,7 @@ case ${target} in
  | m68k-*-uclinuxoldabi*               \
  | mips64orion*-*-rtems*               \
  | pdp11-*-bsd                         \
+ | powerpc*-*-*spe*                    \
  | sparc-hal-solaris2*                 \
  | thumb-*-*                           \
  | *-*-freebsd[12] | *-*-freebsd[12].* \
@@ -454,16 +455,6 @@ nios2-*-*)
 nvptx-*-*)
        cpu_type=nvptx
        ;;
-powerpc*-*-*spe*)
-       cpu_type=powerpcspe
-       extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h 
spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
-       case x$with_cpu in
-           
xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456789]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
-               cpu_is_64bit=yes
-               ;;
-       esac
-       extra_options="${extra_options} g.opt fused-madd.opt 
powerpcspe/powerpcspe-tables.opt"
-       ;;
 powerpc*-*-*)
        cpu_type=rs6000
        extra_objs="rs6000-string.o rs6000-p8swap.o"
@@ -2422,12 +2413,6 @@ powerpc-*-netbsd*)
        tmake_file="${tmake_file} rs6000/t-netbsd"
        extra_options="${extra_options} rs6000/sysv4.opt"
        ;;
-powerpc-*-eabispe*)
-       tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h 
${cpu_type}/sysv4.h ${cpu_type}/eabi.h ${cpu_type}/e500.h ${cpu_type}/eabispe.h"
-       extra_options="${extra_options} ${cpu_type}/sysv4.opt"
-       tmake_file="${cpu_type}/t-spe ${cpu_type}/t-ppccomm"
-       use_gcc_stdint=wrap
-       ;;
 powerpc-*-eabisimaltivec*)
        tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h 
rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h"
        extra_options="${extra_options} rs6000/sysv4.opt"
@@ -2463,26 +2448,11 @@ powerpc-*-eabi*)
        tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
        use_gcc_stdint=wrap
        ;;
-powerpc-*-rtems*spe*)
-       tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h 
powerpcspe/sysv4.h powerpcspe/eabi.h powerpcspe/e500.h powerpcspe/rtems.h 
rtems.h"
-       extra_options="${extra_options} powerpcspe/sysv4.opt"
-       tmake_file="${tmake_file} powerpcspe/t-fprules powerpcspe/t-rtems 
powerpcspe/t-ppccomm"
-       ;;
 powerpc-*-rtems*)
        tm_file="rs6000/biarch64.h ${tm_file} dbxelf.h elfos.h freebsd-spec.h 
newlib-stdint.h rs6000/sysv4.h rs6000/rtems.h rtems.h"
        extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
        tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems 
rs6000/t-ppccomm"
        ;;
-powerpc*-*-linux*spe*)
-       tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h 
powerpcspe/sysv4.h"
-       extra_options="${extra_options} powerpcspe/sysv4.opt"
-       tmake_file="${tmake_file} powerpcspe/t-fprules powerpcspe/t-ppccomm"
-       extra_objs="$extra_objs powerpcspe-linux.o"
-       maybe_biarch=
-       tm_file="${tm_file} powerpcspe/linux.h glibc-stdint.h"
-       tmake_file="${tmake_file} powerpcspe/t-ppcos powerpcspe/t-linux"
-       tm_file="${tm_file} powerpcspe/linuxspe.h powerpcspe/e500.h"
-       ;;
 powerpc*-*-linux*)
        tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h 
rs6000/sysv4.h"
        extra_options="${extra_options} rs6000/sysv4.opt"
@@ -2501,11 +2471,11 @@ powerpc*-*-linux*)
            all) maybe_biarch=yes ;;
        esac
        case ${target} in
-           powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
+           powerpc64*-*-linux*paired*)
                echo "*** Configuration ${target} not supported" 1>&2
                exit 1
                ;;
-           powerpc*-*-linux*spe* | powerpc*-*-linux*paired*)
+           powerpc*-*-linux*paired*)
                maybe_biarch=
                ;;
        esac
@@ -2549,8 +2519,6 @@ powerpc*-*-linux*)
                extra_options="${extra_options} rs6000/476.opt" ;;
            powerpc*-*-linux*altivec*)
                tm_file="${tm_file} rs6000/linuxaltivec.h" ;;
-           powerpc*-*-linux*spe*)
-               tm_file="${tm_file} ${cpu_type}/linuxspe.h ${cpu_type}/e500.h" 
;;
            powerpc*-*-linux*paired*)
                tm_file="${tm_file} rs6000/750cl.h" ;;
        esac
@@ -2562,13 +2530,6 @@ powerpc*-*-linux*)
                tm_file="rs6000/secureplt.h ${tm_file}"
        fi
        ;;
-powerpc-wrs-vxworks*spe)
-       tm_file="${tm_file} elfos.h freebsd-spec.h powerpcspe/sysv4.h"
-       tmake_file="${tmake_file} powerpcspe/t-fprules powerpcspe/t-ppccomm 
powerpcspe/t-vxworks"
-       extra_options="${extra_options} powerpcspe/sysv4.opt"
-       extra_headers=ppc-asm.h
-       tm_file="${tm_file} vx-common.h vxworks.h powerpcspe/vxworks.h 
powerpcspe/e500.h"
-       ;;
 powerpc-wrs-vxworks*)
        tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
        tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm 
rs6000/t-vxworks"
@@ -3480,20 +3441,6 @@ if test x$with_cpu = x ; then
          ;;
       esac
       ;;
-    powerpc*-*-*spe*)
-      # For SPE, start with 8540, then upgrade to 8548 if
-      # --enable-e500-double was requested explicitly or if we were
-      # configured for e500v2.
-      with_cpu=8540
-      if test x$enable_e500_double = xyes; then
-        with_cpu=8548
-      fi
-      case ${target_noncanonical} in
-        e500v2*)
-          with_cpu=8548
-          ;;
-      esac
-      ;;
     sparc*-*-*)
       case ${target} in
        *-leon-*)
--- gcc/config.host.jj  2018-01-03 10:19:54.677533881 +0100
+++ gcc/config.host     2018-04-16 17:55:56.354768711 +0200
@@ -144,10 +144,6 @@ case ${host} in
   rs6000-*-* \
   | powerpc*-*-* )
     case ${target} in
-      powerpc*-*-*spe*)
-        host_extra_gcc_objs="driver-powerpcspe.o"
-        host_xmake_file="${host_xmake_file} powerpcspe/x-powerpcspe"
-        ;;
       rs6000-*-* \
       | powerpc*-*-* )
         host_extra_gcc_objs="driver-rs6000.o"
--- libgcc/config.host.jj       2018-04-07 09:12:51.952849374 +0200
+++ libgcc/config.host  2018-04-16 17:59:38.602910035 +0200
@@ -1038,10 +1038,6 @@ powerpc*-*-freebsd*)
 powerpc-*-netbsd*)
        tmake_file="$tmake_file rs6000/t-netbsd rs6000/t-crtstuff"
        ;;
-powerpc-*-eabispe*)
-       tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr 
rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
-       extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o 
crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
-       ;;
 powerpc-*-eabisimaltivec*)
        tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff 
t-crtstuff-pic t-fdpbit"
        extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o 
crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
--- contrib/config-list.mk.jj   2017-05-05 09:20:02.861536866 +0200
+++ contrib/config-list.mk      2018-04-16 17:48:58.159500892 +0200
@@ -72,10 +72,9 @@ LIST = aarch64-elf aarch64-linux-gnu aar
   pdp11-aout \
   powerpc-darwin8 \
   powerpc-darwin7 powerpc64-darwin powerpc-freebsd6 powerpc-netbsd \
-  powerpc-eabispe powerpc-eabisimaltivec powerpc-eabisim ppc-elf \
+  powerpc-eabisimaltivec powerpc-eabisim ppc-elf \
   powerpc-eabialtivec powerpc-xilinx-eabi powerpc-eabi \
-  powerpc-rtems powerpc-linux_spe \
-  powerpc-linux_paired powerpc64-linux_altivec \
+  powerpc-rtems powerpc-linux_paired powerpc64-linux_altivec \
   powerpc-wrs-vxworks powerpc-wrs-vxworksae powerpc-wrs-vxworksmils \
   powerpc-lynxos powerpcle-elf \
   powerpcle-eabisim powerpcle-eabi \

Reply via email to