* config/avr/avr.c (avr_case_values_threshold): New. (avr_override_options): Set it depending on options, make it large when not optimizing to work around "unable to generate reloads". * config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option. (EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section executable if not AVR_MEGA. Make sure jump tables are word-aligned. (JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1. (ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA. (avr_case_values_threshold): Declare as extern int. (CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold. * config/avr/avr.md (tablejump): Removed. (*tablejump_rjmp): New for jump tables made from "rjmp" instructions. (*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the index in the table, not multiplied by 2. (casesi): Change to match the above insns. Always enable. * config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__. Change to expect the word address of the table, multiply it by 2 here and not in the caller. Change "adiw" to faster "inc". From-SVN: r37465
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
gcc | Loading commit data... | |
include | Loading commit data... | |
libchill | Loading commit data... | |
libf2c | Loading commit data... | |
libffi | Loading commit data... | |
libiberty | Loading commit data... | |
libio | Loading commit data... | |
libjava | Loading commit data... | |
libobjc | Loading commit data... | |
libstdc++ | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
texinfo | Loading commit data... | |
zlib | Loading commit data... | |
.cvsignore | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.in | Loading commit data... | |
README | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.if | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.in | Loading commit data... | |
djunpack.bat | Loading commit data... | |
install-sh | Loading commit data... | |
libtool.m4 | Loading commit data... | |
ltcf-c.sh | Loading commit data... | |
ltcf-cxx.sh | Loading commit data... | |
ltcf-gcj.sh | Loading commit data... | |
ltconfig | Loading commit data... | |
ltmain.sh | Loading commit data... | |
missing | Loading commit data... | |
mkdep | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |