From 19ce4d73edceb0bad856355a3ebdb088f7aa9951 Mon Sep 17 00:00:00 2001 From: Georg-Johann Lay Date: Tue, 21 Jun 2016 10:15:25 +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: r237636 --- 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 3b93a04a41f5..3785897a57e3 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-20 Georg-Johann Lay Pitchumani Sivanupandi diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md index 434f0c974ef8..e385665847f6 100644 --- a/gcc/config/avr/avr.md +++ b/gcc/config/avr/avr.md @@ -623,8 +623,9 @@ if (QImode == mode && SUBREG == GET_CODE (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.47.2