llvm.org GIT mirror llvm / 33ce2bd
Add OpSize16 to the two byte forms of INC/DEC that we only use in 64-bit mode and a 64-bit only LEA. Even though we'll not be in 16-bit mode when we use them it makes their tables consistent with their 32-bit counterparts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199297 91177308-0d34-0410-b5e6-96231b3b80d8 Craig Topper 6 years ago
1 changed file(s) with 5 addition(s) and 5 deletion(s). Raw diff Collapse all Expand all
2929 (outs GR32:$dst), (ins lea64_32mem:$src),
3030 "lea{l}\t{$src|$dst}, {$dst|$src}",
3131 [(set GR32:$dst, lea64_32addr:$src)], IIC_LEA>,
32 Requires<[In64BitMode]>;
32 OpSize16, Requires<[In64BitMode]>;
3333
3434 let isReMaterializable = 1 in
3535 def LEA64r : RI<0x8D, MRMSrcMem, (outs GR64:$dst), (ins lea64mem:$src),
485485 "inc{l}\t$dst",
486486 [(set GR32:$dst, EFLAGS, (X86inc_flag GR32:$src1))],
487487 IIC_UNARY_REG>,
488 Requires<[In64BitMode]>;
488 OpSize16, Requires<[In64BitMode]>;
489489 def DEC64_16r : I<0xFF, MRM1r, (outs GR16:$dst), (ins GR16:$src1),
490490 "dec{w}\t$dst",
491491 [(set GR16:$dst, EFLAGS, (X86dec_flag GR16:$src1))],
495495 "dec{l}\t$dst",
496496 [(set GR32:$dst, EFLAGS, (X86dec_flag GR32:$src1))],
497497 IIC_UNARY_REG>,
498 Requires<[In64BitMode]>;
498 OpSize16, Requires<[In64BitMode]>;
499499 } // isConvertibleToThreeAddress = 1, CodeSize = 2
500500
501501 let isCodeGenOnly = 1, ForceDisassemble = 1, hasSideEffects = 0,
542542 def INC64_32m : I<0xFF, MRM0m, (outs), (ins i32mem:$dst), "inc{l}\t$dst",
543543 [(store (add (loadi32 addr:$dst), 1), addr:$dst),
544544 (implicit EFLAGS)], IIC_UNARY_MEM>,
545 Requires<[In64BitMode]>;
545 OpSize16, Requires<[In64BitMode]>;
546546 def DEC64_16m : I<0xFF, MRM1m, (outs), (ins i16mem:$dst), "dec{w}\t$dst",
547547 [(store (add (loadi16 addr:$dst), -1), addr:$dst),
548548 (implicit EFLAGS)], IIC_UNARY_MEM>,
550550 def DEC64_32m : I<0xFF, MRM1m, (outs), (ins i32mem:$dst), "dec{l}\t$dst",
551551 [(store (add (loadi32 addr:$dst), -1), addr:$dst),
552552 (implicit EFLAGS)], IIC_UNARY_MEM>,
553 Requires<[In64BitMode]>;
553 OpSize16, Requires<[In64BitMode]>;
554554 } // CodeSize = 2, SchedRW
555555
556556 let Constraints = "$src1 = $dst", SchedRW = [WriteALU] in {