This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc/gcc ChangeLog Makefile.in builtin-types.de ...


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rth@gcc.gnu.org	2003-02-01 19:00:02

Modified files:
	gcc            : ChangeLog Makefile.in builtin-types.def 
	                 builtins.c builtins.def c-common.c combine.c 
	                 expr.c fold-const.c function.c genattrtab.c 
	                 genopinit.c libgcc-std.ver libgcc2.c libgcc2.h 
	                 mklibgcc.in optabs.c optabs.h reload1.c rtl.def 
	                 simplify-rtx.c tree.def 
	gcc/config/alpha: alpha.md 
	gcc/config/arm : arm.c 
	gcc/config/i386: i386.md 
	gcc/doc        : extend.texi md.texi rtl.texi 
Added files:
	gcc/testsuite/gcc.c-torture/execute: builtin-bitops-1.c 

Log message:
	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.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.16595&r2=1.16596
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&r1=1.984&r2=1.985
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/builtin-types.def.diff?cvsroot=gcc&r1=1.10&r2=1.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/builtins.c.diff?cvsroot=gcc&r1=1.173&r2=1.174
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/builtins.def.diff?cvsroot=gcc&r1=1.41&r2=1.42
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gcc&r1=1.399&r2=1.400
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/combine.c.diff?cvsroot=gcc&r1=1.334&r2=1.335
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&r1=1.504&r2=1.505
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fold-const.c.diff?cvsroot=gcc&r1=1.232&r2=1.233
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/function.c.diff?cvsroot=gcc&r1=1.398&r2=1.399
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/genattrtab.c.diff?cvsroot=gcc&r1=1.125&r2=1.126
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/genopinit.c.diff?cvsroot=gcc&r1=1.55&r2=1.56
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/libgcc-std.ver.diff?cvsroot=gcc&r1=1.16&r2=1.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/libgcc2.c.diff?cvsroot=gcc&r1=1.157&r2=1.158
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/libgcc2.h.diff?cvsroot=gcc&r1=1.22&r2=1.23
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/mklibgcc.in.diff?cvsroot=gcc&r1=1.53&r2=1.54
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.c.diff?cvsroot=gcc&r1=1.158&r2=1.159
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.h.diff?cvsroot=gcc&r1=1.10&r2=1.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/reload1.c.diff?cvsroot=gcc&r1=1.375&r2=1.376
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.def.diff?cvsroot=gcc&r1=1.64&r2=1.65
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/simplify-rtx.c.diff?cvsroot=gcc&r1=1.131&r2=1.132
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.def.diff?cvsroot=gcc&r1=1.55&r2=1.56
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/alpha/alpha.md.diff?cvsroot=gcc&r1=1.203&r2=1.204
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm.c.diff?cvsroot=gcc&r1=1.255&r2=1.256
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.md.diff?cvsroot=gcc&r1=1.418&r2=1.419
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/extend.texi.diff?cvsroot=gcc&r1=1.116&r2=1.117
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/md.texi.diff?cvsroot=gcc&r1=1.62&r2=1.63
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/rtl.texi.diff?cvsroot=gcc&r1=1.46&r2=1.47
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/builtin-bitops-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]