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

index 3b93a04a41f5d09065f3cd05f2f9dd8c3734607e..3785897a57e31dcaf2ae7a325c37cfd9a071caf9 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-20  Georg-Johann Lay  <avr@gjlay.de>
            Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
 
index 434f0c974ef863579805f51d08bf1ecbaf7a9a85..e385665847f66402a1642b1cbf67a02bcd1b5f29 100644 (file)
 
     if (QImode == <MODE>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