From patchwork Fri Jan 12 14:02:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 83996 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CEF923858C42 for ; Fri, 12 Jan 2024 14:03:33 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id 617653858D20 for ; Fri, 12 Jan 2024 14:03:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 617653858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 617653858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=68.232.141.98 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705068182; cv=none; b=DDHkyFbE8kvZxBgJwixh81rbrPKaJAiYBKgGnko18SpHDJ1RpdMYuqzqXRg4d7yBBd2d4Hei2PqjyhFICbd3rx5Vl2acJR2E1x3SOLDiGb/IL3zZz5em1ZPvUWBI/lAj4fAWPgTkC0w8gE0OXrxYKgg110v7k9SJkF1hr5i4Wdw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705068182; c=relaxed/simple; bh=1ULXbXXICiW/vnQ5b4YV6g3S70UPqW/dse27mPZAJKk=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=A2sMlfFX4JOOxRWZEaDGvHQxTujJE21C/MiAlRa+70TxNJ6AYoyh/jn1IPygmWQ5gyqefLNLjHfLa1f1yVs3V+RGcjYdnb8EeRtdNfIdWo1OmyeHotjPhhf7rKNEwuiXUrdn1DCeF+zKyKNM3XAEEHkJ70EbH0Xpk4QBG8dLtm0= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: ZNCw5P7GRymXpQfFLE/nxg== X-CSE-MsgGUID: mG3bQq+vThOju15CXYgBFg== X-IronPort-AV: E=Sophos;i="6.04,189,1695715200"; d="scan'208,223";a="31090393" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 12 Jan 2024 06:02:59 -0800 IronPort-SDR: pTqzhxcw56K5H3oVQnifmCZEfQuCbABUOhsTl0vttLKyOFlLz7Y577LshO5XR2g6aMEy/QivoH hKvu2vRg+xm9MEHumjVZdPQZXtBaiBXm0o+Kx1lyc3bg7CDErOYIVTtVbqvqFa1ow3Ie3MyZy6 bcO9mhr/k62giV7wEAnS9czCcduKrwkNmdoof0p0bCUCajD57MmcwCcDTk0moElGRRkX6N609S /TCfgxq34FAIl3zEOc2tGWy/iQINROoCEejNTRI6zZrK8cQK/PNQti5UWIYqhP2lDwTtFf+W50 jGI= From: Thomas Schwinge To: Tamar Christina , , Andrew Stubbs , Julian Brown Subject: GCN: Enable effective-target 'vect_early_break', 'vect_early_break_hw' User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/28.2 (x86_64-pc-linux-gnu) Date: Fri, 12 Jan 2024 15:02:35 +0100 Message-ID: <87bk9q8xac.fsf@euler.schwinge.homeip.net> MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Hi! OK to push the attached "GCN: Enable effective-target 'vect_early_break', 'vect_early_break_hw'"? ("The relevant test cases are all-PASS with just [two] exceptions, to be looked into individually, later on." I'm not currently planning to look into that.) Grüße Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955 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