This is the mail archive of the gcc-bugs@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]

[Bug target/20054] [4.0 Regression] ICE in change_address_1


------- Additional Comments From uweigand at gcc dot gnu dot org  2005-02-18 18:45 -------
OK, now I see the problem: cleanup_subreg_operands *does* indeed
touch only operands.  However, the result of the splitter matches
the *llgt_didi insn instead of *llgt_disi, because after reload
nonimmediate_operands matches a SUBREG (MEM).  Thus the SUBREG is
indeed part of the operand, which is broken.

The proper fix is to move the *llgt_disi pattern to *before* the
*llgt_didi pattern to ensure it matches first.

I'll commit this fix once testing completes.



-- 


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


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