Skip to content

Commit 411f907

Browse files
committed
[AArch64] Implement intrinsics for SME FP8 FMOPA
1 parent 99f6ca9 commit 411f907

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

llvm/include/llvm/IR/IntrinsicsAArch64.td

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2983,6 +2983,13 @@ let TargetPrefix = "aarch64" in {
29832983
LLVMMatchType<0>,
29842984
llvm_anyvector_ty], [ImmArg<ArgIndex<0>>]>;
29852985

2986+
class SME_FP8_OuterProduct_Intrinsic
2987+
: DefaultAttrsIntrinsic<[],
2988+
[llvm_i32_ty,
2989+
llvm_nxv16i1_ty, llvm_nxv16i1_ty,
2990+
llvm_nxv16i8_ty, llvm_nxv16i8_ty],
2991+
[ImmArg<ArgIndex<0>>, IntrInaccessibleMemOnly, IntrHasSideEffects]>;
2992+
29862993
def int_aarch64_sme_mopa : SME_OuterProduct_Intrinsic;
29872994
def int_aarch64_sme_mops : SME_OuterProduct_Intrinsic;
29882995

@@ -2998,6 +3005,10 @@ let TargetPrefix = "aarch64" in {
29983005
def int_aarch64_sme_usmopa_wide : SME_OuterProduct_Intrinsic;
29993006
def int_aarch64_sme_usmops_wide : SME_OuterProduct_Intrinsic;
30003007

3008+
// FP8 outer product
3009+
def int_aarch64_sme_fp8_fmopa_za16 : SME_FP8_OuterProduct_Intrinsic;
3010+
def int_aarch64_sme_fp8_fmopa_za32 : SME_FP8_OuterProduct_Intrinsic;
3011+
30013012
class SME_AddVectorToTile_Intrinsic
30023013
: DefaultAttrsIntrinsic<[],
30033014
[llvm_i32_ty,

0 commit comments

Comments
 (0)