From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5596 invoked by alias); 1 Sep 2004 12:20:40 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 5573 invoked from network); 1 Sep 2004 12:20:38 -0000 Received: from unknown (HELO smtp.uk.superh.com) (193.128.105.170) by sourceware.org with SMTP; 1 Sep 2004 12:20:38 -0000 Received: from sh-uk-ex01.uk.w2k.superh.com (sh-uk-ex01 [192.168.16.17]) by smtp.uk.superh.com (8.12.10/8.12.10) with ESMTP id i81Bvuod025573; Wed, 1 Sep 2004 12:58:04 +0100 (BST) Received: from chloe.uk.w2k.superh.com ([192.168.17.40]) by sh-uk-ex01.uk.w2k.superh.com with Microsoft SMTPSVC(5.0.2195.6713); Wed, 1 Sep 2004 13:00:20 +0100 Received: (from renneckej@localhost) by chloe.uk.w2k.superh.com (8.11.6/8.11.6) id i81C0iu10932; Wed, 1 Sep 2004 13:00:44 +0100 From: Joern Rennecke Message-Id: <200409011200.i81C0iu10932@chloe.uk.w2k.superh.com> Subject: Re: RFC: Using mode and code macros in *.md files To: sje@cup.hp.com (Steve Ellcey) Date: Wed, 01 Sep 2004 12:20:00 -0000 Cc: rsandifo@redhat.com, zack@codesourcery.com, gcc@gcc.gnu.org In-Reply-To: <200408312056.NAA26227@hpsje.cup.hp.com> from "Steve Ellcey" at Aug 31, 2004 01:56:01 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 01 Sep 2004 12:00:20.0537 (UTC) FILETIME=[412F9290:01C4901B] X-SW-Source: 2004-09/txt/msg00031.txt.bz2 > One thought I had was this: If there were an IF mode (infinite > precision), and a single basic floating point add for that mode > > (set (match_operand:IF ...) > (plus:IF (match_operand:IF ...) > (match_operand:IF ...))) > > and then there would be no basic add instruction for any other floating > point mode (SF, DF, or XF) then GCC will extend any of those to IFmode > to do the add. I tested that and GCC did the float_extends. But that would make your instructions non-canonical, thus a number of optimizers - in particular combine - will fail to match your patterns. Unless you propose to change the canonical form to use extension to IF in every operation, which would pretty much mean rewriting most of the rtl optimizers and all the target ports...