[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Bug target/13722] [3.4/3.5 regression] [ia64] ICE in push_secondary_reload



------- Additional Comments From zack at codesourcery dot com  2004-01-22 02:26 -------
Subject: Re:  [3.4/3.5 regression] [ia64] ICE in
 push_secondary_reload

"wilson at specifixinc dot com" <gcc-bugzilla@gcc.gnu.org> writes:

> I see Zack has left yet another IA-64 turd for me to clean up.  Sigh.

... excuse me for having bigger problems on my plate right now.  Not
to mention that none of this is reproducible on any target I can
conveniently test on.

> The main problem with Zack's patch is that he replaced a null
> predicate in the reload_{in,out}* patterns with a memory_operand
> predicate.  This doesn't work.  push_secondary_reloads tries to
> verify that the operands are OK for the secondary reload pattern.
> However, for a MEM, this means that we are passing an operand to the
> predicate that may appear to be invalid, but is valid because it has
> already been reloaded.

I ... see.

> However, I think there are other problems.  Zack "fixed" the
> secondary reload patterns to use DImode instead of TImode for
> operand2.  Anyone who knows how these patterns work knows that you
> have to allocate 2 registers just in case the scratch operand
> overlaps one of the other operands.  Practically all ports define
> the patterns this way.

This is insane.  Clearly the bug is that overlapping operands can
occur in the first place.

zw


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13722

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



Reply to: