re PR target/47719 (ICE compiling libavcodec/adxdec.c (FFmpeg) for ARM)
authorRichard Earnshaw <rearnsha@arm.com>
Sat, 5 Mar 2011 14:01:07 +0000 (14:01 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Sat, 5 Mar 2011 14:01:07 +0000 (14:01 +0000)
PR target/47719
* arm.md (movhi_insn_arch4):  Accept any immediate constant.

From-SVN: r170698

gcc/ChangeLog
gcc/config/arm/arm.md

index c9c1540b1d29b8aaddfe0bbb4b64736e5074dbbd..7a723c8f8bf784fcaf781c0736a19cd64d518063 100644 (file)
@@ -1,3 +1,8 @@
+2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/47719
+       * arm.md (movhi_insn_arch4):  Accept any immediate constant.
+
 2011-03-05  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/47967
index 73a879e93845460e4b19ec510d25eb73a4743e41..6f31e6211b4900eb12f53615328cb38cd5c094b0 100644 (file)
 ;; Pattern to recognize insn generated default case above
 (define_insn "*movhi_insn_arch4"
   [(set (match_operand:HI 0 "nonimmediate_operand" "=r,r,m,r")
-       (match_operand:HI 1 "general_operand"      "rI,K,r,m"))]
+       (match_operand:HI 1 "general_operand"      "rI,K,r,mi"))]
   "TARGET_ARM
    && arm_arch4
-   && (GET_CODE (operands[1]) != CONST_INT
-       || const_ok_for_arm (INTVAL (operands[1]))
-       || const_ok_for_arm (~INTVAL (operands[1])))"
+   && (register_operand (operands[0], HImode)
+       || register_operand (operands[1], HImode))"
   "@
    mov%?\\t%0, %1\\t%@ movhi
    mvn%?\\t%0, #%B1\\t%@ movhi