mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
Fix disasm of iret, sysexit, and sysret when displayed with Intel syntax.
Patch by Kay Tiong Khoo! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152487 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fbf9ff4621
commit
e060eb8916
@ -45,17 +45,17 @@ def INT : Ii8<0xcd, RawFrm, (outs), (ins i8imm:$trap), "int\t$trap",
|
|||||||
|
|
||||||
|
|
||||||
def SYSCALL : I<0x05, RawFrm, (outs), (ins), "syscall", []>, TB;
|
def SYSCALL : I<0x05, RawFrm, (outs), (ins), "syscall", []>, TB;
|
||||||
def SYSRETL : I<0x07, RawFrm, (outs), (ins), "sysretl", []>, TB;
|
def SYSRET : I<0x07, RawFrm, (outs), (ins), "sysret{l}", []>, TB;
|
||||||
def SYSRETQ :RI<0x07, RawFrm, (outs), (ins), "sysretq", []>, TB,
|
def SYSRET64 :RI<0x07, RawFrm, (outs), (ins), "sysret{q}", []>, TB,
|
||||||
Requires<[In64BitMode]>;
|
Requires<[In64BitMode]>;
|
||||||
|
|
||||||
def SYSENTER : I<0x34, RawFrm, (outs), (ins), "sysenter", []>, TB;
|
def SYSENTER : I<0x34, RawFrm, (outs), (ins), "sysenter", []>, TB;
|
||||||
|
|
||||||
def SYSEXIT : I<0x35, RawFrm, (outs), (ins), "sysexitl", []>, TB;
|
def SYSEXIT : I<0x35, RawFrm, (outs), (ins), "sysexit{l}", []>, TB;
|
||||||
def SYSEXIT64 :RI<0x35, RawFrm, (outs), (ins), "sysexitq", []>, TB,
|
def SYSEXIT64 :RI<0x35, RawFrm, (outs), (ins), "sysexit{q}", []>, TB,
|
||||||
Requires<[In64BitMode]>;
|
Requires<[In64BitMode]>;
|
||||||
|
|
||||||
def IRET16 : I<0xcf, RawFrm, (outs), (ins), "iretw", []>, OpSize;
|
def IRET16 : I<0xcf, RawFrm, (outs), (ins), "iret{w}", []>, OpSize;
|
||||||
def IRET32 : I<0xcf, RawFrm, (outs), (ins), "iret{l|d}", []>;
|
def IRET32 : I<0xcf, RawFrm, (outs), (ins), "iret{l|d}", []>;
|
||||||
def IRET64 : RI<0xcf, RawFrm, (outs), (ins), "iretq", []>,
|
def IRET64 : RI<0xcf, RawFrm, (outs), (ins), "iretq", []>,
|
||||||
Requires<[In64BitMode]>;
|
Requires<[In64BitMode]>;
|
||||||
|
@ -77,3 +77,25 @@
|
|||||||
|
|
||||||
# CHECK: test RAX, 0
|
# CHECK: test RAX, 0
|
||||||
0x48 0xa9 0x00 0x00 0x00 0x00
|
0x48 0xa9 0x00 0x00 0x00 0x00
|
||||||
|
|
||||||
|
# CHECK: sysret
|
||||||
|
0x48 0x0f 0x07
|
||||||
|
|
||||||
|
# CHECK: sysret
|
||||||
|
0x0f 0x07
|
||||||
|
|
||||||
|
# CHECK: sysexit
|
||||||
|
0x48 0x0f 0x35
|
||||||
|
|
||||||
|
# CHECK: sysexit
|
||||||
|
0x0f 0x35
|
||||||
|
|
||||||
|
# CHECK: iret
|
||||||
|
0x66 0xcf
|
||||||
|
|
||||||
|
# CHECK: iretd
|
||||||
|
0xcf
|
||||||
|
|
||||||
|
# CHECK: iretq
|
||||||
|
0x48 0xcf
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user