diff options
author | Ken Raeburn <raeburn@cygnus.com> | 1998-06-08 15:56:47 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-06-08 09:56:47 -0600 |
commit | cb92366029011ef6ee679a2540a2c6a77ad7372e (patch) | |
tree | 910e5fa6251514ebff40b3b55346909bdfba1dea /gcc/gcse.c | |
parent | a1622f838f1188fca74ba0186300882f33006ae7 (diff) | |
download | gcc-cb92366029011ef6ee679a2540a2c6a77ad7372e.zip gcc-cb92366029011ef6ee679a2540a2c6a77ad7372e.tar.gz gcc-cb92366029011ef6ee679a2540a2c6a77ad7372e.tar.bz2 |
* Revamped multiply support for MIPS chips.
* mips.c (extend_operator): New function.
(highpart_shift_operator): Likewise.
* mips.h: Declare new functions.
(PREDICATE_CODES): Add support for new predicates.
* mips.md (mulsi3 expander): Simplify.
(mulsi_mult3): Add another constraint alternative. Support
3 operand multiply instructions as found on various mips
parts.
(mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
(mul_acc_si): New pattern and associated splitters.
(mulsidi3 expander): Rework to use mulsidi3_64bit and
mulsidi3_internal.
(umulsidi3): New expander.
(mulsidi3_internal): Accept either sign or zero extended
operands and generate code as appropriate appropriately.
(mulsidi3_64bit): Similarly.
(smulsi3_highpart): Turn into an expander and generate code
to match new patterns.
(umulsi3_highpart): Likewise.
(xmulsi3_highpart_internal): New pattern.
(maddi patterns): Delete. Replace with:
(mul_acc_di, mul-acc_64bit_di): New patterns.
Co-Authored-By: Jeffrey A Law <law@cygnus.com>
From-SVN: r20337
Diffstat (limited to 'gcc/gcse.c')
0 files changed, 0 insertions, 0 deletions