2003-09-24 Dave Brolley <brolley@redhat.com>

* frv.cpu (u-commit): New modelling unit for fr500.
        (mwtaccg): Use frv_ref_SI to reference ACC40Sk as an input operand.
        (commit-r): Use u-commit model for fr500.
        (commit): Ditto.
        (conditional-float-binary-op): Take profiling data as an argument.
        Update callers.
        (ne-float-binary-op): Ditto.
This commit is contained in:
Dave Brolley 2003-09-24 19:04:54 +00:00
parent 24daaebce8
commit d03124067c
2 changed files with 52 additions and 15 deletions

View file

@ -1,3 +1,13 @@
2003-09-24 Dave Brolley <brolley@redhat.com>
* frv.cpu (u-commit): New modelling unit for fr500.
(mwtaccg): Use frv_ref_SI to reference ACC40Sk as an input operand.
(commit-r): Use u-commit model for fr500.
(commit): Ditto.
(conditional-float-binary-op): Take profiling data as an argument.
Update callers.
(ne-float-binary-op): Ditto.
2003-09-19 Michael Snyder <msnyder@redhat.com> 2003-09-19 Michael Snyder <msnyder@redhat.com>
* frv.cpu (nldqi): Delete unimplemented instruction. * frv.cpu (nldqi): Delete unimplemented instruction.

View file

@ -505,6 +505,14 @@
() ; outputs () ; outputs
() ; profile action (default) () ; profile action (default)
) )
; commit unit
(unit u-commit "Commit Unit" ()
1 1 ; issue done
() ; state
((GRk INT -1) (FRk INT -1)) ; inputs
() ; outputs
() ; profile action (default)
)
) )
; Tomcat machine. Early version of fr500 machine ; Tomcat machine. Early version of fr500 machine
@ -5798,7 +5806,7 @@
(.str name "$pack $" reg "k") (.str name "$pack $" reg "k")
(+ pack (.sym reg k) op (rs-null) ope (GRj-null)) (+ pack (.sym reg k) op (rs-null) ope (GRj-null))
(commit-semantics (index-of (.sym reg k)) is_float) (commit-semantics (index-of (.sym reg k)) is_float)
() ((fr500 (unit u-commit)))
) )
) )
@ -5812,7 +5820,7 @@
(.str name "$pack") (.str name "$pack")
(+ pack (rd-null) op (rs-null) ope (GRj-null)) (+ pack (rd-null) op (rs-null) ope (GRj-null))
(commit-semantics -1 is_float) (commit-semantics -1 is_float)
() ((fr500 (unit u-commit)))
) )
) )
@ -6118,7 +6126,7 @@
(float-binary-op-d fmuld mul OP_7A OPE1_08 F-3 "mul double float") (float-binary-op-d fmuld mul OP_7A OPE1_08 F-3 "mul double float")
(float-binary-op-d fdivd div OP_7A OPE1_09 F-4 "div double float") (float-binary-op-d fdivd div OP_7A OPE1_09 F-4 "div double float")
(define-pmacro (conditional-float-binary-op name pipe attr operation op ope comment) (define-pmacro (conditional-float-binary-op name pipe attr operation op ope profile comment)
(dni name (dni name
(comment) (comment)
(.splice (UNIT pipe) (MACH simple,tomcat,fr500,frv) (.splice (UNIT pipe) (MACH simple,tomcat,fr500,frv)
@ -6127,16 +6135,24 @@
(+ pack FRk op FRi CCi cond ope FRj) (+ pack FRk op FRi CCi cond ope FRj)
(if (eq CCi (or cond 2)) (if (eq CCi (or cond 2))
(set FRk (operation FRi FRj))) (set FRk (operation FRi FRj)))
profile
)
)
(conditional-float-binary-op cfadds FMALL ((FR500-MAJOR F-2)) add OP_6D OPE4_0
((fr500 (unit u-float-arith))) ((fr500 (unit u-float-arith)))
) "cond add single")
) (conditional-float-binary-op cfsubs FMALL ((FR500-MAJOR F-2)) sub OP_6D OPE4_1
((fr500 (unit u-float-arith)))
"cond sub single")
(conditional-float-binary-op cfmuls FM01 ((FR500-MAJOR F-3)) mul OP_6E OPE4_0
((fr500 (unit u-float-arith)))
"cond mul single")
(conditional-float-binary-op cfdivs FM01 ((FR500-MAJOR F-4)) div OP_6E OPE4_1
((fr500 (unit u-float-div)))
"cond div single")
(conditional-float-binary-op cfadds FMALL ((FR500-MAJOR F-2)) add OP_6D OPE4_0 "cond add single") (define-pmacro (ne-float-binary-op name pipe attr operation op ope profile comment)
(conditional-float-binary-op cfsubs FMALL ((FR500-MAJOR F-2)) sub OP_6D OPE4_1 "cond sub single")
(conditional-float-binary-op cfmuls FM01 ((FR500-MAJOR F-3)) mul OP_6E OPE4_0 "cond mul single")
(conditional-float-binary-op cfdivs FM01 ((FR500-MAJOR F-4)) div OP_6E OPE4_1 "cond div single")
(define-pmacro (ne-float-binary-op name pipe attr operation op ope comment)
(dni name (dni name
(comment) (comment)
(.splice (UNIT pipe) (MACH simple,tomcat,fr500,frv) (.splice (UNIT pipe) (MACH simple,tomcat,fr500,frv)
@ -6146,14 +6162,22 @@
(sequence () (sequence ()
(c-call VOID "@cpu@_set_ne_index" (index-of FRk)) (c-call VOID "@cpu@_set_ne_index" (index-of FRk))
(set FRk (operation FRi FRj))) (set FRk (operation FRi FRj)))
((fr500 (unit u-float-arith))) profile
) )
) )
(ne-float-binary-op nfadds FMALL ((FR500-MAJOR F-2)) add OP_79 OPE1_26 "ne add single") (ne-float-binary-op nfadds FMALL ((FR500-MAJOR F-2)) add OP_79 OPE1_26
(ne-float-binary-op nfsubs FMALL ((FR500-MAJOR F-2)) sub OP_79 OPE1_27 "ne sub single") ((fr500 (unit u-float-arith)))
(ne-float-binary-op nfmuls FM01 ((FR500-MAJOR F-3)) mul OP_79 OPE1_28 "ne mul single") "ne add single")
(ne-float-binary-op nfdivs FM01 ((FR500-MAJOR F-4)) div OP_79 OPE1_29 "ne div single") (ne-float-binary-op nfsubs FMALL ((FR500-MAJOR F-2)) sub OP_79 OPE1_27
((fr500 (unit u-float-arith)))
"ne sub single")
(ne-float-binary-op nfmuls FM01 ((FR500-MAJOR F-3)) mul OP_79 OPE1_28
((fr500 (unit u-float-arith)))
"ne mul single")
(ne-float-binary-op nfdivs FM01 ((FR500-MAJOR F-4)) div OP_79 OPE1_29
((fr500 (unit u-float-div)))
"ne div single")
(define-pmacro (fcc-eq) 8) (define-pmacro (fcc-eq) 8)
(define-pmacro (fcc-lt) 4) (define-pmacro (fcc-lt) 4)
@ -8193,7 +8217,10 @@
((UNIT FM01) (FR500-MAJOR M-3) (FR400-MAJOR M-1)) ((UNIT FM01) (FR500-MAJOR M-3) (FR400-MAJOR M-1))
"mwtaccg$pack $FRinti,$ACCGk" "mwtaccg$pack $FRinti,$ACCGk"
(+ pack ACCGk OP_7B FRinti OPE1_3F (FRj-null)) (+ pack ACCGk OP_7B FRinti OPE1_3F (FRj-null))
(set ACCGk FRinti) (sequence ()
; hack to get these referenced for profiling
(c-raw-call VOID "frv_ref_SI" ACCGk)
(set ACCGk FRinti))
((fr400 (unit u-media-4-accg)) ((fr400 (unit u-media-4-accg))
(fr500 (unit u-media))) (fr500 (unit u-media)))
) )