Go to file
Richard Henderson 2928cd7aac [multiple changes]
2003-02-01  Richard Henderson  <rth@redhat.com>

	* optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
	* libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
	__popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
	return type to Wtype.

	* libgcc-std.ver (GCC_3.4): Fix inheritance.

	* config/i386/i386.md (ffssi2): Use nonimmediate_operand for
	expander input constraint.

2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>

        * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
        OTI_parity.
        (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
        * optabs.c (widen_clz, expand_parity): New.
        (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
        for libcalls to clz, ctz, popcount, and parity.
        (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
        parity_optab, and set up libfunc handlers.
        * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
        __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
        __popcount_tab): New.
        * libgcc2.h: Declare them.
        * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
        * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
        and parity_optab.
        * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
        * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
        BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
        BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
        BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
        BUILT_IN_PARITYLL): New.
        * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
        and add optab argument.
        (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
        * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
        * expr.c (expand_expr): Handle them.
        * fold-const.c (tree_expr_nonnegative_p): Likewise.
        * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
        * reload1.c (eliminate_regs): Handle them.
        (elimination_effects): Likewise.
        * function.c (instantiate_virtual_regs_1): Likewise
        * genattrtab.c (check_attr_value): Likewise.
        * simplify-rtx.c (simplify_unary_operation): Likewise.
        * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
        * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
        (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
        * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
        * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
        __builtin_arm_clz.
        * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
        * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
        * doc/extend.texi (Other Builtins): Add new builtins.
        * doc/md.texi (Standard Names): Add new patterns.

From-SVN: r62252
2003-02-01 11:00:02 -08:00
boehm-gc configure.in (toolexecdir, [...]): Set and AC_SUBST. 2003-01-28 01:44:37 +00:00
config acx.m4: Name cache variables properly. 2002-12-28 17:57:00 +00:00
contrib test_summary (configflags): Only use the first match. 2003-01-19 14:34:12 +00:00
fastjar jartool.c (extract_jar): Don't lseek to skip extra fields. 2003-01-31 22:48:27 +00:00
gcc [multiple changes] 2003-02-01 11:00:02 -08:00
include hashtab.h (htab_alloc_with_arg, [...]): Add new types. 2003-01-26 07:09:41 +00:00
INSTALL
libf2c Makefile.in ($(LIBG2C)): -rpath is glibcpp_toolexeclibdir. 2003-01-28 01:44:38 +00:00
libffi Fix wrongly applied last patch. 2003-02-01 12:16:19 +01:00
libiberty Makefile.in (libiberty_topdir): New subst. 2003-01-30 14:02:12 -05:00
libjava Makefile.in: Rebuilt. 2003-02-01 01:36:17 +00:00
libobjc aclocal.m4 (glibcpp_toolexeclibdir): Instead of $(MULTISUBDIR)... 2003-01-28 01:48:33 +00:00
libstdc++-v3 Const correctness issue: http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html 2003-02-01 16:37:20 +00:00
maintainer-scripts * root.texi: Change version number to 3.4. 2002-12-16 22:18:33 +00:00
zlib ChangeLog file for zlib 2003-01-28 01:48:38 +00:00
.cvsignore
ChangeLog Makefile.tpl (all-sid): Add libiberty/bfd/opcodes dependencies. 2003-01-31 20:02:02 +00:00
config-ml.in
config.guess config.guess: Updated to 2003-01-30's version. 2003-01-30 22:44:14 +00:00
config.if config.if: If gcc_version is already set, just use it. 2003-01-30 11:52:51 +00:00
config.sub config.guess: Updated to 2003-01-30's version. 2003-01-30 22:44:14 +00:00
configure Rebuilt with autoconf 2.13 2003-01-27 17:22:12 +00:00
configure.in configure.in: Revert 24Jan change. 2003-01-27 14:56:12 +00:00
COPYING
COPYING.LIB
install-sh
libtool.m4
ltcf-c.sh Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
ltcf-cxx.sh
ltcf-gcj.sh Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
ltconfig
ltmain.sh
MAINTAINERS Added 'Fariborz Jahanian' to the 'Write After Approval' list. 2003-01-29 19:08:42 +00:00
Makefile.def Makefile.in: Rebuilt. 2002-12-31 20:10:53 +00:00
Makefile.in Makefile.tpl (all-sid): Add libiberty/bfd/opcodes dependencies. 2003-01-31 20:02:02 +00:00
Makefile.tpl Makefile.tpl (all-sid): Add libiberty/bfd/opcodes dependencies. 2003-01-31 20:02:02 +00:00
missing
mkdep
mkinstalldirs
move-if-change
README
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.