On 08/23/11 11:52, Jakub Jelinek wrote: > On Tue, Aug 23, 2011 at 11:35:07AM +0200, Bernd Schmidt wrote: >>> cse_process_notes_1 >>> perhaps could be changed for VOIDmode new_rtx to try to >>> simplify_replace_rtx it... >> >> Is this where the problem came from? Sounds like it's worth a try. > > In this case, yes. But there are many other places all around the > compiler that need to disallow unary op with VOIDmode operand. > In cse.c alone e.g. fold_rtx (twice), in combine.c e.g. in do_SUBST, > subst, etc. Do we want to special case all those 7 unary ops there too? > Is it really worth it to save one subreg or truncate in the md patterns > for rarely used rtxes?
Maybe not. I'll approve a patch to change it back, even if I think it's not a good representation. Bernd