Obsolete powerpc*-*-*spe*

Segher Boessenkool segher@kernel.crashing.org
Thu Mar 16 19:25:00 GMT 2017

Hi Andrew,

On Wed, Mar 15, 2017 at 09:43:20PM +0000, Andrew Jenner wrote:
> On 15/03/2017 14:26, Segher Boessenkool wrote:
> >I do not think VLE can get in, not in its current shape at least.
> That's unfortunate. Disregarding the SPE splitting plan for a moment, 
> what do you think would need to be done to get it into shape? I had 
> thought we were almost there with the patches that I sent to you and 
> David off-list last year.
> > VLE
> >is very unlike PowerPC in many ways so it comes at a very big cost to
> >the port (maintenance and otherwise -- maintenance is what I care about
> >most).
> I completely understand.

That answers your previous question, too.

> >Since SPE and VLE only share the part of the rs6000 port that doesn't
> >change at all (except for a bug fix once or twice a year), and everything
> >else needs special cases all over the place, it seems to me it would be
> >best for everyone if we split the rs6000 port in two, one for SPE and VLE
> >and one for the rest.  Both ports could then be very significantly
> >simplified.
> >
> >I am assuming SPE and VLE do not support AltiVec or 64-bit PowerPC,
> >please correct me if that is incorrect.  Also, is "normal" floating
> >point supported at all?
> My understanding is that SPE is only present in the e500v1, e500v2 and 
> e200z[3-7] cores, all of which are 32-bit only and do not have classic 
> floating-point units. SPE and Altivec cannot coexist as they have some 
> overlapping instruction encodings. The successor to e500v2 (e500mc) 
> reinstated classic floating-point and got rid of SPE.

e500mc (like e5500, e6500) are just PowerPC (and they use the usual ABIs),
so those should stay on the "rs6000 side".

> >Do you (AdaCore and Mentor) think splitting the port is a good idea?
> It wouldn't have been my preference, but I can understand the appeal of 
> that plan for you. I'm surprised that the amount of shared code between 
> SPE and PowerPC is as little as you say, but you have much more 
> experience with the PowerPC port than I do, so I'll defer to your 
> expertise on that matter.
> Are you proposing to take on the task of actually splitting it yourself? 
> If so, that would make me a lot happier about it.

Yes, I can do the mechanics.  But I cannot do most of the testing.  And
this does not include any of the huge simplifications that can be done
after the split: both ports will be very close to what we have now,
immediately after the split.

> >> -te200z0
> >> -te200z3
> >> -te200z4
> >
> > These are VLE?
> Yes.
> > Do some of those also support PowerPC?
> All the e200 cores apart from e200z0 can execute 32-bit instructions as 
> well as VLE, though we'll always generate VLE code when targetting them 
> (otherwise they're fairly standard).

Do any e200 support SPE, or classic FP?


More information about the Gcc mailing list