@@ -2983,13 +2983,6 @@ 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-
29932986 def int_aarch64_sme_mopa : SME_OuterProduct_Intrinsic;
29942987 def int_aarch64_sme_mops : SME_OuterProduct_Intrinsic;
29952988
@@ -3005,10 +2998,6 @@ let TargetPrefix = "aarch64" in {
30052998 def int_aarch64_sme_usmopa_wide : SME_OuterProduct_Intrinsic;
30062999 def int_aarch64_sme_usmops_wide : SME_OuterProduct_Intrinsic;
30073000
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-
30123001 class SME_AddVectorToTile_Intrinsic
30133002 : DefaultAttrsIntrinsic<[],
30143003 [llvm_i32_ty,
@@ -3875,6 +3864,13 @@ let TargetPrefix = "aarch64" in {
38753864 : DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>],
38763865 [llvm_nxv16i8_ty],
38773866 [IntrReadMem, IntrInaccessibleMemOnly]>;
3867+
3868+ class SME_FP8_OuterProduct_Intrinsic
3869+ : DefaultAttrsIntrinsic<[],
3870+ [llvm_i32_ty,
3871+ llvm_nxv16i1_ty, llvm_nxv16i1_ty,
3872+ llvm_nxv16i8_ty, llvm_nxv16i8_ty],
3873+ [ImmArg<ArgIndex<0>>, IntrInaccessibleMemOnly, IntrHasSideEffects]>;
38783874 //
38793875 // CVT from FP8 to half-precision/BFloat16 multi-vector
38803876 //
@@ -3886,4 +3882,8 @@ let TargetPrefix = "aarch64" in {
38863882 //
38873883 def int_aarch64_sve_fp8_cvtl1_x2 : SME2_FP8_CVT_X2_Single_Intrinsic;
38883884 def int_aarch64_sve_fp8_cvtl2_x2 : SME2_FP8_CVT_X2_Single_Intrinsic;
3885+
3886+ // FP8 outer product
3887+ def int_aarch64_sme_fp8_fmopa_za16 : SME_FP8_OuterProduct_Intrinsic;
3888+ def int_aarch64_sme_fp8_fmopa_za32 : SME_FP8_OuterProduct_Intrinsic;
38893889}
0 commit comments