All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/64] target/arm: Implement FEAT_FP8
@ 2026-05-20 18:21 Richard Henderson
  2026-05-20 18:21 ` [PATCH v6 01/64] target/arm: Implement ID_AA64ISAR3 Richard Henderson
                   ` (63 more replies)
  0 siblings, 64 replies; 105+ messages in thread
From: Richard Henderson @ 2026-05-20 18:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-arm

Based-on: 20260520171820.848839-1-richard.henderson@linaro.org
("[PATCH v5 00/30] fpu: Export some internals for targets")

Changes for v6:
  - Fixes for review comments.


r~


Pierrick Bouvier (1):
  tests/functional/aarch64/rme: update images to support FEAT_FP8

Richard Henderson (63):
  target/arm: Implement ID_AA64ISAR3
  target/arm: Implement FEAT_FAMINMAX for AdvSIMD
  target/arm: Implement FEAT_FAMINMAX for SME
  target/arm: Implement FEAT_FAMINMAX for SVE
  target/arm: Enable FEAT_FAMINMAX for -cpu max
  target/arm: Update SCR bits for Arm ARM M.a.a
  target/arm: Update HCRX bits for Arm ARM M.a.a
  target/arm: Introduce FPMR
  target/arm: Update SCTLR bits for FEAT_FPMR
  target/arm: Enable EnFPM bits for FEAT_FPMR
  target/arm: Clear FPMR on ResetSVEState
  target/arm: Add FPMR_EL to TBFLAGS
  target/arm: Trap direct acceses to FPMR
  target/arm: Dump FPMR when present
  target/arm: Enable FEAT_FPMR for -cpu max
  target/arm: Implement ID_AA64FPFR0
  target/arm: Add isar_feature_aa64_f8cvt
  target/arm: Implement FSCALE for AdvSIMD
  target/arm: Implement FSCALE for SME
  target/arm: Split vector-type.h from cpu.h
  target/arm: Move vectors_overlap to vec_internal.h
  target/arm: Set e4m3_nan_is_snan
  target/arm: Implement BF1CVTL, BF1CVTL2, BF2CVTL, BF2CVTL2 for AdvSIMD
  target/arm: Implement BF1CVT, BF1CVTLT, BF2CVT, BF2CVTLT for SVE
  target/arm: Rename SME BFCVT patterns to BFCVT_hs
  target/arm: Implement BF1CVT, BF1CVTL, BF2CVT, BF2CVTL for SME
  target/arm: Implement F1CVTL, F1CVTL2, F2CVTL, F2CVTL2 for AdvSIMD
  target/arm: Implement F1CVT, F1CVTLT, F2CVT, F2CVTLT for SVE
  target/arm: Implement F1CVT, F1CVTL, F2CVT, F2CVTL for SME
  target/arm: Implement BFCVTN for SVE
  target/arm: Implement FCVTN (16- to 8-bit fp) for AdvSIMD
  target/arm: Implement FCVTN, FCVTN2 (32- to 8-bit fp) for AdvSIMD
  target/arm: Implement FCVTN (16- to 8-bit fp) for SVE
  target/arm: Implement FCVTNB, FCVTNT for SVE
  target/arm: Implement FCVT (FP16 to FP8) for SME
  target/arm: Implement FCVT, FCVTN (FP32 to FP8) for SME
  target/arm: Implement LUTI2, LUTI4 for AdvSIMD
  target/arm: Implement LUTI2, LUTI4 for SVE
  target/arm: Enable FEAT_LUT for -cpu max
  target/arm: Enable FEAT_FP8 for -cpu max
  target/arm: Update ID_AA64SMFR0_EL1 fields to ARM M.b
  target/arm: Implement MOVT (vector to table)
  target/arm: Implement LUTI4 (four registers, 8-bit)
  target/arm: Enable FEAT_SME_LUTv2 for -cpu max
  target/arm: Implement FMLALB, FMLALT for AdvSIMD
  target/arm: Implement FMLALB, FMLALT (FP8 to FP16) for SVE
  target/arm: Implement FMLALL{BB,BT,TB,TT} for AdvSIMD
  target/arm: Implement FMLALL{BB,BT,TB,TT} for SVE
  target/arm: Enable FEAT_FP8FMA, FEAT_SSVE_FP8FMA for -cpu max
  target/arm: Implement FDOT (FP8 to FP32) for AdvSIMD
  target/arm: Implement FDOT (FP8 to FP32) for SVE
  target/arm: Enable FEAT_FP8DOT4, FEAT_SSVE_FP8DOT4 for -cpu max
  target/arm: Implement FDOT (FP8 to FP16) for AdvSIMD
  target/arm: Implement FDOT (FP8 to FP16) for SVE
  target/arm: Enable FEAT_FP8DOT2, FEAT_SSVE_FP8DOT2 for -cpu max
  target/arm: Implement FMMLA (FP8 to FP32) for AdvSIMD
  target/arm: Implement FMMLA (FP8 to FP32) for SVE
  target/arm: Enable FEAT_F8F32MM for -cpu max
  target/arm: Implement FMMLA (FP8 to FP16) for AdvSIMD
  target/arm: Implement FMMLA (FP8 to FP16) for SVE
  target/arm: Enable FEAT_F8F16MM for -cpu max
  linux-user/aarch64: Implement hwcap bits for fp8 features
  linux-user/aarch64: Implement FPMR signal frames

 target/arm/cpregs.h                          |   5 +
 target/arm/cpu-features.h                    | 137 +++
 target/arm/cpu.h                             |  52 +-
 target/arm/helper-fp8.h                      |  14 +
 target/arm/internals.h                       |  14 +-
 target/arm/tcg/helper-a64-defs.h             |  11 +
 target/arm/tcg/helper-defs.h                 |   6 +
 target/arm/tcg/helper-fp8-defs.h             |  40 +
 target/arm/tcg/helper-sme-defs.h             |   2 +-
 target/arm/tcg/helper-sve-defs.h             |  14 +
 target/arm/tcg/translate-a64.h               |   1 +
 target/arm/tcg/translate.h                   |  10 +
 target/arm/tcg/vec_internal.h                |  19 +
 target/arm/vector-type.h                     |  44 +
 linux-user/aarch64/elfload.c                 |  14 +
 linux-user/aarch64/signal.c                  |  44 +-
 target/arm/cpu.c                             |   6 +-
 target/arm/helper.c                          |  43 +-
 target/arm/machine.c                         |  20 +
 target/arm/tcg/cpu64.c                       |  24 +
 target/arm/tcg/fp8_helper.c                  | 859 +++++++++++++++++++
 target/arm/tcg/hflags.c                      |  41 +
 target/arm/tcg/sme_helper.c                  |   8 +-
 target/arm/tcg/sve_helper.c                  |   8 +
 target/arm/tcg/translate-a64.c               | 186 ++++
 target/arm/tcg/translate-sme.c               | 109 ++-
 target/arm/tcg/translate-sve.c               | 235 +++++
 target/arm/tcg/vec_helper.c                  |  66 ++
 target/arm/tcg/vec_helper64.c                |  53 ++
 target/arm/tcg/vfp_helper.c                  |   2 +
 docs/system/arm/emulation.rst                |  13 +
 target/arm/cpu-sysregs.h.inc                 |   2 +
 target/arm/tcg/a64.decode                    |  47 +
 target/arm/tcg/meson.build                   |   1 +
 target/arm/tcg/sme.decode                    |  36 +-
 target/arm/tcg/sve.decode                    |  50 +-
 tests/functional/aarch64/test_rme_sbsaref.py |   7 +-
 tests/functional/aarch64/test_rme_virt.py    |   7 +-
 38 files changed, 2183 insertions(+), 67 deletions(-)
 create mode 100644 target/arm/helper-fp8.h
 create mode 100644 target/arm/tcg/helper-fp8-defs.h
 create mode 100644 target/arm/vector-type.h
 create mode 100644 target/arm/tcg/fp8_helper.c

-- 
2.43.0



^ permalink raw reply	[flat|nested] 105+ messages in thread

end of thread, other threads:[~2026-05-22 20:05 UTC | newest]

Thread overview: 105+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-20 18:21 [PATCH v6 00/64] target/arm: Implement FEAT_FP8 Richard Henderson
2026-05-20 18:21 ` [PATCH v6 01/64] target/arm: Implement ID_AA64ISAR3 Richard Henderson
2026-05-21 13:36   ` Peter Maydell
2026-05-21 15:22   ` Alex Bennée
2026-05-21 15:45     ` Peter Maydell
2026-05-22 18:31     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 02/64] target/arm: Implement FEAT_FAMINMAX for AdvSIMD Richard Henderson
2026-05-21  8:25   ` Peter Maydell
2026-05-22 18:34     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 03/64] target/arm: Implement FEAT_FAMINMAX for SME Richard Henderson
2026-05-21 13:45   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 04/64] target/arm: Implement FEAT_FAMINMAX for SVE Richard Henderson
2026-05-21 13:56   ` Peter Maydell
2026-05-22 18:54     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 05/64] target/arm: Enable FEAT_FAMINMAX for -cpu max Richard Henderson
2026-05-21 13:57   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 06/64] target/arm: Update SCR bits for Arm ARM M.a.a Richard Henderson
2026-05-21 14:03   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 07/64] target/arm: Update HCRX " Richard Henderson
2026-05-21 14:05   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 08/64] target/arm: Introduce FPMR Richard Henderson
2026-05-21 14:12   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 09/64] target/arm: Update SCTLR bits for FEAT_FPMR Richard Henderson
2026-05-21 14:11   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 10/64] target/arm: Enable EnFPM " Richard Henderson
2026-05-21 14:15   ` Peter Maydell
2026-05-22 19:01     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 11/64] target/arm: Clear FPMR on ResetSVEState Richard Henderson
2026-05-21 14:17   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 12/64] target/arm: Add FPMR_EL to TBFLAGS Richard Henderson
2026-05-21 14:38   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 13/64] target/arm: Trap direct acceses to FPMR Richard Henderson
2026-05-21 14:30   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 14/64] tests/functional/aarch64/rme: update images to support FEAT_FP8 Richard Henderson
2026-05-21 14:39   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 15/64] target/arm: Dump FPMR when present Richard Henderson
2026-05-21 14:23   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 16/64] target/arm: Enable FEAT_FPMR for -cpu max Richard Henderson
2026-05-21 14:24   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 17/64] target/arm: Implement ID_AA64FPFR0 Richard Henderson
2026-05-21 14:44   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 18/64] target/arm: Add isar_feature_aa64_f8cvt Richard Henderson
2026-05-21 14:44   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 19/64] target/arm: Implement FSCALE for AdvSIMD Richard Henderson
2026-05-21 15:30   ` Peter Maydell
2026-05-21 15:35   ` Peter Maydell
2026-05-22 19:19     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 20/64] target/arm: Implement FSCALE for SME Richard Henderson
2026-05-21 15:39   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 21/64] target/arm: Split vector-type.h from cpu.h Richard Henderson
2026-05-20 18:21 ` [PATCH v6 22/64] target/arm: Move vectors_overlap to vec_internal.h Richard Henderson
2026-05-20 18:21 ` [PATCH v6 23/64] target/arm: Set e4m3_nan_is_snan Richard Henderson
2026-05-21 15:12   ` Peter Maydell
2026-05-22 19:49     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 24/64] target/arm: Implement BF1CVTL, BF1CVTL2, BF2CVTL, BF2CVTL2 for AdvSIMD Richard Henderson
2026-05-21 16:18   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 25/64] target/arm: Implement BF1CVT, BF1CVTLT, BF2CVT, BF2CVTLT for SVE Richard Henderson
2026-05-21 16:37   ` Peter Maydell
2026-05-22 19:53     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 26/64] target/arm: Rename SME BFCVT patterns to BFCVT_hs Richard Henderson
2026-05-21 16:39   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 27/64] target/arm: Implement BF1CVT, BF1CVTL, BF2CVT, BF2CVTL for SME Richard Henderson
2026-05-20 18:21 ` [PATCH v6 28/64] target/arm: Implement F1CVTL, F1CVTL2, F2CVTL, F2CVTL2 for AdvSIMD Richard Henderson
2026-05-20 18:21 ` [PATCH v6 29/64] target/arm: Implement F1CVT, F1CVTLT, F2CVT, F2CVTLT for SVE Richard Henderson
2026-05-20 18:21 ` [PATCH v6 30/64] target/arm: Implement F1CVT, F1CVTL, F2CVT, F2CVTL for SME Richard Henderson
2026-05-20 18:21 ` [PATCH v6 31/64] target/arm: Implement BFCVTN for SVE Richard Henderson
2026-05-21  9:01   ` Peter Maydell
2026-05-22 19:59     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 32/64] target/arm: Implement FCVTN (16- to 8-bit fp) for AdvSIMD Richard Henderson
2026-05-20 18:21 ` [PATCH v6 33/64] target/arm: Implement FCVTN, FCVTN2 (32- " Richard Henderson
2026-05-20 18:21 ` [PATCH v6 34/64] target/arm: Implement FCVTN (16- to 8-bit fp) for SVE Richard Henderson
2026-05-20 18:21 ` [PATCH v6 35/64] target/arm: Implement FCVTNB, FCVTNT " Richard Henderson
2026-05-20 18:21 ` [PATCH v6 36/64] target/arm: Implement FCVT (FP16 to FP8) for SME Richard Henderson
2026-05-20 18:21 ` [PATCH v6 37/64] target/arm: Implement FCVT, FCVTN (FP32 " Richard Henderson
2026-05-20 18:21 ` [PATCH v6 38/64] target/arm: Implement LUTI2, LUTI4 for AdvSIMD Richard Henderson
2026-05-20 18:21 ` [PATCH v6 39/64] target/arm: Implement LUTI2, LUTI4 for SVE Richard Henderson
2026-05-20 18:21 ` [PATCH v6 40/64] target/arm: Enable FEAT_LUT for -cpu max Richard Henderson
2026-05-20 18:21 ` [PATCH v6 41/64] target/arm: Enable FEAT_FP8 " Richard Henderson
2026-05-20 18:21 ` [PATCH v6 42/64] target/arm: Update ID_AA64SMFR0_EL1 fields to ARM M.b Richard Henderson
2026-05-21 16:41   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 43/64] target/arm: Implement MOVT (vector to table) Richard Henderson
2026-05-20 18:21 ` [PATCH v6 44/64] target/arm: Implement LUTI4 (four registers, 8-bit) Richard Henderson
2026-05-20 18:21 ` [PATCH v6 45/64] target/arm: Enable FEAT_SME_LUTv2 for -cpu max Richard Henderson
2026-05-20 18:21 ` [PATCH v6 46/64] target/arm: Implement FMLALB, FMLALT for AdvSIMD Richard Henderson
2026-05-20 18:21 ` [PATCH v6 47/64] target/arm: Implement FMLALB, FMLALT (FP8 to FP16) for SVE Richard Henderson
2026-05-20 18:21 ` [PATCH v6 48/64] target/arm: Implement FMLALL{BB, BT, TB, TT} for AdvSIMD Richard Henderson
2026-05-20 18:21 ` [PATCH v6 49/64] target/arm: Implement FMLALL{BB,BT,TB,TT} for SVE Richard Henderson
2026-05-20 18:21 ` [PATCH v6 50/64] target/arm: Enable FEAT_FP8FMA, FEAT_SSVE_FP8FMA for -cpu max Richard Henderson
2026-05-20 18:22 ` [PATCH v6 51/64] target/arm: Implement FDOT (FP8 to FP32) for AdvSIMD Richard Henderson
2026-05-20 18:22 ` [PATCH v6 52/64] target/arm: Implement FDOT (FP8 to FP32) for SVE Richard Henderson
2026-05-20 18:22 ` [PATCH v6 53/64] target/arm: Enable FEAT_FP8DOT4, FEAT_SSVE_FP8DOT4 for -cpu max Richard Henderson
2026-05-20 18:22 ` [PATCH v6 54/64] target/arm: Implement FDOT (FP8 to FP16) for AdvSIMD Richard Henderson
2026-05-20 18:22 ` [PATCH v6 55/64] target/arm: Implement FDOT (FP8 to FP16) for SVE Richard Henderson
2026-05-20 18:22 ` [PATCH v6 56/64] target/arm: Enable FEAT_FP8DOT2, FEAT_SSVE_FP8DOT2 for -cpu max Richard Henderson
2026-05-20 18:22 ` [PATCH v6 57/64] target/arm: Implement FMMLA (FP8 to FP32) for AdvSIMD Richard Henderson
2026-05-20 18:22 ` [PATCH v6 58/64] target/arm: Implement FMMLA (FP8 to FP32) for SVE Richard Henderson
2026-05-20 18:22 ` [PATCH v6 59/64] target/arm: Enable FEAT_F8F32MM for -cpu max Richard Henderson
2026-05-20 18:22 ` [PATCH v6 60/64] target/arm: Implement FMMLA (FP8 to FP16) for AdvSIMD Richard Henderson
2026-05-21  9:52   ` Peter Maydell
2026-05-22 20:04     ` Richard Henderson
2026-05-20 18:22 ` [PATCH v6 61/64] target/arm: Implement FMMLA (FP8 to FP16) for SVE Richard Henderson
2026-05-20 18:22 ` [PATCH v6 62/64] target/arm: Enable FEAT_F8F16MM for -cpu max Richard Henderson
2026-05-20 18:22 ` [PATCH v6 63/64] linux-user/aarch64: Implement hwcap bits for fp8 features Richard Henderson
2026-05-21 16:42   ` Peter Maydell
2026-05-20 18:22 ` [PATCH v6 64/64] linux-user/aarch64: Implement FPMR signal frames Richard Henderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.