{"id":2175754,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2175754/?format=json","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.0/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20251218211109.3562-6-chris.bazley@arm.com>","date":"2025-12-18T21:11:03","name":"[v7,05/10] New parameter for vect_maybe_update_slp_op_vectype","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"a9ab5e7f6b5dfe7d07252940e9483e82aceb3fbc","submitter":{"id":89471,"url":"http://patchwork.ozlabs.org/api/1.0/people/89471/?format=json","name":"Christopher Bazley","email":"Chris.Bazley@arm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/20251218211109.3562-6-chris.bazley@arm.com/mbox/","series":[{"id":485915,"url":"http://patchwork.ozlabs.org/api/1.0/series/485915/?format=json","date":"2025-12-18T21:10:58","name":"Extend BB SLP vectorization to use predicated tails","version":7,"mbox":"http://patchwork.ozlabs.org/series/485915/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2175754/checks/","tags":{},"headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=selector1 header.b=c4eRmaQv;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=c4eRmaQv;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=selector1 header.b=c4eRmaQv;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=c4eRmaQv","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=arm.com","sourceware.org; spf=pass smtp.mailfrom=arm.com","server2.sourceware.org;\n arc=pass smtp.remote-ip=52.101.83.26"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4dXNhj2SF4z1y2r\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 19 Dec 2025 08:14:29 +1100 (AEDT)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 5AE6F4BA23CA\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 18 Dec 2025 21:14:27 +0000 (GMT)","from GVXPR05CU001.outbound.protection.outlook.com\n (mail-swedencentralazon11013026.outbound.protection.outlook.com\n [52.101.83.26])\n by sourceware.org (Postfix) with ESMTPS id EE5FD4BA2E25\n for <gcc-patches@gcc.gnu.org>; Thu, 18 Dec 2025 21:12:45 +0000 (GMT)","from DB3PR08CA0015.eurprd08.prod.outlook.com (2603:10a6:8::28) by\n DB9PR08MB9561.eurprd08.prod.outlook.com (2603:10a6:10:452::21) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9434.6; Thu, 18 Dec 2025 21:12:40 +0000","from DB1PEPF000509E7.eurprd03.prod.outlook.com\n (2603:10a6:8:0:cafe::97) by DB3PR08CA0015.outlook.office365.com\n (2603:10a6:8::28) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9434.7 via Frontend Transport; Thu,\n 18 Dec 2025 21:12:40 +0000","from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by\n DB1PEPF000509E7.mail.protection.outlook.com (10.167.242.57) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9434.6\n via Frontend Transport; Thu, 18 Dec 2025 21:12:40 +0000","from DB8PR06CA0042.eurprd06.prod.outlook.com (2603:10a6:10:120::16)\n by AS8PR08MB9575.eurprd08.prod.outlook.com (2603:10a6:20b:619::15)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.6; Thu, 18 Dec\n 2025 21:11:36 +0000","from DB1PEPF0003922E.eurprd03.prod.outlook.com\n (2603:10a6:10:120:cafe::f0) by DB8PR06CA0042.outlook.office365.com\n (2603:10a6:10:120::16) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9434.7 via Frontend Transport; Thu,\n 18 Dec 2025 21:11:34 +0000","from nebula.arm.com (172.205.89.229) by\n DB1PEPF0003922E.mail.protection.outlook.com (10.167.8.101) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9412.4 via Frontend Transport; Thu, 18 Dec 2025 21:11:35 +0000","from AZ-NEU-EX04.Arm.com (10.240.25.138) by AZ-NEU-EX03.Arm.com\n (10.240.25.137) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 18 Dec\n 2025 21:11:34 +0000","from ip-10-248-139-165.eu-west-1.compute.internal (10.248.139.165)\n by mail.arm.com (10.240.25.138) with Microsoft SMTP Server id 15.2.2562.29\n via Frontend Transport; Thu, 18 Dec 2025 21:11:34 +0000"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 5AE6F4BA23CA","OpenDKIM Filter v2.11.0 sourceware.org EE5FD4BA2E25"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org EE5FD4BA2E25","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org EE5FD4BA2E25","ARC-Seal":["i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1766092366; cv=pass;\n b=D3kZpIkU4+C1+nlm+7qPbc4rbmBIxQkpSA4EloZbSsnW0iXBVCC+0NFUVgq1g3N1nctijKrXDXNaApvQjCji5LTcdUvaSr/NDyTOCTw3q7osgethlULl5AAkkzLDHsHdp+e4T8XTPmdF511p5o4NPStoKVkU48jX/FjNIFcpvgI=","i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;\n b=QlQMAljk2fVZIan8IaNnuVyx4bzk1d6ABK3Cm+fwT4s7iO5ynInEBRYfvARpws2nT+IvJjTi3H0sspnwO8JzUqRBGbpdDe3YUkftp7vJLFCK/fQUGBgS4+552hsrSZjV4BFuaBKC4DuvXQGlASfjTxgAOtOO1nHVZQ29abIBk4tMkI7yGUWJUN8HbIriR7w99jtnICF4QeLf/k8NiJ3v++l1V9TCbtvtSID0WprXhMx/SU5AQJYK6CcEhIbz4hZUanspkLwVM8qcCydr+E8WQ0HuoczEPqAvCRtxkIXcSgCSRJ9uw/z1Nt5/amiFi38riUIsSfuQdCRZDPFCPI+6aA==","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=ro33VtsLXOAYKwZJrE/c/q+uJwsoxnzF6cSWY3v+YCNjq8XRIcNsGa0nanl9vqjMnLCPpRjDTr/sRu8oLL6A/odfaC25mOdZAMOMLgvkxUmV0tdnVi289AL3HGUOnIMP8N9h5ojqcJUl3onOzVb75ijUifzFP4764qyAXxiGBb66S1ilLMcth8BDh51nLk60Yyjc/HlHyl4/KVnx/5rTJ7GvtA/YVQZH+bTpxdT2PkIBizxPh6bkumAAoVjqWPEswn8xgxL/8Yy4LTjqcVdtvpsIZCjoYOujEbft7EE2M6I7OvrHgpjHmuF3gPFZyVF8T3hVNPoo1gM/dOkh/eHpoQ=="],"ARC-Message-Signature":["i=3; a=rsa-sha256; d=sourceware.org; s=key;\n t=1766092366; c=relaxed/simple;\n bh=ts0yZ46xhHTqdnBu986ltsbemLvVBonTCs1zDK3uWqc=;\n h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:\n MIME-Version;\n b=hJxK+EMosjafXw/SboMCMdN0w/NR1hb81xlsOHA4SLrBk1S0JPrNSl+egA4XJqbpu9st3reuaxmTjOtjaicmRlaN/eDysK5YFodkaOxW+0E4U+o92legbqOnAMOJtnoOjDhHF/jdocNL1klIBGjf6HsmdELTc1U3v+XR6QKJV8w=","i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=UHIooRwckYCw4X0dQj/zjivg18pw6IN+6N75NwxBPh0=;\n b=oMrJpmMU4ufdMzqfaqZXbx/MhPHWevURfaBVdK1KPxvkcBAQwtFoA0EkS3bnsO3ZzNmW0o1Hr4kBgWIkT80ylKYG1ZD6SRO1Kb6HYQLUVnmIYf8v9xh9nclPIZ2l8lntbGqZzz941h7Lhg0LEpCM007v8p/Ad9W0Ux+icEOki71t7uL+4ZA8nvXi65p38zRMUNjo5fKg5XI7II1BOFdr8nngxfBq+Pt/Y4bdOw2oN0iQRYxQllaNtS4yAsUmqVZh0DRXzb2yPX82okcv0s/Ee07NMDt+GChDXokfNVC9lFzF9Os1HG5QELxiHq0EcG6AZMo9D4FAR997Gtnbm/4dIw==","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=UHIooRwckYCw4X0dQj/zjivg18pw6IN+6N75NwxBPh0=;\n b=gsO7eLH3lZjFi9cEwflFOOWE/LVvdK5S9SK6KP4QmDONQ9pV9MpOKQ9GrRoxDLKFq4T8tubrj/30pX/1RKxmHca9t9yM1CmIRjYR/mThmLZsTZqU5+voBC9q6UWY9AUb1I9+/+VAkuthrmMGkD8U5aFhRkfDqaHOSwxd5HAUcprl3o0lQK19WwDCfdsKqHg5gHRB5xiNnhnbdG6kmSRDjuXy8jTjZsyWb8gy2hhkSdoLNgDABOwxoCI9LMuBe+rddNbtTdnJ1sreVD1sUfCgZHr1QMjmzZ+2xCqR1CK7qREdik5HJifJTJb7CyEFlFEhqSSkQfgVeyDxwdEjXJRfKA=="],"ARC-Authentication-Results":["i=3; server2.sourceware.org","i=2; mx.microsoft.com 1; spf=pass (sender ip is\n 4.158.2.129) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass\n (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass\n (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1\n spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com])","i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 172.205.89.229) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com;\n dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;\n dkim=none (message not signed); arc=none (0)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=UHIooRwckYCw4X0dQj/zjivg18pw6IN+6N75NwxBPh0=;\n b=c4eRmaQvQmRYpaYzCEwBsrkfrmEYmvAXKpxvBvlAU/HXHMkBULKZI+giYIxtWN105hYHULy8FEACvsz1aGU9pIk7TPtNo2ciFJqJDdPhmcBsTUtnxahm8/zQppLUPtW1MQ1jJU7gnLhl4KbDZNI4rfs0m2IAE0awnzYOpTMJhNc=","v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=UHIooRwckYCw4X0dQj/zjivg18pw6IN+6N75NwxBPh0=;\n b=c4eRmaQvQmRYpaYzCEwBsrkfrmEYmvAXKpxvBvlAU/HXHMkBULKZI+giYIxtWN105hYHULy8FEACvsz1aGU9pIk7TPtNo2ciFJqJDdPhmcBsTUtnxahm8/zQppLUPtW1MQ1jJU7gnLhl4KbDZNI4rfs0m2IAE0awnzYOpTMJhNc="],"X-MS-Exchange-Authentication-Results":["spf=pass (sender IP is 4.158.2.129)\n smtp.mailfrom=arm.com; dkim=pass (signature was verified)\n header.d=arm.com;dmarc=pass action=none header.from=arm.com;","spf=pass (sender IP is 172.205.89.229)\n smtp.mailfrom=arm.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=arm.com;"],"Received-SPF":["Pass (protection.outlook.com: domain of arm.com designates\n 4.158.2.129 as permitted sender) receiver=protection.outlook.com;\n client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C","Pass (protection.outlook.com: domain of arm.com designates\n 172.205.89.229 as permitted sender) receiver=protection.outlook.com;\n client-ip=172.205.89.229; helo=nebula.arm.com; pr=C"],"From":"Christopher Bazley <chris.bazley@arm.com>","To":"<gcc-patches@gcc.gnu.org>","Subject":"[PATCH v7 05/10] New parameter for vect_maybe_update_slp_op_vectype","Date":"Thu, 18 Dec 2025 21:11:03 +0000","Message-ID":"<20251218211109.3562-6-chris.bazley@arm.com>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<20251218211109.3562-1-chris.bazley@arm.com>","References":"<20251218211109.3562-1-chris.bazley@arm.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-EOPAttributedMessage":"1","X-MS-TrafficTypeDiagnostic":"\n DB1PEPF0003922E:EE_|AS8PR08MB9575:EE_|DB1PEPF000509E7:EE_|DB9PR08MB9561:EE_","X-MS-Office365-Filtering-Correlation-Id":"9dd62907-ecc3-4c39-3367-08de3e7a2d66","x-checkrecipientrouted":"true","NoDisclaimer":"true","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam-Untrusted":"BCL:0;\n ARA:13230040|82310400026|376014|36860700013|1800799024;","X-Microsoft-Antispam-Message-Info-Original":"\n t7hjOPaZgTw2cgEzm2kLocHuAFmRaiLg7yfnGZlZQ3CSSXrdr7aj6vSh0EBrViwrLmCVlc9UYOxmlwnAcs9tCctRu0kVgD9+XYsoBU6YTNPRYiiuB+rUVdBFh0Zb7N5RFljd+xEh05Q87ebfQVpKAcEVhYOYO/3XBwPSfUBIylNXlBb0N0jYXcrDqTyZ5JklSREdy3MKDafSz/nLsYEZYxIQ+DonXqKHcs9jDvsW1x2HObDFrLWlFfdSg1pEC6rh4mgbT56uecH85eQMoLiiuqJe6MtyNELuLo6ob+0zzq/jFchJJCbQJo7AXnehg35ZWNvZT5jkhniIU6X2p3jmmCFYbfRfhbKq8QI4No+GedDvGDhWiArfiOnpaXWw/mkVwUCj5C3leJxEMle/DlnY5gtXTII6x26RaG69AfQJVAaYSUDP3ABp7WbP/bEaAtp6ojbTZ2p0rg3Kqytm0pyszO9GPo2FOdJRAqS1m4q9+BglTGaZMcOEsl7CXtGxUL71Jbyv0Tx85Imb/z6iWKgytlp2zy/XHXQRkJK2qM5fhNysrqcxwM63xEn2lW7R50Bm9JhDaem9ToCNW+B0FPR1ngCGWbOYsdIY0Vjh5aFzCueciIbPIicsG8suBKVJKPyGREzRMAfzNSL8mpHomW3RtvTlkrYwIh/3btUhRex5a0MygqP2B0D94qpgK6Plp9V7t/T3F6goO0TUot2GrzAaAyNM7I22/9oNpzNi+wsyFBZmIPv2+H60a0HNDklESoVffZfQM6THvydSBbIzWurmlwt4OHKWRHoCu+phGiEn8MV3hPA/Ten2XZtGtu7EbwPhHbb4Kl+ncYmr+dQ5htPgGlUPJjIP7cCFRp7bVZoXZF3YNaFwbVCpACsQhqlOFmeOgEGl1QRr2MvxCZT3rd+21g1po/PjmWC1DEEjs7KWUELN26D3A1+C+4uRleki1fwX32F8tMfcFU9Jqp+ktIfBO0F6YIAWCgMy5kOCKJiOUwyYoddgEu4GHzSTh9JXMSEPRwxWvOyjhV6Wmt4rWe7rdjyxChsG6dT2/aefv3cRXNvY//3+RX3DmvlmtqSSeEER+3mWmDlbq+tgvm0O50Rii8L+LaNB8tC6g6yXNvZFjVofBJixaQ0WjifgPxmgwmB/puCTmjfvo+dAfoXtEH5R3uKxD8b5IN6zHNhNXpdiLLoOsU45EDL2PvFL7W+bQLxRCc+Pp08H0tpk7iG50QP5NeMk7R744e8ltyCTeX0DGVt+u58XpCDsP+gPff8hZhTB2beqdyiSFyRRAlHY1E2tUgSVcPFS3Kl1YqZWsnL/zDGaI7LYo/tkOx61udEJXIQA1dfOEF4vkCSrhN8WFuzg2KYsKOpz6VQ76vj7w/zt/QEYQ8v8LZnTHdV+3vi5727JZbcm8UgpQPrjb9SD3ljpxnqQxGgf6EzFyKGWSU9b3IBpFRJda2mN28kc3vuZyBaUgsG/8OsQji9nBbu5IjmsMDJ+/i77VyiR3x7E4Y1xUydD9mVwDEKKOrY2SPdWnpbDDiNePKa73WHdJaAEyalIB8kMBYk4MiezWNRSCngfbzo=","X-Forefront-Antispam-Report-Untrusted":"CIP:172.205.89.229; CTRY:IE; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent;\n CAT:NONE; SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);\n DIR:OUT; SFP:1101;","X-MS-Exchange-Transport-CrossTenantHeadersStamped":["AS8PR08MB9575","DB9PR08MB9561"],"X-MS-Exchange-Transport-CrossTenantHeadersStripped":"\n DB1PEPF000509E7.eurprd03.prod.outlook.com","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id-Prvs":"\n 5e02762b-ba7c-4ee5-a5e1-08de3e7a0717","X-Microsoft-Antispam":"BCL:0;\n ARA:13230040|36860700013|1800799024|35042699022|82310400026|376014|14060799003;","X-Microsoft-Antispam-Message-Info":"\n CRghho3e3WO/BEE2l+Cbk9yQwF5ZVm69R98hT2WltjdaaOaG0/Q1chEWFa8xF5saWR6ygZr0VAviyGdzSHanxKkhAsBSsHzp2VOBr30zcqUZhDiU+AcImPy9KMX4hT5TabK5SGlHgNmroIFvTFiJbtY58BzDFWpS+vqcIZzEKbFYSbqWguC4R+qO1TkzEK4M2HfKCFLpzNgEs+C+tyI0H00Ya9cAkFNnqMxqfmsOG1lHFOKkq3nMTPXnDtq5e5bXIYR+7pfySLtwP6X2QKTPJK5yztkV5joqKg6PDof9t4lasMMCVyF2N+SCz2oQjo5UBRZXvtRAZ32r23t1wo4UlRjZKezWrBGCuusrorMpgT2LYtGYLqi4ihRyJd+G/lVysdIWq9/FXcrPbFhhY4R/zTRfgmK+p3d45JYALZ8+1kTklJdwdY7eupoqNgiawOkJXOlCPUeGpCiWFZZBW8jEGaNc3JTXGVXLlwpSR9+CwFoSc50iXCjsWkxg5b6z3/PHH62uKDNxbTFZbOvJaqgJZoIQjWIB1RqOQlcmoo2KelItAGu64YHs4nF6ttwFtESQmXrpWlN5QJoSOua0T9+K7v6MQVprcGCqEOLzr3J0yXDPd51DjgIMEPiGXzhABmXY6Qx0bndibJRwWKFuixVurkwdanty2dDVCgF8QIjNwf7uWflvODi5rddWThmyQdZF4Dvu+ARHtyob4gokgVl11XatnHYKVM9cIMm1xrQYbu63m+TkCRjk5ZXVm10Gy8aksPV7FypqvCDt5viZGZzJOJFeyXub0K44UMZ978XSnorKIwqQNoJLeje+0PXXn5KAeEnWxH4Ff2u6W0tkX0JdKD7Quv/iSWMDtyBuAjYAL2fQSQ0emsl38gRT0kwbQfb69T12QayZ5wqB8TFnLGX+5IJTYBSBmsaG4WwoQ0Nu5FHMyEjFMQbTxeAj/SnEs8yChHQC1CKdMd5vG9kGVZNPAWsskNosdKszDjBdzdfTOuReWfzkCHuYVKgwa3e3UaLaVhwPl4ns3bYJwVHnQ7fVtB/oaV+yMqcP3mLnjwsAHzfy3YxesGmFuf3/qxBzvbsXLTxw+StllmYmes9ZYZ6XI8jAerjftfPzA2W/u1pjrsUvIV85vbI9qxZqa1uCnnJSX2bKZdBC18AwWbcmRZEC1ahFN3XsB7DyymfTtDlrhRxOC32l30h8xNxwE835VkKCAFRj8XawxjsUOe6N/7GwQPczE65Mw+ApquwwHErNIwUdABcXp98CDvFRIplCNBhh07MY7Ouimt372exFq2zTyTPK0b0neNWkFXa+zI48cXvYSne2ZDRdq6qDuz+fvY0AB2fXOGVfDyztrydYCjXYSQrnwOonf7r3e79H9/OuGs/1Eb9MAeD8jmVUQWnGIz3MpocyqAfvfHnkF1rKlVQFanvbvQQFygAEVvUkixGAlPOT6r9mhIvpNiX2jvDRKNyQWVZbTul/AcU6wEWyDCVynbzfDQ7zGi3UPK3aa92QFSX9WP9zKFrvJKuHZ6lCN7d1si9177rQOCaYc5noDari7fnoMX0Fwxzr5xhlUmuNFJM=","X-Forefront-Antispam-Report":"CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com;\n PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230040)(36860700013)(1800799024)(35042699022)(82310400026)(376014)(14060799003);\n DIR:OUT; SFP:1101;","X-OriginatorOrg":"arm.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"18 Dec 2025 21:12:40.1306 (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 9dd62907-ecc3-4c39-3367-08de3e7a2d66","X-MS-Exchange-CrossTenant-Id":"f34e5979-57d9-4aaa-ad4d-b122a662184d","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129];\n Helo=[outbound-uk1.az.dlp.m.darktrace.com]","X-MS-Exchange-CrossTenant-AuthSource":"\n DB1PEPF000509E7.eurprd03.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"},"content":"Update all callers to pass a pointer to the vectorizer state\ninto this helper function. Its value is temporarily unused\nbut will be required for BB SLP with predicated tails.\n\ngcc/ChangeLog:\n\n\t* tree-vect-loop.cc (vectorizable_lane_reducing): Pass\n\tloop_vinfo to vect_maybe_update_slp_op_vectype.\n\t(vectorizable_reduction): As above.\n\t(vectorizable_lc_phi): As above.\n\t(vectorizable_phi): Pass vinfo to\n\tvect_maybe_update_slp_op_vectype.\n\t(vectorizable_recurr): Pass loop_vinfo to\n\tvect_maybe_update_slp_op_vectype.\n\t(vectorizable_induction): As above.\n\t* tree-vect-slp.cc (vectorizable_slp_permutation_1): Pass vinfo\n\tto vect_maybe_update_slp_op_vectype.\n\t* tree-vect-stmts.cc (vectorizable_bswap): As above.\n\t(vectorizable_call): As above.\n\t(vectorizable_simd_clone_call): As above.\n\t(vectorizable_conversion): As above.\n\t(vectorizable_assignment): As above.\n\t(vectorizable_shift): As above.\n\t(vectorizable_operation): As above.\n\t(vectorizable_store): As above.\n\t(vectorizable_load): As above.\n\t(vectorizable_condition): As above.\n\t(vectorizable_comparison_1): As above.\n\t(vect_maybe_update_slp_op_vectype): Update definition to accept\n\ta parameter of type vec_info *.\n\t* tree-vectorizer.h (vect_maybe_update_slp_op_vectype): Update\n\tdeclaration to accept a parameter of type vec_info *.\n\n---\n gcc/tree-vect-loop.cc  | 20 ++++++++-------\n gcc/tree-vect-slp.cc   |  2 +-\n gcc/tree-vect-stmts.cc | 57 ++++++++++++++++++++++--------------------\n gcc/tree-vectorizer.h  |  2 +-\n 4 files changed, 43 insertions(+), 38 deletions(-)","diff":"diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc\nindex 00b21ecfc95..3b48b53182b 100644\n--- a/gcc/tree-vect-loop.cc\n+++ b/gcc/tree-vect-loop.cc\n@@ -6833,7 +6833,7 @@ vectorizable_lane_reducing (loop_vec_info loop_vinfo, stmt_vec_info stmt_info,\n \t    return false;\n \t}\n \n-      if (!vect_maybe_update_slp_op_vectype (slp_op, vectype))\n+      if (!vect_maybe_update_slp_op_vectype (loop_vinfo, slp_op, vectype))\n \t{\n \t  if (dump_enabled_p ())\n \t    dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -6970,7 +6970,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,\n       unsigned j;\n       slp_tree child;\n       FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (slp_node), j, child)\n-\tif (!vect_maybe_update_slp_op_vectype (child,\n+\tif (!vect_maybe_update_slp_op_vectype (loop_vinfo, child,\n \t\t\t\t\t       SLP_TREE_VECTYPE (slp_node)))\n \t  {\n \t    if (dump_enabled_p ())\n@@ -7088,7 +7088,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,\n \t\t  vectype_op = get_vectype_for_scalar_type (loop_vinfo,\n \t\t\t\t\t\t\t    type_op);\n \t\t  if (!vectype_op\n-\t\t      || !vect_maybe_update_slp_op_vectype (op_node,\n+\t\t      || !vect_maybe_update_slp_op_vectype (loop_vinfo, op_node,\n \t\t\t\t\t\t\t    vectype_op))\n \t\t    return false;\n \t\t}\n@@ -7777,7 +7777,8 @@ vectorizable_reduction (loop_vec_info loop_vinfo,\n \n   if (single_defuse_cycle || reduction_type == FOLD_LEFT_REDUCTION)\n     for (i = 0; i < (int) op.num_ops; i++)\n-      if (!vect_maybe_update_slp_op_vectype (slp_op[i], vectype_op[i]))\n+      if (!vect_maybe_update_slp_op_vectype (loop_vinfo, slp_op[i],\n+\t\t\t\t\t     vectype_op[i]))\n \t{\n \t  if (dump_enabled_p ())\n \t    dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -8482,7 +8483,8 @@ vectorizable_lc_phi (loop_vec_info loop_vinfo,\n \n   /* Deal with copies from externs or constants that disguise as\n      loop-closed PHI nodes (PR97886).  */\n-  if (!vect_maybe_update_slp_op_vectype (SLP_TREE_CHILDREN (slp_node)[0],\n+  if (!vect_maybe_update_slp_op_vectype (loop_vinfo,\n+\t\t\t\t\t SLP_TREE_CHILDREN (slp_node)[0],\n \t\t\t\t\t SLP_TREE_VECTYPE (slp_node)))\n     {\n       if (dump_enabled_p ())\n@@ -8558,7 +8560,7 @@ vectorizable_phi (bb_vec_info vinfo,\n \t\t\t       \"PHI node with unvectorized backedge def\\n\");\n \t    return false;\n \t  }\n-\telse if (!vect_maybe_update_slp_op_vectype (child, vectype))\n+\telse if (!vect_maybe_update_slp_op_vectype (vinfo, child, vectype))\n \t  {\n \t    if (dump_enabled_p ())\n \t      dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -8747,7 +8749,7 @@ vectorizable_recurr (loop_vec_info loop_vinfo, stmt_vec_info stmt_info,\n       unsigned j;\n       slp_tree child;\n       FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (slp_node), j, child)\n-\tif (!vect_maybe_update_slp_op_vectype (child, vectype))\n+\tif (!vect_maybe_update_slp_op_vectype (loop_vinfo, child, vectype))\n \t  {\n \t    if (dump_enabled_p ())\n \t      dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -9624,8 +9626,8 @@ vectorizable_induction (loop_vec_info loop_vinfo,\n       unsigned j;\n       slp_tree child;\n       FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (slp_node), j, child)\n-\tif (!vect_maybe_update_slp_op_vectype\n-\t    (child, SLP_TREE_VECTYPE (slp_node)))\n+\tif (!vect_maybe_update_slp_op_vectype (loop_vinfo, child,\n+\t\t\t\t\t       SLP_TREE_VECTYPE (slp_node)))\n \t  {\n \t    if (dump_enabled_p ())\n \t      dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\ndiff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc\nindex dae6b9cdaaf..103871e8780 100644\n--- a/gcc/tree-vect-slp.cc\n+++ b/gcc/tree-vect-slp.cc\n@@ -11514,7 +11514,7 @@ vectorizable_slp_permutation_1 (vec_info *vinfo, gimple_stmt_iterator *gsi,\n   FOR_EACH_VEC_ELT (children, i, child)\n     {\n       if ((SLP_TREE_DEF_TYPE (child) != vect_internal_def\n-\t   && !vect_maybe_update_slp_op_vectype (child, op_vectype))\n+\t   && !vect_maybe_update_slp_op_vectype (vinfo, child, op_vectype))\n \t  || !types_compatible_p (SLP_TREE_VECTYPE (child), op_vectype)\n \t  || !types_compatible_p (TREE_TYPE (vectype), TREE_TYPE (op_vectype)))\n \t{\ndiff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc\nindex dbca9ea3af2..7ed37aeb398 100644\n--- a/gcc/tree-vect-stmts.cc\n+++ b/gcc/tree-vect-stmts.cc\n@@ -3458,7 +3458,7 @@ vectorizable_bswap (vec_info *vinfo,\n \n   if (cost_vec)\n     {\n-      if (!vect_maybe_update_slp_op_vectype (slp_op[0], vectype_in))\n+      if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op[0], vectype_in))\n \t{\n \t  if (dump_enabled_p ())\n \t    dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -3793,7 +3793,7 @@ vectorizable_call (vec_info *vinfo,\n   if (cost_vec) /* transformation not required.  */\n     {\n       for (i = 0; i < nargs; ++i)\n-\tif (!vect_maybe_update_slp_op_vectype (slp_op[i],\n+\tif (!vect_maybe_update_slp_op_vectype (vinfo, slp_op[i],\n \t\t\t\t\t       vectypes[i]\n \t\t\t\t\t       ? vectypes[i] : vectype_in))\n \t  {\n@@ -4494,7 +4494,8 @@ vectorizable_simd_clone_call (vec_info *vinfo, stmt_vec_info stmt_info,\n   if (cost_vec) /* transformation not required.  */\n     {\n       for (unsigned i = 0; i < nargs; ++i)\n-\tif (!vect_maybe_update_slp_op_vectype (slp_op[i], arginfo[i].vectype))\n+\tif (!vect_maybe_update_slp_op_vectype (vinfo, slp_op[i],\n+\t\t\t\t\t       arginfo[i].vectype))\n \t  {\n \t    if (dump_enabled_p ())\n \t      dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -5750,8 +5751,8 @@ vectorizable_conversion (vec_info *vinfo,\n \n   if (cost_vec)\t\t/* transformation not required.  */\n     {\n-      if (!vect_maybe_update_slp_op_vectype (slp_op0, vectype_in)\n-\t  || !vect_maybe_update_slp_op_vectype (slp_op1, vectype_in))\n+      if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op0, vectype_in)\n+\t  || !vect_maybe_update_slp_op_vectype (vinfo, slp_op1, vectype_in))\n \t{\n \t  if (dump_enabled_p ())\n \t    dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -6104,7 +6105,7 @@ vectorizable_assignment (vec_info *vinfo,\n \n   if (cost_vec) /* transformation not required.  */\n     {\n-      if (!vect_maybe_update_slp_op_vectype (slp_op, vectype_in))\n+      if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op, vectype_in))\n \t{\n \t  if (dump_enabled_p ())\n \t    dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -6432,13 +6433,13 @@ vectorizable_shift (vec_info *vinfo,\n \n   if (cost_vec) /* transformation not required.  */\n     {\n-      if (!vect_maybe_update_slp_op_vectype (slp_op0, vectype)\n+      if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op0, vectype)\n \t  || ((!scalar_shift_arg || dt[1] == vect_internal_def)\n-\t      && (!incompatible_op1_vectype_p\n-\t\t  || dt[1] == vect_constant_def)\n-\t      && !vect_maybe_update_slp_op_vectype\n-\t\t\t (slp_op1,\n-\t\t\t  incompatible_op1_vectype_p ? vectype : op1_vectype)))\n+\t      && (!incompatible_op1_vectype_p || dt[1] == vect_constant_def)\n+\t      && !vect_maybe_update_slp_op_vectype (vinfo, slp_op1,\n+\t\t\t\t\t\t    incompatible_op1_vectype_p\n+\t\t\t\t\t\t      ? vectype\n+\t\t\t\t\t\t      : op1_vectype)))\n \t{\n \t  if (dump_enabled_p ())\n \t    dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -6863,9 +6864,9 @@ vectorizable_operation (vec_info *vinfo,\n \t}\n \n       /* Put types on constant and invariant SLP children.  */\n-      if (!vect_maybe_update_slp_op_vectype (slp_op0, vectype)\n-\t  || !vect_maybe_update_slp_op_vectype (slp_op1, vectype)\n-\t  || !vect_maybe_update_slp_op_vectype (slp_op2, vectype))\n+      if (!vect_maybe_update_slp_op_vectype (vinfo, slp_op0, vectype)\n+\t  || !vect_maybe_update_slp_op_vectype (vinfo, slp_op1, vectype)\n+\t  || !vect_maybe_update_slp_op_vectype (vinfo, slp_op2, vectype))\n \t{\n \t  if (dump_enabled_p ())\n \t    dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -8340,9 +8341,9 @@ vectorizable_store (vec_info *vinfo,\n \t\t\t\t\t      vls_type, group_size, &ls,\n \t\t\t\t\t      mask_node);\n \n-      if (!vect_maybe_update_slp_op_vectype (op_node, vectype)\n+      if (!vect_maybe_update_slp_op_vectype (vinfo, op_node, vectype)\n \t  || (mask_node\n-\t      && !vect_maybe_update_slp_op_vectype (mask_node,\n+\t      && !vect_maybe_update_slp_op_vectype (vinfo, mask_node,\n \t\t\t\t\t\t    mask_vectype)))\n \t{\n \t  if (dump_enabled_p ())\n@@ -8769,7 +8770,7 @@ vectorizable_store (vec_info *vinfo,\n \t   above only handles the mask and the first store operand node.  */\n \tfor (slp_tree child : SLP_TREE_CHILDREN (slp_node))\n \t  if (child != mask_node\n-\t      && !vect_maybe_update_slp_op_vectype (child, vectype))\n+\t      && !vect_maybe_update_slp_op_vectype (vinfo, child, vectype))\n \t    {\n \t      if (dump_enabled_p ())\n \t\tdump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -9934,7 +9935,7 @@ vectorizable_load (vec_info *vinfo,\n   if (costing_p) /* transformation not required.  */\n     {\n       if (mask_node\n-\t  && !vect_maybe_update_slp_op_vectype (mask_node,\n+\t  && !vect_maybe_update_slp_op_vectype (vinfo, mask_node,\n \t\t\t\t\t\tmask_vectype))\n \t{\n \t  if (dump_enabled_p ())\n@@ -12278,13 +12279,14 @@ vectorizable_condition (vec_info *vinfo,\n \t\t       || !expand_vec_cond_expr_p (vectype, vec_cmp_type))))\n \treturn false;\n \n-      if (!vect_maybe_update_slp_op_vectype (SLP_TREE_CHILDREN (slp_node)[0],\n+      if (!vect_maybe_update_slp_op_vectype (vinfo,\n+\t\t\t\t\t     SLP_TREE_CHILDREN (slp_node)[0],\n \t\t\t\t\t     comp_vectype)\n \t  || (op_adjust == 1\n-\t      && !vect_maybe_update_slp_op_vectype\n-\t\t\t      (SLP_TREE_CHILDREN (slp_node)[1], comp_vectype))\n-\t  || !vect_maybe_update_slp_op_vectype (then_slp_node, vectype)\n-\t  || !vect_maybe_update_slp_op_vectype (else_slp_node, vectype))\n+\t      && !vect_maybe_update_slp_op_vectype (\n+\t\tvinfo, SLP_TREE_CHILDREN (slp_node)[1], comp_vectype))\n+\t  || !vect_maybe_update_slp_op_vectype (vinfo, then_slp_node, vectype)\n+\t  || !vect_maybe_update_slp_op_vectype (vinfo, else_slp_node, vectype))\n \t{\n \t  if (dump_enabled_p ())\n \t    dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -12725,8 +12727,8 @@ vectorizable_comparison_1 (vec_info *vinfo, tree vectype,\n \t}\n \n       /* Put types on constant and invariant SLP children.  */\n-      if (!vect_maybe_update_slp_op_vectype (slp_rhs1, vectype)\n-\t  || !vect_maybe_update_slp_op_vectype (slp_rhs2, vectype))\n+      if (!vect_maybe_update_slp_op_vectype (vinfo, slp_rhs1, vectype)\n+\t  || !vect_maybe_update_slp_op_vectype (vinfo, slp_rhs2, vectype))\n \t{\n \t  if (dump_enabled_p ())\n \t    dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n@@ -13906,7 +13908,7 @@ vect_is_simple_use (vec_info *vinfo, slp_tree slp_node,\n    for example when conflicting vector types are present.  */\n \n bool\n-vect_maybe_update_slp_op_vectype (slp_tree op, tree vectype)\n+vect_maybe_update_slp_op_vectype (vec_info *vinfo, slp_tree op, tree vectype)\n {\n   if (!op || SLP_TREE_DEF_TYPE (op) == vect_internal_def)\n     return true;\n@@ -13920,6 +13922,7 @@ vect_maybe_update_slp_op_vectype (slp_tree op, tree vectype)\n       && SLP_TREE_DEF_TYPE (op) == vect_external_def\n       && SLP_TREE_LANES (op) > 1)\n     return false;\n+  (void) vinfo; /* FORNOW */\n   SLP_TREE_VECTYPE (op) = vectype;\n   return true;\n }\ndiff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h\nindex a4337035417..26d9afe69ba 100644\n--- a/gcc/tree-vectorizer.h\n+++ b/gcc/tree-vectorizer.h\n@@ -2507,7 +2507,7 @@ extern bool vect_is_simple_use (vec_info *, slp_tree,\n \t\t\t\tunsigned, tree *, slp_tree *,\n \t\t\t\tenum vect_def_type *,\n \t\t\t\ttree *, stmt_vec_info * = NULL);\n-extern bool vect_maybe_update_slp_op_vectype (slp_tree, tree);\n+extern bool vect_maybe_update_slp_op_vectype (vec_info *, slp_tree, tree);\n extern tree perm_mask_for_reverse (tree);\n extern bool supportable_widening_operation (code_helper, tree, tree, bool,\n \t\t\t\t\t    code_helper*, code_helper*,\n","prefixes":["v7","05/10"]}