h8300.md (*andorhi3): Accept 0x8000 as an operand[3].
authorKazu Hirata <kazu@hxi.com>
Wed, 23 Jan 2002 14:24:23 +0000 (14:24 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Wed, 23 Jan 2002 14:24:23 +0000 (14:24 +0000)
* config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
operand[3].

From-SVN: r49138

gcc/ChangeLog
gcc/config/h8300/h8300.md

index 2d32d85660b7ebac9338facb8f6061c32b78fe40..e1180ac75fafa2a7520f14c712834755798bca22 100644 (file)
@@ -1,3 +1,8 @@
+2002-01-23  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
+       operand[3].
+
 2002-01-23  Jason Merrill  <jason@redhat.com>
 
        * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
index e6229a2b94458d54de0dac017dea6085a1bc09dc..ab05d4966cb7e62210d6da5f3a660d1f8320bc86 100644 (file)
 (define_insn "*andorhi3"
   [(set (match_operand:HI 0 "register_operand" "=r")
        (ior:HI (and:HI (match_operand:HI 2 "register_operand" "r")
-                       (match_operand:HI 3 "p_operand" "P"))
+                       (match_operand:HI 3 "const_int_operand" "n"))
        (match_operand:HI 1 "register_operand" "0")))]
-  ""
+  "exact_log2 (INTVAL (operands[3]) & 0xffff) != -1"
   "*
 {
+  operands[3] = GEN_INT (INTVAL (operands[3]) & 0xffff);
   if (INTVAL (operands[3]) > 128)
     {
       operands[3] = GEN_INT (INTVAL (operands[3]) >> 8);