aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1998-03-18 15:45:35 +0000
committerJim Wilson <wilson@gcc.gnu.org>1998-03-18 07:45:35 -0800
commit5bac82c574601d8e2b3074ef475cb372fed20971 (patch)
treebe78faf728b4ec1fef2bf7311ae5647ad9191091
parent9623b8e14f80d24d9d78255751b9c568f4600f42 (diff)
downloadgcc-5bac82c574601d8e2b3074ef475cb372fed20971.zip
gcc-5bac82c574601d8e2b3074ef475cb372fed20971.tar.gz
gcc-5bac82c574601d8e2b3074ef475cb372fed20971.tar.bz2
Fix bug reported by Toshi Morita.
* 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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.md4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2b24655..674724c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 93a2ec8..8659ddc 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -1256,7 +1256,7 @@
[(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;
}")
@@ -1264,7 +1264,7 @@
(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"