From patchwork Wed Oct 10 08:00:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Claudiu Zissulescu X-Patchwork-Id: 981742 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-487232-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="sEPDWesO"; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="fgEx4q/S"; 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 42VRPv2VSzz9s8F for ; Wed, 10 Oct 2018 19:01:37 +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:from :to:cc:subject:date:message-id; q=dns; s=default; b=ypX3bFwTBIv3 Dw6Lr4hOSl5/LqmX0ECO2bq3wfjyDN4yvmIHbcuypJDoHAZMINtZmVSWkZ05pb8k bBtprN7BIeAE+ag8vphAvNt3/YU2kYn4uYlzkogEyoi0mInmLpEUd1z+VXtUbc6t 4lDY+1WHzPS+FQHalciJ5xYrfmhmX18= 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:from :to:cc:subject:date:message-id; s=default; bh=uC4vk1towDasRTXvVb FMU0NoBSY=; b=sEPDWesOeiwvACLV0mfINxOYHXzCupSuOVeWVbAdMkkVqm4hUU uT10PubL3bRSzbt+XtEmpGK7DpTODJavuGNfqhl3wgiTMCqySebzsuhzI8y10tUS yJqFqYjRlMd8McE9UBxb3pqtfUM/3H23pQqhiit1n/eiCo01jHgnooC5U= Received: (qmail 70883 invoked by alias); 10 Oct 2018 08:00:48 -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 70634 invoked by uid 89); 10 Oct 2018 08:00:37 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-8.8 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, GIT_PATCH_2, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=HX-Received:Wed, 963, bih, 1769 X-HELO: mail-ed1-f65.google.com Received: from mail-ed1-f65.google.com (HELO mail-ed1-f65.google.com) (209.85.208.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 10 Oct 2018 08:00:29 +0000 Received: by mail-ed1-f65.google.com with SMTP id r1-v6so4053815edd.7 for ; Wed, 10 Oct 2018 01:00:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=2d1pcN4e1YcxBGroRa3PeTIPXzFwdhMC070NYtDKU/w=; b=fgEx4q/Ss+ZZKp+exlXayXXHP4/Eku9X1AOJFmgelhsHdgtoX1vzrAIBXAemc24i+C tftctR9Hb7pTpzWSIXZ/f56hWKFIZeR19hH8mUyez8UIrVzSeNGnyGXkrgh52GcidbdH DojjU0WwSeBYj5G2NrDOM4dY427u2hv7Ag8CT27mnABcNAPBBo/jcy1eb2z5zPTbEK4d uTBQ7Zm9vkwh1bnkpJ3mQQudXTgHlNjy71Itec3gd1CP6NpN3WsmMJI5m0BLPyMJU7GZ 5+wEoCE0S6/U3fmNKvOvqZr5E7CIjPF+xpqwQ63K6WLryAd7ucDhuTy6v+Kfza5bYuS/ C8kQ== Received: from localhost.localdomain ([188.241.79.25]) by smtp.gmail.com with ESMTPSA id a17-v6sm7533362edd.61.2018.10.10.01.00.26 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 10 Oct 2018 01:00:27 -0700 (PDT) From: Claudiu Zissulescu To: gcc-patches@gcc.gnu.org Cc: andrew.burgess@embecosm.com, fbedard@synopsys.com, claziss@synopsys.com Subject: [PATCH 0/6] ARC updates Date: Wed, 10 Oct 2018 11:00:10 +0300 Message-Id: <20181010080016.12317-1-claziss@gmail.com> X-IsSubscribed: yes Hi Andrew, Please find a number of patches that are adding more features to arc backend (BI/BIH instructions, peephole rules, enter/leave instructions) or fixes exising issues (store hazards, tls implementation, library calls). Please let me know if you have any question, Claudiu Claudiu Zissulescu (6): [ARC] Remove non standard funcions calls. [ARC] Cleanup TLS implementation. [ARC] Add BI/BIH instruction support. [ARC] Add peephole rules to combine store/loads into double store/loads [ARC] Refurbish and improve prologue/epilogue functions. [ARC] Handle store cacheline hazard. gcc/common/config/arc/arc-common.c | 1 + gcc/config/arc/arc-arch.h | 1 + gcc/config/arc/arc-protos.h | 2 + gcc/config/arc/arc.c | 1701 +++++++++++------ gcc/config/arc/arc.h | 106 +- gcc/config/arc/arc.md | 644 +++---- gcc/config/arc/arc.opt | 19 +- gcc/config/arc/arc700.md | 18 +- gcc/config/arc/predicates.md | 12 + gcc/doc/invoke.texi | 27 +- gcc/testsuite/gcc.target/arc/firq-1.c | 8 +- gcc/testsuite/gcc.target/arc/firq-3.c | 14 +- gcc/testsuite/gcc.target/arc/firq-4.c | 12 +- gcc/testsuite/gcc.target/arc/interrupt-6.c | 2 +- gcc/testsuite/gcc.target/arc/jumptable.c | 34 + .../gcc.target/arc/mulsi3_highpart-2.c | 5 +- gcc/testsuite/gcc.target/arc/tls-1.c | 2 +- gcc/testsuite/gcc.target/arc/tls-gd.c | 17 + gcc/testsuite/gcc.target/arc/tls-ie.c | 17 + gcc/testsuite/gcc.target/arc/tls-ld.c | 18 + gcc/testsuite/gcc.target/arc/tls-le.c | 16 + libgcc/config/arc/lib1funcs.S | 54 + libgcc/config/arc/t-arc | 2 +- 23 files changed, 1769 insertions(+), 963 deletions(-) create mode 100644 gcc/testsuite/gcc.target/arc/jumptable.c create mode 100644 gcc/testsuite/gcc.target/arc/tls-gd.c create mode 100644 gcc/testsuite/gcc.target/arc/tls-ie.c create mode 100644 gcc/testsuite/gcc.target/arc/tls-ld.c create mode 100644 gcc/testsuite/gcc.target/arc/tls-le.c