From patchwork Mon Nov 1 09:54:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 1549071 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.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=YOAJdd4b; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (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 bilbo.ozlabs.org (Postfix) with ESMTPS id 4HjT1p5QWfz9sS8 for ; Mon, 1 Nov 2021 20:55:58 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 93EA5385801A for ; Mon, 1 Nov 2021 09:55:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 93EA5385801A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1635760556; bh=L0vg/qxCKlOOpFm0/MPND6jB2snoQXIAyYXa0D19CTA=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=YOAJdd4br+tDRFv7lAg6LfBxSSTHJp/Xza1XBRIU1Rd6hxU2F7RIsjK1rtH9XhaaA qALdqj6HIw2+d5RxpQW6ShSMPNegnS9CEXB67Y8lX1MyS7jUa8b8x0ZG8UBNq3FDUf Jx50dZwCXQhXmMdJClwsz+8LYa0Sx/ZkHnKfhFjg= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60072.outbound.protection.outlook.com [40.107.6.72]) by sourceware.org (Postfix) with ESMTPS id C8662385803B for ; Mon, 1 Nov 2021 09:54:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C8662385803B Received: from AM6P191CA0103.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8a::44) by AM6PR08MB4867.eurprd08.prod.outlook.com (2603:10a6:20b:cd::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Mon, 1 Nov 2021 09:54:27 +0000 Received: from VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8a:cafe::5) by AM6P191CA0103.outlook.office365.com (2603:10a6:209:8a::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15 via Frontend Transport; Mon, 1 Nov 2021 09:54:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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 VE1EUR03FT047.mail.protection.outlook.com (10.152.19.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Mon, 1 Nov 2021 09:54:26 +0000 Received: ("Tessian outbound 7b0bcc4a550a:v108"); Mon, 01 Nov 2021 09:54:26 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 17c0b72e4c07b515 X-CR-MTA-TID: 64aa7808 Received: from 0de5ca9c2f89.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 0E6FDD3E-5AFA-40DD-BC22-3B79F16F6A69.1; Mon, 01 Nov 2021 09:54:15 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0de5ca9c2f89.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 01 Nov 2021 09:54:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cegM+Mq3ntFCxkRHfkKme0OJeQLQWoeEo0lmj1j/C+PAuoChjbOii3Nlh4FFHyPfC/ZYbgRz8804xUWLI0fehuf6mq64msQXzn1lP7Q1g5bh8KxjY3xt9oNt5m1GVVsO7EwBUUWzs9XqQBXPSTKJBHAkv6l8qYhb2TehbQk9d3PNCtiBGsF2xPFX48wtNdKM5podF5PyZjDKHKERtjYmh0S4Sq7csW8B784C0Ue5jwICPdnIQnzPHGXb3wcHDHvoW8I0WDT9hCQzdjZGTGRtcj8SlNqjrcxi4gpk+yBWZYdMiyIS2Xh+9OOVhXiS9VXIroiNlm0a64cV0GLckOupcQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=L0vg/qxCKlOOpFm0/MPND6jB2snoQXIAyYXa0D19CTA=; b=lhac+ZSCra0jFkdWn+rMpUtIaiz+Q/1uKXeRX17nku7vD0Fk+nSmRfoqmxf//Ki1bF+yDhj7cFcADU14v271HAQW5cW+QPlVNJ0f/nnArkKnHg+xC3yYrWjSZPlFJYkorxfiMpn7g8YYCs4OL7N2WvfGfI6hxCBYMadZsfwmErJgkQSAKpU1sIcBWaKik9f5GDjOShOHEh/+71N9DC8YxZ5YlA9p3MRLlORyVAXd/XXQ8HP8kVh7dvnMK+9s4Xw4jkiE42VNwSppD4DeLhacZC64ug6BonCcCjvGbEjeIhAO3wYZe3zziyrI/WMRurzoBRq1JZzooS1V0opv27pPMg== 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: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by VI1PR08MB5359.eurprd08.prod.outlook.com (2603:10a6:803:12f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.18; Mon, 1 Nov 2021 09:54:13 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::31cf:ea55:2234:c50b]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::31cf:ea55:2234:c50b%7]) with mapi id 15.20.4649.019; Mon, 1 Nov 2021 09:54:13 +0000 Date: Mon, 1 Nov 2021 09:54:06 +0000 To: gcc-patches@gcc.gnu.org Subject: [PATCH]middle-end Fix PR103007, add missing check on complex fms detection. Message-ID: Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) X-ClientProxiedBy: SN4PR0601CA0005.namprd06.prod.outlook.com (2603:10b6:803:2f::15) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 Received: from arm.com (217.140.106.55) by SN4PR0601CA0005.namprd06.prod.outlook.com (2603:10b6:803:2f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Mon, 1 Nov 2021 09:54:12 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7c1f88e5-106b-4539-8838-08d99d1d9755 X-MS-TrafficTypeDiagnostic: VI1PR08MB5359:|AM6PR08MB4867: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: cAAX7dH6ZCEvFAS1JL9qu9N6qPOKxsEiMMZ2M6h09MdJta0iJHfW6AxMYaHy8XHRkiS2jsPBzu/TXFknYyRYwXCuC19+4YxCFZymWpdWYwIlyCBd8PbqbnoW/tCkhynrlHtOjGOu8vywA7gMK3+qNbZHdrUvIIVyIA9znZR3eUrHt2D6bRMHaIIjok0Px52Q+zWr7EipXjj1uWokOSjWHrBP90B4/PAJHxJH2ZogoMUcwKt9sxFhqK6Jbhw3KBu3LI2wLfXDEkgm1lnmkry/obS5xL+0dj73/votKLatS9JNhuynsPOlJzeXAU1NJnFUaxLNWZZirY8nNbFQJ+RXyNOUXHcMt9GPGG0n8/SCOAgi9kBqC58gW5XvbeoiPLxVjgMYxGUg+OKnJQxG8mvJNjKjZDXz6tuVunSqp7Zp6Ke6ZXoOFG+L9bS4N3kJFFbQSiOqI1T1Z0ASAoia+YI/38VpwMUGBz/YKcDg2SwhmpOA89gbGGoQCfyQ8r89GlL4SB93JtRBQUEvcVJ5irb4TrCDv2v7H/RBG+nRvCiYObefdvIcqPKcc1uPAU4IKnYB47aTp6h6B6GEpz1rWEhKpfirTpPaAPiWjpV7PWWa4cML2wjPXdmpBoTYXZLjJAfsyp59LjQR1zcKhmbYkqhwaEO5aIMrm2LORDXzwdEj04cqkQTPAOqnxAtHIKfptYbv2dWDHNax11SK+O4EPIObDZMJN0qSZ5D2OMHVX1MWSRUip+32fwAlhc87Ofu9WDbBt8ih6fegfRCJkY5mPcMBxam+Fo7FJR9AGz8doRTvexqf8mapUOanTrylOKPfHya+ 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)(366004)(26005)(2906002)(508600001)(6666004)(44832011)(316002)(86362001)(235185007)(5660300002)(36756003)(6916009)(52116002)(8886007)(33964004)(38100700002)(38350700002)(66556008)(66946007)(2616005)(66476007)(956004)(8936002)(8676002)(186003)(83380400001)(44144004)(7696005)(55016002)(4326008)(4216001)(2700100001)(473944003)(414714003); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5359 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 182f2d70-c084-437a-f963-08d99d1d8f63 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U1O1hcZ+fh4sZYcGnSG8ku0964PEbczhIKpjlaZr+fWhOJJSaljUkWHe7ad718iHy7QTTtMi5dENyxq5Zm1mi6/XaXazRgzpLBACJ0783oxkeYPyaYag5erLing29ZVJ7d9uKpJcx2VclC80jZ2PKnVwJCvYjBKPN9wE4H+kp5LBGsDqSNW0bpKG+lVFVTsGXEi8aY3IbKVysD+HseRadJn8PkGAGdBRU1wT70pwOyjs4nsRN2RMLNOO1pDhrc+3e7qY9Slo/Ul9b9zGjyw4F9DDpBwHtnk7RUdkahE20uFpy5KC9yftxgRds4zFvpPOM67lRhZuLkbVmtj2smSPAsarCJJBAn835UBtKh97T0isIi7Frq2L975E7ATz5zohjHT5cvbfqCCncVvJrDS7algWlZCM/tUZceNCoTQzGXaDrV51m94gpgnJgyqYb5k+BqcCOFU71O7bkWVOSOCqTJxeeHLPVnDD1kVV6aM3LZOEqiCNpx1aOs4NnpRj0Cd0EqFW6vHTkbCvFqn9RiWM2nw5+KRO0sxzBee9NPQxTsjmydcz6cdWLmHjKgHZomgPCS7juZLqQBCFIRei+5WVL8gi4Kl2SkQCV5fJ+2P375lXLmxOciFKPYB5H1YlXm+8xS184qfAa5enrpU1QodqYK89/XiT6VUxsho02Bo1hBdgMwRCSlVNX0VbXtxXl2gjg0pEdtp4zhnAmOPbEhoMspT9iD9F4ZdiFjmx+87/vbUQ75pj/BcVDJpkaJE3iwwDL2F9IXaQIuTuoEWPvEmWLtZAnSUjbH+na2RKMftj5oGPd5RY5FFdkNbcX82tb+xE 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)(46966006)(36840700001)(356005)(8676002)(36860700001)(6666004)(956004)(83380400001)(6916009)(55016002)(7696005)(2906002)(2616005)(81166007)(44832011)(5660300002)(508600001)(86362001)(235185007)(8936002)(336012)(316002)(47076005)(4326008)(26005)(107886003)(70586007)(36756003)(82310400003)(8886007)(44144004)(70206006)(33964004)(186003)(4216001)(2700100001)(414714003)(473944003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2021 09:54:26.7113 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7c1f88e5-106b-4539-8838-08d99d1d9755 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: VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4867 X-Spam-Status: No, score=-13.5 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.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" Hi All, The complex FMS detection is missing a check on if the nodes of the VEC_PERM has the amount of children we expect before it recurses. This check is there on MUL and FMA but was missing for FMS, due to this the compiler goes on further than it should and hits an assert. Bootstrapped Regtested on aarch64-none-linux-gnu, x86_64-pc-linux-gnu and no issues. Ok for master? Thanks, Tamar gcc/ChangeLog: PR tree-optimizations/103007 * tree-vect-slp-patterns.c (complex_fms_pattern::matches): Add elem check. gcc/testsuite/ChangeLog: PR tree-optimizations/103007 * g++.dg/pr103007.C: New test. --- inline copy of patch -- diff --git a/gcc/testsuite/g++.dg/pr103007.C b/gcc/testsuite/g++.dg/pr103007.C new file mode 100644 index 0000000000000000000000000000000000000000..1631a85080039f29b83c97d2f62c66be9eac109f diff --git a/gcc/testsuite/g++.dg/pr103007.C b/gcc/testsuite/g++.dg/pr103007.C new file mode 100644 index 0000000000000000000000000000000000000000..1631a85080039f29b83c97d2f62c66be9eac109f --- /dev/null +++ b/gcc/testsuite/g++.dg/pr103007.C @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-O3" } */ + +typedef float MushMeshVector[4]; +struct MushMeshQuaternionPair { + void VectorRotate(MushMeshVector &); + MushMeshVector m_first; + MushMeshVector m_second; +}; +void +MushMeshQuaternionPair:: +VectorRotate(MushMeshVector &ioVec) { + ioVec[2] = (2 - m_first[1] + m_first[3] * 0); + ioVec[3] = (m_first[3] + m_first[1] - m_first[2] * 0); + float c = ioVec[2], d = ioVec[3]; + ioVec[2] = (0 - d * m_second[1]); + ioVec[3] = (2 - c * m_second[1]); +} + diff --git a/gcc/tree-vect-slp-patterns.c b/gcc/tree-vect-slp-patterns.c index 6b37e9bac6f3f86a51d1a532a4c570a37af76eac..5e64a9bc417ab6b855e8791fd482dba23287f467 100644 --- a/gcc/tree-vect-slp-patterns.c +++ b/gcc/tree-vect-slp-patterns.c @@ -1250,13 +1250,17 @@ complex_fms_pattern::matches (complex_operation_t op, auto childs = SLP_TREE_CHILDREN (nodes[0]); auto l0node = SLP_TREE_CHILDREN (childs[0]); - auto l1node = SLP_TREE_CHILDREN (childs[1]); /* Now operand2+4 may lead to another expression. */ auto_vec left_op, right_op; left_op.safe_splice (SLP_TREE_CHILDREN (l0node[1])); right_op.safe_splice (SLP_TREE_CHILDREN (nodes[1])); + /* If these nodes don't have any children then they're + not ones we're interested in. */ + if (left_op.length () != 2 || right_op.length () != 2) + return IFN_LAST; + bool is_neg = vect_normalize_conj_loc (left_op); bool conj_first_operand = false;