This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
egcs/gcc ChangeLog config/avr/avr.c config/avr ...
- To: gcc-cvs at gcc dot gnu dot org
- Subject: egcs/gcc ChangeLog config/avr/avr.c config/avr ...
- From: denisc at gcc dot gnu dot org
- Date: 14 Nov 2000 19:05:42 -0000
CVSROOT: /cvs/gcc
Module name: egcs
Changes by: denisc@gcc.gnu.org 2000-11-14 11:05:42
Modified files:
gcc : ChangeLog
gcc/config/avr : avr.c avr.h avr.md libgcc.S
Log message:
* 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".
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.8277&r2=1.8278
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/avr/avr.c.diff?cvsroot=gcc&r1=1.28&r2=1.29
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/avr/avr.h.diff?cvsroot=gcc&r1=1.14&r2=1.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/avr/avr.md.diff?cvsroot=gcc&r1=1.18&r2=1.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/avr/libgcc.S.diff?cvsroot=gcc&r1=1.8&r2=1.9