From patchwork Tue Mar 30 12:43:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 1460018 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha256 header.s=default header.b=ccwhku60; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F8q1F503dz9sVq for ; Tue, 30 Mar 2021 23:45:36 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BD28438515D5; Tue, 30 Mar 2021 12:45:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BD28438515D5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1617108333; bh=C04JLr26VFKJmYTgDzZa/YA8DrUSDomD/MBZZhb5jY0=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=ccwhku60w4e4EmEVOllwFdeyGYoo744uW0gwhJA6gsf6GCWQ0YbS6NErjbyv6QrWD juJlptNoSqpoK+mIXHcx/9WL89iJiefh+QmrVZrXmLKN81VxtIzqYJLvZyHQePnmPo lX2RgtF6dXPPQ38A3uRjCKLB52sb34QCDaNfMYto= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2084.outbound.protection.outlook.com [40.107.21.84]) by sourceware.org (Postfix) with ESMTPS id C749D385780D for ; Tue, 30 Mar 2021 12:45:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C749D385780D Received: from DB7PR03CA0086.eurprd03.prod.outlook.com (2603:10a6:10:72::27) by VI1PR08MB3711.eurprd08.prod.outlook.com (2603:10a6:803:bc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.24; Tue, 30 Mar 2021 12:45:26 +0000 Received: from DB5EUR03FT043.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:72:cafe::34) by DB7PR03CA0086.outlook.office365.com (2603:10a6:10:72::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25 via Frontend Transport; Tue, 30 Mar 2021 12:45:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT043.mail.protection.outlook.com (10.152.20.236) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25 via Frontend Transport; Tue, 30 Mar 2021 12:45:26 +0000 Received: ("Tessian outbound 9681ff6f21f7:v89"); Tue, 30 Mar 2021 12:45:26 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: beb6773e62a2de72 X-CR-MTA-TID: 64aa7808 Received: from 7109f7a021b8.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 61777B0A-F6ED-44E3-BD79-0101DD9C44FA.1; Tue, 30 Mar 2021 12:43:25 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7109f7a021b8.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 30 Mar 2021 12:43:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TJr91KIt6yXrohBvIqbfCscRkCAeuXBrrp3c3+q5NqpaWuEUghpd7Sglb/O6rn3lFiKl1YsKqqSBcLXzf6H3fpA1m8BovOor4/h84oWRpk6PCEloQ0bSiles2U7u7oAux2IX9KEV89ymdKxlEQHTVqPVHwZXO3U+okVi1eGLUNBuNYBux2xVnJt1DLZ/BTtuHFOi8pxDq+93tObyRxAhdaWd6F0ISk/kJyhpBC3OoABdKupl/XF4AMs/N7185T9awyTkUNHQAtEeBGfiYEzeGK3/79GQiX6vu+OpXO3ZSMwDZORX+ngTmX4xPSjTaTDpXg8+1PhQJDcdAqhi1ScUpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C04JLr26VFKJmYTgDzZa/YA8DrUSDomD/MBZZhb5jY0=; b=mcTyk8ozLX0RTpecscTdPUc3noNcdl4eXk8UWr4HRSriqwzLSKWxQy4VvCxq47DUOxWYk72OD2Dby72W4QXAWsUDrFCAVul5+0IUbcJrWkZkuuvAqYrknP9Ffmp4JjazfC/1pgm0im3ISoBV2V6+vw79AgmiRs/kkktaX9g6SY4u6CAetlU4VbwTJGkAz2AISdtXCmymTyp5L1WwEGgp64SZh9/JzqshrL7omQjS11a23pzpBE/PTa4ehKUSUbo2nXkgqq9o4f4l4C1QUvOKdHnczHYIbnM8h58+Gh+0352zpd3lSFQEXCAuvjpJ+wEysEef8n75mZ0Lz7l5UDUlLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by VI1PR0801MB1725.eurprd08.prod.outlook.com (2603:10a6:800:5c::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25; Tue, 30 Mar 2021 12:43:17 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::5828:531c:5ccb:5bae]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::5828:531c:5ccb:5bae%3]) with mapi id 15.20.3977.033; Tue, 30 Mar 2021 12:43:16 +0000 Date: Tue, 30 Mar 2021 13:43:08 +0100 To: gcc-patches@gcc.gnu.org Subject: [PATCH] slp: reject non-multiple of 2 laned SLP trees (PR99825) Message-ID: Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [217.140.106.51] X-ClientProxiedBy: SA9PR13CA0076.namprd13.prod.outlook.com (2603:10b6:806:23::21) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from arm.com (217.140.106.51) by SA9PR13CA0076.namprd13.prod.outlook.com (2603:10b6:806:23::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.16 via Frontend Transport; Tue, 30 Mar 2021 12:43:14 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 471a6a16-4c48-496d-c8eb-08d8f379b131 X-MS-TrafficTypeDiagnostic: VI1PR0801MB1725:|VI1PR08MB3711: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:7219;OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: pdurdlJ1xGYEB6BWcGZJ81KelVI0i2fwkgsGDadK0X08i3UAAsFSvgpvQJpLlkQxnhU7jJog8QLRXXIy4qbWRU/aRV7WqytSLpGiM55KM8qX+hrJNIx8vVbgqUQQL5qYgFWSvWpBRlPoiooAPrwCHSgT3h7CMyJxCKLg0V3Cm+NtoCjW+NmCtdef5ZP3FG10bz/ej3sh5EBZd+rIS3tEVEIiBgMOClQNBdWjuCORbQnfNJys3A7uhMGVvto3D7+qIp+fgKUIwOBRFN9Vn+MoWrcmzMaQ/TTRXNp+ZdA3GzgVQhVI9T2QkvACvSTGBjIkR8C3B0EQ2WP5WCf30oHJMKvRSh0AnTcAGan+1qGHRcPCi+Hfo7bZS8zwVx5959DCLc3GH5mBekYBFBwnMUUDoiV/qxH5vPVwS8gTlt9xqaOz1TPbDFKcsW60J76YH9HWCiYM/vQbXO8KVUqfkkoupJoBze5mbfHCpH+OB4OdUOCrA7oBTMBxoQ2WZnt15wnpcJe2ErnWicuUZFke+APmliZfLIji0HsbsZPtWS+YJrW5nEa84xM0Yjsu/UYmlZys+g1bpevo0YyFQDAICE7M8wyeJRJCvGEiRQBd/sz8vb+xYu95N/Ufh2HE0uNqHvN0UygBg22rjTxNPy2jFdwwPHIb3YgXRDuxnBOEHlkT+twX8WD9dokzdh5mi6HD5kRIin77roxVcTT5wAUuX0hYhA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(366004)(39860400002)(376002)(346002)(396003)(16526019)(44832011)(2616005)(956004)(6916009)(186003)(38100700001)(478600001)(316002)(26005)(55016002)(8676002)(33964004)(44144004)(52116002)(7696005)(8936002)(5660300002)(4326008)(235185007)(8886007)(66946007)(86362001)(83380400001)(66556008)(66476007)(66616009)(36756003)(2906002)(6666004)(4216001)(2700100001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?q?YXfJRMmkvlXyNNqsTQ8Ts4461Os2Nw?= =?utf-8?q?4GVnguwLuCurMujJKdmTSjAMzVeeMVZMunJOotfAQYXK1sSMH55vwhprGWb/5T5+1?= =?utf-8?q?ZhHCO7yDikahQyttQomG/Wh07Q3jD3SU0dWK1Pones9vH07UMEz5SGMwRgEXp7JQs?= =?utf-8?q?o/qWO9YrS0+OSp1kwQRs2QYGTgzdP2rw+d1K08fGVHPFzukjLPqXV6VpRXp/ym1Y0?= =?utf-8?q?Ali25IiblGXq+StNGI4zgzrG26E1WoNuOdYMmMhuMtQB5aMUWlIh233cmYlfz1++7?= =?utf-8?q?xcNRT3RMnSdbejwI5KCdV+FAth4ba7Rus+7YZ+KIrxn9CP8l4xkQyWpnUSmydgfmy?= =?utf-8?q?E1rACW9QVNHPxsJ1nYWYRFKuv4Tyiw7A6h7bIdbHrFIVkHiM7GvO8g2/r/2/mz+5/?= =?utf-8?q?NF2L/89qDtKNlRDO1rOLslpT13RtVn9Fatpgd70QidSQKO3EMKBlNis6BJHbddwkY?= =?utf-8?q?4hzupp4sff7fNnePyNZAi9H8YtmKc5bxcwtyqlZVPSX/0O+aa/D0JyDjkMrhTUkWi?= =?utf-8?q?zkJE1CNydiK7/PVYN77JbIE3ljtMwfiOZGn6EvXlArOGSVEMr7jmADnA8VxYEwqd7?= =?utf-8?q?E6ogF5zThGJ0WOdxKE2BJw8gGpWAQ+AVDJdPV8MJ5sj83lXQWt6BSagkp6TIteSxp?= =?utf-8?q?4/DQbLp6AjhZJRRU+UHBSJl5WgNbFdScwUKr4JJQHWqKc+408C4TmassWvV0Wni4N?= =?utf-8?q?kt8TUixQFb+25A7PfdGCG5D8uplBNvU17Kh+IRol7v1qgORbTV7S9bQqtDBlnlihd?= =?utf-8?q?USqfsGM78Xuy0EA9uZu6Ld5jO3mmljCY+ww6lM1+DSMmjPOpUudGeEpW2PGvUo8Hf?= =?utf-8?q?42Di8xdRLHZx7f2gE7Z9Tq10PnKilxh1xv13z5a1x4TeYfMPdnZon5vsQBr1G5zZQ?= =?utf-8?q?TFITLllbnmzv5+5fsMzoWbRyyy8ZipZdkr7XihHnsOululD1c2ubiKmRW6s0ehDqO?= =?utf-8?q?tR60UBpXA2rtbYWnwXjPfIh2y9VpgS+7Dj7fykRhhzR9gaXoe/jJilICWPNsvdIJZ?= =?utf-8?q?2CPonW7u+SiHWMedYFKIu8BsfBNiOr0qyhdi5Wt0Xp5PrPziapN+9AHmKvB0N0qY0?= =?utf-8?q?+BXgfoTwp1D0BS/w3NW2nqW5sfS8SLRvpuTx/9d4loP9GMn7EBNCRok5hQz5Huuzp?= =?utf-8?q?FyVvU2w69K8hxySqhHMmJBYPq3hmKQ82Exhynj7FTH9B95qcMQkDmool+3sLdGeE5?= =?utf-8?q?x5Ul31lAs/FqYs3dbDn0RYwJUwxLHg6auTj6smz0t0SicokIjqxJoWRrrB2PUBs5E?= =?utf-8?q?p1DaPFRyztQg2T?= X-MS-Exchange-Transport-Forked: True X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1725 Original-Authentication-Results: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: edeec021-6485-47f3-a97d-08d8f37963a0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6mPwxNtVUfqdKMCLKw7jRfVGNve7tVNYjfr8abBIpiDqFRgJaQxVuX6ykLNbrXi7B+5iakOTnFtJomhgetxEnMf7FhpIYOXFfo9wZI+524d4Y3+LedBrDZCtrUu9RIFeTsjwwkS/APMi3r+HExVElPiVP0BeUlcb8SbUuw8xz8emTZAz6RO1J6aSIRgwwfAAhSvQhZJ0cguCmrSAZofwaffoyVt4zeXrd2Pr3GXNT8zrkegKOkTkXeUHRvn+23Lyy2ZyuikiFK5hOkXNElrzXg07TuHakeQqWhwxgcafeXoV+sMh+oAAO53P/tbltgW1VcBFiZIAK8JWp70EpmJonl52SyIaD3tBQ1bFaFsCovNNSuXcTAsGK2lpmlTBsXPFGEd6VDlrA8LamDgt4y/DRPfhJ+75D/MLPO0Cbs4Xi5dmiDkl9nG/wUaxgwO70LHItRj8QOmE7EEiWRu/sEhug22sWA66DGGzg5G+/qvwNqdpce+mGCCGi1HKHtWnzZ8G5r1cfFM7E7Bom6+Imt8jFTwj/5S0CxTxYsAAFi9+Oj/MMu1ROpUQfSve0lk2n1jZR8Yr0+pBrP198NAhBWzeadJIPA2yhhiNGJkyn1T/XiyLllSKSMsIAxE0bGmQq55piEgMwLzKgc/nxH2eomzEKJK4xrCzMVyBztKNgFgTjV897mVELl4owuGBJxjwgQ7k/7mbA0r3jrCYGDEQNk17CQ== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(136003)(39860400002)(376002)(346002)(36840700001)(46966006)(86362001)(47076005)(44144004)(356005)(235185007)(81166007)(8886007)(36860700001)(5660300002)(336012)(82740400003)(66616009)(70586007)(82310400003)(316002)(70206006)(956004)(6666004)(2906002)(26005)(16526019)(478600001)(44832011)(107886003)(36756003)(6916009)(4326008)(7696005)(186003)(8676002)(8936002)(55016002)(2616005)(83380400001)(33964004)(4216001)(2700100001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2021 12:45:26.2247 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 471a6a16-4c48-496d-c8eb-08d8f379b131 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3711 X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_LOTSOFHASH, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Tamar Christina via Gcc-patches From: Tamar Christina Reply-To: Tamar Christina Cc: nd@arm.com, rguenther@suse.de Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" Hi Richi, TWO_OPERANDS allows any order or number of combinations of + and - operations but the pattern matcher only supports pairs of operations. This patch has the pattern matcher for complex numbers reject SLP trees where the lanes are not a multiple of 2. Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. Ok for master? Thanks, Tamar gcc/ChangeLog: PR tree-optimization/99825 * tree-vect-slp-patterns.c (vect_check_evenodd_blend): Reject non-mult 2 lanes. gcc/testsuite/ChangeLog: PR tree-optimization/99825 * gfortran.dg/vect/pr99825.f90: New test. --- inline copy of patch -- diff --git a/gcc/testsuite/gfortran.dg/vect/pr99825.f90 b/gcc/testsuite/gfortran.dg/vect/pr99825.f90 new file mode 100644 index 0000000000000000000000000000000000000000..b1423df32254e80dc2958b95083831173011afed diff --git a/gcc/testsuite/gfortran.dg/vect/pr99825.f90 b/gcc/testsuite/gfortran.dg/vect/pr99825.f90 new file mode 100644 index 0000000000000000000000000000000000000000..b1423df32254e80dc2958b95083831173011afed --- /dev/null +++ b/gcc/testsuite/gfortran.dg/vect/pr99825.f90 @@ -0,0 +1,15 @@ +! { dg-do compile } +! { dg-additional-options "-march=armv8.3-a -O3" { target { aarch64*-*-* } } } + +program main + complex, dimension(3, 2) :: a + complex, dimension(2, 4) :: b + complex, dimension(3, 4) :: c, res1 + + data a /0, (-5., -7.), (11., -13.), 0, 0, 0/ + data b /0, 0, 0, 0, 0, 0, 0, 0/ + data res1 /0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0/ + + c = matmul(a, conjg(b)) + if (any(res1 /= c)) stop 2 +end program main diff --git a/gcc/tree-vect-slp-patterns.c b/gcc/tree-vect-slp-patterns.c index cdd61e9a5cf0c5698fd94c29c6615d293ce4c41a..b25655c987698fcca684444377e3bc83ff7f3426 100644 --- a/gcc/tree-vect-slp-patterns.c +++ b/gcc/tree-vect-slp-patterns.c @@ -332,7 +332,8 @@ static inline bool vect_check_evenodd_blend (lane_permutation_t &permutes, unsigned even, unsigned odd) { - if (permutes.length () == 0) + if (permutes.length () == 0 + || permutes.length () % 2 != 0) return false; unsigned val[2] = {even, odd};