gcc/libgcc
Bernd Schmidt 3801c801f3 Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
libgcc/
	* Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
	* libgcc-std.ver.in (GCC_4.7.0): New section.

	gcc/
	* doc/extend.texi (__builtin_clrsb, __builtin_clrsbl,
	__builtin_clrsbll): Document.
	* doc/rtl.texi (clrsb): New entry.
	* optabs.c (widen_leading): Renamed from widen_clz.  New argument
	UNOPTAB.  All callers changed.  Use UNOPTAB instead of clz_optab.
	(expand_unop): Handle clrsb_optab.
	(init_optabs): Initialize it.
	* optabs.h (enum optab_index): New entry OTI_clrsb.
	(clrsb_optab): Define.
	* genopinit.c (optabs): Add an entry for it.
	* builtins.c (expand_builtin): Handle clrsb builtin functions.
	* builtins.def (BUILT_IN_CLRSB, BUILT_IN_CLRSBIMAX, BUILT_IN_CLRSBL,
	BUILT_IN_CLRSBLL): New.
	* rtl.def (CLRSB): New code.
	* dwarf2out.c (mem_loc_descriptor): Handle it.
	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
	Use op_mode rather than mode when optimizing ffs, clz, ctz, parity
	and popcount.
	* libgcc2.c (__clrsbSI2, __clrsbDI2): New functions.
	* libgcc2.h (__clrsbSI2, __clrsbDI2): Define and declare.
	(__ctzDI2): Move declaration.
	* config/bfin/bfin.md (clrsbsi2): New expander.
	(signbitssi2): Use the CLRSB rtx.
	(clrsbhi2): Renamed from signbitshi2.  Use the CLRSB rtx.
	* config/bfin/bfin.c (bdesc_1arg): Changed accordingly.

	gcc/testsuite/
	* gcc.c-torture/excute/builtin-bitops-1.c (MAKE_FUNS): Make
	my_clrsb test functions.
	(main): Test clrsb.
	* gcc.dg/builtin-protos-1.c (test_s, test_u, test_sl, test_ul,
	test_sll, test_ull): Add clrsb tests.
	* gcc.dg/torture/builtin-attr-1.c: Add tests for clrsb, clrsbl,
	clrsbll.

From-SVN: r175261
2011-06-21 14:16:39 +00:00
..
config re PR target/49313 (Inefficient libgcc implementations for avr) 2011-06-16 09:06:44 +00:00
ChangeLog Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2. 2011-06-21 14:16:39 +00:00
Makefile.in Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2. 2011-06-21 14:16:39 +00:00
config.host irix6-unwind.h: New file. 2011-06-14 12:20:08 +00:00
configure netbsd.h (ENABLE_EXECUTE_STACK): Remove. 2011-06-09 12:30:46 +00:00
configure.ac netbsd.h (ENABLE_EXECUTE_STACK): Remove. 2011-06-09 12:30:46 +00:00
empty.mk
enable-execute-stack-empty.c netbsd.h (ENABLE_EXECUTE_STACK): Remove. 2011-06-09 12:30:46 +00:00
enable-execute-stack-mprotect.c netbsd.h (ENABLE_EXECUTE_STACK): Remove. 2011-06-09 12:30:46 +00:00
fixed-obj.mk fixed-obj.mk: New file to support fine-grain fixed-point functions. 2007-09-17 22:18:13 +00:00
gen-fixed.sh fixed-obj.mk: New file to support fine-grain fixed-point functions. 2007-09-17 22:18:13 +00:00
generic-morestack-thread.c common.opt (fsplit-stack): New option. 2010-09-27 19:48:20 +00:00
generic-morestack.c generic-morestack.c (__splitstack_find): Adjust returned stack pointer to include all registers pushed by __morestack. 2011-03-07 21:47:10 +00:00
generic-morestack.h common.opt (fsplit-stack): New option. 2010-09-27 19:48:20 +00:00
gstdint.h dfp.c (WORDS_BIGENDIAN): Define to 0 if not defined. 2008-06-11 00:43:09 +01:00
libgcc-std.ver.in Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2. 2011-06-21 14:16:39 +00:00
shared-object.mk shared-object.mk ($(base)_s$(objext)): Remove -DSHARED. 2008-07-03 12:22:00 -07:00
siditi-object.mk
static-object.mk