[Libre-soc-dev] daily kan-ban update 10sep2020
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Fri Sep 11 11:56:16 BST 2020
On Fri, Sep 11, 2020 at 11:48 AM Lauri Kasanen <cand at gmx.com> wrote:
>
> On Fri, 11 Sep 2020 10:44:11 +0100
> Luke Kenneth Casson Leighton <lkcl at lkcl.net> wrote:
>
> > from what i gather paul mackerras has approached the glibc6 team and
> > asked about it.
> >
> > https://sourceware.org/pipermail/libc-alpha/2020-September/117429.html
> >
> > ah fer fxxx's sake.
>
> I see no issue with that.
here's the equivalent 14 Cray-style "Vector Length" equivalent of the
entire 250 assembly-level instructions using VSX:
strncpy:
c.mv a3, a0 # Copy dst
loop:
setvli x0, a2, vint8 # Vectors of bytes.
vlbff.v v1, (a1) # Get src bytes
vseq.vi v0, v1, 0 # Flag zero bytes
vmfirst a4, v0 # Zero found?
vmsif.v v0, v0 # Set mask up to and including zero byte.
vsb.v v1, (a3), v0.t # Write out bytes
c.bgez a4, exit # Done
csrr t1, vl # Get number of bytes fetched
c.add a1, a1, t1 # Bump src pointer
c.sub a2, a2, t1 # Decrement count.
c.add a3, a3, t1 # Bump dst pointer
c.bnez a2, loop # Anymore?
exit:
c.ret
> Extending the ifunc check to check for the
> runtime VSX bit is a very small patch, though looped over every such
> file.
yes, that's what would be needed. to prioritise the PPC_HAS_VSX
#ifdef over anything else. except the problem is: the V3.1B "UNIX
Platform Spec" *specifically states* that VSX is ***MANDATORY***.
they have every justification to say "no sorry we're not going to do
that, in fact we're going to *reject* any patches that try to put
PPC_HAS_VSX first".
l.
More information about the Libre-soc-dev
mailing list