Message ID | 20221113214636.2747737-1-christoph.muellner@vrull.eu |
---|---|
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp1843024wru; Sun, 13 Nov 2022 13:48:21 -0800 (PST) X-Google-Smtp-Source: AA0mqf5opKbHlBvH8bkid/u4j+N+Rw3fMmn+62DBenbI5FfEJKgyM3o5t2yh5ascdUajiCoqgtYG X-Received: by 2002:a17:906:7692:b0:7ae:3fa3:d7c6 with SMTP id o18-20020a170906769200b007ae3fa3d7c6mr7938613ejm.494.1668376101366; Sun, 13 Nov 2022 13:48:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668376101; cv=none; d=google.com; s=arc-20160816; b=gEfSvQDJgNNEn9fBFGxmrtM5pc/+Xa6Y439LT8SmzH0HINoTGzhnM/WFYHq422+hqD jtA8GrTSVy0YQDNdZvLKJ2lU7Kcj0hRu5K6a+vvXNC1Qj383IypjaWQXrvY92dLmdWkg 4wEBL+7mCqjAq+3UvdUtDC0y6m1skLxFkXvDX7kZTnzArPK1kWISjA4nSc1QWd4xjloB UrajyepZ4Zx+QEX6GQDA+ABiNypsDf89nO/eW9XVn+eMspUzrrssmtx1r1R4CtUd5QFx WtG7VGcbMNL3o7ogOSDkzNIiOvZlq02Ox1gDxU50KWr/ZVWJRV0by399qtgoYpM/gYyP pQcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender: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 :dmarc-filter:delivered-to; bh=Axw2yCVJbnVVFVfJR3bRPTC95aME7raYE4gIrvlTDk8=; b=L0Pus7sVDc4zNAPFWcz4WHNLUN2Ki27vYiXjPE7BySfW58rwstLVNyl3VngGZ6LBOP vieK4v7l9t90NZ45ES6a/vLFW0Je+a2DYSQ7QHoemV/cMbLqup684cyhdpDuICWMuoAI REJRlNjnNM1Y2ib8v6xlF6YAIzSon2VRvaoVLCr4etHliJxjwlQXQJHVoory95U00+RT WBBBc8bpRIlCqknviiLYNwbM8JlogS6bG7PoJy7UjMdn9Alluih3fCasTKBIXZ8JDA8D FLBh4LPCSA9NNk+qIGqpEGIwkhSJ90hfwtRJDBtm+Ohpb29tDvF/obSOevFO/1Ulbm97 CFjw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@vrull.eu header.s=google header.b=XPYDZzOp; 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 sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id sg38-20020a170907a42600b007adcf0dd301si959765ejc.747.2022.11.13.13.48.21 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 13 Nov 2022 13:48:21 -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=@vrull.eu header.s=google header.b=XPYDZzOp; 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 066E4392AC0F for <ouuuleilei@gmail.com>; Sun, 13 Nov 2022 21:47:14 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com [IPv6:2a00:1450:4864:20::62e]) by sourceware.org (Postfix) with ESMTPS id 8906A3857B98 for <gcc-patches@gcc.gnu.org>; Sun, 13 Nov 2022 21:46:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8906A3857B98 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=vrull.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=vrull.eu Received: by mail-ej1-x62e.google.com with SMTP id k2so24197963ejr.2 for <gcc-patches@gcc.gnu.org>; Sun, 13 Nov 2022 13:46:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull.eu; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Axw2yCVJbnVVFVfJR3bRPTC95aME7raYE4gIrvlTDk8=; b=XPYDZzOpAy9o5JUSDksSN3x80OR8HGxFzq2/XMapDQM0uF/HXL1UojTuw43idrb+WW eTBDfxjq9+XhPjSO53IKCL0bLRRUAmrDkSPCqGr7s1k4Yq5le5fypASgSDOKQc4wiQ+H iTBmegYwmURroBGypNeUBUdqWZ+j8Ufv8Z5r2YzMkV/3cK92+Nbs/vBNJpMVbhGeT9HQ mtq0w7KvaNN5WKD9b4QHrdsmmNiwi6K7VQGcRitwB67vHgqfyzn5yGs72CzUyZ6Npi5t 2Xg1pfv7ehzXyiw/akRSSZAbLSfVEQRkKk0+UYSS8F/04SEpW2TuA+PDSKKC6DiV1+/O fFOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=Axw2yCVJbnVVFVfJR3bRPTC95aME7raYE4gIrvlTDk8=; b=EE3sk2LHWaIMH66P3tuR7TwSEpFlPZQsUHPiLHUUXwdEgE+Lu5P3ihwM3oBWLhcZVC VanVQ5Y4Zpr/sXXb+hhAclp097XjllJgOQJ1sLNm3Buz6gbgrqL3jK3AQFIstc4Of0RI 6uRmcSY6T6XOxYR/JXrv9WtOu5o+i6FchQ8+gSH9Aq/lSis3kNhgHzLzEx0PPPv6CBvB RC4tAGnAUA2bIqzgyIu12fyJf6R1aoZTMjDEHZTTJlFnwy/crrztd5o09pPd3zcoEvlH yX9p5xh4P/x2ezduOk05Q02s3F4cPG15lCqrRlYJF40m8uJ3aOHsKUOXAgw2BPkKynGX 3ccA== X-Gm-Message-State: ANoB5plpG7EeTyEQYz+Ab8YEDBg0Akb9UxS+o+VdqB461GDUOLzSvydM s66HSnjXpQzjZ78AFyn1D0wvjSLySUdc9yWe X-Received: by 2002:a17:907:6d06:b0:73d:67ae:5f6 with SMTP id sa6-20020a1709076d0600b0073d67ae05f6mr8463044ejc.583.1668376001955; Sun, 13 Nov 2022 13:46:41 -0800 (PST) Received: from beast.fritz.box (62-178-148-172.cable.dynamic.surfer.at. [62.178.148.172]) by smtp.gmail.com with ESMTPSA id lb17-20020a170907785100b00734bfab4d59sm3432282ejc.170.2022.11.13.13.46.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 13 Nov 2022 13:46:41 -0800 (PST) From: Christoph Muellner <christoph.muellner@vrull.eu> To: gcc-patches@gcc.gnu.org, Kito Cheng <kito.cheng@sifive.com>, Jim Wilson <jim.wilson.gcc@gmail.com>, Palmer Dabbelt <palmer@dabbelt.com>, Andrew Waterman <andrew@sifive.com>, Philipp Tomsich <philipp.tomsich@vrull.eu>, Cooper Qu <cooper.qu@linux.alibaba.com>, Lifang Xia <lifang_xia@linux.alibaba.com>, Yunhai Shang <yunhai@linux.alibaba.com>, Zhiwei Liu <zhiwei_liu@linux.alibaba.com> Cc: =?utf-8?q?Christoph_M=C3=BCllner?= <christoph.muellner@vrull.eu> Subject: [PATCH 0/7] Add XThead* support Date: Sun, 13 Nov 2022 22:46:29 +0100 Message-Id: <20221113214636.2747737-1-christoph.muellner@vrull.eu> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, JMQ_SPF_NEUTRAL, KAM_MANYTO, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no 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.29 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+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749419138675668356?= X-GMAIL-MSGID: =?utf-8?q?1749419138675668356?= |
Series |
Add XThead* support
|
|
Message
Christoph Müllner
Nov. 13, 2022, 9:46 p.m. UTC
From: Christoph Müllner <christoph.muellner@vrull.eu>
This series adds support for the following vendor extensions
from T-Head:
* XTheadCmo, XTheadSync
* XTheadBa, XTheadBb, XTheadBs
* XTheadCondMov
* XTheadMac
* XTheadFmv, XTheadInt
No regressions observed.
Christoph Müllner (7):
riscv: Add basic XThead* vendor extension support
riscv: riscv-cores.def: Add T-Head XuanTie C906
riscv: thead: Add support for XTheadBa and XTheadBs ISA extensions
riscv: thead: Add support for XTheadCondMov ISA extensions
riscv: thead: Add support for XTheadBb ISA extension
riscv: thead: Add support for XTheadMac ISA extension
riscv: Add basic extension support for XTheadFmv and XTheadInt
gcc/common/config/riscv/riscv-common.cc | 24 ++
gcc/config/riscv/bitmanip.md | 47 +++-
gcc/config/riscv/iterators.md | 4 +
gcc/config/riscv/riscv-cores.def | 2 +
gcc/config/riscv/riscv-opts.h | 23 ++
gcc/config/riscv/riscv.cc | 67 ++++-
gcc/config/riscv/riscv.md | 52 +++-
gcc/config/riscv/riscv.opt | 3 +
gcc/config/riscv/thead.md | 252 ++++++++++++++++++
.../gcc.target/riscv/mcpu-thead-c906.c | 18 ++
gcc/testsuite/gcc.target/riscv/thead-mula-1.c | 40 +++
gcc/testsuite/gcc.target/riscv/thead-mula-2.c | 28 ++
.../gcc.target/riscv/xtheadba-addsl-64.c | 18 ++
.../gcc.target/riscv/xtheadba-addsl.c | 20 ++
gcc/testsuite/gcc.target/riscv/xtheadba.c | 13 +
gcc/testsuite/gcc.target/riscv/xtheadbb-ext.c | 19 ++
.../gcc.target/riscv/xtheadbb-extu.c | 12 +
gcc/testsuite/gcc.target/riscv/xtheadbb-rev.c | 40 +++
.../gcc.target/riscv/xtheadbb-srri.c | 18 ++
gcc/testsuite/gcc.target/riscv/xtheadbb.c | 13 +
gcc/testsuite/gcc.target/riscv/xtheadbs-tst.c | 12 +
gcc/testsuite/gcc.target/riscv/xtheadbs.c | 13 +
gcc/testsuite/gcc.target/riscv/xtheadcmo.c | 13 +
.../riscv/xtheadcondmov-mveqz-imm-eqz.c | 37 +++
.../riscv/xtheadcondmov-mveqz-imm-not.c | 37 +++
.../riscv/xtheadcondmov-mveqz-reg-eqz.c | 37 +++
.../riscv/xtheadcondmov-mveqz-reg-not.c | 37 +++
.../riscv/xtheadcondmov-mvnez-imm-cond.c | 37 +++
.../riscv/xtheadcondmov-mvnez-imm-nez.c | 37 +++
.../riscv/xtheadcondmov-mvnez-reg-cond.c | 37 +++
.../riscv/xtheadcondmov-mvnez-reg-nez.c | 37 +++
.../gcc.target/riscv/xtheadcondmov.c | 13 +
.../gcc.target/riscv/xtheadfmemidx.c | 13 +
gcc/testsuite/gcc.target/riscv/xtheadfmv.c | 14 +
gcc/testsuite/gcc.target/riscv/xtheadint.c | 14 +
gcc/testsuite/gcc.target/riscv/xtheadmac.c | 13 +
gcc/testsuite/gcc.target/riscv/xtheadmemidx.c | 13 +
gcc/testsuite/gcc.target/riscv/xtheadsync.c | 13 +
38 files changed, 1123 insertions(+), 17 deletions(-)
create mode 100644 gcc/config/riscv/thead.md
create mode 100644 gcc/testsuite/gcc.target/riscv/mcpu-thead-c906.c
create mode 100644 gcc/testsuite/gcc.target/riscv/thead-mula-1.c
create mode 100644 gcc/testsuite/gcc.target/riscv/thead-mula-2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadba-addsl-64.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadba-addsl.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadba.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadbb-ext.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadbb-extu.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadbb-rev.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadbb-srri.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadbb.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadbs-tst.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadbs.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadcmo.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-cond.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-cond.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadcondmov.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadfmemidx.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadfmv.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadint.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadmac.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadmemidx.c
create mode 100644 gcc/testsuite/gcc.target/riscv/xtheadsync.c