From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 105192 invoked by alias); 8 Aug 2019 18:46:19 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 105183 invoked by uid 89); 8 Aug 2019 18:46:18 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-4.9 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=HX-Languages-Length:1239, HContent-Transfer-Encoding:8bit, person X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 08 Aug 2019 18:46:17 +0000 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5847C6565D; Thu, 8 Aug 2019 18:46:16 +0000 (UTC) Received: from [10.10.124.24] (ovpn-124-24.rdu2.redhat.com [10.10.124.24]) by smtp.corp.redhat.com (Postfix) with ESMTP id 489E7600C8; Thu, 8 Aug 2019 18:46:15 +0000 (UTC) Subject: Re: Indirect memory addresses vs. lra To: Paul Koning Cc: John Darrington , gcc@gcc.gnu.org References: <20190804191822.x4hwnfcyplnto3xc@jocasta.intra> <2B3A4EAB-D69E-4714-8FC4-C25E36B07BFF@comcast.net> From: Vladimir Makarov Message-ID: <38c80812-8828-9fa9-02e9-23f588c6f28e@redhat.com> Date: Thu, 08 Aug 2019 18:46:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: <2B3A4EAB-D69E-4714-8FC4-C25E36B07BFF@comcast.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2019-08/txt/msg00053.txt.bz2 On 2019-08-08 12:43 p.m., Paul Koning wrote: > >> On Aug 8, 2019, at 12:25 PM, Vladimir Makarov wrote: >> >> >> On 2019-08-04 3:18 p.m., John Darrington wrote: >>> I'm trying to write a back-end for an architecture (s12z - the ISA you can >>> download from [1]). This arch accepts indirect memory addresses. That is to >>> say, those of the form (mem (mem (...))) and although my TARGET_LEGITIMATE_ADDRESS >>> function returns true for such addresses, LRA insists on reloading them out of >>> existence. >>> ... >> The old reload (reload[1].c) supports such addressing. As modern mainstream architectures have no this kind of addressing, it was not implemented in LRA. > Is LRA only intended for "modern mainstream architectures"? No.  As I wrote patches implementing indirect addressing is welcomed.  It is hard to implement everything at once and by one person. > If yes, why is the old reload being deprecated? > You can't have it both ways. Unless you want to obsolete all "not modern mainstream architectures" in GCC, it doesn't make sense to get rid of core functionality used by those architectures. > > Indirect addressing is a key feature in size-optimized code. > >