aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Christopher <echristo@gcc.gnu.org>2003-05-23 22:19:16 +0000
committerEric Christopher <echristo@gcc.gnu.org>2003-05-23 22:19:16 +0000
commit5299653dc14a44b2011c073e720f7a8932c5062d (patch)
tree4577e7d52e05616750792cf35afeb65c51b7ff48 /gcc
parent0de12fcceb544c3ceb070a4de0fbc7c94d82ab12 (diff)
downloadgcc-5299653dc14a44b2011c073e720f7a8932c5062d.zip
gcc-5299653dc14a44b2011c073e720f7a8932c5062d.tar.gz
gcc-5299653dc14a44b2011c073e720f7a8932c5062d.tar.bz2
mips.md (clzsi, clzdi): New patterns.
2003-05-23 Eric Christopher <echristo@redhat.com> * config/mips/mips.md (clzsi, clzdi): New patterns. From-SVN: r67142
Diffstat (limited to 'gcc')
-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")])
+
;;
;; ....................
;;