# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s
# CHECK: {evex} kmovb k2, k1
# CHECK: encoding: [0x62,0xf1,0x7d,0x08,0x90,0xd1]
{evex} kmovb k2, k1
# CHECK: {evex} kmovw k2, k1
# CHECK: encoding: [0x62,0xf1,0x7c,0x08,0x90,0xd1]
{evex} kmovw k2, k1
# CHECK: {evex} kmovd k2, k1
# CHECK: encoding: [0x62,0xf1,0xfd,0x08,0x90,0xd1]
{evex} kmovd k2, k1
# CHECK: {evex} kmovq k2, k1
# CHECK: encoding: [0x62,0xf1,0xfc,0x08,0x90,0xd1]
{evex} kmovq k2, k1
# CHECK: {evex} kmovb k0, byte ptr [rax - 16]
# CHECK: encoding: [0x62,0xf1,0x7d,0x08,0x90,0x40,0xf0]
{evex} kmovb k0, byte ptr [rax - 0x10]
# CHECK: {evex} kmovw k0, word ptr [rax - 16]
# CHECK: encoding: [0x62,0xf1,0x7c,0x08,0x90,0x40,0xf0]
{evex} kmovw k0, word ptr [rax - 0x10]
# CHECK: {evex} kmovd k0, dword ptr [rax - 16]
# CHECK: encoding: [0x62,0xf1,0xfd,0x08,0x90,0x40,0xf0]
{evex} kmovd k0, dword ptr [rax - 0x10]
# CHECK: {evex} kmovq k0, qword ptr [rax - 16]
# CHECK: encoding: [0x62,0xf1,0xfc,0x08,0x90,0x40,0xf0]
{evex} kmovq k0, qword ptr [rax - 0x10]
# CHECK-NOT: {evex}
# CHECK: kmovb k1, r16d
# CHECK: encoding: [0x62,0xf9,0x7d,0x08,0x92,0xc8]
kmovb k1, r16d
# CHECK: kmovw k1, r16d
# CHECK: encoding: [0x62,0xf9,0x7c,0x08,0x92,0xc8]
kmovw k1, r16d
# CHECK: kmovd k1, r16d
# CHECK: encoding: [0x62,0xf9,0x7f,0x08,0x92,0xc8]
kmovd k1, r16d
# CHECK: kmovq k1, r16
# CHECK: encoding: [0x62,0xf9,0xff,0x08,0x92,0xc8]
kmovq k1, r16
# CHECK: kmovb r16d, k1
# CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x93,0xc1]
kmovb r16d, k1
# CHECK: kmovw r16d, k1
# CHECK: encoding: [0x62,0xe1,0x7c,0x08,0x93,0xc1]
kmovw r16d, k1
# CHECK: kmovd r16d, k1
# CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x93,0xc1]
kmovd r16d, k1
# CHECK: kmovq r16, k1
# CHECK: encoding: [0x62,0xe1,0xff,0x08,0x93,0xc1]
kmovq r16, k1
# CHECK: kmovb k1, byte ptr [r16 + r17]
# CHECK: encoding: [0x62,0xf9,0x79,0x08,0x90,0x0c,0x08]
kmovb k1, byte ptr [r16 + r17]
# CHECK: kmovw k1, word ptr [r16 + r17]
# CHECK: encoding: [0x62,0xf9,0x78,0x08,0x90,0x0c,0x08]
kmovw k1, word ptr [r16 + r17]
# CHECK: kmovd k1, dword ptr [r16 + r17]
# CHECK: encoding: [0x62,0xf9,0xf9,0x08,0x90,0x0c,0x08]
kmovd k1, dword ptr [r16 + r17]
# CHECK: kmovq k1, qword ptr [r16 + r17]
# CHECK: encoding: [0x62,0xf9,0xf8,0x08,0x90,0x0c,0x08]
kmovq k1, qword ptr [r16 + r17]
# CHECK: kmovb byte ptr [r16 + r17], k1
# CHECK: encoding: [0x62,0xf9,0x79,0x08,0x91,0x0c,0x08]
kmovb byte ptr [r16 + r17], k1
# CHECK: kmovw word ptr [r16 + r17], k1
# CHECK: encoding: [0x62,0xf9,0x78,0x08,0x91,0x0c,0x08]
kmovw word ptr [r16 + r17], k1
# CHECK: kmovd dword ptr [r16 + r17], k1
# CHECK: encoding: [0x62,0xf9,0xf9,0x08,0x91,0x0c,0x08]
kmovd dword ptr [r16 + r17], k1
# CHECK: kmovq qword ptr [r16 + r17], k1
# CHECK: encoding: [0x62,0xf9,0xf8,0x08,0x91,0x0c,0x08]
kmovq qword ptr [r16 + r17], k1