Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Oct 2015 16:14:44 -0500
From:      Justin Hibbits <chmeeedalf@gmail.com>
To:        Thomas Rix <trix@juniper.net>
Cc:        "freebsd-ppc@FreeBSD.org" <freebsd-ppc@freebsd.org>
Subject:   Re: e500 SPE support
Message-ID:  <CAHSQbTDwY5SsHr13szAvouCZHtnSEe1ft%2B3swCO0OYr46fZe-Q@mail.gmail.com>
In-Reply-To: <D23934EB.EDAB%trix@juniper.net>
References:  <D5921757-653A-4E25-B2F2-5CF3E46D6BA7@gmail.com> <D23934EB.EDAB%trix@juniper.net>

next in thread | previous in thread | raw e-mail | index | archive | help
After talking with others, I'll be creating a new target,
powerpc/powerpcspe.  This will live in a branch while I stabilize it
(I'll create a branch this weekend).  My testing will be on the
Mikrotik RouterBoard RB800, but if anyone has hardware they can test
on, all the better.

To keep things simple, I'll be overloading the enable_vec()/save_vec()
functions, and using this common API between Altivec and SPE.

- Justin

On Tue, Oct 6, 2015 at 10:30 AM, Thomas Rix <trix@juniper.net> wrote:
> I see the spe feature is in ToT llvm, but not no target is has this
> enabled by default.
> What hardware/software are you using to exercise the feature ?
> Asking so I could play too :)
>
> Likely folks wanting the feature would be willing to trade off with
> altivec.
> So mutually exclusive for me.
>
> Sprinkling code with spe specific seems clunky.
> Could there be some task bit that linker/compiler sets that the loader
> uses to do this automagically ?
> A tie into the task state would help with ptrace and possible debugger
> support.
>
> Tom
>
> ---
> Tom Rix
> Sr. Staff Compiler Engineer
> trix@juniper.net
>
>
>
>
>
> On 10/4/15, 9:14 PM, "owner-freebsd-ppc@freebsd.org on behalf of Justin
> Hibbits" <owner-freebsd-ppc@freebsd.org on behalf of chmeeedalf@gmail.com>
> wrote:
>
>>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
>>_______________________________________________
>>freebsd-ppc@freebsd.org mailing list
>>https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
>>To unsubscribe, send any mail to "freebsd-ppc-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHSQbTDwY5SsHr13szAvouCZHtnSEe1ft%2B3swCO0OYr46fZe-Q>