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]
Other format: [Raw text]

Re: Dealing with NOP instructions


> >        Does any one know about how gcc instruction scheduler deals
> > with the nop operation?
> > What would happen if there is a pipeline stall?
>
> The scheduler doesn't inset nops when it finds a pipeline stall, if
> that is the question you are asking. If you need this, you have to do >
it manually in machine dependent reorg.

or in the sched_finish target hook, as in -
http://gcc.gnu.org/ml/gcc-patches/2003-10/msg01702.html :

"scheme 1 ("pad"): Scan the group boundaries that the scheduler had
recorded, and pad with nops any dispatch group which has vacant issue
slots, in order to force the scheduler's grouping on the processor
dispatcher."

(we rely on the TImode markings to find the "group boundaries that the
scheduler had recorded").

dorit



                                                                                                                                      
                      Jim Wilson                                                                                                      
                      <wilson@specifixi        To:       Hsin-Hsien Wu <sinsen.wu@msa.hinet.net>                                      
                      nc.com>                  cc:       gcc@gcc.gnu.org                                                              
                      Sent by:                 Subject:  Re: Dealing with NOP instructions                                            
                      gcc-owner@gcc.gnu                                                                                               
                      .org                                                                                                            
                                                                                                                                      
                                                                                                                                      
                      01/07/2004 05:23                                                                                                
                                                                                                                                      




Hsin-Hsien Wu wrote:
>        Does any one know about how gcc instruction scheduler deals with
the
> nop operation?
> What would happen if there is a pipeline stall?

The scheduler doesn't inset nops when it finds a pipeline stall, if that
is the question you are asking.  If you need this, you have to do it
manually in machine dependent reorg.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com





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