Commit 827e80cc by Richard Henderson Committed by Richard Henderson

* alpha.md (ev5_e0): Conflict loads and stores.

From-SVN: r25705
parent a7adf08e
...@@ -3,6 +3,8 @@ Thu Mar 11 14:00:58 1999 Richard Henderson <rth@cygnus.com> ...@@ -3,6 +3,8 @@ Thu Mar 11 14:00:58 1999 Richard Henderson <rth@cygnus.com>
* alpha.h (HARD_REGNO_MODE_OK): Disallow QI/HImode in fp regs. * alpha.h (HARD_REGNO_MODE_OK): Disallow QI/HImode in fp regs.
(MODES_TIEABLE_P): Update. (MODES_TIEABLE_P): Update.
* alpha.md (ev5_e0): Conflict loads and stores.
Thu Mar 11 13:55:52 1999 Richard Henderson <rth@cygnus.com> Thu Mar 11 13:55:52 1999 Richard Henderson <rth@cygnus.com>
* machmode.h (smallest_mode_for_size): Prototype. * machmode.h (smallest_mode_for_size): Prototype.
......
...@@ -155,13 +155,18 @@ ...@@ -155,13 +155,18 @@
; Memory takes at least 2 clocks. Return one from here and fix up with ; Memory takes at least 2 clocks. Return one from here and fix up with
; user-defined latencies in adjust_cost. ; user-defined latencies in adjust_cost.
; ??? How to: "An instruction of class LD cannot be issued in the _second_
; cycle after an instruction of class ST is issued."
(define_function_unit "ev5_ebox" 2 0 (define_function_unit "ev5_ebox" 2 0
(and (eq_attr "cpu" "ev5") (and (eq_attr "cpu" "ev5")
(eq_attr "type" "ild,fld,ldsym")) (eq_attr "type" "ild,fld,ldsym"))
1 1) 1 1)
; Loads can dual issue with one another, but loads and stores do not mix.
(define_function_unit "ev5_e0" 1 0
(and (eq_attr "cpu" "ev5")
(eq_attr "type" "ild,fld,ldsym"))
1 1
[(eq_attr "type" "ist,fst")])
; Stores, shifts, multiplies can only issue to E0 ; Stores, shifts, multiplies can only issue to E0
(define_function_unit "ev5_e0" 1 0 (define_function_unit "ev5_e0" 1 0
(and (eq_attr "cpu" "ev5") (and (eq_attr "cpu" "ev5")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment