diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2016-06-21 10:10:46 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2016-06-21 10:10:46 +0000 |
commit | 4e1eac56b437f28903bfd95daf11fee1c1ca74aa (patch) | |
tree | 50ae1d5cfe91fbd874bc9ea33926d28e9a38d373 /gcc | |
parent | 0ad84f34fc91885b187c302c8abf1dd6bae4a671 (diff) | |
download | gcc-4e1eac56b437f28903bfd95daf11fee1c1ca74aa.zip gcc-4e1eac56b437f28903bfd95daf11fee1c1ca74aa.tar.gz gcc-4e1eac56b437f28903bfd95daf11fee1c1ca74aa.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/avr/avr.md | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 14b8030..7927454 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-06-21 Georg-Johann Lay <avr@gjlay.de> + + 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 <jakub@redhat.com> PR tree-optimization/71588 diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md index aac8301..98951865 100644 --- a/gcc/config/avr/avr.md +++ b/gcc/config/avr/avr.md @@ -643,8 +643,9 @@ if (QImode == <MODE>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 |