From patchwork Wed Nov 8 11:09:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mary Bennett X-Patchwork-Id: 16372 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:aa0b:0:b0:403:3b70:6f57 with SMTP id k11csp837201vqo; Wed, 8 Nov 2023 03:10:08 -0800 (PST) X-Google-Smtp-Source: AGHT+IF5XygxWUC0hATQ4G5xAzCgxEEtD153AykNnxrDFJ895kBPp1edrtGww+2AV88Dgr4huY8q X-Received: by 2002:a1f:2bc4:0:b0:4ac:9a8:2f29 with SMTP id r187-20020a1f2bc4000000b004ac09a82f29mr1269400vkr.12.1699441808731; Wed, 08 Nov 2023 03:10:08 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1699441808; cv=pass; d=google.com; s=arc-20160816; b=IkcLu1yJQCWjq7ZtnhE8kBJXHPJHgj5kFAwTLEXEvRefYQZl8PHkxF38SPJjZbUMCm o1eCHGTIr+m8W+9EQaDwvWj2l/Sqt1Fc3MCWuSKFo0yDjLEGx0BKyPNj08ui88+FHvIH JJQKPA5/5mxYFa3ojV5Q6h28XuAKH8mRHW/UNi66hfhWSifENhQvJLdMRbEgF76XA5QQ uV3aoXost1+TX/FwYRewJ5Kj7lE9mtDyrf6/p/P/M7OJR3hHzf+DGLCykSqNYNtxsmGd dBYgEyYCSEVHlFDUZA1zQgt2R0G773mRSOSq1S7zio91hixnBUGUfnFjwmGlhkIHXmUX tY0A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=mpcYxTLeOpVezynvZZcpIKQ9J4NY6RGR0PAN/DSy6oo=; fh=qiT4HZV9olO2fGAIgbF8w4l7HXh8ja5CJNGeguP7WSc=; b=g5V81W8d91UwwllotjuhZCSEwRq3I+dVKeM+ua0QtSPTuatn6WMoXEx+qAvjHSRirD ex4aAdRvMy9vAI/Mwnd17vtWDJ/iabLXxfXLcsfDrsOCuQvzU3mKaYUZM9abtlY6Ise1 6/moXJVZt/ccqJe/+cZfhZvWnjGpWFWw3zGd2RuNfyLQUhSWmI+K7NKAWvHSkOyDNvHR CL5xcwArvmiZwHnNO0kqcUZaoP+1URX0ZFPF8TuWGhQNSs76NhC/3Le/Eus7Oxw9NpaL 6vs4SmzcfGpMY3x9CDuC7QEbw2LsMgE/F0HfFsJCrb5UH2SDNB6gTU5dz/xKjqrWSEaK x2oQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@embecosm.com header.s=google header.b=TjOUl4bn; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id l1-20020a0cc201000000b0066d066a11f9si1195954qvh.228.2023.11.08.03.10.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Nov 2023 03:10:08 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@embecosm.com header.s=google header.b=TjOUl4bn; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 64BBB385C303 for ; Wed, 8 Nov 2023 11:10:02 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com [IPv6:2a00:1450:4864:20::232]) by sourceware.org (Postfix) with ESMTPS id A80D13858D1E for ; Wed, 8 Nov 2023 11:09:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A80D13858D1E 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 A80D13858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::232 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699441777; cv=none; b=ICiIaOX+c3bQw9o6gGtDZcD7yQujI6QIsApU5VOXaKiY8gbaMYv4akQ1cfjd8SV16SD33GQgTpN0mkY6E17r2Oy5f7U2Ki74g2iJaEnma6X1aDZo9zlP/PtnJXizAUJCMcFoXSvfJSo4Edcwga92PH9AKT9ND/0N1vKE9WfoJYQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699441777; c=relaxed/simple; bh=kAhAvmd6FSF9jc0NmZxhTpIfOSpMddYQyJ1Q+eBxe04=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=nGLANQri3+wCD0mJDKVkghQY51LPKEJB1JUsXdWBj/9l3WYpXn34DjppiPKVwNm2DDv22H4OewYMgFdaqCawJ4l+qSCbB4QT1UR0QMcW0lx/ltzXllBhrOvKbDPkDEkGe9waK771Q0Lrx+oqwK2QonMTqfjlTs3eAlC/Wurhm/I= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lj1-x232.google.com with SMTP id 38308e7fff4ca-2c509f2c46cso92860351fa.1 for ; Wed, 08 Nov 2023 03:09:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; t=1699441773; x=1700046573; darn=gcc.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=mpcYxTLeOpVezynvZZcpIKQ9J4NY6RGR0PAN/DSy6oo=; b=TjOUl4bnOq85t5J1aafDSzV2g+yQ2Q4Y5dcdfh4FUpyyD6/WWh2QJoWk5x3rd/TPRH 5AX5/m3QzdPkcW2PNd+bGmXGhQJ7w6Jz3zto/1ofnrfviw/McW/KJOGdDc83ioCSsWV9 zLFOYmHgvK9S8btx0lHhD60AcbYh8VdlUWg2AiVVrcSRGCaSwTyxj2WukXWxSlOTtiWw vwOlZpqIldcbaIA7/ecDD04RHELuMvXPj2we7lVpGVP8PmSAJ0heQD+TIkkCnuMRObQG zkW6FGmopq19rkuyOYlBNo02oW5UcWpRN+ryZn+Du2bTKb0ykvQk9Oq919Fw6eDl7cv+ DPFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699441773; x=1700046573; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mpcYxTLeOpVezynvZZcpIKQ9J4NY6RGR0PAN/DSy6oo=; b=FPHjzt70sqRSoYo8IuHbkFaFWUR8DqOffBvudAT6lGRfukBpcDRaPipmJFwqYQ3QWY UBR5lm2XJDZEb2p9ksFahgMLGvL5G1awOJqI/DgoNSKVYkh73f/D2gPaxn4Eg7RaRnBC teJZOfB+/tJVTPBVoVNnPd3QX7HV36d8hYaad3qs7pHnuok76G+VT8fdnvYa409BVjKS G8GO59kXsr/2AYtusorFJBA8thd26kNkw4GGp6G738kdhAJXsP7Ep743M+h9hrgf61ZW xn15ArXdN9dSiDCAtW/4RvQoOAlJI1hNW6pO8dV8HmkaSBavKs5itw/DpTS0mU5MLymt zpTQ== X-Gm-Message-State: AOJu0YzSaUzZ+3RaR2wub0cb/khUgrpcqLaa1KSR7ea9v2wyxmjHUiNP H6COs7SWLcdDsGFG18hqPazQtS579cd9j1YUh6cg4A== X-Received: by 2002:a05:651c:2212:b0:2c5:2298:d44e with SMTP id y18-20020a05651c221200b002c52298d44emr1731201ljq.5.1699441773146; Wed, 08 Nov 2023 03:09:33 -0800 (PST) Received: from troughton.sou.embecosm-corp.com ([212.69.42.53]) by smtp.gmail.com with ESMTPSA id g4-20020a05600c310400b004068e09a70bsm18903289wmo.31.2023.11.08.03.09.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Nov 2023 03:09:32 -0800 (PST) From: Mary Bennett To: gcc-patches@gcc.gnu.org Cc: mary.bennett@embecosm.com Subject: [PATCH 0/3] RISC-V: Support CORE-V XCVELW and XCVBI extensions Date: Wed, 8 Nov 2023 11:09:11 +0000 Message-Id: <20231108110914.2710021-1-mary.bennett@embecosm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-5.2 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781993894100151707 X-GMAIL-MSGID: 1781993894100151707 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 | 9 +++- 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, 252 insertions(+), 10 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