Re: Obsolete powerpc*-*-*spe*

2017-02-14 Thread Sebastian Huber

Hello Segher,

On 14/02/17 04:07, Segher Boessenkool wrote:

Hi all,

I propose to mark powerpc*-*-*spe* as obsolete in GCC 7.  This includes
the spe.h installed header file, all the __builtin_spe* intrinsics, the
-mfloat-gprs= command-line option, and the support for the SPE ABIs.

No one has properly tested these targets in a long time (the latest
testresults I could find are from July 2015, >1000 failures), and the
SPE support makes a lot of code much more complex.

Any objections to this obsoletion?  GCC 7 will then be the last release
with support for SPE (it will need --enable-obsolete to build these
targets), and we will delete the SPE support during GCC 8 development.


the SPE unit is still used in the embedded PowerPC processors from 
Freescale/NXP/Qualcomm, for example QorIQ P1020. These products are not 
obsolete or even not recommended for new designs. These chips have a 
long product life-cycle.


Its a pity that Freescale/NXP/Qualcomm stopped to support GCC 
development and IBM is burdened to take care of this. I can understand 
your reasoning, however, its not true that there are no users of the SPE 
unit.


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



Re: Obsolete powerpc*-*-*spe*

2017-02-14 Thread David Edelsohn
On Mon, Feb 13, 2017 at 10:07 PM, Segher Boessenkool
 wrote:
> Hi all,
>
> I propose to mark powerpc*-*-*spe* as obsolete in GCC 7.  This includes
> the spe.h installed header file, all the __builtin_spe* intrinsics, the
> -mfloat-gprs= command-line option, and the support for the SPE ABIs.
>
> No one has properly tested these targets in a long time (the latest
> testresults I could find are from July 2015, >1000 failures), and the
> SPE support makes a lot of code much more complex.
>
> Any objections to this obsoletion?  GCC 7 will then be the last release
> with support for SPE (it will need --enable-obsolete to build these
> targets), and we will delete the SPE support during GCC 8 development.

LGTM.

Thanks, David


Re: Obsolete powerpc*-*-*spe*

2017-02-14 Thread David Brown
On 14/02/17 12:55, Sebastian Huber wrote:
> Hello Segher,
> 
> On 14/02/17 04:07, Segher Boessenkool wrote:
>> Hi all,
>>
>> I propose to mark powerpc*-*-*spe* as obsolete in GCC 7.  This includes
>> the spe.h installed header file, all the __builtin_spe* intrinsics, the
>> -mfloat-gprs= command-line option, and the support for the SPE ABIs.
>>
>> No one has properly tested these targets in a long time (the latest
>> testresults I could find are from July 2015, >1000 failures), and the
>> SPE support makes a lot of code much more complex.
>>
>> Any objections to this obsoletion?  GCC 7 will then be the last release
>> with support for SPE (it will need --enable-obsolete to build these
>> targets), and we will delete the SPE support during GCC 8 development.
> 
> the SPE unit is still used in the embedded PowerPC processors from
> Freescale/NXP/Qualcomm, for example QorIQ P1020. These products are not
> obsolete or even not recommended for new designs. These chips have a
> long product life-cycle.

It is also used in many PPC based microcontrollers, which are used in
the automotive industry and other places where you need highly reliable
and robust but powerful microcontrollers.  However, gcc support for
these has traditionally been poor - there is little support for the
variety of cores and configurations available from Freescale/NXP.  I
believe there is a chicken-and-egg situation here - few people use gcc
with these devices because there is poorer device support compared to
Freescale CodeWarrior or Green Hills, and there is little incentive for
gcc developers (such as the CodeSourcery or IBM PPC folks) to support
devices in gcc if no one uses that combination.

> 
> Its a pity that Freescale/NXP/Qualcomm stopped to support GCC
> development and IBM is burdened to take care of this. I can understand
> your reasoning, however, its not true that there are no users of the SPE
> unit.
> 

I think what would be needed would be for Freescale/NXP/Qualcomm to put
some money and effort in here, with the aim of making gcc their standard
compiler for these targets (as they have done for ARM, replacing the old
CodeWarrior compiler).

Failing that, it is of course better to have no SPE support than broken
SPE support, especially if it makes development harder for other devices.




Re: Obsolete powerpc*-*-*spe*

2017-02-14 Thread Sebastian Huber

On 14/02/17 15:09, David Brown wrote:

On 14/02/17 12:55, Sebastian Huber wrote:

Hello Segher,

On 14/02/17 04:07, Segher Boessenkool wrote:

Hi all,

I propose to mark powerpc*-*-*spe* as obsolete in GCC 7.  This includes
the spe.h installed header file, all the __builtin_spe* intrinsics, the
-mfloat-gprs= command-line option, and the support for the SPE ABIs.

No one has properly tested these targets in a long time (the latest
testresults I could find are from July 2015, >1000 failures), and the
SPE support makes a lot of code much more complex.

Any objections to this obsoletion?  GCC 7 will then be the last release
with support for SPE (it will need --enable-obsolete to build these
targets), and we will delete the SPE support during GCC 8 development.

the SPE unit is still used in the embedded PowerPC processors from
Freescale/NXP/Qualcomm, for example QorIQ P1020. These products are not
obsolete or even not recommended for new designs. These chips have a
long product life-cycle.

It is also used in many PPC based microcontrollers, which are used in
the automotive industry and other places where you need highly reliable
and robust but powerful microcontrollers.  However, gcc support for
these has traditionally been poor - there is little support for the
variety of cores and configurations available from Freescale/NXP.  I
believe there is a chicken-and-egg situation here - few people use gcc
with these devices because there is poorer device support compared to
Freescale CodeWarrior or Green Hills, and there is little incentive for
gcc developers (such as the CodeSourcery or IBM PPC folks) to support
devices in gcc if no one uses that combination.


Yes, we use GCC also one these chips, however, due to the lack of VLE 
support the situation is even worse. Looks like support for the non-IBM 
PowerPC is dead in GCC. I can understand this pretty well.


With the Qualcomm takeover of Freescale/NXP I guess the PowerPC has no 
future in this area and they will move to ARM for the processor cores.





Its a pity that Freescale/NXP/Qualcomm stopped to support GCC
development and IBM is burdened to take care of this. I can understand
your reasoning, however, its not true that there are no users of the SPE
unit.


I think what would be needed would be for Freescale/NXP/Qualcomm to put
some money and effort in here, with the aim of making gcc their standard
compiler for these targets (as they have done for ARM, replacing the old
CodeWarrior compiler).

Failing that, it is of course better to have no SPE support than broken
SPE support, especially if it makes development harder for other devices.



Yes, in case Qualcomm shows no interest to support their PowerPC stuff 
in GCC its quite understandable to remove the support for it eventually. 
IBM already did a great job in keeping it up and running for a long time.


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



Re: Obsolete powerpc*-*-*spe*

2017-02-14 Thread Segher Boessenkool
On Tue, Feb 14, 2017 at 03:26:09PM +0100, Sebastian Huber wrote:
> >>>I propose to mark powerpc*-*-*spe* as obsolete in GCC 7.  This includes
> >>>the spe.h installed header file, all the __builtin_spe* intrinsics, the
> >>>-mfloat-gprs= command-line option, and the support for the SPE ABIs.
> >>>
> >>>No one has properly tested these targets in a long time (the latest
> >>>testresults I could find are from July 2015, >1000 failures), and the
> >>>SPE support makes a lot of code much more complex.
> >>>
> >>>Any objections to this obsoletion?  GCC 7 will then be the last release
> >>>with support for SPE (it will need --enable-obsolete to build these
> >>>targets), and we will delete the SPE support during GCC 8 development.
> >>the SPE unit is still used in the embedded PowerPC processors from
> >>Freescale/NXP/Qualcomm, for example QorIQ P1020. These products are not
> >>obsolete or even not recommended for new designs. These chips have a
> >>long product life-cycle.

Yes.  SPE is part of some e500 and some e200 CPUs I think (but only
some, in both cases).

> >It is also used in many PPC based microcontrollers, which are used in
> >the automotive industry and other places where you need highly reliable
> >and robust but powerful microcontrollers.  However, gcc support for
> >these has traditionally been poor - there is little support for the
> >variety of cores and configurations available from Freescale/NXP.  I
> >believe there is a chicken-and-egg situation here - few people use gcc
> >with these devices because there is poorer device support compared to
> >Freescale CodeWarrior or Green Hills, and there is little incentive for
> >gcc developers (such as the CodeSourcery or IBM PPC folks) to support
> >devices in gcc if no one uses that combination.
> 
> Yes, we use GCC also one these chips, however, due to the lack of VLE 
> support the situation is even worse. Looks like support for the non-IBM 
> PowerPC is dead in GCC. I can understand this pretty well.

It's not true though; we still support all those cores, just not the
VLE extension (we never have), and I propose GCC 7 will drop the SPE
extension as well -- not all other support we have for those cores.
They will have to use soft float, alas.

We also still support all non-IBM non-FSL cores.

> With the Qualcomm takeover of Freescale/NXP I guess the PowerPC has no 
> future in this area and they will move to ARM for the processor cores.

That is my understanding as well, yes.

> >>Its a pity that Freescale/NXP/Qualcomm stopped to support GCC
> >>development and IBM is burdened to take care of this. I can understand
> >>your reasoning, however, its not true that there are no users of the SPE
> >>unit.

(I never said there are no users, I'm well aware).  The burden is not
just IBM's, also all other GCC developers and users.

> >I think what would be needed would be for Freescale/NXP/Qualcomm to put
> >some money and effort in here, with the aim of making gcc their standard
> >compiler for these targets (as they have done for ARM, replacing the old
> >CodeWarrior compiler).
> >
> >Failing that, it is of course better to have no SPE support than broken
> >SPE support, especially if it makes development harder for other devices.
> 
> Yes, in case Qualcomm shows no interest to support their PowerPC stuff 
> in GCC its quite understandable to remove the support for it eventually. 
> IBM already did a great job in keeping it up and running for a long time.

That is the unfortunate reality.


Segher


Re: Obsolete powerpc*-*-*spe*

2017-02-14 Thread Olivier Hainque
Hi Segher,

> On Feb 14, 2017, at 04:07 , Segher Boessenkool  
> wrote:
> 
> Hi all,
> 
> I propose to mark powerpc*-*-*spe* as obsolete in GCC 7.  This includes
> the spe.h installed header file, all the __builtin_spe* intrinsics, the
> -mfloat-gprs= command-line option, and the support for the SPE ABIs.
> 
> No one has properly tested these targets in a long time (the latest
> testresults I could find are from July 2015, >1000 failures), and the
> SPE support makes a lot of code much more complex.

> Any objections to this obsoletion?  GCC 7 will then be the last release
> with support for SPE (it will need --enable-obsolete to build these
> targets), and we will delete the SPE support during GCC 8 development.

While I understand you already know of existing users and I see the
background of your move, I believe it would be a real loss. Here are
a few datpoints from here:

We have quite a few active users of spe based ports, some big, on both
bare-metal and VxWorks configurations, including the recent VxWorks 7 series
that we're planning to contribute when stage1 reopens.

We are running a fair amount of tests nightly in-house, ACATS for Ada + various
batches of regression tests, so keep a constant eye on the state of these ports.

We are actually discussing running dejagnu testsuites as well, and we could
post test results as soon as we have them.

We have participated in the port maintenance in the past and are willing to
keep helping as much as we can. We don't have the manpower of chip makers for
new versions or extensions of course.

With Kind Regards,

Olivier



gcc-5-20170214 is now available

2017-02-14 Thread gccadmin
Snapshot gcc-5-20170214 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/5-20170214/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 5 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-5-branch 
revision 245459

You'll find:

 gcc-5-20170214.tar.bz2   Complete GCC

  MD5=f70fd7c7835d37a0519608f4a3c3d3a2
  SHA1=19d76154e36d9de8bf7ffb9527a6987d9f0763c7

Diffs from 5-20170207 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-5
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


PowerPC -many

2017-02-14 Thread Alan Modra
Since we've been talking about obsoleting cpu support, how about
getting rid of -many in ASM_CPU_SPEC for gcc-8?

It's a horrible hack of mine to work around gcc -mcpu option handling
bugs which I think have been fixed, and to silence complaints from gas
about asm() written for multiple cpus (with presumably run-time
selection of which block of code gets executed depending on cpu).

It used to be just a linux hack, but I see David uses it in aix61.h
and aix71.h too?

-- 
Alan Modra
Australia Development Lab, IBM


Re: PowerPC -many

2017-02-14 Thread Segher Boessenkool
On Wed, Feb 15, 2017 at 10:36:02AM +1030, Alan Modra wrote:
> Since we've been talking about obsoleting cpu support, how about
> getting rid of -many in ASM_CPU_SPEC for gcc-8?

Sure, but that doesn't need advance warning to the users, does it?
Things worked before and stay working, nothing user-visible?


Segher


Re: PowerPC -many

2017-02-14 Thread Alan Modra
On Tue, Feb 14, 2017 at 06:38:40PM -0600, Segher Boessenkool wrote:
> On Wed, Feb 15, 2017 at 10:36:02AM +1030, Alan Modra wrote:
> > Since we've been talking about obsoleting cpu support, how about
> > getting rid of -many in ASM_CPU_SPEC for gcc-8?
> 
> Sure, but that doesn't need advance warning to the users, does it?

Probably not.

> Things worked before and stay working, nothing user-visible?

Except for bad user asm() that ought to be true.  Oh, and gcc bugs
like emitting power9 insns when -mcpu=power8.  You'd have some chance
that the assembler would complain rather than getting sigill at
run-time.

-- 
Alan Modra
Australia Development Lab, IBM


Re: PowerPC -many

2017-02-14 Thread Peter Bergner

On 2/14/17 6:06 PM, Alan Modra wrote:

Since we've been talking about obsoleting cpu support, how about
getting rid of -many in ASM_CPU_SPEC for gcc-8?


+1

Peter





Re: PowerPC -many

2017-02-14 Thread Jakub Jelinek
On Wed, Feb 15, 2017 at 11:34:26AM +1030, Alan Modra wrote:
> On Tue, Feb 14, 2017 at 06:38:40PM -0600, Segher Boessenkool wrote:
> > On Wed, Feb 15, 2017 at 10:36:02AM +1030, Alan Modra wrote:
> > > Since we've been talking about obsoleting cpu support, how about
> > > getting rid of -many in ASM_CPU_SPEC for gcc-8?
> > 
> > Sure, but that doesn't need advance warning to the users, does it?
> 
> Probably not.
> 
> > Things worked before and stay working, nothing user-visible?
> 
> Except for bad user asm() that ought to be true.  Oh, and gcc bugs
> like emitting power9 insns when -mcpu=power8.  You'd have some chance
> that the assembler would complain rather than getting sigill at
> run-time.

What does gcc do when using target attribute, where one function is
power7, another power9, then another power8?

Jakub