]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/xtensa/xtensa.c
longlong.h (__xtensa__): Add definitions for umul_ppmm...
authorBob Wilson <bob.wilson@acm.org>
Mon, 6 Nov 2006 18:50:37 +0000 (18:50 +0000)
committerBob Wilson <bwilson@gcc.gnu.org>
Mon, 6 Nov 2006 18:50:37 +0000 (18:50 +0000)
commit09fa8841f49c6f3949130406e27e7f7e080cb176
tree268c5b13ed6895e2d3676f31c09e3e720f0c0bec
parenta548d7b75391323fb617554e965311a6897dd6ed
longlong.h (__xtensa__): Add definitions for umul_ppmm...

* longlong.h (__xtensa__): Add definitions for umul_ppmm, __umulsidi3,
count_leading_zeros, and count_trailing_zeros.
* config/xtensa/xtensa.c (TARGET_INIT_BUILTINS): Define.
(TARGET_FOLD_BUILTIN): Define.
(TARGET_EXPAND_BUILTIN): Define.
(xtensa_init_builtins): New.
(xtensa_fold_builtin): New.
(xtensa_expand_builtin): New.
(xtensa_rtx_costs): Add CTZ and CLZ.  Adjust costs for MULT.
* config/xtensa/xtensa.h (TARGET_MUL32_HIGH): Define.
(CLZ_DEFINED_VALUE_AT_ZERO): Define.
(CTZ_DEFINED_VALUE_AT_ZERO): Define.
* config/xtensa/xtensa.md (UNSPEC_NSAU): Remove.
(any_extend): New code macro.
(u, su): New code attributes.
(<u>mulsidi3, <u>mulsi3_highpart, clzsi2, ctzsi2): New.
(nsau): Remove; replaced by clzsi2.
(ffssi2): Use clzsi2.
* config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _umulsidi3,
_clzsi2, _ctzsi2, and _ffssi2.  Rename _nsau to _clz.
* config/xtensa/lib1funcs.asm (__mulsi3): Support Mul32 option.
(__umulsidi3, __clzsi2, __ctzsi2, __ffssi2): New.
(__nsau_data): Guard with ifdef L_clz instead of L_nsau.

From-SVN: r118524
gcc/ChangeLog
gcc/config/xtensa/lib1funcs.asm
gcc/config/xtensa/t-xtensa
gcc/config/xtensa/xtensa.c
gcc/config/xtensa/xtensa.h
gcc/config/xtensa/xtensa.md
gcc/longlong.h