From patchwork Sat Nov 18 03:23:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chung-Ju Wu X-Patchwork-Id: 839216 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-467259-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="aCi/TBK1"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3yf0gs2bH0z9ryr for ; Sat, 18 Nov 2017 14:23:49 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to:cc :from:subject:message-id:date:mime-version:content-type; q=dns; s=default; b=cV1veDieJnIvXwtRG5aPP5pxWwdb6ZsnJFbEviVfEQlGkoOxTt ynhYE45QoSB0AmRuxA6pd1P1hs/NNpl7cU2lV0U4+qmipLwM+f9z9uU1EkJx8T8p fLERmkplJ8xSeBUxYQCNae9tavRd/PW89EY1xjAqx6NBtQLlPgSUWDwAI= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to:cc :from:subject:message-id:date:mime-version:content-type; s= default; bh=OdHWWtvRNxffP5LwnpcZ2UulLdA=; b=aCi/TBK1Oof2M+RVM+7t EsoZB0MvKEN81lCjuH4tuWzuYhubQknn9e2OfFSGeiCB4csqcHf3h3XUey7cg2bk 1ENMyGPH+GePit3msOUNc1YOBNMeuWfweQG0RBuq1+uzYOx/3KnEhHi1oFRZREQl 3FKurqIHnK2mFY0qPXZyWD0= Received: (qmail 11924 invoked by alias); 18 Nov 2017 03:23:41 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 11911 invoked by uid 89); 18 Nov 2017 03:23:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.0 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS, KAM_SHORT, KB_WAM_FROM_NAME_SINGLEWORD, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=V4QI, V2SI, V2HI, nds32-modes.def X-HELO: mail-pg0-f53.google.com Received: from mail-pg0-f53.google.com (HELO mail-pg0-f53.google.com) (74.125.83.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 18 Nov 2017 03:23:38 +0000 Received: by mail-pg0-f53.google.com with SMTP id 70so3328657pgf.6 for ; Fri, 17 Nov 2017 19:23:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:from:subject:message-id:date:user-agent :mime-version:content-language; bh=1KI7929gZTV+JiqnavRtO2a87SRuAWJpYRFkRYzzbf4=; b=h3KbneJ3rKFJvhpQIvcZmGchXuQHFWHDsvym2+MaHoFT1F9DPNRQV2hAD+qAUKzpQo GD8Rd/cXnbmx7OGNtX6O8QOknzfmIhgh7vhWLWcHWXheteXv3hkYtDf15Qx2niQA2VTk 1/oKzDruhX/FPXsJ3/vnirpkK2wkFbXWYSS1A2XgAIF44d8Jxm3A4YRyWjRZXXEU3KSl QlcHkZgvxdz5V42neAOfbrFqKloNq0m7tIo6iiPDZ89Uq2vbA4wuRc1X3f4YEWu3RzMb ibILpEhEMDqYGkfPO322IWWlmRkoUMqC9wntF6hKqKuVVaj+4SZGbqdhkCTu4YOVzHk/ oCWA== X-Gm-Message-State: AJaThX6gea6oJg/RKFDQ0mvn8IYlFAeT6dQq97EDpiUEcy+XZaBCOVQt wRBVqI9qLZk190jdgWghGrg= X-Google-Smtp-Source: AGs4zMaQvSp3GRuJF13DS8krUvtmhsO4TqWv0k5QJeTvlf0xgwUZBRlp5E1gWY3arC5sv4uF9ODJXQ== X-Received: by 10.101.100.76 with SMTP id s12mr7084243pgv.173.1510975416801; Fri, 17 Nov 2017 19:23:36 -0800 (PST) Received: from jasonwucj-macbook.local (1-171-5-84.dynamic-ip.hinet.net. [1.171.5.84]) by smtp.gmail.com with ESMTPSA id f15sm7520196pgv.45.2017.11.17.19.23.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 17 Nov 2017 19:23:35 -0800 (PST) To: Gcc Patch List Cc: shiva0217@gmail.com From: Chung-Ju Wu Subject: [PATCH, nds32] Add nds32 vector modes. Message-ID: <3e87c3a4-e0c2-da01-839e-27e32ff127ae@gmail.com> Date: Sat, 18 Nov 2017 11:23:27 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 X-IsSubscribed: yes Hi, all, This is the preparation for future nds32 vector implementation. Committed as Rev.254853: http://gcc.gnu.org/r254853 gcc/ * config/nds32/nds32-modes.def: Add vector mode V4QI V2HI V8QI V4HI V2SI. * config/nds32/iterators.md: Add vector mode iterators and attributes. Best regards, jasonwucj From 61acc7f622e563d6b46e45b26ba1f03dcb61dcb5 Mon Sep 17 00:00:00 2001 From: Chung-Ju Wu Date: Sun, 12 Nov 2017 16:18:39 +0800 Subject: [PATCH 5/7] Add nds32 vector modes. --- gcc/config/nds32/iterators.md | 17 ++++++++++++++++- gcc/config/nds32/nds32-modes.def | 4 +++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gcc/config/nds32/iterators.md b/gcc/config/nds32/iterators.md index 0a8f5ae..fce5ab6 100644 --- a/gcc/config/nds32/iterators.md +++ b/gcc/config/nds32/iterators.md @@ -26,12 +26,24 @@ ;; A list of integer modes that are up to one word long. (define_mode_iterator QIHISI [QI HI SI]) +;; A list of integer modes for one word and double word. +(define_mode_iterator SIDI [SI DI]) + ;; A list of integer modes that are up to one half-word long. (define_mode_iterator QIHI [QI HI]) ;; A list of the modes that are up to double-word long. (define_mode_iterator DIDF [DI DF]) +;; A list of the modes that are up to one word long vector. +(define_mode_iterator VQIHI [V4QI V2HI]) + +;; A list of the modes that are up to one word long vector +;; and scalar for varies mode. +(define_mode_iterator VSHI [V2HI HI]) +(define_mode_iterator VSQIHI [V4QI V2HI QI HI]) +(define_mode_iterator VSQIHIDI [V4QI V2HI QI HI DI]) +(define_mode_iterator VQIHIDI [V4QI V2HI DI]) ;;---------------------------------------------------------------------------- ;; Mode attributes. @@ -39,8 +51,11 @@ (define_mode_attr size [(QI "b") (HI "h") (SI "w")]) -(define_mode_attr byte [(QI "1") (HI "2") (SI "4")]) +(define_mode_attr byte [(QI "1") (HI "2") (SI "4") (V4QI "4") (V2HI "4")]) + +(define_mode_attr bits [(V4QI "8") (QI "8") (V2HI "16") (HI "16") (DI "64")]) +(define_mode_attr VELT [(V4QI "QI") (V2HI "HI")]) ;;---------------------------------------------------------------------------- ;; Code iterators. diff --git a/gcc/config/nds32/nds32-modes.def b/gcc/config/nds32/nds32-modes.def index 295a709..6e76dd2 100644 --- a/gcc/config/nds32/nds32-modes.def +++ b/gcc/config/nds32/nds32-modes.def @@ -18,4 +18,6 @@ along with GCC; see the file COPYING3. If not see . */ -/* So far, there is no need to define any modes for nds32 target. */ +/* Vector modes. */ +VECTOR_MODES (INT, 4); /* V4QI V2HI */ +VECTOR_MODES (INT, 8); /* V8QI V4HI V2SI */