[all-commits] [llvm/llvm-project] ef4b59: [AArch64] Add intrinsics for SME FP8 FDOT single a...
Jonathan Thackray via All-commits
all-commits at lists.llvm.org
Mon Dec 16 05:15:03 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ef4b597015db0e558f3a75f2f75d471a1cabe0b6
https://github.com/llvm/llvm-project/commit/ef4b597015db0e558f3a75f2f75d471a1cabe0b6
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fdot.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fdot.ll
Log Message:
-----------
[AArch64] Add intrinsics for SME FP8 FDOT single and multi instructions (#119845)
Add support for the following SME 8 bit floating-point dot-product intrinsics:
```
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svdot[_single]_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot[_single]_za16[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8x2_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za16[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8x4_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svdot[_single]_za32[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot[_single]_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za32[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8x2_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8x4_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
```
These intrinsics are extracted from:
https://github.com/ARM-software/acle/pull/323/
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Co-authored-by: Marian Lukac <marian.lukac at arm.com>
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