This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]