| # RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s |
| # RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR |
| |
| # ERROR-COUNT-24: error: |
| # ERROR-NOT: error: |
| # CHECK: {evex} kmovb %k1, %k2 |
| # CHECK: encoding: [0x62,0xf1,0x7d,0x08,0x90,0xd1] |
| {evex} kmovb %k1, %k2 |
| # CHECK: {evex} kmovw %k1, %k2 |
| # CHECK: encoding: [0x62,0xf1,0x7c,0x08,0x90,0xd1] |
| {evex} kmovw %k1, %k2 |
| # CHECK: {evex} kmovd %k1, %k2 |
| # CHECK: encoding: [0x62,0xf1,0xfd,0x08,0x90,0xd1] |
| {evex} kmovd %k1, %k2 |
| # CHECK: {evex} kmovq %k1, %k2 |
| # CHECK: encoding: [0x62,0xf1,0xfc,0x08,0x90,0xd1] |
| {evex} kmovq %k1, %k2 |
| # CHECK: {evex} kmovb -16(%rax), %k0 |
| # CHECK: encoding: [0x62,0xf1,0x7d,0x08,0x90,0x40,0xf0] |
| {evex} kmovb -0x10(%rax), %k0 |
| # CHECK: {evex} kmovw -16(%rax), %k0 |
| # CHECK: encoding: [0x62,0xf1,0x7c,0x08,0x90,0x40,0xf0] |
| {evex} kmovw -0x10(%rax), %k0 |
| # CHECK: {evex} kmovd -16(%rax), %k0 |
| # CHECK: encoding: [0x62,0xf1,0xfd,0x08,0x90,0x40,0xf0] |
| {evex} kmovd -0x10(%rax), %k0 |
| # CHECK: {evex} kmovq -16(%rax), %k0 |
| # CHECK: encoding: [0x62,0xf1,0xfc,0x08,0x90,0x40,0xf0] |
| {evex} kmovq -0x10(%rax), %k0 |
| |
| # CHECK-NOT: {evex} |
| |
| # CHECK: kmovb %r16d, %k1 |
| # CHECK: encoding: [0x62,0xf9,0x7d,0x08,0x92,0xc8] |
| kmovb %r16d, %k1 |
| # CHECK: kmovw %r16d, %k1 |
| # CHECK: encoding: [0x62,0xf9,0x7c,0x08,0x92,0xc8] |
| kmovw %r16d, %k1 |
| # CHECK: kmovd %r16d, %k1 |
| # CHECK: encoding: [0x62,0xf9,0x7f,0x08,0x92,0xc8] |
| kmovd %r16d, %k1 |
| # CHECK: kmovq %r16, %k1 |
| # CHECK: encoding: [0x62,0xf9,0xff,0x08,0x92,0xc8] |
| kmovq %r16, %k1 |
| |
| # CHECK: kmovb %k1, %r16d |
| # CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x93,0xc1] |
| kmovb %k1, %r16d |
| # CHECK: kmovw %k1, %r16d |
| # CHECK: encoding: [0x62,0xe1,0x7c,0x08,0x93,0xc1] |
| kmovw %k1, %r16d |
| # CHECK: kmovd %k1, %r16d |
| # CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x93,0xc1] |
| kmovd %k1, %r16d |
| # CHECK: kmovq %k1, %r16 |
| # CHECK: encoding: [0x62,0xe1,0xff,0x08,0x93,0xc1] |
| kmovq %k1, %r16 |
| |
| # CHECK: kmovb (%r16,%r17), %k1 |
| # CHECK: encoding: [0x62,0xf9,0x79,0x08,0x90,0x0c,0x08] |
| kmovb (%r16,%r17), %k1 |
| # CHECK: kmovw (%r16,%r17), %k1 |
| # CHECK: encoding: [0x62,0xf9,0x78,0x08,0x90,0x0c,0x08] |
| kmovw (%r16,%r17), %k1 |
| # CHECK: kmovd (%r16,%r17), %k1 |
| # CHECK: encoding: [0x62,0xf9,0xf9,0x08,0x90,0x0c,0x08] |
| kmovd (%r16,%r17), %k1 |
| # CHECK: kmovq (%r16,%r17), %k1 |
| # CHECK: encoding: [0x62,0xf9,0xf8,0x08,0x90,0x0c,0x08] |
| kmovq (%r16,%r17), %k1 |
| |
| # CHECK: kmovb %k1, (%r16,%r17) |
| # CHECK: encoding: [0x62,0xf9,0x79,0x08,0x91,0x0c,0x08] |
| kmovb %k1, (%r16,%r17) |
| # CHECK: kmovw %k1, (%r16,%r17) |
| # CHECK: encoding: [0x62,0xf9,0x78,0x08,0x91,0x0c,0x08] |
| kmovw %k1, (%r16,%r17) |
| # CHECK: kmovd %k1, (%r16,%r17) |
| # CHECK: encoding: [0x62,0xf9,0xf9,0x08,0x91,0x0c,0x08] |
| kmovd %k1, (%r16,%r17) |
| # CHECK: kmovq %k1, (%r16,%r17) |
| # CHECK: encoding: [0x62,0xf9,0xf8,0x08,0x91,0x0c,0x08] |
| kmovq %k1, (%r16,%r17) |