diff --git a/llvm/lib/Target/X86/X86InstrArithmetic.td b/llvm/lib/Target/X86/X86InstrArithmetic.td index 9cde6f5598864..48188da291ded 100644 --- a/llvm/lib/Target/X86/X86InstrArithmetic.td +++ b/llvm/lib/Target/X86/X86InstrArithmetic.td @@ -520,20 +520,20 @@ def X86sub_flag_nocf : PatFrag<(ops node:$lhs, node:$rhs), let Defs = [EFLAGS] in { let Constraints = "$src1 = $dst", SchedRW = [WriteALU] in { // Short forms only valid in 32-bit mode. Selected during MCInst lowering. -let CodeSize = 1, hasSideEffects = 0 in { +let hasSideEffects = 0 in { def INC16r_alt : INCDECR_ALT<0x40, "inc", Xi16>; def INC32r_alt : INCDECR_ALT<0x40, "inc", Xi32>; -} // CodeSize = 1, hasSideEffects = 0 +} // hasSideEffects = 0 -let isConvertibleToThreeAddress = 1, CodeSize = 2 in { // Can xform into LEA. +let isConvertibleToThreeAddress = 1 in { // Can xform into LEA. def INC8r : INCDECR; def INC16r : INCDECR; def INC32r : INCDECR; def INC64r : INCDECR; -} // isConvertibleToThreeAddress = 1, CodeSize = 2 +} // isConvertibleToThreeAddress = 1 } // Constraints = "$src1 = $dst", SchedRW -let CodeSize = 2, SchedRW = [WriteALURMW] in { +let SchedRW = [WriteALURMW] in { let Predicates = [UseIncDec] in { def INC8m : INCDECM; def INC16m : INCDECM; @@ -542,24 +542,24 @@ let Predicates = [UseIncDec] in { let Predicates = [UseIncDec, In64BitMode] in { def INC64m : INCDECM; } // Predicates -} // CodeSize = 2, SchedRW +} // SchedRW let Constraints = "$src1 = $dst", SchedRW = [WriteALU] in { // Short forms only valid in 32-bit mode. Selected during MCInst lowering. -let CodeSize = 1, hasSideEffects = 0 in { +let hasSideEffects = 0 in { def DEC16r_alt : INCDECR_ALT<0x48, "dec", Xi16>; def DEC32r_alt : INCDECR_ALT<0x48, "dec", Xi32>; -} // CodeSize = 1, hasSideEffects = 0 +} // hasSideEffects = 0 -let isConvertibleToThreeAddress = 1, CodeSize = 2 in { // Can xform into LEA. +let isConvertibleToThreeAddress = 1 in { // Can xform into LEA. def DEC8r : INCDECR; def DEC16r : INCDECR; def DEC32r : INCDECR; def DEC64r : INCDECR; -} // isConvertibleToThreeAddress = 1, CodeSize = 2 +} // isConvertibleToThreeAddress = 1 } // Constraints = "$src1 = $dst", SchedRW -let CodeSize = 2, SchedRW = [WriteALURMW] in { +let SchedRW = [WriteALURMW] in { let Predicates = [UseIncDec] in { def DEC8m : INCDECM; def DEC16m : INCDECM; @@ -568,7 +568,7 @@ let Predicates = [UseIncDec] in { let Predicates = [UseIncDec, In64BitMode] in { def DEC64m : INCDECM; } // Predicates -} // CodeSize = 2, SchedRW +} // SchedRW } // Defs = [EFLAGS] // Extra precision multiplication @@ -764,7 +764,6 @@ def IDIV64m: MulOpM<0xF7, MRM7m, "idiv", Xi64, WriteIDiv64, []>, // // unary instructions -let CodeSize = 2 in { let Defs = [EFLAGS] in { let Constraints = "$src1 = $dst", SchedRW = [WriteALU] in { def NEG8r : NegOpR<0xF6, "neg", Xi8>; @@ -798,7 +797,6 @@ def NOT16m : NotOpM<0xF7, "not", Xi16>; def NOT32m : NotOpM<0xF7, "not", Xi32>; def NOT64m : NotOpM<0xF7, "not", Xi64>, Requires<[In64BitMode]>; } // SchedRW -} // CodeSize /// ArithBinOp_RF - This is an arithmetic binary operator where the pattern is /// defined with "(set GPR:$dst, EFLAGS, (...". diff --git a/llvm/lib/Target/X86/X86InstrFormats.td b/llvm/lib/Target/X86/X86InstrFormats.td index 01e14f9848b4f..41d555d506598 100644 --- a/llvm/lib/Target/X86/X86InstrFormats.td +++ b/llvm/lib/Target/X86/X86InstrFormats.td @@ -409,64 +409,54 @@ class I o, Format f, dag outs, dag ins, string asm, list pattern, Domain d = GenericDomain> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } class Ii8 o, Format f, dag outs, dag ins, string asm, list pattern, Domain d = GenericDomain> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } class Ii8Reg o, Format f, dag outs, dag ins, string asm, list pattern, Domain d = GenericDomain> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } class Ii8PCRel o, Format f, dag outs, dag ins, string asm, list pattern> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } class Ii16 o, Format f, dag outs, dag ins, string asm, list pattern> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } class Ii32 o, Format f, dag outs, dag ins, string asm, list pattern> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } class Ii32S o, Format f, dag outs, dag ins, string asm, list pattern> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } class Ii64 o, Format f, dag outs, dag ins, string asm, list pattern> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } class Ii16PCRel o, Format f, dag outs, dag ins, string asm, list pattern> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } class Ii32PCRel o, Format f, dag outs, dag ins, string asm, list pattern> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } // FPStack Instruction Templates: @@ -495,14 +485,12 @@ class Iseg16 o, Format f, dag outs, dag ins, string asm, list pattern> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } class Iseg32 o, Format f, dag outs, dag ins, string asm, list pattern> : X86Inst { let Pattern = pattern; - let CodeSize = 3; } // SI - SSE 1 & 2 scalar instructions