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
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
alpha | Loading commit data... | |
arm | Loading commit data... | |
avr | Loading commit data... | |
bfin | Loading commit data... | |
c6x | Loading commit data... | |
cris | Loading commit data... | |
epiphany | Loading commit data... | |
fr30 | Loading commit data... | |
frv | Loading commit data... | |
h8300 | Loading commit data... | |
i386 | Loading commit data... | |
ia64 | Loading commit data... | |
iq2000 | Loading commit data... | |
libbid | Loading commit data... | |
lm32 | Loading commit data... | |
m32c | Loading commit data... | |
m32r | Loading commit data... | |
m68k | Loading commit data... | |
mcore | Loading commit data... | |
mep | Loading commit data... | |
microblaze | Loading commit data... | |
mips | Loading commit data... | |
mmix | Loading commit data... | |
moxie | Loading commit data... | |
pa | Loading commit data... | |
pdp11 | Loading commit data... | |
picochip | Loading commit data... | |
rl78 | Loading commit data... | |
rs6000 | Loading commit data... | |
rx | Loading commit data... | |
s390 | Loading commit data... | |
score | Loading commit data... | |
sh | Loading commit data... | |
sparc | Loading commit data... | |
spu | Loading commit data... | |
stormy16 | Loading commit data... | |
v850 | Loading commit data... | |
vax | Loading commit data... | |
vms | Loading commit data... | |
xtensa | Loading commit data... | |
darwin-64.c | Loading commit data... | |
darwin-crt-tm.c | Loading commit data... | |
darwin-crt3.c | Loading commit data... | |
gmon-sol2.c | Loading commit data... | |
gthr-lynx.h | Loading commit data... | |
gthr-rtems.h | Loading commit data... | |
gthr-vxworks.h | Loading commit data... | |
libgcc-glibc.ver | Loading commit data... | |
libgcc-libsystem.ver | Loading commit data... | |
no-sfp-machine.h | Loading commit data... | |
no-unwind.h | Loading commit data... | |
t-crtfm | Loading commit data... | |
t-crtstuff-pic | Loading commit data... | |
t-darwin | Loading commit data... | |
t-dfprules | Loading commit data... | |
t-eh-dw2-dip | Loading commit data... | |
t-fdpbit | Loading commit data... | |
t-fixedpoint-gnu-prefix | Loading commit data... | |
t-fpbit | Loading commit data... | |
t-freebsd-thread | Loading commit data... | |
t-gnu-prefix | Loading commit data... | |
t-libgcc-pic | Loading commit data... | |
t-libunwind | Loading commit data... | |
t-libunwind-elf | Loading commit data... | |
t-linux | Loading commit data... | |
t-openbsd-thread | Loading commit data... | |
t-rtems | Loading commit data... | |
t-slibgcc | Loading commit data... | |
t-slibgcc-darwin | Loading commit data... | |
t-slibgcc-elf-ver | Loading commit data... | |
t-slibgcc-gld | Loading commit data... | |
t-slibgcc-gld-nover | Loading commit data... | |
t-slibgcc-hpux | Loading commit data... | |
t-slibgcc-libgcc | Loading commit data... | |
t-slibgcc-nolc-override | Loading commit data... | |
t-slibgcc-sld | Loading commit data... | |
t-slibgcc-vms | Loading commit data... | |
t-softfp | Loading commit data... | |
t-softfp-excl | Loading commit data... | |
t-softfp-sfdf | Loading commit data... | |
t-softfp-tf | Loading commit data... | |
t-sol2 | Loading commit data... | |
t-stack | Loading commit data... | |
t-tls | Loading commit data... | |
t-vxworks | Loading commit data... | |
unwind-dw2-fde-darwin.c | Loading commit data... | |
vxlib-tls.c | Loading commit data... | |
vxlib.c | Loading commit data... |