{"id":2233390,"url":"http://patchwork.ozlabs.org/api/1.1/covers/2233390/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/cover/20260506015845.2306182-1-pan2.li@intel.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.1/projects/17/?format=json","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-1-pan2.li@intel.com>","date":"2026-05-06T01:57:09","name":"[v1,0/2] RISC-V: Combine vec_duplicate + vmsgt.vv to vmsgt.vx on GR2VR cost","submitter":{"id":86320,"url":"http://patchwork.ozlabs.org/api/1.1/people/86320/?format=json","name":"Li, Pan2","email":"pan2.li@intel.com"},"mbox":"http://patchwork.ozlabs.org/project/gcc/cover/20260506015845.2306182-1-pan2.li@intel.com/mbox/","series":[{"id":502962,"url":"http://patchwork.ozlabs.org/api/1.1/series/502962/?format=json","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/covers/2233390/comments/","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=Cnsi7D2p;\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 (2048-bit key,\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=Cnsi7D2p","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 [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 4g9XG71q1Qz1yJq\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 20:50:07 +1000 (AEST)","from vm01.sourceware.org (localhost [IPv6:::1])\n\tby sourceware.org (Postfix) with ESMTP id 505294BA2E33\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  6 May 2026 10:50:05 +0000 (GMT)","from mgamail.intel.com (mgamail.intel.com [192.198.163.8])\n by sourceware.org (Postfix) with ESMTPS id 7E1284BA7984\n for <gcc-patches@gcc.gnu.org>; Wed,  6 May 2026 02:02:53 +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:52 -0700","from panli.sh.intel.com ([10.239.159.63])\n by fmviesa003.fm.intel.com with ESMTP; 05 May 2026 19:02:50 -0700"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 505294BA2E33","OpenDKIM Filter v2.11.0 sourceware.org 7E1284BA7984"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 7E1284BA7984","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 7E1284BA7984","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778032973; cv=none;\n b=puqzLnhpfj9dRsBe1CBasN0zsi5hUFf0bFE28Gx7PsDAf2og2C9ys5gMeuO4RLSzdHx79zwXjKN3ZjI6WzqTf94DNGwWkuEWRSz+1HhWARcIAhUzjmCYp38X8pndGBCoqh4fD7u4owYl46x2xi/Yfss4gRbHnme4yoNI0mky920=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1778032973; c=relaxed/simple;\n bh=78pd2f53wzW4jO95IMRPNIzK2iujMh8X/IFfgTuRez0=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=fZep0Fmp3bFm6z588YFkweAoxdlXBiW9OUKDsByO0RPlsUSx5/4vRU85wbJh0etY0vEvouBxRuvwdcxhCYsooMb7AeJXCgWHdk4KGK29NEjkWwturQmKL5/aJRYLKoKLTTXMyo9h5Se2pMkibwugeVofPK5TTGsG/3CR6S3gc4s=","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=Cnsi7D2p","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1778032973; x=1809568973;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=78pd2f53wzW4jO95IMRPNIzK2iujMh8X/IFfgTuRez0=;\n b=Cnsi7D2p88pcCQXfoydLlI24NWY482lE3mUrx+upQXOvpNpVcD1Exx54\n g4Ho1LAikQd1SLwCtkg5ndP7PBZZT6T1kH/EHlg7MsqAeD0Oid2Y+C5/G\n bQ2o+oKaQLIaT6bbsednav38qf5OUZKB9p4Rz44kmBDTTKyBmciuEcYY/\n hMBuddOimp8F+LBRQ52eTHlbrVHEZFzu3nFQtgyH5hLBg1pb+1Qq3ua1j\n +6uKX7Pxu1NWdGWx0xF8uH5jVVIktkXsI32HVofhIy8DLyXOy6IU3Q5Df\n koKqFf3FEjoNaEy+ifjdyjv7XdPVbWGPCbJZGpx3Ulp9GHMkDTkkilWCJ Q==;","X-CSE-ConnectionGUID":["Tr0IyUVPS+++RluMCjamlw==","5NTsq9iHT6G+XQAsXmhXEw=="],"X-CSE-MsgGUID":["a5RYBMtbStiDLtwk4DpAMw==","c7tQhMgaSheBD6QRksXxyw=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11777\"; a=\"96484863\"","E=Sophos;i=\"6.23,218,1770624000\"; d=\"scan'208\";a=\"96484863\""],"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 0/2] RISC-V: Combine vec_duplicate + vmsgt.vv to vmsgt.vx\n on GR2VR cost","Date":"Wed,  6 May 2026 09:57:09 +0800","Message-ID":"<20260506015845.2306182-1-pan2.li@intel.com>","X-Mailer":"git-send-email 2.43.0","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 series would like to introduce the combine of\nvec_dup + vmsgt.vv into vmsgt.vx on the cost value of GR2VR.\nThe late-combine will take place if the cost of GR2VR like\n1, 2, 15 in test.\n\nFrom:\n |   ...\n |   vmv.v.x\n | L1:\n |   vmsgt.vv\n |   J L1\n |   ...\n\nTo:\n |   ...\n | L1:\n |   vmsgt.vx\n |   J L1\n |   ...\n\nThe below test suites are passed for this patch series.\n* The rv64gcv fully regression test.\n\nPan Li (2):\n  RISC-V: Combine vec_duplicate + vmsgt.vv to vmsgt.vx on GR2VR cost\n  RISC-V: Add test for vec_duplicate + vmsgt.vv combine with GR2VR cost 0, 1 and 15\n\n gcc/config/riscv/predicates.md                |   2 +-\n gcc/config/riscv/riscv-v.cc                   |   2 +\n .../riscv/rvv/autovec/vx_vf/vx-1-i16.c        |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-1-i32.c        |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-1-i64.c        |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-1-i8.c         |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-2-i16.c        |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-2-i32.c        |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-2-i64.c        |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-2-i8.c         |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-3-i16.c        |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-3-i32.c        |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-3-i64.c        |   1 +\n .../riscv/rvv/autovec/vx_vf/vx-3-i8.c         |   1 +\n .../riscv/rvv/autovec/vx_vf/vx_binary.h       |   1 +\n .../riscv/rvv/autovec/vx_vf/vx_binary_data.h  | 136 ++++++++++++++++++\n .../rvv/autovec/vx_vf/vx_vmsgt-run-1-i16.c    |  15 ++\n .../rvv/autovec/vx_vf/vx_vmsgt-run-1-i32.c    |  15 ++\n .../rvv/autovec/vx_vf/vx_vmsgt-run-1-i64.c    |  15 ++\n .../rvv/autovec/vx_vf/vx_vmsgt-run-1-i8.c     |  15 ++\n 20 files changed, 212 insertions(+), 1 deletion(-)\n create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_vmsgt-run-1-i16.c\n create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_vmsgt-run-1-i32.c\n create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_vmsgt-run-1-i64.c\n create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_vmsgt-run-1-i8.c"}