[PATCH v3 8/9] aarch64: add 8-bit floating-point sum of outer products and accumulate
Claudio Bantaloukas
claudio.bantaloukas@arm.com
Mon Dec 15 10:09:30 GMT 2025
This patch adds support for FMOPA (widening, 2-way, FP8 to FP16) when
sme-f8f16 is enabled using svmopa_za16[_mf8]_m_fpm and for FMOPA (widening,
4-way) when sme-f8f32 is enabled using svmopa_za32[_mf8]_m_fpm.
Asm tests for the new intrinsics are added, similar to those for existing
mopa_z16 intrinsics. Tests for the binary_za_m shape are added.
gcc:
* config/aarch64/aarch64-sme.md
(@aarch64_sme_<optab><SME_ZA_F8F16_32:mode><VNx16QI_ONLY:mode>): Add
new define_insn.
* config/aarch64/aarch64-sve-builtins-shapes.cc
(struct binary_za_m_base): Support fpm argument.
* config/aarch64/aarch64-sve-builtins-sme.cc (svmopa_za): Extend for
fp8.
* config/aarch64/aarch64-sve-builtins-sme.def (svmopa): Add new
DEF_SME_ZA_FUNCTION_GS_FPM entries.
gcc/testsuite:
* gcc.target/aarch64/sme/acle-asm/test_sme_acle.h: (TEST_UNIFORM_ZA):
Add fpm0 parameter.
* gcc.target/aarch64/sve/acle/general-c/binary_za_m_1.c: Add tests for
variants accepting fpm.
* gcc.target/aarch64/sme2/acle-asm/mopa_za16_mf8.c: New test.
* gcc.target/aarch64/sme2/acle-asm/mopa_za32_mf8.c: Likewise.
---
gcc/config/aarch64/aarch64-sme.md | 20 +++++++++++
.../aarch64/aarch64-sve-builtins-shapes.cc | 2 +-
.../aarch64/aarch64-sve-builtins-sme.cc | 2 +-
.../aarch64/aarch64-sve-builtins-sme.def | 2 ++
gcc/config/aarch64/aarch64-sve2.md | 2 +-
.../aarch64/sme/acle-asm/test_sme_acle.h | 2 +-
.../aarch64/sme2/acle-asm/mopa_za16_mf8.c | 36 +++++++++++++++++++
.../aarch64/sme2/acle-asm/mopa_za32_mf8.c | 36 +++++++++++++++++++
.../sve/acle/general-c/binary_za_m_1.c | 14 ++++++++
9 files changed, 112 insertions(+), 4 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mopa_za16_mf8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mopa_za32_mf8.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v3-0008-aarch64-add-8-bit-floating-point-sum-of-outer-pro.patch
Type: text/x-patch
Size: 9827 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20251215/9d87de52/attachment-0001.bin>
More information about the Gcc-patches
mailing list