From 4e1eac56b437f28903bfd95daf11fee1c1ca74aa Mon Sep 17 00:00:00 2001 From: Georg-Johann Lay Date: Tue, 21 Jun 2016 10:10:46 +0000 Subject: [PATCH] re PR target/71103 (avr-gcc crashes with unrecognizable insn error) PR target/71103 * config/avr/avr.md (movqi): Only handle loading subreg:qi of constant addresses if can_create_pseudo_p. From-SVN: r237635 --- gcc/ChangeLog | 6 ++++++ gcc/config/avr/avr.md | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 14b8030ec69..7927454fdba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-06-21 Georg-Johann Lay + + PR target/71103 + * config/avr/avr.md (movqi): Only handle loading subreg:qi of + constant addresses if can_create_pseudo_p. + 2016-06-21 Jakub Jelinek PR tree-optimization/71588 diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md index aac830154f0..98951865b1e 100644 --- a/gcc/config/avr/avr.md +++ b/gcc/config/avr/avr.md @@ -643,8 +643,9 @@ if (QImode == mode && SUBREG_P (src) - && CONSTANT_ADDRESS_P (SUBREG_REG (src))) - { + && CONSTANT_ADDRESS_P (SUBREG_REG (src)) + && can_create_pseudo_p()) + { // store_bitfield may want to store a SYMBOL_REF or CONST in a // structure that's represented as PSImode. As the upper 16 bits // of PSImode cannot be expressed as an HImode subreg, the rhs is -- 2.30.2