public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Can anyone tell me how to mark an instruction as taking 2 instruction slots for the scheduler?
@ 2010-08-25 20:25 Dave Hudson
  0 siblings, 0 replies; only message in thread
From: Dave Hudson @ 2010-08-25 20:25 UTC (permalink / raw)
  To: gcc

I have a single issue pipeline that I need to schedule more accurately.  For the most part this is fine but the CPU is a 32-bit design but for 64-bit opcodes (DImode or DFmode) I need to generate 2 opcodes and not one, but these only appear as a single instruction until after reload has run.  When the sched1 pass runs it causes unecessary code motion that is pessimizing things because it sees these 2 instruction sequences as being able to be issued on each new cycle.  After reload these instructions get split to their 32-bit constituents but by then it's too late to undo much of what sched1 already did.

Has anyone else already solved this problem?  A quick look through lots of backends didn't give me any obvious examples.  If not then does anyone have any advice on which of the target hooks (if any will be appropriate) might help me.


Thanks,
Dave

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-08-25 17:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-25 20:25 Can anyone tell me how to mark an instruction as taking 2 instruction slots for the scheduler? Dave Hudson

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).