aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips/24k.md
diff options
context:
space:
mode:
authorSandra Loosemore <sandra@codesourcery.com>2007-07-16 14:12:01 -0400
committerSandra Loosemore <sandra@gcc.gnu.org>2007-07-16 14:12:01 -0400
commitd56b9f12225da2bdee2c3b2b5da3a1482784ce36 (patch)
treecf3417c7321ebd6b0afef62d1f1999bb37cb5aff /gcc/config/mips/24k.md
parent0015c873f4b96d1c12632dd509da8472c8001a23 (diff)
downloadgcc-d56b9f12225da2bdee2c3b2b5da3a1482784ce36.zip
gcc-d56b9f12225da2bdee2c3b2b5da3a1482784ce36.tar.gz
gcc-d56b9f12225da2bdee2c3b2b5da3a1482784ce36.tar.bz2
mips.h (TUNE_24K): Define.
2007-07-16 Sandra Loosemore <sandra@codesourcery.com> David Ung <davidu@mips.com> gcc/ * config/mips/mips.h (TUNE_24K): Define. (TUNE_MACC_CHAINS): Add TUNE_24K. * config/mips/mips.md: (*mul_acc_si, *mul_sub_si): Change type to imadd. * config/mips/74k.md (r74k_int_mult): Split madd/msub to .. (r74k_int_madd): .. this new reservation. (define_bypass): Fixed bypasses for r74k_int_madd to use mips_linked_madd_p. * config/mips/24k.md (define_bypass): Define new r24k_int_mul3->r24k_int_madd bypass using mips_linked_madd_p. gcc/testsuite/ * gcc.target/mips/mips-sched-madd.c: New test case. Co-Authored-By: David Ung <davidu@mips.com> From-SVN: r126688
Diffstat (limited to 'gcc/config/mips/24k.md')
-rw-r--r--gcc/config/mips/24k.md3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/mips/24k.md b/gcc/config/mips/24k.md
index 7de816f..10fd79c 100644
--- a/gcc/config/mips/24k.md
+++ b/gcc/config/mips/24k.md
@@ -188,6 +188,9 @@
(define_bypass 6 "r24k_int_mul3" "r24k_int_store" "!store_data_bypass_p")
(define_bypass 6 "r24k_int_mul3" "r24k_int_prefetch")
+;; mul3->madd/msub : 1 cycle
+(define_bypass 1 "r24k_int_mul3" "r24k_int_madd" "mips_linked_madd_p")
+
;; mfhilo->next use : 5 cycles (default)
;; mfhilo->l/s base : 6 cycles
;; mfhilo->prefetch : 6 cycles