Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2195020/?format=api
{ "id": 2195020, "url": "http://patchwork.ozlabs.org/api/patches/2195020/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260210113104.60335-4-chris.bazley@arm.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/projects/17/?format=api", "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, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260210113104.60335-4-chris.bazley@arm.com>", "list_archive_url": null, "date": "2026-02-10T11:30:56", "name": "[v9,03/11] Update constant creation for BB SLP with predicated tails", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "848f69abb2b99f1674377fcba0860ef191365c04", "submitter": { "id": 89471, "url": "http://patchwork.ozlabs.org/api/people/89471/?format=api", "name": "Christopher Bazley", "email": "Chris.Bazley@arm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260210113104.60335-4-chris.bazley@arm.com/mbox/", "series": [ { "id": 491659, "url": "http://patchwork.ozlabs.org/api/series/491659/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=491659", "date": "2026-02-10T11:30:56", "name": "Extend BB SLP vectorization to use predicated tails", "version": 9, "mbox": "http://patchwork.ozlabs.org/series/491659/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2195020/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2195020/checks/", "tags": {}, "related": [], "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=TLy16ZZ1;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=TLy16ZZ1;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::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=TLy16ZZ1;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=TLy16ZZ1", "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.66.54" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::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 4f9KGX3X0tz1xvb\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 10 Feb 2026 22:34:27 +1100 (AEDT)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 2BB054CF305A\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 10 Feb 2026 11:34:25 +0000 (GMT)", "from DUZPR83CU001.outbound.protection.outlook.com\n (mail-northeuropeazon11012054.outbound.protection.outlook.com [52.101.66.54])\n by sourceware.org (Postfix) with ESMTPS id 1019F4CF3064\n for <gcc-patches@gcc.gnu.org>; Tue, 10 Feb 2026 11:33:01 +0000 (GMT)", "from AS4P189CA0035.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5dd::14)\n by FRWPR08MB11614.eurprd08.prod.outlook.com (2603:10a6:d10:1b0::16)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.16; Tue, 10 Feb\n 2026 11:32:57 +0000", "from AM4PEPF00027A67.eurprd04.prod.outlook.com\n (2603:10a6:20b:5dd:cafe::5e) by AS4P189CA0035.outlook.office365.com\n (2603:10a6:20b:5dd::14) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.19 via Frontend Transport; Tue,\n 10 Feb 2026 11:32:57 +0000", "from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by\n AM4PEPF00027A67.mail.protection.outlook.com (10.167.16.84) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9611.8\n via Frontend Transport; Tue, 10 Feb 2026 11:32:56 +0000", "from DU7PR01CA0016.eurprd01.prod.exchangelabs.com\n (2603:10a6:10:50f::11) by DU0PR08MB8688.eurprd08.prod.outlook.com\n (2603:10a6:10:400::13) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8; Tue, 10 Feb\n 2026 11:31:52 +0000", "from DB1PEPF000509F3.eurprd02.prod.outlook.com\n (2603:10a6:10:50f:cafe::c6) by DU7PR01CA0016.outlook.office365.com\n (2603:10a6:10:50f::11) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue,\n 10 Feb 2026 11:31:51 +0000", "from nebula.arm.com (172.205.89.229) by\n DB1PEPF000509F3.mail.protection.outlook.com (10.167.242.149) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 11:31:51 +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; Tue, 10 Feb\n 2026 11:31:51 +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; Tue, 10 Feb 2026 11:31:51 +0000" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 2BB054CF305A", "OpenDKIM Filter v2.11.0 sourceware.org 1019F4CF3064" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 1019F4CF3064", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 1019F4CF3064", "ARC-Seal": [ "i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1770723181; cv=pass;\n b=Bu7Iu1SY0QQxx7hGPjj5ajC4xRYBq1uBYhf7sE1z2/srNlAADZ8CcHdKJPlp0i1ad8s3W8lOS6wWHPez9lLT6eSoPnFbV80NCYBPjgnAX7drK/j6Gj3253HxroPBIzEcvw28vjJEmkE2AlO/j5VULW1aiR1s8yTrIdk8HwmwSCs=", "i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;\n b=wsk07lO6IWNHUN1YMu8C2/Zrt2ico7/t86KQIq+l5wRa2tesDapVVqqOcgZgISImsrrqWmPVINpF+GnOUy5A197Uc6cgt1REmmQQrV3oZSpuodytWYPX8U5fes8hnmhAv9tyfIrCpkizg9pkMntrbPir+snfX4mYdMuXedzjnr7NKIR5Af4BHXJCq2jNFpzxFE5/aDKwNU1AU7xlcq/EpYAVa2lHY/wK7xkI9Y1335eeCkIWDZ1+/OO3bqWyUSfWXUkMMHdGYhdYTQ80SBQdDmMDre1hQ9YD6mzGhZzo+2HhMTGKtKuzcq+jJvFv0PguChipQUkN3jhtY+lQkVlIXw==", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=Dudu4Cx4DF+xE+/P8yyWCpBPrX9mdw7L6HyzUUy/l6co1pPM3Ut2TEO/qP6TSEkfXE4SnhniAj349P+3S8SAGYci1py/9rXfaHGAv6ZwWQ3y163wGV6eH2Wkm9h4EoMTecVYDkA0IY14gO/EvqRr5hPl3wSX1pF7yAdBYpJxIN3MmlJhbi52y46QQISr3USD9rner1U/5iu4hjQ88TZCGEjgziBd0n9ZF2EZa4vV8nLNDzU/0Xbdwwr9LmCJvV/6hnMBYY+OX2Y6gIwfeX+TCyx6Cfch1A0yNfwAoF/3819f5hV5ZJEymrzzelExDwhYKiHe5ae5z1kKLj6upQs/Sw==" ], "ARC-Message-Signature": [ "i=3; a=rsa-sha256; d=sourceware.org; s=key;\n t=1770723181; c=relaxed/simple;\n bh=hLO1bGLu2/SfnkSA1EQhH3vKbdouvIZhI3WDOUU6dK0=;\n h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:\n MIME-Version;\n b=WQ+IkxavlX8cb9fVzx3Qy+fTzPyN4Kc2lWA2uRqORUD2s7wWRBTuYRvkujY1iTDCht+H9i/aenJ+lmA3G1QrIp8zkBp56bnNFtGJE9fq75NVwcYi9xrjVLtBbT3fns1JqyYz8rB6btMGC7UXWjlMuiNyyYRVNUYLtmoOmU1HmBM=", "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=Gux/7nj2lAxVNXc8KK09T/doKyA4lyTtWQfrTwyyNIE=;\n b=X7SAQblC/ZpAx3+d8g3YMNk27swD+jN3YcNFz+cIDCUSOc/o285UPJEidhsB71UVFgei/KUoz3zK5WtfI9GnKn7y51P0rB3pfinLb9h+SePzP4Op/U0ILdsc/0pHoYr4F1S1H4Ox/hbWN/i1c9bvW9L8MHq2BGNmSWlVvB8aZ27WSEx4JVvwBkQ6j5wz6WCe0m5QPW3COgnhdYYv2d77O50tE6EtrVoxc6G+WcikJgaxV+46mN+gkrW1/6iKW14VVSpHwkKYobrevD0NFhdxwRyycbhTJANL0gjCSxKm/I7/f36aweMyQ5F3S8hqeik1SDVFyxzWcrWT7sKxsmYmhg==", "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=Gux/7nj2lAxVNXc8KK09T/doKyA4lyTtWQfrTwyyNIE=;\n b=XaOGwvdB2EJVK5TgtP7oX+0+79Pecckf1pJAn38BnXSFV/bw/wRWbtP+817PKIjGRJZR1i8JKqSP6fiosNaDsaVCRVS9Z/8UXETZ/eP9H91TdovEJqZ78bE0Oc0b0ImJ2/wVh4L8QjqbolpVOTbJ2PSLq5d2oOPOwWDd36ojvyVemmW2BdbKqMZebkgKy1haYSt31AyMNzk7ukQtn38BcUlJwb1Sev/3uJRw5mCtA1pPt5MHzBpFOkAc+D+rk1CP1TGd1OtfFczQxofstCYyrpIrB4akKoKUFcCfBI5F2ZHOEk8Uc6w/bYIaDcvgtpFFbjlRGYbNS0iPMTA1FYQySg==" ], "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=Gux/7nj2lAxVNXc8KK09T/doKyA4lyTtWQfrTwyyNIE=;\n b=TLy16ZZ1RxxPcBl8mEV0TDayHxTuJQ2S20piEncxXUIIDXYFxCeu6JD6qw96pF6Bxp5r4yiL+88H1jhZk6pvwlxAmgIRLODmcGjXlY7dvAKqGVa8CEd7U6GT5Y7+JzPDXfttRToT1awTDgVxsFnFEeH8uIo8ReERJiw3qI2Dih0=", "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=Gux/7nj2lAxVNXc8KK09T/doKyA4lyTtWQfrTwyyNIE=;\n b=TLy16ZZ1RxxPcBl8mEV0TDayHxTuJQ2S20piEncxXUIIDXYFxCeu6JD6qw96pF6Bxp5r4yiL+88H1jhZk6pvwlxAmgIRLODmcGjXlY7dvAKqGVa8CEd7U6GT5Y7+JzPDXfttRToT1awTDgVxsFnFEeH8uIo8ReERJiw3qI2Dih0=" ], "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>", "CC": "<rguenther@suse.de>, <Tamar.Christina@arm.com>,\n <rdsandiford@googlemail.com>, Christopher Bazley <chris.bazley@arm.com>", "Subject": "[PATCH v9 03/11] Update constant creation for BB SLP with predicated\n tails", "Date": "Tue, 10 Feb 2026 11:30:56 +0000", "Message-ID": "<20260210113104.60335-4-chris.bazley@arm.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260210113104.60335-1-chris.bazley@arm.com>", "References": "<20260210113104.60335-1-chris.bazley@arm.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-EOPAttributedMessage": "1", "X-MS-TrafficTypeDiagnostic": "\n DB1PEPF000509F3:EE_|DU0PR08MB8688:EE_|AM4PEPF00027A67:EE_|FRWPR08MB11614:EE_", "X-MS-Office365-Filtering-Correlation-Id": "c7926432-b6f2-4d34-14ba-08de68982329", "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|376014|36860700013|82310400026|1800799024;", "X-Microsoft-Antispam-Message-Info-Original": "\n l62jx2veJKywuatzSZPlwgutzkjf49YCxUcp8yPWEkf5+T7CgQRH+QJoO6kLYwyX1VTpYjaFzDydlG95jOQxaVcjoHZpNDgby/sNZJs7gQgEefqv/ffqlM1ByyuLQ4SGWYtylxbXFOINj5UshS6gfx8UfCwf9lKntsIVoB2k4sbNs7UgHj+ImXvtamR+Pn+kY8iCaz+LsGazjAEkdJBQtnCXb+wBGnavYh151c6aXzYdc4e/wvGhxbWixylzDNW1d0BkRla4eCeuNJVOIk+Dp6IZeiHRDVHvwYKRVuXZ1TBg7tJpvr1NMw1kVd4VN8/JDjXzY8nq1baZxOms/h+uKQNxFOiUk4vAYi7WMJyfjN11fJZRJaykHy0VzWT4Hg2/WK/mKs786tnlUAAb9iNSxErE48u0W/i4ThXNJAXtQOJSjkXJZ/xfrfE5aCXtcFqO4f/eoul3SFkLAE5mis0N+5Uz1SZXj3ySQW6iDpLsILKrZNvJyRTo/LNDGtDM7APyHvyPBG2TYIRQB8VLyem9Sh17xgzIh4uWNcIDR/hzAI+VJ01tDutFEYKw8XFaptegcGTHQVQxbKLE3Y09sB5Hqehp5dCOgkPZ8RoB1IXGJCFW0a6NjBRrlwrv8rQNmv2rpTJXhZvuQbADzBupu8hMcvgpWcdi34NRHCsUUltRAFgfs8E+uh6pkkrtsK1sLQIaOtoAkEmDHEqxHV7kWUSnMQyISjG+dFycVM53VLOZ0Xa/XR2h50fSC50KWwEl+wscb5huYQ6yqGlr9wjKHhn1RGG/tfweF5Wj1+Dt4Aws6hD18J37KfORBLkcgtMgqWJkHk9Myct8irgNGKUzXI1d813sR6qeSMvjlEqE9u4ExT12GYFS1AHePDW7XOTeYmjPKXifi9blK4aIAVXuT0F2IEM9lEZuGkbAKxITzOiG3K8+JYCAmHCEA2W8Uqxmkceh2kRhw8BKKc8oBU5pcT9U+NEsR4YF5ngjcEqatNkNaO2qpsyTVw4WQlQX4FptjLkW4x6b63xn7uN7HxoSpCG1VdmgkIVjItvYcz3GY/T4R/iAfe/qQdeen/z9jGfnQn/pnW3L+lYF1L+gZKFY0FhRuVmsg8FHyDtNYJbYcPrqFvnv7gaQeV0S34WtzHewcu3PnXjvPp2uzlHqn9g1UJPSjtK6x4uG1rC5EYGATbOButufSf1AOL+zMUzgbQk9/nOepBVAAYziNOzj0sz5P7F02sAzU/LEfbyvP93b2+8GCoe+YN9dC9atAYHkr0LyDZxMTwfK2BJkHasxMAzyLmyznTOSDxHc/PCOTM9mrQTumtDzlMulAqt2Ldx6i93Mp9jy++66nY4U0M573j9fIXZaXnnY3QiDO0F3E5GJQt/Gx0X8v5VoqEwfYEx2QneyXAWZXbjZhQiayHIaeCZXsFvi/u0rRyvhdb1he7Iu5CyBuWNm0W9Mq0qdwrjhMciy3LY50TGZcPwVim31s3CoILEW7Rm/wSPdDiYVAuJSOqGettZBxoF3csW2VuUaHwhdMCGWu3ti6Kn6lQxiqtaXTM/rH2KAnlDLj06e0GXjMgzq3kk4FJsKfMAmXra9BO8mKQKQTbUVcEDDdt3gP9wnWI4y3QlrKMZ1H87Q629pn0MGnJSg1kyCExGYOZ2HhDDcXtFn6cZYrfM35JMCNiTDPqzJZw==", "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)(376014)(36860700013)(82310400026)(1800799024);\n DIR:OUT; SFP:1101;", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [ "DU0PR08MB8688", "FRWPR08MB11614" ], "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n AM4PEPF00027A67.eurprd04.prod.outlook.com", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n e20e25df-43e4-412c-97ae-08de6897fc8d", "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|82310400026|376014|36860700013|1800799024|14060799003|35042699022;", "X-Microsoft-Antispam-Message-Info": "\n kRIoEjFgSWlwOisAPnvC8Pxf12NPRO5UBG+bylhfqStjriPH7yrxqCkkt+cXcf4Gf08fqsUB2XJPRiYn72VxmMCL1Y7nCAxmVs4RvDpmdOgC1Z3qJlUejjHX73+SPu0VuPHBb+4sx2OF9emoev0nnbPbLbg7rTbJV8l//8KVmrSiWF1NoZZFT83dMBH6R0VhrfEArlguYHOX1L530uni62caSscCmi0p/LZHC72/NMb8i5tASM1OhkgNhcDuu6OUdUt0XJdvQfKfZ0BsObX2jwUrGluGwVaWXXiLkx2zJ7TLWTMRvh+s8B9L8qU7aiOaWKHJH0rXCljMJMZ+r2oWa7d5VM+0pf5ftygfZgGwUiPBzbq2P0u2H0xvwGUh90RmBTOzxtr/rZraXApijaDbNs4v2e1871MjDpV07QRVJkfpYV7mCWJqjjXOIMEUkg7quHh7mockkf+1xtGhcoN837p35bccYAmOFe3Qp+JZZnNnlX2upt7b/d0fU4JkRT61pLTCIAgwv8pxyl0GYMyCqzg+2TOQxCho5UGiTuwXStRQCRoE/sgzx2J2lHLqcGnUV+hTvgg9cBgk8n42Ecc/ElxLgLxyD1n7LGrlRJKvdoEq4SzQ9mfR3H9ALQtOXgkkbPgfgZaEKOZbgQyhv44r2eZxR11+Wg1Kr0qY0qwFfsonPVxvVs6ZOpBCqAMMLGouVu+/cbxYcGkPcVU09KyoUGyJzH2BiK9p92KcwHzUAEQgSv8xNDqyV0ywciOPqIzDjmBI/GUAewZ9L8iHizRbLMxTZPu/oL7lOE6tFghnEDaO/OKEgy4PKp4Bym8gMW69YR5edkbcyna9dC7XxN5QrZXSdiPAsStzrKBxLQelhiSGWGTAXNVzq/pPot9Tka3RYy7C8jrf1s5je9abXvtuAh/aEhD2Go2CKf0JtXOhr9b9Gta40Dpg8TXAoQ2bb//GEmKBOSNd1xkqgJ7hmqcGvhD4Hs9lweNJzFmkUEG8MWTThccuYc2vZzJ8rK6XjSwWEJxQXO0RmVAPO1b/vwRpfd4BV5HIZLZxgOj8pISlK97mXAHf7TxwGZ25ukA2o5WFwYIfhHrtAsOpZpc3QaY+prumg+Pw3wBvMpHLTuh591zLEKB1HiJpDpp632fVG+dySMPp3g1GTcQ4a1SNjRC0+oTq5GgEGMTDlLF6HWgzCPwuGXkirhNgtn157Nv8/VONF7nyJJIrOsh0ByT+8EkNmeRcP/DZOXkNTOlCufnLtLOMctu/ngbFTl2SqUQtdBbWvXQU7iJ7ZK9eOr5TE2zEgk1uSR8sIxlD+59btAFV1Ug4vwP9aC8KCIHRHDr5HShjsyCGx8ZJ9gYpLPnOX2/GiGWIJktPKh6mpHu/YNho6kWvR05SFcZgyl4h52y7O6mRQsfGYKZllmiw4culHot1eGq8nx49hiu77P0CTlh84eqb1T+BWBkw6tWIx45ZD6ktg3eWGDpd4ftQDPD7/fed5SvmiFh/TXR+YcDnmSo9bwnfioJa4Oc0zunwsruDtNqAaiNwT9lvUrwimLovvYv10QWaJB74wBR5t22Pm+mXWjz9hc63917CNHzPRgl+jxClTSgxzbFRqxb3lxAiauY+iTIqd5JSRO5K6XNTPYfJFneIlsIkmPz230zwQ3XQDbxk+4DXxfVxqtQEhDxjKBex8w==", "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)(82310400026)(376014)(36860700013)(1800799024)(14060799003)(35042699022);\n DIR:OUT; SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n Hx6DIsTGYdaSz6DFz67C89DHSNa8gw/yR+R/gzYxOlf/0CX+kzki8FVFbXd0AOUevhdly3//NbgORKsknFRc68M3Q/d5vIddVw0bKRV+b9AM4ki5dTV5EATyEuIb81BbPZlCnOvpcVhUQxULl64waD06wCi7wK7J6Mcav/RMd7QNo/LpA14r/esk4WkQvIBznCRSYTDd/EzeDwdErjr9RWbTc2x1COn58wE4gPidU3ySE2IZzI5NYKzpKRRYCgtVw5sHG0qW7HjLkdkAdHA55IWAMXBJ+mCEYRrjTR/vWMMFgYGycKI+TM7ke4Y3iITTvTPUzZ9D6DLkVwZHbbtlSaRZmHrVGPNJba3Ey2Ui3DJ4GslOLprtT0HWM97+jaGTWcsCXwRXbpW88d9qi8bEv7/kFjiQptnqZuwSy1txXwnk5tvvJM84OsYws3CIvh8R", "X-OriginatorOrg": "arm.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "10 Feb 2026 11:32:56.4800 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n c7926432-b6f2-4d34-14ba-08de68982329", "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 AM4PEPF00027A67.eurprd04.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": "Created a new function, gimple_build_vector_from_elems,\nfor use when creating vectorized definitions for basic block\nvectorization in vect_create_constant_vectors.\n\nThe existing gimple_build_vector function cannot be used\nfor SVE vector types because it relies on the type\nassociated with the tree_vector_builder having a constant\nnumber of subparts. Even if that limitation were lifted, the\npossibility of tree_vector_builder patterns being used is\ninappropriate.\n\nThe new function takes a vector type and vec of tree nodes\ngiving the element values to put into the built vector, instead of an\ninstance of tree_vector_builder. If the number of values is zero then\na zero constant is built. If all values are constant then a vector\nconstant is built. Otherwise, a new constructor node is created.\n\ngcc/ChangeLog:\n\n\t* gimple-fold.cc (gimple_build_vector_from_elems): Define a\n\tnew function to build a vector from a list of elements that need\n\tnot be complete.\n\t* gimple-fold.h (gimple_build_vector_from_elems): Declare a new\n\tfunction and a simpler overloaded version with fewer parameters.\n\t* tree-vect-slp.cc (vect_create_constant_vectors):\n\tFor basic block SLP vectorization, pad each element list to the\n\tminimum vector length (which is the same as the actual vector\n\tlength, except in the case of variable-length vector types).\n\tUse gimple_build_vector_from_elems instead of\n\tduplicate_and_interleave to create non-uniform constant\n\tvectors for BB SLP vectorization.\n\n---\n gcc/gimple-fold.cc | 54 ++++++++++++++++++++++++++++++++++++++++++++\n gcc/gimple-fold.h | 14 ++++++++++++\n gcc/tree-vect-slp.cc | 42 +++++++++++++++++++++++++++-------\n 3 files changed, 102 insertions(+), 8 deletions(-)", "diff": "diff --git a/gcc/gimple-fold.cc b/gcc/gimple-fold.cc\nindex ec6831a20a0..9aea08d1a80 100644\n--- a/gcc/gimple-fold.cc\n+++ b/gcc/gimple-fold.cc\n@@ -11375,6 +11375,60 @@ gimple_build_vector (gimple_stmt_iterator *gsi,\n return builder->build ();\n }\n \n+/* Build a vector of type VECTYPE from a partial list of ELTS, handling the case\n+ in which some elements are non-constant, and padding the tail with zeros\n+ if the list of values may be shorter than the number of subparts implied by\n+ VECTYPE (including when the vector type is variable-length).\n+\n+ Return a gimple value for the result, inserting any new instructions\n+ to GSI honoring BEFORE and UPDATE. */\n+\n+tree\n+gimple_build_vector_from_elems (gimple_stmt_iterator *gsi, bool before,\n+\t\t\t\tgsi_iterator_update update, location_t loc,\n+\t\t\t\ttree vectype, const vec<tree> &elts)\n+{\n+ unsigned int encoded_nelts = elts.length ();\n+ gimple_seq seq = NULL;\n+ gcc_assert (TREE_CODE (vectype) == VECTOR_TYPE);\n+ unsigned int lower_bound\n+ = constant_lower_bound (TYPE_VECTOR_SUBPARTS (vectype));\n+ gcc_assert (encoded_nelts <= lower_bound);\n+\n+ if (encoded_nelts == 0)\n+ return build_zero_cst (vectype);\n+\n+ /* Prepare a vector of constructor elements and find out whether all\n+ of the element values are constant. */\n+ vec<constructor_elt, va_gc> *v;\n+ vec_alloc (v, encoded_nelts);\n+ bool is_constant = true;\n+\n+ for (unsigned int i = 0; i < encoded_nelts; ++i)\n+ {\n+ if (!CONSTANT_CLASS_P (elts[i]))\n+\tis_constant = false;\n+\n+ CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, elts[i]);\n+ }\n+\n+ /* If all element values are constant then we can return a new VECTOR_CST\n+ node. Any elements for which no value is supplied will be zero. */\n+ if (is_constant)\n+ return build_vector_from_ctor (vectype, v);\n+\n+ tree res;\n+ if (gimple_in_ssa_p (cfun))\n+ res = make_ssa_name (vectype);\n+ else\n+ res = create_tmp_reg (vectype);\n+ gimple *stmt = gimple_build_assign (res, build_constructor (vectype, v));\n+ gimple_set_location (stmt, loc);\n+ gimple_seq_add_stmt_without_update (&seq, stmt);\n+ gimple_build_insert_seq (gsi, before, update, seq);\n+ return res;\n+}\n+\n /* Emit gimple statements into &stmts that take a value given in OLD_SIZE\n and generate a value guaranteed to be rounded upwards to ALIGN.\n \ndiff --git a/gcc/gimple-fold.h b/gcc/gimple-fold.h\nindex 4b3d5ea4bbc..8233d9841eb 100644\n--- a/gcc/gimple-fold.h\n+++ b/gcc/gimple-fold.h\n@@ -243,6 +243,20 @@ gimple_build_vector (gimple_seq *seq, tree_vector_builder *builder)\n \t\t\t UNKNOWN_LOCATION, builder);\n }\n \n+extern tree gimple_build_vector_from_elems (gimple_stmt_iterator *, bool,\n+\t\t\t\t\t enum gsi_iterator_update,\n+\t\t\t\t\t location_t, tree vectype,\n+\t\t\t\t\t const vec<tree> &);\n+\n+inline tree\n+gimple_build_vector_from_elems (gimple_seq *seq, tree vectype,\n+\t\t\t\tconst vec<tree> &elts)\n+{\n+ gimple_stmt_iterator gsi = gsi_last (*seq);\n+ return gimple_build_vector_from_elems (&gsi, false, GSI_CONTINUE_LINKING,\n+\t\t\t\t\t UNKNOWN_LOCATION, vectype, elts);\n+}\n+\n extern tree gimple_build_round_up (gimple_stmt_iterator *, bool,\n \t\t\t\t enum gsi_iterator_update,\n \t\t\t\t location_t, tree, tree,\ndiff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc\nindex 106eba2d981..a432c646c0b 100644\n--- a/gcc/tree-vect-slp.cc\n+++ b/gcc/tree-vect-slp.cc\n@@ -10831,7 +10831,7 @@ vect_create_constant_vectors (vec_info *vinfo, slp_tree op_node)\n unsigned j, number_of_places_left_in_vector;\n tree vector_type;\n tree vop;\n- int group_size = op_node->ops.length ();\n+ unsigned int group_size = op_node->ops.length ();\n unsigned int vec_num, i;\n unsigned number_of_copies = 1;\n bool constant_p;\n@@ -10861,12 +10861,27 @@ vect_create_constant_vectors (vec_info *vinfo, slp_tree op_node)\n (s1, s2, ..., s8). We will create two vectors {s1, s2, s3, s4} and\n {s5, s6, s7, s8}. */\n \n- /* When using duplicate_and_interleave, we just need one element for\n- each scalar statement. */\n- if (!TYPE_VECTOR_SUBPARTS (vector_type).is_constant (&nunits))\n- nunits = group_size;\n+ unsigned int elt_count = group_size;\n+ if (is_a<bb_vec_info> (vinfo))\n+ {\n+ /* We don't use duplicate_and_interleave for basic block vectorization.\n+\t We know that either the group size is exactly divisible by the vector\n+\t length or it fits within a single vector, so all we need to do for\n+\t VLA is to pad the constant to the minimum vector length. */\n+ nunits = constant_lower_bound (TYPE_VECTOR_SUBPARTS (vector_type));\n+ gcc_checking_assert (multiple_p (group_size, nunits)\n+\t\t\t || known_le (group_size, nunits));\n+ elt_count = MAX (nunits, group_size);\n+ }\n+ else\n+ {\n+ /* When using duplicate_and_interleave, we just need one element for\n+\t each scalar statement. */\n+ if (!TYPE_VECTOR_SUBPARTS (vector_type).is_constant (&nunits))\n+\tnunits = group_size;\n+ }\n \n- number_of_copies = nunits * number_of_vectors / group_size;\n+ number_of_copies = nunits * number_of_vectors / elt_count;\n \n number_of_places_left_in_vector = nunits;\n constant_p = true;\n@@ -10876,9 +10891,15 @@ vect_create_constant_vectors (vec_info *vinfo, slp_tree op_node)\n stmt_vec_info insert_after = NULL;\n for (j = 0; j < number_of_copies; j++)\n {\n- tree op;\n- for (i = group_size - 1; op_node->ops.iterate (i, &op); i--)\n+ for (i = elt_count; i-- > 0;)\n {\n+\t tree op;\n+\t if (i < group_size)\n+\t op = op_node->ops[i];\n+\t else\n+\t /* Pad with zeros. */\n+\t op = build_zero_cst (TREE_TYPE (vector_type));\n+\n /* Create 'vect_ = {op0,op1,...,opn}'. */\n \t tree orig_op = op;\n \t if (number_of_places_left_in_vector == nunits)\n@@ -10964,6 +10985,11 @@ vect_create_constant_vectors (vec_info *vinfo, slp_tree op_node)\n \t\t ? multiple_p (type_nunits, nunits)\n \t\t : known_eq (type_nunits, nunits))\n \t\tvec_cst = gimple_build_vector (&ctor_seq, &elts);\n+\t else if (is_a<bb_vec_info> (vinfo))\n+\t\t{\n+\t\t vec_cst = gimple_build_vector_from_elems (&ctor_seq,\n+\t\t\t\t\t\t\t elts.type (), elts);\n+\t\t}\n \t else\n \t\t{\n \t\t if (permute_results.is_empty ())\n", "prefixes": [ "v9", "03/11" ] }