optimization/6162: gcc 3.0.4: certain i386 asm reloader ice

Kevin Ryde user42@zip.com.au
Wed Oct 30 14:26:00 GMT 2002


The following reply was made to PR optimization/6162; it has been noted by GNATS.

From: Kevin Ryde <user42@zip.com.au>
To: Michael Matz <matz@suse.de>
Cc: Nathanael Nerode <neroden@twcny.rr.com>, <gcc-gnats@gcc.gnu.org>,
   <gcc-prs@gcc.gnu.org>, <gcc-bugs@gcc.gnu.org>, <gcc@gcc.gnu.org>,
   =?iso-8859-1?q?Torbj=F6rn?= Granlund <tege@swox.com>
Subject: Re: optimization/6162: gcc 3.0.4: certain i386 asm reloader ice
Date: Thu, 31 Oct 2002 08:20:03 +1000

 Michael Matz <matz@suse.de> writes:
 >
 > Well, to find it is quite easy.  reload is inherently incapable of
 > handling more than one commutative operand, but there are two of them in
 > the asm.  If you are unlucky both of them would need to be swapped to make
 > the insn valid, and this is what breaks reload, as it only can swap the
 > last pair.  I don't know why this constraint isn't documented, but anyway,
 > that's the reason.
 
 The stuff in question is from longlong.h actually (shared by GMP and
 GCC).  All the add_ssaaaa's (or it looks like all) have two
 commutatives.



More information about the Gcc-prs mailing list