From: scox Date: Tue, 1 Dec 1998 16:52:56 +0000 (+0000) Subject: * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add -mcheck-range-division/ X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=16c730c97a80bdb81e955e8b14d4466d520ec59b;p=platform%2Fupstream%2Flinaro-gcc.git * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add -mcheck-range-division/ -mcheck-zero-division checking. Avoid as macro expansion. Use hi/lo as destination register. (div_trap): New. (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*, umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking. Avoid as macro expansion. Use hi/lo as destination register. * mips.h (MASK_CHECK_RANGE_DIV): New. (MASK_NO_CHECK_ZERO_DIV): New. (ELIMINABLE_REGS): Added GP_REG_FIRST + 31. (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting return address for leaf functions out of r31 to support builtin_return_address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24047 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 67856df..c239f45 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,20 @@ +Tue Dec 1 16:45:49 1998 Stan Cox + + * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add + -mcheck-range-division/-mcheck-zero-division checking. Avoid as macro + expansion. Use hi/lo as destination register. + (div_trap): New. + (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*, + umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking. + Avoid as macro expansion. Use hi/lo as destination register. + + * mips.h (MASK_CHECK_RANGE_DIV): New. + (MASK_NO_CHECK_ZERO_DIV): New. + (ELIMINABLE_REGS): Added GP_REG_FIRST + 31. + (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting + return address for leaf functions out of r31 to support + builtin_return_address. + Tue Dec 1 15:03:30 1998 Herman A.J. ten Brugge * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x), diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index f36398a..13f1b7b 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -336,16 +336,18 @@ extern void mips_select_section (); #define MASK_4300_MUL_FIX 0x00080000 /* Work-around early Vr4300 CPU bug */ #define MASK_MIPS3900 0x00100000 /* like -mips1 only 3900 */ #define MASK_MIPS16 0x01000000 /* Generate mips16 code */ +#define MASK_NO_CHECK_ZERO_DIV 0x04000000 /* divide by zero checking */ +#define MASK_CHECK_RANGE_DIV 0x08000000 /* divide result range checking */ /* Dummy switches used only in spec's*/ #define MASK_MIPS_TFILE 0x00000000 /* flag for mips-tfile usage */ /* Debug switches, not documented */ -#define MASK_DEBUG 0x40000000 /* Eliminate version # in .s file */ -#define MASK_DEBUG_A 0x20000000 /* don't allow