Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2218716/?format=api
{ "id": 2218716, "url": "http://patchwork.ozlabs.org/api/patches/2218716/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/b2ecf040-6748-461d-8c51-2ab708b02e45@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": "<b2ecf040-6748-461d-8c51-2ab708b02e45@redhat.com>", "list_archive_url": null, "date": "2026-04-01T19:10:54", "name": "[pushed,PR124696,LRA] : Fix LRA cycle involving reloads, secondary memory reloads, and subreg reloads", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "7752ddd9cdc31e3dfc2c2277e40cf58114f53eb9", "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/b2ecf040-6748-461d-8c51-2ab708b02e45@redhat.com/mbox/", "series": [ { "id": 498379, "url": "http://patchwork.ozlabs.org/api/series/498379/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=498379", "date": "2026-04-01T19:10:54", "name": "[pushed,PR124696,LRA] : Fix LRA cycle involving reloads, secondary memory reloads, and subreg reloads", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/498379/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2218716/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2218716/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=aM1XISZT;\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=aM1XISZT", "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.133.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 4fmF2r4CB2z1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 06:11:32 +1100 (AEDT)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 7D3F24BA23C0\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 1 Apr 2026 19:11:30 +0000 (GMT)", "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by sourceware.org (Postfix) with ESMTP id CEE3C4BA2E24\n for <gcc-patches@gcc.gnu.org>; Wed, 1 Apr 2026 19:10:59 +0000 (GMT)", "from mail-qt1-f200.google.com (mail-qt1-f200.google.com\n [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-554-J4vqIu63NpqnMFHM-gBDpQ-1; Wed, 01 Apr 2026 15:10:57 -0400", "by mail-qt1-f200.google.com with SMTP id\n d75a77b69052e-50b44f7b7bbso1190311cf.3\n for <gcc-patches@gcc.gnu.org>; Wed, 01 Apr 2026 12:10:57 -0700 (PDT)", "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 d75a77b69052e-50d4b88914csm4494871cf.23.2026.04.01.12.10.55\n for <gcc-patches@gcc.gnu.org>\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Wed, 01 Apr 2026 12:10:55 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 7D3F24BA23C0", "OpenDKIM Filter v2.11.0 sourceware.org CEE3C4BA2E24" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org CEE3C4BA2E24", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org CEE3C4BA2E24", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775070659; cv=none;\n b=ZuGpfjCB1HBux6xZ6q4PpJuaNpvt4cxTay0/3Odhvv+xCLp9jwdUQT3IP6lvU8Te5p8BWxtjGcqAXQ4EQdvvVDPPjg0E3rkxm8zQd+3fcYSwa9453MkLW9gE4TkaJ8DXJg92BZLBMCWWsOIADILcK0GzOLqlAA9B0IjS7cD6+k0=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775070659; c=relaxed/simple;\n bh=lfZZ6rtCQWD2kkD06/AwCEkXDc13V1Y1yJ9M8TowtIQ=;\n h=DKIM-Signature:Message-ID:Date:MIME-Version:From:Subject:To;\n b=epksfWzbFM90VDia+Te8pcshGGKQvw8xIOmfAYPxWwKg+TNeS+ZcTSEobO7Y/KvLiOWoacJxPHmEvdouocwnttBY7NA7IYklrcfW13EmdPAMX97O5oVTBPCO7iGmRxmikVe0W6A/521I9jG5HvXn51gp5PZ6monCw/t1F3UDdoM=", "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=1775070659;\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=C6di7A49XWEyKm1WSyTZHw2GH8xIFQShPfsUfTEBT8Y=;\n b=aM1XISZTXGVkjfLqtKnk5frJvyhhekfpT+TiTr64HDyTmuHaAiaa7Cj6dwaz9OattM3bl4\n fx61eRWOh8YFaEos/9Qt0aAUNU3Pg0C+pOXR3qf38ZP2yvaMR7HMTOaD2n6YTYE626q2qw\n q11Z5/3smYsXa3EFsLMYLubuP6FpkRk=", "X-MC-Unique": "J4vqIu63NpqnMFHM-gBDpQ-1", "X-Mimecast-MFC-AGG-ID": "J4vqIu63NpqnMFHM-gBDpQ_1775070657", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775070657; x=1775675457;\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=mWR67gA6J5go3OPPqKFiEiwFlVjt65SaKKPgFnfjPu8=;\n b=FTjNEv0xbQOyEJ7iYh8/lDyot0zNhVxQ1D/klSG7s8ZmoBICl+jfXPPQWl2kOfGu8t\n HyukOw/ttGxO5oPRhlZA26QhF/NlVZGpkMdloNMLK5lx24npwlSUgJGYGN7RswnASEtr\n A2iEZ1p5v1HId97N2Hu1n3f0ouEJ9H54WzYYD8zu97xzsum06UAhcD3wggBJ1SlfTrt7\n J6UXTYLvfAyNnawAgNYpjH9ekH97fxiKiMiFjLHxOQ1uDC4LhCY3jGRTnuWUy3QPI6hc\n /A6azJjqc4PLct5xDiTsEOq+hlLGL1lm2vIS+SWyOa2fH3zAllsr6by8g0eZWI3XDkP2\n de0Q==", "X-Gm-Message-State": "AOJu0YxNLV3+yCqgXeCjyDAhnF8952YWPCPvNQ4/gz1zCZ8COPbdFn1v\n fVk8Jc3rP1hQz5hwr6bDScIVHRZ/DprkXtKbtsYwXArANCbK4FhapdHGsAn8xQXOqcInISVZRfI\n UOgarPtF0Pcy8S/XSlsswD3bC1FGCF0dz0a1GHGPztgG5QhnPDFGZ4itGwYrAefPqZDB0c89rQ2\n 9jM62PyH41NWKrgYlhm8dAWyYQCmbGhyHEIis+zvSDryQ=", "X-Gm-Gg": "ATEYQzzyDXm7cu6SSv6+UnaFzii6f8Z/sAVa0fGB4GT7GL72mTC+E/JXuBFtYIxyjb6\n 6PSfOxo5/r2LynhrVHQTqptCU2tFYTJQ2B4x9Z8P43y9aPnq86JrBEsuR6MFi/zkvu9byoq1mb/\n 5OpmKmF5En7keTvK1rYxuMdQmazUhKzqawjplMskw2bGWBcaHkHSAXgoIBMNl646saVTR6TC+T7\n 7eRwLXHZ1NotVJuk5wHT1b12GLtsovECyFJbEyrAhkyo1HPpNGZ/LCj48MkjE/asYB2sh7iUIK4\n M4z0LtAs8cUcwfYymaEGQ3sBIFeYvR0YfletIbAvlLB/wDPRUPZS37gcWtsVRydscBFUROx9DX5\n qwiS0Hd0mqdCR8c6BMZLz8v98/jJL+1+IYl6BOovE2LMgMxEf154xNtc=", "X-Received": [ "by 2002:a05:622a:5a05:b0:50b:26d7:eaa0 with SMTP id\n d75a77b69052e-50d3bcab87cmr63664451cf.40.1775070657355;\n Wed, 01 Apr 2026 12:10:57 -0700 (PDT)", "by 2002:a05:622a:5a05:b0:50b:26d7:eaa0 with SMTP id\n d75a77b69052e-50d3bcab87cmr63663811cf.40.1775070656655;\n Wed, 01 Apr 2026 12:10:56 -0700 (PDT)" ], "Message-ID": "<b2ecf040-6748-461d-8c51-2ab708b02e45@redhat.com>", "Date": "Wed, 1 Apr 2026 15:10:54 -0400", "MIME-Version": "1.0", "User-Agent": "Mozilla Thunderbird", "From": "Vladimir Makarov <vmakarov@redhat.com>", "Subject": "[pushed][PR124696, LRA]: Fix LRA cycle involving reloads, secondary\n memory reloads, and subreg reloads", "To": "\"gcc-patches@gcc.gnu.org\" <gcc-patches@gcc.gnu.org>", "X-Mimecast-Spam-Score": "0", "X-Mimecast-MFC-PROC-ID": "tqDsQFRqvUZmvMUupZKcdzQ0j-V7KzP3Ty8dH68_Eow_1775070657", "X-Mimecast-Originator": "redhat.com", "Content-Type": "multipart/mixed; boundary=\"------------QNZ0y5xyfPOFq6R7hQP9RADZ\"", "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 solves\n\nhttps://gcc.gnu.org/bugzilla/show_bug.cgi?id=124696\n\nThe patch was successfully tested and bootstrapped on x86-64, aarch64, \nand ppc64le.", "diff": "commit 07580144b193f3f854353dbc083cfa42868e3b03\nAuthor: Vladimir N. Makarov <vmakarov@redhat.com>\nDate: Wed Apr 1 15:08:01 2026 -0400\n\n [PR124696, LRA]: Fix LRA cycle involving reloads, secondary memory reloads, and subreg reloads\n \n The code for reloading the register inside paradoxical subreg is assumed\n to require that the subreg is located in more than one hard reg. But the check was\n omitted and this resulted in LRA cycling through series of reloads,\n secondary memory reloads, and subreg reloads. The patch fixes this.\n \n gcc/ChangeLog:\n \n PR rtl-optimization/124696\n * lra-constraints.cc (simplify_operand_subreg): Reload\n paradoxical subreg only if it requires more than one hard reg.\n \n gcc/testsuite/ChangeLog:\n \n PR rtl-optimization/124696\n * gcc.target/i386/pr124696.c: New.\n\ndiff --git a/gcc/lra-constraints.cc b/gcc/lra-constraints.cc\nindex e24b56675eb..8526a89f9ec 100644\n--- a/gcc/lra-constraints.cc\n+++ b/gcc/lra-constraints.cc\n@@ -1996,6 +1996,7 @@ simplify_operand_subreg (int nop, machine_mode reg_mode)\n \t && REGNO (reg) >= FIRST_PSEUDO_REGISTER\n \t && paradoxical_subreg_p (operand)\n \t && (inner_hard_regno = lra_get_regno_hard_regno (REGNO (reg))) >= 0\n+\t && hard_regno_nregs (inner_hard_regno, mode) > 1\n \t && ((hard_regno\n \t\t= simplify_subreg_regno (inner_hard_regno, innermode,\n \t\t\t\t\t SUBREG_BYTE (operand), mode)) < 0\ndiff --git a/gcc/testsuite/gcc.target/i386/pr124696.c b/gcc/testsuite/gcc.target/i386/pr124696.c\nnew file mode 100644\nindex 00000000000..19474edbdc2\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/i386/pr124696.c\n@@ -0,0 +1,17 @@\n+/* { dg-do compile } */\n+/* { dg-options \"-O -w -mno-sse2 -mstringop-strategy=loop --param=hot-bb-frequency-fraction=0\" } */\n+typedef char U __attribute__((__vector_size__ (64)));\n+typedef __int128 V __attribute__((__vector_size__ (64)));\n+typedef short W __attribute__((__vector_size__ (64)));\n+\n+U u;\n+V v;\n+W w;\n+\n+V\n+foo (int i, __int128 y)\n+{\n+ w = (W){};\n+ u -= (U)(W){1, i, i};\n+ return i + y + (V) u + v;\n+}\n", "prefixes": [ "pushed", "PR124696", "LRA" ] }