Skip to content

Commit 511a97f

Browse files
committed
[NFC] Move definition of FP8 intrinsics
1 parent 4d9bf27 commit 511a97f

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

llvm/include/llvm/IR/IntrinsicsAArch64.td

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3812,23 +3812,6 @@ let TargetPrefix = "aarch64" in {
38123812
[LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>,
38133813
LLVMVectorOfBitcastsToInt<0>, LLVMVectorOfBitcastsToInt<0>, LLVMVectorOfBitcastsToInt<0>, LLVMVectorOfBitcastsToInt<0>],
38143814
[IntrNoMem]>;
3815-
3816-
class SME2_FP8_CVT_X2_Single_Intrinsic
3817-
: DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>],
3818-
[llvm_nxv16i8_ty],
3819-
[IntrReadMem, IntrInaccessibleMemOnly]>;
3820-
3821-
//
3822-
// CVT from FP8 to half-precision/BFloat16 multi-vector
3823-
//
3824-
def int_aarch64_sve_fp8_cvt1_x2 : SME2_FP8_CVT_X2_Single_Intrinsic;
3825-
def int_aarch64_sve_fp8_cvt2_x2 : SME2_FP8_CVT_X2_Single_Intrinsic;
3826-
3827-
//
3828-
// CVT from FP8 to deinterleaved half-precision/BFloat16 multi-vector
3829-
//
3830-
def int_aarch64_sve_fp8_cvtl1_x2 : SME2_FP8_CVT_X2_Single_Intrinsic;
3831-
def int_aarch64_sve_fp8_cvtl2_x2 : SME2_FP8_CVT_X2_Single_Intrinsic;
38323815
}
38333816

38343817
// SVE2.1 - ZIPQ1, ZIPQ2, UZPQ1, UZPQ2
@@ -3871,3 +3854,25 @@ def int_aarch64_sve_famin_u : AdvSIMD_Pred2VectorArg_Intrinsic;
38713854
// Neon absolute maximum and minimum
38723855
def int_aarch64_neon_famax : AdvSIMD_2VectorArg_Intrinsic;
38733856
def int_aarch64_neon_famin : AdvSIMD_2VectorArg_Intrinsic;
3857+
3858+
//
3859+
// FP8 Intrinsics
3860+
//
3861+
let TargetPrefix = "aarch64" in {
3862+
3863+
class SME2_FP8_CVT_X2_Single_Intrinsic
3864+
: DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>],
3865+
[llvm_nxv16i8_ty],
3866+
[IntrReadMem, IntrInaccessibleMemOnly]>;
3867+
//
3868+
// CVT from FP8 to half-precision/BFloat16 multi-vector
3869+
//
3870+
def int_aarch64_sve_fp8_cvt1_x2 : SME2_FP8_CVT_X2_Single_Intrinsic;
3871+
def int_aarch64_sve_fp8_cvt2_x2 : SME2_FP8_CVT_X2_Single_Intrinsic;
3872+
3873+
//
3874+
// CVT from FP8 to deinterleaved half-precision/BFloat16 multi-vector
3875+
//
3876+
def int_aarch64_sve_fp8_cvtl1_x2 : SME2_FP8_CVT_X2_Single_Intrinsic;
3877+
def int_aarch64_sve_fp8_cvtl2_x2 : SME2_FP8_CVT_X2_Single_Intrinsic;
3878+
}

0 commit comments

Comments
 (0)