aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/mips/mips.md25
2 files changed, 30 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d4334528..f06c767 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2003-05-23 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.md (clzsi, clzdi): New patterns.
+
2003-05-23 Geoffrey Keating <geoffk@apple.com>
* gcc.c (default_compilers): Use -o to specify preprocessor's output
@@ -7,7 +11,7 @@
2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
* fixinc/Makefile.in: Correct description.
- * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
+ * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
fixinc/genfixes: Replace "GNU CC" with "GCC".
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index c91d27f..7fff5a3 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -3594,6 +3594,31 @@ move\\t%0,%z4\\n\\
(set_attr "length" "24")])
+
+;;
+;; ...................
+;;
+;; Count leading zeroes.
+;;
+;; ...................
+;;
+
+(define_insn "clzsi2"
+ [(set (match_operand:SI 0 "register_operand" "=d")
+ (clz:SI (match_operand:SI 1 "register_operand" "d")))]
+ "ISA_HAS_CLZ_CLO"
+ "clz\\t%0,%1"
+ [(set_attr "type" "arith")
+ (set_attr "mode" "SI")])
+
+(define_insn "clzdi2"
+ [(set (match_operand:DI 0 "register_operand" "=d")
+ (clz:DI (match_operand:DI 1 "register_operand" "d")))]
+ "ISA_HAS_DCLZ_DCLO"
+ "dclz\\t%0,%1"
+ [(set_attr "type" "arith")
+ (set_attr "mode" "DI")])
+
;;
;; ....................
;;