------- Comment #2 from vmakarov at redhat dot com 2008-10-08 21:55 ------- Thanks for working on the problem. I am afraid that preventing to use partially clobbered hard regs for allocnos living through calls is wrong. In most general case I believe the problem should be fixed in caller-saves.c: they should saved and restored around calls. As temporary workaround would be correct calculation of costs in IRA for partially clobbered hard regs (as it was done in global.c) in order to force IRA avoid the hard regs.
But without fixing the problem in caller-saves.c IRA and the old RA are still error-prune for this problem in general case. I'll work on the patch for correct partially clobbered hard register calculation. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37633