[PATCH 00/25] target/arm: Implement FEAT_SVE2p2

Richard Henderson posted 25 patches 1 month, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260604234852.573178-1-richard.henderson@linaro.org
Maintainers: Peter Maydell <peter.maydell@linaro.org>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Laurent Vivier <laurent@vivier.eu>, Helge Deller <deller@gmx.de>
There is a newer version of this series
target/arm/cpu-features.h        |  22 +-
target/arm/tcg/helper-sve-defs.h |  19 +
linux-user/aarch64/elfload.c     |   2 +
target/arm/tcg/cpu64.c           |   3 +-
target/arm/tcg/sve_helper.c      | 184 ++++++++--
target/arm/tcg/translate-sve.c   | 576 ++++++++++++++++++++++++-------
docs/system/arm/emulation.rst    |   2 +
target/arm/tcg/sve.decode        | 267 +++++++++-----
8 files changed, 841 insertions(+), 234 deletions(-)
[PATCH 00/25] target/arm: Implement FEAT_SVE2p2
Posted by Richard Henderson 1 month, 1 week ago
Based-on: 20260603032855.106930-1-richard.henderson@linaro.org
("[PATCH v9 00/45] target/arm: Implement FEAT_FP8")

Another batch of code on the way toward FEAT_SME2p2.


r~


Richard Henderson (25):
  target/arm: Add feature predicates for SVE2.2 and SME2.2
  target/arm: Rename sve unary predicated patterns
  target/arm: Enable zeroing in DO_ZPZ macros in sve_helper.c
  target/arm: Expand DO_ZPZ in translate-sve.c
  target/arm: Implement SVE integer unary operations (predicated,
    zeroing)
  target/arm: Implement SVE bitwise unary operations (predicated,
    zeroing)
  target/arm: Implement SVE reverse within elements (zeroing)
  target/arm: Implement SVE reverse doublewords (zeroing)
  target/arm: Implement SVE2 integer unary operations (predicated,
    zeroing)
  target/arm: Add data argument to do_frint_mode
  target/arm: Implement Floating-point round to integral value
    (predicated, zeroing)
  target/arm: Implement Floating-point convert (predicated, zeroing)
  target/arm: Implement Floating-point square root (predicated, zeroing)
  target/arm: Implement SCVTF, UCVTF (predicated, zeroing)
  target/arm: Implement FRINT{32,64}{X,Z}
  target/arm: Enable zeroing in DO_FCVT{N,L}T macros in sve_helper.c
  target/arm: Implement SVE floating-point convert (top, predicated,
    zeroing)
  target/arm: Implement floating-point log and convert to integer
    (zeroing)
  target/arm: Implement EXPAND
  target/arm: Generalize sve_compact_[sd]
  target/arm: Implement COMPACT for byte/halfword
  target/arm: Implement FIRSTP, LASTP
  target/arm: Enable FEAT_SVE2p2 for -cpu max
  target/arm: Implement FEAT_SSVE_AES
  target/arm: Use expand_pred_N for helper_sve_not_zpz_N

 target/arm/cpu-features.h        |  22 +-
 target/arm/tcg/helper-sve-defs.h |  19 +
 linux-user/aarch64/elfload.c     |   2 +
 target/arm/tcg/cpu64.c           |   3 +-
 target/arm/tcg/sve_helper.c      | 184 ++++++++--
 target/arm/tcg/translate-sve.c   | 576 ++++++++++++++++++++++++-------
 docs/system/arm/emulation.rst    |   2 +
 target/arm/tcg/sve.decode        | 267 +++++++++-----
 8 files changed, 841 insertions(+), 234 deletions(-)

-- 
2.43.0
Re: [PATCH 00/25] target/arm: Implement FEAT_SVE2p2
Posted by Peter Maydell 3 weeks, 5 days ago
On Fri, 5 Jun 2026 at 00:51, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Based-on: 20260603032855.106930-1-richard.henderson@linaro.org
> ("[PATCH v9 00/45] target/arm: Implement FEAT_FP8")
>
> Another batch of code on the way toward FEAT_SME2p2.
>
>
> r~
>
>
> Richard Henderson (25):
>   target/arm: Add feature predicates for SVE2.2 and SME2.2
>   target/arm: Rename sve unary predicated patterns
>   target/arm: Enable zeroing in DO_ZPZ macros in sve_helper.c
>   target/arm: Expand DO_ZPZ in translate-sve.c
>   target/arm: Implement SVE integer unary operations (predicated,
>     zeroing)
>   target/arm: Implement SVE bitwise unary operations (predicated,
>     zeroing)
>   target/arm: Implement SVE reverse within elements (zeroing)
>   target/arm: Implement SVE reverse doublewords (zeroing)
>   target/arm: Implement SVE2 integer unary operations (predicated,
>     zeroing)
>   target/arm: Add data argument to do_frint_mode
>   target/arm: Implement Floating-point round to integral value
>     (predicated, zeroing)
>   target/arm: Implement Floating-point convert (predicated, zeroing)
>   target/arm: Implement Floating-point square root (predicated, zeroing)
>   target/arm: Implement SCVTF, UCVTF (predicated, zeroing)
>   target/arm: Implement FRINT{32,64}{X,Z}
>   target/arm: Enable zeroing in DO_FCVT{N,L}T macros in sve_helper.c
>   target/arm: Implement SVE floating-point convert (top, predicated,
>     zeroing)
>   target/arm: Implement floating-point log and convert to integer
>     (zeroing)

I'm going to apply these first 18 patches (all the zeroing versions
of insns) to target-arm.next as they all were straightforward,
and I have a pullreq nearly ready to go.

thanks
-- PMM