Subject: Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers

From: Nate Case <[email-masked]>
Date: Tue, 14 Oct 2008 14:25:20 -0500

On Mon, 2008-09-01 at 16:23 +0200, Sebastian Siewior wrote:
> those two are requried on my fresh gcc 4.3.1
> 
> Signed-off-by: Thiemo Seufer <[email-masked]>
> Signed-off-by: Sebastian Siewior <[email-masked]>
> ---
> Not sure if this is intendent or a gcc bug but with -mno-spe
> the spe opcodes were not used floating point anymore but
> for 64bit save/restore for instance.

I wouldn't say this is due to a broken compiler. As I understand it,
-mabi=no-spe and -mspe=no serve two different purposes.  One is for
disabling the SPE instructions and the other controls the ABI (which
would make those 64-bit save/restores I'm guessing).  I don't know why
you'd ever want to use the SPE ABI without -mspe=yes, but gcc does
provide that flexibility.

	-mno-spe: Deprecated way to say "no SPE instructions"
	-mspe=no: New way to do -mno-spe
	-mabi=no-spe: Disable SPE ABI

Some compilers may enable "-mabi=spe" and/or "-mspe=yes" by default, so
explicitly disabling both is necessary.  I recently built a SPE
toolchain which enabled both by default, so I ran into the "SPE used in
kernel" problem when the kernel only passed "-mno-spe".
	
- Nate Case <[email-masked]>