From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by sourceware.org (Postfix) with ESMTPS id 1600E3882665 for ; Tue, 28 Nov 2023 13:16:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1600E3882665 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embecosm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1600E3882665 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::329 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701177401; cv=none; b=tsIo6t8QEOBrLK02c6mn8pNEYVOdCNgn8Av92RZ6q2yy+GjdSMh4A374HTC1J6VDuYAvah0qoo8KzCXB37jOQbLirxRxN9TA2hXNDU+0cWm6iFvzJfi/qv0R3YsNuwBxnLBHm7SupzLMf8W4gFNyERc9MKNd5G/YQjKJyuKeNN4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701177401; c=relaxed/simple; bh=13Yt7jK5VjJOvoANx+nLJGHZmv2QzpdHsCpUcwH1MTA=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=qjTtpi5z/gEDJSfwApksyzuZQrzs2heJP5xSVzbw7Mtvts94CXCoyBzIXBhOjcpUTSPyJZlIXm6R5x9xquW+/gmtHXGrCM3qPu7L3mEi26caJpg4gYQV2tS4JCa3Ces28BJFlpMIOXj6j39AekG3WNd6axpReEjcPBnRXSnllMk= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-40b4746ae3bso12910135e9.0 for ; Tue, 28 Nov 2023 05:16:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; t=1701177397; x=1701782197; darn=gcc.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VqYEizdzlNqq4asV8EuWKdhzNF5RKP0xSsDEudilxy0=; b=AEs71GhvbA1OINmMXYwkSGwtzB31WZaZAoWeLaQuXO8Fd18GGXllhwfB9vS4mKmomH fB8u/sV/ofMTu/OeCESI52Vj6WPnNx+HqoFnbp1LmEkO++SCfUQ8k1LxPThKZ2sHLFZj 1oUI+CHbs9jAEs3VUdOT8sbhGP+fd5GV3pDRfT3R8DaZoCW8Dv0SA6GMmdA55yrsHauN BPhTjU75h59bFVWjrCXvNi0806HaB3ksovhdV3yU4Ek3ux4rEt+ygnY2pddZ8XC805Cp HMo4Zf8EjWq1s2/nWM+L1xdN9sEqpM/LkklaEpvW2Vys04Yp4Ep6CtR0xQNxdpKS02ZP oxBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701177397; x=1701782197; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VqYEizdzlNqq4asV8EuWKdhzNF5RKP0xSsDEudilxy0=; b=jt6WFeE1Ao6+A0EPcApB8T1hOEAXo/tWjAzI4mkbSuj5WB7dYCEcQUCtmUqEMgcFhn 8lr81n7MGXN95JHxw3lJVSzPxsidM8gq817soxZIBTs8BOSeaDgcaeCfjDlYITj+QqJw 4U5XoF4Hl5A4+43hqPBDL7G/ox5JUrYJXF/6o6J67r2BdN5OwqKC/VxGCuRy3cgxQouR NbTtMlquoeirpICaP6zxNtwvTCWn3NcaMlXE0+DJi2eGWkYoLjlsyDEyHWF9Kzbqj4Lz hQQNknnlkEpAv5sdcJUjxyEZ+ZaGKUmbFq5TFUOsUC49HgBCs8CJf2u8FhKvvPAEsjDN DU4Q== X-Gm-Message-State: AOJu0YwUjVEfrAMfdRde7wUs4+hG7KpOSlQDx2ZKz6MpC2kmKThuP6fc w4HGUrGNUfwfTW7bXgZ2DFMYtUtKwJWm3pTowHL+9A== X-Google-Smtp-Source: AGHT+IGSdLj9lxxCWjbo9lZxe2ID0fsInTQZ35whbbOMUOkkOosrHpDIEv3wqlkcMpObMnXi04MP4w== X-Received: by 2002:a05:600c:4f55:b0:40b:3d9f:eedf with SMTP id m21-20020a05600c4f5500b0040b3d9feedfmr8930590wmq.15.1701177396917; Tue, 28 Nov 2023 05:16:36 -0800 (PST) Received: from troughton.sou.embecosm-corp.com ([212.69.42.53]) by smtp.gmail.com with ESMTPSA id s9-20020a05600c45c900b0040b3829eb50sm15991844wmo.20.2023.11.28.05.16.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Nov 2023 05:16:36 -0800 (PST) From: Mary Bennett To: gcc-patches@gcc.gnu.org Cc: mary.bennett@embecosm.com Subject: [PATCH v3 0/3] RISC-V: Support CORE-V XCVELW and XCVBI extensions Date: Tue, 28 Nov 2023 13:16:12 +0000 Message-Id: <20231128131615.3986922-1-mary.bennett@embecosm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231113133530.1727444-1-mary.bennett@embecosm.com> References: <20231113133530.1727444-1-mary.bennett@embecosm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: v1 -> v2: * Bring the MEM into the operand for cv.elw. The new predicate is move_operand. * Add comment to riscv.md detailing why corev.md must appear before the generic riscv instructions. v2 -> v3: * Merged patterns for CORE-V branch immediate and generic RISC-V so to supress the generic patterns if XCVbi is available. This patch series presents the comprehensive implementation of the ELW and BI extension for CORE-V. Tested with riscv-gnu-toolchain on binutils, ld, gas and gcc testsuites to ensure its correctness and compatibility with the existing codebase. However, your input, reviews, and suggestions are invaluable in making this extension even more robust. The CORE-V builtins are described in the specification [1] and work can be found in the OpenHW group's Github repository [2]. [1] github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md [2] github.com/openhwgroup/corev-gcc Contributors: Mary Bennett Nandni Jamnadas Pietra Ferreira Charlie Keaney Jessica Mills Craig Blackmore Simon Cook Jeremy Bennett Helene Chelin RISC-V: Update XCValu constraints to match other vendors RISC-V: Add support for XCVelw extension in CV32E40P RISC-V: Add support for XCVbi extension in CV32E40P gcc/common/config/riscv/riscv-common.cc | 4 ++ gcc/config/riscv/constraints.md | 21 +++++--- gcc/config/riscv/corev.def | 3 ++ gcc/config/riscv/corev.md | 33 ++++++++++++- gcc/config/riscv/predicates.md | 4 ++ gcc/config/riscv/riscv-builtins.cc | 2 + gcc/config/riscv/riscv-ftypes.def | 1 + gcc/config/riscv/riscv.md | 4 ++ gcc/config/riscv/riscv.opt | 4 ++ gcc/doc/extend.texi | 8 ++++ gcc/doc/sourcebuild.texi | 6 +++ .../gcc.target/riscv/cv-bi-beqimm-compile-1.c | 17 +++++++ .../gcc.target/riscv/cv-bi-beqimm-compile-2.c | 48 +++++++++++++++++++ .../gcc.target/riscv/cv-bi-bneimm-compile-1.c | 17 +++++++ .../gcc.target/riscv/cv-bi-bneimm-compile-2.c | 48 +++++++++++++++++++ .../gcc.target/riscv/cv-elw-elw-compile-1.c | 11 +++++ gcc/testsuite/lib/target-supports.exp | 26 ++++++++++ 17 files changed, 248 insertions(+), 9 deletions(-) create mode 100644 gcc/testsuite/gcc.target/riscv/cv-bi-beqimm-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-bi-beqimm-compile-2.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-bi-bneimm-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-bi-bneimm-compile-2.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-elw-elw-compile-1.c -- 2.34.1