On 11/12/19 7:56 AM, Dragan Mladjenovic wrote:
> From: "Dragan Mladjenovic" <dmladjeno...@wavecomp.com>
> 
> This was dormant for quite some time, but it started happening for me
> on gcc.c-torture/compile/pr65153.c sometime after r276645 for -mabi=32 linux 
> runs.
> 
> The pattern accepts any SMALL_OPERAND constant value while it asserts during 
> the final
> that the value is in the mode size range. I this case it happens that 
> combine_and_move_insns
> during ira makes a pattern with negative "shift count" which fails at final 
> stage.
> 
> This simple fix just truncates the constant operand to mode size the same as 
> shift patterns.
> 
> gcc/ChangeLog:
> 
> 2019-11-12  Dragan Mladjenovic  <dmladjeno...@wavecomp.com>
> 
>       * config/mips/mips.md (rotr<mode>3): Sanitize the constant argument
>       instead of asserting its value.
> ---
> 
> Ok, for trunk and backport to gcc 9 and 8 branches?
OK.  But I'm not sure the formatting is right.  The bit-and operator
should be indented so that it lines up with the start of INTVAL (...).

jeff

Reply via email to