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]

Small extension to MD_SCHED hack


Hi
After playing a bit more with MD_SCHED macros I think that it is neccesary to
give some posibility to MD_SCHED macros to pick no instruction at given cycle
and force scheduler to wait. This should happend at Pentium for example in case
that U pipe is busy by prefix and I can use just UV or V instruction.
Other case is IMUL, wich blocks both integer pipes, but seems to overlap with
FP code, so I can't define it as one cycle.

Other problem is that cycles counter used by MD_SCHED
macro is hard to keep in sync with scheduler, so it would nice to pass clock_var
to MD_SCHED_RORDER.
I am currently using following macro, wich is really ugly hack:

#define MD_SCHED_REORDER(DUMP, SCHED_VERBOSE, READY, N_READY)           \
  if (TARGET_PENTIUM)                                                   \
    while (!pentium_sched_reorder (DUMP, SCHED_VERBOSE, READY, N_READY, clock_var )) \
      { clock_var++;                                                    \
        N_READY = queue_to_ready (READY, N_READY);                      \
        SCHED_SORT (READY, N_READY);                                    \
      }

Would be possible to add such functionality to MD_SCHED macros? (I can do that myself
if you think it is good thing to do and you suggest good API.)
I would probably turn MD_SCHED_REORDER turn into expression returning 0 when
no intructions can be scheduled and add CLOCK_VAR parameter.


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]