Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2233388/?format=api
{ "id": 2233388, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2233388/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260506015845.2306182-2-pan2.li@intel.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/1.1/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 }, "msgid": "<20260506015845.2306182-2-pan2.li@intel.com>", "date": "2026-05-06T01:57:10", "name": "[v1,1/2] RISC-V: Combine vec_duplicate + vmsgt.vv to vmsgt.vx on GR2VR cost", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "a80a4652b9faaadae2717f5993641bf89e53f64a", "submitter": { "id": 86320, "url": "http://patchwork.ozlabs.org/api/1.1/people/86320/?format=api", "name": "Li, Pan2", "email": "pan2.li@intel.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260506015845.2306182-2-pan2.li@intel.com/mbox/", "series": [ { "id": 502962, "url": "http://patchwork.ozlabs.org/api/1.1/series/502962/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=502962", "date": "2026-05-06T01:57:10", "name": "RISC-V: Combine vec_duplicate + vmsgt.vv to vmsgt.vx on GR2VR cost", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/502962/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2233388/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2233388/checks/", "tags": {}, "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=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=VDPJStcR;\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=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=VDPJStcR", "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=intel.com", "sourceware.org; spf=pass smtp.mailfrom=intel.com", "sourceware.org; arc=none smtp.remote-ip=192.198.163.8" ], "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 4g9XDs3PwDz1y04\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 20:49:00 +1000 (AEST)", "from vm01.sourceware.org (localhost [IPv6:::1])\n\tby sourceware.org (Postfix) with ESMTP id EC1044BA79A6\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 6 May 2026 10:48:57 +0000 (GMT)", "from mgamail.intel.com (mgamail.intel.com [192.198.163.8])\n by sourceware.org (Postfix) with ESMTPS id 6397C4BA799C\n for <gcc-patches@gcc.gnu.org>; Wed, 6 May 2026 02:02:55 +0000 (GMT)", "from fmviesa003.fm.intel.com ([10.60.135.143])\n by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 05 May 2026 19:02:54 -0700", "from panli.sh.intel.com ([10.239.159.63])\n by fmviesa003.fm.intel.com with ESMTP; 05 May 2026 19:02:52 -0700" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org EC1044BA79A6", "OpenDKIM Filter v2.11.0 sourceware.org 6397C4BA799C" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 6397C4BA799C", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 6397C4BA799C", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778032975; cv=none;\n b=tkn6ndU1hsXhXD2+U77eyxu4ZH+73rm63SfeSSmevHdVVO6/xzuJy8GWKHLgCV1STSho10HpwL/uZfXmoJbmz4xkeg8bHMngNR5mmmd5xrpI7+zixE/dpxao5yUKeEh8z6IjP8RsGJFrMalLpfLmExL/3OqeLpVv+U0Era8f/xM=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1778032975; c=relaxed/simple;\n bh=el+VmqXFnlhi6+RqEmDvp5mpqUuDFizlsR8qtlmCbZ0=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=PnzSh4A7q8yilMb/LWzxLXVkEbK2o4lHxSxAnYewQJdyUq+AbRtpkxtAFB870ql2iAYmtV0sEwmU/elqV3o8UEe2p9hSg7W1ME9tmGuqsxpnRiHCkf648hpmTEW5Y2bHEa1H+vkAs8lKaAsmNzyMzkFSyVWUH93FkfMTSfynCQo=", "ARC-Authentication-Results": "i=1; sourceware.org;\n dkim=pass (2048-bit key, unprotected)\n header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel\n header.b=VDPJStcR", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1778032975; x=1809568975;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=el+VmqXFnlhi6+RqEmDvp5mpqUuDFizlsR8qtlmCbZ0=;\n b=VDPJStcRwf3h3Ip6S4AVP3LZzok3u8GQ74XGOICDOkuOphwd4kJknl2O\n nne+xB57uosc0i9cBgpczXfBb1SToJBJA1wq5W0z2Q3kuXKIu9GzdFejl\n 4YnPfSs0JIf51zk8qDBj8whxfkLHaJ/fhwsc/E/hgazw5n/pkMj2LiVbF\n SgpF6jCyzfgLFpugnAEdINFU1AB9cDzv1IrjJLjMl/chRqR5z56785lZk\n jTzxPfOq7ZEmxeEMesFioWvv93QuTikaDsiVjKrptv+7WPzoop1tSFer0\n cg3uABSofM+BFFkixTkUMCxfb9ZKVhCEk7qnXkLoQF+58iSw3KxAcWWad w==;", "X-CSE-ConnectionGUID": [ "14fxmsCGTmC+NPsIwt4DMQ==", "c+hiJq4QRYmNoeRQsGmRFw==" ], "X-CSE-MsgGUID": [ "PR6u4jWARNKpbmkHJlo7Sg==", "iZVWbRcZSB619yLhDPoUxA==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6800,10657,11777\"; a=\"96484867\"", "E=Sophos;i=\"6.23,218,1770624000\"; d=\"scan'208\";a=\"96484867\"" ], "X-ExtLoop1": "1", "From": "pan2.li@intel.com", "To": "gcc-patches@gcc.gnu.org", "Cc": "juzhe.zhong@rivai.ai, kito.cheng@gmail.com, jeffreyalaw@gmail.com,\n rdapp.gcc@gmail.com, ken.chen@intel.com, hongtao.liu@intel.com,\n Pan Li <pan2.li@intel.com>", "Subject": "[PATCH v1 1/2] RISC-V: Combine vec_duplicate + vmsgt.vv to vmsgt.vx\n on GR2VR cost", "Date": "Wed, 6 May 2026 09:57:10 +0800", "Message-ID": "<20260506015845.2306182-2-pan2.li@intel.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260506015845.2306182-1-pan2.li@intel.com>", "References": "<20260506015845.2306182-1-pan2.li@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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": "From: Pan Li <pan2.li@intel.com>\n\nThis patch would like to combine the vec_duplicate + vmsgt.vv to the\nvmsgt.vx. From example as below code. The related pattern will depend\non the cost of vec_duplicate from GR2VR. Then the late-combine will\ntake action if the cost of GR2VR is zero, and reject the combination\nif the GR2VR cost is greater than zero.\n\nAssume we have asm code like below, GR2VR cost is 0.\n\nBefore this patch:\n 11 beq a3,zero,.L8\n 12 vsetvli a5,zero,e32,m1,ta,ma\n 13 vmv.v.x v2,a2\n ...\n 16 .L3:\n 17 vsetvli a5,a3,e32,m1,ta,ma\n ...\n 22 vmsgt.vv v1,v2,v3\n ...\n 25 bne a3,zero,.L3\n\nAfter this patch:\n 11 beq a3,zero,.L8\n ...\n 14 .L3:\n 15 vsetvli a5,a3,e32,m1,ta,ma\n ...\n 20 vmsgt.vx v1,a2,v3\n ...\n 23 bne a3,zero,.L3\n\ngcc/ChangeLog:\n\n\t* config/riscv/predicates.md: Add lt to swapped operator.\n\t* config/riscv/riscv-v.cc (get_swapped_cmp_rtx_code): Handle\n\tthe rtl as well.\n\nSigned-off-by: Pan Li <pan2.li@intel.com>\n---\n gcc/config/riscv/predicates.md | 2 +-\n gcc/config/riscv/riscv-v.cc | 2 ++\n 2 files changed, 3 insertions(+), 1 deletion(-)", "diff": "diff --git a/gcc/config/riscv/predicates.md b/gcc/config/riscv/predicates.md\nindex 4116674601c..47e634ad87f 100644\n--- a/gcc/config/riscv/predicates.md\n+++ b/gcc/config/riscv/predicates.md\n@@ -612,7 +612,7 @@ (define_predicate \"comparison_except_ge_operator\"\n (match_code \"eq,ne,le,leu,gt,gtu,lt,ltu\"))\n \n (define_predicate \"comparison_swappable_operator\"\n- (match_code \"gtu,gt,geu,ge,ltu\"))\n+ (match_code \"gtu,gt,geu,ge,ltu,lt\"))\n \n (define_predicate \"ge_operator\"\n (match_code \"ge,geu\"))\ndiff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc\nindex 3c7e749cb60..7318fda7758 100644\n--- a/gcc/config/riscv/riscv-v.cc\n+++ b/gcc/config/riscv/riscv-v.cc\n@@ -6075,6 +6075,8 @@ get_swapped_cmp_rtx_code (rtx_code code)\n return LE;\n case LTU:\n return GTU;\n+ case LT:\n+ return GT;\n default:\n gcc_unreachable ();\n }\n", "prefixes": [ "v1", "1/2" ] }