From patchwork Wed Jun 3 13:15:42 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christopher Bazley X-Patchwork-Id: 136390 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BA61C4BA23CD for ; Wed, 3 Jun 2026 13:22:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BA61C4BA23CD Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=YvJndhtB; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=YvJndhtB X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013037.outbound.protection.outlook.com [52.101.83.37]) by sourceware.org (Postfix) with ESMTPS id 40B3A4BA23DE for ; Wed, 3 Jun 2026 13:17:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 40B3A4BA23DE Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 40B3A4BA23DE Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=52.101.83.37 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1780492664; cv=pass; b=uKEWr2m+uyls9nsSHFGkdNosE72KS6lw0qy4sayTfM17K/Z6K7mBtxmiHbK/XnvO+rfL1NR6zOI50bWsGQzHP2/KqlXqLbBIepkx798YzREP3ZmkkWVQ7gBoA9zJi09Wm2KeVF0dcpLrJmfziV5nCTYF3wHpIBItQPugM9r3ABE= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1780492664; c=relaxed/simple; bh=mI5XoQC9Ij4q0GSt2M8YNeZByhbZGOWTADKbkhga+qA=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Q8yISgGa2fKtFqcZ2TU4Tb+YB/Wg0+tcicy1k6bZtBZ8gSoHLn0GWtM2ESo1ms72mYUPUplyF2ScNoyAbGYJMqE5inKUmUOEP7+/equtctm202Ay4Fk2OrOuxZ+PhsfxN4XoC6weQk5Nccs84bsqmCl0n0e0x5R4ShaxOQC2KkE= ARC-Authentication-Results: i=3; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=YvJndhtB; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=YvJndhtB DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 40B3A4BA23DE ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=xObKpkOXqbTwu/6IgFdXIAam/hPZTGL037Zbh08nHdAasHl8VKwVFUk6Kks/ldcCGSyGNimJDK64OAoNMKFIX3WGYw+Nm5eSOLWy+nSOVHTFVuKfMOGCKOOigrwmH8Ag+OgA8bE4yNyxeiibqJEjsBw6WjreZ0UTfMPnCnTaMvITvSl68MF/1ow4d0gdP8eO2dn/dXS37ldmZQySy0myHnRRu+LV1646SrIVOjjzpwyWa7kvhUOrNlOqCVeGgacx2zp3o6ttf8Hlv6o0C8yMte0ccOJI3MpcDS7ijh7TUixiF68b7uJ/vc7H4K3y+yVHvHV9swgGJDu6rjKYte5spQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=QQOHbu70dJoLb7VTM0kcQitv2yDJeD/6GqWuUz5jwJY=; b=H25O9oF0E6qsV8v7vcwDiI1SvCS62kMiFt8XGnrl9ehz/ww8xKuuLCoJTeIEEgZujo8hgqc7HKzDHZoTfAQxvb4GSuwQ/36J0ReexIcNUn/u9vN4Ba8b4eYUUja9bhhvhIWIGwQIk3P02J/+pQsAyVUZqtzDdk3yroi3U5nXVBUTJrcyvBdkq2Ln/7f75tiPboU5ic4EYfmHW1Cwsl1ZMBtm9R5PmHMwyTR81Sg6IpaUWnUITpjUiX9yF13RY9a1eljcdV2l3u08bl44ezOt2QJ5R6INVup21SoHnE0JKmt5gGxBZ6jb50pWueqyhUunHjRdktA75miiKX3vw/3oow== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QQOHbu70dJoLb7VTM0kcQitv2yDJeD/6GqWuUz5jwJY=; b=YvJndhtBwevKZVhEB/NciuxAFWMLY1qZlajW5oCfj4kSsA7gZkHy+mm884oZF2XTlyYfuXrHk3A+lEMmn2lA2SwcYyrz9uJ6ymkgFpQrwTb9UYoDpGRSWdzu406ntucS3JvRPafRACxIonGhHzttmHVOOt5dQRYHrLGzZxWJxNM= Received: from AS4P195CA0039.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:65a::15) by AS8PR08MB6296.eurprd08.prod.outlook.com (2603:10a6:20b:29d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026 13:17:40 +0000 Received: from AM3PEPF00009BA1.eurprd04.prod.outlook.com (2603:10a6:20b:65a:cafe::93) by AS4P195CA0039.outlook.office365.com (2603:10a6:20b:65a::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3 Jun 2026 13:17:40 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by AM3PEPF00009BA1.mail.protection.outlook.com (10.167.16.26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via Frontend Transport; Wed, 3 Jun 2026 13:17:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=p09EUErILYYsZqA0Byraf6ZAgmaFDmxrzkZJVrj/SUYpg6b5bRi2+Ui5bMmh67lx00I5oOOLWO1YZNwygV82/YvanMRTaueFJ8TTBCsIxxN8eRK0+87LBCoAidRAYHp/RDo0MMxjx30G04I1THF+3FRUmzcIQO/WTehB8aM+ZO9l2yhRVKE3tJW+FIdznqdFY/pa4BQZTsW9mlNd9k+by5xnlDuWVQolsqkyBC93ZshotKVdEjLB1CVdj4H91QYmODyYS5aGXaSn3Y6z97ded9QAEWamC28CL6KotKBlLOlDxgdFWmkF/X8Z+7kjvbnwxUWintxTOGqoYBm165r9rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=QQOHbu70dJoLb7VTM0kcQitv2yDJeD/6GqWuUz5jwJY=; b=Z/lksdkP8LLFBdleiECBNxJjBlNeDi3egCPQ79BU3tUVsYPvZoYCI7wiXJVS/02ERBN53LmsAq7r6JxugW/e+ZuY3tCDKxAKxF6nfV++YfKIsYIHwV7C5VOgHf6fEUB3EfP8/533N/Rm81Aw1nM2iH0mXioFrTz7g/W3tVVjm/jubEWtZXJkZZM1zYQsVPU4wtj+9+YTRSywvMLz66ll1UcIvGnIaLF5ta/MWX/TBjN2gZA/bTavc6HxJ5in7hJnhl5rQXQr8fVvUsaaL5PFz/pGhcnZwnP6x88l/1j6V4GiviziVd8JWkQfAgaLNK9DJXehmtD7fUaJLDCVy2A8NA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 172.205.89.229) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QQOHbu70dJoLb7VTM0kcQitv2yDJeD/6GqWuUz5jwJY=; b=YvJndhtBwevKZVhEB/NciuxAFWMLY1qZlajW5oCfj4kSsA7gZkHy+mm884oZF2XTlyYfuXrHk3A+lEMmn2lA2SwcYyrz9uJ6ymkgFpQrwTb9UYoDpGRSWdzu406ntucS3JvRPafRACxIonGhHzttmHVOOt5dQRYHrLGzZxWJxNM= Received: from AM9P195CA0010.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::15) by PAVPR08MB9212.eurprd08.prod.outlook.com (2603:10a6:102:307::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Wed, 3 Jun 2026 13:16:34 +0000 Received: from AM4PEPF00027A6B.eurprd04.prod.outlook.com (2603:10a6:20b:21f:cafe::18) by AM9P195CA0010.outlook.office365.com (2603:10a6:20b:21f::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.7 via Frontend Transport; Wed, 3 Jun 2026 13:16:34 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 172.205.89.229) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 172.205.89.229 as permitted sender) receiver=protection.outlook.com; client-ip=172.205.89.229; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (172.205.89.229) by AM4PEPF00027A6B.mail.protection.outlook.com (10.167.16.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.5 via Frontend Transport; Wed, 3 Jun 2026 13:16:33 +0000 Received: from AZ-NEU-EXJ02.Arm.com (10.240.25.139) by AZ-NEU-EX03.Arm.com (10.240.25.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Wed, 3 Jun 2026 13:16:08 +0000 Received: from AZ-NEU-EX04.Arm.com (10.240.25.138) by AZ-NEU-EXJ02.Arm.com (10.240.25.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Wed, 3 Jun 2026 13:16:07 +0000 Received: from ip-10-248-139-165.eu-west-1.compute.internal (10.248.139.165) by mail.arm.com (10.240.25.138) with Microsoft SMTP Server id 15.2.2562.29 via Frontend Transport; Wed, 3 Jun 2026 13:16:07 +0000 From: Christopher Bazley To: CC: , , , Christopher Bazley Subject: [PATCH v10 05/11] New parameter for vect_maybe_update_slp_op_vectype Date: Wed, 3 Jun 2026 13:15:42 +0000 Message-ID: <20260603131548.50668-6-chris.bazley@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260603131548.50668-1-chris.bazley@arm.com> References: <20260603131548.50668-1-chris.bazley@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00027A6B:EE_|PAVPR08MB9212:EE_|AM3PEPF00009BA1:EE_|AS8PR08MB6296:EE_ X-MS-Office365-Filtering-Correlation-Id: b543eaab-0fd6-4ed5-6d73-08dec1727d32 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|82310400026|36860700016|376014|1800799024|56012099006|11063799006|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info-Original: mrFtV2J0hc+TuQtIv+Q/3yaerGKiiml76L5ckIEyMKs5Y5VzOMt1/VyDX5XyLLkXCbqPZICKoxw97/bRvmhOz9A4RsWhWy9a9Ic2DOWreVz51idenUGLwIc8a/+9ylH5YrsOZ+HhZodJGoixeUCJ0LbRZFXX8hgEZSU4Lq9Hr50P45XE5un5c1t+82023Eyep3eAbPV/O/TW+E2pNrhnCIJQ6FhdkEDaWw8kjNFHHNebF48VbciCGzKaRGLyNxern7mcpRI2CkI22WaCUc5Y8RKIJy3ELkInTnyprSfcgrJG+EFP5PiTKGfnZguu4SJ8YE4xV5vUal49YjUjOY+syabcwisbN6adnLO4jsUz8GWwqenfN9puTFviAP5itYf4Sgltr3P4aPrfokewN1ICopctBSGb8ETPLG6t6RZEgawFLFGwZtAYaJwl7mwSw/Hb/OkBZKA30pZra6A/gBEBoIAQgFrQRlO8JAOjhX54rLfcaElFNyvKM8SH0suieeayATfqoyI0hbxDFpGyOOB2c94EIlrkEBKxjHWJbuTzG/eOECH8yBSlnFr+9gnDOI9lBYZIeHsTE6L/0Gnm6wbBG5TaT2qanacREPcapgDesoF4jIjg96gB5NWwYm22hdV4wC0KSrKVXLP60CJF0y6bvNUAHQFoT6KaUZe9QKwNyZMivQIELxnlY/pAEPRIf90wrxjWiVEKEkQyBeiuibrWGHSBxR5yyoD25s2ZGR51QOo= X-Forefront-Antispam-Report-Untrusted: CIP:172.205.89.229; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(36860700016)(376014)(1800799024)(56012099006)(11063799006)(6133799003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: E/Xtz3YO7WfzaHL9NiV34wmqmBZDbqtKh0a2xYTJzszyAJ4p6dY0QpgqSAum5ElUJwShcHO4Xl8OKtvS5NTSm+MOaX7TcnurR+3Yz4RGjG6ilJqsu1UrB0Xf2nZ8/bzp02UlO7bkYVYQNXaM9qAOzJ8KDFHQSVy2J3ARV2N6bJyD0wJKGhuqVj510JE0DsaIX/y5oGzvVJeNTbOBLI9LvnmzbA93dA3UMLKZj49NKJ6KYA3kBalyU887Ljyhqe+38ThVbYyhfhO4cCvVzPxQUduCkui/u1s0SwZt9vvOow1f5yjjUAwIyShp6cBDYKcPsM1SWoLYu9INhLmE8QTdvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9212 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF00009BA1.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 12c16fc0-9e83-46ae-db7c-08dec172559d X-Microsoft-Antispam: BCL:0; ARA:13230040|14060799003|35042699022|82310400026|1800799024|376014|36860700016|18002099003|22082099003|6133799003|56012099006|11063799006; X-Microsoft-Antispam-Message-Info: Dd23jUCAxUIHD+NjDZan5Y6pXNAjZ90iYDodo/NERS/fN0ZZiYvesXPBWGXAts48UkLJ2FN2rPLzbPi48P9R8sckaFaJCjBuw5ulvADG/DUEu3CEq0xJ7UV6fIZoeMYVpAQCv+PrT4UEb6FzUd19KJ0aU6p9/zNDiarRaAzB4Bp28ag+m0M/mS2zwTknjlEW6usd3kXaDjMLhrlp8aRjxg/UPadtURsfkVa5VUA2lpnDVqHLYmLPpKMHURngCnMae4+ITS4VWyWSi3dm+4f+KZjW1RC8t3SOsYEum5VXihkNaLX6+STX6Cp3KGwRKNCWj95SASuWK65L0s8NK9uU14/sPP12+aV2zEG+XXuIETvL2CVt6/c3gqivTJIWPhPw8rZypIqUAWjSLTIbYz/W5Bli1tHn4zcOjgu5KLoLm34iuN9clIJh7PObQ5Vo5ezxgHnz9HPgtlGOKi7DJXl/O/6wQ3ZLRssmOwDLTIT6P+UHMw/QRNHw5TQFWllp6jhIe8uXLLmc4mu0fCe0vg7K8rOio/STRI4pWre3xr2D3F64bFCaoRwvNGBBZGvTtp847RDa2sQFpaAJ+8CpiZmfSuMkLmRBzEvIx63S/1ekS3hk0SNi8gdiXB9dlvwVh7WSY0oNn+w/EduF9zwrrexAeEL6d1Luor1gJGIx0f0Zkv3Abk8uEEGiDuwjCNHFFY4SIZr1B6vyXeXxx5+dA0ebIaeqavv+fL0omzYPEHURDUw= X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(14060799003)(35042699022)(82310400026)(1800799024)(376014)(36860700016)(18002099003)(22082099003)(6133799003)(56012099006)(11063799006); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zwvT5DgP3BQRQiwJPtT7cvtUWR8OyeSDlaOP9nAatR2Wnl9q56tkxDOdKAUe8A9wV2CLHFoXBb1/RpjWNu6O+cCcEO6f9DgjppWttJlzefpfVlmRNnj/8g3xo/XspXC8yasP7OG94DvARKObBtAOn5QeOwEzel/P6ejkzhx+MnU039acTgCJRxZ8K6EE57R2Cwpksxadvtln6Qkd5FMkvD58qO+soZq9IuRH/IJSFDnnRHWmwLZ4YuSaubxGTh28NNpnl4mpn6c4BLDLEcCvznLWiDzynBzq35SNbn5l1/+gOUv7ul5IKSqkr3xBf5h8NCwuOIt7u7BECOsWO8mAoLfY3nq1Rr4YopHjU8NKUxhW8IAxuiQ4wV9dSGt3xylewmgqECu8pqQnfZubRw9v7MKm/bn6XBHoV5RWQXOmahjk3hXRSIgHhyrzryLKFXLL X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2026 13:17:40.3036 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b543eaab-0fd6-4ed5-6d73-08dec1727d32 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: AM3PEPF00009BA1.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6296 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP, URIBL_BLOCKED shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on 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 Update all callers to pass a pointer to the vectorizer state into this helper function. Its value is temporarily unused but will be required for BB SLP with predicated tails. gcc/ChangeLog: * tree-vect-loop.cc (vectorizable_lane_reducing): Pass loop_vinfo to vect_maybe_update_slp_op_vectype. (vectorizable_reduction): As above. (vectorizable_lc_phi): As above. (vectorizable_phi): Pass vinfo to vect_maybe_update_slp_op_vectype. (vectorizable_recurr): Pass loop_vinfo to vect_maybe_update_slp_op_vectype. (vectorizable_induction): As above. * tree-vect-slp.cc (vectorizable_slp_permutation_1): Pass vinfo to vect_maybe_update_slp_op_vectype. * tree-vect-stmts.cc (vectorizable_bswap): As above. (vectorizable_call): As above. (vectorizable_simd_clone_call): As above. (vectorizable_conversion): As above. (vectorizable_assignment): As above. (vectorizable_shift): As above. (vectorizable_operation): As above. (vectorizable_store): As above. (vectorizable_load): As above. (vectorizable_condition): As above. (vectorizable_comparison_1): As above. (vect_maybe_update_slp_op_vectype): Update definition to accept a parameter of type vec_info *. This is preparatory: the the argument is currently unused. * tree-vectorizer.h (vect_maybe_update_slp_op_vectype): Update declaration to accept a parameter of type vec_info *. --- gcc/tree-vect-loop.cc | 20 ++++++++------- gcc/tree-vect-slp.cc | 2 +- gcc/tree-vect-stmts.cc | 57 ++++++++++++++++++++++-------------------- gcc/tree-vectorizer.h | 2 +- 4 files changed, 43 insertions(+), 38 deletions(-) diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc index 51e7f05100d..6d602c67108 100644 --- a/gcc/tree-vect-loop.cc +++ b/gcc/tree-vect-loop.cc @@ -6843,7 +6843,7 @@ vectorizable_lane_reducing (loop_vec_info loop_vinfo, stmt_vec_info stmt_info, return false; } - if (!vect_maybe_update_slp_op_vectype (slp_op, vectype)) + if (!vect_maybe_update_slp_op_vectype (loop_vinfo, slp_op, vectype)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -6980,7 +6980,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo, unsigned j; slp_tree child; FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (slp_node), j, child) - if (!vect_maybe_update_slp_op_vectype (child, + if (!vect_maybe_update_slp_op_vectype (loop_vinfo, child, SLP_TREE_VECTYPE (slp_node))) { if (dump_enabled_p ()) @@ -7113,7 +7113,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo, vectype_op = get_vectype_for_scalar_type (loop_vinfo, type_op); if (!vectype_op - || !vect_maybe_update_slp_op_vectype (op_node, + || !vect_maybe_update_slp_op_vectype (loop_vinfo, op_node, vectype_op)) return false; } @@ -7814,7 +7814,8 @@ vectorizable_reduction (loop_vec_info loop_vinfo, if (single_defuse_cycle || reduction_type == FOLD_LEFT_REDUCTION) for (i = 0; i < (int) op.num_ops; i++) - if (!vect_maybe_update_slp_op_vectype (slp_op[i], vectype_op[i])) + if (!vect_maybe_update_slp_op_vectype (loop_vinfo, slp_op[i], + vectype_op[i])) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -8512,7 +8513,8 @@ vectorizable_lc_phi (loop_vec_info loop_vinfo, /* Deal with copies from externs or constants that disguise as loop-closed PHI nodes (PR97886). */ - if (!vect_maybe_update_slp_op_vectype (SLP_TREE_CHILDREN (slp_node)[0], + if (!vect_maybe_update_slp_op_vectype (loop_vinfo, + SLP_TREE_CHILDREN (slp_node)[0], SLP_TREE_VECTYPE (slp_node))) { if (dump_enabled_p ()) @@ -8588,7 +8590,7 @@ vectorizable_phi (bb_vec_info vinfo, "PHI node with unvectorized backedge def\n"); return false; } - else if (!vect_maybe_update_slp_op_vectype (child, vectype)) + else if (!vect_maybe_update_slp_op_vectype (vinfo, child, vectype)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -8777,7 +8779,7 @@ vectorizable_recurr (loop_vec_info loop_vinfo, stmt_vec_info stmt_info, unsigned j; slp_tree child; FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (slp_node), j, child) - if (!vect_maybe_update_slp_op_vectype (child, vectype)) + if (!vect_maybe_update_slp_op_vectype (loop_vinfo, child, vectype)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -9660,8 +9662,8 @@ vectorizable_induction (loop_vec_info loop_vinfo, unsigned j; slp_tree child; FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (slp_node), j, child) - if (!vect_maybe_update_slp_op_vectype - (child, SLP_TREE_VECTYPE (slp_node))) + if (!vect_maybe_update_slp_op_vectype (loop_vinfo, child, + SLP_TREE_VECTYPE (slp_node))) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc index f91d3e723ec..1850af4e753 100644 --- a/gcc/tree-vect-slp.cc +++ b/gcc/tree-vect-slp.cc @@ -11458,7 +11458,7 @@ vectorizable_slp_permutation_1 (vec_info *vinfo, gimple_stmt_iterator *gsi, FOR_EACH_VEC_ELT (children, i, child) { if ((SLP_TREE_DEF_TYPE (child) != vect_internal_def - && !vect_maybe_update_slp_op_vectype (child, op_vectype)) + && !vect_maybe_update_slp_op_vectype (vinfo, child, op_vectype)) || !types_compatible_p (SLP_TREE_VECTYPE (child), op_vectype) || !types_compatible_p (TREE_TYPE (vectype), TREE_TYPE (op_vectype))) { diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index 1cfa2177add..cd3ba6fa1cb 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -3469,7 +3469,7 @@ vectorizable_bswap (vec_info *vinfo, if (cost_vec) { - if (!vect_maybe_update_slp_op_vectype (slp_op[0], vectype_in)) + if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op[0], vectype_in)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -3831,7 +3831,7 @@ vectorizable_call (vec_info *vinfo, if (cost_vec) /* transformation not required. */ { for (i = 0; i < nargs; ++i) - if (!vect_maybe_update_slp_op_vectype (slp_op[i], + if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op[i], vectypes[i] ? vectypes[i] : vectype_in)) { @@ -4550,7 +4550,8 @@ vectorizable_simd_clone_call (vec_info *vinfo, stmt_vec_info stmt_info, if (cost_vec) /* transformation not required. */ { for (unsigned i = 0; i < nargs; ++i) - if (!vect_maybe_update_slp_op_vectype (slp_op[i], arginfo[i].vectype)) + if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op[i], + arginfo[i].vectype)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -5817,8 +5818,8 @@ vectorizable_conversion (vec_info *vinfo, if (cost_vec) /* transformation not required. */ { - if (!vect_maybe_update_slp_op_vectype (slp_op0, vectype_in) - || !vect_maybe_update_slp_op_vectype (slp_op1, vectype_in)) + if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op0, vectype_in) + || !vect_maybe_update_slp_op_vectype (vinfo, slp_op1, vectype_in)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -6171,7 +6172,7 @@ vectorizable_assignment (vec_info *vinfo, if (cost_vec) /* transformation not required. */ { - if (!vect_maybe_update_slp_op_vectype (slp_op, vectype_in)) + if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op, vectype_in)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -6500,13 +6501,13 @@ vectorizable_shift (vec_info *vinfo, if (cost_vec) /* transformation not required. */ { - if (!vect_maybe_update_slp_op_vectype (slp_op0, vectype) + if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op0, vectype) || ((!scalar_shift_arg || dt[1] == vect_internal_def) - && (!incompatible_op1_vectype_p - || dt[1] == vect_constant_def) - && !vect_maybe_update_slp_op_vectype - (slp_op1, - incompatible_op1_vectype_p ? vectype : op1_vectype))) + && (!incompatible_op1_vectype_p || dt[1] == vect_constant_def) + && !vect_maybe_update_slp_op_vectype (vinfo, slp_op1, + incompatible_op1_vectype_p + ? vectype + : op1_vectype))) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -6932,9 +6933,9 @@ vectorizable_operation (vec_info *vinfo, } /* Put types on constant and invariant SLP children. */ - if (!vect_maybe_update_slp_op_vectype (slp_op0, vectype) - || !vect_maybe_update_slp_op_vectype (slp_op1, vectype) - || !vect_maybe_update_slp_op_vectype (slp_op2, vectype)) + if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op0, vectype) + || !vect_maybe_update_slp_op_vectype (vinfo, slp_op1, vectype) + || !vect_maybe_update_slp_op_vectype (vinfo, slp_op2, vectype)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -8408,9 +8409,9 @@ vectorizable_store (vec_info *vinfo, vls_type, group_size, &ls, mask_node); - if (!vect_maybe_update_slp_op_vectype (op_node, vectype) + if (!vect_maybe_update_slp_op_vectype (vinfo, op_node, vectype) || (mask_node - && !vect_maybe_update_slp_op_vectype (mask_node, + && !vect_maybe_update_slp_op_vectype (vinfo, mask_node, mask_vectype))) { if (dump_enabled_p ()) @@ -8847,7 +8848,7 @@ vectorizable_store (vec_info *vinfo, above only handles the mask and the first store operand node. */ for (slp_tree child : SLP_TREE_CHILDREN (slp_node)) if (child != mask_node - && !vect_maybe_update_slp_op_vectype (child, vectype)) + && !vect_maybe_update_slp_op_vectype (vinfo, child, vectype)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -10044,7 +10045,7 @@ vectorizable_load (vec_info *vinfo, } if (mask_node - && !vect_maybe_update_slp_op_vectype (mask_node, + && !vect_maybe_update_slp_op_vectype (vinfo, mask_node, mask_vectype)) { if (dump_enabled_p ()) @@ -12392,13 +12393,14 @@ vectorizable_condition (vec_info *vinfo, || !expand_vec_cond_expr_p (vectype, vec_cmp_type)))) return false; - if (!vect_maybe_update_slp_op_vectype (SLP_TREE_CHILDREN (slp_node)[0], + if (!vect_maybe_update_slp_op_vectype (vinfo, + SLP_TREE_CHILDREN (slp_node)[0], comp_vectype) || (op_adjust == 1 - && !vect_maybe_update_slp_op_vectype - (SLP_TREE_CHILDREN (slp_node)[1], comp_vectype)) - || !vect_maybe_update_slp_op_vectype (then_slp_node, vectype) - || !vect_maybe_update_slp_op_vectype (else_slp_node, vectype)) + && !vect_maybe_update_slp_op_vectype ( + vinfo, SLP_TREE_CHILDREN (slp_node)[1], comp_vectype)) + || !vect_maybe_update_slp_op_vectype (vinfo, then_slp_node, vectype) + || !vect_maybe_update_slp_op_vectype (vinfo, else_slp_node, vectype)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -12841,8 +12843,8 @@ vectorizable_comparison_1 (vec_info *vinfo, tree vectype, } /* Put types on constant and invariant SLP children. */ - if (!vect_maybe_update_slp_op_vectype (slp_rhs1, vectype) - || !vect_maybe_update_slp_op_vectype (slp_rhs2, vectype)) + if (!vect_maybe_update_slp_op_vectype (vinfo, slp_rhs1, vectype) + || !vect_maybe_update_slp_op_vectype (vinfo, slp_rhs2, vectype)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, @@ -14090,7 +14092,7 @@ vect_is_simple_use (vec_info *vinfo, slp_tree slp_node, for example when conflicting vector types are present. */ bool -vect_maybe_update_slp_op_vectype (slp_tree op, tree vectype) +vect_maybe_update_slp_op_vectype (vec_info *vinfo, slp_tree op, tree vectype) { if (!op || SLP_TREE_DEF_TYPE (op) == vect_internal_def) return true; @@ -14104,6 +14106,7 @@ vect_maybe_update_slp_op_vectype (slp_tree op, tree vectype) && SLP_TREE_DEF_TYPE (op) == vect_external_def && SLP_TREE_LANES (op) > 1) return false; + (void) vinfo; /* FORNOW */ SLP_TREE_VECTYPE (op) = vectype; return true; } diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index f79f04ff8ac..62f6ad320f0 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -2534,7 +2534,7 @@ extern bool vect_is_simple_use (vec_info *, slp_tree, unsigned, tree *, slp_tree *, enum vect_def_type *, tree *, stmt_vec_info * = NULL); -extern bool vect_maybe_update_slp_op_vectype (slp_tree, tree); +extern bool vect_maybe_update_slp_op_vectype (vec_info *, slp_tree, tree); extern tree perm_mask_for_reverse (tree); extern bool supportable_widening_operation (code_helper, tree, tree, bool, code_helper*, code_helper*,