forked from OSchip/llvm-project
260 lines
4.4 KiB
ArmAsm
260 lines
4.4 KiB
ArmAsm
|
// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
|
||
|
|
||
|
.code16
|
||
|
|
||
|
pause
|
||
|
// CHECK: pause
|
||
|
// CHECK: encoding: [0xf3,0x90]
|
||
|
sfence
|
||
|
// CHECK: sfence
|
||
|
// CHECK: encoding: [0x0f,0xae,0xf8]
|
||
|
lfence
|
||
|
// CHECK: lfence
|
||
|
// CHECK: encoding: [0x0f,0xae,0xe8]
|
||
|
mfence
|
||
|
stgi
|
||
|
// CHECK: stgi
|
||
|
// CHECK: encoding: [0x0f,0x01,0xdc]
|
||
|
clgi
|
||
|
// CHECK: clgi
|
||
|
// CHECK: encoding: [0x0f,0x01,0xdd]
|
||
|
|
||
|
rdtscp
|
||
|
// CHECK: rdtscp
|
||
|
// CHECK: encoding: [0x0f,0x01,0xf9]
|
||
|
|
||
|
|
||
|
// CHECK: testb %bl, %cl # encoding: [0x84,0xcb]
|
||
|
testb %bl, %cl
|
||
|
|
||
|
into
|
||
|
// CHECK: into
|
||
|
// CHECK: encoding: [0xce]
|
||
|
int3
|
||
|
// CHECK: int3
|
||
|
// CHECK: encoding: [0xcc]
|
||
|
int $4
|
||
|
// CHECK: int $4
|
||
|
// CHECK: encoding: [0xcd,0x04]
|
||
|
int $255
|
||
|
// CHECK: int $255
|
||
|
// CHECK: encoding: [0xcd,0xff]
|
||
|
|
||
|
// CHECK: fmul %st(0)
|
||
|
// CHECK: encoding: [0xd8,0xc8]
|
||
|
fmul %st(0), %st
|
||
|
|
||
|
// CHECK: fadd %st(0)
|
||
|
// CHECK: encoding: [0xd8,0xc0]
|
||
|
fadd %st(0), %st
|
||
|
|
||
|
// CHECK: fsub %st(0)
|
||
|
// CHECK: encoding: [0xd8,0xe0]
|
||
|
fsub %st(0), %st
|
||
|
|
||
|
// CHECK: fsubr %st(0)
|
||
|
// CHECK: encoding: [0xd8,0xe8]
|
||
|
fsubr %st(0), %st
|
||
|
|
||
|
// CHECK: fdivr %st(0)
|
||
|
// CHECK: encoding: [0xd8,0xf8]
|
||
|
fdivr %st(0), %st
|
||
|
|
||
|
// CHECK: fdiv %st(0)
|
||
|
// CHECK: encoding: [0xd8,0xf0]
|
||
|
fdiv %st(0), %st
|
||
|
|
||
|
// CHECK: wait
|
||
|
// CHECK: encoding: [0x9b]
|
||
|
fwait
|
||
|
|
||
|
|
||
|
setc %bl
|
||
|
setnae %bl
|
||
|
setnb %bl
|
||
|
setnc %bl
|
||
|
setna %bl
|
||
|
setnbe %bl
|
||
|
setpe %bl
|
||
|
setpo %bl
|
||
|
setnge %bl
|
||
|
setnl %bl
|
||
|
setng %bl
|
||
|
setnle %bl
|
||
|
|
||
|
setneb %cl // CHECK: setne %cl
|
||
|
setcb %bl // CHECK: setb %bl
|
||
|
setnaeb %bl // CHECK: setb %bl
|
||
|
|
||
|
|
||
|
// CHECK: lcalll $31438, $31438
|
||
|
// CHECK: lcalll $31438, $31438
|
||
|
// CHECK: ljmpl $31438, $31438
|
||
|
// CHECK: ljmpl $31438, $31438
|
||
|
|
||
|
calll $0x7ace,$0x7ace
|
||
|
lcalll $0x7ace,$0x7ace
|
||
|
jmpl $0x7ace,$0x7ace
|
||
|
ljmpl $0x7ace,$0x7ace
|
||
|
|
||
|
// CHECK: calll a
|
||
|
calll a
|
||
|
|
||
|
// CHECK: incb %al # encoding: [0xfe,0xc0]
|
||
|
incb %al
|
||
|
|
||
|
// CHECK: decb %al # encoding: [0xfe,0xc8]
|
||
|
decb %al
|
||
|
|
||
|
// CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e]
|
||
|
pshufw $14, %mm4, %mm0
|
||
|
|
||
|
// CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a]
|
||
|
pshufw $90, %mm4, %mm0
|
||
|
|
||
|
// CHECK: aaa
|
||
|
// CHECK: encoding: [0x37]
|
||
|
aaa
|
||
|
|
||
|
// CHECK: aad $1
|
||
|
// CHECK: encoding: [0xd5,0x01]
|
||
|
aad $1
|
||
|
|
||
|
// CHECK: aad
|
||
|
// CHECK: encoding: [0xd5,0x0a]
|
||
|
aad $0xA
|
||
|
|
||
|
// CHECK: aad
|
||
|
// CHECK: encoding: [0xd5,0x0a]
|
||
|
aad
|
||
|
|
||
|
// CHECK: aam $2
|
||
|
// CHECK: encoding: [0xd4,0x02]
|
||
|
aam $2
|
||
|
|
||
|
// CHECK: aam
|
||
|
// CHECK: encoding: [0xd4,0x0a]
|
||
|
aam $0xA
|
||
|
|
||
|
// CHECK: aam
|
||
|
// CHECK: encoding: [0xd4,0x0a]
|
||
|
aam
|
||
|
|
||
|
// CHECK: aas
|
||
|
// CHECK: encoding: [0x3f]
|
||
|
aas
|
||
|
|
||
|
// CHECK: daa
|
||
|
// CHECK: encoding: [0x27]
|
||
|
daa
|
||
|
|
||
|
// CHECK: das
|
||
|
// CHECK: encoding: [0x2f]
|
||
|
das
|
||
|
|
||
|
// CHECK: arpl %bx, %bx
|
||
|
// CHECK: encoding: [0x63,0xdb]
|
||
|
arpl %bx,%bx
|
||
|
|
||
|
// CHECK: arpl %bx, 6(%ecx)
|
||
|
// CHECK: encoding: [0x67,0x63,0x59,0x06]
|
||
|
arpl %bx,6(%ecx)
|
||
|
|
||
|
// CHECK: fcompi %st(2)
|
||
|
// CHECK: encoding: [0xdf,0xf2]
|
||
|
fcompi %st(2), %st
|
||
|
|
||
|
// CHECK: fcompi %st(2)
|
||
|
// CHECK: encoding: [0xdf,0xf2]
|
||
|
fcompi %st(2)
|
||
|
|
||
|
// CHECK: fcompi
|
||
|
// CHECK: encoding: [0xdf,0xf1]
|
||
|
fcompi
|
||
|
|
||
|
// CHECK: fucompi %st(2)
|
||
|
// CHECK: encoding: [0xdf,0xea]
|
||
|
fucompi %st(2),%st
|
||
|
|
||
|
// CHECK: fucompi %st(2)
|
||
|
// CHECK: encoding: [0xdf,0xea]
|
||
|
fucompi %st(2)
|
||
|
|
||
|
// CHECK: fucompi
|
||
|
// CHECK: encoding: [0xdf,0xe9]
|
||
|
fucompi
|
||
|
|
||
|
// CHECK: wait
|
||
|
// CHECK: encoding: [0x9b]
|
||
|
fclex
|
||
|
|
||
|
// CHECK: fnclex
|
||
|
// CHECK: encoding: [0xdb,0xe2]
|
||
|
fnclex
|
||
|
|
||
|
// CHECK: ud2
|
||
|
// CHECK: encoding: [0x0f,0x0b]
|
||
|
ud2
|
||
|
|
||
|
// CHECK: ud2
|
||
|
// CHECK: encoding: [0x0f,0x0b]
|
||
|
ud2a
|
||
|
|
||
|
// CHECK: ud2b
|
||
|
// CHECK: encoding: [0x0f,0xb9]
|
||
|
ud2b
|
||
|
|
||
|
// CHECK: loope 0
|
||
|
// CHECK: encoding: [0xe1,A]
|
||
|
loopz 0
|
||
|
|
||
|
// CHECK: loopne 0
|
||
|
// CHECK: encoding: [0xe0,A]
|
||
|
loopnz 0
|
||
|
|
||
|
// CHECK: outsb # encoding: [0x6e]
|
||
|
// CHECK: outsb
|
||
|
// CHECK: outsb
|
||
|
outsb
|
||
|
outsb %ds:(%si), %dx
|
||
|
outsb (%si), %dx
|
||
|
|
||
|
// CHECK: insb # encoding: [0x6c]
|
||
|
// CHECK: insb
|
||
|
insb
|
||
|
insb %dx, %es:(%di)
|
||
|
|
||
|
// CHECK: movsb # encoding: [0xa4]
|
||
|
// CHECK: movsb
|
||
|
// CHECK: movsb
|
||
|
movsb
|
||
|
movsb %ds:(%si), %es:(%di)
|
||
|
movsb (%si), %es:(%di)
|
||
|
|
||
|
// CHECK: lodsb # encoding: [0xac]
|
||
|
// CHECK: lodsb
|
||
|
// CHECK: lodsb
|
||
|
// CHECK: lodsb
|
||
|
// CHECK: lodsb
|
||
|
lodsb
|
||
|
lodsb %ds:(%si), %al
|
||
|
lodsb (%si), %al
|
||
|
lods %ds:(%si), %al
|
||
|
lods (%si), %al
|
||
|
|
||
|
// CHECK: stosb # encoding: [0xaa]
|
||
|
// CHECK: stosb
|
||
|
// CHECK: stosb
|
||
|
stosb
|
||
|
stosb %al, %es:(%di)
|
||
|
stos %al, %es:(%di)
|
||
|
|
||
|
// CHECK: fsubp
|
||
|
// CHECK: encoding: [0xde,0xe1]
|
||
|
fsubp %st,%st(1)
|
||
|
|
||
|
// CHECK: fsubp %st(2)
|
||
|
// CHECK: encoding: [0xde,0xe2]
|
||
|
fsubp %st, %st(2)
|
||
|
|