xref: /llvm-project/llvm/test/MC/Disassembler/X86/apx/kmov.txt (revision 70529b24a30943d46e361d2990268499921e28a2)
1# RUN: llvm-mc -triple x86_64 -disassemble %s | FileCheck %s --check-prefix=ATT
2# RUN: llvm-mc -triple x86_64 -disassemble -output-asm-variant=1 %s | FileCheck %s --check-prefix=INTEL
3
4# ATT:   {evex} kmovb	%k1, %k2
5# INTEL: {evex} kmovb	k2, k1
60x62,0xf1,0x7d,0x08,0x90,0xd1
7
8# ATT:   {evex} kmovw	%k1, %k2
9# INTEL: {evex} kmovw	k2, k1
100x62,0xf1,0x7c,0x08,0x90,0xd1
11
12# ATT:   {evex} kmovd	%k1, %k2
13# INTEL: {evex} kmovd	k2, k1
140x62,0xf1,0xfd,0x08,0x90,0xd1
15
16# ATT:   {evex} kmovq	%k1, %k2
17# INTEL: {evex} kmovq	k2, k1
180x62,0xf1,0xfc,0x08,0x90,0xd1
19
20# ATT:   kmovb	-16(%rax), %k0
21# INTEL: kmovb	k0, byte ptr [rax - 16]
220x62,0xf1,0x7d,0x08,0x90,0x40,0xf0
23
24# ATT:   kmovw	-16(%rax), %k0
25# INTEL: kmovw	k0, word ptr [rax - 16]
260x62,0xf1,0x7c,0x08,0x90,0x40,0xf0
27
28# ATT:   kmovd	-16(%rax), %k0
29# INTEL: kmovd	k0, dword ptr [rax - 16]
300x62,0xf1,0xfd,0x08,0x90,0x40,0xf0
31
32# ATT:   kmovq	-16(%rax), %k0
33# INTEL: kmovq	k0, qword ptr [rax - 16]
340x62,0xf1,0xfc,0x08,0x90,0x40,0xf0
35
36# ATT-NOT: {evex}
37# INTEL-NOT: {evex}
38
39# ATT:   kmovb	%r16d, %k1
40# INTEL: kmovb	k1, r16d
410x62,0xf9,0x7d,0x08,0x92,0xc8
42
43# ATT:   kmovw	%r16d, %k1
44# INTEL: kmovw	k1, r16d
450x62,0xf9,0x7c,0x08,0x92,0xc8
46
47# ATT:   kmovd	%r16d, %k1
48# INTEL: kmovd	k1, r16d
490x62,0xf9,0x7f,0x08,0x92,0xc8
50
51# ATT:   kmovq	%r16, %k1
52# INTEL: kmovq	k1, r16
530x62,0xf9,0xff,0x08,0x92,0xc8
54
55# ATT:   kmovb	%k1, %r16d
56# INTEL: kmovb	r16d, k1
570x62,0xe1,0x7d,0x08,0x93,0xc1
58
59# ATT:   kmovw	%k1, %r16d
60# INTEL: kmovw	r16d, k1
610x62,0xe1,0x7c,0x08,0x93,0xc1
62
63# ATT:   kmovd	%k1, %r16d
64# INTEL: kmovd	r16d, k1
650x62,0xe1,0x7f,0x08,0x93,0xc1
66
67# ATT:   kmovq	%k1, %r16
68# INTEL: kmovq	r16, k1
690x62,0xe1,0xff,0x08,0x93,0xc1
70
71# ATT:   kmovb	(%r16,%r17), %k1
72# INTEL: kmovb	k1, byte ptr [r16 + r17]
730x62,0xf9,0x79,0x08,0x90,0x0c,0x08
74
75# ATT:   kmovw	(%r16,%r17), %k1
76# INTEL: kmovw	k1, word ptr [r16 + r17]
770x62,0xf9,0x78,0x08,0x90,0x0c,0x08
78
79# ATT:   kmovd	(%r16,%r17), %k1
80# INTEL: kmovd	k1, dword ptr [r16 + r17]
810x62,0xf9,0xf9,0x08,0x90,0x0c,0x08
82
83# ATT:   kmovq	(%r16,%r17), %k1
84# INTEL: kmovq	k1, qword ptr [r16 + r17]
850x62,0xf9,0xf8,0x08,0x90,0x0c,0x08
86
87# ATT:   kmovb	%k1, (%r16,%r17)
88# INTEL: kmovb	byte ptr [r16 + r17], k1
890x62,0xf9,0x79,0x08,0x91,0x0c,0x08
90
91# ATT:   kmovw	%k1, (%r16,%r17)
92# INTEL: kmovw	word ptr [r16 + r17], k1
930x62,0xf9,0x78,0x08,0x91,0x0c,0x08
94
95# ATT:   kmovd	%k1, (%r16,%r17)
96# INTEL: kmovd	dword ptr [r16 + r17], k1
970x62,0xf9,0xf9,0x08,0x91,0x0c,0x08
98
99# ATT:   kmovq	%k1, (%r16,%r17)
100# INTEL: kmovq	qword ptr [r16 + r17], k1
1010x62,0xf9,0xf8,0x08,0x91,0x0c,0x08
102