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: 187742 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2614:b0:101:6a76:bbe3 with SMTP id mm20csp191593dyc; Fri, 12 Jan 2024 06:03:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IE0M2XhDsh0nLajtdX3WRHMP4q4vHSvKtmYxafF7SX3Az1FLdoFjdwNQ3wBgIuZv8r2e0zo X-Received: by 2002:ac8:7f45:0:b0:428:3109:7624 with SMTP id g5-20020ac87f45000000b0042831097624mr1579849qtk.42.1705068230599; Fri, 12 Jan 2024 06:03:50 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705068230; cv=pass; d=google.com; s=arc-20160816; b=QfaxUAHZen9EFfD+ylfyukCj5SoCh1nX8IhO6K9XSlilR3dalz/TDzyrtM2gGC426D 0sc0vaCiineuGNVMizPMU3cZjDvaiu1iCA9xVBBQxsSdtN9mqVaKPL5QfqzPvhYIJqbd +4MPy9T8kfvSR5spobmJvtQr4HbbALddbLjVwoYO+ebYOO3bclM8Vb1Q5371LBArDoKF hKun9OzkFAMSH3OYV8CwBkL77GSf3U0b2HW5r5Ve2Csc4TJas50DEPkDJdyjCuiS3MTk JZFSo8hW6ZlWsv63uGVihGmXGzsQYOL+TJOOQl/Fm3dJ5wX9ExI7lVTk+O2ITRUKwEGV pUBA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version:message-id:date :user-agent:subject:to:from:ironport-sdr:arc-filter:dmarc-filter :delivered-to; bh=qXk/rm5qrXy8daouFbAHzkuBWjl8bSdNyEh/9fdb6m4=; fh=FTPgcRysx/RdvlX2Qg0/h71I42YswQ/InqF9Duc9Jdg=; b=CX/p7vfZOlKx3haQVdS1C82nsBn+VA/TiWWM6froLfq1Uf9wjJSzUwvRf+JDaR1SeA n4FLYXxcHqmkdOT45fvjZZ6XwmSarWqdolo2HYywlty9WYcAuMBrPqx4jLw3GZpnF28+ aCws9hQOeivcpes5NEwc0mSK8RNnmvt1vnjfLuRJfhvd8svkvfquqsiWIY6AggWjGm/D 0hb2pB8LwJlOzpmvq0lafxDfaVr/eC/JuxCWHTkO1nt2Sc0lIS0poyZgpFPW1M3vlwKB ElOn3Le/38oIsG5SIxM9jgmPeTeQUJ7ic7ZO1CWOVz0M30LqoVBnfYklz9eMz2Zus56D P6lw== ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id o8-20020a05622a138800b004282544d995si3018852qtk.383.2024.01.12.06.03.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jan 2024 06:03:50 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4DC94385841A for ; Fri, 12 Jan 2024 14:03:50 +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+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1787893624725178506 X-GMAIL-MSGID: 1787893624725178506 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