// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx --show-encoding %s | FileCheck %s // CHECK: vmovdqu8 %zmm19, %zmm29 // CHECK: encoding: [0x62,0x21,0x7f,0x48,0x6f,0xeb] vmovdqu8 %zmm19, %zmm29 // CHECK: vmovdqu8 %zmm19, %zmm29 {%k7} // CHECK: encoding: [0x62,0x21,0x7f,0x4f,0x6f,0xeb] vmovdqu8 %zmm19, %zmm29 {%k7} // CHECK: vmovdqu8 %zmm19, %zmm29 {%k7} {z} // CHECK: encoding: [0x62,0x21,0x7f,0xcf,0x6f,0xeb] vmovdqu8 %zmm19, %zmm29 {%k7} {z} // CHECK: vmovdqu8 (%rcx), %zmm29 // CHECK: encoding: [0x62,0x61,0x7f,0x48,0x6f,0x29] vmovdqu8 (%rcx), %zmm29 // CHECK: vmovdqu8 291(%rax,%r14,8), %zmm29 // CHECK: encoding: [0x62,0x21,0x7f,0x48,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00] vmovdqu8 291(%rax,%r14,8), %zmm29 // CHECK: vmovdqu8 8128(%rdx), %zmm29 // CHECK: encoding: [0x62,0x61,0x7f,0x48,0x6f,0x6a,0x7f] vmovdqu8 8128(%rdx), %zmm29 // CHECK: vmovdqu8 8192(%rdx), %zmm29 // CHECK: encoding: [0x62,0x61,0x7f,0x48,0x6f,0xaa,0x00,0x20,0x00,0x00] vmovdqu8 8192(%rdx), %zmm29 // CHECK: vmovdqu8 -8192(%rdx), %zmm29 // CHECK: encoding: [0x62,0x61,0x7f,0x48,0x6f,0x6a,0x80] vmovdqu8 -8192(%rdx), %zmm29 // CHECK: vmovdqu8 -8256(%rdx), %zmm29 // CHECK: encoding: [0x62,0x61,0x7f,0x48,0x6f,0xaa,0xc0,0xdf,0xff,0xff] vmovdqu8 -8256(%rdx), %zmm29 // CHECK: vmovdqu16 %zmm18, %zmm17 // CHECK: encoding: [0x62,0xa1,0xff,0x48,0x6f,0xca] vmovdqu16 %zmm18, %zmm17 // CHECK: vmovdqu16 %zmm18, %zmm17 {%k3} // CHECK: encoding: [0x62,0xa1,0xff,0x4b,0x6f,0xca] vmovdqu16 %zmm18, %zmm17 {%k3} // CHECK: vmovdqu16 %zmm18, %zmm17 {%k3} {z} // CHECK: encoding: [0x62,0xa1,0xff,0xcb,0x6f,0xca] vmovdqu16 %zmm18, %zmm17 {%k3} {z} // CHECK: vmovdqu16 (%rcx), %zmm17 // CHECK: encoding: [0x62,0xe1,0xff,0x48,0x6f,0x09] vmovdqu16 (%rcx), %zmm17 // CHECK: vmovdqu16 291(%rax,%r14,8), %zmm17 // CHECK: encoding: [0x62,0xa1,0xff,0x48,0x6f,0x8c,0xf0,0x23,0x01,0x00,0x00] vmovdqu16 291(%rax,%r14,8), %zmm17 // CHECK: vmovdqu16 8128(%rdx), %zmm17 // CHECK: encoding: [0x62,0xe1,0xff,0x48,0x6f,0x4a,0x7f] vmovdqu16 8128(%rdx), %zmm17 // CHECK: vmovdqu16 8192(%rdx), %zmm17 // CHECK: encoding: [0x62,0xe1,0xff,0x48,0x6f,0x8a,0x00,0x20,0x00,0x00] vmovdqu16 8192(%rdx), %zmm17 // CHECK: vmovdqu16 -8192(%rdx), %zmm17 // CHECK: encoding: [0x62,0xe1,0xff,0x48,0x6f,0x4a,0x80] vmovdqu16 -8192(%rdx), %zmm17 // CHECK: vmovdqu16 -8256(%rdx), %zmm17 // CHECK: encoding: [0x62,0xe1,0xff,0x48,0x6f,0x8a,0xc0,0xdf,0xff,0xff] vmovdqu16 -8256(%rdx), %zmm17 // CHECK: kandq %k7, %k5, %k5 // CHECK: encoding: [0xc4,0xe1,0xd4,0x41,0xef] kandq %k7, %k5, %k5 // CHECK: kandd %k4, %k5, %k5 // CHECK: encoding: [0xc4,0xe1,0xd5,0x41,0xec] kandd %k4, %k5, %k5 // CHECK: kandnq %k4, %k5, %k2 // CHECK: encoding: [0xc4,0xe1,0xd4,0x42,0xd4] kandnq %k4, %k5, %k2 // CHECK: kandnd %k6, %k6, %k3 // CHECK: encoding: [0xc4,0xe1,0xcd,0x42,0xde] kandnd %k6, %k6, %k3 // CHECK: korq %k4, %k5, %k4 // CHECK: encoding: [0xc4,0xe1,0xd4,0x45,0xe4] korq %k4, %k5, %k4 // CHECK: kord %k6, %k6, %k5 // CHECK: encoding: [0xc4,0xe1,0xcd,0x45,0xee] kord %k6, %k6, %k5 // CHECK: kxnorq %k6, %k5, %k2 // CHECK: encoding: [0xc4,0xe1,0xd4,0x46,0xd6] kxnorq %k6, %k5, %k2 // CHECK: kxnord %k5, %k3, %k5 // CHECK: encoding: [0xc4,0xe1,0xe5,0x46,0xed] kxnord %k5, %k3, %k5 // CHECK: kxorq %k4, %k3, %k2 // CHECK: encoding: [0xc4,0xe1,0xe4,0x47,0xd4] kxorq %k4, %k3, %k2 // CHECK: kxord %k6, %k5, %k2 // CHECK: encoding: [0xc4,0xe1,0xd5,0x47,0xd6] kxord %k6, %k5, %k2 // CHECK: knotq %k6, %k3 // CHECK: encoding: [0xc4,0xe1,0xf8,0x44,0xde] knotq %k6, %k3 // CHECK: knotd %k4, %k3 // CHECK: encoding: [0xc4,0xe1,0xf9,0x44,0xdc] knotd %k4, %k3 // CHECK: kmovq %k5, %k2 // CHECK: encoding: [0xc4,0xe1,0xf8,0x90,0xd5] kmovq %k5, %k2 // CHECK: kmovq (%rcx), %k2 // CHECK: encoding: [0xc4,0xe1,0xf8,0x90,0x11] kmovq (%rcx), %k2 // CHECK: kmovq 291(%rax,%r14,8), %k2 // CHECK: encoding: [0xc4,0xa1,0xf8,0x90,0x94,0xf0,0x23,0x01,0x00,0x00] kmovq 291(%rax,%r14,8), %k2 // CHECK: kmovd %k4, %k5 // CHECK: encoding: [0xc4,0xe1,0xf9,0x90,0xec] kmovd %k4, %k5 // CHECK: kmovd (%rcx), %k5 // CHECK: encoding: [0xc4,0xe1,0xf9,0x90,0x29] kmovd (%rcx), %k5 // CHECK: kmovd 291(%rax,%r14,8), %k5 // CHECK: encoding: [0xc4,0xa1,0xf9,0x90,0xac,0xf0,0x23,0x01,0x00,0x00] kmovd 291(%rax,%r14,8), %k5 // CHECK: kmovq %k3, (%rcx) // CHECK: encoding: [0xc4,0xe1,0xf8,0x91,0x19] kmovq %k3, (%rcx) // CHECK: kmovq %k3, 291(%rax,%r14,8) // CHECK: encoding: [0xc4,0xa1,0xf8,0x91,0x9c,0xf0,0x23,0x01,0x00,0x00] kmovq %k3, 291(%rax,%r14,8) // CHECK: kmovd %k3, (%rcx) // CHECK: encoding: [0xc4,0xe1,0xf9,0x91,0x19] kmovd %k3, (%rcx) // CHECK: kmovd %k3, 291(%rax,%r14,8) // CHECK: encoding: [0xc4,0xa1,0xf9,0x91,0x9c,0xf0,0x23,0x01,0x00,0x00] kmovd %k3, 291(%rax,%r14,8) // CHECK: kmovq %rax, %k2 // CHECK: encoding: [0xc4,0xe1,0xfb,0x92,0xd0] kmovq %rax, %k2 // CHECK: kmovq %r8, %k2 // CHECK: encoding: [0xc4,0xc1,0xfb,0x92,0xd0] kmovq %r8, %k2 // CHECK: kmovd %eax, %k4 // CHECK: encoding: [0xc5,0xfb,0x92,0xe0] kmovd %eax, %k4 // CHECK: kmovd %ebp, %k4 // CHECK: encoding: [0xc5,0xfb,0x92,0xe5] kmovd %ebp, %k4 // CHECK: kmovd %r13d, %k4 // CHECK: encoding: [0xc4,0xc1,0x7b,0x92,0xe5] kmovd %r13d, %k4 // CHECK: kmovq %k3, %rax // CHECK: encoding: [0xc4,0xe1,0xfb,0x93,0xc3] kmovq %k3, %rax // CHECK: kmovq %k3, %r8 // CHECK: encoding: [0xc4,0x61,0xfb,0x93,0xc3] kmovq %k3, %r8 // CHECK: kmovd %k5, %eax // CHECK: encoding: [0xc5,0xfb,0x93,0xc5] kmovd %k5, %eax // CHECK: kmovd %k5, %ebp // CHECK: encoding: [0xc5,0xfb,0x93,0xed] kmovd %k5, %ebp // CHECK: kmovd %k5, %r13d // CHECK: encoding: [0xc5,0x7b,0x93,0xed] kmovd %k5, %r13d // CHECK: vmovdqu8 %zmm18, (%rcx) // CHECK: encoding: [0x62,0xe1,0x7f,0x48,0x7f,0x11] vmovdqu8 %zmm18, (%rcx) // CHECK: vmovdqu8 %zmm18, (%rcx) {%k3} // CHECK: encoding: [0x62,0xe1,0x7f,0x4b,0x7f,0x11] vmovdqu8 %zmm18, (%rcx) {%k3} // CHECK: vmovdqu8 %zmm18, 291(%rax,%r14,8) // CHECK: encoding: [0x62,0xa1,0x7f,0x48,0x7f,0x94,0xf0,0x23,0x01,0x00,0x00] vmovdqu8 %zmm18, 291(%rax,%r14,8) // CHECK: vmovdqu8 %zmm18, 8128(%rdx) // CHECK: encoding: [0x62,0xe1,0x7f,0x48,0x7f,0x52,0x7f] vmovdqu8 %zmm18, 8128(%rdx) // CHECK: vmovdqu8 %zmm18, 8192(%rdx) // CHECK: encoding: [0x62,0xe1,0x7f,0x48,0x7f,0x92,0x00,0x20,0x00,0x00] vmovdqu8 %zmm18, 8192(%rdx) // CHECK: vmovdqu8 %zmm18, -8192(%rdx) // CHECK: encoding: [0x62,0xe1,0x7f,0x48,0x7f,0x52,0x80] vmovdqu8 %zmm18, -8192(%rdx) // CHECK: vmovdqu8 %zmm18, -8256(%rdx) // CHECK: encoding: [0x62,0xe1,0x7f,0x48,0x7f,0x92,0xc0,0xdf,0xff,0xff] vmovdqu8 %zmm18, -8256(%rdx) // CHECK: vmovdqu16 %zmm28, (%rcx) // CHECK: encoding: [0x62,0x61,0xff,0x48,0x7f,0x21] vmovdqu16 %zmm28, (%rcx) // CHECK: vmovdqu16 %zmm28, (%rcx) {%k6} // CHECK: encoding: [0x62,0x61,0xff,0x4e,0x7f,0x21] vmovdqu16 %zmm28, (%rcx) {%k6} // CHECK: vmovdqu16 %zmm28, 291(%rax,%r14,8) // CHECK: encoding: [0x62,0x21,0xff,0x48,0x7f,0xa4,0xf0,0x23,0x01,0x00,0x00] vmovdqu16 %zmm28, 291(%rax,%r14,8) // CHECK: vmovdqu16 %zmm28, 8128(%rdx) // CHECK: encoding: [0x62,0x61,0xff,0x48,0x7f,0x62,0x7f] vmovdqu16 %zmm28, 8128(%rdx) // CHECK: vmovdqu16 %zmm28, 8192(%rdx) // CHECK: encoding: [0x62,0x61,0xff,0x48,0x7f,0xa2,0x00,0x20,0x00,0x00] vmovdqu16 %zmm28, 8192(%rdx) // CHECK: vmovdqu16 %zmm28, -8192(%rdx) // CHECK: encoding: [0x62,0x61,0xff,0x48,0x7f,0x62,0x80] vmovdqu16 %zmm28, -8192(%rdx) // CHECK: vmovdqu16 %zmm28, -8256(%rdx) // CHECK: encoding: [0x62,0x61,0xff,0x48,0x7f,0xa2,0xc0,0xdf,0xff,0xff] vmovdqu16 %zmm28, -8256(%rdx)