Hi!

On 2025-01-20T08:40:25+0000, Tamar Christina <tamar.christ...@arm.com> wrote:
>> From: Thomas Schwinge <tho...@schwinge.name>
>> Sent: Monday, January 13, 2025 9:54 AM

>> On 2025-01-10T21:22:03+0000, Tamar Christina via Gcc-cvs <gcc-
>> c...@gcc.gnu.org> wrote:
>> > https://gcc.gnu.org/g:68326d5d1a593dc0bf098c03aac25916168bc5a9
>> >
>> > commit r15-6807-g68326d5d1a593dc0bf098c03aac25916168bc5a9
>> > Author: Alex Coplan <alex.cop...@arm.com>
>> > Date:   Mon Mar 11 13:09:10 2024 +0000
>> >
>> >     vect: Force alignment peeling to vectorize more early break loops 
>> > [PR118211]
>> 
>> In addition to the regression already noted elsewhere:
>> 
>>     PASS: gcc.dg/tree-ssa/predcom-8.c (test for excess errors)
>>     PASS: gcc.dg/tree-ssa/predcom-8.c scan-tree-dump pcom "Executing 
>> predictive commoning without unrolling"
>>     [-PASS:-]{+FAIL:+} gcc.dg/tree-ssa/predcom-8.c scan-tree-dump-not pcom 
>> "Invalid sum"
>> 
>> ..., this commit for for '--target=amdgcn-amdhsa' (tested '-march=gfx908', 
>> '-march=gfx1100') also regresses:
>> 
>>     PASS: gcc.dg/vect/vect-switch-search-line-fast.c (test for excess errors)
>>     [-XFAIL:-]{+FAIL:+} gcc.dg/vect/vect-switch-search-line-fast.c 
>> scan-tree-dump-times vect "vectorized 1 loops" [-1-]{+0+}
>> 
>>     gcc.dg/vect/vect-switch-search-line-fast.c: pattern found 1 times
>> 
>> > --- a/gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c
>> > +++ b/gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c
>> > [...]
>> > -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { 
>> > xfail *-*-* } } } */
>> > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { 
>> > target { ilp32 } } } } */
>> > +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { 
>> > target { ! ilp32 } } } } */
>> 
>> Presuming that it's correct that GCN continues to be able vectorize this,
>> what is the appropriate conditional to use?
>
> I don't think we really have a condition for it's succeeding on some targets 
> for now.

Thanks for checking.

> The original testcase was xfail but it was failing for many different reasons 
> on all targets.

Eh, of course -- it was XFAIL before, sorry.  So, it's not the case that
"GCN continues to be able vectorize this", but rather that after this
commit, "GCN is now able vectorize this".  :-)

> So I think just doing { target { ilp32 || { amdgcn-* } } } should work for 
> now.

Pushed to trunk branch commit da75309c635c54a6010b146514d456d2a4c6ab33
"vect: Force alignment peeling to vectorize more early break loops [PR118211]: 
update 'gcc.dg/vect/vect-switch-search-line-fast.c' for GCN",
see attached.


Grüße
 Thomas


>From da75309c635c54a6010b146514d456d2a4c6ab33 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <tschwi...@baylibre.com>
Date: Tue, 21 Jan 2025 14:57:37 +0100
Subject: [PATCH] vect: Force alignment peeling to vectorize more early break
 loops [PR118211]: update 'gcc.dg/vect/vect-switch-search-line-fast.c' for GCN

	PR tree-optimization/118211
	PR tree-optimization/116126
	gcc/testsuite/
	* gcc.dg/vect/vect-switch-search-line-fast.c: Update for GCN.
---
 gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c b/gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c
index 21c77f49ebd..678512db319 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c
@@ -16,5 +16,5 @@ const unsigned char *search_line_fast2 (const unsigned char *s,
   return s;
 }
 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ilp32 } } } } */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! ilp32 } } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ilp32 || { amdgcn*-*-* } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! { ilp32 || { amdgcn*-*-* } } } } } } */
-- 
2.34.1

Reply via email to