This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog config/v850/lib1funcs.asm co ...
- From: nickc at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 29 Aug 2002 09:50:21 -0000
- Subject: gcc/gcc ChangeLog config/v850/lib1funcs.asm co ...
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: nickc@gcc.gnu.org 2002-08-29 02:50:20
Modified files:
gcc : ChangeLog
gcc/config/v850: lib1funcs.asm t-v850 v850-protos.h v850.c
v850.h v850.md
Log message:
* config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
(PREDICATE_CODES): Include new predicates.
(RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
(TARGET_SWITCHES): Add strict-align.
(TARGET_STRICT_ALIGN): New.
(MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
* config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
Define.
(LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
v850_muldi3.
* config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
L_callt_save_r2_r31, L_return_r2_r31,
L_save_all_interrupt): Change addi to add.
(L_save_interrupt, L_return_interrupt): Rework.
(__return_r31): Correct .size directive.
(mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
(v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
New routines.
* config/v850/v850.c (expand_prologue): Call
gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
gen_callt_return_interrupt and gen_callt_save_all_interrupt.
(reg_or_int9_operand): New predicate.
(reg_or_const_operand): New routine.
* config/v850/v850.md (return_interrupt): Changed from
restore_interrupt.
(callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
(callt_save_interrupt): Change save sequence.
(callt_return_interrupt): New.
(save_interrupt): Don't use runtime function for LONG_CALLS
and TARGET_PROLOG_FUNCTION.
(save_all_interrupt): Likewise.
(mulsi3): Use new predicate.
(moviscc): Disallow some combination of constants.
Fix define_split for sasf insns, so that it will not generate bad
code if operand0 and operand5 are the same.
* config/v850/v850-protos.h: Prototype new predicates.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.15261&r2=1.15262
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/v850/lib1funcs.asm.diff?cvsroot=gcc&r1=1.13&r2=1.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/v850/t-v850.diff?cvsroot=gcc&r1=1.9&r2=1.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/v850/v850-protos.h.diff?cvsroot=gcc&r1=1.13&r2=1.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/v850/v850.c.diff?cvsroot=gcc&r1=1.63&r2=1.64
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/v850/v850.h.diff?cvsroot=gcc&r1=1.71&r2=1.72
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/v850/v850.md.diff?cvsroot=gcc&r1=1.18&r2=1.19