This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

latest problem with pentium pipeline...


Hi
I've made some development at the scheduling. Motivated by 15% speedups in
internal loop of my program I've decided, that it seems to be worthwhile.

My latest patch sent to egcs-patches contains IMO quite good clasification of
instructions for pipes pairability and split some patterns.
To make scheduling "perfect" I need to finish description of function units
and make MD_SCHED macros.

If I understand it from SPARC backend, I still need to specify function units
correctly, because MD_SCHED_REORDER is used only for final sorting instructions
to right order to feed both pipelines.
At SPARC there is quite similar situation, (in intelish terminology:) 
they have "U" pairable, "V" pariable and "UV" pairable instructions.
To specify this they have three functions units, one for "U" unit,
one for "V" unit and one "UV", that is doubled. Then "U" instructions uses
both "U" and "UV" and so on.

Situation at Intel is very similar, except the fact, that non pairable
instructions exists. This can't be described by this way, because "non pairable"
instructions can't block both "UV" pipes. I've tried to specify define function
unit twice and it don't seems to work.
So I want to ask, if there is any solution for this, of if there can't be
added any way to specify this in MD files.

My current implementation defines just "U" and "V" pipes and "UV" instructions
are scheduled to "V" pipe with latency 2, thats simulates "old" scheduling system
for them. But because non pairable instrution seems to be quite rare now,
maybe I should change this and use same system as with sparc with incorrect
pairing of non pariable instructions.

Any ideas?

Honza
-- 
                       OK. Lets make a signature file.
+-------------------------------------------------------------------------+
|        Jan Hubicka (Jan Hubi\v{c}ka in TeX) hubicka@freesoft.cz         |
|         Czech free software foundation: http://www.freesoft.cz          |
|AA project - the new way for computer graphics - http://www.ta.jcu.cz/aa |
|  homepage: http://www.paru.cas.cz/~hubicka/, games koules, Xonix, fast  |
|  fractal zoomer XaoS, index of Czech GNU/Linux/UN*X documentation etc.  | 
+-------------------------------------------------------------------------+


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]