e500 SPE support

Justin Hibbits chmeeedalf at gmail.com
Mon Oct 5 04:14:50 UTC 2015


I've been doing some work on the e500 Signal Processing Engine (SPE,  
sort of like Altivec, only weirder), but have some questions on  
implementation:

* This is mutually exclusive to Altivec, of course, because it shares  
the GPRs, extending them to 64-bits, but only for SPE instructions.   
Should the implementation be mutually exclusive, as well? Meaning, is  
it better to have enable_spe()/save_spe() strewn throughout the code,  
like is done with Altivec and FPU, or is it better to name them  
*_vec(), and have a compile-time option of switching between Altivec  
and SPE? The userland ABI would be different as well, which brings the  
next question:

* Do we want another target, like how Linux does it (powerpcspe)?  Or  
have this as just a different build option in src.conf?

Suggestions are welcome and wanted.

- Justin


More information about the freebsd-ppc mailing list