mips.md (divmodsi4*, [...]): Add -mcheck-range-division/ -mcheck-zero-division checking.
authorStan Cox <scox@cygnus.com>
Tue, 1 Dec 1998 16:52:56 +0000 (16:52 +0000)
committerStan Cox <scox@gcc.gnu.org>
Tue, 1 Dec 1998 16:52:56 +0000 (16:52 +0000)
commit08c2951c86934a764347fc5929ab6e4f06ea66cd
tree39eb2e0c7c345f15e1b7b803b6069bed1e5a46d5
parent1f5fb51fab42df42da3117a9fcaebff33294a6e9
mips.md (divmodsi4*, [...]): Add -mcheck-range-division/ -mcheck-zero-division checking.

* 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.

From-SVN: r24047
gcc/ChangeLog
gcc/config/mips/mips.h
gcc/config/mips/mips.md