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