[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