From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp2-g21.free.fr (smtp2-g21.free.fr [IPv6:2a01:e0c:1:1599::11]) by sourceware.org (Postfix) with ESMTPS id 517723858C3B for ; Wed, 15 Sep 2021 10:19:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 517723858C3B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=libertysurf.fr Authentication-Results: sourceware.org; spf=none smtp.mailfrom=libertysurf.fr Received: from fomalhaut.localnet (unknown [IPv6:2a01:e0a:41b:84f0:cf71:f5e0:b050:bede]) by smtp2-g21.free.fr (Postfix) with ESMTP id 57F712003B4; Wed, 15 Sep 2021 12:19:05 +0200 (CEST) From: Eric Botcazou To: Daniel Cederman Cc: gcc-patches@gcc.gnu.org, daniel@gaisler.com Subject: Re: [PATCH] sparc: Add scheduling information for LEON5 Date: Wed, 15 Sep 2021 12:18:59 +0200 Message-ID: <12851384.uLZWGnKmhe@fomalhaut> In-Reply-To: <20210915093610.3112669-1-cederman@gaisler.com> References: <20210915093610.3112669-1-cederman@gaisler.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-3.9 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Sep 2021 10:19:13 -0000 > The LEON5 can often dual issue instructions from the same 64-bit aligned > double word if there are no data dependencies. Add scheduling information > to avoid scheduling unpairable instructions back-to-back. > > gcc/ChangeLog: > > * config/sparc/sparc-opts.h (enum sparc_processor_type): Add LEON5 > * config/sparc/sparc.c (struct processor_costs): Add LEON5 costs > (leon5_adjust_cost): Increase cost of store with data dependency > on ALU instruction and FPU anti-dependencies. > (sparc_option_override): Add LEON5 costs > (sparc_adjust_cost): Add LEON5 cost adjustments > * config/sparc/sparc.h: Add LEON5 > * config/sparc/sparc.md: Include LEON5 scheduling information > * config/sparc/sparc.opt: Add LEON5 > * doc/invoke.texi: Add LEON5 > * config/sparc/leon5.md: New file. OK for whatever branches you deem relevant, modulo a couple of nits: > +;; Avoid scheduling load/store, FPU, and multiplication instructions back and multiply instructions > +;; Schedule three instructions between load and dependant instruction. dependent -- Eric Botcazou