From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8391 invoked by alias); 14 Sep 2009 16:03:49 -0000 Received: (qmail 8095 invoked by uid 22791); 14 Sep 2009 16:03:47 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 14 Sep 2009 16:03:44 +0000 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n8EG3g7c005871; Mon, 14 Sep 2009 12:03:42 -0400 Received: from stone.twiddle.home (vpn-242-30.phx2.redhat.com [10.3.242.30]) by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id n8EG3fmI000830; Mon, 14 Sep 2009 12:03:42 -0400 Message-ID: <4AAE695A.1030405@redhat.com> Date: Mon, 14 Sep 2009 16:03:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Thunderbird/3.0b3 MIME-Version: 1.0 To: Mohamed Shafi CC: GCC Subject: Re: Supporting FP cmp lib routines References: <4AAE580A.4080109@redhat.com> In-Reply-To: <4AAE580A.4080109@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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 X-SW-Source: 2009-09/txt/msg00252.txt.bz2 Another thing to look at, since you have hand-written routines and may be able to specify that e.g. only a subset of the normal call clobbered registers are actually modified, is to leave the call as a "compare" insn. Something like (define_insn "*cmpsf" [(set (reg:CC status-reg) (compare:CC (match_operand:SF 0 "register_operand" "R0") (match_operand:SF 1 "register_operand" "R1"))) (clobber (reg:SI r2)) (clobber (reg:SI r3))] "" "call __compareSF" [(set_attr "type" "call")]) Where the R0 and R1 constraints resolve to the input registers for the routine. Depending on your ISA and ABI, you may not even need to split this pattern post-reload. r~