Mercurial > hg > Members > tobaru > cbc > CbC_llvm
comparison lib/Target/X86/X86Schedule.td @ 121:803732b1fca8
LLVM 5.0
author | kono |
---|---|
date | Fri, 27 Oct 2017 17:07:41 +0900 |
parents | 1172e4bd9c6f |
children |
comparison
equal
deleted
inserted
replaced
120:1172e4bd9c6f | 121:803732b1fca8 |
---|---|
74 defm WriteFBlend : X86SchedWritePair; // Floating point vector blends. | 74 defm WriteFBlend : X86SchedWritePair; // Floating point vector blends. |
75 defm WriteFVarBlend : X86SchedWritePair; // Fp vector variable blends. | 75 defm WriteFVarBlend : X86SchedWritePair; // Fp vector variable blends. |
76 | 76 |
77 // FMA Scheduling helper class. | 77 // FMA Scheduling helper class. |
78 class FMASC { X86FoldableSchedWrite Sched = WriteFAdd; } | 78 class FMASC { X86FoldableSchedWrite Sched = WriteFAdd; } |
79 | |
80 // Horizontal Add/Sub (float and integer) | |
81 defm WriteFHAdd : X86SchedWritePair; | |
82 defm WritePHAdd : X86SchedWritePair; | |
79 | 83 |
80 // Vector integer operations. | 84 // Vector integer operations. |
81 defm WriteVecALU : X86SchedWritePair; // Vector integer ALU op, no logicals. | 85 defm WriteVecALU : X86SchedWritePair; // Vector integer ALU op, no logicals. |
82 defm WriteVecShift : X86SchedWritePair; // Vector integer shifts. | 86 defm WriteVecShift : X86SchedWritePair; // Vector integer shifts. |
83 defm WriteVecIMul : X86SchedWritePair; // Vector integer multiply. | 87 defm WriteVecIMul : X86SchedWritePair; // Vector integer multiply. |
293 | 297 |
294 def IIC_SSE_SHUFP : InstrItinClass; | 298 def IIC_SSE_SHUFP : InstrItinClass; |
295 def IIC_SSE_PSHUF_RI : InstrItinClass; | 299 def IIC_SSE_PSHUF_RI : InstrItinClass; |
296 def IIC_SSE_PSHUF_MI : InstrItinClass; | 300 def IIC_SSE_PSHUF_MI : InstrItinClass; |
297 | 301 |
302 def IIC_SSE_PACK : InstrItinClass; | |
298 def IIC_SSE_UNPCK : InstrItinClass; | 303 def IIC_SSE_UNPCK : InstrItinClass; |
299 | 304 |
300 def IIC_SSE_MOVMSK : InstrItinClass; | 305 def IIC_SSE_MOVMSK : InstrItinClass; |
301 def IIC_SSE_MASKMOV : InstrItinClass; | 306 def IIC_SSE_MASKMOV : InstrItinClass; |
302 | 307 |
364 def IIC_SSE_PALIGNRM : InstrItinClass; | 369 def IIC_SSE_PALIGNRM : InstrItinClass; |
365 def IIC_SSE_MWAIT : InstrItinClass; | 370 def IIC_SSE_MWAIT : InstrItinClass; |
366 def IIC_SSE_MONITOR : InstrItinClass; | 371 def IIC_SSE_MONITOR : InstrItinClass; |
367 def IIC_SSE_MWAITX : InstrItinClass; | 372 def IIC_SSE_MWAITX : InstrItinClass; |
368 def IIC_SSE_MONITORX : InstrItinClass; | 373 def IIC_SSE_MONITORX : InstrItinClass; |
374 def IIC_SSE_CLZERO : InstrItinClass; | |
369 | 375 |
370 def IIC_SSE_PREFETCH : InstrItinClass; | 376 def IIC_SSE_PREFETCH : InstrItinClass; |
371 def IIC_SSE_PAUSE : InstrItinClass; | 377 def IIC_SSE_PAUSE : InstrItinClass; |
372 def IIC_SSE_LFENCE : InstrItinClass; | 378 def IIC_SSE_LFENCE : InstrItinClass; |
373 def IIC_SSE_MFENCE : InstrItinClass; | 379 def IIC_SSE_MFENCE : InstrItinClass; |
494 def IIC_IN_RR : InstrItinClass; | 500 def IIC_IN_RR : InstrItinClass; |
495 def IIC_IN_RI : InstrItinClass; | 501 def IIC_IN_RI : InstrItinClass; |
496 def IIC_OUT_RR : InstrItinClass; | 502 def IIC_OUT_RR : InstrItinClass; |
497 def IIC_OUT_IR : InstrItinClass; | 503 def IIC_OUT_IR : InstrItinClass; |
498 def IIC_INS : InstrItinClass; | 504 def IIC_INS : InstrItinClass; |
505 def IIC_LWP : InstrItinClass; | |
499 def IIC_MOV_REG_DR : InstrItinClass; | 506 def IIC_MOV_REG_DR : InstrItinClass; |
500 def IIC_MOV_DR_REG : InstrItinClass; | 507 def IIC_MOV_DR_REG : InstrItinClass; |
501 def IIC_MOV_REG_CR : InstrItinClass; | 508 def IIC_MOV_REG_CR : InstrItinClass; |
502 def IIC_MOV_CR_REG : InstrItinClass; | 509 def IIC_MOV_CR_REG : InstrItinClass; |
503 def IIC_MOV_REG_SR : InstrItinClass; | 510 def IIC_MOV_REG_SR : InstrItinClass; |
654 } | 661 } |
655 | 662 |
656 include "X86ScheduleAtom.td" | 663 include "X86ScheduleAtom.td" |
657 include "X86SchedSandyBridge.td" | 664 include "X86SchedSandyBridge.td" |
658 include "X86SchedHaswell.td" | 665 include "X86SchedHaswell.td" |
666 include "X86SchedBroadwell.td" | |
659 include "X86ScheduleSLM.td" | 667 include "X86ScheduleSLM.td" |
668 include "X86ScheduleZnver1.td" | |
660 include "X86ScheduleBtVer2.td" | 669 include "X86ScheduleBtVer2.td" |
661 | 670 include "X86SchedSkylakeClient.td" |
671 include "X86SchedSkylakeServer.td" | |
672 |