Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2232121/?format=api
{ "id": 2232121, "url": "http://patchwork.ozlabs.org/api/patches/2232121/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/c877a174-2ae6-42b3-b065-03e1bd0c3725@oss.qualcomm.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": "<c877a174-2ae6-42b3-b065-03e1bd0c3725@oss.qualcomm.com>", "list_archive_url": null, "date": "2026-05-02T19:49:54", "name": "[to-be-committed,RISC-V,PR,target/125152] Don't use stale mode in conditional move expansion", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "85c74972c001755862648832256202462b6a3e17", "submitter": { "id": 92310, "url": "http://patchwork.ozlabs.org/api/people/92310/?format=api", "name": "Jeffrey Law", "email": "jeffrey.law@oss.qualcomm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/c877a174-2ae6-42b3-b065-03e1bd0c3725@oss.qualcomm.com/mbox/", "series": [ { "id": 502548, "url": "http://patchwork.ozlabs.org/api/series/502548/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=502548", "date": "2026-05-02T19:49:54", "name": "[to-be-committed,RISC-V,PR,target/125152] Don't use stale mode in conditional move expansion", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/502548/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2232121/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2232121/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 (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=lCNdpc+l;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=hozhNOva;\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 (2048-bit key,\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=lCNdpc+l;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=hozhNOva", "sourceware.org; dmarc=none (p=none dis=none)\n header.from=oss.qualcomm.com", "sourceware.org;\n spf=pass smtp.mailfrom=oss.qualcomm.com", "server2.sourceware.org;\n arc=none smtp.remote-ip=205.220.168.131" ], "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 4g7JRh6kPfz1yGq\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 03 May 2026 05:50:40 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 242254BB592B\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 2 May 2026 19:50:39 +0000 (GMT)", "from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n [205.220.168.131])\n by sourceware.org (Postfix) with ESMTPS id ED0A74BB8F43\n for <gcc-patches@gcc.gnu.org>; Sat, 2 May 2026 19:49:58 +0000 (GMT)", "from pps.filterd (m0279862.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 6424Bene3219118\n for <gcc-patches@gcc.gnu.org>; Sat, 2 May 2026 19:49:58 GMT", "from mail-dl1-f69.google.com (mail-dl1-f69.google.com\n [74.125.82.69])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dwa1ehfhh-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <gcc-patches@gcc.gnu.org>; Sat, 02 May 2026 19:49:57 +0000 (GMT)", "by mail-dl1-f69.google.com with SMTP id\n a92af1059eb24-12c726f4055so4784875c88.1\n for <gcc-patches@gcc.gnu.org>; Sat, 02 May 2026 12:49:57 -0700 (PDT)", "from [172.31.0.17] ([136.38.201.137])\n by smtp.gmail.com with ESMTPSA id\n a92af1059eb24-12df8424ef1sm11123008c88.9.2026.05.02.12.49.55\n for <gcc-patches@gcc.gnu.org>\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Sat, 02 May 2026 12:49:55 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 242254BB592B", "OpenDKIM Filter v2.11.0 sourceware.org ED0A74BB8F43" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org ED0A74BB8F43", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org ED0A74BB8F43", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777751399; cv=none;\n b=QROYs1kARcStgnlHNhwtr8bWLJOe4eVtJ1+1p9qF+a9aMoP0lT+yZ6AOpEpQUOACXTSqaZEEhWdkK7MbDcAabxo5iPNf2QZWxMn26RdddCwHrrwtI6dqLn/kmv2V7TPG7XcG3uh0skmZKzVWWA6fTWj12U44Nk7eekkNNsCCcz0=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777751399; c=relaxed/simple;\n bh=LM2cYDkaWSKTmWTn+Xv9CmnXwq6eOrOi3DDA8CdOCjA=;\n h=DKIM-Signature:DKIM-Signature:Message-ID:Date:MIME-Version:From:\n Subject:To;\n b=biYlNZ9YT969nu/5gZCwPKTGbYsYYNEWZwl+LIloLvfJcnx49Ph5aP6mHCql9E4sQMz3IHd/297uQKqZ8erCYDamlk7FyjUuYogothnmNaCbipgamUBHhAkzpQTYTvEfxfKPzEdVpXH5ZW5LJMl6x44hMttr5lzknnNfg8YPXUY=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n content-type:date:from:message-id:mime-version:subject:to; s=\n qcppdkim1; bh=YqmwZjkhXft/AYiY0YEKXYgnHHHFD/uBtRZRe/3Gr0I=; b=lC\n Ndpc+lLom73Y4/3YMkUkNE4rrHwxH40nhdXoAqouom8EBEk713Je8kCVXWhgOtAr\n OEN2nDKW0HnKy33u9eL24VEAFukTRzpQWwPLGpEqQ22JeYAmOYmROpV0Pm3tcw0y\n xnmiZlNUthnJ/Cx2Ki/8BShGGxWwnxMcobuCkq+KrbGC8M6fxkMGpVWKPDjeNmHE\n MMkE9/B2inqq+CB+RZxORSE+MfzFhtgBF19ySv/+QCKvNLcwcqyx99S0ww2J9vDw\n coNdKKIwJiVhC5MbdtZC1h7cv0pOGjnSWq2i8aCZsxxa8IrFMydX0uIDvSgYpiWJ\n PvTxoDCmFWSyBOKwGqeg==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1777751397; x=1778356197; darn=gcc.gnu.org;\n h=to:subject:from:content-language:user-agent:mime-version:date\n :message-id:from:to:cc:subject:date:message-id:reply-to;\n bh=YqmwZjkhXft/AYiY0YEKXYgnHHHFD/uBtRZRe/3Gr0I=;\n b=hozhNOvanJCWf0DtxKNHH1rllvhkInc19gmSfMoGeySycOncdB/6tdhSvYxVkuZMQo\n n8errSa31gQiOZ9BlfXrEkeEmv8MBFPtVg7TuxVdfwIeNGDhynuHKhkkUTKGEyQdThAO\n MZpctkFRef7vqZX+exJppecDGNoKh6h4zd/OR/mAGOIrqzGpt4x1Q4WD5leSn2bEtu64\n vfKM2KTA0a8VODnWZ511XOMDSdUO9BWJq/F+gyM6XVg6vKv3PKGKS/yKeEAaTHjZu+e0\n VtJq+ERhxlCe0kYdOwNncvDeokVOqsK7/YcnP3TfheWc3Dr2bhqmyB2DEhO4tI4vDIN2\n 1tMg==" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777751397; x=1778356197;\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=YqmwZjkhXft/AYiY0YEKXYgnHHHFD/uBtRZRe/3Gr0I=;\n b=GlU7KdLTYYJbHGFZqY6Uur0lSVy6f9mXPLE+WoBW8B0Mrygvju0LVjTDHVWXxk40B2\n IFRcAXMIhRTMjnCNUXtJ9fqMW07Wsn+RwcXkDe+u4btJTcEmc/JpDpvwWZ65OhUk2vDO\n Aaz50bXqC+bPtDZGb25HmmpqoLC/YcbpRFPsxH9aIHsb37X96PlGr/Bul0+KsfV2YnWf\n I0kCagnOUiLx/FVWLC3pjvzVEWdbE57LIhrIEOa97q6qrlpkAJCLHM0u395i/Q/8pC88\n Qju2jZ02ys+PN49R9fsFH5AGfVmtXvZuR/u6l1dlw4qbTAFrcXXbteXvMYdvCzJtvrbA\n iTjQ==", "X-Gm-Message-State": "AOJu0YyKFjRuKBRty+CLC/vJmtC2192mSMn9brcfj0N9t+hHGTBxq3Ey\n Wqf0Oc3fkJdQ8OGVR3lhfDEqy1uDbBcX/YL1Kcuvij+9o8px/mSNlHW1zW64S9rex7v+clFm6GC\n i+DeoZ/dnyUvBX2vG8A/J41D4yKgZv8SRyFQS4ymgyarVKiJmxPHktSodrywerhrkbjI/", "X-Gm-Gg": "AeBDiesE/bh4kcfDS3qUrcBzwqsdeSd6FvH1ZlT3EJggBogkbMOjZgaS1aT8BAXwPUr\n q4Q99ZD3XW/W6IVxBplUgSAgre5+8EgkKaveUGbtN6O87yN5Gv0gm8DWC31kTZHPMbTbN0ZX0ej\n /sIuibkxF9ALHi4HE+AKNqgMEoSG9fQejFbld9wzLN4LtXiqmqy7j+M89aj7Quth7i01bjWtlCA\n h1kgUkusTyFm54TP6Okr6zAf07deXK8ATiZgmiZpV3pgthAdjfuFw1NuHOyncerQgLeUv63Lxyx\n SYsMie3XtOnRoFQjR0ozyqG7GAuLITnzfaLolkz8mx6ZTOntnEF/E6Pad9fxmlMNbu72BjaBlS1\n /CGWjAL4PbzqenV2CdGVuTAnS1ZSdgqO0geJdI0gmZ31YC8Hay2kkX4IRdFyH", "X-Received": [ "by 2002:a05:7022:ebcc:b0:12d:b396:eaed with SMTP id\n a92af1059eb24-12dfd7d1a3cmr1512527c88.9.1777751396961;\n Sat, 02 May 2026 12:49:56 -0700 (PDT)", "by 2002:a05:7022:ebcc:b0:12d:b396:eaed with SMTP id\n a92af1059eb24-12dfd7d1a3cmr1512518c88.9.1777751396252;\n Sat, 02 May 2026 12:49:56 -0700 (PDT)" ], "Content-Type": "multipart/mixed; boundary=\"------------D8E44avBiIc5w5CjVP2bFjtd\"", "Message-ID": "<c877a174-2ae6-42b3-b065-03e1bd0c3725@oss.qualcomm.com>", "Date": "Sat, 2 May 2026 13:49:54 -0600", "MIME-Version": "1.0", "User-Agent": "Mozilla Thunderbird", "Content-Language": "en-US", "From": "Jeffrey Law <jeffrey.law@oss.qualcomm.com>", "Subject": "[to-be-committed][RISC-V][PR target/125152] Don't use stale mode in\n conditional move expansion", "To": "'GCC Patches' <gcc-patches@gcc.gnu.org>", "X-Proofpoint-ORIG-GUID": "BvhcI3Ez8Ph26zS4dKc8J2zQjyp-63Fa", "X-Proofpoint-GUID": "BvhcI3Ez8Ph26zS4dKc8J2zQjyp-63Fa", "X-Authority-Analysis": "v=2.4 cv=e7U2j6p/ c=1 sm=1 tr=0 ts=69f65565 cx=c_pps\n a=kVLUcbK0zfr7ocalXnG1qA==:117 a=asGLMfRmzhnGNxaIYohjRg==:17\n a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=r77TgQKjGQsHNAKrUKIA:9\n a=utri3LCPwt0P37TPyxsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10\n a=zgiPjhLxNE0A:10 a=hJGfVsdXW90sOW02hzoA:9 a=B2y7HmGcmWMA:10\n a=vr4QvYf-bLy2KjpDp97w:22", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNTAyMDE5OSBTYWx0ZWRfXxver5yHsufCd\n 872iuL/flkIJMoRgc3Zbz57QAAHzM4kAJDcEqE6ZitdfpU9CKbSu6xDMrOI3PSXozHDaL5bacuO\n dnE/deHS97mtZr6FmkKyAVuMUBI2UPKZPkw61uy73IjKfXnPe20uvaglBXCBuRbDt9fz5J1Fk7o\n 0HtX0NnObz180RfrH0xX7jW4LaYGhAE/4wZLRgziq1uVoGodUff4X7iRYEPVaTVN6yeFf0Ca7MD\n Gxuy5Qu0RsgBkaTj37xA4qKX/eXIwyQ0qyyF1DzK3SPBJeo9z2u07hkANs1ZVTtUg7NKQLilDaS\n wLlmG2s0TWd6utcbftIeb6n1hnaoZtLwNRJlUCEenR92FMazOOFqxh3TmufQGl5nmh1d2VHVXII\n OCYwiJ6rbcL+hosB3NPAmBIkRGCf8JgSjroWwm29dj9UQIwDOqPSHOMjj+33c3rOm1UhIG+VFO7\n DMwdz8tzwobCGd/SPYw==", "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-05-02_05,2026-04-30_02,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n spamscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 priorityscore=1501\n bulkscore=0 clxscore=1015 impostorscore=0 malwarescore=0 phishscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605020199", "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": "This is a trivial oversight in the recently added improvement to \nconditional move generation on the RISC-V port.\n\nWe have a step which canonicalizes the comparison operands. The process \nof canonicalizing may change one or both operands, including giving a \nnew pseudo with a different mode.\n\nThe new code failed to account for that and as a result it was using a \nstale mode (QI) which caused all kinds of problems later. Just swapping \nthe code which canonicalizes the operand with the code that extracts the \nmode and everything is happy again. Fixed a formatting nit while I was \nin there.\n\nTested on riscv32-elf and riscv64-elf. But waiting for pre-commit CI to \ndo its thing.\n\nJeff\nPR target/125152\ngcc/\n\t* config/riscv/riscv.cc (riscv_expand_conditional_move): Extract the\n\tmode after operand canonicalization.\n\ngcc/testsuite/\n\n\t* gcc.target/riscv/pr125152.c: New test.", "diff": "diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc\nindex baa0de22de14..3fae7b5b9f06 100644\n--- a/gcc/config/riscv/riscv.cc\n+++ b/gcc/config/riscv/riscv.cc\n@@ -5828,10 +5828,9 @@ riscv_expand_conditional_move (rtx dest, rtx op, rtx cons, rtx alt)\n && GET_MODE_CLASS (cond_mode) == MODE_INT)\n || TARGET_COND_MOV)\n {\n+ canonicalize_comparands (code, &op0, &op1);\n machine_mode mode0 = GET_MODE (op0);\n \n- canonicalize_comparands (code,&op0,&op1);\n-\n /* In the fallback generic case use DST_MODE rather than WORD_MODE\n \t for the output of the SCC instruction, to match the mode of the NEG\n \t operation below. The output of SCC is 0 or 1 boolean, so it is\ndiff --git a/gcc/testsuite/gcc.target/riscv/pr125152.c b/gcc/testsuite/gcc.target/riscv/pr125152.c\nnew file mode 100644\nindex 000000000000..a44e34138956\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/riscv/pr125152.c\n@@ -0,0 +1,12 @@\n+/* { dg-do compile } */\n+/* { dg-additional-options \"-mmovcc -std=gnu99\" } */\n+\n+typedef __attribute__((__vector_size__(16))) char V;\n+V v;\n+char c;\n+\n+void\n+foo()\n+{\n+ v |= (V){4} > c;\n+}\n", "prefixes": [ "to-be-committed", "RISC-V", "PR", "target/125152" ] }