Message ID | 4EE10144.2000504@gjlay.de |
---|---|
State | New |
Headers | show |
2011/12/8 Georg-Johann Lay <avr@gjlay.de>: > This is obvious patch for PR51425: SBIC/SBRC instructions are generated by insn > combine, but insn combine tries zero_extract:QI not zero_extract:HI as in good > old times. > > Thus, use QIHI iterator. > > Besides fixing this optimization flaw, it enables other developers to reproduce > PR51374: If the pattern is question don't match, PR51374 won't show up in 4.7. > > Ok for trunk? > > Johann > > PR target/51425 > * config/avr/avr.md (config/avr/avr.md, *sbix_branch_tmp): Use > zero_extract:QIHI instead of zero_extract:HI. Approved. Denis.
Index: config/avr/avr.md =================================================================== --- config/avr/avr.md (revision 182106) +++ config/avr/avr.md (working copy) @@ -4699,7 +4699,7 @@ (define_insn "*sbix_branch" [(set (pc) (if_then_else (match_operator 0 "eqne_operator" - [(zero_extract:HI + [(zero_extract:QIHI (mem:QI (match_operand 1 "low_io_address_operand" "n")) (const_int 1) (match_operand 2 "const_int_operand" "n")) @@ -4746,7 +4746,7 @@ (define_insn "*sbix_branch_tmp" [(set (pc) (if_then_else (match_operator 0 "eqne_operator" - [(zero_extract:HI + [(zero_extract:QIHI (mem:QI (match_operand 1 "high_io_address_operand" "n")) (const_int 1) (match_operand 2 "const_int_operand" "n"))