Message ID | 20240116171351.913881-1-mary.bennett@embecosm.com |
---|---|
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:42cf:b0:101:a8e8:374 with SMTP id q15csp399548dye; Tue, 16 Jan 2024 09:15:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IH8XF15Acqn9hUWMeD2waOgfEsSfQeRC8E5eusHSGR/BTQ37e2teiILQtpamf8i7prYe3Rc X-Received: by 2002:a05:6214:260b:b0:680:a521:d86 with SMTP id gu11-20020a056214260b00b00680a5210d86mr10829143qvb.47.1705425318342; Tue, 16 Jan 2024 09:15:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705425318; cv=pass; d=google.com; s=arc-20160816; b=uB+M5ueRG45LsmymlLZhg8yC1PQbO0ISnlCqV89ZyCYgSidn27xyYOFfreNTs7F8jH 4YLcpTC2Z0tnctx7whOIdjFEK4qL8SpABj/2pw2CHrr6A51Bp+uLITwJG+J8+3sjMNq/ YRPtniEzirKc//3NnOoC3L0rgEwUtEf2z5mS+O6QLCtK0KXtaBnaUk+QP5/cfVZym+Gr c1Ba3632m9ox0qhRaOtZ+u7HYdPuSunEDokzWgp08qqVm4nREoUFeZ9saEp7+NQGrUKb wpso1BpAJs1afiPXdxUqD0XQV1QvGC8m/Fb/8xQwoh2SA2v4O3urn1Xa23szKIAIgF8L QcYw== 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:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=QM/+h6e5d3+PytzUsNKu451AySS++fB6lEoycxK6Jtk=; fh=qiT4HZV9olO2fGAIgbF8w4l7HXh8ja5CJNGeguP7WSc=; b=PbMAMcUCZD4FxnvsStGX2V1//xF0DEnR1T5UvEqFM5Qrli3fmas3yQJkHvOMOaz79G 3rEDvCGxiKiSU+lG0u2VwSrpX4GJRyUuInImZ3hsb4RGMbBbMKxb81r7xjesT3uYf6a/ fn3KedDgUdNsh0S8sdTUe7PauklUoIFhkpaHCiZTDGrK24QN+3SHBsGx/wLcKIlF0Nr3 sBw1259jpIUX9JNNwMT+U2CJSiRnNn7WStjNbCbNfpZT3Pn1SKiH1GA8QaxQnYRK8pFN y+3nVyJiR+BJ0E6wPzQUAs9XBEG9egjeDjWX/qUnpxyxMRQ8XDuf1V62eAgIdKIJqED+ +r7Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@embecosm.com header.s=google header.b=Pb25206c; 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 k11-20020a0cabcb000000b0067f60f66a13si9758763qvb.581.2024.01.16.09.15.18 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jan 2024 09:15:18 -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=Pb25206c; 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 0DECC3858C33 for <ouuuleilei@gmail.com>; Tue, 16 Jan 2024 17:15:18 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) by sourceware.org (Postfix) with ESMTPS id 5C01B3858C33 for <gcc-patches@gcc.gnu.org>; Tue, 16 Jan 2024 17:14:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5C01B3858C33 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 5C01B3858C33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::32e ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705425255; cv=none; b=BTSwg4N7D/Pira8jNyVXITFgrJDbrcD7T4/pErS6/R49E5XWZ54RB/ZyVW0n9rjiOZjcRx18O8c7ZyZjV3A34inlAsgvThtcLq+4gL5DVrsEauUuxV0Pp5EoCzwRPz2yIwLVgm+21/pYloXpucPNei3YEh0QAqN0Ulj/i8VLyys= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705425255; c=relaxed/simple; bh=EBGEXpOevqOevkJxzV1XAlprAxCflCyvCsbbrq00P8Q=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=bz5LSaR/OyEcJgUtqNwGJH7JpOZB62LgzlKPFY0zi3cjX/K71xHhxPmSs2KXEyYUb60snyLF6ucny8a6q4m070ZYnz9uhrcyBWBMGFK/pBts9JN1JHOlVDTLyXUSCGKNcpzuiBcJWDILsioAr5mEG7mtV1zytFduWlwcuwvID0M= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-40e80046264so18888805e9.0 for <gcc-patches@gcc.gnu.org>; Tue, 16 Jan 2024 09:14:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; t=1705425245; x=1706030045; 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=QM/+h6e5d3+PytzUsNKu451AySS++fB6lEoycxK6Jtk=; b=Pb25206cgxYVhbuAmtkcM3EPO5OOCUeNKNhTZO4mx8t+I3mWAqgpboAKBqLfDt/tna d0S25DGlAyWlJdKhhNXoQXYrdnspS/8MNmkajWVEA6qzl6OS7T4XGkKIxIzMbtlFAEGY mCHFukCoOP28syxvFLc6gE1oPBDNt+i7PAvyNX3z9Jd0zKwhb34IyCddmqRRoEpiKJ4q hcrWgCs5UNbrDiX5CqdpNlhbNa5R/vqbtCT7KCkuWZXAp9KGLBWhB4WHqyBWoW7E0zyj pcIlVYyc0n2YISTOMEh0UV7diuBoRuHbRIt9fJq7nsysrWidryQdmdq3lnccA2aHV1rT BFMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705425245; x=1706030045; 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=QM/+h6e5d3+PytzUsNKu451AySS++fB6lEoycxK6Jtk=; b=OJrXpwPqJZQ1SgFt7eWy9njphGwEfbogad1jm26zQbaEx11gs2Ryt+MI5XtZ2+eB7S tpXBhzXvGwg02XTYBg4Bi7qheO7hjqxeo/ZY45U6Gih12VmGnVNYJXAGNGTHWYfTVaeB 9V+rmsJzFysBVnN/pArOz8QxPLxyttEChajyyAk9OMbrZ0oiboq8rgTRg7Vaaq78fvuG dX8MU+eiGILXS+SkoG+KWbRAStgcSneKHT4RD5/6jXLE1tAYdYtL/fTlm+7zlS5Buxw2 NpgngSSLlDQ9EK+DgEe0PGJN8SzFCtNUga8NsrteL6DA+jGFoFLA0ckwZPbcV/ctq/P2 LmDw== X-Gm-Message-State: AOJu0YzCgZp9HUQl0Vgn4mD49GDfcBs6j8hA5DEq6kghKVfXTOl+Nmyl MROv5tZDn0oCviohPeszes+HTW5pk50+myfGFCQ4+wHy1bg= X-Received: by 2002:a05:600c:4fd5:b0:40d:6f89:a839 with SMTP id o21-20020a05600c4fd500b0040d6f89a839mr4858607wmq.30.1705425245019; Tue, 16 Jan 2024 09:14:05 -0800 (PST) Received: from troughton.lym.embecosm-corp.com ([212.69.42.53]) by smtp.gmail.com with ESMTPSA id o21-20020a05600c4fd500b0040e34ca648bsm20045876wmq.0.2024.01.16.09.14.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jan 2024 09:14:04 -0800 (PST) From: Mary Bennett <mary.bennett@embecosm.com> To: gcc-patches@gcc.gnu.org Cc: mary.bennett@embecosm.com Subject: [PATCH v3 0/2] RISC-V: Support CORE-V XCVSIMD extension Date: Tue, 16 Jan 2024 17:13:49 +0000 Message-Id: <20240116171351.913881-1-mary.bennett@embecosm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240116163529.623568-1-mary.bennett@embecosm.com> References: <20240116163529.623568-1-mary.bennett@embecosm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.5 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 <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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782087532751518091 X-GMAIL-MSGID: 1788268058208184836 |
Series |
RISC-V: Support CORE-V XCVSIMD extension
|
|
Message
Mary Bennett
Jan. 16, 2024, 5:13 p.m. UTC
v2 -> v3: * Removed duplicate ftype. This patch series presents the comprehensive implementation of the SIMD 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 <mary.bennett@embecosm.com> Nandni Jamnadas <nandni.jamnadas@embecosm.com> Pietra Ferreira <pietra.ferreira@embecosm.com> Charlie Keaney Jessica Mills Craig Blackmore <craig.blackmore@embecosm.com> Simon Cook <simon.cook@embecosm.com> Jeremy Bennett <jeremy.bennett@embecosm.com> Helene Chelin <helene.chelin@embecosm.com> RISC-V: Add support for XCVsimd extension in CV32E40P RISC-V: Fix XCValu test gcc/common/config/riscv/riscv-common.cc | 2 + gcc/config/riscv/constraints.md | 30 + gcc/config/riscv/corev.def | 156 ++ gcc/config/riscv/corev.md | 1908 +++++++++++++++++ gcc/config/riscv/predicates.md | 20 + gcc/config/riscv/riscv-builtins.cc | 1 + gcc/config/riscv/riscv-ftypes.def | 8 + gcc/config/riscv/riscv.cc | 8 + gcc/config/riscv/riscv.opt | 2 + gcc/doc/extend.texi | 886 ++++++++ gcc/doc/sourcebuild.texi | 3 + .../gcc.target/riscv/cv-alu-fail-compile.c | 40 +- .../riscv/cv-simd-abs-b-compile-1.c | 11 + .../riscv/cv-simd-abs-h-compile-1.c | 11 + .../riscv/cv-simd-add-b-compile-1.c | 11 + .../riscv/cv-simd-add-div2-compile-1.c | 11 + .../riscv/cv-simd-add-div4-compile-1.c | 11 + .../riscv/cv-simd-add-div8-compile-1.c | 11 + .../riscv/cv-simd-add-h-compile-1.c | 11 + .../riscv/cv-simd-add-sc-b-compile-1.c | 30 + .../riscv/cv-simd-add-sc-h-compile-1.c | 30 + .../riscv/cv-simd-and-b-compile-1.c | 11 + .../riscv/cv-simd-and-h-compile-1.c | 11 + .../riscv/cv-simd-and-sc-b-compile-1.c | 30 + .../riscv/cv-simd-and-sc-h-compile-1.c | 30 + .../riscv/cv-simd-avg-b-compile-1.c | 11 + .../riscv/cv-simd-avg-h-compile-1.c | 11 + .../riscv/cv-simd-avg-sc-b-compile-1.c | 30 + .../riscv/cv-simd-avg-sc-h-compile-1.c | 30 + .../riscv/cv-simd-avgu-b-compile-1.c | 11 + .../riscv/cv-simd-avgu-h-compile-1.c | 11 + .../riscv/cv-simd-avgu-sc-b-compile-1.c | 24 + .../riscv/cv-simd-avgu-sc-h-compile-1.c | 24 + .../riscv/cv-simd-cmpeq-b-compile-1.c | 11 + .../riscv/cv-simd-cmpeq-h-compile-1.c | 11 + .../riscv/cv-simd-cmpeq-sc-b-compile-1.c | 30 + .../riscv/cv-simd-cmpeq-sc-h-compile-1.c | 30 + .../riscv/cv-simd-cmpge-b-compile-1.c | 11 + .../riscv/cv-simd-cmpge-h-compile-1.c | 11 + .../riscv/cv-simd-cmpge-sc-b-compile-1.c | 30 + .../riscv/cv-simd-cmpge-sc-h-compile-1.c | 30 + .../riscv/cv-simd-cmpgeu-b-compile-1.c | 11 + .../riscv/cv-simd-cmpgeu-h-compile-1.c | 11 + .../riscv/cv-simd-cmpgeu-sc-b-compile-1.c | 24 + .../riscv/cv-simd-cmpgeu-sc-h-compile-1.c | 24 + .../riscv/cv-simd-cmpgt-b-compile-1.c | 11 + .../riscv/cv-simd-cmpgt-h-compile-1.c | 11 + .../riscv/cv-simd-cmpgt-sc-b-compile-1.c | 30 + .../riscv/cv-simd-cmpgt-sc-h-compile-1.c | 30 + .../riscv/cv-simd-cmpgtu-b-compile-1.c | 11 + .../riscv/cv-simd-cmpgtu-h-compile-1.c | 11 + .../riscv/cv-simd-cmpgtu-sc-b-compile-1.c | 24 + .../riscv/cv-simd-cmpgtu-sc-h-compile-1.c | 24 + .../riscv/cv-simd-cmple-b-compile-1.c | 11 + .../riscv/cv-simd-cmple-h-compile-1.c | 11 + .../riscv/cv-simd-cmple-sc-b-compile-1.c | 30 + .../riscv/cv-simd-cmple-sc-h-compile-1.c | 30 + .../riscv/cv-simd-cmpleu-b-compile-1.c | 11 + .../riscv/cv-simd-cmpleu-h-compile-1.c | 11 + .../riscv/cv-simd-cmpleu-sc-b-compile-1.c | 24 + .../riscv/cv-simd-cmpleu-sc-h-compile-1.c | 24 + .../riscv/cv-simd-cmplt-b-compile-1.c | 11 + .../riscv/cv-simd-cmplt-h-compile-1.c | 11 + .../riscv/cv-simd-cmplt-sc-b-compile-1.c | 30 + .../riscv/cv-simd-cmplt-sc-h-compile-1.c | 30 + .../riscv/cv-simd-cmpltu-b-compile-1.c | 11 + .../riscv/cv-simd-cmpltu-h-compile-1.c | 11 + .../riscv/cv-simd-cmpltu-sc-b-compile-1.c | 24 + .../riscv/cv-simd-cmpltu-sc-h-compile-1.c | 24 + .../riscv/cv-simd-cmpne-b-compile-1.c | 11 + .../riscv/cv-simd-cmpne-h-compile-1.c | 11 + .../riscv/cv-simd-cmpne-sc-b-compile-1.c | 30 + .../riscv/cv-simd-cmpne-sc-h-compile-1.c | 30 + .../riscv/cv-simd-cplxconj-compile-1.c | 11 + .../riscv/cv-simd-cplxmul-i-compile-1.c | 11 + .../riscv/cv-simd-cplxmul-i-div2-compile-1.c | 11 + .../riscv/cv-simd-cplxmul-i-div4-compile-1.c | 11 + .../riscv/cv-simd-cplxmul-i-div8-compile-1.c | 11 + .../riscv/cv-simd-cplxmul-r-compile-1.c | 11 + .../riscv/cv-simd-cplxmul-r-div2-compile-1.c | 11 + .../riscv/cv-simd-cplxmul-r-div4-compile-1.c | 11 + .../riscv/cv-simd-cplxmul-r-div8-compile-1.c | 11 + .../riscv/cv-simd-dotsp-b-compile-1.c | 11 + .../riscv/cv-simd-dotsp-h-compile-1.c | 11 + .../riscv/cv-simd-dotsp-sc-b-compile-1.c | 30 + .../riscv/cv-simd-dotsp-sc-h-compile-1.c | 30 + .../riscv/cv-simd-dotup-b-compile-1.c | 11 + .../riscv/cv-simd-dotup-h-compile-1.c | 11 + .../riscv/cv-simd-dotup-sc-b-compile-1.c | 24 + .../riscv/cv-simd-dotup-sc-h-compile-1.c | 24 + .../riscv/cv-simd-dotusp-b-compile-1.c | 11 + .../riscv/cv-simd-dotusp-h-compile-1.c | 11 + .../riscv/cv-simd-dotusp-sc-b-compile-1.c | 30 + .../riscv/cv-simd-dotusp-sc-h-compile-1.c | 30 + .../riscv/cv-simd-extract-b-compile-1.c | 23 + .../riscv/cv-simd-extract-h-compile-1.c | 23 + .../riscv/cv-simd-extractu-b-compile-1.c | 23 + .../riscv/cv-simd-extractu-h-compile-1.c | 23 + .../riscv/cv-simd-insert-b-compile-1.c | 23 + .../riscv/cv-simd-insert-h-compile-1.c | 23 + .../riscv/cv-simd-march-compile-1.c | 1765 +++++++++++++++ .../riscv/cv-simd-max-b-compile-1.c | 11 + .../riscv/cv-simd-max-h-compile-1.c | 11 + .../riscv/cv-simd-max-sc-b-compile-1.c | 30 + .../riscv/cv-simd-max-sc-h-compile-1.c | 30 + .../riscv/cv-simd-maxu-b-compile-1.c | 11 + .../riscv/cv-simd-maxu-h-compile-1.c | 11 + .../riscv/cv-simd-maxu-sc-b-compile-1.c | 24 + .../riscv/cv-simd-maxu-sc-h-compile-1.c | 24 + .../riscv/cv-simd-min-b-compile-1.c | 11 + .../riscv/cv-simd-min-h-compile-1.c | 11 + .../riscv/cv-simd-min-sc-b-compile-1.c | 30 + .../riscv/cv-simd-min-sc-h-compile-1.c | 30 + .../riscv/cv-simd-minu-b-compile-1.c | 11 + .../riscv/cv-simd-minu-h-compile-1.c | 11 + .../riscv/cv-simd-minu-sc-b-compile-1.c | 24 + .../riscv/cv-simd-minu-sc-h-compile-1.c | 24 + .../riscv/cv-simd-neg-b-compile-1.c | 11 + .../riscv/cv-simd-neg-h-compile-1.c | 11 + .../gcc.target/riscv/cv-simd-or-b-compile-1.c | 11 + .../gcc.target/riscv/cv-simd-or-h-compile-1.c | 11 + .../riscv/cv-simd-or-sc-b-compile-1.c | 30 + .../riscv/cv-simd-or-sc-h-compile-1.c | 30 + .../gcc.target/riscv/cv-simd-pack-compile-1.c | 11 + .../riscv/cv-simd-pack-h-compile-1.c | 11 + .../riscv/cv-simd-packhi-b-compile-1.c | 11 + .../riscv/cv-simd-packlo-b-compile-1.c | 11 + .../riscv/cv-simd-sdotsp-b-compile-1.c | 11 + .../riscv/cv-simd-sdotsp-h-compile-1.c | 11 + .../riscv/cv-simd-sdotsp-sc-b-compile-1.c | 30 + .../riscv/cv-simd-sdotsp-sc-h-compile-1.c | 30 + .../riscv/cv-simd-sdotup-b-compile-1.c | 11 + .../riscv/cv-simd-sdotup-h-compile-1.c | 11 + .../riscv/cv-simd-sdotup-sc-b-compile-1.c | 24 + .../riscv/cv-simd-sdotup-sc-h-compile-1.c | 24 + .../riscv/cv-simd-sdotusp-b-compile-1.c | 11 + .../riscv/cv-simd-sdotusp-h-compile-1.c | 11 + .../riscv/cv-simd-sdotusp-sc-b-compile-1.c | 30 + .../riscv/cv-simd-sdotusp-sc-h-compile-1.c | 30 + .../riscv/cv-simd-shuffle-sci-h-compile-1.c | 11 + .../riscv/cv-simd-shuffle2-b-compile-1.c | 11 + .../riscv/cv-simd-shuffle2-h-compile-1.c | 11 + .../riscv/cv-simd-shufflei0-sci-b-compile-1.c | 19 + .../riscv/cv-simd-shufflei1-sci-b-compile-1.c | 19 + .../riscv/cv-simd-shufflei2-sci-b-compile-1.c | 19 + .../riscv/cv-simd-shufflei3-sci-b-compile-1.c | 19 + .../riscv/cv-simd-sll-b-compile-1.c | 11 + .../riscv/cv-simd-sll-h-compile-1.c | 11 + .../riscv/cv-simd-sll-sc-b-compile-1.c | 24 + .../riscv/cv-simd-sll-sc-h-compile-1.c | 24 + .../riscv/cv-simd-sra-b-compile-1.c | 11 + .../riscv/cv-simd-sra-h-compile-1.c | 11 + .../riscv/cv-simd-sra-sc-b-compile-1.c | 24 + .../riscv/cv-simd-sra-sc-h-compile-1.c | 24 + .../riscv/cv-simd-srl-b-compile-1.c | 11 + .../riscv/cv-simd-srl-h-compile-1.c | 11 + .../riscv/cv-simd-srl-sc-b-compile-1.c | 24 + .../riscv/cv-simd-srl-sc-h-compile-1.c | 24 + .../riscv/cv-simd-sub-b-compile-1.c | 11 + .../riscv/cv-simd-sub-div2-compile-1.c | 11 + .../riscv/cv-simd-sub-div4-compile-1.c | 11 + .../riscv/cv-simd-sub-div8-compile-1.c | 11 + .../riscv/cv-simd-sub-h-compile-1.c | 11 + .../riscv/cv-simd-sub-sc-b-compile-1.c | 30 + .../riscv/cv-simd-sub-sc-h-compile-1.c | 30 + .../riscv/cv-simd-subrotmj-compile-1.c | 11 + .../riscv/cv-simd-subrotmj-div2-compile-1.c | 11 + .../riscv/cv-simd-subrotmj-div4-compile-1.c | 11 + .../riscv/cv-simd-subrotmj-div8-compile-1.c | 11 + .../riscv/cv-simd-xor-b-compile-1.c | 11 + .../riscv/cv-simd-xor-h-compile-1.c | 11 + .../riscv/cv-simd-xor-sc-b-compile-1.c | 30 + .../riscv/cv-simd-xor-sc-h-compile-1.c | 30 + gcc/testsuite/lib/target-supports.exp | 13 + 174 files changed, 7682 insertions(+), 20 deletions(-) create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-abs-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-abs-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-add-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-add-div2-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-add-div4-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-add-div8-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-add-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-add-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-add-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-and-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-and-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-and-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-and-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-avg-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-avg-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-avg-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-avg-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-avgu-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-avgu-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-avgu-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-avgu-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpeq-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpge-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgeu-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgt-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpgtu-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmple-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmple-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmple-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmple-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpleu-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmplt-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpltu-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cmpne-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cplxconj-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-div2-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-div4-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-i-div8-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-div2-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-div4-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-cplxmul-r-div8-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotsp-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotup-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotup-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotup-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotup-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-dotusp-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-extract-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-extract-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-extractu-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-extractu-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-insert-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-insert-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-march-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-max-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-max-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-max-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-max-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-maxu-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-maxu-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-maxu-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-maxu-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-min-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-min-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-min-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-min-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-minu-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-minu-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-minu-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-minu-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-neg-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-neg-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-or-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-or-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-or-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-or-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-pack-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-pack-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-packhi-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-packlo-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotsp-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotup-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sdotusp-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-shuffle-sci-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-shuffle2-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-shuffle2-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-shufflei0-sci-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-shufflei1-sci-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-shufflei2-sci-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-shufflei3-sci-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sll-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sll-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sll-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sll-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sra-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sra-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sra-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sra-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-srl-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-srl-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-srl-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-srl-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sub-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sub-div2-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sub-div4-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sub-div8-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sub-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sub-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-sub-sc-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-div2-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-div4-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-subrotmj-div8-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-xor-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-xor-h-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-xor-sc-b-compile-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/cv-simd-xor-sc-h-compile-1.c
Comments
It's stage 4, so I think it would be great to not disturb code base too much, and adding intrinsic without adding VLS modes should be better way to go, and here is not really something serious coding style issue, just few minor indentation issue, so I gonna run regression to make not break anything else and then commit to trunk :)
pushed :) On Thu, Jan 25, 2024 at 9:53 PM Kito Cheng <kito.cheng@gmail.com> wrote: > > It's stage 4, so I think it would be great to not disturb code base > too much, and adding intrinsic without adding VLS modes should be > better way to go, and here is not really something serious coding > style issue, just few minor indentation issue, so I gonna run > regression to make not break anything else and then commit to trunk :)