re PR target/71103 (avr-gcc crashes with unrecognizable insn error)
authorGeorg-Johann Lay <avr@gjlay.de>
Tue, 21 Jun 2016 10:10:46 +0000 (10:10 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Tue, 21 Jun 2016 10:10:46 +0000 (10:10 +0000)
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
gcc/config/avr/avr.md

index 14b8030ec6963bae1771983d96d5eba59fb4dd2d..7927454fdbaa9de9fe234dbbdf21236d80a278c2 100644 (file)
@@ -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
index aac830154f0623cd4c75a653cb5354b7309f9f27..98951865b1e7d6a5c332ba233b7833a8271e86d8 100644 (file)
 
     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