Hi gcc-patches mailing list, ricbal02 via Sourceware Forge <[email protected]> has requested that the following forgejo pull request be published on the mailing list.
Created on: 2026-05-31 11:26:06+00:00 Latest update: 2026-05-31 11:26:29+00:00 Changes: 11 changed files, 308 additions, 1 deletions Head revision: ricbal02/gcc-TEST ref f16f32dot commit 865aa2447fca7fdd6c78022ecbd1934d4c7d9ac2 Base revision: gcc/gcc-TEST ref trunk commit fd6d39208ba4edd9527171cc0f5426a48e63a6a2 r17-1049-gfd6d39208ba4ed Merge base: fd6d39208ba4edd9527171cc0f5426a48e63a6a2 Full diff url: https://forge.sourceware.org/gcc/gcc-TEST/pulls/166.diff Discussion: https://forge.sourceware.org/gcc/gcc-TEST/pulls/166 Requested Reviewers: This patch adds the following advsimd intrinsics: *vdot_f32_f16 *vdotq_f32_f16 *vdot_lane_f32_f16 *vdot_laneq_f32_f16 *vdotq_lane_f32_f16 *vdotq_laneq_f32_f16 gcc/ChangeLog: * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): New target flag. * config/aarch64/aarch64-simd-builtins.def: New functions. * config/aarch64/aarch64-simd.md (aarch64_simdfdot<mode>): New pattern. (aarch64_simdfdot_lane<VF:isquadop><VDQSF:mode>): Likewise. * config/aarch64/aarch64.h (TARGET_F16F32DOT): New target flag. * config/aarch64/arm_neon.h (target): Add f16f32dot section (__attribute__): New builtin function calls. (vdot_f32_f16): Likewise. (vdotq_f32_f16): Likewise. (vdot_lane_f32_f16): Likewise. (vdot_laneq_f32_f16): Likewise. (vdotq_lane_f32_f16): Likewise. (vdotq_laneq_f32_f16): Likewise. * config/aarch64/iterators.md (q): New options for isquadop. * doc/invoke.texi: Add f16f32dot. gcc/testsuite/ChangeLog: * lib/target-supports.exp: New check_effective_target. * gcc.target/aarch64/advsimd-intrinsics/fdot-1.c: New test. * gcc.target/aarch64/advsimd-intrinsics/fdot-2.c: New test. * gcc.target/aarch64/advsimd-intrinsics/fdot-3.c: New test. Changed files: - A: gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/fdot-1.c - A: gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/fdot-2.c - A: gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/fdot-3.c - M: gcc/config/aarch64/aarch64-c.cc - M: gcc/config/aarch64/aarch64-simd-builtins.def - M: gcc/config/aarch64/aarch64-simd.md - M: gcc/config/aarch64/aarch64.h - M: gcc/config/aarch64/arm_neon.h - M: gcc/config/aarch64/iterators.md - M: gcc/doc/invoke.texi - M: gcc/testsuite/lib/target-supports.exp Richard Ball (1): aarch64: Add Support for F16F32DOT gcc/config/aarch64/aarch64-c.cc | 1 + gcc/config/aarch64/aarch64-simd-builtins.def | 5 ++ gcc/config/aarch64/aarch64-simd.md | 32 +++++++++ gcc/config/aarch64/aarch64.h | 2 + gcc/config/aarch64/arm_neon.h | 50 +++++++++++++ gcc/config/aarch64/iterators.md | 6 +- gcc/doc/invoke.texi | 2 + .../aarch64/advsimd-intrinsics/fdot-1.c | 68 ++++++++++++++++++ .../aarch64/advsimd-intrinsics/fdot-2.c | 70 +++++++++++++++++++ .../aarch64/advsimd-intrinsics/fdot-3.c | 32 +++++++++ gcc/testsuite/lib/target-supports.exp | 41 +++++++++++ 11 files changed, 308 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/fdot-1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/fdot-2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/fdot-3.c -- 2.54.0
