xref: /llvm-project/llvm/test/MC/X86/apx/kmov-intel.s (revision 0d334d83a4c7ce16fa1bc0e5e56bbdeaf01c2b2d)
1511ba45aSShengchen Kan# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s
2511ba45aSShengchen Kan
30e163e75SShengchen Kan# CHECK: {evex}	kmovb	k2, k1
40e163e75SShengchen Kan# CHECK: encoding: [0x62,0xf1,0x7d,0x08,0x90,0xd1]
50e163e75SShengchen Kan         {evex}	kmovb	k2, k1
60e163e75SShengchen Kan# CHECK: {evex}	kmovw	k2, k1
70e163e75SShengchen Kan# CHECK: encoding: [0x62,0xf1,0x7c,0x08,0x90,0xd1]
80e163e75SShengchen Kan         {evex}	kmovw	k2, k1
90e163e75SShengchen Kan# CHECK: {evex}	kmovd	k2, k1
100e163e75SShengchen Kan# CHECK: encoding: [0x62,0xf1,0xfd,0x08,0x90,0xd1]
110e163e75SShengchen Kan         {evex}	kmovd	k2, k1
120e163e75SShengchen Kan# CHECK: {evex}	kmovq	k2, k1
130e163e75SShengchen Kan# CHECK: encoding: [0x62,0xf1,0xfc,0x08,0x90,0xd1]
140e163e75SShengchen Kan         {evex}	kmovq	k2, k1
15*0d334d83SPhoebe Wang# CHECK: {evex} kmovb   k0, byte ptr [rax - 16]
16*0d334d83SPhoebe Wang# CHECK: encoding: [0x62,0xf1,0x7d,0x08,0x90,0x40,0xf0]
17*0d334d83SPhoebe Wang         {evex} kmovb   k0, byte ptr [rax - 0x10]
18*0d334d83SPhoebe Wang# CHECK: {evex} kmovw   k0, word ptr [rax - 16]
19*0d334d83SPhoebe Wang# CHECK: encoding: [0x62,0xf1,0x7c,0x08,0x90,0x40,0xf0]
20*0d334d83SPhoebe Wang         {evex} kmovw   k0, word ptr [rax - 0x10]
21*0d334d83SPhoebe Wang# CHECK: {evex} kmovd   k0, dword ptr [rax - 16]
22*0d334d83SPhoebe Wang# CHECK: encoding: [0x62,0xf1,0xfd,0x08,0x90,0x40,0xf0]
23*0d334d83SPhoebe Wang         {evex} kmovd   k0, dword ptr [rax - 0x10]
24*0d334d83SPhoebe Wang# CHECK: {evex} kmovq   k0, qword ptr [rax - 16]
25*0d334d83SPhoebe Wang# CHECK: encoding: [0x62,0xf1,0xfc,0x08,0x90,0x40,0xf0]
26*0d334d83SPhoebe Wang         {evex} kmovq   k0, qword ptr [rax - 0x10]
270e163e75SShengchen Kan
280e163e75SShengchen Kan# CHECK-NOT: {evex}
290e163e75SShengchen Kan
30511ba45aSShengchen Kan# CHECK: kmovb	k1, r16d
31511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0x7d,0x08,0x92,0xc8]
32511ba45aSShengchen Kan         kmovb	k1, r16d
33511ba45aSShengchen Kan# CHECK: kmovw	k1, r16d
34511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0x7c,0x08,0x92,0xc8]
35511ba45aSShengchen Kan         kmovw	k1, r16d
36511ba45aSShengchen Kan# CHECK: kmovd	k1, r16d
37511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0x7f,0x08,0x92,0xc8]
38511ba45aSShengchen Kan         kmovd	k1, r16d
39511ba45aSShengchen Kan# CHECK: kmovq	k1, r16
40511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0xff,0x08,0x92,0xc8]
41511ba45aSShengchen Kan         kmovq	k1, r16
42511ba45aSShengchen Kan
43511ba45aSShengchen Kan# CHECK: kmovb	r16d, k1
44511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x93,0xc1]
45511ba45aSShengchen Kan         kmovb	r16d, k1
46511ba45aSShengchen Kan# CHECK: kmovw	r16d, k1
47511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xe1,0x7c,0x08,0x93,0xc1]
48511ba45aSShengchen Kan         kmovw	r16d, k1
49511ba45aSShengchen Kan# CHECK: kmovd	r16d, k1
50511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x93,0xc1]
51511ba45aSShengchen Kan         kmovd	r16d, k1
52511ba45aSShengchen Kan# CHECK: kmovq	r16, k1
53511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xe1,0xff,0x08,0x93,0xc1]
54511ba45aSShengchen Kan         kmovq	r16, k1
55511ba45aSShengchen Kan
56511ba45aSShengchen Kan# CHECK: kmovb	k1, byte ptr [r16 + r17]
57511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0x79,0x08,0x90,0x0c,0x08]
58511ba45aSShengchen Kan         kmovb	k1, byte ptr [r16 + r17]
59511ba45aSShengchen Kan# CHECK: kmovw	k1, word ptr [r16 + r17]
60511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0x78,0x08,0x90,0x0c,0x08]
61511ba45aSShengchen Kan         kmovw	k1, word ptr [r16 + r17]
62511ba45aSShengchen Kan# CHECK: kmovd	k1, dword ptr [r16 + r17]
63511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0xf9,0x08,0x90,0x0c,0x08]
64511ba45aSShengchen Kan         kmovd	k1, dword ptr [r16 + r17]
65511ba45aSShengchen Kan# CHECK: kmovq	k1, qword ptr [r16 + r17]
66511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0xf8,0x08,0x90,0x0c,0x08]
67511ba45aSShengchen Kan         kmovq	k1, qword ptr [r16 + r17]
68511ba45aSShengchen Kan
69511ba45aSShengchen Kan# CHECK: kmovb	byte ptr [r16 + r17], k1
70511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0x79,0x08,0x91,0x0c,0x08]
71511ba45aSShengchen Kan         kmovb	byte ptr [r16 + r17], k1
72511ba45aSShengchen Kan# CHECK: kmovw	word ptr [r16 + r17], k1
73511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0x78,0x08,0x91,0x0c,0x08]
74511ba45aSShengchen Kan         kmovw	word ptr [r16 + r17], k1
75511ba45aSShengchen Kan# CHECK: kmovd	dword ptr [r16 + r17], k1
76511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0xf9,0x08,0x91,0x0c,0x08]
77511ba45aSShengchen Kan         kmovd	dword ptr [r16 + r17], k1
78511ba45aSShengchen Kan# CHECK: kmovq	qword ptr [r16 + r17], k1
79511ba45aSShengchen Kan# CHECK: encoding: [0x62,0xf9,0xf8,0x08,0x91,0x0c,0x08]
80511ba45aSShengchen Kan         kmovq	qword ptr [r16 + r17], k1
81