2011/4/14 Georg-Johann Lay <a...@gjlay.de>:
> The "rotl<mode>3" expanders (mode \in {HI,SI,DI}) violates synopsis by
> using 4 operands instead of 3. This runs in ICE in top of
> optabs.c:maybe_gen_insn.
>
> The right way to do this is to use match_dup, not match_operand. So
> the fix is obvious.
>
> Regenerated avr-gcc and run against avr testsuite:
>
> gcc.target/avr/torture/pr41885.c generates these patterns
>
> Johann
>
> 2011-04-14  Georg-Johann Lay  <a...@gjlay.de>
>
>        * config/avr/avr.md ("rotlhi3", "rotlsi3", "rotldi3"): Fix
>        expanders operand 3 from match_operand to match_dup.

May be better to use (clobber (match_scratch ...)) here and in
`*rotw<mode>' and `*rotb<mode>'.

Denis.

Reply via email to