From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19984 invoked by alias); 7 Jan 2013 21:39:07 -0000 Received: (qmail 19902 invoked by uid 22791); 7 Jan 2013 21:39:06 -0000 X-SWARE-Spam-Status: No, hits=-3.2 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from dns1.mips.com (HELO dns1.mips.com) (12.201.5.69) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 07 Jan 2013 21:39:03 +0000 Received: from mailgate1.mips.com (mailgate1.mips.com [12.201.5.111]) by dns1.mips.com (8.13.8/8.13.8) with ESMTP id r07Ld2UG002973 for ; Mon, 7 Jan 2013 13:39:02 -0800 X-M-MSG: Received: from exchdb01.mips.com (unknown [192.168.36.84]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mailgate1.mips.com (Postfix) with ESMTP id 2867E364646 for ; Mon, 7 Jan 2013 13:38:58 -0800 (PST) Received: from [192.168.65.53] (192.168.65.53) by exchhub01.mips.com (192.168.36.84) with Microsoft SMTP Server id 14.2.247.3; Mon, 7 Jan 2013 13:38:54 -0800 Subject: Re: [patch] Performance patch for MIPS conditional move in expr.c From: Steve Ellcey To: Andrew Pinski CC: , In-Reply-To: References: <27d19005-b82d-4ecc-a81e-14208937ce0f@EXCHHUB01.MIPS.com> <1352921235.22862.6.camel@ubuntu-sellcey> <1352929552.22862.13.camel@ubuntu-sellcey> <87ip968twz.fsf@talisman.default> Content-Type: text/plain; charset="us-ascii" Date: Mon, 07 Jan 2013 21:39:00 -0000 Message-ID: <1357594734.1703.11.camel@ubuntu-sellcey> MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-EMS-Proccessed: 6LP3oGfGVdcdb8o1aBnt6w== X-EMS-STAMP: 71Mf/eF3a4e+g4m6qb6Bdg== 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 X-SW-Source: 2013-01/txt/msg00364.txt.bz2 On Thu, 2012-11-15 at 13:39 -0800, Andrew Pinski wrote: > > I was posting it for Steve's benefit really. I was in the process of > > updating the patch to the trunk and trying it out there before doing a > > formal submission :). As I found out the testcase needs to be changed > > to work with the new mips target test infrastructure. I will post a > > revised patch with the removal of the internal bug number once I > > finish fixing the testcase itself. > > After fixing up the testcase I find xori still in the resulting code: > gcc$ ./cc1 t.c -O1 -o - -DNOMIPS16= -quiet -mabi=n32 -march=mips64 |grep xor > xori $2,$4,0x1 > > But that is because combine produces: > Trying 34 -> 35: > Failed to match this instruction: > (set (reg:SI 194 [ D.1393 ]) > (if_then_else:SI (xor:SI (reg:SI 200 [ d ]) > (const_int 1 [0x1])) > (reg:SI 6 $6 [ c ]) > (reg:SI 5 $5 [ b ]))) > > But does not switch around the if_then_else as reg 200 has a non zero > bits of just 1. I will look into fix the rest of the problem later > today. So the above patch is a way forward but not the full fix. > > Thanks, > Andrew Pinski Andrew, are you still planning on submitting this patch? I have been running with your new "*mov_on__ne" instruction and that part at least works fine. I would like to get at least that much checked in for GCC 4.8. Steve Ellcey sellcey@mips.com