From 3193614c4f9a8032e85a4da87bde8055aeee7d7b Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 9 Jan 2024 10:25:48 +0100 Subject: [PATCH] GCN: Enable effective-target 'vect_early_break', 'vect_early_break_hw' Via XPASSing test cases after commit a657c7e3518fcfc796f223d47385cad5e97dc9a5 "testsuite: un-xfail TSVC loops that check for exit control flow vectorization": PASS: gcc.dg/vect/tsvc/vect-tsvc-s332.c (test for excess errors) PASS: gcc.dg/vect/tsvc/vect-tsvc-s332.c execution test [-XFAIL:-]{+XPASS:+} gcc.dg/vect/tsvc/vect-tsvc-s332.c scan-tree-dump vect "vectorized 1 loops" PASS: gcc.dg/vect/tsvc/vect-tsvc-s481.c (test for excess errors) PASS: gcc.dg/vect/tsvc/vect-tsvc-s481.c execution test [-XFAIL:-]{+XPASS:+} gcc.dg/vect/tsvc/vect-tsvc-s481.c scan-tree-dump vect "vectorized 1 loops" PASS: gcc.dg/vect/tsvc/vect-tsvc-s482.c (test for excess errors) PASS: gcc.dg/vect/tsvc/vect-tsvc-s482.c execution test [-XFAIL:-]{+XPASS:+} gcc.dg/vect/tsvc/vect-tsvc-s482.c scan-tree-dump vect "vectorized 1 loops" ..., it became apparent that GCN, too, does support vectorization of loops with early breaks. The relevant test cases are all-PASS with just the following exceptions, to be looked into individually, later on: PASS: gcc.dg/vect/vect-early-break_25.c (test for excess errors) PASS: gcc.dg/vect/vect-early-break_25.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-early-break_25.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1 PASS: gcc.dg/vect/vect-early-break_56.c (test for excess errors) PASS: gcc.dg/vect/vect-early-break_56.c execution test XPASS: gcc.dg/vect/vect-early-break_56.c scan-tree-dump-times vect "vectorized 2 loops" 2 gcc/testsuite/ * lib/target-supports.exp (check_effective_target_vect_early_break) (check_effective_target_vect_early_break_hw): Enable for GCN. --- gcc/testsuite/lib/target-supports.exp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 75d1add894f..497c46de4cb 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -4071,6 +4071,7 @@ proc check_effective_target_vect_early_break { } { [istarget aarch64*-*-*] || [check_effective_target_arm_v8_neon_ok] || [check_effective_target_sse4] + || [istarget amdgcn-*-*] }}] } @@ -4085,6 +4086,7 @@ proc check_effective_target_vect_early_break_hw { } { [istarget aarch64*-*-*] || [check_effective_target_arm_v8_neon_hw] || [check_sse4_hw_available] + || [istarget amdgcn-*-*] }}] } -- 2.34.1