------- Comment #5 from hp at gcc dot gnu dot org 2008-07-08 10:26 ------- Created an attachment (id=15875) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15875&action=view) patch for trunk/4.4
This is one part of a correction (regtested on trunk for cris-elf). By itself, it hides the bug by adding a constraint (redefining K to be a constraint prefix, renaming current uses to Kc, and introducing Kp) such that the constraints don't allow what the condition refuses. Lots of editing, mostly because of renaming. Thus, it doesn't matter that the condition isn't checked. It's correct to do this: putting as much of the description as possible into the constraints. Having that check in the condition was an artefact from when GCC didn't have multi-letter constraints. But, reload must also be fixed to not do operand transformations that don't also check the insn condition. I'm still working on that part. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35492