[all-commits] [llvm/llvm-project] bb1b36: [AArch64] Implement intrinsics for SVE FAMIN/FAMAX...

Momchil Velikov via All-commits all-commits at lists.llvm.org
Wed Sep 4 05:08:19 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bb1b368e0ad3da98b4c51018bdbcd6a83d8e646d
      https://github.com/llvm/llvm-project/commit/bb1b368e0ad3da98b4c51018bdbcd6a83d8e646d
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-09-04 (Wed, 04 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_faminmax.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sve2-intrinsics-faminmax.ll

  Log Message:
  -----------
  [AArch64] Implement intrinsics for SVE FAMIN/FAMAX (#99042)

This patch implements the following intrinsics:

* Floating-point absolute maximum (predicated)

svfloat16_t svamax[_f16]_m(svbool_t, svfloat16_t, svfloat16_t);
svfloat16_t svamax[_f16]_x(svbool_t, svfloat16_t, svfloat16_t);
svfloat16_t svamax[_f16]_z(svbool_t, svfloat16_t, svfloat16_t);

svfloat16_t svamax[_n_f16]_m(svbool_t, svfloat16_t, float16_t);
svfloat16_t svamax[_n_f16]_x(svbool_t, svfloat16_t, float16_t);
svfloat16_t svamax[_n_f16]_z(svbool_t, svfloat16_t, float16_t);

* Floating-point absolute minimum (predicated)

svfloat16_t svmin[_f16]_m(svbool_t, svfloat16_t, svfloat16_t);
svfloat16_t svmin[_f16]_x(svbool_t, svfloat16_t, svfloat16_t);
svfloat16_t svmin[_f16]_z(svbool_t, svfloat16_t, svfloat16_t);

svfloat16_t svmin[_n_f16]_m(svbool_t, svfloat16_t, float16_t);
svfloat16_t svmin[_n_f16]_x(svbool_t, svfloat16_t, float16_t);
svfloat16_t svmin[_n_f16]_z(svbool_t, svfloat16_t, float16_t);

All the intrinsics have also variants for `f32` and `f64`, and have the
`__arm_streaming` attribute.

(cf. https://github.com/ARM-software/acle/pull/324)



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list