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