gcc/libgcc
Georg-Johann Lay 85d768f349 re PR target/54222 ([avr] Implement fixed-point support)
gcc/
	PR target/54222
	* config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
	* config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
	(round<mode>3, round<mode>3_const): New expanders for fixed-mode.
	(*round<mode>3.libgcc): New insns for fixed-modes.
	* config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
	(ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
	(ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
	* config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
	implementations.  Define to __builtin_avr_absFX,
	__builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
	(roundFX, countlsFX): Define to __builtin_avr_roundFX,
	__builtin_avr_countlsFX, respectively.
	* config/avr/avr-c.c (target.h): Include it.
	(enum avr_builtin_id): New enum.
	(avr_resolve_overloaded_builtin): New static function.
	(avr_register_target_pragmas): Use it to set
	targetm.resolve_overloaded_builtin.
	* config/avr/avr.c (avr_init_builtins): Supply myriads of local
	tree nodes used by DEF_BUILTIN.
	(avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
	(avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
	<AVR_BUILTIN_xxBITS>: Same.
	
libgcc/
	PR target/54222
	* config/avr/lib2funcs.c: New C sources for modules for libgcc.a.
	* config/avr/lib2-object.mk: New iterator to build objects from it.
	* config/avr/t-avr: Iterate lib2-object.mk to build objects from
	lib2funcs.c.
	(LIB2FUNCS_EXCLUDE): Add _clrsbdi2.
	(LIB1ASMFUNCS): Add: _ssabs_1, _mask1, _ret, _roundqq3, _rounduqq3,
	_round_s2, _round_u2, _round_2_const, _addmask_2, _round_s4,
	_round_u4, _round_4_const, _addmask_4, _round_x8, _rounddq3
	_roundudq3, _roundda3 _rounduda3, _roundta3 _rounduta3.
	* config/avr/lib1funcs-fixed.S: Implement them.

gcc/testsuite/
	PR target/54222
	* gcc.target/avr/torture/builtins-4-roundfx.c: New test.
	* gcc.target/avr/torture/builtins-5-countlsfx.c: New test.

From-SVN: r195878
2013-02-08 10:13:37 +00:00
..
config re PR target/54222 ([avr] Implement fixed-point support) 2013-02-08 10:13:37 +00:00
soft-fp soft-fp updated from GLIBC upstream. 2012-11-15 18:39:47 +00:00
ChangeLog re PR target/54222 ([avr] Implement fixed-point support) 2013-02-08 10:13:37 +00:00
Makefile.in Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
config.host Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
config.in Use i386-cpuinfo.c on all i386 targets 2012-05-10 08:51:39 +00:00
configure bid_functions.h: Check for __GLIBC__ additionally to LINUX when defining format specifiers. 2012-11-05 00:08:42 +01:00
configure.ac gthr.m4: New. 2012-10-15 13:10:30 +00:00
crtstuff.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
dfp-bit.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
dfp-bit.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
divmod.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
empty.mk
emutls.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
enable-execute-stack-empty.c enable-execute-stack-empty.c (__enable_execute_stack): Add prototype. 2011-06-22 13:20:07 +02:00
enable-execute-stack-mprotect.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
fixed-bit.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
fixed-bit.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
fixed-obj.mk Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE before adding them to libgcc-objects, libgcc-s-objects. 2012-08-23 15:41:03 +00:00
floatunsidf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
floatunsisf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
floatunsitf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
floatunsixf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
fp-bit.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
fp-bit.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
gbl-ctors.h Update copyright in libgcc. 2013-02-04 19:06:20 +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 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
generic-morestack.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
generic-morestack.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
gstdint.h dfp.c (WORDS_BIGENDIAN): Define to 0 if not defined. 2008-06-11 00:43:09 +01:00
gthr-posix.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
gthr-single.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
gthr.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
libgcc-std.ver.in Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
libgcc2.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
libgcc2.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
libgcov.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
longlong.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
memcmp.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
memcpy.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
memmove.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
memset.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
mkheader.sh Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
mkmap-flat.awk Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
mkmap-symver.awk Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
shared-object.mk shared-object.mk (c_flags-$o): Save c_flags. 2011-06-21 14:26:13 +00:00
siditi-object.mk Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
static-object.mk Makefile.in (vis_hide, [...]): Do not make definitions depend on --enable-shared. 2012-08-22 09:36:23 +01:00
sync.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
udivmod.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
udivmodsi4.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-arm-common.inc Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-c.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-compat.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-compat.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2-fde-compat.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2-fde-dip.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2-fde.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2-fde.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-generic.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-pe.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-seh.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-sjlj.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind.inc Update copyright in libgcc. 2013-02-04 19:06:20 +00:00