From patchwork Fri Apr 4 12:35:54 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kyrylo Tkachov X-Patchwork-Id: 336941 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)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 71A8E14009C for ; Fri, 4 Apr 2014 23:36:07 +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=GIws8ccLR5C4wFJ3JGMcQcZvw/5ZZY3ScR9E8PZggrC BMrfNrO0fvCEXy8BZNUm/lllx1t9xCr8DKW2JtGvcF5hS+9LzGYd5Bpdxn6i8Mkl vbmGuZrWR+KhpxW05XsntQhDX92ZexNv1SizUHkxNjg0pbnt3YrF/s3/Lvgzx3U0 = 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=tvKwPh+P16uOBwxrMEdGpeR7q1o=; b=Nua0nLjsjKQzURnsI Cbs7oQyR7Bef9WnyP4icifpzH2/EySYMc8GVhFzoVP7nZbGyNFnsOUn9/yTSOv4q bC4NiVtMtAKVPjSGV1wLXRpKVhcmi401UwuR+dKVhe0XJHGEmCjuhlwy7x3gRV3V 0n80OytRn+pmIlZYwaXkM0zraU= Received: (qmail 32470 invoked by alias); 4 Apr 2014 12:36:00 -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 32460 invoked by uid 89); 4 Apr 2014 12:36:00 -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, SPF_PASS autolearn=ham version=3.3.2 X-HELO: service87.mimecast.com Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 04 Apr 2014 12:35:58 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Fri, 04 Apr 2014 13:35:55 +0100 Received: from [10.1.208.24] ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 4 Apr 2014 13:36:09 +0100 Message-ID: <533EA72A.7010109@arm.com> Date: Fri, 04 Apr 2014 13:35:54 +0100 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: Ramana Radhakrishnan , Richard Earnshaw , bernd.edlinger@hotmail.de Subject: [PATCH][ARM/AArch64][PR 60743] Reduce divider reservation duration in A53 pipeline decription X-MC-Unique: 114040413355501801 X-IsSubscribed: yes Hi all, In PR 60743 it is noted that the genautomata computation has increased a lot in both size and time due to my recently added a53 scheduling additions. This patch attempts to mitigate that by reducing the large reservation duration of the dividers that is causing a state-space explosion in the automaton. Without this patch I've observed a memory usage of around 750MB on my host machine while running genautomata. With this patch, it is about 410MB and much faster. Bernd, can you try this out and see if the genautomata behaviour is acceptable on your system now? Bootstrapped and tested on aarch64-linux-gnu and arm-none-linux-gnueabihf. Looked at various testcases involving the dividers to make sure that codegen is not affected. Ok for trunk? Thanks, Kyrill 2014-04-04 Kyrylo Tkachov PR bootstrap/60743 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation duration. (cortex_a53_fdivd): Likewise. diff --git a/gcc/config/arm/cortex-a53.md b/gcc/config/arm/cortex-a53.md index b131c81..a629bd6 100644 --- a/gcc/config/arm/cortex-a53.md +++ b/gcc/config/arm/cortex-a53.md @@ -245,12 +245,12 @@ (define_insn_reservation "cortex_a53_fdivs" 14 (and (eq_attr "tune" "cortexa53") (eq_attr "type" "fdivs, fsqrts")) - "cortex_a53_slot0, cortex_a53_fp_div_sqrt * 13") + "cortex_a53_slot0, cortex_a53_fp_div_sqrt * 5") (define_insn_reservation "cortex_a53_fdivd" 29 (and (eq_attr "tune" "cortexa53") (eq_attr "type" "fdivd, fsqrtd")) - "cortex_a53_slot0, cortex_a53_fp_div_sqrt * 28") + "cortex_a53_slot0, cortex_a53_fp_div_sqrt * 8") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ARMv8-A Cryptographic extensions.