http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53975
--- Comment #15 from Steven Bosscher <steven at gcc dot gnu.org> 2012-07-26 23:45:51 UTC --- (In reply to comment #14) > So either we revert the patch at > http://gcc.gnu.org/viewcvs?view=revision&revision=177658 or we add e.g. > clobbers of address register to the check patterns in ia64.md _and_ allow > limited instructions (e.g. ones writing to general or fp regs) for BE_IN_SPEC > speculation in ia64.c, i.e. to be moved up past a speculation check. I think reverting that patch is the right thing to do, iff it completely fixes this problem (i.e. no similar issues lurking...). It may be worth adding a FIXME note with a reference to this PR. Perhaps addressing this problem fully isn't on anyone's TODO list for the moment (ia64...) but if speculation becomes more important in future target then it's nice to know why things look the way they do in the compiler. The second option is more than minor surgery to the ia64 back end, and I think that's more trouble than it's worth at this point. If a bug like this can go undetected for such a long time (almost a year), then test coverage for the ia64 back end is... well... not perfect ;-)