mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-25 16:30:05 +00:00
Add pushf{d|q}, popf{d|q} to push and pop EFLAGS register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42335 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1a35edba13
commit
2f245ba572
@ -424,13 +424,16 @@ def LEAVE : I<0xC9, RawFrm,
|
||||
(outs), (ins), "leave", []>;
|
||||
|
||||
let Defs = [ESP], Uses = [ESP] in {
|
||||
def POP32r : I<0x58, AddRegFrm,
|
||||
(outs GR32:$reg), (ins), "pop{l}\t$reg", []>;
|
||||
def POP32r : I<0x58, AddRegFrm, (outs GR32:$reg), (ins), "pop{l}\t$reg", []>;
|
||||
|
||||
def PUSH32r : I<0x50, AddRegFrm,
|
||||
(outs), (ins GR32:$reg), "push{l}\t$reg", []>;
|
||||
def PUSH32r : I<0x50, AddRegFrm, (outs), (ins GR32:$reg), "push{l}\t$reg",[]>;
|
||||
}
|
||||
|
||||
let Defs = [ESP, EFLAGS], Uses = [ESP] in
|
||||
def POPD : I<0x9D, RawFrm, (outs), (ins), "popfd", []>;
|
||||
let Defs = [ESP], Uses = [ESP, EFLAGS] in
|
||||
def PUSHFD : I<0x9C, RawFrm, (outs), (ins), "pushfd", []>;
|
||||
|
||||
def MovePCtoStack : I<0, Pseudo, (outs), (ins piclabel:$label),
|
||||
"call\t$label", []>;
|
||||
|
||||
|
@ -123,6 +123,11 @@ def PUSH64r : I<0x50, AddRegFrm,
|
||||
(outs), (ins GR64:$reg), "push{q}\t$reg", []>;
|
||||
}
|
||||
|
||||
let Defs = [RSP, EFLAGS], Uses = [RSP] in
|
||||
def POPQ : I<0x9D, RawFrm, (outs), (ins), "popfq", []>, REX_W;
|
||||
let Defs = [RSP], Uses = [RSP, EFLAGS] in
|
||||
def PUSHFQ : I<0x9C, RawFrm, (outs), (ins), "pushfq", []>;
|
||||
|
||||
def LEA64_32r : I<0x8D, MRMSrcMem,
|
||||
(outs GR32:$dst), (ins lea64_32mem:$src),
|
||||
"lea{l}\t{$src|$dst}, {$dst|$src}",
|
||||
|
Loading…
x
Reference in New Issue
Block a user