Skip to content
Snippets Groups Projects
  1. Aug 01, 2011
    • Julian Brown's avatar
      Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New. · 247eb06f
      Julian Brown authored
      	libgcc/
      	* Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
      	(libgcc-std.ver.in): Use above.
      	* fixed-bit.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define, if
      	LIBGCC2_GNU_PREFIX is defined.  Use instead of LIBGCC2_GNU_PREFIX
      	throughout file.
      	* config/t-fixedpoint-gnu-prefix: New file.
      	* config/t-gnu-prefix (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): Set.
      	* libgcc-std.ver.in (fixed-point routines): Use __FIXPTPFX__
      	instead of __PFX__.
      
      From-SVN: r177019
      247eb06f
  2. Jun 21, 2011
    • Bernd Schmidt's avatar
      Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2. · 3801c801
      Bernd Schmidt authored
      	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
      3801c801
  3. May 25, 2011
    • Bernd Schmidt's avatar
      libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if LIBGCC2_GNU_PREFIX is defined. · cdbf4541
      Bernd Schmidt authored
      	gcc/
      	* libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
      	LIBGCC2_GNU_PREFIX is defined.
      	(__N): New macro.
      	(__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
      	__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
      	__divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
      	__clz_tab): Define using __N.
      	(__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
      	COMPAT_SIMODE_TRAPPING_ARITHMETIC.
      	* target.def (libfunc_gnu_prefix): New hook.
      	* doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
      	(TARGET_LIBFUNC_GNU_PREFIX): Add hook.
      	* doc/tm.texi: Regenerate.
      	* system.h (LIBGCC2_GNU_PREFIX): Poison.
      	* optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
      	account.
      	(gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
      	(init_optabs): Likewise for the bswap libfuncs.
      	* tree.c (build_common_builtin_nodes): Likewise for complex multiply
      	and divide.
      	* config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
      	* config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
      	* libgcc-std.ver: Remove.
      	* Makefile.in (srcdirify): Handle $$(libgcc_objdir).
      	* config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
      	libgcc-std.ver.
      	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
      	* config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
      	* config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
      	* config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/fixed-bit.h (FIXED_OP): Define differently depending on
      	LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
      	(FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
      
      	libgcc/
      	* libgcc-std.ver.in: New file.
      	* Makefile.in (LIBGCC_VER_GNU_PREFIX, LIBGCC_VER_SYMBOLS_PREFIX): New
      	variables.
      	(libgcc-std.ver): New rule.
      	* config/t-gnu-prefix: New file.
      
      From-SVN: r174187
      cdbf4541
Loading