Fix bug reported by Toshi Morita.
authorJim Wilson <wilson@cygnus.com>
Wed, 18 Mar 1998 15:45:35 +0000 (15:45 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Wed, 18 Mar 1998 15:45:35 +0000 (07:45 -0800)
* sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
(ashlsi): Use match_dup 1 instead of match_operand 2.

From-SVN: r18674

gcc/ChangeLog
gcc/config/sh/sh.md

index 2b246554f42f57d5a0ffd02ba78b35699817c6fd..674724c05b3aabb4db5b9c4b337850d164cf3233 100644 (file)
@@ -1,3 +1,8 @@
+Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
+       (ashlsi): Use match_dup 1 instead of match_operand 2.
+
 Wed Mar 18 13:46:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * fold-const.c (operand_equal_for_comparison_p): See if equal
index 93a2ec8b4e49af454403697f8c60a1b846516d3b..8659ddc75a47292eb3d62283b00141dde4d9f608 100644 (file)
   [(const_int 0)]
   "
 {
-  emit_insn (gen_ashlsi_c (operands[0], operands[1], operands[1]));
+  emit_insn (gen_ashlsi_c (operands[0], operands[1]));
   emit_insn (gen_subc1 (operands[0], operands[0], operands[0]));
   DONE;
 }")
 (define_insn "ashlsi_c"
   [(set (match_operand:SI 0 "arith_reg_operand" "=r")
        (ashift:SI (match_operand:SI 1 "arith_reg_operand" "0") (const_int 1)))
-   (set (reg:SI 18) (lt:SI (match_operand:SI 2 "arith_reg_operand" "0")
+   (set (reg:SI 18) (lt:SI (match_dup 1)
                           (const_int 0)))]
   ""
   "shll        %0"