Hi, > On those grounds, please submit a change to fix both places in > cse.c. If we run into further problems of this kind, we'll have to > rethink whether such patterns are valid.
Ok. I'll do so as soon as possible. Unfortunately the trivial fix of just removing the else branch doesn't work. There are callers of canon_reg which seem to expect that the issue is solved without validate_change like: cse.c:4927 src_eqv = fold_rtx (canon_reg (XEXP (tem, 0), NULL_RTX), insn); Since fold_rtx uses validate_change without setting in_group we get an assertion if there is already something in the change group. I hope that can easily be fixed by just calling apply_change_group after calling canon_reg. Bye, -Andreas-