[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/4] target/arm vector improvements
From: |
Alex Bennée |
Subject: |
Re: [PATCH 0/4] target/arm vector improvements |
Date: |
Fri, 18 Oct 2019 18:58:23 +0100 |
User-agent: |
mu4e 1.3.5; emacs 27.0.50 |
Richard Henderson <address@hidden> writes:
> The first patch has been seen before.
>
> https://patchwork.ozlabs.org/patch/1115039/
>
> It had a bug and I didn't fix it right away and then forgot.
> Fixed now; I had mixed up the operand ordering for aarch32.
>
> The next 3 are something that I noticed while doing other stuff.
>
> In particular, pmull is used heavily during https transfers.
> While cloning a repository, the old code peaks at 27% of the
> total runtime, as measured by perf top. The new code does
> not quite reach 3% repeating the same clone.
>
> In addition, the new helper functions are in the form that
> will be required for the implementation of SVE2.
>
> The comment in patch 2 about ARMv8.4-DIT is perhaps a stretch,
> but re-reading the pmull instruction description in the current
> ARM ARM brought it to mind.
>
> Since TCG is officially not in the security domain, it's
> probably not a bug to just claim to support DIT without
> actually doing anything to ensure the algorithms used are in
> fact timing independent of the data.
>
> On the other hand, I expect the bit distribution of stuff
> going through these sort of hashing algorithms to approach
> 50% 1's and 0's, so I also don't think we gain anything on
> average to terminate the loop early.
>
> Thoughts on DIT specifically?
It would be an interesting academic exercise to see if someone could
exploit the JIT from the guest but as you say not a security domain
so....
>
>
> r~
>
>
> Richard Henderson (4):
> target/arm: Vectorize USHL and SSHL
> target/arm: Convert PMUL.8 to gvec
> target/arm: Convert PMULL.64 to gvec
> target/arm: Convert PMULL.8 to gvec
>
> target/arm/helper-sve.h | 2 +
> target/arm/helper.h | 21 ++-
> target/arm/translate.h | 6 +
> target/arm/neon_helper.c | 117 -------------
> target/arm/translate-a64.c | 83 ++++-----
> target/arm/translate.c | 350 ++++++++++++++++++++++++++++++++-----
> target/arm/vec_helper.c | 211 ++++++++++++++++++++++
> 7 files changed, 562 insertions(+), 228 deletions(-)
--
Alex Bennée
- Re: [PATCH 2/4] target/arm: Convert PMUL.8 to gvec, (continued)