343 lines
7.5 KiB
ArmAsm
343 lines
7.5 KiB
ArmAsm
# RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s
|
|
|
|
## AddRegFrm
|
|
|
|
# CHECK: movl $1, %r16d
|
|
# CHECK: encoding: [0xd5,0x10,0xb8,0x01,0x00,0x00,0x00]
|
|
movl $1, %r16d
|
|
|
|
## MRMSrcReg
|
|
|
|
# CHECK: movslq %r16d, %rax
|
|
# CHECK: encoding: [0xd5,0x18,0x63,0xc0]
|
|
movslq %r16d, %rax
|
|
|
|
# CHECK: movslq %eax, %r16
|
|
# CHECK: encoding: [0xd5,0x48,0x63,0xc0]
|
|
movslq %eax, %r16
|
|
|
|
# CHECK: movslq %r16d, %r17
|
|
# CHECK: encoding: [0xd5,0x58,0x63,0xc8]
|
|
movslq %r16d, %r17
|
|
|
|
## MRMSrcRegCC
|
|
|
|
# CHECK: cmovll %r16d, %eax
|
|
# CHECK: encoding: [0xd5,0x90,0x4c,0xc0]
|
|
cmovll %r16d, %eax
|
|
|
|
# CHECK: cmovll %eax, %r16d
|
|
# CHECK: encoding: [0xd5,0xc0,0x4c,0xc0]
|
|
cmovll %eax, %r16d
|
|
|
|
# CHECK: cmovll %r16d, %r17d
|
|
# CHECK: encoding: [0xd5,0xd0,0x4c,0xc8]
|
|
cmovll %r16d, %r17d
|
|
|
|
## MRMSrcMem
|
|
|
|
# CHECK: imull (%r16,%rax), %ebx
|
|
# CHECK: encoding: [0xd5,0x90,0xaf,0x1c,0x00]
|
|
imull (%r16,%rax), %ebx
|
|
|
|
# CHECK: imull (%rax,%r16), %ebx
|
|
# CHECK: encoding: [0xd5,0xa0,0xaf,0x1c,0x00]
|
|
imull (%rax,%r16), %ebx
|
|
|
|
# CHECK: imull (%rax,%rbx), %r16d
|
|
# CHECK: encoding: [0xd5,0xc0,0xaf,0x04,0x18]
|
|
imull (%rax,%rbx), %r16d
|
|
|
|
# CHECK: imull (%r16,%r17), %eax
|
|
# CHECK: encoding: [0xd5,0xb0,0xaf,0x04,0x08]
|
|
imull (%r16,%r17), %eax
|
|
|
|
# CHECK: imull (%rax,%r16), %r17d
|
|
# CHECK: encoding: [0xd5,0xe0,0xaf,0x0c,0x00]
|
|
imull (%rax,%r16), %r17d
|
|
|
|
# CHECK: imull (%r16,%rax), %r17d
|
|
# CHECK: encoding: [0xd5,0xd0,0xaf,0x0c,0x00]
|
|
imull (%r16,%rax), %r17d
|
|
|
|
# CHECK: imull (%r16,%r17), %r18d
|
|
# CHECK: encoding: [0xd5,0xf0,0xaf,0x14,0x08]
|
|
imull (%r16,%r17), %r18d
|
|
|
|
## MRMSrcMemCC
|
|
|
|
# CHECK: cmovll (%r16,%rax), %ebx
|
|
# CHECK: encoding: [0xd5,0x90,0x4c,0x1c,0x00]
|
|
cmovll (%r16,%rax), %ebx
|
|
|
|
# CHECK: cmovll (%rax,%r16), %ebx
|
|
# CHECK: encoding: [0xd5,0xa0,0x4c,0x1c,0x00]
|
|
cmovll (%rax,%r16), %ebx
|
|
|
|
# CHECK: cmovll (%rax,%rbx), %r16d
|
|
# CHECK: encoding: [0xd5,0xc0,0x4c,0x04,0x18]
|
|
cmovll (%rax,%rbx), %r16d
|
|
|
|
# CHECK: cmovll (%r16,%r17), %eax
|
|
# CHECK: encoding: [0xd5,0xb0,0x4c,0x04,0x08]
|
|
cmovll (%r16,%r17), %eax
|
|
|
|
# CHECK: cmovll (%rax,%r16), %r17d
|
|
# CHECK: encoding: [0xd5,0xe0,0x4c,0x0c,0x00]
|
|
cmovll (%rax,%r16), %r17d
|
|
|
|
# CHECK: cmovll (%r16,%rax), %r17d
|
|
# CHECK: encoding: [0xd5,0xd0,0x4c,0x0c,0x00]
|
|
cmovll (%r16,%rax), %r17d
|
|
|
|
# CHECK: cmovll (%r16,%r17), %r18d
|
|
# CHECK: encoding: [0xd5,0xf0,0x4c,0x14,0x08]
|
|
cmovll (%r16,%r17), %r18d
|
|
|
|
## MRMDestReg
|
|
|
|
# CHECK: movl %eax, %r16d
|
|
# CHECK: encoding: [0xd5,0x10,0x89,0xc0]
|
|
movl %eax, %r16d
|
|
|
|
# CHECK: movl %r16d, %eax
|
|
# CHECK: encoding: [0xd5,0x40,0x89,0xc0]
|
|
movl %r16d, %eax
|
|
|
|
# CHECK: movl %r16d, %r17d
|
|
# CHECK: encoding: [0xd5,0x50,0x89,0xc1]
|
|
movl %r16d, %r17d
|
|
|
|
## MRMDestMem
|
|
|
|
# CHECK: movl %ebx, (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x10,0x89,0x1c,0x00]
|
|
movl %ebx, (%r16,%rax)
|
|
|
|
# CHECK: movl %ebx, (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0x20,0x89,0x1c,0x00]
|
|
movl %ebx, (%rax,%r16)
|
|
|
|
# CHECK: movl %r16d, (%rax,%rbx)
|
|
# CHECK: encoding: [0xd5,0x40,0x89,0x04,0x18]
|
|
movl %r16d, (%rax,%rbx)
|
|
|
|
# CHECK: movl %eax, (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0x30,0x89,0x04,0x08]
|
|
movl %eax, (%r16,%r17)
|
|
|
|
# CHECK: movl %r17d, (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0x60,0x89,0x0c,0x00]
|
|
movl %r17d, (%rax,%r16)
|
|
|
|
# CHECK: movl %r17d, (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x50,0x89,0x0c,0x00]
|
|
movl %r17d, (%r16,%rax)
|
|
|
|
# CHECK: movl %r18d, (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0x70,0x89,0x14,0x08]
|
|
movl %r18d, (%r16,%r17)
|
|
|
|
# CHECK: movb %bpl, (%r16,%r14)
|
|
# CHECK: encoding: [0xd5,0x12,0x88,0x2c,0x30]
|
|
movb %bpl, (%r16,%r14)
|
|
|
|
## MRMXmCC
|
|
|
|
# CHECK: sete (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0xa0,0x94,0x04,0x00]
|
|
sete (%rax,%r16)
|
|
|
|
# CHECK: sete (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x90,0x94,0x04,0x00]
|
|
sete (%r16,%rax)
|
|
|
|
# CHECK: sete (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0xb0,0x94,0x04,0x08]
|
|
sete (%r16,%r17)
|
|
|
|
## MRMXm
|
|
|
|
# CHECK: nopl (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0xa0,0x1f,0x04,0x00]
|
|
nopl (%rax,%r16)
|
|
|
|
# CHECK: nopl (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x90,0x1f,0x04,0x00]
|
|
nopl (%r16,%rax)
|
|
|
|
# CHECK: nopl (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0xb0,0x1f,0x04,0x08]
|
|
nopl (%r16,%r17)
|
|
|
|
## MRM0m
|
|
|
|
# CHECK: incl (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0x20,0xff,0x04,0x00]
|
|
incl (%rax,%r16)
|
|
|
|
# CHECK: incl (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x10,0xff,0x04,0x00]
|
|
incl (%r16,%rax)
|
|
|
|
# CHECK: incl (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0x30,0xff,0x04,0x08]
|
|
incl (%r16,%r17)
|
|
|
|
## MRM1m
|
|
|
|
# CHECK: decl (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0x20,0xff,0x0c,0x00]
|
|
decl (%rax,%r16)
|
|
|
|
# CHECK: decl (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x10,0xff,0x0c,0x00]
|
|
decl (%r16,%rax)
|
|
|
|
# CHECK: decl (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0x30,0xff,0x0c,0x08]
|
|
decl (%r16,%r17)
|
|
|
|
## MRM2m
|
|
|
|
# CHECK: notl (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0x20,0xf7,0x14,0x00]
|
|
notl (%rax,%r16)
|
|
|
|
# CHECK: notl (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0x14,0x00]
|
|
notl (%r16,%rax)
|
|
|
|
# CHECK: notl (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0x30,0xf7,0x14,0x08]
|
|
notl (%r16,%r17)
|
|
|
|
## MRM3m
|
|
|
|
# CHECK: negl (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0x20,0xf7,0x1c,0x00]
|
|
negl (%rax,%r16)
|
|
|
|
# CHECK: negl (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0x1c,0x00]
|
|
negl (%r16,%rax)
|
|
|
|
# CHECK: negl (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0x30,0xf7,0x1c,0x08]
|
|
negl (%r16,%r17)
|
|
|
|
## MRM4m
|
|
|
|
# CHECK: mull (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0x20,0xf7,0x24,0x00]
|
|
mull (%rax,%r16)
|
|
|
|
# CHECK: mull (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0x24,0x00]
|
|
mull (%r16,%rax)
|
|
|
|
# CHECK: mull (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0x30,0xf7,0x24,0x08]
|
|
mull (%r16,%r17)
|
|
|
|
## MRM5m
|
|
|
|
# CHECK: imull (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0x20,0xf7,0x2c,0x00]
|
|
imull (%rax,%r16)
|
|
|
|
# CHECK: imull (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0x2c,0x00]
|
|
imull (%r16,%rax)
|
|
|
|
# CHECK: imull (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0x30,0xf7,0x2c,0x08]
|
|
imull (%r16,%r17)
|
|
|
|
## MRM6m
|
|
|
|
# CHECK: divl (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0x20,0xf7,0x34,0x00]
|
|
divl (%rax,%r16)
|
|
|
|
# CHECK: divl (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0x34,0x00]
|
|
divl (%r16,%rax)
|
|
|
|
# CHECK: divl (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0x30,0xf7,0x34,0x08]
|
|
divl (%r16,%r17)
|
|
|
|
## MRM7m
|
|
|
|
# CHECK: idivl (%rax,%r16)
|
|
# CHECK: encoding: [0xd5,0x20,0xf7,0x3c,0x00]
|
|
idivl (%rax,%r16)
|
|
|
|
# CHECK: idivl (%r16,%rax)
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0x3c,0x00]
|
|
idivl (%r16,%rax)
|
|
|
|
# CHECK: idivl (%r16,%r17)
|
|
# CHECK: encoding: [0xd5,0x30,0xf7,0x3c,0x08]
|
|
idivl (%r16,%r17)
|
|
|
|
## MRMXrCC
|
|
|
|
# CHECK: sete %r16b
|
|
# CHECK: encoding: [0xd5,0x90,0x94,0xc0]
|
|
sete %r16b
|
|
|
|
## MRMXr
|
|
|
|
# CHECK: nopl %r16d
|
|
# CHECK: encoding: [0xd5,0x90,0x1f,0xc0]
|
|
nopl %r16d
|
|
|
|
## MRM0r
|
|
|
|
# CHECK: incl %r16d
|
|
# CHECK: encoding: [0xd5,0x10,0xff,0xc0]
|
|
incl %r16d
|
|
|
|
## MRM1r
|
|
|
|
# CHECK: decl %r16d
|
|
# CHECK: encoding: [0xd5,0x10,0xff,0xc8]
|
|
decl %r16d
|
|
|
|
## MRM2r
|
|
|
|
# CHECK: notl %r16d
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0xd0]
|
|
notl %r16d
|
|
|
|
## MRM3r
|
|
|
|
# CHECK: negl %r16d
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0xd8]
|
|
negl %r16d
|
|
|
|
## MRM4r
|
|
|
|
# CHECK: mull %r16d
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0xe0]
|
|
mull %r16d
|
|
|
|
## MRM5r
|
|
|
|
# CHECK: imull %r16d
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0xe8]
|
|
imull %r16d
|
|
|
|
## MRM6r
|
|
|
|
# CHECK: divl %r16d
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0xf0]
|
|
divl %r16d
|
|
|
|
## MRM7r
|
|
|
|
# CHECK: idivl %r16d
|
|
# CHECK: encoding: [0xd5,0x10,0xf7,0xf8]
|
|
idivl %r16d
|