From patchwork Mon Nov 25 11:01:57 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kyrylo Tkachov X-Patchwork-Id: 293884 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id BC95E2C00B6 for ; Mon, 25 Nov 2013 22:02:18 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:content-type; q=dns; s=default; b=kDb3rBLxJEZJjxyeN4aVgIzdglWi9ODRND0em/QSbTx NVgZdfpPJkUn7VlSg+zzAQA03md2QBZiNw23fO4p7mZzQwod+f21gh1fvcTjQGkW +P70wWqUCWXDla2apHhHXl/5qXFCupy+hxoFN+NjncNZei8Ye+USoI4cYRSyf5Jw = 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 :message-id:date:from:mime-version:to:cc:subject:content-type; s=default; bh=wCdagwzJqVT661/7DQ7j7Ou+7+U=; b=ZiPg7sM1QK6q+/jHY 6v+vb8q2oYETUE95hRSDtVtxVIlx8f7oMvFH/X1PXH/AHbstnpI1uoGTGpyiAz/X eZ4eJZGK7opIET2/phw0BIJy1c0FUxTjuZxYB+j7a9gpQgNUdArsRVtJpxSBMVoO Aocjuef9ftJS3fY6LnhEDmB/fs= Received: (qmail 28706 invoked by alias); 25 Nov 2013 11:02:09 -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 28696 invoked by uid 89); 25 Nov 2013 11:02:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.1 required=5.0 tests=AWL, BAYES_50, RDNS_NONE, SPF_PASS, URIBL_BLOCKED autolearn=no version=3.3.2 X-HELO: service87.mimecast.com Received: from Unknown (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 25 Nov 2013 11:02:06 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Mon, 25 Nov 2013 11:01:57 +0000 Received: from [10.1.208.24] ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 25 Nov 2013 11:01:57 +0000 Message-ID: <52932E25.2070607@arm.com> Date: Mon, 25 Nov 2013 11:01:57 +0000 From: Kyrill Tkachov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130804 Thunderbird/17.0.8 MIME-Version: 1.0 To: GCC Patches CC: Marcus Shawcroft Subject: [PATCH][AArch64] Use Cortex A53 rtx costs table in aarch64 X-MC-Unique: 113112511015703501 X-IsSubscribed: yes Hi all, This patch gets the aarch64 backend to use the Cortex A53 costs when tuning for that core, instead of using the generic costs. The costs table itself was added recently in arm/aarch-cost-tables.h and is shared between the two ports. Tested aarch64-none-elf on a model. Ok for trunk? Thanks, Kyrill 2013-11-25 Kyrylo Tkachov * config/aarch64/aarch64.c (cortexa53_tuning): New struct. * config/aarch64/aarch64-cores.def (cortex-a53): Use cortexa53 tuning struct. diff --git a/gcc/config/aarch64/aarch64-cores.def b/gcc/config/aarch64/aarch64-cores.def index 51c1ff8..b631dbe 100644 --- a/gcc/config/aarch64/aarch64-cores.def +++ b/gcc/config/aarch64/aarch64-cores.def @@ -34,5 +34,5 @@ This list currently contains example CPUs that implement AArch64, and therefore serves as a template for adding more CPUs in the future. */ -AARCH64_CORE("cortex-a53", cortexa53, 8, AARCH64_FL_FPSIMD, generic) +AARCH64_CORE("cortex-a53", cortexa53, 8, AARCH64_FL_FPSIMD, cortexa53) AARCH64_CORE("cortex-a57", cortexa15, 8, AARCH64_FL_FPSIMD, generic) diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index aad9a29..95432976 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -214,6 +214,15 @@ static const struct tune_params generic_tunings = NAMED_PARAM (memmov_cost, 4) }; +static const struct tune_params cortexa53_tunings = +{ + &cortexa53_extra_costs, + &generic_addrcost_table, + &generic_regmove_cost, + &generic_vector_cost, + NAMED_PARAM (memmov_cost, 4) +}; + /* A processor implementing AArch64. */ struct processor {