x86-asm: More opcodes

Some new opcodes and some aliases: ljmp[wl], prefetch{nta,t0,t1,t2},
bswap[lq], sysretq, swapgs.
This commit is contained in:
Michael Matz
2016-07-11 21:11:13 +02:00
parent d9d029006c
commit 6a5ec8cb3c
2 changed files with 23 additions and 0 deletions

View File

@ -287,6 +287,8 @@ ljmp $0x100, $0x1000
#else
ljmp *0x100
ljmp *(%rdi)
ljmpl *(%esi)
ljmpw *(%esi)
#endif
ret
@ -484,6 +486,7 @@ L3:
fwait
bswap %edx
bswapl %ecx
xadd %ecx, %edx
xaddb %dl, 0x1000
xaddw %ax, 0x1000
@ -515,6 +518,7 @@ fucomip %st(5), %st
cmovns %edx, %edi
cmovne %ax, %si
#ifdef __x86_64__
bswapq %rsi
cmovz %rdi,%rbx
#endif
@ -610,9 +614,14 @@ int $0x10
#ifdef __x86_64__
syscall
sysret
sysretq
lfence
mfence
sfence
prefetchnta 0x18(%rdx)
prefetcht0 (%rcx)
prefetcht1 (%rsi)
prefetcht2 (%rdi)
clflush 0x1000(%rax,%rcx)
fxsaveq (%rdx)
fxrstorq (%rcx)
@ -680,6 +689,8 @@ int $0x10
lidtq 0x1000
sgdtq 0x1000
sidtq 0x1000
swapgs
#endif
lmsw 0x1000