diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-05 22:37:54 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-05 22:37:54 +0000 |
commit | 8f4be2be97089ba0dc22ed55ee33d90e237b8c1e (patch) | |
tree | e14ea46575bce454a67edbb9d6bc03000c970bcd /gcc/defaults.h | |
parent | 3b51cb387e3c601a6663f518b402c09c6b69eeb5 (diff) | |
download | gcc-8f4be2be97089ba0dc22ed55ee33d90e237b8c1e.tar.gz |
* defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
(CTZ_DEFINED_VALUE_AT_ZERO): New.
* doc/rtl.texi, doc/tm.texi: Document them.
* combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
of the value at zero properly.
* fold-const.c (tree_expr_nonnegative_p): Likewise.
* simplify-rtx.c (simplify_unary_operation): Likewise.
* config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
(CTZ_DEFINED_VALUE_AT_ZERO): New.
* config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
(TARGET_EXPAND_BUILTIN): Remove.
(def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
(enum arm_builtins): Remove.
* config/arm/arm.md (UNSPEC_CLZ): Remove.
(clzsi2): Rename from clz; use clz instead of unspec.
(ctzsi2): New.
* config/arm/arm-protos.h: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62453 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/defaults.h')
-rw-r--r-- | gcc/defaults.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/defaults.h b/gcc/defaults.h index 2dc9d749858..ec504a3b5fa 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -644,4 +644,12 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE! #define TARGET_C99_FUNCTIONS 0 #endif +/* Indicate that CLZ and CTZ are undefined at zero. */ +#ifndef CLZ_DEFINED_VALUE_AT_ZERO +#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0 +#endif +#ifndef CTZ_DEFINED_VALUE_AT_ZERO +#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0 +#endif + #endif /* ! GCC_DEFAULTS_H */ |