Commit 94993909 by David Edelsohn Committed by David Edelsohn

- Add ctz patterns.

From-SVN: r62572
parent d865b122
......@@ -2,8 +2,10 @@
* config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
* config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
(ctzsi2): New pattern.
(ffssi2): Use clz instead of unspec.
(clzdi2): Rename from cntlzd2.
(ctzdi2): New pattern.
(ffsdi2): Use clz instead of unspec.
2003-02-07 Loren James Rittle <ljrittle@acm.org>
......
......@@ -2270,10 +2270,13 @@ do { \
is done just by pretending it is already truncated. */
#define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
/* The cntlzw and cntlzd instructions return 32 and 64 for zero. */
/* The cntlzw and cntlzd instructions return 32 and 64 for input of zero. */
#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \
((VALUE) = ((MODE) == SImode ? 32 : 64))
/* The CTZ patterns return -1 for input of zero. */
#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) ((VALUE) = -1)
/* Specify the machine mode that pointers have.
After generation of rtl, the compiler makes no further distinction
between pointers and any other objects of this machine mode. */
......
......@@ -36,7 +36,6 @@
;; 16 macho_correct_pic
;; 19 movesi_from_cr
;; 20 movesi_to_cr
;; 21 cntlz{w,d}2 count lead zero word/double word
;; Define an insn type attribute. This is used in function unit delay
;; computations.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment