From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 40846 invoked by alias); 4 Mar 2016 13:25:51 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 40832 invoked by uid 89); 4 Mar 2016 13:25:51 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=Mask, UD:predicates.md, predicates.md, predicatesmd X-HELO: mail-wm0-f50.google.com Received: from mail-wm0-f50.google.com (HELO mail-wm0-f50.google.com) (74.125.82.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Fri, 04 Mar 2016 13:25:49 +0000 Received: by mail-wm0-f50.google.com with SMTP id p65so20265936wmp.1 for ; Fri, 04 Mar 2016 05:25:49 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=MpNxhDVh80/zIcvCokaftoUg0t76U7ifVhxWQHFc6YY=; b=krN0XRKremWm5BZgn9RRuQO6ei8X8uVB1NwkVMuxyNkafQots99EgWVVZIlD3wk6P9 ewbzvFOAYDbMexwq71d1yrhYhkVS7ugX9R6tdXRzapO3xM9p6P40LBC56QSPSn39rYPg DSG3ieGHVH/OhwTySWHyZarq2idn29KQZ1uXTbvwhjGDNPgqTLzKKzZDeW7RjOIB0FRZ nXCnhWUKxjoD32twzNMnkCwiDtM72GDy4sDIJ1p3B3+StsbInIbvPP8zAtdpnGIVca7H q8LQMDBkvD/aidEC56DVyHTPgZpGd4VWt5hutA6m+XjdlLrB20IqcITKBzASRm3ZDKHr SfsA== X-Gm-Message-State: AD7BkJKPDDmoddPgA44kQ9wARooUYig3qQfGgQ964E9mwGXxpWu7cHeLp94koTwPtS8BZw== X-Received: by 10.194.60.145 with SMTP id h17mr9677497wjr.47.1457097946726; Fri, 04 Mar 2016 05:25:46 -0800 (PST) Received: from localhost (host86-138-94-184.range86-138.btcentralplus.com. [86.138.94.184]) by smtp.gmail.com with ESMTPSA id w11sm3312847wmg.21.2016.03.04.05.25.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 04 Mar 2016 05:25:45 -0800 (PST) From: Andrew Burgess To: gcc-patches@gcc.gnu.org Cc: noamca@mellanox.com, Claudiu.Zissulescu@synopsys.com, Andrew Burgess Subject: [PATCH 00/10] ARC: Add support for NPS400 variant Date: Fri, 04 Mar 2016 13:25:00 -0000 Message-Id: X-IsSubscribed: yes X-SW-Source: 2016-03/txt/msg00343.txt.bz2 The NPS400 is an ARC700 variant from Mellanox (formally EZChip). This patch series adds a new GCC build target with the mellanox vendor string, that configures the ARC backend to support NPS400. This patch series is intended for GCC 7, Stage 1, once it reopens. I am posting early in the hope that I could get an early review, especially on patch #1, the build infrastructure, then if I need to rework anything I can get started on it sooner. I've run regression tests against a standard arc-elf target, and the results look good. All feedback appreciated. Thanks, Andrew --- Andrew Burgess (10): gcc: Add support for mellanox nps400 arc variant gcc/arc: Add -munaligned-access option for nps400 gcc/arc: generate jump tables in code section for nps400 gcc/arc: Replace rI constraint with r & Cm2 for ld and update insns gcc/arc: convert some constraints to define_constraint gcc/arc: Add support for nps400 cmem xld/xst instructions gcc/arc: Add nps400 bitops support gcc/arc: Mask integer 'L' operands to 32-bit gcc/arc: Add an nps400 specific testcase gcc/arc: Add __NPS400__ define for nps400 targets gcc/ChangeLog.NPS400 | 122 +++++++ gcc/config.gcc | 10 + gcc/config/arc/arc.c | 67 +++- gcc/config/arc/arc.h | 35 +- gcc/config/arc/arc.md | 567 +++++++++++++++++++++++------- gcc/config/arc/arc.opt | 14 +- gcc/config/arc/constraints.md | 86 ++++- gcc/config/arc/predicates.md | 19 + gcc/config/arc/t-nps400 | 21 ++ gcc/testsuite/ChangeLog.NPS400 | 44 +++ gcc/testsuite/gcc.target/arc/cmem-1.c | 10 + gcc/testsuite/gcc.target/arc/cmem-2.c | 10 + gcc/testsuite/gcc.target/arc/cmem-3.c | 10 + gcc/testsuite/gcc.target/arc/cmem-4.c | 10 + gcc/testsuite/gcc.target/arc/cmem-5.c | 10 + gcc/testsuite/gcc.target/arc/cmem-6.c | 10 + gcc/testsuite/gcc.target/arc/cmem-7.c | 26 ++ gcc/testsuite/gcc.target/arc/cmem-ld.inc | 16 + gcc/testsuite/gcc.target/arc/cmem-st.inc | 18 + gcc/testsuite/gcc.target/arc/extzv-1.c | 11 + gcc/testsuite/gcc.target/arc/insv-1.c | 21 ++ gcc/testsuite/gcc.target/arc/insv-2.c | 18 + gcc/testsuite/gcc.target/arc/movb-1.c | 13 + gcc/testsuite/gcc.target/arc/movb-2.c | 13 + gcc/testsuite/gcc.target/arc/movb-3.c | 13 + gcc/testsuite/gcc.target/arc/movb-4.c | 13 + gcc/testsuite/gcc.target/arc/movb-5.c | 13 + gcc/testsuite/gcc.target/arc/movb_cl-1.c | 9 + gcc/testsuite/gcc.target/arc/movb_cl-2.c | 11 + gcc/testsuite/gcc.target/arc/movbi_cl-1.c | 9 + gcc/testsuite/gcc.target/arc/movh_cl-1.c | 27 ++ gcc/testsuite/gcc.target/arc/movl-1.c | 17 + gcc/testsuite/gcc.target/arc/mrgb-1.c | 14 + gcc/testsuite/gcc.target/arc/nps400-1.c | 23 ++ gcc/testsuite/gcc.target/arc/setmem-1.c | 13 + gcc/testsuite/gcc.target/arc/setmem-2.c | 18 + gcc/testsuite/gcc.target/arc/setmem-3.c | 13 + gcc/testsuite/gcc.target/arc/setmem-4.c | 18 + 38 files changed, 1231 insertions(+), 161 deletions(-) create mode 100644 gcc/config/arc/t-nps400 create mode 100644 gcc/testsuite/ChangeLog.NPS400 create mode 100644 gcc/testsuite/gcc.target/arc/cmem-1.c create mode 100644 gcc/testsuite/gcc.target/arc/cmem-2.c create mode 100644 gcc/testsuite/gcc.target/arc/cmem-3.c create mode 100644 gcc/testsuite/gcc.target/arc/cmem-4.c create mode 100644 gcc/testsuite/gcc.target/arc/cmem-5.c create mode 100644 gcc/testsuite/gcc.target/arc/cmem-6.c create mode 100644 gcc/testsuite/gcc.target/arc/cmem-7.c create mode 100644 gcc/testsuite/gcc.target/arc/cmem-ld.inc create mode 100644 gcc/testsuite/gcc.target/arc/cmem-st.inc create mode 100644 gcc/testsuite/gcc.target/arc/extzv-1.c create mode 100644 gcc/testsuite/gcc.target/arc/insv-1.c create mode 100644 gcc/testsuite/gcc.target/arc/insv-2.c create mode 100644 gcc/testsuite/gcc.target/arc/movb-1.c create mode 100644 gcc/testsuite/gcc.target/arc/movb-2.c create mode 100644 gcc/testsuite/gcc.target/arc/movb-3.c create mode 100644 gcc/testsuite/gcc.target/arc/movb-4.c create mode 100644 gcc/testsuite/gcc.target/arc/movb-5.c create mode 100644 gcc/testsuite/gcc.target/arc/movb_cl-1.c create mode 100644 gcc/testsuite/gcc.target/arc/movb_cl-2.c create mode 100644 gcc/testsuite/gcc.target/arc/movbi_cl-1.c create mode 100644 gcc/testsuite/gcc.target/arc/movh_cl-1.c create mode 100644 gcc/testsuite/gcc.target/arc/movl-1.c create mode 100644 gcc/testsuite/gcc.target/arc/mrgb-1.c create mode 100644 gcc/testsuite/gcc.target/arc/nps400-1.c create mode 100644 gcc/testsuite/gcc.target/arc/setmem-1.c create mode 100644 gcc/testsuite/gcc.target/arc/setmem-2.c create mode 100644 gcc/testsuite/gcc.target/arc/setmem-3.c create mode 100644 gcc/testsuite/gcc.target/arc/setmem-4.c -- 2.6.4