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