* scheduling inline assembler when interlaced with C
@ 2005-09-21 11:19 john.gill
0 siblings, 0 replies; only message in thread
From: john.gill @ 2005-09-21 11:19 UTC (permalink / raw)
To: gcc-help
I'm working on a port of gcc (3.3.3) for an embedded processor.
In my md file I have defined:
(define_asm_attributes
[(set_attr "length" "1")
(set_attr "type" "ialu")])
and
(define_insn_reservation "iarith" 1
(eq_attr "type" "ialu")
"AnyInsn+Arith4")
But the dfa scheduler doesn't pick up the scheduling resources
assocatiated with attribute ialu indicated via my
define_insn_reservation statements. This is only a problem
for inline asm, it still schedules the C.
Below is some output from the sched2 pass. When using inline
asm the scheduler currently is noting that asm_operands
use no resources and as a consequence the scheduling could
be better. How can I get the scheduler to note what attributes
inline asm uses?
Cheers for any help
John
;; ======================================================
;; -- basic block 0 from 15 to 61 -- after reload
;; ======================================================
;; 0--> 15 %w7=asm_operands :nothing <<<<<<< No reservations
;; 0--> 77 %w10=0x0|0x1 :(BothInsn+Arith8)
;; 1--> 26 %w3=high(`val') :(AnyInsn+Arith4)
;; 1--> 37 %w8=0x0 :(AnyInsn+Arith4)
;; 2--> 28 %w4=[%w3+low(`val')] :(AnyInsn+Memory+AnyPort),AnyPort,AnyPort,AnyPort
;; 2--> 38 %w6=%w7^0x1 :(AnyInsn+Arith4)
;; 3--> 35 %w3=%w3+low(`val') :(AnyInsn+Arith4)
;; 6--> 30 %w4=%w4+%w10 :(BothInsn+Arith8)
;; 7--> 42 asm_operands :nothing <<<<<<< No reservations
;; 8--> 46 %w2=asm_operands :nothing <<<<<<< No reservations
;; 8--> 48 %w2=%w2+0x1 :(AnyInsn+Arith4)
;; 9--> 50 asm_operands :nothing <<<<<<< No reservations
;; 9--> 72 %w3=high(`val') :(AnyInsn+Arith4)
;; 10--> 74 %w2=high(`fired') :(AnyInsn+Arith4)
;; 10--> 55 %w7=%w7<<0x2 :(AnyInsn+Arith4)
;; 11--> 56 %w6=0x1 :(AnyInsn+Arith4)
;; 11--> 73 %w2=%w2+low(`fired') :(AnyInsn+Arith4)
;; 12--> 57 [%w2+%w7]=%w6 :(AnyInsn+Memory+StorePort)
;; 13--> 61 [%w3+low(`val')]=%w4 :(AnyInsn+Memory+StorePort)
;; Ready list (final):
;; total time = 13
;; new head = 15
;; new tail = 61
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-09-21 11:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-21 11:19 scheduling inline assembler when interlaced with C john.gill
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).