| Message ID | 20260708142206.215039-1-pan2.li@intel.com |
|---|---|
| Headers |
Return-Path: <gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0BA7E4BA2E2A for <patchwork@sourceware.org>; Wed, 8 Jul 2026 14:27:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0BA7E4BA2E2A Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=At/yyNnR X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by sourceware.org (Postfix) with ESMTPS id 392C44BA543C for <gcc-patches@gcc.gnu.org>; Wed, 8 Jul 2026 14:23:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 392C44BA543C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 392C44BA543C Authentication-Results: sourceware.org; arc=none smtp.remote-ip=192.198.163.13 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1783520639; cv=none; b=iVBp+rNq5TBt3E5AxQbKBVgvtiFAdJJKlmY7JMaTWWlFn2kH1/3QYaXODYr3gAEn2n/tpH8OKedXLOxjr0h8wOIH5QuiqJMBedVQyWZ4WKKmXUBDeFOhyoJi+T6Nse002JtVcEwe4ukSKSE6QNsz9Fa0WaIcHAiTlRLpRDoi6r0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1783520639; c=relaxed/simple; bh=raPQOvtXhH0ct7GjtNH9bAb45lAqymxSUS8rVu6fM0s=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=L3m+ZDJlDyB/wi+QK6r1hAsqv7atu+/TNYR+3vAkwWAl44eN8lYdTEbK2yKYgO2w89ExVYwIed4AqX7wPDLEMK39eovx8I1RvrSpf3ijAro1IKRKJOcCiadoO320eIoEiIITszagUJ8stWbc+skXuXZy3YH4LX2WzavOrfBWLTQ= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=At/yyNnR DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 392C44BA543C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1783520639; x=1815056639; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=raPQOvtXhH0ct7GjtNH9bAb45lAqymxSUS8rVu6fM0s=; b=At/yyNnRpbSMp7g9n9YjznOeohxiqjUvgYZ2cvRSGWr0n4gHw6NAn/lg YgUC0/xWhGUwuRcS8MOcvnQsymcj2Y6qzbTROiJbhkq//2poMqWF5gfff r6eqg+EtLl3dpu6cL3OkFYXgP8F5jeuV8kyZ1srSdtnCNqoiJDb5In94q zxKIFeZV+VGuxPTsmP5HT9CqWPAl5OEogFsBeByrsLvQHRWDrtJNPGIAt cg6B6+1z5rjPCGYcJOJipJL5491cHBnMeGbPtACmqEE9B722RvLAbkfG+ /4lXCFuBimWBTSTefHzd+MrNYazbK2Ta4S4lkpnNl1z4WurycX1YVbLF7 A==; X-CSE-ConnectionGUID: Qtd7FDSTRPOMonJI4nGbVw== X-CSE-MsgGUID: bWQvD2EgQLCy40Zy0Rbelw== X-IronPort-AV: E=McAfee;i="6800,10657,11841"; a="86729822" X-IronPort-AV: E=Sophos;i="6.25,153,1779174000"; d="scan'208";a="86729822" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2026 07:23:57 -0700 X-CSE-ConnectionGUID: BcpRFS2sQECKy9rymfmNCQ== X-CSE-MsgGUID: oacqqXluT8OkblpzF+ofZA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,153,1779174000"; d="scan'208";a="256214065" Received: from panli.sh.intel.com ([10.239.159.61]) by fmviesa004.fm.intel.com with ESMTP; 08 Jul 2026 07:23:54 -0700 From: pan2.li@intel.com To: gcc-patches@gcc.gnu.org Cc: juzhe.zhong@rivai.ai, kito.cheng@gmail.com, jeffreyalaw@gmail.com, rdapp.gcc@gmail.com, ken.chen@intel.com, hongtao.liu@intel.com, Pan Li <pan2.li@intel.com> Subject: [PATCH v1 0/5] Support RVV register overlap for v[sz]ext.vf4 Date: Wed, 8 Jul 2026 22:20:25 +0800 Message-ID: <20260708142206.215039-1-pan2.li@intel.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, SPF_HELO_NONE, TXREP, T_SPF_TEMPERROR shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org 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>, <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>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org |
| Series |
Support RVV register overlap for v[sz]ext.vf4
|
|
Message
Li, Pan2
July 8, 2026, 2:20 p.m. UTC
From: Pan Li <pan2.li@intel.com>
Like v[sz]ext.vf2, we continue the support for v[sz]ext.vf4.
Pan Li (5):
RISC-V: Allow RVV register overlap for v[sz]ext.vf4
RISC-V: Add test cases for vsext.vf4 reg overlap
RISC-V: Add test cases for vzext.vf4 reg overlap
RISC-V: Adjust the scan asm for v[sz]ext.vf2 for v1 and v12
RISC-V: Adjust test case due to vf[sz]ext.vf4 overlap
gcc/config/riscv/riscv-protos.h | 1 +
gcc/config/riscv/riscv-v.cc | 26 ++++++++++++++++++-
gcc/config/riscv/vector.md | 16 ++++++------
.../autovec/group_overlap/vsext_vf2-i16-m1.c | 4 +--
.../autovec/group_overlap/vsext_vf2-i16-m2.c | 2 +-
.../autovec/group_overlap/vsext_vf2-i16-m4.c | 2 +-
.../autovec/group_overlap/vsext_vf2-i16-mf2.c | 4 +--
.../autovec/group_overlap/vsext_vf2-i16-mf4.c | 4 +--
.../autovec/group_overlap/vsext_vf2-i32-m1.c | 4 +--
.../autovec/group_overlap/vsext_vf2-i32-m2.c | 2 +-
.../autovec/group_overlap/vsext_vf2-i32-mf2.c | 4 +--
.../autovec/group_overlap/vsext_vf2-i8-m1.c | 4 +--
.../autovec/group_overlap/vsext_vf2-i8-m2.c | 2 +-
.../autovec/group_overlap/vsext_vf2-i8-mf2.c | 4 +--
.../autovec/group_overlap/vsext_vf2-i8-mf4.c | 4 +--
.../autovec/group_overlap/vsext_vf2-i8-mf8.c | 4 +--
.../autovec/group_overlap/vsext_vf4-i16-m1.c | 17 ++++++++++++
.../autovec/group_overlap/vsext_vf4-i16-m2.c | 17 ++++++++++++
.../autovec/group_overlap/vsext_vf4-i16-mf2.c | 23 ++++++++++++++++
.../autovec/group_overlap/vsext_vf4-i16-mf4.c | 23 ++++++++++++++++
.../autovec/group_overlap/vsext_vf4-i8-m1.c | 17 ++++++++++++
.../autovec/group_overlap/vsext_vf4-i8-m2.c | 17 ++++++++++++
.../autovec/group_overlap/vsext_vf4-i8-mf2.c | 23 ++++++++++++++++
.../autovec/group_overlap/vsext_vf4-i8-mf4.c | 23 ++++++++++++++++
.../autovec/group_overlap/vsext_vf4-i8-mf8.c | 23 ++++++++++++++++
.../autovec/group_overlap/vzext_vf4-u16-m1.c | 17 ++++++++++++
.../autovec/group_overlap/vzext_vf4-u16-m2.c | 17 ++++++++++++
.../autovec/group_overlap/vzext_vf4-u16-mf2.c | 23 ++++++++++++++++
.../autovec/group_overlap/vzext_vf4-u16-mf4.c | 23 ++++++++++++++++
.../autovec/group_overlap/vzext_vf4-u8-m1.c | 17 ++++++++++++
.../autovec/group_overlap/vzext_vf4-u8-m2.c | 17 ++++++++++++
.../autovec/group_overlap/vzext_vf4-u8-mf2.c | 23 ++++++++++++++++
.../autovec/group_overlap/vzext_vf4-u8-mf4.c | 23 ++++++++++++++++
.../autovec/group_overlap/vzext_vf4-u8-mf8.c | 23 ++++++++++++++++
.../gcc.target/riscv/rvv/base/pr112431-16.c | 2 +-
.../gcc.target/riscv/rvv/base/pr112431-17.c | 2 +-
36 files changed, 424 insertions(+), 33 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf4-i16-m1.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf4-i16-m2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf4-i16-mf2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf4-i16-mf4.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf4-i8-m1.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf4-i8-m2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf4-i8-mf2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf4-i8-mf4.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf4-i8-mf8.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf4-u16-m1.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf4-u16-m2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf4-u16-mf2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf4-u16-mf4.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf4-u8-m1.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf4-u8-m2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf4-u8-mf2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf4-u8-mf4.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vzext_vf4-u8-mf8.c