"Vasanth Asokan" <[EMAIL PROTECTED]> writes:

> Quoting from the description of (clobber x),
> 
> ### If the last group of expressions in a parallel are each a clobber
> expression whose arguments are reg or match_scratch (see section 10.4
> RTL Template) expressions, the combiner phase can add the appropriate
> clobber expressions to an insn it has constructed when doing so will
> cause a pattern to be matched.
> 
> In this case, the combiner could not combine 46 with anything else,
> which is ok. The description still seems to say that the combiner can
> just add a clobber to the insn to cause a match with
> "lshiftrt_internal_reg_nohwshift". It has chosen not to do so and hence
> the insn becomes unrecognized.
> 
> Am I missing something here? This is with GCC 3.4.1.

What you are missing is that the combiner will only "add the
appropriate clobber expressions to an insn IT HAS CONSTRUCTED"
(emphasis added).

The combiner does not add clobbers to arbitrary instructions.

Ian

Reply via email to