get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1839983,
    "url": "http://patchwork.ozlabs.org/api/patches/1839983/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/patch-17724-tamar@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": "<patch-17724-tamar@arm.com>",
    "list_archive_url": null,
    "date": "2023-09-27T00:51:30",
    "name": "AArch64: Use SVE unpredicated LOGICAL expressions when Advanced SIMD inefficient [PR109154]",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "b9564cbfdeaca02fe64b7997c1d0b87b7659632f",
    "submitter": {
        "id": 69689,
        "url": "http://patchwork.ozlabs.org/api/people/69689/?format=api",
        "name": "Tamar Christina",
        "email": "Tamar.Christina@arm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/patch-17724-tamar@arm.com/mbox/",
    "series": [
        {
            "id": 375021,
            "url": "http://patchwork.ozlabs.org/api/series/375021/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=375021",
            "date": "2023-09-27T00:51:30",
            "name": "AArch64: Use SVE unpredicated LOGICAL expressions when Advanced SIMD inefficient [PR109154]",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/375021/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1839983/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1839983/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=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector2-armh-onmicrosoft-com\n header.b=W9reBpQQ;\n\tdkim=pass (1024-bit key) header.d=armh.onmicrosoft.com\n header.i=@armh.onmicrosoft.com header.a=rsa-sha256\n header.s=selector2-armh-onmicrosoft-com header.b=W9reBpQQ;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org;\n envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)",
            "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=arm.com",
            "sourceware.org; spf=pass smtp.mailfrom=arm.com"
        ],
        "Received": [
            "from server2.sourceware.org (server2.sourceware.org\n [IPv6:2620:52:3:1:0:246e:9693:128c])\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 4RwJ3b3vYJz1ypJ\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 27 Sep 2023 10:52:11 +1000 (AEST)",
            "from server2.sourceware.org (localhost [IPv6:::1])\n\tby sourceware.org (Postfix) with ESMTP id 8B6E5385F00B\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 27 Sep 2023 00:52:09 +0000 (GMT)",
            "from EUR02-VI1-obe.outbound.protection.outlook.com\n (mail-vi1eur02on2088.outbound.protection.outlook.com [40.107.241.88])\n by sourceware.org (Postfix) with ESMTPS id 4516D386187D\n for <gcc-patches@gcc.gnu.org>; Wed, 27 Sep 2023 00:51:54 +0000 (GMT)",
            "from AM0PR05CA0092.eurprd05.prod.outlook.com (2603:10a6:208:136::32)\n by DBAPR08MB5591.eurprd08.prod.outlook.com (2603:10a6:10:1ae::6) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.21; Wed, 27 Sep\n 2023 00:51:49 +0000",
            "from AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com\n (2603:10a6:208:136:cafe::36) by AM0PR05CA0092.outlook.office365.com\n (2603:10a6:208:136::32) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.35 via Frontend\n Transport; Wed, 27 Sep 2023 00:51:49 +0000",
            "from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by\n AM7EUR03FT033.mail.protection.outlook.com (100.127.140.129) with\n Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.6838.20 via Frontend Transport; Wed, 27 Sep 2023 00:51:49 +0000",
            "(\"Tessian outbound b5a0f4347031:v175\");\n Wed, 27 Sep 2023 00:51:49 +0000",
            "from f012033468bc.1\n by 64aa7808-outbound-1.mta.getcheckrecipient.com id\n 1FEA0624-F7AE-46C1-98A9-BAE3A55C96A5.1;\n Wed, 27 Sep 2023 00:51:41 +0000",
            "from EUR04-HE1-obe.outbound.protection.outlook.com\n by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id\n f012033468bc.1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);\n Wed, 27 Sep 2023 00:51:41 +0000",
            "from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17)\n by AS8PR08MB9743.eurprd08.prod.outlook.com (2603:10a6:20b:615::18)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Wed, 27 Sep\n 2023 00:51:39 +0000",
            "from VI1PR08MB5325.eurprd08.prod.outlook.com\n ([fe80::662f:8e26:1bf8:aaa1]) by VI1PR08MB5325.eurprd08.prod.outlook.com\n ([fe80::662f:8e26:1bf8:aaa1%7]) with mapi id 15.20.6813.027; Wed, 27 Sep 2023\n 00:51:39 +0000"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 4516D386187D",
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=pu9uc/bi2EfCfIX0KLmfQ4r9co2G/Q69jlco4mNde1Q=;\n b=W9reBpQQn4inPADIzSMtSFFP8tPwFf61Wkq3sd+Fu9zzCn2vwa63DDO1huh7MItxTKz8xs+wvQlWQrKut87i+M0q0+ZvkHDfQld+Dmjdujpzhzx9t+yFya5HvSHR2GqSsYTY0B+jyfcyr6k7VQWr2YJ6wkD28prNO2Hvv62Ijg0=",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=pu9uc/bi2EfCfIX0KLmfQ4r9co2G/Q69jlco4mNde1Q=;\n b=W9reBpQQn4inPADIzSMtSFFP8tPwFf61Wkq3sd+Fu9zzCn2vwa63DDO1huh7MItxTKz8xs+wvQlWQrKut87i+M0q0+ZvkHDfQld+Dmjdujpzhzx9t+yFya5HvSHR2GqSsYTY0B+jyfcyr6k7VQWr2YJ6wkD28prNO2Hvv62Ijg0="
        ],
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 63.35.35.123)\n smtp.mailfrom=arm.com; dkim=pass (signature was verified)\n header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of arm.com designates\n 63.35.35.123 as permitted sender) receiver=protection.outlook.com;\n client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;\n pr=C",
        "X-CheckRecipientChecked": "true",
        "X-CR-MTA-CID": "01a4289dfbdfb8c6",
        "X-CR-MTA-TID": "64aa7808",
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=n9qZCkY6BY84UFkvBr+abQJBrdSVfwqblGo07WkkzKPila48Eh8GaCQGKZN08e15n89R8DgUDY8JPcGT6HV3VC0+fgt3Yh0oClXwaT60xwARIy3TMvT26IP7iiU/kfixcE8l/mWDWxkIMozudeSuAVeIH51tZ7j4kd34/V554nX4Ohg8bBu8Jno36ZlVb2T38YmKMVG9UW8PJEFWFPOi0D94hHH7V26tIHo/Ju5a767UQCpOzzrhdKo2lPb3/Mb2LqrJP9nz2/c9tJK5JLtR8CJdzicfEwKDM3XMRk9mDNIBl4fikgEAXcV79lOuzytWz9VDbxaA/Vp2/SpSSosk/w==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\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=pu9uc/bi2EfCfIX0KLmfQ4r9co2G/Q69jlco4mNde1Q=;\n b=RzzKaa1ViyBKrtUJ93dyJre0PEluBMIktScQT0KVGcFTw/HLw7MnrP9QrZynoVUUfKm25extIQ3x9jhJqIzPCsaiAfxj+TYYHccoP3yHE8zeZYV755cseufnmQKwetASW3bLWBbz2lrKsvMDEaXWhFPo+9ip5vVenfqMDPDW8gdgQ+tCQeXxli1OiuiVj3HV2a0yQsdzM1MxdEPPBj4P/YdC0qh7ENRLa2+4VyVoutQkChMJm0QBQwtgCbSOE+svFGvvBYVCY5C+/WUhYfgmBLvhQvIGUtSYb6J8TkzpUk+Op02oDmj93DM9kVt5bZjGc0OIhCYxcMI3we5jaw6Owg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass\n header.d=arm.com; arc=none",
        "Authentication-Results-Original": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=arm.com;",
        "Date": "Wed, 27 Sep 2023 01:51:30 +0100",
        "From": "Tamar Christina <tamar.christina@arm.com>",
        "To": "gcc-patches@gcc.gnu.org",
        "Cc": "nd@arm.com, Richard.Earnshaw@arm.com, Marcus.Shawcroft@arm.com,\n Kyrylo.Tkachov@arm.com, richard.sandiford@arm.com",
        "Subject": "[PATCH]AArch64: Use SVE unpredicated LOGICAL expressions when\n Advanced SIMD inefficient [PR109154]",
        "Message-ID": "<patch-17724-tamar@arm.com>",
        "Content-Type": "multipart/mixed; boundary=\"3AlS6dL4b+V6dCXC\"",
        "Content-Disposition": "inline",
        "X-ClientProxiedBy": "SA0PR11CA0070.namprd11.prod.outlook.com\n (2603:10b6:806:d2::15) To VI1PR08MB5325.eurprd08.prod.outlook.com\n (2603:10a6:803:13e::17)",
        "MIME-Version": "1.0",
        "X-MS-TrafficTypeDiagnostic": "\n VI1PR08MB5325:EE_|AS8PR08MB9743:EE_|AM7EUR03FT033:EE_|DBAPR08MB5591:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "38530fd8-6a90-433e-7f43-08dbbef3eea7",
        "x-checkrecipientrouted": "true",
        "NoDisclaimer": "true",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam-Untrusted": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info-Original": "\n cIq2kVQXWvIqCdjrQHDH02pktVmCQa7A68tzg9piAG+ob6qZmT5ebrhP4VwHf2tnqCp+Ou+rYyHiFo5gP7iPfbKzLCvzFFpmgwU8p3GwwfG19WlnSDHrC6H/D9AWR+xok7okb1ag3zdudnIv9SJQtGQbOrTz7ke9Ys0A0sfO4AkIO3r4q87h22ZTpN9g3G/WIUFC7bdXKeHqrvvQhWlu9gN0zl4xySKzYojsFQA/EO2tZqifzbTL3pGiNjmDjyIDdATj2L5po/3I0xR1BfI/fspGRwI50yBmG/I1Q9axneylpieNRvKv2fvYdExernnzlWbHhpFrRkqZgDSlCN6YXZoBPPOmzc0LVx/hI9+WNl/3Xb0KEZTpGSVX3LvZCUTWefb6/wAX7SDGN5LoGu3Uf5T+JI6Gw6q+FT/HUb/4/EpgCx4Ai0rqcuYhEUb4eEwW9WETG5uBDn0JHWPMvgcKRFKZpW3qPznPC7L8aTqzSa5Ar87twOxsC68jvwkEvL6cnXCRyVM7pPN7wy6bCy+OTLw0GXkKAp+HkkF0l/79px1/sjux7aB5VQpIjmc0NaEtLIYhVaqGh4NY3A3VymaSwUTdk13MkaXk8lQZXbuC5GXhfh8t9BxsYEGF9XCdp9vo993BSnyYtDT8QNTGONFX/8IcMO8ag0RiE6jXjCNTdUs=",
        "X-Forefront-Antispam-Report-Untrusted": "CIP:255.255.255.255; CTRY:; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com;\n PTR:; CAT:NONE;\n SFS:(13230031)(366004)(136003)(346002)(396003)(376002)(39860400002)(230922051799003)(1800799009)(186009)(451199024)(26005)(6666004)(478600001)(86362001)(2616005)(36756003)(83380400001)(6486002)(6506007)(5660300002)(44144004)(38100700002)(33964004)(6512007)(8676002)(8936002)(2906002)(4326008)(316002)(41300700001)(84970400001)(66946007)(66476007)(66556008)(6916009)(235185007)(44832011)(4216001)(2700100001);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [
            "AS8PR08MB9743",
            "DBAPR08MB5591"
        ],
        "Original-Authentication-Results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=arm.com;",
        "X-EOPAttributedMessage": "0",
        "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n 20539a06-698d-462f-8b2f-08dbbef3e860",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n JlKhG1PQ9VFLOrGu+EwzSm7DwYlux+SdilcNeZWvc1Jm2Bsl7KOyKbUHokGyLmIHjd2Irbv1cZL1/oAVbhonIoYXP1nK0cA5AJGz9Xr35+NcN9dTEVXmFrHWN/1gt2S/c2SRQmpp3EVWs/1BlwGMDhmgkf5CnbkBCHf3DmSIO/8PmskavIBmEXDKiWC9HOEj9Tq2+m/WRHaIMCburpfnIYttZe5hFwavgrs6CzK3SvkDkt7u4ahL+SxVRR4jxKnmunlipyRDl70ljRwi54wE+9aroy8YkxXU7p73OR+tLDjuQNEQdG+X6extA67O2J6AInPyVM4/ig4Rk/abwcyWAYANLBGX0gubT2ySYCRQpYZilt5/4Vs818V5eIHEJ3FjlUb+kxRp+klb/bHCeOziiyz/j0qlKbfHH/NPEVYPTCCZD3kG+Zws+KFeuPebRBcy2jRgaiE6Y3fvl8ceZxNeS7nHak8e6MWdOG/tmSZzt+/o30kB+bGuegJJcDo17pseLPKcPoVIsIfCP0dM7ZbkeXqNQ4bRwrOIZWClZjGvsaUCQuOqzVMCQQwaU/7looTmqFuGRZu5toaOM4WZQboRjooPyhSYyTDkPTcPln1/5S53Osxza9QJm+IjrExcuZs95HDT6QzUi3q7/XvVFG6X6EJUR0305Aa5V66YMBNpIC0JTZ3nL+SIPo+wjXZ5nVPEXb7uc5uTlKUQNJ4dbeQ9Zq6vWPm3EgWvmjOnwh0wd99J75XygyVZU+Jnn5FlLF1X3INusCSlA93RxWmQIVzc8TcYnSr2MXk/81AWdInSsuJEO0TSd038A1YHpM6ppbfn",
        "X-Forefront-Antispam-Report": "CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;\n PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE;\n SFS:(13230031)(4636009)(376002)(396003)(39860400002)(346002)(136003)(230922051799003)(1800799009)(451199024)(82310400011)(186009)(36840700001)(46966006)(40470700004)(235185007)(84970400001)(2906002)(41300700001)(44832011)(5660300002)(4326008)(8676002)(8936002)(316002)(70586007)(336012)(26005)(70206006)(6916009)(40460700003)(478600001)(44144004)(6486002)(6506007)(82740400003)(6666004)(83380400001)(2616005)(6512007)(36756003)(47076005)(33964004)(36860700001)(40480700001)(356005)(81166007)(86362001)(4216001)(2700100001);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "arm.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "27 Sep 2023 00:51:49.2560 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 38530fd8-6a90-433e-7f43-08dbbef3eea7",
        "X-MS-Exchange-CrossTenant-Id": "f34e5979-57d9-4aaa-ad4d-b122a662184d",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];\n Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n AM7EUR03FT033.eop-EUR03.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-Spam-Status": "No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED,\n DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, KAM_LOTSOFHASH,\n KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE,\n TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6",
        "X-Spam-Checker-Version": "SpamAssassin 3.4.6 (2021-04-09) on\n server2.sourceware.org",
        "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\nSVE has much bigger immediate encoding range for bitmasks than Advanced SIMD has\nand so on a system that is SVE capable if we need an Advanced SIMD Inclusive-OR\nby immediate and would require a reload then an unpredicated SVE ORR instead.\n\nThis has both speed and size improvements.\n\nBootstrapped Regtested on aarch64-none-linux-gnu and no issues.\n\nOk for master?\n\nThanks,\nTamar\n\ngcc/ChangeLog:\n\n\tPR tree-optimization/109154\n\t* config/aarch64/aarch64.md (<optab><mode>3): Convert to new syntax and\n\tSVE split case.\n\t* config/aarch64/iterators.md (VCONV, vconv): New.\n\ngcc/testsuite/ChangeLog:\n\n\tPR tree-optimization/109154\n\t* gcc.target/aarch64/sve/fneg-abs_2.c: Updated.\n\t* gcc.target/aarch64/sve/fneg-abs_4.c: Updated.\n\n--- inline copy of patch -- \ndiff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md\nindex 60c92213c75a2a4c18a6b59ae52fe45d1e872718..377c5cafedd43d8d1320489a36267cc6e5f15239 100644\n\n\n\n\n--\ndiff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md\nindex 60c92213c75a2a4c18a6b59ae52fe45d1e872718..377c5cafedd43d8d1320489a36267cc6e5f15239 100644\n--- a/gcc/config/aarch64/aarch64.md\n+++ b/gcc/config/aarch64/aarch64.md\n@@ -4551,17 +4551,27 @@ (define_insn_and_split \"*aarch64_and<mode>_imm2\"\n   }\n )\n \n-(define_insn \"<optab><mode>3\"\n-  [(set (match_operand:GPI 0 \"register_operand\" \"=r,rk,w\")\n-\t(LOGICAL:GPI (match_operand:GPI 1 \"register_operand\" \"%r,r,w\")\n-\t\t     (match_operand:GPI 2 \"aarch64_logical_operand\" \"r,<lconst>,w\")))]\n-  \"\"\n-  \"@\n-  <logical>\\\\t%<w>0, %<w>1, %<w>2\n-  <logical>\\\\t%<w>0, %<w>1, %2\n-  <logical>\\\\t%0.<Vbtype>, %1.<Vbtype>, %2.<Vbtype>\"\n-  [(set_attr \"type\" \"logic_reg,logic_imm,neon_logic\")\n-   (set_attr \"arch\" \"*,*,simd\")]\n+(define_insn_and_split \"<optab><mode>3\"\n+  [(set (match_operand:GPI 0 \"register_operand\")\n+\t(LOGICAL:GPI (match_operand:GPI 1 \"register_operand\")\n+\t\t     (match_operand:GPI 2 \"aarch64_logical_operand\")))]\n+  \"\"\n+  {@ [cons: =0, 1, 2; attrs: type, arch]\n+     [r , %r, r       ; logic_reg , *   ] <logical>\\t%<w>0, %<w>1, %<w>2\n+     [rk, r , <lconst>; logic_imm , *   ] <logical>\\t%<w>0, %<w>1, %2\n+     [w , 0 , <lconst>; *         , sve ] #\n+     [w , w , w       ; neon_logic, simd] <logical>\\t%0.<Vbtype>, %1.<Vbtype>, %2.<Vbtype>\n+  }\n+  \"&& TARGET_SVE && rtx_equal_p (operands[0], operands[1])\n+   && satisfies_constraint_<lconst> (operands[2])\n+   && FP_REGNUM_P (REGNO (operands[0]))\"\n+  [(const_int 0)]\n+  {\n+    rtx op1 = lowpart_subreg (<VCONV>mode, operands[1], <MODE>mode);\n+    rtx op2 = gen_const_vec_duplicate (<VCONV>mode, operands[2]);\n+    emit_insn (gen_<optab><vconv>3 (op1, op1, op2));\n+    DONE;\n+  }\n )\n \n ;; zero_extend version of above\ndiff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md\nindex d17becc37e230684beaee3c69e2a0f0ce612eda5..568cd5d1a3a9e00475376177ad13de72609df3d8 100644\n--- a/gcc/config/aarch64/iterators.md\n+++ b/gcc/config/aarch64/iterators.md\n@@ -1432,6 +1432,11 @@ (define_mode_attr VCONQ [(V8QI \"V16QI\") (V16QI \"V16QI\")\n \t\t\t (HI   \"V8HI\") (QI   \"V16QI\")\n \t\t\t (SF   \"V4SF\") (DF   \"V2DF\")])\n \n+;; 128-bit container modes for the lower part of an SVE vector to the inner or\n+;; scalar source mode.\n+(define_mode_attr VCONV [(SI \"VNx4SI\") (DI \"VNx2DI\")])\n+(define_mode_attr vconv [(SI \"vnx4si\") (DI \"vnx2di\")])\n+\n ;; Half modes of all vector modes.\n (define_mode_attr VHALF [(V8QI \"V4QI\")  (V16QI \"V8QI\")\n \t\t\t (V4HI \"V2HI\")  (V8HI  \"V4HI\")\ndiff --git a/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_2.c b/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_2.c\nindex a60cd31b9294af2dac69eed1c93f899bd5c78fca..fe9f27bf91b8fb18205a5891a5d5e847a5d88e4b 100644\n--- a/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_2.c\n+++ b/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_2.c\n@@ -7,8 +7,7 @@\n \n /*\n ** f1:\n-**\tmovi\tv[0-9]+.2s, 0x80, lsl 24\n-**\torr\tv[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b\n+**\torr\tz0.s, z0.s, #0x80000000\n **\tret\n */\n float32_t f1 (float32_t a)\n@@ -18,9 +17,7 @@ float32_t f1 (float32_t a)\n \n /*\n ** f2:\n-**\tmov\tx0, -9223372036854775808\n-**\tfmov\td[0-9]+, x0\n-**\torr\tv[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b\n+**\torr\tz0.d, z0.d, #0x8000000000000000\n **\tret\n */\n float64_t f2 (float64_t a)\ndiff --git a/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_4.c b/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_4.c\nindex 21f2a8da2a5d44e3d01f6604ca7be87e3744d494..707bcb0b6c53e212b55a255f500e9e548e9ccd80 100644\n--- a/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_4.c\n+++ b/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_4.c\n@@ -6,9 +6,7 @@\n \n /*\n ** negabs:\n-**\tmov\tx0, -9223372036854775808\n-**\tfmov\td[0-9]+, x0\n-**\torr\tv[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b\n+**\torr\tz0.d, z0.d, #0x8000000000000000\n **\tret\n */\n double negabs (double x)\n@@ -22,8 +20,7 @@ double negabs (double x)\n \n /*\n ** negabsf:\n-**\tmovi\tv[0-9]+.2s, 0x80, lsl 24\n-**\torr\tv[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b\n+**\torr\tz0.s, z0.s, #0x80000000\n **\tret\n */\n float negabsf (float x)",
    "diff": "--- a/gcc/config/aarch64/aarch64.md\n+++ b/gcc/config/aarch64/aarch64.md\n@@ -4551,17 +4551,27 @@ (define_insn_and_split \"*aarch64_and<mode>_imm2\"\n   }\n )\n \n-(define_insn \"<optab><mode>3\"\n-  [(set (match_operand:GPI 0 \"register_operand\" \"=r,rk,w\")\n-\t(LOGICAL:GPI (match_operand:GPI 1 \"register_operand\" \"%r,r,w\")\n-\t\t     (match_operand:GPI 2 \"aarch64_logical_operand\" \"r,<lconst>,w\")))]\n-  \"\"\n-  \"@\n-  <logical>\\\\t%<w>0, %<w>1, %<w>2\n-  <logical>\\\\t%<w>0, %<w>1, %2\n-  <logical>\\\\t%0.<Vbtype>, %1.<Vbtype>, %2.<Vbtype>\"\n-  [(set_attr \"type\" \"logic_reg,logic_imm,neon_logic\")\n-   (set_attr \"arch\" \"*,*,simd\")]\n+(define_insn_and_split \"<optab><mode>3\"\n+  [(set (match_operand:GPI 0 \"register_operand\")\n+\t(LOGICAL:GPI (match_operand:GPI 1 \"register_operand\")\n+\t\t     (match_operand:GPI 2 \"aarch64_logical_operand\")))]\n+  \"\"\n+  {@ [cons: =0, 1, 2; attrs: type, arch]\n+     [r , %r, r       ; logic_reg , *   ] <logical>\\t%<w>0, %<w>1, %<w>2\n+     [rk, r , <lconst>; logic_imm , *   ] <logical>\\t%<w>0, %<w>1, %2\n+     [w , 0 , <lconst>; *         , sve ] #\n+     [w , w , w       ; neon_logic, simd] <logical>\\t%0.<Vbtype>, %1.<Vbtype>, %2.<Vbtype>\n+  }\n+  \"&& TARGET_SVE && rtx_equal_p (operands[0], operands[1])\n+   && satisfies_constraint_<lconst> (operands[2])\n+   && FP_REGNUM_P (REGNO (operands[0]))\"\n+  [(const_int 0)]\n+  {\n+    rtx op1 = lowpart_subreg (<VCONV>mode, operands[1], <MODE>mode);\n+    rtx op2 = gen_const_vec_duplicate (<VCONV>mode, operands[2]);\n+    emit_insn (gen_<optab><vconv>3 (op1, op1, op2));\n+    DONE;\n+  }\n )\n \n ;; zero_extend version of above\ndiff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md\nindex d17becc37e230684beaee3c69e2a0f0ce612eda5..568cd5d1a3a9e00475376177ad13de72609df3d8 100644\n--- a/gcc/config/aarch64/iterators.md\n+++ b/gcc/config/aarch64/iterators.md\n@@ -1432,6 +1432,11 @@ (define_mode_attr VCONQ [(V8QI \"V16QI\") (V16QI \"V16QI\")\n \t\t\t (HI   \"V8HI\") (QI   \"V16QI\")\n \t\t\t (SF   \"V4SF\") (DF   \"V2DF\")])\n \n+;; 128-bit container modes for the lower part of an SVE vector to the inner or\n+;; scalar source mode.\n+(define_mode_attr VCONV [(SI \"VNx4SI\") (DI \"VNx2DI\")])\n+(define_mode_attr vconv [(SI \"vnx4si\") (DI \"vnx2di\")])\n+\n ;; Half modes of all vector modes.\n (define_mode_attr VHALF [(V8QI \"V4QI\")  (V16QI \"V8QI\")\n \t\t\t (V4HI \"V2HI\")  (V8HI  \"V4HI\")\ndiff --git a/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_2.c b/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_2.c\nindex a60cd31b9294af2dac69eed1c93f899bd5c78fca..fe9f27bf91b8fb18205a5891a5d5e847a5d88e4b 100644\n--- a/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_2.c\n+++ b/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_2.c\n@@ -7,8 +7,7 @@\n \n /*\n ** f1:\n-**\tmovi\tv[0-9]+.2s, 0x80, lsl 24\n-**\torr\tv[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b\n+**\torr\tz0.s, z0.s, #0x80000000\n **\tret\n */\n float32_t f1 (float32_t a)\n@@ -18,9 +17,7 @@ float32_t f1 (float32_t a)\n \n /*\n ** f2:\n-**\tmov\tx0, -9223372036854775808\n-**\tfmov\td[0-9]+, x0\n-**\torr\tv[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b\n+**\torr\tz0.d, z0.d, #0x8000000000000000\n **\tret\n */\n float64_t f2 (float64_t a)\ndiff --git a/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_4.c b/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_4.c\nindex 21f2a8da2a5d44e3d01f6604ca7be87e3744d494..707bcb0b6c53e212b55a255f500e9e548e9ccd80 100644\n--- a/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_4.c\n+++ b/gcc/testsuite/gcc.target/aarch64/sve/fneg-abs_4.c\n@@ -6,9 +6,7 @@\n \n /*\n ** negabs:\n-**\tmov\tx0, -9223372036854775808\n-**\tfmov\td[0-9]+, x0\n-**\torr\tv[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b\n+**\torr\tz0.d, z0.d, #0x8000000000000000\n **\tret\n */\n double negabs (double x)\n@@ -22,8 +20,7 @@ double negabs (double x)\n \n /*\n ** negabsf:\n-**\tmovi\tv[0-9]+.2s, 0x80, lsl 24\n-**\torr\tv[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b\n+**\torr\tz0.s, z0.s, #0x80000000\n **\tret\n */\n float negabsf (float x)\n",
    "prefixes": []
}