https://github.com/CarolineConcatto updated https://github.com/llvm/llvm-project/pull/166799
>From 306d31e9d557c262d630e7f9fe1fe1c5b9a03fe0 Mon Sep 17 00:00:00 2001 From: CarolineConcatto <[email protected]> Date: Thu, 6 Nov 2025 16:34:14 +0000 Subject: [PATCH] [Clang][AArch64]Remove _single from vg2x1 and vg4x1 svmla This patch follows the PR#421[1] from the ACLE These 2 FP8 intrinsics had single removed from them: from ``svmla[_single]_za16[_mf8]_vg2x1_fpm`` to ``svmla_za16[_mf8]_vg2x1_fpm`` and from ``svmla[_single]_za32[_mf8]_vg4x1_fpm`` to ``svmla_za32[_mf8]_vg4x1_fpm`` [1]https://github.com/ARM-software/acle/pull/421 --- clang/include/clang/Basic/arm_sme.td | 4 ++-- .../CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c | 4 ++-- .../AArch64/arm_sme_streaming_only_sme_AND_sme-f8f16.c | 6 +++--- .../AArch64/arm_sme_streaming_only_sme_AND_sme-f8f32.c | 6 +++--- .../Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c | 10 +++++----- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/clang/include/clang/Basic/arm_sme.td b/clang/include/clang/Basic/arm_sme.td index 5f6a6eaab80a3..8fdb93519e8ec 100644 --- a/clang/include/clang/Basic/arm_sme.td +++ b/clang/include/clang/Basic/arm_sme.td @@ -992,7 +992,7 @@ let SMETargetGuard = "sme-f8f32" in { def SVMLA_FP8_LANE_ZA16_VG4x4 : Inst<"svmla_lane_za32[_mf8]_vg4x4", "vm4di>", "m", MergeNone, "aarch64_sme_fp8_fmlall_lane_za32_vg4x4", [IsStreaming, IsInOutZA, IsOverloadNone], [ImmCheck<3, ImmCheck0_15>]>; // FMLALL (single) - def SVMLA_FP8_SINGLE_ZA32_VG4x1 : Inst<"svmla[_single]_za32[_mf8]_vg4x1", "vmdd>", "m", MergeNone, "aarch64_sme_fp8_fmlall_single_za32_vg4x1", + def SVMLA_FP8_SINGLE_ZA32_VG4x1 : Inst<"svmla_za32[_mf8]_vg4x1", "vmdd>", "m", MergeNone, "aarch64_sme_fp8_fmlall_single_za32_vg4x1", [IsStreaming, IsInOutZA, IsOverloadNone], []>; def SVMLA_FP8_SINGLE_ZA32_VG4x2 : Inst<"svmla[_single]_za32[_mf8]_vg4x2", "vm2d>", "m", MergeNone, "aarch64_sme_fp8_fmlall_single_za32_vg4x2", [IsStreaming, IsInOutZA, IsOverloadNone], []>; @@ -1016,7 +1016,7 @@ let SMETargetGuard = "sme-f8f16" in { def SVMLA_FP8_LANE_ZA16_VG2x4 : Inst<"svmla_lane_za16[_mf8]_vg2x4", "vm4di>", "m", MergeNone, "aarch64_sme_fp8_fmlal_lane_za16_vg2x4", [IsStreaming, IsInOutZA, IsOverloadNone], [ImmCheck<3, ImmCheck0_15>]>; // FMLAL (single) - def SVMLA_FP8_SINGLE_ZA16_VG2x1 : Inst<"svmla[_single]_za16[_mf8]_vg2x1", "vmdd>", "m", MergeNone, "aarch64_sme_fp8_fmlal_single_za16_vg2x1", + def SVMLA_FP8_SINGLE_ZA16_VG2x1 : Inst<"svmla_za16[_mf8]_vg2x1", "vmdd>", "m", MergeNone, "aarch64_sme_fp8_fmlal_single_za16_vg2x1", [IsStreaming, IsInOutZA, IsOverloadNone], []>; def SVMLA_FP8_SINGLE_ZA16_VG2x2 : Inst<"svmla[_single]_za16[_mf8]_vg2x2", "vm2d>", "m", MergeNone, "aarch64_sme_fp8_fmlal_single_za16_vg2x2", [IsStreaming, IsInOutZA, IsOverloadNone], []>; diff --git a/clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c b/clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c index d603045edf282..601b66710f6ff 100644 --- a/clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c +++ b/clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c @@ -144,7 +144,7 @@ void test_svmla_lane_za32_vg4x4(uint32_t slice, svmfloat8x4_t zn, svmfloat8_t zm // CPP-CHECK-NEXT: ret void // void test_svmla_single_za16_vg2x1(uint32_t slice, svmfloat8_t zn, svmfloat8_t zm, fpm_t fpm) __arm_streaming __arm_inout("za") { - SME_ACLE_FUNC(svmla,_single,_za16,_mf8,_vg2x1_fpm)(slice, zn, zm, fpm); + SME_ACLE_FUNC(svmla_za16,_mf8,_vg2x1_fpm,,)(slice, zn, zm, fpm); } // CHECK-LABEL: define dso_local void @test_svmla_single_za16_vg2x2( @@ -200,7 +200,7 @@ void test_svmla_single_za16_vg2x4(uint32_t slice, svmfloat8x4_t zn, svmfloat8_t // CPP-CHECK-NEXT: ret void // void test_svmla_single_za32_vg4x1(uint32_t slice, svmfloat8_t zn, svmfloat8_t zm, fpm_t fpm) __arm_streaming __arm_inout("za") { - SME_ACLE_FUNC(svmla,_single,_za32,_mf8,_vg4x1_fpm)(slice, zn, zm, fpm); + SME_ACLE_FUNC(svmla_za32,_mf8,_vg4x1_fpm,,)(slice, zn, zm, fpm); } // CHECK-LABEL: define dso_local void @test_svmla_single_za32_vg4x2( diff --git a/clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f16.c b/clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f16.c index 32e1f8299d607..9e7e4f9350012 100644 --- a/clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f16.c +++ b/clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f16.c @@ -52,7 +52,7 @@ void test(void) __arm_inout("za"){ // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} svmla_lane_za16_vg2x4_fpm(uint32_t_val, svmfloat8x4_t_val, svmfloat8_t_val, 2, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} - svmla_single_za16_mf8_vg2x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); + svmla_za16_mf8_vg2x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} svmla_single_za16_mf8_vg2x2_fpm(uint32_t_val, svmfloat8x2_t_val, svmfloat8_t_val, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} @@ -107,7 +107,7 @@ void test_streaming(void) __arm_streaming __arm_inout("za"){ svmla_lane_za16_vg2x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, 2, fpm_t_val); svmla_lane_za16_vg2x2_fpm(uint32_t_val, svmfloat8x2_t_val, svmfloat8_t_val, 2, fpm_t_val); svmla_lane_za16_vg2x4_fpm(uint32_t_val, svmfloat8x4_t_val, svmfloat8_t_val, 2, fpm_t_val); - svmla_single_za16_mf8_vg2x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); + svmla_za16_mf8_vg2x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); svmla_single_za16_mf8_vg2x2_fpm(uint32_t_val, svmfloat8x2_t_val, svmfloat8_t_val, fpm_t_val); svmla_single_za16_mf8_vg2x4_fpm(uint32_t_val, svmfloat8x4_t_val, svmfloat8_t_val, fpm_t_val); svmla_za16_mf8_vg2x2_fpm(uint32_t_val, svmfloat8x2_t_val, svmfloat8x2_t_val, fpm_t_val); @@ -168,7 +168,7 @@ void test_streaming_compatible(void) __arm_streaming_compatible __arm_inout("za" // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} svmla_lane_za16_vg2x4_fpm(uint32_t_val, svmfloat8x4_t_val, svmfloat8_t_val, 2, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} - svmla_single_za16_mf8_vg2x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); + svmla_za16_mf8_vg2x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} svmla_single_za16_mf8_vg2x2_fpm(uint32_t_val, svmfloat8x2_t_val, svmfloat8_t_val, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} diff --git a/clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f32.c b/clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f32.c index 11c7f3870b5a9..74792022e0cfc 100644 --- a/clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f32.c +++ b/clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f32.c @@ -52,7 +52,7 @@ void test(void) __arm_inout("za"){ // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} svmla_lane_za32_vg4x4_fpm(uint32_t_val, svmfloat8x4_t_val, svmfloat8_t_val, 2, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} - svmla_single_za32_mf8_vg4x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); + svmla_za32_mf8_vg4x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} svmla_single_za32_mf8_vg4x2_fpm(uint32_t_val, svmfloat8x2_t_val, svmfloat8_t_val, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} @@ -111,7 +111,7 @@ void test_streaming(void) __arm_streaming __arm_inout("za"){ svmla_lane_za32_vg4x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, 2, fpm_t_val); svmla_lane_za32_vg4x2_fpm(uint32_t_val, svmfloat8x2_t_val, svmfloat8_t_val, 2, fpm_t_val); svmla_lane_za32_vg4x4_fpm(uint32_t_val, svmfloat8x4_t_val, svmfloat8_t_val, 2, fpm_t_val); - svmla_single_za32_mf8_vg4x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); + svmla_za32_mf8_vg4x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); svmla_single_za32_mf8_vg4x2_fpm(uint32_t_val, svmfloat8x2_t_val, svmfloat8_t_val, fpm_t_val); svmla_single_za32_mf8_vg4x4_fpm(uint32_t_val, svmfloat8x4_t_val, svmfloat8_t_val, fpm_t_val); svmla_za32_mf8_vg4x2_fpm(uint32_t_val, svmfloat8x2_t_val, svmfloat8x2_t_val, fpm_t_val); @@ -174,7 +174,7 @@ void test_streaming_compatible(void) __arm_streaming_compatible __arm_inout("za" // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} svmla_lane_za32_vg4x4_fpm(uint32_t_val, svmfloat8x4_t_val, svmfloat8_t_val, 2, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} - svmla_single_za32_mf8_vg4x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); + svmla_za32_mf8_vg4x1_fpm(uint32_t_val, svmfloat8_t_val, svmfloat8_t_val, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} svmla_single_za32_mf8_vg4x2_fpm(uint32_t_val, svmfloat8x2_t_val, svmfloat8_t_val, fpm_t_val); // streaming-guard-error@+1 {{builtin can only be called from a streaming function}} diff --git a/clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c b/clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c index 1dbc30196a554..ddb2fbce046a1 100644 --- a/clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c +++ b/clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c @@ -24,8 +24,8 @@ void test_svmla(uint32_t slice, svmfloat8_t zn, svmfloat8x2_t znx2, svmfloat8x4_ // expected-error@+1 {{'svmla_lane_za32_mf8_vg4x4_fpm' needs target feature sme,sme-f8f32}} svmla_lane_za32_mf8_vg4x4_fpm(slice, znx4, zn, 0, fpmr); - // expected-error@+1 {{'svmla_single_za16_mf8_vg2x1_fpm' needs target feature sme,sme-f8f16}} - svmla_single_za16_mf8_vg2x1_fpm(slice, zn, zn, fpmr); + // expected-error@+1 {{'svmla_za16_mf8_vg2x1_fpm' needs target feature sme,sme-f8f16}} + svmla_za16_mf8_vg2x1_fpm(slice, zn, zn, fpmr); // expected-error@+1 {{'svmla_single_za16_mf8_vg2x2_fpm' needs target feature sme,sme-f8f16}} svmla_single_za16_mf8_vg2x2_fpm(slice, znx2, zn, fpmr); @@ -33,8 +33,8 @@ void test_svmla(uint32_t slice, svmfloat8_t zn, svmfloat8x2_t znx2, svmfloat8x4_ // expected-error@+1 {{'svmla_single_za16_mf8_vg2x4_fpm' needs target feature sme,sme-f8f16}} svmla_single_za16_mf8_vg2x4_fpm(slice, znx4, zn, fpmr); - // expected-error@+1 {{'svmla_single_za32_mf8_vg4x1_fpm' needs target feature sme,sme-f8f32}} - svmla_single_za32_mf8_vg4x1_fpm(slice, zn, zn, fpmr); + // expected-error@+1 {{'svmla_za32_mf8_vg4x1_fpm' needs target feature sme,sme-f8f32}} + svmla_za32_mf8_vg4x1_fpm(slice, zn, zn, fpmr); // expected-error@+1 {{'svmla_single_za32_mf8_vg4x2_fpm' needs target feature sme,sme-f8f32}} svmla_single_za32_mf8_vg4x2_fpm(slice, znx2, zn, fpmr); @@ -53,4 +53,4 @@ void test_svmla(uint32_t slice, svmfloat8_t zn, svmfloat8x2_t znx2, svmfloat8x4_ // expected-error@+1 {{'svmla_za32_mf8_vg4x4_fpm' needs target feature sme,sme-f8f32}} svmla_za32_mf8_vg4x4_fpm(slice, znx4, znx4, fpmr); -} \ No newline at end of file +} _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
