From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 78736 invoked by alias); 11 May 2017 17:17:08 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 78716 invoked by uid 89); 11 May 2017 17:17:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=involvement 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, 11 May 2017 17:17:06 +0000 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 78FD4C05973F; Thu, 11 May 2017 17:17:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 78FD4C05973F Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=law@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 78FD4C05973F Received: from localhost.localdomain (ovpn-116-161.phx2.redhat.com [10.3.116.161]) by smtp.corp.redhat.com (Postfix) with ESMTP id 572574FA40; Thu, 11 May 2017 17:17:05 +0000 (UTC) Subject: Re: [RFC PATCH, i386]: Enable post-reload compare elimination pass To: Jakub Jelinek , Uros Bizjak , Alexandre Oliva , Nick Clifton , Eric Botcazou Cc: "gcc-patches@gcc.gnu.org" , Richard Earnshaw References: <20170510142710.GY1809@tucnak> <20170510202708.GI1809@tucnak> From: Jeff Law Message-ID: Date: Thu, 11 May 2017 17:17:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.0 MIME-Version: 1.0 In-Reply-To: <20170510202708.GI1809@tucnak> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2017-05/txt/msg00929.txt.bz2 On 05/10/2017 02:27 PM, Jakub Jelinek wrote: > On Wed, May 10, 2017 at 09:57:56PM +0200, Uros Bizjak wrote: >> BTW: This patch now catches 417 cases (instead of 200+) in linux >> build, including e.g.: >> >> (parallel [ >> (set (reg:CCZ 17 flags) >> (compare:CCZ (lshiftrt:SI (reg:SI 4 si [orig:93 _10 ] [93]) >> (const_int 1 [0x1])) >> (const_int 0 [0]))) >> (set (reg:DI 4 si) >> (zero_extend:DI (lshiftrt:SI (reg:SI 4 si [orig:93 _10 ] [93]) >> (const_int 1 [0x1])))) >> ]) > > That looks nice. So, I think we need analysis on what order which targets > use. I have looked at mn10300.md, I see {add,sub}si3_flags patterns that > would need PARALLEL reordering for this compare-elim.c change and then > cmp_liw vs. liw_cmp patterns I have no clue what they do and whether > compare-elim.c would care about those or not (they have UNSPECs). Jeff/Alex? No idea what the cmp_liw and liw_cmp patterns are -- they were added after my involvement with the mn103 ended. I know it's been discussed before, but all that's needed here is to put the assignment to CC_REG first in patterns were CC_REG is assigned a useful value, right? For patterns were CC_REG is clobbered, we leave them as-is, right? Does this impact logicals or just arithmetic? If it hits logicals, there's a few more patterns in the mn103 port and likely the rx port as well. But the changes look highly mechanical. Furthermore, it's trivial for me to build this port through newlib. So I could build before the change, stash away the resulting libc.a, then build after the change and compare the contents of the resulting objects. In theory they should be identical unless I'm missing something. I would say don't let the mn103 stop this work. If the work goes forward, I'll own cleaning up the mn103. I don't mind assigning the cleanup of rx to Nick to be done after the generic changes are done. That just leaves visium which Eric B. owns. Note that I can test visium in the same way I can test mn103 and rx, so if someone does the visium work I can test it. Jeff