diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86Schedule.td')
| -rw-r--r-- | llvm/lib/Target/X86/X86Schedule.td | 33 | 
1 files changed, 22 insertions, 11 deletions
diff --git a/llvm/lib/Target/X86/X86Schedule.td b/llvm/lib/Target/X86/X86Schedule.td index 32f0e3dd690..1e8352ff7dc 100644 --- a/llvm/lib/Target/X86/X86Schedule.td +++ b/llvm/lib/Target/X86/X86Schedule.td @@ -146,19 +146,23 @@ def IIC_ALU_MEM     : InstrItinClass;  def IIC_ALU_NONMEM  : InstrItinClass;  def IIC_LEA         : InstrItinClass;  def IIC_LEA_16      : InstrItinClass; -def IIC_MUL8        : InstrItinClass; +def IIC_MUL8_MEM    : InstrItinClass; +def IIC_MUL8_REG    : InstrItinClass;  def IIC_MUL16_MEM   : InstrItinClass;  def IIC_MUL16_REG   : InstrItinClass;  def IIC_MUL32_MEM   : InstrItinClass;  def IIC_MUL32_REG   : InstrItinClass; -def IIC_MUL64       : InstrItinClass; +def IIC_MUL64_MEM   : InstrItinClass; +def IIC_MUL64_REG   : InstrItinClass;  // imul by al, ax, eax, tax -def IIC_IMUL8       : InstrItinClass; +def IIC_IMUL8_MEM   : InstrItinClass; +def IIC_IMUL8_REG   : InstrItinClass;  def IIC_IMUL16_MEM  : InstrItinClass;  def IIC_IMUL16_REG  : InstrItinClass;  def IIC_IMUL32_MEM  : InstrItinClass;  def IIC_IMUL32_REG  : InstrItinClass; -def IIC_IMUL64      : InstrItinClass; +def IIC_IMUL64_MEM  : InstrItinClass; +def IIC_IMUL64_REG  : InstrItinClass;  // imul reg by reg|mem  def IIC_IMUL16_RM   : InstrItinClass;  def IIC_IMUL16_RR   : InstrItinClass; @@ -176,14 +180,21 @@ def IIC_IMUL64_RRI  : InstrItinClass;  // div  def IIC_DIV8_MEM    : InstrItinClass;  def IIC_DIV8_REG    : InstrItinClass; -def IIC_DIV16       : InstrItinClass; -def IIC_DIV32       : InstrItinClass; -def IIC_DIV64       : InstrItinClass; +def IIC_DIV16_MEM   : InstrItinClass; +def IIC_DIV16_REG   : InstrItinClass; +def IIC_DIV32_MEM   : InstrItinClass; +def IIC_DIV32_REG   : InstrItinClass; +def IIC_DIV64_MEM   : InstrItinClass; +def IIC_DIV64_REG   : InstrItinClass;  // idiv -def IIC_IDIV8       : InstrItinClass; -def IIC_IDIV16      : InstrItinClass; -def IIC_IDIV32      : InstrItinClass; -def IIC_IDIV64      : InstrItinClass; +def IIC_IDIV8_MEM   : InstrItinClass; +def IIC_IDIV8_REG   : InstrItinClass; +def IIC_IDIV16_MEM  : InstrItinClass; +def IIC_IDIV16_REG  : InstrItinClass; +def IIC_IDIV32_MEM  : InstrItinClass; +def IIC_IDIV32_REG  : InstrItinClass; +def IIC_IDIV64_MEM  : InstrItinClass; +def IIC_IDIV64_REG  : InstrItinClass;  // neg/not/inc/dec  def IIC_UNARY_REG   : InstrItinClass;  def IIC_UNARY_MEM   : InstrItinClass;  | 

