From: Richard Sandiford Date: Fri, 8 Nov 2024 14:07:47 +0000 (+0000) Subject: aarch64: Make PSEL dependent on SME rather than SME2 X-Git-Tag: releases/gcc-14.3.0~892 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8681e1ed812e2a59c5512fe8cda383682bc648f1;p=thirdparty%2Fgcc.git aarch64: Make PSEL dependent on SME rather than SME2 The svpsel_lane intrinsics were wrongly classified as SME2+ only, rather than as base SME intrinsics. They should always be available in streaming mode. gcc/ * config/aarch64/aarch64-sve2.md (@aarch64_sve_psel) (*aarch64_sve_psel_plus): Require TARGET_STREAMING rather than TARGET_STREAMING_SME2. gcc/testsuite/ * gcc.target/aarch64/sme2/acle-asm/psel_lane_b16.c: Move to... * gcc.target/aarch64/sme/acle-asm/psel_lane_b16.c: ...here. * gcc.target/aarch64/sme2/acle-asm/psel_lane_b32.c: Move to... * gcc.target/aarch64/sme/acle-asm/psel_lane_b32.c: ...here. * gcc.target/aarch64/sme2/acle-asm/psel_lane_b64.c: Move to... * gcc.target/aarch64/sme/acle-asm/psel_lane_b64.c: ...here. * gcc.target/aarch64/sme2/acle-asm/psel_lane_b8.c: Move to... * gcc.target/aarch64/sme/acle-asm/psel_lane_b8.c: ...here. * gcc.target/aarch64/sme2/acle-asm/psel_lane_c16.c: Move to... * gcc.target/aarch64/sme/acle-asm/psel_lane_c16.c: ...here. * gcc.target/aarch64/sme2/acle-asm/psel_lane_c32.c: Move to... * gcc.target/aarch64/sme/acle-asm/psel_lane_c32.c: ...here. * gcc.target/aarch64/sme2/acle-asm/psel_lane_c64.c: Move to... * gcc.target/aarch64/sme/acle-asm/psel_lane_c64.c: ...here. * gcc.target/aarch64/sme2/acle-asm/psel_lane_c8.c: Move to... * gcc.target/aarch64/sme/acle-asm/psel_lane_c8.c: ...here. (cherry picked from commit afd3887262edbdd5d7be5f34658432fd3046a168) --- diff --git a/gcc/config/aarch64/aarch64-sve2.md b/gcc/config/aarch64/aarch64-sve2.md index bae153b2c8c3..b0bdce1b0c45 100644 --- a/gcc/config/aarch64/aarch64-sve2.md +++ b/gcc/config/aarch64/aarch64-sve2.md @@ -418,7 +418,7 @@ (match_operand:SI 3 "register_operand" "Ucj") (const_int BHSD_BITS)] UNSPEC_PSEL))] - "TARGET_STREAMING_SME2" + "TARGET_STREAMING" "psel\t%0, %1, %2.[%w3, 0]" ) @@ -432,7 +432,7 @@ (match_operand:SI 4 "const_int_operand")) (const_int BHSD_BITS)] UNSPEC_PSEL))] - "TARGET_STREAMING_SME2 + "TARGET_STREAMING && UINTVAL (operands[4]) < 128 / " "psel\t%0, %1, %2.[%w3, %4]" ) diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b16.c b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b16.c similarity index 98% rename from gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b16.c rename to gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b16.c index 704e9e375f5e..45dda808d2a6 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b16.c +++ b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b16.c @@ -1,6 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ -#include "test_sme2_acle.h" +#include "test_sme_acle.h" /* ** psel_lane_p0_p2_p7_0: diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b32.c b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b32.c similarity index 98% rename from gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b32.c rename to gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b32.c index 7d9c7a129ea4..d3d1b7b42cac 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b32.c +++ b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b32.c @@ -1,6 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ -#include "test_sme2_acle.h" +#include "test_sme_acle.h" /* ** psel_lane_p0_p2_p7_0: diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b64.c b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b64.c similarity index 98% rename from gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b64.c rename to gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b64.c index a59032a57f61..8c1e014db650 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b64.c +++ b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b64.c @@ -1,6 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ -#include "test_sme2_acle.h" +#include "test_sme_acle.h" /* ** psel_lane_p0_p2_p7_0: diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b8.c b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b8.c similarity index 98% rename from gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b8.c rename to gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b8.c index 0dea85c4f1f9..aadfd3515add 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_b8.c +++ b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_b8.c @@ -1,6 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ -#include "test_sme2_acle.h" +#include "test_sme_acle.h" /* ** psel_lane_p0_p2_p7_0: diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c16.c b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c16.c similarity index 98% rename from gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c16.c rename to gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c16.c index 039c72b83c8d..68c875eccf5c 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c16.c +++ b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c16.c @@ -1,6 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ -#include "test_sme2_acle.h" +#include "test_sme_acle.h" /* ** psel_lane_p0_p2_p7_0: diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c32.c b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c32.c similarity index 98% rename from gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c32.c rename to gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c32.c index eaf195d93d2f..af044fb34eca 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c32.c +++ b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c32.c @@ -1,6 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ -#include "test_sme2_acle.h" +#include "test_sme_acle.h" /* ** psel_lane_p0_p2_p7_0: diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c64.c b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c64.c similarity index 98% rename from gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c64.c rename to gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c64.c index 70cfeca4fc82..911336900b77 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c64.c +++ b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c64.c @@ -1,6 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ -#include "test_sme2_acle.h" +#include "test_sme_acle.h" /* ** psel_lane_p0_p2_p7_0: diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c8.c b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c8.c similarity index 98% rename from gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c8.c rename to gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c8.c index b017962629f1..31f95408a67a 100644 --- a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/psel_lane_c8.c +++ b/gcc/testsuite/gcc.target/aarch64/sme/acle-asm/psel_lane_c8.c @@ -1,6 +1,6 @@ /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ -#include "test_sme2_acle.h" +#include "test_sme_acle.h" /* ** psel_lane_p0_p2_p7_0: