2003-09-12 Dave Brolley <brolley@redhat.com>
* frv.cpu (u-clrgr, u-clrfr): New units of model fr500. (clear-ne-flag-r): Pass insn profiling in as an argument. Call frv_ref_SI to get input register referenced for profiling. (clear-ne-flag-all): Pass insn profiling in as an argument. (clrgr,clrfr,clrga,clrfa): Add profiling information.
This commit is contained in:
parent
212c460caa
commit
23600bb3cd
@ -1,3 +1,11 @@
|
|||||||
|
2003-09-12 Dave Brolley <brolley@redhat.com>
|
||||||
|
|
||||||
|
* frv.cpu (u-clrgr, u-clrfr): New units of model fr500.
|
||||||
|
(clear-ne-flag-r): Pass insn profiling in as an argument. Call
|
||||||
|
frv_ref_SI to get input register referenced for profiling.
|
||||||
|
(clear-ne-flag-all): Pass insn profiling in as an argument.
|
||||||
|
(clrgr,clrfr,clrga,clrfa): Add profiling information.
|
||||||
|
|
||||||
2003-09-11 Michael Snyder <msnyder@redhat.com>
|
2003-09-11 Michael Snyder <msnyder@redhat.com>
|
||||||
|
|
||||||
* frv.cpu: Typographical corrections.
|
* frv.cpu: Typographical corrections.
|
||||||
|
47
cpu/frv.cpu
47
cpu/frv.cpu
@ -1,6 +1,6 @@
|
|||||||
; Fujitsu FRV opcode support, for GNU Binutils. -*- Scheme -*-
|
; Fujitsu FRV opcode support, for GNU Binutils. -*- Scheme -*-
|
||||||
;
|
;
|
||||||
; Copyright 2000, 2001 Free Software Foundation, Inc.
|
; Copyright 2000, 2001, 2003 Free Software Foundation, Inc.
|
||||||
;
|
;
|
||||||
; Contributed by Red Hat Inc; developed under contract from Fujitsu.
|
; Contributed by Red Hat Inc; developed under contract from Fujitsu.
|
||||||
;
|
;
|
||||||
@ -158,6 +158,22 @@
|
|||||||
() ; outputs
|
() ; outputs
|
||||||
() ; profile action (default)
|
() ; profile action (default)
|
||||||
)
|
)
|
||||||
|
; Clrgr unit
|
||||||
|
(unit u-clrgr "Clrgr Unit" ()
|
||||||
|
1 1 ; issue done
|
||||||
|
() ; state
|
||||||
|
((GRk INT -1)) ; inputs
|
||||||
|
() ; outputs
|
||||||
|
() ; profile action (default)
|
||||||
|
)
|
||||||
|
; Clrfr unit
|
||||||
|
(unit u-clrfr "Clrfr Unit" ()
|
||||||
|
1 1 ; issue done
|
||||||
|
() ; state
|
||||||
|
((FRk INT -1)) ; inputs
|
||||||
|
() ; outputs
|
||||||
|
() ; profile action (default)
|
||||||
|
)
|
||||||
; GR set half unit
|
; GR set half unit
|
||||||
(unit u-set-hilo "GR Set Half" ()
|
(unit u-set-hilo "GR Set Half" ()
|
||||||
1 1 ; issue done
|
1 1 ; issue done
|
||||||
@ -5734,33 +5750,44 @@
|
|||||||
(c-call VOID "@cpu@_clear_ne_flags" target_index is_float)
|
(c-call VOID "@cpu@_clear_ne_flags" target_index is_float)
|
||||||
)
|
)
|
||||||
|
|
||||||
(define-pmacro (clear-ne-flag-r name op ope reg is_float attr comment)
|
(define-pmacro (clear-ne-flag-r name op ope reg is_float attr profile comment)
|
||||||
(dni name
|
(dni name
|
||||||
(comment)
|
(comment)
|
||||||
((UNIT I01) (FR500-MAJOR I-6) (MACH simple,tomcat,fr500,frv) attr)
|
((UNIT I01) (FR500-MAJOR I-6) (MACH simple,tomcat,fr500,frv) attr)
|
||||||
(.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))
|
||||||
(clear-ne-flag-semantics (index-of (.sym reg k)) is_float)
|
(sequence ()
|
||||||
()
|
; hack to get this referenced for profiling
|
||||||
|
(c-raw-call VOID "frv_ref_SI" (.sym reg k))
|
||||||
|
(clear-ne-flag-semantics (index-of (.sym reg k)) is_float))
|
||||||
|
profile
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(clear-ne-flag-r clrgr OP_0A OPE1_00 GR 0 NA "Clear GR NE flag")
|
(clear-ne-flag-r clrgr OP_0A OPE1_00 GR 0 NA
|
||||||
(clear-ne-flag-r clrfr OP_0A OPE1_02 FR 1 FR-ACCESS "Clear FR NE flag")
|
((fr500 (unit u-clrgr)))
|
||||||
|
"Clear GR NE flag")
|
||||||
|
(clear-ne-flag-r clrfr OP_0A OPE1_02 FR 1 FR-ACCESS
|
||||||
|
((fr500 (unit u-clrfr)))
|
||||||
|
"Clear FR NE flag")
|
||||||
|
|
||||||
(define-pmacro (clear-ne-flag-all name op ope is_float attr comment)
|
(define-pmacro (clear-ne-flag-all name op ope is_float attr profile comment)
|
||||||
(dni name
|
(dni name
|
||||||
(comment)
|
(comment)
|
||||||
((UNIT I01) (FR500-MAJOR I-6) (MACH simple,tomcat,fr500,frv) attr)
|
((UNIT I01) (FR500-MAJOR I-6) (MACH simple,tomcat,fr500,frv) attr)
|
||||||
(.str name "$pack")
|
(.str name "$pack")
|
||||||
(+ pack (rd-null) op (rs-null) ope (GRj-null))
|
(+ pack (rd-null) op (rs-null) ope (GRj-null))
|
||||||
(clear-ne-flag-semantics -1 is_float)
|
(clear-ne-flag-semantics -1 is_float)
|
||||||
()
|
profile
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(clear-ne-flag-all clrga OP_0A OPE1_01 0 NA "Clear GR NE flag ALL")
|
(clear-ne-flag-all clrga OP_0A OPE1_01 0 NA
|
||||||
(clear-ne-flag-all clrfa OP_0A OPE1_03 1 FR-ACCESS "Clear FR NE flag ALL")
|
((fr500 (unit u-clrgr)))
|
||||||
|
"Clear GR NE flag ALL")
|
||||||
|
(clear-ne-flag-all clrfa OP_0A OPE1_03 1 FR-ACCESS
|
||||||
|
((fr500 (unit u-clrfr)))
|
||||||
|
"Clear FR NE flag ALL")
|
||||||
|
|
||||||
(define-pmacro (commit-semantics target_index is_float)
|
(define-pmacro (commit-semantics target_index is_float)
|
||||||
(c-call VOID "@cpu@_commit" target_index is_float)
|
(c-call VOID "@cpu@_commit" target_index is_float)
|
||||||
|
Loading…
Reference in New Issue
Block a user