get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2194974,
    "url": "http://patchwork.ozlabs.org/api/patches/2194974/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260210102706.112930-1-victor.donascimento@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": "<20260210102706.112930-1-victor.donascimento@arm.com>",
    "list_archive_url": null,
    "date": "2026-02-10T10:27:06",
    "name": "vect: disable vectorization of non-gather elementwise loads [PR124037]",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "40b550eec08be80eba02fc1cd6ab825be9c1f94e",
    "submitter": {
        "id": 81143,
        "url": "http://patchwork.ozlabs.org/api/people/81143/?format=api",
        "name": "Victor Do Nascimento",
        "email": "Victor.DoNascimento@arm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260210102706.112930-1-victor.donascimento@arm.com/mbox/",
    "series": [
        {
            "id": 491644,
            "url": "http://patchwork.ozlabs.org/api/series/491644/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=491644",
            "date": "2026-02-10T10:27:06",
            "name": "vect: disable vectorization of non-gather elementwise loads [PR124037]",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/491644/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2194974/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2194974/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=gE3/TwLU;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=gE3/TwLU;\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=gE3/TwLU;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=gE3/TwLU",
            "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.62"
        ],
        "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 4f9HqL235vz1xtV\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 10 Feb 2026 21:29:18 +1100 (AEDT)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 3201A4CF3085\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 10 Feb 2026 10:29:16 +0000 (GMT)",
            "from GVXPR05CU001.outbound.protection.outlook.com\n (mail-swedencentralazon11013062.outbound.protection.outlook.com\n [52.101.83.62])\n by sourceware.org (Postfix) with ESMTPS id EF9474CF3076\n for <gcc-patches@gcc.gnu.org>; Tue, 10 Feb 2026 10:28:27 +0000 (GMT)",
            "from AS4PR10CA0021.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5d8::9)\n by GVXPR08MB7846.eurprd08.prod.outlook.com (2603:10a6:150::5) with\n Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9587.19; Tue, 10 Feb 2026 10:28:21 +0000",
            "from AMS0EPF0000019A.eurprd05.prod.outlook.com\n (2603:10a6:20b:5d8:cafe::77) by AS4PR10CA0021.outlook.office365.com\n (2603:10a6:20b:5d8::9) 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 10:28:21 +0000",
            "from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by\n AMS0EPF0000019A.mail.protection.outlook.com (10.167.16.246) 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 10:28:20 +0000",
            "from AS4P190CA0034.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5d1::10)\n by AMBPR08MB11653.eurprd08.prod.outlook.com (2603:10a6:20b:737::16)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.12; Tue, 10 Feb\n 2026 10:27:14 +0000",
            "from AMS0EPF000001A7.eurprd05.prod.outlook.com\n (2603:10a6:20b:5d1:cafe::88) by AS4P190CA0034.outlook.office365.com\n (2603:10a6:20b:5d1::10) 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 10:27:14 +0000",
            "from nebula.arm.com (172.205.89.229) by\n AMS0EPF000001A7.mail.protection.outlook.com (10.167.16.234) 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 10:27:14 +0000",
            "from AZ-NEU-EX03.Arm.com (10.240.25.137) 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 10:27:08 +0000",
            "from e133397.arm.com (10.57.10.200) by mail.arm.com (10.240.25.137)\n with Microsoft SMTP Server id 15.2.2562.29 via Frontend Transport;\n Tue, 10 Feb 2026 10:27:08 +0000"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 3201A4CF3085",
            "OpenDKIM Filter v2.11.0 sourceware.org EF9474CF3076"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org EF9474CF3076",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org EF9474CF3076",
        "ARC-Seal": [
            "i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1770719308; cv=pass;\n b=h8rnPD5lU707T4ns3aU1QNfQbyhTLEPGueQoacJ/A6WtFzRREce/3V52kEhW696wpjSbgSUO6CQGWA5KX5yw0h5HIaYAzaHkSf1ayYFMmGIt8K6s9lWeVW4BXPs08xiS4Yls2yVem+Qq2uSf5VEWTWAj+nzSCd0gWtIXWcbZef4=",
            "i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;\n b=uawNFHR5V7vnez1+1NAR+OBWshAWKF6w69PjRIcgB36ImrV1eVd6QsZvUnJohIdSX/ow8gcF6oNC+o+XaHq0+eKG08FCZJxMv5Pnkyqc1oUQ790vsyTcnaSzAAPP26gi5UXIvGaX0GqIK/VQrjeG9r381EHal8Fmj/3zWAw6gZZexgGuJVoubrnVrEGSyTtfIeN6B8fvzw0HymM5jgBHMmS1AnZiJ8gvXJYWs+Z6ueKKkLR6gRZIQYV/D+7HobNhfJAfcZ66n+EzDu8vn2KG87U2iZgV1ECcUSdwKbWAgXzYaKQFJGMrxh5r0LK7hsfBSi1j8r/aaRXrqBxQdbt29w==",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=Rj7QsKAI2DPCHuReolZwBoOY7t0KoFP3aB7hbhu8az9jqvpiImNh2ewVqs/VnRS377/dI0dHyiNAjiZzC3b+lSrPJdJm67Tw00fYWU1MemPfb69wdwSdQ4bEqaTxE/VHpPzzKabN8TDD1AyRbcS8I9dqdfZYaufSbNagrmZMW2ucd1TumGYhx4GO/D6dazRCmXZQwsHBpCrOnInOKHL790eBP8DyHOsaXY4FYa8oMsSnmZn4pqCnkg9vWN3YaAf05VMKPP5/PkDGtMYJUiFMDGOBphDtZgFWVjK8ZbNfdzG1n/mfJIaVEz+9b0OHrNEXyXrwBfPy3J73T/TZU57v7A=="
        ],
        "ARC-Message-Signature": [
            "i=3; a=rsa-sha256; d=sourceware.org; s=key;\n t=1770719308; c=relaxed/simple;\n bh=rlOnO0ykx2AC8fecjaYjQuwtNotUPcMRCT4+pDYOULM=;\n h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:\n MIME-Version;\n b=r5oIBz8cjO1biudoe5PJqN8U16TOQo3YX+39yXS/AB732sgVEZ6ARR/tT57qtI8rSJzeCQLB9fIvLKGivS6M2aVENajAx/9PEQNboMEfy/0h0XjHVU4wLEMR0AWOL44tf5jXV0juHkVaW4U/77vHCkngMRY7Y3jTAM1VwKnNZGM=",
            "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=R6dFybdD2JKMIoOnvgrhQL6lMHWV03+nsbpnPXcWNlU=;\n b=OjJ6KiY+ArbytWp1Ea3Gu8vY61Aj1CWP8rYVJX28Uy/Q7oqpVHhJnExj1nV7taUjUWoMEnGntpx/ZfUyMHP8cgSVtn8YHNMXncI54Y5gIlBP8YIhHJOoFVFlHk0dwExzoK3szbF/kphXtXUGlm5Ih14SnG5TOhTHa8ihuSynmcCyhKT0Op6r9e3zgnjWOT9m5x8RV/W/47mAmHwccTCHX8+rNj5hrFZR0RO6VD2qRUEJblqjVVV+LDA/8sfpS0VRWmGp4c9/aaTsM0ktaq4fig2umb0n3MoNMxazw64D2piMOzOVD2lm7zo6ihq0pOit/HGQn8hTI86n64wV56glng==",
            "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=R6dFybdD2JKMIoOnvgrhQL6lMHWV03+nsbpnPXcWNlU=;\n b=jqSKRSKeKRRA1KDcgoOfu62632ykwt3x+0jtr+WvWO41HN03Fuc/oSK8/P3q08iHQ3Et77WKAfRB1zfrzt3C7Qz0TZM+WX1OcNhonIUky4oC/tGQDhs+cBgkcUwsEppxT0IuVywkMONCg9NAzD9sz+2C5oFMHb0g6DABya+B5uUtNrgJF8qlHxafwUr56/bqjiOVxW8hx/6u177UQwmW+PIT6OSDp/qcB0Upjo/N9b60j8BlxlG/RfBSfgT9jKyCd39xf2BLF33P433HsDicpSk2C2xTjDR9q8zWPWHMjJqR0cGGMlFcLIl0Hb3EGdVgkfzvSnhXgJdhWcC2np/ueQ=="
        ],
        "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=R6dFybdD2JKMIoOnvgrhQL6lMHWV03+nsbpnPXcWNlU=;\n b=gE3/TwLUgHz7eQ/1A5DYTVZBQOJ+g/EcacnuSRwBl0s/UylrOHQaPmVtRaHdWz782xoDl1i2RmcWNaMz2EHqLb8y+4hDc71Vu01DsCQf87Rd/Xu5HjFI9YLnv3cRXrkmGp/aZ8FjZ15a7P2wnYf4UYWWtGflhmdMiyNh2OfDHRY=",
            "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=R6dFybdD2JKMIoOnvgrhQL6lMHWV03+nsbpnPXcWNlU=;\n b=gE3/TwLUgHz7eQ/1A5DYTVZBQOJ+g/EcacnuSRwBl0s/UylrOHQaPmVtRaHdWz782xoDl1i2RmcWNaMz2EHqLb8y+4hDc71Vu01DsCQf87Rd/Xu5HjFI9YLnv3cRXrkmGp/aZ8FjZ15a7P2wnYf4UYWWtGflhmdMiyNh2OfDHRY="
        ],
        "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": "Victor Do Nascimento <victor.donascimento@arm.com>",
        "To": "<gcc-patches@gcc.gnu.org>",
        "CC": "<tamar.christina@arm.com>, <rguenther@suse.de>, Victor Do Nascimento\n <victor.donascimento@arm.com>",
        "Subject": "[PATCH] vect: disable vectorization of non-gather elementwise loads\n [PR124037]",
        "Date": "Tue, 10 Feb 2026 10:27:06 +0000",
        "Message-ID": "<20260210102706.112930-1-victor.donascimento@arm.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-EOPAttributedMessage": "1",
        "X-MS-TrafficTypeDiagnostic": "\n AMS0EPF000001A7:EE_|AMBPR08MB11653:EE_|AMS0EPF0000019A:EE_|GVXPR08MB7846:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "114c97ac-83a5-475e-2f45-08de688f1d0d",
        "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|36860700013|82310400026|1800799024|376014|13003099007;",
        "X-Microsoft-Antispam-Message-Info-Original": "\n UHxQFdEzvBgLES4WRZ09b+gzEIWV9FBwZlD4BJrDTKq+Y3DiIB/KFPKGlUovWA4Q+FkgCedF+lcsBxPC+IPqLMAwIg4t9B05hc6fAj58o1UHYQ5pHFxXq69oywNQ2yLlyphHXXZ9qX90UU4ltc/+gwkKNpeskoErkRdMlAshSa6G1IU0QhkxI2xAGluWuWKwKzJVTIW5nQTavtBnFgMHQ3nW3M+yulfVtBQGnBO7zioACnOxEtDY3fd6Rdu9NdGftE4V/hacJEew36SF1BPfoJqPcQOzB5ccGLt69olVC9tVmhIHK0P1+FeeMgDvbFw4kUzLmKYfEV/nkjMQjVPCWO/O4Oe/rmsec9Wh9V/4RTAHpPCD/px3nkM7xTlXPIS65k0WUqHIKhg4fPeIs+6CaH1B1j+dnN2SCiBEukFhCNn9YnaxRs07jK0lL+T0dgsa3ILO1KAVKSk4ohaQK+aLvgEnR8iu/mQaKOASu1cSUQs9yhgvauLkPXWUdnHyHr/ClOvXhfW98/MUytXSxMn8BnzZQaqUiR+q7rzobjP8MPiI4AQrB4bYrDB9ideF3uNVVTNLGCiDxYqhzVD/t6ChDCHYcka8M1KtXswvojKRe8vIc3Q4PkbGkO/xOCfyhVZZiGL4gt6LJoFISF2HJje7aS/9LnWpx1gmNbVATQ+vFS9QGX8fEI+qXLePGzl6PmLPKms2J/JbWd1NPZBqdnZvyxYD1OYVOFl0SVQljaQ3vMEar7xCG6SskffiulKzWlm/0N88l1Qfiml9ejOjrTSX9/plGcWx5DzeVJHcCAOo2TAxxqIX2zslkAMFKZej6IckKT9zOdbMqWx0fBAfFqVwyrtgYWcwVDvhC2htW5XyVVq1y/S/XfdggZyx3JVfPmy8OV/aYkF0jr8xBlFZ3pRAYe16wwi7vY/LmnFy8jQXqvskA1anNdtcc/fXvhfc7Mx1h+PSsLzm7zROMGVXaFun5/CKSELiTz/VgKIyzvVEX/wMGNkVJcpnDd2dWkle9RLzXs8Au0OFEtJv5hfCE6utLNo1cxreALyU46c7QUSFK3nh9Euwh3lAttJ4vbt9Vr+vSPLGGifysLSDaCy4f+/qxrkkbyAqfMaxBBq8ozmDca+ESv2jWK2QbzJ7vGdURbswFzYLvLJolfZIDhXm2d6aD82xs3j1+OnmeYaz3HWobVIZrQa8++4oN90H9dzVBCOsH5RQJ9HlUbPQM9HTukC5hyReSjN98LZFBvnEZ2CgbkfqrVRyo/rM3Gt39mS/WNjpSBwIF5Xe++ystGfAms4i5VYAKUIGLZQTWFD8Z75bqkI7slKepL2jpk9SZ34zTbqE9PneZttTBcqlPEC8ZpiokvVXdDqN5vAMTvaDQxY9toBcCYbo3baDZ4FNEqVEJ7IWty7qO3hEvyxuYcPZv0xTaqFXH+FeLI70WntUfF9bPB8MPGrz+1skg+Po9NVN5ll2lrWZDlSGaqpvAGuHLw9vuQyWtBRB8F9L1x8XPHXd6BcTM5HqkqPasKmyLdce02ZlgrVq86vklfrWgj+Fh3UxYhmLVtnVJTLAYebKxHvOUtERUczwSZdR2Us+QpGUHIXCVoM4iRyIYm+X79LXP8BXODF7O0FULm37g3AqLzu1DQE=",
        "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;\n SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014)(13003099007);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [
            "AMBPR08MB11653",
            "GVXPR08MB7846"
        ],
        "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n AMS0EPF0000019A.eurprd05.prod.outlook.com",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n b794002e-7128-4e9a-86eb-08de688ef580",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|1800799024|36860700013|376014|82310400026|14060799003|35042699022|13003099007;",
        "X-Microsoft-Antispam-Message-Info": "\n Rma1zZSBxYbXG2Hi8FpmQRsFJpgsxe/pjtALu32Wywomv2mJLhvbUX3QGf1bbfiB6Ux/gyenQqEF3EbwfRHoHr+GyV+Pn1HD9LLbD7RynQhwegWE6KzLbotraPjN0rU/pjPvWpuhHluBtPssz7fAFjcQV7ZK6zVmSVePOZo8hiMCR2ss4TOLMqYR+s/kg0OkPzJQ33t76j0fO8lThOlRNkNBdUWdxaEs/s4hvNBF0uGmQvOjndOCuCnqeEBLpRsrJcoX8T8J5MxvByDLFuhjxIr0PfG20ZxIDbUJzJABzqXJM7X3ge4AiGLXzxUOTywzqFs3r+I/6ZdDJDZlsDfSZLgy7DX2ZsV7uX4Ax34iYPJw5FAIZb7hojnIM38AOI3n80aLZPmMb8GK3O9/RwbT9KlDMheyYmE8qPVmuWq5zvRt+j05EZgFyjByNaErIl7dIwq3LQOoaf6NZ4mmy2NR8r7+PcrKIhc8tHN0RDKntVgd+jM9BKEX+YPPZeODTeQkmvCs6H078dCRuPSx8ZhgRd3LWSGAxGIxpEs9TskiXfDbVJwuCTrLHxaWd8McPCfnPD78xWGFJM9arrYyDZw+m+PmBT1myRh4Do8BPKf5aW80dxP86QNCxBn2RjadQ67lO+a0ZklTzQpY8alHhoZr2KKPvhCziLW2FKQne12N0/LPirDI98aVa2fKqqDBLWzJXeOyhiBJnGovvMXMojaI16uj8uaPfX0yMySfnxNUAkkREmIAIaf3rNbYgdXSNOqX1Ma3pTsSdZY6DGM5hoLe8svcYzbpNM8I82IhFK2/mLR7htcUHcTjbICKut7PL9h5PuWH4SJVRTYA1MrGb8pndSycd4+jGt1sMB5V4Nc39aech7MiqJd//g6I87Woq69G+Uf/6Qxt8DLS5FE4GGaYWPZ8YgA3mODqe8Vw3baGIVXunMgRKfsvoxqMZ1qRRfkSliU1Jm1z56tWfT9xQObJBRWUr5CJDdzlCMRXCRTJWkKpUeKimoXY2pM+zL5UMAw5pDpF9HxPNMc5PbuTIrjXbfQ8Tygt3uul6Jq83Otct5LTbVONBlmx+ZPmDRS+7wFVStSgcL91HDk+HkiT4cNvX6Apv6ANMfU5Ct/INvrHYIdvryVwGRFYtcvRrOzmaFwWOWMEaORX4RMETyDQmg3l7CkHf5gDE8RYAxopTfXy13ZLwZXIv6ascX4uavPojzAio77x/sO3kUHyIQYMfNCtRhrRUvlD7s1avU7mVGZwBd5BKr2U9SCOLSOo/celxOTQOUClVgHvz0j/sObTmhwQfTcy1W1K66i8vRVN47xIN1+BHlbMvlRsS3rZT1D401oPVnW6FWIWoFzIpMhuQmbu4XRoey9WjtOYC+3XZDMDokUkHDWlmLx84jD87RHqFLsFhB93lZc+FX93xSbI+4hMf0/8mJcsapKoKyO2lidDvkzIUVFDyDV8+gBmp2P1EiKiL5dMzCk4r+YChG0pH/daoi1jbzZKq13gIIbu7Uahl2R74xaVwXk6d6jjJJJVX4K9c1S+nXU+Ay6tlXcmx2kxopLtIjfeFr9gbgWusKjir6JLwbuGWKHT89lZM3liwD8F9k/vrLJjhSXnqLSII4YCTh8FveYLGAsYdFYBv80pSYg=",
        "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)(1800799024)(36860700013)(376014)(82310400026)(14060799003)(35042699022)(13003099007);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n pItswk99nTUkmBjNUqr9aYNEnCdxDeApZnijc8V5AwxY5KtFtrQxxZr9fzi+f1YwQZMKalHxDNjKOk+jzN4PWloLYk61kOO7scEHBnTC3U4jW7WPPa8AFz4hHX+1qbuTbflheYFPxWXwLPp3AKL9X/jE0ud7quuqPKQQAmi/JlJVBrheonp1YmiY9iemerc9TXV41KCSKqgcxy/OtFMGhhhxsDV3s1mmr3KJ/I7PFnH9kiMKfuJ0YQT492L+cvFXRcVsfM8COjgthpEUhaxJjd+eFgrOrpb+CJw1vokbnhoCGtmeizcYknNEwHYoWjcvjd1Uqff+lGuw3OuwOwHFisZ91V/u2tvIO7ea6JfwuQzhYElcu3ay95DgRKkMrdUpw8slsuaW64LXYYXmhItrKGtQ/LMEw4lmhmVtBmGHcr8ILtpbgIHtz7JcK68DDXx7",
        "X-OriginatorOrg": "arm.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "10 Feb 2026 10:28:20.9900 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 114c97ac-83a5-475e-2f45-08de688f1d0d",
        "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 AMS0EPF0000019A.eurprd05.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": "For the vectorization of non-contiguous memory accesses such as the\nvectorization of loads from a particular struct member, specifically\nwhen vectorizing with unknown bounds (thus using a pointer and not an\narray) it is observed that inadequate alignment checking allows for\nthe crossing of a page boundary within a single vectorized loop\niteration. This leads to potential segmentation faults in the\nresulting binaries.\n\nFor example, for the given datatype:\n\n    typedef struct {\n      uint64_t a;\n      uint64_t b;\n      uint32_t flag;\n      uint32_t pad;\n    } Data;\n\nand a loop such as:\n\nint\nfoo (Data *ptr) {\n  if (ptr == NULL)\n    return -1;\n\n  int cnt;\n  for (cnt = 0; cnt < MAX; cnt++) {\n    if (ptr->flag == 0)\n      break;\n    ptr++;\n  }\n  return cnt;\n}\n\nthe vectorizer yields the following loop logic on armhf:\n\n<bb 1>:\n_41 = ptr_4(D) + 16;\n<bb 2>:\n_44 = MEM[(unsigned int *)ivtmp_42];\nivtmp_45 = ivtmp_42 + 24;\n_46 = MEM[(unsigned int *)ivtmp_45];\nivtmp_47 = ivtmp_45 + 24;\n_48 = MEM[(unsigned int *)ivtmp_47];\nivtmp_49 = ivtmp_47 + 24;\n_50 = MEM[(unsigned int *)ivtmp_49];\nvect_cst__51 = {_44, _46, _48, _50};\nmask_patt_6.17_52 = vect_cst__51 == { 0, 0, 0, 0 };\nif (mask_patt_6.17_52 != { 0, 0, 0, 0 })\n  goto <bb 4>;\nelse\n  ivtmp_43 = ivtmp_42 + 96;\n  goto <bb 2>;\n<bb4>\n...\n\nwithout any proper address alignment checks on the starting address\nor on whether alignment is preserved across iterations.\n\nReject the vectorization of such cases.\n\ngcc/ChangeLog:\n\n\tPR tree-optimization/124037\n\t* tree-vect-stmts.cc (get_load_store_type): Add check for use\n\tcontext of VMAT_ELEMENTWISE loads.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.dg/vect/pr123588.c: New.\n---\n gcc/testsuite/gcc.dg/vect/pr124037.c | 57 ++++++++++++++++++++++++++++\n gcc/tree-vect-stmts.cc               | 13 +++++++\n 2 files changed, 70 insertions(+)\n create mode 100644 gcc/testsuite/gcc.dg/vect/pr124037.c",
    "diff": "diff --git a/gcc/testsuite/gcc.dg/vect/pr124037.c b/gcc/testsuite/gcc.dg/vect/pr124037.c\nnew file mode 100644\nindex 00000000000..3121380454b\n--- /dev/null\n+++ b/gcc/testsuite/gcc.dg/vect/pr124037.c\n@@ -0,0 +1,57 @@\n+/* PR tree-optimization/124037 */\n+/* { dg-options \"-O3\" } */\n+/* { dg-require-effective-target mmap } */\n+/* { dg-require-effective-target vect_early_break } */\n+#include <stdint.h>\n+#include <stdio.h>\n+#include <string.h>\n+#include <sys/mman.h>\n+#include <unistd.h>\n+\n+#define MAX 65536\n+\n+typedef struct {\n+  uint64_t a;\n+  uint64_t b;\n+  uint32_t flag;\n+  uint32_t pad;\n+} Data;\n+\n+int __attribute__ ((noinline))\n+foo (Data *ptr) {\n+  if (ptr == NULL)\n+    return -1;\n+\n+  int cnt;\n+  for (cnt = 0; cnt < MAX; cnt++) {\n+    if (ptr->flag == 0)\n+      break;\n+    ptr++;\n+  }\n+  return cnt;\n+}\n+\n+int main() {\n+  long pgsz = sysconf (_SC_PAGESIZE);\n+  if (pgsz == -1) {\n+    fprintf (stderr, \"sysconf failed\\n\");\n+    return 0;\n+  }\n+\n+  /* Allocate 2 consecutive pages.  */\n+  void *mem = mmap (NULL, pgsz * 2, PROT_READ | PROT_WRITE,\n+\t\t    MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n+  if (mem == MAP_FAILED) {\n+    fprintf (stderr, \"mmap failed\\n\");\n+    return 0;\n+  }\n+\n+  memset (mem, 1, pgsz);\n+  uint8_t *ptr = (uint8_t*) mem + pgsz;\n+  memset (ptr - 16, 0, 16);\n+\n+  mprotect (ptr, pgsz, PROT_NONE);\n+  Data *data = (Data *) (ptr - 80);\n+  __builtin_printf(\"%d\\n\", foo(data));\n+}\n+\ndiff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc\nindex ee98e72d1e5..7434d934463 100644\n--- a/gcc/tree-vect-stmts.cc\n+++ b/gcc/tree-vect-stmts.cc\n@@ -2581,6 +2581,19 @@ get_load_store_type (vec_info  *vinfo, stmt_vec_info stmt_info,\n \treturn false;\n     }\n \n+  if (loop_vinfo\n+      && !inbounds\n+      && dr_safe_speculative_read_required (stmt_info)\n+      && *memory_access_type == VMAT_ELEMENTWISE\n+      && !STMT_VINFO_GATHER_SCATTER_P (stmt_info))\n+    {\n+      if (dump_enabled_p ())\n+\tdump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,\n+\t\t\t \"unsafe use of elementwise access for buffer with\"\n+\t\t\t \"unknown bounds\\n\");\n+      return false;\n+    }\n+\n   /* If this DR needs alignment for correctness, we must ensure the target\n      alignment is a constant power-of-two multiple of the amount read per\n      vector iteration or force masking.  */\n",
    "prefixes": []
}