> -----Original Message-----
> From: Claudio Bantaloukas <[email protected]>
> Sent: 24 November 2025 18:01
> To: Gcc Patches ML <[email protected]>
> Cc: Alex Coplan <[email protected]>; Alice Carlotti
> <[email protected]>; Andrew Pinski
> <[email protected]>; Kyrylo Tkachov
> <[email protected]>; Richard Earnshaw <[email protected]>;
> Tamar Christina <[email protected]>; Wilco Dijkstra
> <[email protected]>; Claudio Bantaloukas
> <[email protected]>
> Subject: [PATCH v3 3/9] aarch64: add widening sme2 fp8 conversions
> 
> 
> This patch adds the following intrinsics (all __arm_streaming only) along with
> asm tests for them under the +sme2+fp8 flags:
> - svfloat16x2_t svcvt1_f16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm)
> - svfloat16x2_t svcvt2_f16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm)
> - svfloat16x2_t svcvt1_bf16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm)
> - svfloat16x2_t svcvt2_bf16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm)
> - svfloat16x2_t svcvtl1_f16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm)
> - svfloat16x2_t svcvtl2_f16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm)
> - svfloat16x2_t svcvtl1_bf16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm)
> - svfloat16x2_t svcvtl2_bf16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm)
> 

OK.

Thanks,
Tamar

> gcc/
>       * config/aarch64/aarch64-sve-builtins-sve2.cc (svcvtl1, svcvtl2):
> Added
>       new FUNTIONs.
>       * config/aarch64/aarch64-sve-builtins-sve2.def
>       (svcvt1, svcvt2, svcvtl1, svcvtl2): Added new
> DEF_SVE_FUNCTION_GS_FPM.
>       * config/aarch64/aarch64-sve-builtins-sve2.h (svcvtl1, svcvtl2):
> Added
>       new function_base.
>       * config/aarch64/aarch64-sve-builtins.cc
>       (function_resolver::resolve_unary): use group_suffix_id when
> resolving
>       C overloads.
>       * config/aarch64/aarch64-sve2.md
>       (@aarch64_sve2_fp8_cvt_<fp8_cvt_uns_op><mode>): Added new
> define_insn.
>       * config/aarch64/aarch64.h (TARGET_SSME2_FP8): Added new
> define.
>       * config/aarch64/iterators.md
>       (UNSPEC_F1CVTL. UNSPEC_F2CVTL): Added new unspecs.
>       (FP8CVT_UNS): Extended int_iterator.
>       (fp8_cvt_uns_op): Likewise.
> 
> gcc/testsuite/
>       * g++.target/aarch64/sme2/aarch64-sme2-acle-asm.exp: Use tuning
> flag
>       to reduce churn in testsuites.
>       * gcc.target/aarch64/sme2/aarch64-sme2-acle-asm.exp: Likewise.
>       * gcc.target/aarch64/sme2/acle-asm/cvt_mf8.c: Added test file.
>       * gcc.target/aarch64/sme2/acle-asm/cvtl_mf8.c: Likewise.
>       * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h (TEST_X2_WIDE):
> Added
>       fpm0 argument for intrinsics.
> ---
>  .../aarch64/aarch64-sve-builtins-sve2.cc      |  2 +
>  .../aarch64/aarch64-sve-builtins-sve2.def     |  8 ++++
>  .../aarch64/aarch64-sve-builtins-sve2.h       |  2 +
>  gcc/config/aarch64/aarch64-sve-builtins.cc    |  3 +-
>  gcc/config/aarch64/aarch64-sve2.md            | 10 ++++
>  gcc/config/aarch64/aarch64.h                  |  2 +
>  gcc/config/aarch64/iterators.md               |  6 +++
>  .../aarch64/sme2/aarch64-sme2-acle-asm.exp    |  5 +-
>  .../aarch64/sme2/aarch64-sme2-acle-asm.exp    |  5 +-
>  .../aarch64/sme2/acle-asm/cvt_mf8.c           | 47 +++++++++++++++++++
>  .../aarch64/sme2/acle-asm/cvtl_mf8.c          | 47 +++++++++++++++++++
>  .../aarch64/sve/acle/asm/test_sve_acle.h      |  1 +
>  12 files changed, 135 insertions(+), 3 deletions(-)
>  create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-
> asm/cvt_mf8.c
>  create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-
> asm/cvtl_mf8.c

Reply via email to