gcc/libgcc
Georg-Johann Lay cba300dd7d re PR target/49868 (Implement named address space to place/access data in flash memory)
libgcc/
	PR target/49868
	Extend __pgmx semantics to linearize memory.
	* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_1, _movmemx.
	* config/avr/lib1funcs.S (__xload_1): New function.
	(__movmemx_qi, __movmemx_hi): New functions.
	(__xload_2, __xload_3, __xload_4): Rewrite to fit new __pgmx
	semantics.

gcc/
	PR target/49868
	Extend __pgmx semantics to linearize memory.
	* config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
	determine if code comes inline or from libgcc.
	(MOVMEM_r_d:HI): Add "w" to constraint for better preference.
	(movmem_qi, movmem_qi): Set constraint #2 to "n".
	(movmem_qi_elpm, movmem_hi_elpm): Remove insns.
	(movmemx_qi, movmemx_hi): New insns.
	(xload_<mode>_libgcc): Rewrite to new insn condition.
	(xload_<mode>): Remove insns.
	* config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
	cases that don't satisfy avr_xload_libgcc_p().
	(avr_addr_space_convert): Allow converting in any direction.
	(avr_addr_space_subset_p): Return always true.
	(avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
	(avr_emit_movmemhi): Ditto.
	(avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
	(avr_out_movmem): Ditto.
	(AVR_SYMBOL_FLAG_PROGMEM): New macro.
	(AVR_SYMBOL_SET_ADDR_SPACE): New macro.
	(AVR_SYMBOL_GET_ADDR_SPACE): New macro.
	(avr_encode_section_info): Encode 'progmem' in symbol flags.
	(output_reload_in_const): Don't zero-extend any 24-bit symbols.

From-SVN: r183058
2012-01-10 09:42:10 +00:00
..
config re PR target/49868 (Implement named address space to place/access data in flash memory) 2012-01-10 09:42:10 +00:00
soft-fp soft-fp: Move to ../libgcc. 2011-08-05 15:13:48 +00:00
ChangeLog re PR target/49868 (Implement named address space to place/access data in flash memory) 2012-01-10 09:42:10 +00:00
config.host t-ia64 (LIB1ASMFUNCS): Move backward compatibility thunks... 2012-01-06 13:43:03 +00:00
configure re PR bootstrap/51734 (Bootstrap fails in libada) 2012-01-04 11:41:06 +00:00
configure.ac Return gthr-posix.h to libgcc (PR bootstrap/50982) 2011-11-07 16:34:31 +00:00
crtstuff.c crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the size of func_ptr. 2011-12-06 13:35:41 -08:00
dfp-bit.c
dfp-bit.h Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
divmod.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
empty.mk
emutls.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
enable-execute-stack-empty.c
enable-execute-stack-mprotect.c re PR bootstrap/51006 (bootstrap fails on NetBSD 5.1) 2012-01-03 21:39:46 +00:00
fixed-bit.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
fixed-bit.h
fixed-obj.mk
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 Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
fp-bit.h Makefile.in (FPBIT_FUNCS, [...]): Remove. 2011-08-05 14:53:09 +00:00
gbl-ctors.h Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
gen-fixed.sh
generic-morestack-thread.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
generic-morestack.c Check __GLIBC__ when using __SIGRTMIN 2011-12-14 10:49:16 -08:00
generic-morestack.h
gstdint.h
gthr-posix.h Return gthr-posix.h to libgcc (PR bootstrap/50982) 2011-11-07 16:34:31 +00:00
gthr-single.h Move gthr to toplevel libgcc 2011-11-02 15:28:43 +00:00
gthr.h Move gthr to toplevel libgcc 2011-11-02 15:28:43 +00:00
libgcc2.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
libgcc2.h Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
libgcc-std.ver.in generic-morestack.c (__splitstack_find): Check for NULL old stack value. 2011-11-28 05:44:31 +00:00
libgcov.c libgcov.c (gcov_crc32): Remove global var. 2011-12-30 18:08:56 +00:00
longlong.h Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
Makefile.in Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH et al. 2011-11-22 03:01:02 +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 Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
mkmap-flat.awk Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
mkmap-symver.awk Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
shared-object.mk
siditi-object.mk Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
static-object.mk static-object.mk (c_flags-$o): Save c_flags. 2011-11-21 00:41:12 +00:00
sync.c sync.c: Move to ../libgcc. 2011-08-09 15:40:30 +00:00
udivmod.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
udivmodsi4.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
unwind-arm-common.inc unwind-arm-common.inc: Include tconfig.h', tsystem.h' and `sys/sdt.h'. 2011-12-20 20:54:25 +00:00
unwind-c.c arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. 2011-09-13 12:48:33 +00:00
unwind-compat.c
unwind-compat.h
unwind-dw2-fde-compat.c
unwind-dw2-fde-dip.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
unwind-dw2-fde.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
unwind-dw2-fde.h
unwind-dw2.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
unwind-dw2.h
unwind-generic.h
unwind-pe.h
unwind-sjlj.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
unwind.inc