[PATCH v3 0/9] target/arm: Implement SVE2 Crypto Extensions

Richard Henderson posted 9 patches 4 years ago
Failed in applying to current master (apply log)
target/arm/cpu.h           |  10 ++
target/arm/helper.h        |  45 ++++---
target/arm/translate-a64.h |   2 +
target/arm/vec_internal.h  |  10 ++
target/arm/sve.decode      |  17 +++
target/arm/crypto_helper.c | 267 ++++++++++++++++++++++++++-----------
target/arm/translate-a64.c | 211 +++++++++++++----------------
target/arm/translate-sve.c |  79 +++++++++++
target/arm/translate.c     | 125 +++++++++--------
target/arm/vec_helper.c    |  10 --
10 files changed, 491 insertions(+), 285 deletions(-)
[PATCH v3 0/9] target/arm: Implement SVE2 Crypto Extensions
Posted by Richard Henderson 4 years ago
Stephen, what I was looking for when I talked about modifying
the existing helpers is patch 1, which simplifies the final 3
patches for the new SVE2 insns.

In the process I found that the existing implementation of the
AdvSIMD insns is buggy wrt SVE.  We need to clear the bits in
the Zreg destination beyond the first 128.

I could have done this via clear_vec_high in translate-a64.c,
but since we already have a function call, we're better off
doing the clearing out of line.  This means adding a desc
parameter so that we know the total vector length.


r~


Based-on: https://github.com/rth7680/qemu/commit/8c3a91e4e487ef840193a489e5457165530666fc

Richard Henderson (9):
  target/arm: Convert aes and sm4 to gvec helpers
  target/arm: Convert rax1 to gvec helpers
  target/arm: Convert sha512 and sm3 to gvec helpers
  target/arm: Convert sha1 and sha256 to gvec helpers
  target/arm: Split helper_crypto_sha1_3reg
  target/arm: Split helper_crypto_sm3tt
  target/arm: Implement SVE2 crypto unary operations
  target/arm: Implement SVE2 crypto destructive binary operations
  target/arm: Implement SVE2 crypto constructive binary operations

 target/arm/cpu.h           |  10 ++
 target/arm/helper.h        |  45 ++++---
 target/arm/translate-a64.h |   2 +
 target/arm/vec_internal.h  |  10 ++
 target/arm/sve.decode      |  17 +++
 target/arm/crypto_helper.c | 267 ++++++++++++++++++++++++++-----------
 target/arm/translate-a64.c | 211 +++++++++++++----------------
 target/arm/translate-sve.c |  79 +++++++++++
 target/arm/translate.c     | 125 +++++++++--------
 target/arm/vec_helper.c    |  10 --
 10 files changed, 491 insertions(+), 285 deletions(-)

-- 
2.20.1