aboutsummaryrefslogtreecommitdiff
path: root/gcc/libgcc2.c
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus.com>1998-06-08 15:56:47 +0000
committerJeff Law <law@gcc.gnu.org>1998-06-08 09:56:47 -0600
commitcb92366029011ef6ee679a2540a2c6a77ad7372e (patch)
tree910e5fa6251514ebff40b3b55346909bdfba1dea /gcc/libgcc2.c
parenta1622f838f1188fca74ba0186300882f33006ae7 (diff)
downloadgcc-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/libgcc2.c')
0 files changed, 0 insertions, 0 deletions