get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2196411,
    "url": "http://patchwork.ozlabs.org/api/patches/2196411/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/942621fa-6573-4031-b937-c889b95a237b@redhat.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": "<942621fa-6573-4031-b937-c889b95a237b@redhat.com>",
    "list_archive_url": null,
    "date": "2026-02-13T19:02:40",
    "name": "[pushed,PR124079,LRA] : Fix broken s390 SPEC2017 benchmarks",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "d623f40729428133313ce9c5c4833ef5f1f8a078",
    "submitter": {
        "id": 4455,
        "url": "http://patchwork.ozlabs.org/api/people/4455/?format=api",
        "name": "Vladimir Makarov",
        "email": "vmakarov@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/942621fa-6573-4031-b937-c889b95a237b@redhat.com/mbox/",
    "series": [
        {
            "id": 492132,
            "url": "http://patchwork.ozlabs.org/api/series/492132/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=492132",
            "date": "2026-02-13T19:02:40",
            "name": "[pushed,PR124079,LRA] : Fix broken s390 SPEC2017 benchmarks",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492132/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2196411/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2196411/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=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=BgWUFjOU;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.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=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=BgWUFjOU",
            "sourceware.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com",
            "sourceware.org; spf=pass smtp.mailfrom=redhat.com",
            "server2.sourceware.org;\n arc=none smtp.remote-ip=170.10.129.124"
        ],
        "Received": [
            "from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 4fCM5b4Vtjz1xvQ\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 14 Feb 2026 06:03:26 +1100 (AEDT)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 1BC7F4BAD143\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 19:03:24 +0000 (GMT)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by sourceware.org (Postfix) with ESMTP id 742994B9DB74\n for <gcc-patches@gcc.gnu.org>; Fri, 13 Feb 2026 19:02:46 +0000 (GMT)",
            "from mail-qv1-f69.google.com (mail-qv1-f69.google.com\n [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-121-XPTcYRO4OSeyM76pi5bskA-1; Fri, 13 Feb 2026 14:02:44 -0500",
            "by mail-qv1-f69.google.com with SMTP id\n 6a1803df08f44-896ff58f17aso63855126d6.2\n for <gcc-patches@gcc.gnu.org>; Fri, 13 Feb 2026 11:02:44 -0800 (PST)",
            "from [192.168.0.120] (192-0-141-76.cpe.teksavvy.com. [192.0.141.76])\n by smtp.gmail.com with ESMTPSA id\n 6a1803df08f44-8971cddb9efsm81911356d6.51.2026.02.13.11.02.41\n for <gcc-patches@gcc.gnu.org>\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Fri, 13 Feb 2026 11:02:42 -0800 (PST)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 1BC7F4BAD143",
            "OpenDKIM Filter v2.11.0 sourceware.org 742994B9DB74"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 742994B9DB74",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 742994B9DB74",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1771009366; cv=none;\n b=Mk/eMmiwomQ10+mjz3yHzq9iqSFai1f/gF4K6N4OsLg1cL98J4XQpW/E/yBTW0bAk1TZln1VuG1PPNGCmHZ962r4wZA4Q6sUkCfDZTIh231+nnE1nBqBm2bC2beI85wG0GP2oC8hCAI5PTVSS5ttYxUy+5tTnLR8stS6wWLpM1U=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1771009366; c=relaxed/simple;\n bh=SE8rIdE3ly9W2u4Im6Yt1xC4gH/z8RHNuAObt+kSVv4=;\n h=DKIM-Signature:Message-ID:Date:MIME-Version:From:Subject:To;\n b=bqioXewVt1+UetjiQAL+yJu1wHvAJTglsCwlP6QQ8mrSHctnfWFpH1DtGqmL598IbJ/xw0VGMYFpzMb7EyRESDVB8b9E5yLSYHBBoan6j5DK/NcKVbdUliCyC21e8kL7FjHcipjf63Kn905Mgo7vUOTUx/aSiGHsynCNg96jlp0=",
        "ARC-Authentication-Results": "i=1; server2.sourceware.org",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1771009366;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:mime-version:mime-version:content-type:content-type;\n bh=yk+z4fKVJeIUHa/o3L1dIJ5cbHnwkneYuhHhuPg3b10=;\n b=BgWUFjOUDc5bFAfuhPIlBA+aY+80Palo+juIytNMzp3872+uA9Clf/L38y3MzG87UBUqpZ\n 82bUjZxXLG8BC15FEBXyfScsEGsckQ3BtowrV9rcIomp68yY3qT4DZCeKgvp6JHHQIlllX\n Os2/y7dxqD9lyChDVikkJOPff6c7IS8=",
        "X-MC-Unique": "XPTcYRO4OSeyM76pi5bskA-1",
        "X-Mimecast-MFC-AGG-ID": "XPTcYRO4OSeyM76pi5bskA_1771009363",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1771009363; x=1771614163;\n h=to:subject:from:content-language:user-agent:mime-version:date\n :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=i+ik5FxPnvaJu42UF4ksTFt0WJJ5q/eMpC8ALifFbco=;\n b=JJDahR5qcZxac6eCh5oFlopHGzl4vXCSL33tKj+p0XzJBBTpDcx7nogcR0vI1mckHx\n 0yeeCAyYW3MXkEk9SqR22bVDSVYTPmuRfDRufr1ro7Kafy//B8cXx1FG7ZCpgcurIPb2\n nu4YbFNLRe/F7U71swqtQ9GVgh2D8dsb41+KPRju4HDlnNBmyZhBrznNNRxC+O8IV/wv\n EB3RqCFpaZ+eibtSdwAAAHnaceg6fWHvm0ABpJ02mFJpci9LYRXCc2pSUreJvjlMxa+W\n 7BFcDcQH3FJsHWmKzoIYkYY1XmFd9LRILBewSwZBH/7swKvL9kS7CoPvarZUk+W36VMj\n BPoA==",
        "X-Gm-Message-State": "AOJu0YxXq+p4QJU3RWZDHFoOOMc+RlAnF9Jb+3Y+eKmGj9dirvHy2C+u\n FOLC9nJuAF4stl51yufygwqcU8nQ5IvFdi8r2HwnmA6KCKSm8j3HYY1YtF4LFmKtQB0eF/tG9TU\n RiRii4h7cTI5eJbYMd2OI0xvLIDUvTI0JqvDU60H20zZq5uVYGE0xKwCnBYaBbkUKg5qTFEWLJI\n S6ys2GWJJvr0HSUbueN6ZufbtzzGFo8Yf1SI70mdoOEfk=",
        "X-Gm-Gg": "AZuq6aKHd38YXeoylOJlBFmIkBzDmqB2425uGUqcHxEytRJKR4P5XCBXcXmMbPOzdw7\n y5Igvr6mY4tnnhtZUF/pkYHTxaxqsbMFlvwNAXk9XIeBZyFLpOgTeQ+y4wXka0Zyw0gGeeAMesC\n RYPzHLFx5Ht9HsERpjNXylsgmAtAGKvXOYrODWzxlslCmy1flapjw8HW0YvdtSaiuN4gzFdaSih\n meP8SMbUVV7BEcgu2PIE2t503cw+XWyYfpp3Wfx7Ij6W4NEb68naVd0Xy1PxVvY3kRk2KoOtyjH\n v2ZJDgWYfC8T252aPlDxRfVUMRJImnu52QkBPK94L5cFY+j3tzZySDqyVh0MpNgsAa56p81B0kb\n JFQHbeNk8YbIKhxxxYcXSOXk1qKUMLFiCv2ehwchf3LZeqBRMOzEB3sM=",
        "X-Received": [
            "by 2002:a05:6214:401e:b0:896:6bed:17e3 with SMTP id\n 6a1803df08f44-897361a906amr39969216d6.43.1771009363547;\n Fri, 13 Feb 2026 11:02:43 -0800 (PST)",
            "by 2002:a05:6214:401e:b0:896:6bed:17e3 with SMTP id\n 6a1803df08f44-897361a906amr39968556d6.43.1771009362915;\n Fri, 13 Feb 2026 11:02:42 -0800 (PST)"
        ],
        "Message-ID": "<942621fa-6573-4031-b937-c889b95a237b@redhat.com>",
        "Date": "Fri, 13 Feb 2026 14:02:40 -0500",
        "MIME-Version": "1.0",
        "User-Agent": "Mozilla Thunderbird",
        "From": "Vladimir Makarov <vmakarov@redhat.com>",
        "Subject": "[pushed][PR124079, LRA]: Fix broken s390 SPEC2017 benchmarks",
        "To": "\"gcc-patches@gcc.gnu.org\" <gcc-patches@gcc.gnu.org>",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-MFC-PROC-ID": "kXaOVHreRD5nupHpX_pngY2kDAos_aiMEmiym8FYu5k_1771009363",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Type": "multipart/mixed; boundary=\"------------zZjk4ToI06sBBj4Eb1Bhp0jV\"",
        "Content-Language": "en-US",
        "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": "The following patch fixes\n\nhttps://gcc.gnu.org/bugzilla/show_bug.cgi?id=124079\n\nThe patch was successfully tested on sparc64 and bootstrapped and tested \non x86-64, aarch64, ppc64be.",
    "diff": "commit 498983d96193517a4854deb2775dc4478063199c\nAuthor: Vladimir N. Makarov <vmakarov@redhat.com>\nDate:   Fri Feb 13 13:58:41 2026 -0500\n\n    [PR124079, LRA]: Fix broken s390 SPEC2017 benchmarks\n    \n    Recent patch for PR121191 broke compilation of s390 SPEC benchmarks.\n    This patch fixes it.  The patch uses existing lra_constraint_offset to\n    calculate offsets.  The same function is used to find invalid matching\n    reloads.\n    \n    gcc/ChangeLog:\n    \n            PR rtl-optimization/124079\n            * lra-constraints.cc (get_matching_reload_reg_subreg): Add new arg\n            rclass.  Use another condition to use lowpart_subreg.  Use lra_constraint_offset\n            to calculate the subreg offset.\n            (get_reload_reg, match_reload): Pass the new arg.\n    \n    gcc/testsuite/ChangeLog:\n    \n            PR rtl-optimization/124079\n            * gcc.target/s390/pr124079.c: New.\n\ndiff --git a/gcc/lra-constraints.cc b/gcc/lra-constraints.cc\nindex 8c8c9d69a96..2b5b4ba1bbd 100644\n--- a/gcc/lra-constraints.cc\n+++ b/gcc/lra-constraints.cc\n@@ -682,16 +682,25 @@ canonicalize_reload_addr (rtx addr)\n   return addr;\n }\n \n-/* Return rtx accessing reload REG matching another reload reg in MODE.  */\n+/* Return rtx accessing reload REG of RCLASS matching another reload reg in\n+   MODE.  */\n static rtx\n-get_matching_reload_reg_subreg (machine_mode mode, rtx reg)\n+get_matching_reload_reg_subreg (machine_mode mode, rtx reg,\n+\t\t\t\tenum reg_class rclass)\n {\n-  if (SCALAR_INT_MODE_P (mode) && SCALAR_INT_MODE_P (GET_MODE (reg)))\n+  int hard_regno = ira_class_hard_regs[rclass][0];\n+  if (subreg_regno_offset (hard_regno,\n+\t\t\t   GET_MODE (reg),\n+\t\t\t   subreg_lowpart_offset (mode, GET_MODE (reg)),\n+\t\t\t   mode) == 0)\n     /* For matching scalar int modes generate the right subreg byte offset for\n        BE targets -- see call of reload.cc:operands_match_p in\n        recog.cc:constrain_operands.  */\n     return lowpart_subreg (mode, reg, GET_MODE (reg));\n-  return gen_rtx_SUBREG (mode, reg, 0);\n+  int offset = (lra_constraint_offset (hard_regno, GET_MODE (reg))\n+\t\t- lra_constraint_offset (hard_regno, mode)) * UNITS_PER_WORD;\n+  lra_assert (offset >= 0);\n+  return gen_rtx_SUBREG (mode, reg, offset);\n }\n \n /* Create a new pseudo using MODE, RCLASS, EXCLUDE_START_HARD_REGS, ORIGINAL or\n@@ -778,7 +787,7 @@ get_reload_reg (enum op_type type, machine_mode mode, rtx original,\n \t\tif (maybe_lt (GET_MODE_SIZE (GET_MODE (reg)),\n \t\t\t      GET_MODE_SIZE (mode)))\n \t\t  continue;\n-\t\treg = get_matching_reload_reg_subreg (mode, reg);\n+\t\treg = get_matching_reload_reg_subreg (mode, reg, new_class);\n \t\tif (reg == NULL_RTX || GET_CODE (reg) != SUBREG)\n \t\t  continue;\n \t      }\n@@ -1146,7 +1155,7 @@ match_reload (signed char out, signed char *ins, signed char *outs,\n \t    = lra_create_new_reg_with_unique_value (inmode, in_rtx, goal_class,\n \t\t\t\t\t\t    exclude_start_hard_regs,\n \t\t\t\t\t\t    \"\");\n-\t  new_out_reg = get_matching_reload_reg_subreg (outmode, reg);\n+\t  new_out_reg = get_matching_reload_reg_subreg (outmode, reg, goal_class);\n \t  LRA_SUBREG_P (new_out_reg) = 1;\n \t  /* If the input reg is dying here, we can use the same hard\n \t     register for REG and IN_RTX.  We do it only for original\n@@ -1165,7 +1174,7 @@ match_reload (signed char out, signed char *ins, signed char *outs,\n \t\t\t\t\t\t    goal_class,\n \t\t\t\t\t\t    exclude_start_hard_regs,\n \t\t\t\t\t\t    \"\");\n-\t  new_in_reg = get_matching_reload_reg_subreg (inmode, reg);\n+\t  new_in_reg = get_matching_reload_reg_subreg (inmode, reg, goal_class);\n \t  /* NEW_IN_REG is non-paradoxical subreg.  We don't want\n \t     NEW_OUT_REG living above.  We add clobber clause for\n \t     this.  This is just a temporary clobber.  We can remove\ndiff --git a/gcc/testsuite/gcc.target/s390/pr124079.c b/gcc/testsuite/gcc.target/s390/pr124079.c\nnew file mode 100644\nindex 00000000000..6b5ad0caa6a\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/s390/pr124079.c\n@@ -0,0 +1,8 @@\n+/* PR rtl-optimization/124079 */\n+/* { dg-do compile } */\n+/* { dg-options \"-O2 -march=z13\" } */\n+\n+int foo (const char *a, const char *b)\n+{\n+  return __builtin_strcmp (a, b);\n+}\n",
    "prefixes": [
        "pushed",
        "PR124079",
        "LRA"
    ]
}