get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2231341,
    "url": "http://patchwork.ozlabs.org/api/patches/2231341/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260430160314.1881750-1-alfie.richards@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": "<20260430160314.1881750-1-alfie.richards@arm.com>",
    "list_archive_url": null,
    "date": "2026-04-30T16:03:14",
    "name": "aarch64: Update gating for svexpa intrinsic",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "622df6c9beadedf087bebf2f82a89a45c7c940cd",
    "submitter": {
        "id": 88864,
        "url": "http://patchwork.ozlabs.org/api/people/88864/?format=api",
        "name": "Alfie Richards",
        "email": "alfie.richards@arm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260430160314.1881750-1-alfie.richards@arm.com/mbox/",
    "series": [
        {
            "id": 502336,
            "url": "http://patchwork.ozlabs.org/api/series/502336/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=502336",
            "date": "2026-04-30T16:03:14",
            "name": "aarch64: Update gating for svexpa intrinsic",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502336/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2231341/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2231341/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=ft4gxVTl;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=ft4gxVTl;\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=ft4gxVTl;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=ft4gxVTl",
            "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.84.10"
        ],
        "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 4g5zXP4xCfz1yGq\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 02:05:08 +1000 (AEST)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 2BDCA436A042\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 16:05:06 +0000 (GMT)",
            "from DB3PR0202CU003.outbound.protection.outlook.com\n (mail-northeuropeazon11010010.outbound.protection.outlook.com [52.101.84.10])\n by sourceware.org (Postfix) with ESMTPS id C904043B551A\n for <gcc-patches@gcc.gnu.org>; Thu, 30 Apr 2026 16:04:33 +0000 (GMT)",
            "from DU2PR04CA0006.eurprd04.prod.outlook.com (2603:10a6:10:3b::11)\n by PAWPR08MB10974.eurprd08.prod.outlook.com (2603:10a6:102:46b::11) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr\n 2026 16:04:31 +0000",
            "from DB1PEPF0003922D.eurprd03.prod.outlook.com\n (2603:10a6:10:3b:cafe::3b) by DU2PR04CA0006.outlook.office365.com\n (2603:10a6:10:3b::11) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.30 via Frontend Transport; Thu,\n 30 Apr 2026 16:04:31 +0000",
            "from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by\n DB1PEPF0003922D.mail.protection.outlook.com (10.167.8.100) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.18\n via Frontend Transport; Thu, 30 Apr 2026 16:04:30 +0000",
            "from DB3PR06CA0006.eurprd06.prod.outlook.com (2603:10a6:8:1::19) by\n PAVPR08MB9210.eurprd08.prod.outlook.com (2603:10a6:102:309::12) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Thu, 30 Apr\n 2026 16:03:21 +0000",
            "from DU6PEPF0000A7DE.eurprd02.prod.outlook.com\n (2603:10a6:8:1:cafe::4a) by DB3PR06CA0006.outlook.office365.com\n (2603:10a6:8:1::19) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.30 via Frontend Transport; Thu,\n 30 Apr 2026 16:03:21 +0000",
            "from nebula.arm.com (172.205.89.229) by\n DU6PEPF0000A7DE.mail.protection.outlook.com (10.167.8.38) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9846.18 via Frontend Transport; Thu, 30 Apr 2026 16:03:21 +0000",
            "from AZ-NEU-EXJ02.Arm.com (10.240.25.139) by AZ-NEU-EX04.Arm.com\n (10.240.25.138) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 30 Apr\n 2026 16:03:17 +0000",
            "from AZ-NEU-EX04.Arm.com (10.240.25.138) by AZ-NEU-EXJ02.Arm.com\n (10.240.25.139) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 30 Apr\n 2026 16:03:17 +0000",
            "from ip-10-249-56-165.eu-west-1.compute.internal (10.249.56.165) by\n mail.arm.com (10.240.25.138) with Microsoft SMTP Server id\n 15.2.2562.29 via Frontend Transport; Thu, 30 Apr 2026 16:03:17 +0000"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 2BDCA436A042",
            "OpenDKIM Filter v2.11.0 sourceware.org C904043B551A"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org C904043B551A",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org C904043B551A",
        "ARC-Seal": [
            "i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1777565074; cv=pass;\n b=RjdR8tZRqc0hO/7m+se816GI65lWHCQun1KTNDWWbGB51a8xG4BNKfvZuECZvn995mlUpFNLxyd5eyt/Lxiq2A0n5C0wylnBuDSgzf2lGPnaPNwdD7RdoasOeYp9NdBC2hSZPtbm8cbSQEi5i2GlenwmV35EUo0ppN5yj7MK6Jk=",
            "i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;\n b=zIRf76R0SuDHk7I8EdkWD4F3N4e79Mp0XMSwI9oJqR0aCx8sDsNhW0+YKHAydRdMZqLgu9RkM3umiCoYPy7TymxCKxrJPbQk1ak2GJbLpL0zlYzTnyRM/Rv91azagmIlhux4uVWw67sSX2DLbVLAYCJlPSTS8ltgSFS+8pbLMA1Jm3dDbL8iIg/hBxJOP2qgrYfpnG5/xImFWsZgYiIMKu7/rFXlzZxNv9N3i2ZHdgAVwNRiRCIhHxQI3s3aowFmoiK8xEbnSo0ZmlpBzQndYPeO10J5SJdHphsZBUw+R8Pr4BB6LVG8+M73nu+zcRvMsyhXnlf4zfYatPg32ozzcQ==",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=pe/YF8y4gu/NPra6w7hN+mPcHbDByczmzTmtexge8altWrx9Fg6hDIiRJtAsivTt6p/ddneEAtCQ9HhdKDm1GK3n93XwxVJTgViUKY4ifh0FjPLkqbRXP0ycGLVdb4lpJmRlHEy99z08Ii3RbgVpx2jZVEUVBrXJtNn6eRCAEhFZ62bshbnHbCEu3WuGZQz69uTOSdxFqW34lmjIVofQFEXBt1i639PkREwqpmS0as1Tqpjv77JbMFPLOlNTdXCr1xioye5P8ox8Aj1GKtEQQkXFjjHKoYfAd3xV+/FAmM1RFE4z+s5UvWmVdtbDlK87LC1ao7aKAlcBmvAglnTkdg=="
        ],
        "ARC-Message-Signature": [
            "i=3; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777565074; c=relaxed/simple;\n bh=NIb85+c+H9X37v+ivBuJhj1nN2OAMgfLqjYx7xP/Uiw=;\n h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:\n MIME-Version;\n b=E/lyCXKjuqjlyODta9vJu3b19koY8BQ7OQAuIx6oW6wDzNWkQlNnI5MvuFztw1NnZLEPdql0HDATW/k//7iDdMsNpA265w6trWa6oWItI+1e7LU6E+lpVlLErxxfM/oXg/7A+7M7yc6fCDyANJoLqOcx/H6Z9UQTDjyOFpYTMDc=",
            "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=EMupayEBQkqyIwxT21L8exIjcUJjtiXEszURYDkpcGs=;\n b=MfTEs5fvVxXtXHaqId0ND0sE6I8giDu+0h49u3/60M+ubqXqGXAq0zRpFRsgvFZyqZeQtlYXMUyNaJ/JHafpxkK0zww9E1Ru9FNTNb50dfeRtzqUlgO4LMBxQo7RRHEYIbhQUXwoLwNgVKyYI76blTOUDxUKkezB89MjFwxPmmtYqZI0sD2+txZzlLaAUuK0cJDx+0Zg9S4vzcaMBwFY3rG+IFbITrEgjVFDKOoiqk0XiA8nde+2YTczBedsnJoh9AfDcrVU2R12nAoCF3yPPc3bJTco2HuLgOxTtmeYkvDSFKxgFxXprzYwGqMfMgctRYALsDmlQ9Lh5e/RBeqQuw==",
            "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=EMupayEBQkqyIwxT21L8exIjcUJjtiXEszURYDkpcGs=;\n b=McwIx+0qx8pNK2JUNfLP+KLlWxFv1H5jzttR5RSdfXeLIfbvB6bVbCFpLefoKBQgKPGcV5jA+nKu5cTBSnCGVPw/X5np7cNmC5kRZHkFj4ztYKAml9RELGg1eYRlirwdNDtH9Cf7mPF6P3TreSocx57UkGqnUm+KGW13HQ5qpprCK8gTYtOD3rkGMDu/Y1Ii5s8CMGC/wQGDrggYfvELZWhN8rsOK5bkmgRC6hsygpEox/kDHmi9hyepBaMsodIVog162vMUu3T5e0YwHaQoIrdNHVk58hYyGYFLg1C6U+Jewz+YKq6Uxl8B8lPCLKY7vTJNvHa6LoadVYxTSHNXzw=="
        ],
        "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=EMupayEBQkqyIwxT21L8exIjcUJjtiXEszURYDkpcGs=;\n b=ft4gxVTlGFOj0Dyl/syteaa4Vxh7Bg8d8UeMeh/AjbKcF4ryUyGOXvE8UlXdHdSTqeI1fC9d4J1pRkYidc/QZBVLc2xZGUaw1K90PCyuqOXBvGyckdEdmcFafVgxGF32KIwJKUByqyZCqcgD0WPmdC9UWxjbTlIbfvSgc148Ixk=",
            "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=EMupayEBQkqyIwxT21L8exIjcUJjtiXEszURYDkpcGs=;\n b=ft4gxVTlGFOj0Dyl/syteaa4Vxh7Bg8d8UeMeh/AjbKcF4ryUyGOXvE8UlXdHdSTqeI1fC9d4J1pRkYidc/QZBVLc2xZGUaw1K90PCyuqOXBvGyckdEdmcFafVgxGF32KIwJKUByqyZCqcgD0WPmdC9UWxjbTlIbfvSgc148Ixk="
        ],
        "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": "Alfie Richards <alfie.richards@arm.com>",
        "To": "<gcc-patches@gcc.gnu.org>",
        "CC": "<alex.coplan@arm.com>, <alice.carlotti@arm.com>,\n <andrew.pinski@oss.qualcomm.com>, <ktkachov@nvidia.com>,\n <richard.earnshaw@arm.com>, <tamar.christina@arm.com>,\n <wilco.dijkstra@arm.com>, Alfie Richards <alfie.richards@arm.com>",
        "Subject": "[PATCH] aarch64: Update gating for svexpa intrinsic",
        "Date": "Thu, 30 Apr 2026 16:03:14 +0000",
        "Message-ID": "<20260430160314.1881750-1-alfie.richards@arm.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-EOPAttributedMessage": "1",
        "X-MS-TrafficTypeDiagnostic": "\n DU6PEPF0000A7DE:EE_|PAVPR08MB9210:EE_|DB1PEPF0003922D:EE_|PAWPR08MB10974:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "68fc2513-d8c5-4666-5f34-08dea6d229d9",
        "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|36860700016|376014|1800799024|13003099007|18002099003|56012099003;",
        "X-Microsoft-Antispam-Message-Info-Original": "\n m9UwPLJUmjT2aYfRaP4MFRGxxjecUMk9jestuXX9cdX0oAVxt9nMwwvgarnyVOw36CHTi5Ync7aXr42TJ0MxNXtUJ8aNmd29GlRxRs28fJ+ypl0dR8SzchEA7Klgu88l6brJI/lAFis8ORtR+FA1erYYKPjEcwftUPmzJGottcGrmQ3kT4abgLqOuae71KJhzeMO6d4l7xMBJwB+9eESFJchhk5eKbhrm4KEViLRuiyUXz5oSpANZAfQq7ZlTsVVRm0NNtZQ1hGFPy+5Cw0BbMUTt/X3GSZJdVRyVv9XwU/fbnHkjIYQiHsDieQU1I2F9fOGRYT+LuVaSbmKPQgt9qBb6bZ6IaVryh0mcumdv4RG8UEh+h+Sg38w6T0/+So1GazYKvPo+XZDcyDTak8oE7JA9hslRE1DRpZ3ITN9JecShONGRTfDMYQC1hzkJFXNyHxc8SQLplAg2U2pbzGSueP9GqgEOfCCzzyF4uh7tXV7csfVS3Nij5ovqhGHuFO9e89mL2ULF0g5x+4RhU39AR6l2rLPDKV6VB0eg7R6EoKYTmjqOrG0OWsKNo30fm1RHYcCkOC3MD8/XrjoeNh5eaIQyWi9J31aHDwNTk/yhD8N3SiV+2mwbIVAY3ErArv5UnQDXEtE9Y8Ux+/TWmqppjHrfVfVDmxNMCCk8HIhAEivRR9a8y4jpMU+gT50L9yqAnSDpnqV/gr76u78dyq6YeTXknLU0QA39UusTDkVF4M=",
        "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)(82310400026)(36860700016)(376014)(1800799024)(13003099007)(18002099003)(56012099003);\n DIR:OUT; SFP:1101;",
        "X-Exchange-RoutingPolicyChecked": "\n cPI5EVRK+poyQUoqp1fd9vTBr5jwh1w6WRV9YPQJFwYirvPT0u6rrCHtybRcqBM1HSmF+HNAItVVO3o3H6guEyxD4e2J2V1thuwZhaQaaKSjTiLphZ1CpEH6VMp0W7KJ+C2yVcEa4KUx88y9cTsmIsYE6YcKai33p27CYwN9zkjrBrxyBuZtFFIQYr0QP7At4TT0cbSYmF/GKUaClyHBDnwMy6AVsXCz4wul0cErlnlsCHUQKr9CpIxIwVwqeBtWBRVKPBkBzsLYjxc77Sh2TlnT5qJTBHH1bVZI3J8tk3e46ASiCL6QKx4BS7Rg5cEum73U9vQ4sXJYTqDWqn/8fA==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [
            "PAVPR08MB9210",
            "PAWPR08MB10974"
        ],
        "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n DB1PEPF0003922D.eurprd03.prod.outlook.com",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n 1fef9e35-9cbe-4eea-9efd-08dea6d20047",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|36860700016|1800799024|14060799003|376014|82310400026|35042699022|18002099003|56012099003;",
        "X-Microsoft-Antispam-Message-Info": "\n wRJayCzQakzE44ZJnsS8FKqSJ5l4SiiOuvWzzSfhNz2Sv36kN8tuYKNlRPNTtO2U8VNBdk+wQceM08suWI+6UQGduFF2KfmFRjczxIzmStc8deOXTb5tffwqfEJuhsfAkblrpO5sHMeKtd6Qf+SfVqV1nJlk8tDstYa6hJULPP9DTFHwkletnq9KAD3XfOxdmLNicEk8zFWyibxV/U1TbT+z5Sa39Jil5IkDuelB50cY4pkDjvMKUp3tK/B+hIT/rbQnneIfoOv8Qvi9XxWFIVWPD2qXYsxHfBCUV1vxtBeys8Tf5/aICW2pIbp+DtU/HND3se7cWjxCwoVFEodXKdbo+JIz1SCNuJkLmcsxsjJjms8Km8SXs7wwKT+tpyfNsG1x8Nx9r6CLzd/3LL2ptUoTPCKypfFr5H0o7DG+KPvgVQlo91hgVgzoPiXM/kbSvxybvPYCgsJ1pOOZ5gTzskiPlK1r1hHc+Drhr8XrGUWDKMA9LMRenuajxFe4YfyherWv82ExFlYARo2pW6LN/fKt1fnyo1m/5lbpIPWr6ImBLV9yMLirWOEpq40BGV0KXAKUuqA+BDKRhDP+3DUsT8K47LY7oIdUhV60v4YwnJbjvs1kYmF5kqkb6wOVCMhgY6jqsWKXSi3gn2FBvSWTiSjX8TCroUyOe/zId/U4aqeeBT/AlgYmzBIRGaN2buJ4FRMSGSr59LB/Vh2jlDQ8E3LnAe2pagG7o4Q4aOxppzM=",
        "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)(36860700016)(1800799024)(14060799003)(376014)(82310400026)(35042699022)(18002099003)(56012099003);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n yVUFhmNqencCGL34z0WsiMzNd+WxRZq98jorjPr+hS72hMRxKlkq0ADzvpcYhrXmTXEZSQE656i7+LBkJtPz1Z4yb/dI+7B1WlRSGsiUSMa7K3EvzZ5zIfd9x1AnevryhmJLQW+7ovaH467cYjSGNmisWpgjCvC8+UrX1q5Mbay82KAsdxZFMl0KgBM+MXb+RTK0bu23s1LkqDKc8YfqYloyUBeGfkgWIfMBxkJR4TNYvSgrzTgVNHUPYigUigMsImPds8J1KxYEwVfph63oBu6whgr1joAE0rnYKTYqxnVYR3zqou+sQb/ZnGYIVSUIb0XhFXmC8JOQfz43jUaOTBunymW21YXJJ34BeIc8Mrj1UhUvndnEXQ850wpSSkLyo5kq+sGM71kx/BYnEztMuhFIT/O3hzwx4aJBeVEmdG6zLQfRwH9280Ciux+H5VGF",
        "X-OriginatorOrg": "arm.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "30 Apr 2026 16:04:30.7424 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 68fc2513-d8c5-4666-5f34-08dea6d229d9",
        "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 DB1PEPF0003922D.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": "Hi All,\n\nBootstrapped and reg tested for aarch64-linux gnu\n\nOkay for master?\nAlfie\n\n-- >8 --\n\nUpdates the gating for the ssve-fexpa intrinsic to be supported in\nstreaming-mode if \"ssve-fexpa\" is supported.\n\nAdditionally, implements the \"__ARM_FEATURE_SSVE_FEXPA\" macro.\n\ngcc/ChangeLog:\n\n\t* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Add\n\t__ARM_FEATURE_SSVE_FEXPA.\n\t* config/aarch64/aarch64-sve-builtins-base.def (svexpa): Change gating\n\tto streaming compatible if AARCH64_FL_SSVE_FEXPA is supported.\n\t* config/aarch64/aarch64-sve.md: Update gating to be enabled if\n\tTARGET_SSVE_FEXPA.\n\t* config/aarch64/aarch64.h (TARGET_SVE_FEXPA): New macro.\n\t* config/aarch64/iterators.md (SVE_FP_UNARY_INT): Update FEXPA gating.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/aarch64/pragma_cpp_predefs_4.c: Add\n\t__ARM_FEATURE_SSVE_FEXPA test.\n\t* gcc.target/aarch64/sve/acle/asm/expa_f16.c: Add streaming mode test.\n\t* gcc.target/aarch64/sve/acle/asm/expa_f32.c: Likewise.\n\t* gcc.target/aarch64/sve/acle/asm/expa_f64.c: Likewise.\n\t* lib/target-supports.exp (sve_ext): Add ssve-fexpa support test.\n\t* g++.target/aarch64/sve/aarch64-ssve.exp (GCC target pragma): Add\n\tssve-fexpa.\n\t(streaming_ok): Add svexpa.\n\t(nonstreaming_only) Remove svexpa.\n---\n gcc/config/aarch64/aarch64-c.cc                          | 2 ++\n gcc/config/aarch64/aarch64-sve-builtins-base.def         | 5 ++++-\n gcc/config/aarch64/aarch64-sve.md                        | 2 +-\n gcc/config/aarch64/aarch64.h                             | 6 ++++++\n gcc/config/aarch64/iterators.md                          | 2 +-\n gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp    | 4 ++--\n gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c  | 5 +++++\n gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f16.c | 8 +++++++-\n gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f32.c | 8 +++++++-\n gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f64.c | 8 +++++++-\n gcc/testsuite/lib/target-supports.exp                    | 2 +-\n 11 files changed, 43 insertions(+), 9 deletions(-)",
    "diff": "diff --git a/gcc/config/aarch64/aarch64-c.cc b/gcc/config/aarch64/aarch64-c.cc\nindex 8d3f4820dc9..a55028dcd0a 100644\n--- a/gcc/config/aarch64/aarch64-c.cc\n+++ b/gcc/config/aarch64/aarch64-c.cc\n@@ -318,6 +318,8 @@ aarch64_update_cpp_builtins (cpp_reader *pfile)\n \t\t\t\"__ARM_FEATURE_SME_TMOP\", pfile);\n   aarch64_def_or_undef (AARCH64_HAVE_ISA (SSVE_BITPERM),\n \t\t\t\"__ARM_FEATURE_SSVE_BITPERM\", pfile);\n+  aarch64_def_or_undef (AARCH64_HAVE_ISA (SSVE_FEXPA),\n+\t\t\t\"__ARM_FEATURE_SSVE_FEXPA\", pfile);\n \n   // Function multi-versioning defines\n   aarch64_def_or_undef (targetm.has_ifunc_p (),\ndiff --git a/gcc/config/aarch64/aarch64-sve-builtins-base.def b/gcc/config/aarch64/aarch64-sve-builtins-base.def\nindex c1e00a51b7b..3b5e2433674 100644\n--- a/gcc/config/aarch64/aarch64-sve-builtins-base.def\n+++ b/gcc/config/aarch64/aarch64-sve-builtins-base.def\n@@ -274,7 +274,6 @@ DEF_SVE_FUNCTION (svadrb, adr_offset, none, none)\n DEF_SVE_FUNCTION (svadrd, adr_index, none, none)\n DEF_SVE_FUNCTION (svadrh, adr_index, none, none)\n DEF_SVE_FUNCTION (svadrw, adr_index, none, none)\n-DEF_SVE_FUNCTION (svexpa, unary_uint, all_float, none)\n DEF_SVE_FUNCTION (svld1_gather, load_gather_sv, sd_data, implicit)\n DEF_SVE_FUNCTION (svld1_gather, load_gather_vs, sd_data, implicit)\n DEF_SVE_FUNCTION (svld1sb_gather, load_ext_gather_offset, sd_integer, implicit)\n@@ -377,3 +376,7 @@ DEF_SVE_FUNCTION (svzip2q, binary, all_data, none)\n #define REQUIRED_EXTENSIONS sve_and_sme (0, AARCH64_FL_SME2p2)\n DEF_SVE_FUNCTION (svcompact, unary, sd_data, implicit)\n #undef REQUIRED_EXTENSIONS\n+\n+#define REQUIRED_EXTENSIONS streaming_compatible (0, AARCH64_FL_SSVE_FEXPA)\n+DEF_SVE_FUNCTION (svexpa, unary_uint, all_float, none)\n+#undef REQUIRED_EXTENSIONS\ndiff --git a/gcc/config/aarch64/aarch64-sve.md b/gcc/config/aarch64/aarch64-sve.md\nindex a910c5b3435..3494a4821fb 100644\n--- a/gcc/config/aarch64/aarch64-sve.md\n+++ b/gcc/config/aarch64/aarch64-sve.md\n@@ -3892,7 +3892,7 @@ (define_insn \"@aarch64_sve_<optab><mode>\"\n \t(unspec:SVE_FULL_F\n \t  [(match_operand:<V_INT_EQUIV> 1 \"register_operand\" \"w\")]\n \t  SVE_FP_UNARY_INT))]\n-  \"TARGET_SVE\"\n+  \"TARGET_SVE_FEXPA\"\n   \"<sve_fp_op>\\t%0.<Vetype>, %1.<Vetype>\"\n   [(set_attr \"sve_type\" \"sve_fp_exp\")]\n )\ndiff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h\nindex c8b9b62e8f9..a0282ce285b 100644\n--- a/gcc/config/aarch64/aarch64.h\n+++ b/gcc/config/aarch64/aarch64.h\n@@ -585,6 +585,12 @@ through +ssve-fp8dot2.  */\n \n #define TARGET_SSME2_FP8 (TARGET_FP8 && TARGET_STREAMING_SME2)\n \n+/* SVE FEXPA instructions, enabled through +sve for streaming and +ssve-fexpa\n+   for streaming.  */\n+#define TARGET_SVE_FEXPA ((TARGET_SVE || TARGET_STREAMING) \\\n+\t\t\t   && (AARCH64_HAVE_ISA (SSVE_FEXPA) \\\n+\t\t\t       || TARGET_NON_STREAMING))\n+\n /* Standard register usage.  */\n \n /* 31 64-bit general purpose registers R0-R30:\ndiff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md\nindex dbf9d6272a8..6b969258182 100644\n--- a/gcc/config/aarch64/iterators.md\n+++ b/gcc/config/aarch64/iterators.md\n@@ -3588,7 +3588,7 @@ (define_int_iterator SVE_INT_UNARY [UNSPEC_REVB\n ;; This might need to be revisited if new operations are added in future.\n (define_int_iterator SVE_FP_UNARY [UNSPEC_FRECPE UNSPEC_RSQRTE])\n \n-(define_int_iterator SVE_FP_UNARY_INT [(UNSPEC_FEXPA \"TARGET_NON_STREAMING\")])\n+(define_int_iterator SVE_FP_UNARY_INT [UNSPEC_FEXPA])\n \n (define_int_iterator SVE_INT_SHIFT_IMM [UNSPEC_ASRD\n \t\t\t\t\t(UNSPEC_SQSHLU \"TARGET_SVE2\")\ndiff --git a/gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp b/gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp\nindex 56a8931e3a5..1ba48591ef8 100644\n--- a/gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp\n+++ b/gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp\n@@ -37,7 +37,7 @@ gcc_parallel_test_enable 0\n set preamble {\n #include <arm_sve.h>\n \n-#pragma GCC target \"+i8mm+f32mm+f64mm+sve2+sve2-bitperm+sve2-sm4+sve2-aes+sve2-sha3+sme+ssve-bitperm+sme2p2\"\n+#pragma GCC target \"+i8mm+f32mm+f64mm+sve2+sve2-bitperm+sve2-sm4+sve2-aes+sve2-sha3+sme+ssve-bitperm+sme2p2+ssve-fexpa\"\n \n extern svbool_t &pred;\n \n@@ -149,6 +149,7 @@ set streaming_ok {\n     u8 = svbext (u8, u8)\n     u8 = svbgrp (u8, u8)\n     u32 = svcompact (pred, u32)\n+    f32 = svexpa (u32)\n }\n \n # This order follows the list in the SME manual.\n@@ -167,7 +168,6 @@ set nonstreaming_only {\n     u8 = svaesmc (u8)\n     f32 = svbfmmla (f32, bf16, bf16)\n     f32 = svadda (pred, 1.0f, f32)\n-    f32 = svexpa (u32)\n     f32 = svmmla (f32, f32, f32)\n     f32 = svtmad (f32, f32, 0)\n     f32 = svtsmul (f32, u32)\ndiff --git a/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c b/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c\nindex d7976e3f1b1..4d594804a40 100644\n--- a/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c\n+++ b/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c\n@@ -404,3 +404,8 @@\n #ifndef __ARM_FEATURE_SME2\n #error Foo\n #endif\n+\n+#pragma GCC target \"arch=armv8-a+sve2+ssve-fexpa\"\n+#ifndef __ARM_FEATURE_SSVE_FEXPA\n+#error Foo\n+#endif\ndiff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f16.c\nindex 87c26e6ea6b..fe9cbe1d8f4 100644\n--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f16.c\n+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f16.c\n@@ -1,8 +1,14 @@\n-/* { dg-skip-if \"\" { *-*-* } { \"-DSTREAMING_COMPATIBLE\" } { \"\" } } */\n+/* { dg-do assemble { target aarch64_asm_ssve-fexpa_ok } } */\n+/* { dg-do compile { target { ! aarch64_asm_ssve-fexpa_ok } } } */\n /* { dg-final { check-function-bodies \"**\" \"\" \"-DCHECK_ASM\" } } */\n \n #include \"test_sve_acle.h\"\n \n+#ifdef STREAMING_COMPATIBLE\n+/* We need to add sve2 here to work arount not supporting sme without sve2 */\n+#pragma GCC target \"+sve2+ssve-fexpa\"\n+#endif\n+\n /*\n ** expa_f16_tied1:\n **\tfexpa\tz0\\.h, z0\\.h\ndiff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f32.c\nindex 5e9839537c7..fc179cb0c8b 100644\n--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f32.c\n+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f32.c\n@@ -1,8 +1,14 @@\n-/* { dg-skip-if \"\" { *-*-* } { \"-DSTREAMING_COMPATIBLE\" } { \"\" } } */\n+/* { dg-do assemble { target aarch64_asm_ssve-fexpa_ok } } */\n+/* { dg-do compile { target { ! aarch64_asm_ssve-fexpa_ok } } } */\n /* { dg-final { check-function-bodies \"**\" \"\" \"-DCHECK_ASM\" } } */\n \n #include \"test_sve_acle.h\"\n \n+#ifdef STREAMING_COMPATIBLE\n+/* We need to add sve2 here to work arount not supporting sme without sve2 */\n+#pragma GCC target \"+sve2+ssve-fexpa\"\n+#endif\n+\n /*\n ** expa_f32_tied1:\n **\tfexpa\tz0\\.s, z0\\.s\ndiff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f64.c\nindex b117df2a4b1..97ab56da263 100644\n--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f64.c\n+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f64.c\n@@ -1,8 +1,14 @@\n-/* { dg-skip-if \"\" { *-*-* } { \"-DSTREAMING_COMPATIBLE\" } { \"\" } } */\n+/* { dg-do assemble { target aarch64_asm_ssve-fexpa_ok } } */\n+/* { dg-do compile { target { ! aarch64_asm_ssve-fexpa_ok } } } */\n /* { dg-final { check-function-bodies \"**\" \"\" \"-DCHECK_ASM\" } } */\n \n #include \"test_sve_acle.h\"\n \n+#ifdef STREAMING_COMPATIBLE\n+/* We need to add sve2 here to work arount not supporting sme without sve2 */\n+#pragma GCC target \"+sve2+ssve-fexpa\"\n+#endif\n+\n /*\n ** expa_f64_tied1:\n **\tfexpa\tz0\\.d, z0\\.d\ndiff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp\nindex f0def086a30..6ffa40fb1dd 100644\n--- a/gcc/testsuite/lib/target-supports.exp\n+++ b/gcc/testsuite/lib/target-supports.exp\n@@ -12750,7 +12750,7 @@ set exts_sve2 {\n     \"sme-f8f16\" \"sme-f8f32\"\n     \"sme-b16b16\" \"sme-f16f16\" \"sme-i16i64\" \"sme\" \"sme2\" \"sme2p1\" \"sme2p2\"\n     \"ssve-fp8dot2\" \"ssve-fp8dot4\" \"ssve-fp8fma\" \"sve-bfscale\"\n-    \"sme-tmop\" \"ssve-bitperm\"\n+    \"sme-tmop\" \"ssve-fexpa\" \"ssve-bitperm\"\n }\n \n foreach { aarch64_ext } $exts {\n",
    "prefixes": []
}