get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2196027,
    "url": "http://patchwork.ozlabs.org/api/patches/2196027/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260212184330.8B61F2043D@pchp3.se.axis.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": "<20260212184330.8B61F2043D@pchp3.se.axis.com>",
    "list_archive_url": null,
    "date": "2026-02-12T18:43:30",
    "name": "[committed,1/3] CRIS: Make sure movsf doesn't have two memory operands",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "86ccfe499756708a53745e8c447202c56dbe5033",
    "submitter": {
        "id": 78298,
        "url": "http://patchwork.ozlabs.org/api/people/78298/?format=api",
        "name": "Hans-Peter Nilsson",
        "email": "hp@axis.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260212184330.8B61F2043D@pchp3.se.axis.com/mbox/",
    "series": [
        {
            "id": 492004,
            "url": "http://patchwork.ozlabs.org/api/series/492004/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=492004",
            "date": "2026-02-12T18:41:46",
            "name": "CRIS: A few performance tweaks",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492004/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2196027/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2196027/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=axis.com header.i=@axis.com header.a=rsa-sha256\n header.s=selector1 header.b=ailqf/4O;\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=axis.com header.i=@axis.com header.a=rsa-sha256\n header.s=selector1 header.b=ailqf/4O",
            "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=axis.com",
            "sourceware.org; spf=pass smtp.mailfrom=axis.com",
            "server2.sourceware.org;\n arc=pass smtp.remote-ip=52.101.69.64"
        ],
        "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 4fBkkC6qCFz1xr1\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 05:44:51 +1100 (AEDT)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 162BE4BA23F1\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 12 Feb 2026 18:44:49 +0000 (GMT)",
            "from AM0PR83CU005.outbound.protection.outlook.com\n (mail-westeuropeazon11010064.outbound.protection.outlook.com [52.101.69.64])\n by sourceware.org (Postfix) with ESMTPS id B81424B9DB40\n for <gcc-patches@gcc.gnu.org>; Thu, 12 Feb 2026 18:43:37 +0000 (GMT)",
            "from AM9P192CA0011.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21d::16)\n by FRWPR02MB11557.eurprd02.prod.outlook.com (2603:10a6:d10:1b3::18)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.12; Thu, 12 Feb\n 2026 18:43:34 +0000",
            "from AM2PEPF0001C716.eurprd05.prod.outlook.com\n (2603:10a6:20b:21d:cafe::7) by AM9P192CA0011.outlook.office365.com\n (2603:10a6:20b:21d::16) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Thu,\n 12 Feb 2026 18:43:22 +0000",
            "from mail.axis.com (195.60.68.100) by\n AM2PEPF0001C716.mail.protection.outlook.com (10.167.16.186) 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; Thu, 12 Feb 2026 18:43:31 +0000",
            "from se-mail01w.axis.com (10.20.40.7) by se-mail10w.axis.com\n (10.20.40.10) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.1748.39; Thu, 12 Feb\n 2026 19:43:30 +0100",
            "from se-mail10w.axis.com (10.20.40.10) by se-mail01w.axis.com\n (10.20.40.7) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.61; Thu, 12 Feb\n 2026 19:43:30 +0100",
            "from se-intmail02x.se.axis.com (10.4.0.28) by se-mail10w.axis.com\n (10.20.40.10) with Microsoft SMTP Server id 15.2.1748.39 via Frontend\n Transport; Thu, 12 Feb 2026 19:43:30 +0100",
            "from pchp3.se.axis.com (pchp3.se.axis.com [10.88.21.53])\n by se-intmail02x.se.axis.com (Postfix) with ESMTP id 8FD20CE;\n Thu, 12 Feb 2026 19:43:30 +0100 (CET)",
            "by pchp3.se.axis.com (Postfix, from userid 171)\n id 8B61F2043D; Thu, 12 Feb 2026 19:43:30 +0100 (CET)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 162BE4BA23F1",
            "OpenDKIM Filter v2.11.0 sourceware.org B81424B9DB40"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org B81424B9DB40",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org B81424B9DB40",
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1770921818; cv=pass;\n b=fWfQ/nB+fo409DVgBWtlguqFBgQAkWGOUJyaFYXZ86anfDTt8m26x0H+TPfPMOSeGQRuJjtsrNjpmT0IyZznwvgy4brvUjROLEUvboeIhOPWK7vobz9smsWpWnTVJEJEWEOkeYGqDYVuODSz7EI0+mg4s1+z4SFeZn1fpmk09RA=",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=DVF0lSLZNpWymXBV/8/gKqn5AEWfEtRu7vF9Qf9UKvseoQ4bR6t9AIL/O1UxzjXlxK/94P7rnUDnyVktUR0PbpMKHCEN8ic54WbqUJfWn+zkwMx5Uz2b8ZRlSquf6KsYmETTyvasjglpfbSgpaEbAqqiKEwgqdA5Ls9FFqEegEnv1Q9Z1Xp06srJKDqeOwS9iqRtUkekx+wKRfnDG1Hra6hyrrzSILIrSDLaXiOH0F1vbkmkNDFAmFhAtY6ZtUtfQElpacQoQIpSth9M3mfcjYD3YlbUcZ5iN8j0WE/uwMb5chFRc4+QoQupJAVTY69aMwaZCrQzKaCGFgIJw0b3Xg=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1770921818; c=relaxed/simple;\n bh=eept3ReBs0MlZP2kOV0du9hoHu9svq6he8iz9nLRJFM=;\n h=DKIM-Signature:From:To:Subject:MIME-Version:Message-ID:Date;\n b=U9X3FLoSuNxWdJmhjkZXh+Eg5PgKY1G3y1kiwgGvW7L7QOxHDdGn4GkHQN6XkFWl+DDdCiic2cAI3rRT5IVwuL93QmwBvZpLHAcKV0h8rbil8fcUx6fLA21AlRbEmlTLp2pyYUiG43SQQrTYIXLbwdAmEuZWY62fWCA1kBZeYk4=",
            "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=dIladleOF26kyrue+osRFm8OPnts9bcbNr48noqZ6uE=;\n b=Iv8QBR0TL79ZmiqJC1O0CCoCkUB53wWifLB184W0EL1M6y6MB0sfDGCKzm6FOHJlOHB6McnbcZeMysTo3FyRKLDecZk1rSKAXtRATIIWXkadT5q9+v9a02acm7cVeVicGbtrXC3KJQTfUFTKIclA5Tf9rCSITCQBG4efhGcbnr+7p58F14KsygiN+p5OjYT5hI7ePKu8Ggm0BGcJJMN7qg2vf9aTuW94juK+V8pQiGTAS/GvQHoWnmeg2BiEeXLMi6SKuv+9PcJGnkra4SW8BIcI+AEtyAAcAa6DRnVDOinw0IxVUb/pW96gPdeFGXLqGe3qmBY68aT1OwLjyqWxYA=="
        ],
        "ARC-Authentication-Results": [
            "i=2; server2.sourceware.org",
            "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 195.60.68.100) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=axis.com;\n dmarc=pass (p=none sp=none pct=100) action=none header.from=axis.com;\n dkim=none (message not signed); arc=none (0)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=dIladleOF26kyrue+osRFm8OPnts9bcbNr48noqZ6uE=;\n b=ailqf/4OR1pCH9kLx47H5vTwxFnKfO5ZYP6JYrS1988o/WlsFgXNytZbOXyWX+QxkBsq4dri5dGxJVwBvfHFjT2ll3tHIp+G3XHpeA1Q3lxGJwPKFu0GSzyojvOFAI1J337JVMDtbvFScqASeBwidES1dHhAPdo+kHyZm5ycUII=",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 195.60.68.100)\n smtp.mailfrom=axis.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=axis.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of axis.com designates\n 195.60.68.100 as permitted sender) receiver=protection.outlook.com;\n client-ip=195.60.68.100; helo=mail.axis.com; pr=C",
        "From": "Hans-Peter Nilsson <hp@axis.com>",
        "To": "<gcc-patches@gcc.gnu.org>",
        "Subject": "[committed 1/3] CRIS: Make sure movsf doesn't have two memory\n operands",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"iso-8859-1\"",
        "Content-Transfer-Encoding": "8BIT",
        "Message-ID": "<20260212184330.8B61F2043D@pchp3.se.axis.com>",
        "Date": "Thu, 12 Feb 2026 19:43:30 +0100",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "AM2PEPF0001C716:EE_|FRWPR02MB11557:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "82f79301-7b4b-4ec2-90ce-08de6a669e83",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|82310400026|36860700013|1800799024|376014;",
        "X-Microsoft-Antispam-Message-Info": "=?iso-8859-1?q?IM+ShG8nPcnJh+qzKPPIkaunzU?=\n\t=?iso-8859-1?q?7bWXqs/sqczru4eCfNhrOkHaP7JCO9o3hE9ZdSW6MY+SjaFfyQUraw1fhTWU?=\n\t=?iso-8859-1?q?bCDsGqtgkFcy+St1PX4Bul3IyVAAbFWqmMDCA9xrBRY44h9v8pSVatUwVkv6?=\n\t=?iso-8859-1?q?bmEPHyJdDpd1TpW+jIt0/CQsfeVAB6kq40wtZGjatXiF3ZiuqZbS2/YR8i3k?=\n\t=?iso-8859-1?q?GClpK4v9JiOjEekb8MYNTV8pXcoOmnaiFBMAyT7Znfej2sPQi86oezypoTJl?=\n\t=?iso-8859-1?q?dnNp2GhBNJ1lqgA7QPxJcPpB+dSOPr8C5koY7yIrRcF8qhNJxOcTv63Js5kW?=\n\t=?iso-8859-1?q?MGGlC+hV/nuhC0RXC+D25jpYdhT+o2XuoPMjHbDjbrsTb8axw9EkGuNZIsRC?=\n\t=?iso-8859-1?q?fM6I5j9FUQA4BJekBneNfPStvRFnJJ2Y7OKf9hPvE6r8zJWbe21KCn01ixFg?=\n\t=?iso-8859-1?q?5COidt7lguNiV0Zlh7/GYg3umjnozs16uoCfkv8Oa7yy/OH9CmdULICHDt/j?=\n\t=?iso-8859-1?q?Yl5iMW/zWV7/hqeHIn+Ao8OPOwd8u10uWkDUHgmTi6pYC4N6NpmESEn5/QPr?=\n\t=?iso-8859-1?q?WjJNAgOGHwQyzkmX/lz9nET6sZ69k/9w63ml3MTXQUdGY47nfa0Lb+TxDJEi?=\n\t=?iso-8859-1?q?vCvfCctCpzZVm9D75mLIyI7US3sdES0rZ8eczLsUiaLb8t0+bD/58ytBk9M1?=\n\t=?iso-8859-1?q?ATo4P1f5Zj0vlWYAhCkfwAEbVcvOgwBw0WI3SzcgOYEgWcWlsHx3htnzLlXj?=\n\t=?iso-8859-1?q?4NCPqIkpBdlmNNdtEdemhqKhWX1hgcSfe+IxxmATSaLToWdOSFaJhL19uDCr?=\n\t=?iso-8859-1?q?unLvGZeNIAGi9ONXtoNriEtFfpQ6HnZrmGwiw0jKriKUCjOtcDNPtyXTJfLC?=\n\t=?iso-8859-1?q?JvOjOF3ARO8Jc0kfWjCOTdTZnEGluulujOvFQUiLFNgrj2LYl0OOkkKuG+Iy?=\n\t=?iso-8859-1?q?I/VpozXlzHxGjjqVI2ZxS1+AEMoraAhubWUbtNm4JTYQGFordH+tyt3U5h7q?=\n\t=?iso-8859-1?q?lYjSzZhs/PpBju0A/5730k9cEh71LW+5XxRfOcONHrZ12qwL0y5Tl56vqPeW?=\n\t=?iso-8859-1?q?BjZ3AwWkr+cGaCT7T8Ep35x1IZyzgLMcnhqcYpJbaInGlLpIqZjA6r2GeWfR?=\n\t=?iso-8859-1?q?qRCJ/A0QojISgTOesjy/areWwQAnnb4XdME4ZHIgp0h94lOd0UPGo4h5I5Zx?=\n\t=?iso-8859-1?q?J5V9LKPS1xMf11wrH0CjPnxAAP1EGNeSBbsnLSd6qBvwarGaJRap8fdko6M8?=\n\t=?iso-8859-1?q?ZtyrX24+Tk+fEsiUJE4w3/G4L0q7PqbxL3XiBke56LlASirzI9sUDKRZ6mMg?=\n\t=?iso-8859-1?q?fELSEBgJFIhXKxZ9fVFcRAWi9f9qjSKXqkl+eGAml/jjUmO6QLF0ej1hhWsf?=\n\t=?iso-8859-1?q?rCGRN/9HQO8mofZHwcsYRB6lAtQ5vKWgHkhLOAY/+XoVSbv0QB+933UWqA2w?=\n\t=?iso-8859-1?q?sbeoVTADy1um0rRN72f9ZhaOGn/hTTS9zFQZzgeX1Sws64Uj4O7WsXPpSimT?=\n\t=?iso-8859-1?q?smGrbMiZqSlTmlmeB+CYzQrvZmT1XZ7TFAtA+l2WQ90+FqgdwDaNqvV65n3f?=\n\t=?iso-8859-1?q?V4cL6NjofcuHb9yyw5LhTlAkcOQhkp0E9Usrn/DqiUPBgcs7n+QBMsn3jMG0?=\n\t=?iso-8859-1?q?uoIF9NSvg/joGlbGKNraUZlwOCmzKDUgOTFrgTrpnWg8IzEkcXsMOV5Q1Bmd?=\n\t=?iso-8859-1?q?9Smp99u2CCRiTVmRThskZYRHAzoRT32GwMKpRJ6w=3D=3D?=",
        "X-Forefront-Antispam-Report": "CIP:195.60.68.100; CTRY:SE; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:mail.axis.com; PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014); DIR:OUT;\n SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n iid2qgVFmTqnwbXNSqnxEETWkiBp6EmJ7DNzcD2s1n1yIy1dFYRAf2AR1jaGmjyq/xIzVTN1XqI5WH3BaLh6JDezA3gDq7f2+i2RaKtR2o1v0kkOSn/pkKPq1BcU8Z7bs+tuFDi6jcgwH7EgMwE/im6dsSwfFOVXvFOVwd3/XiK/dD7FVFQzSEOFITUogRyV1s/PwqWipBrRq/AyzxYLXIfGc90C+e5K5bwe66YK+5v1vqbteqk3WVa+InoLcdppovRf1lJ6kmgIg852wWJ98m1waVtzvHd3PC2ou3/BOZIBo7GQVbQadh+NF1lY5k7H60B1JIVUdWGu1gBG+7HJStGE17cdqm2TfVKqg5WSXoqjpmQ95ZY8BInMuXP1MbYchyJNWrF1fo/YuTx7I29EAWK948pbH7v9MxHbIIEOcY1mtzA3OrUzbYUBwJhGcggW",
        "X-OriginatorOrg": "axis.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "12 Feb 2026 18:43:31.1458 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 82f79301-7b4b-4ec2-90ce-08de6a669e83",
        "X-MS-Exchange-CrossTenant-Id": "78703d3c-b907-432f-b066-88f7af9ca3af",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=78703d3c-b907-432f-b066-88f7af9ca3af; Ip=[195.60.68.100];\n Helo=[mail.axis.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n AM2PEPF0001C716.eurprd05.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "FRWPR02MB11557",
        "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": "Experimenting, I noticed movsf could get two memory operands, and\nwhen the pass I was hacking, adjusted both operands, the rtl-ssa\nframework didn't like the situation and signalled failure, for\nexample compiling gcc.c-torture/compile/pr85945.c.  While that's\narguably a wart in rtl-ssa and may be a problem by itself, this\nshouldn't happen: one operand should be either a register or\nconstant 0.  It usually doesn't matter because RA fixes up\noperands per the constraints.  Still, this is low-handing fruit\nfor improved performance, letting the RTL passes work on more\ncorrect information ...and also, a plausible excuse for not also\nhacking rtl-ssa proper.  Either way, the port is responsible for\nguarding operand validity, so tweak it.  Incidental observation:\nthe two-memory-operands case happened already at expand time.\nThis mem-to-mem situation doesn't happen for movsi, because it has\nspecial precautions to keep one operand a register or const_int 0,\nwhich were added for reasons of condition-code handling.  That\nparticular condition, checking for REG_P or the subreg being REG_P\nlooks too restrictive though, not allowing the (subreg mem) case\nthat register_operand deliberately allows.\n\n\t* config/cris/cris.md (SISF): New mode_iterator for SI and SF.\n\t(\"mov<mode>\"): Make \"movsi\" a define_expand to include SFmode by\n\tmeans of the SISF iterator and adjust to also handle SFmode.\n\t(\"*movsf_internal\"): Anonymize \"movsf\"; make it a match-only pattern.\n\tAdd conditions to guard from source and destination both being memory\n\toperands.\n---\n gcc/config/cris/cris.md | 25 ++++++++++++++++---------\n 1 file changed, 16 insertions(+), 9 deletions(-)",
    "diff": "diff --git a/gcc/config/cris/cris.md b/gcc/config/cris/cris.md\nindex 6c5945d3ab56..c18813f306a9 100644\n--- a/gcc/config/cris/cris.md\n+++ b/gcc/config/cris/cris.md\n@@ -173,6 +173,9 @@ (define_attr \"enabled\" \"no,yes\"\n (define_mode_iterator BWD [SI HI QI])\n (define_mode_iterator BWDD [DI SI HI QI])\n \n+;; Need to handle SI and SF similarly, at least in the expander.\n+(define_mode_iterator SISF [SI SF])\n+\n ;; To be able to refer to the same mode_attr for both a multi-mode\n ;; and a mode-specific pattern, we use some singleton iterators.\n (define_mode_iterator DI_ [DI])\n@@ -560,11 +563,11 @@ (define_insn_and_split \"*movdi_insn\"\n \f\n ;; Normal move patterns from SI on.\n \n-(define_expand \"movsi\"\n+(define_expand \"mov<mode>\"\n   [(parallel\n     [(set\n-      (match_operand:SI 0 \"nonimmediate_operand\")\n-      (match_operand:SI 1 \"general_operand\"))\n+      (match_operand:SISF 0 \"nonimmediate_operand\")\n+      (match_operand:SISF 1 \"general_operand\"))\n      (clobber (reg:CC CRIS_CC0_REGNUM))])]\n   \"\"\n {\n@@ -572,14 +575,16 @@ (define_expand \"movsi\"\n      input.  */\n   if (MEM_P (operands[0])\n       && ! REG_S_P (operands[1])\n-      && operands[1] != const0_rtx\n+      && operands[1] != CONST0_RTX (<MODE>mode)\n       && can_create_pseudo_p ())\n-    operands[1] = force_reg (SImode, operands[1]);\n+    operands[1] = force_reg (<MODE>mode, operands[1]);\n \n    /* At post-reload time, we'll get here for e.g. split multi-mode insns\n       with a memory destination.  Go directly to the clobber-less variant.\n-      FIXME: Also applies to special-register source or destination.  */\n-   if (reload_completed\n+      FIXME: Also applies to special-register source or destination.\n+      Only do this for integer modes.  */\n+   if (SCALAR_INT_MODE_P (<MODE>mode)\n+       && reload_completed\n        && (MEM_P (operands[0]) || operands[1] == const0_rtx))\n      {\n         emit_insn (gen_rtx_SET (operands[0], operands[1]));\n@@ -778,11 +783,13 @@ (define_insn \"movstrictqi\"\n ;; all ones); the worthwhile one is \"0.0\".\n ;; It will use clear, so we know ALL types of immediate 0 never change cc.\n \n-(define_insn \"movsf\"\n+(define_insn \"*movsf_internal\"\n   [(set (match_operand:SF 0 \"nonimmediate_operand\" \"=r,Q>,r, r,Q>,g,g,r,r,x,Q>,m,x, x\")\n \t(match_operand:SF 1 \"general_operand\"       \"r,r, Q>,G,G, G,r,g,x,r,x, x,Q>,g\"))\n    (clobber (reg:CC CRIS_CC0_REGNUM))]\n-  \"\"\n+  \"(register_operand (operands[0], SFmode)\n+    || register_operand (operands[1], SFmode)\n+    || operands[1] == CONST0_RTX (SFmode))\"\n   \"@\n    move.d %1,%0\n    move.d %1,%0\n",
    "prefixes": [
        "committed",
        "1/3"
    ]
}