mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
X86: Mark In32/64BitMode on LEAVE[64] and SYSEXIT[64].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108683 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e5c8d95f1a
commit
df4c47be29
@ -246,7 +246,7 @@ def POPCNT64rm : RI<0xB8, MRMSrcMem, (outs GR64:$dst), (ins i64mem:$src),
|
||||
|
||||
let Defs = [RBP,RSP], Uses = [RBP,RSP], mayLoad = 1, neverHasSideEffects = 1 in
|
||||
def LEAVE64 : I<0xC9, RawFrm,
|
||||
(outs), (ins), "leave", []>;
|
||||
(outs), (ins), "leave", []>, Requires<[In64BitMode]>;
|
||||
let Defs = [RSP], Uses = [RSP], neverHasSideEffects=1 in {
|
||||
let mayLoad = 1 in {
|
||||
def POP64r : I<0x58, AddRegFrm,
|
||||
@ -330,7 +330,7 @@ def CMPS64 : RI<0xA7, RawFrm, (outs), (ins), "cmpsq", []>;
|
||||
|
||||
// Fast system-call instructions
|
||||
def SYSEXIT64 : RI<0x35, RawFrm,
|
||||
(outs), (ins), "sysexit", []>, TB;
|
||||
(outs), (ins), "sysexit", []>, TB, Requires<[In64BitMode]>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Move Instructions...
|
||||
|
@ -756,7 +756,7 @@ let isCall = 1, isTerminator = 1, isReturn = 1, isBarrier = 1 in
|
||||
//
|
||||
let Defs = [EBP, ESP], Uses = [EBP, ESP], mayLoad = 1, neverHasSideEffects=1 in
|
||||
def LEAVE : I<0xC9, RawFrm,
|
||||
(outs), (ins), "leave", []>;
|
||||
(outs), (ins), "leave", []>, Requires<[In32BitMode]>;
|
||||
|
||||
def POPCNT16rr : I<0xB8, MRMSrcReg, (outs GR16:$dst), (ins GR16:$src),
|
||||
"popcnt{w}\t{$src, $dst|$dst, $src}", []>, OpSize, XS;
|
||||
@ -934,7 +934,7 @@ def SYSRET : I<0x07, RawFrm,
|
||||
def SYSENTER : I<0x34, RawFrm,
|
||||
(outs), (ins), "sysenter", []>, TB;
|
||||
def SYSEXIT : I<0x35, RawFrm,
|
||||
(outs), (ins), "sysexit", []>, TB;
|
||||
(outs), (ins), "sysexit", []>, TB, Requires<[In32BitMode]>;
|
||||
|
||||
def WAIT : I<0x9B, RawFrm, (outs), (ins), "wait", []>;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user