get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2195020/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "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"
    ]
}