1// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx --show-encoding %s | FileCheck %s 2 3// CHECK: vpblendmb %zmm25, %zmm18, %zmm17 4// CHECK: encoding: [0x62,0x82,0x6d,0x40,0x66,0xc9] 5 vpblendmb %zmm25, %zmm18, %zmm17 6 7// CHECK: vpblendmb %zmm25, %zmm18, %zmm17 {%k5} 8// CHECK: encoding: [0x62,0x82,0x6d,0x45,0x66,0xc9] 9 vpblendmb %zmm25, %zmm18, %zmm17 {%k5} 10 11// CHECK: vpblendmb %zmm25, %zmm18, %zmm17 {%k5} {z} 12// CHECK: encoding: [0x62,0x82,0x6d,0xc5,0x66,0xc9] 13 vpblendmb %zmm25, %zmm18, %zmm17 {%k5} {z} 14 15// CHECK: vpblendmb (%rcx), %zmm18, %zmm17 16// CHECK: encoding: [0x62,0xe2,0x6d,0x40,0x66,0x09] 17 vpblendmb (%rcx), %zmm18, %zmm17 18 19// CHECK: vpblendmb 291(%rax,%r14,8), %zmm18, %zmm17 20// CHECK: encoding: [0x62,0xa2,0x6d,0x40,0x66,0x8c,0xf0,0x23,0x01,0x00,0x00] 21 vpblendmb 291(%rax,%r14,8), %zmm18, %zmm17 22 23// CHECK: vpblendmb 8128(%rdx), %zmm18, %zmm17 24// CHECK: encoding: [0x62,0xe2,0x6d,0x40,0x66,0x4a,0x7f] 25 vpblendmb 8128(%rdx), %zmm18, %zmm17 26 27// CHECK: vpblendmb 8192(%rdx), %zmm18, %zmm17 28// CHECK: encoding: [0x62,0xe2,0x6d,0x40,0x66,0x8a,0x00,0x20,0x00,0x00] 29 vpblendmb 8192(%rdx), %zmm18, %zmm17 30 31// CHECK: vpblendmb -8192(%rdx), %zmm18, %zmm17 32// CHECK: encoding: [0x62,0xe2,0x6d,0x40,0x66,0x4a,0x80] 33 vpblendmb -8192(%rdx), %zmm18, %zmm17 34 35// CHECK: vpblendmb -8256(%rdx), %zmm18, %zmm17 36// CHECK: encoding: [0x62,0xe2,0x6d,0x40,0x66,0x8a,0xc0,0xdf,0xff,0xff] 37 vpblendmb -8256(%rdx), %zmm18, %zmm17 38 39// CHECK: vpblendmw %zmm17, %zmm20, %zmm26 40// CHECK: encoding: [0x62,0x22,0xdd,0x40,0x66,0xd1] 41 vpblendmw %zmm17, %zmm20, %zmm26 42 43// CHECK: vpblendmw %zmm17, %zmm20, %zmm26 {%k7} 44// CHECK: encoding: [0x62,0x22,0xdd,0x47,0x66,0xd1] 45 vpblendmw %zmm17, %zmm20, %zmm26 {%k7} 46 47// CHECK: vpblendmw %zmm17, %zmm20, %zmm26 {%k7} {z} 48// CHECK: encoding: [0x62,0x22,0xdd,0xc7,0x66,0xd1] 49 vpblendmw %zmm17, %zmm20, %zmm26 {%k7} {z} 50 51// CHECK: vpblendmw (%rcx), %zmm20, %zmm26 52// CHECK: encoding: [0x62,0x62,0xdd,0x40,0x66,0x11] 53 vpblendmw (%rcx), %zmm20, %zmm26 54 55// CHECK: vpblendmw 291(%rax,%r14,8), %zmm20, %zmm26 56// CHECK: encoding: [0x62,0x22,0xdd,0x40,0x66,0x94,0xf0,0x23,0x01,0x00,0x00] 57 vpblendmw 291(%rax,%r14,8), %zmm20, %zmm26 58 59// CHECK: vpblendmw 8128(%rdx), %zmm20, %zmm26 60// CHECK: encoding: [0x62,0x62,0xdd,0x40,0x66,0x52,0x7f] 61 vpblendmw 8128(%rdx), %zmm20, %zmm26 62 63// CHECK: vpblendmw 8192(%rdx), %zmm20, %zmm26 64// CHECK: encoding: [0x62,0x62,0xdd,0x40,0x66,0x92,0x00,0x20,0x00,0x00] 65 vpblendmw 8192(%rdx), %zmm20, %zmm26 66 67// CHECK: vpblendmw -8192(%rdx), %zmm20, %zmm26 68// CHECK: encoding: [0x62,0x62,0xdd,0x40,0x66,0x52,0x80] 69 vpblendmw -8192(%rdx), %zmm20, %zmm26 70 71// CHECK: vpblendmw -8256(%rdx), %zmm20, %zmm26 72// CHECK: encoding: [0x62,0x62,0xdd,0x40,0x66,0x92,0xc0,0xdf,0xff,0xff] 73 vpblendmw -8256(%rdx), %zmm20, %zmm26 74 75// CHECK: vptestmb %zmm19, %zmm17, %k5 76// CHECK: encoding: [0x62,0xb2,0x75,0x40,0x26,0xeb] 77 vptestmb %zmm19, %zmm17, %k5 78 79// CHECK: vptestmb %zmm19, %zmm17, %k5 {%k3} 80// CHECK: encoding: [0x62,0xb2,0x75,0x43,0x26,0xeb] 81 vptestmb %zmm19, %zmm17, %k5 {%k3} 82 83// CHECK: vptestmb (%rcx), %zmm17, %k5 84// CHECK: encoding: [0x62,0xf2,0x75,0x40,0x26,0x29] 85 vptestmb (%rcx), %zmm17, %k5 86 87// CHECK: vptestmb 291(%rax,%r14,8), %zmm17, %k5 88// CHECK: encoding: [0x62,0xb2,0x75,0x40,0x26,0xac,0xf0,0x23,0x01,0x00,0x00] 89 vptestmb 291(%rax,%r14,8), %zmm17, %k5 90 91// CHECK: vptestmb 8128(%rdx), %zmm17, %k5 92// CHECK: encoding: [0x62,0xf2,0x75,0x40,0x26,0x6a,0x7f] 93 vptestmb 8128(%rdx), %zmm17, %k5 94 95// CHECK: vptestmb 8192(%rdx), %zmm17, %k5 96// CHECK: encoding: [0x62,0xf2,0x75,0x40,0x26,0xaa,0x00,0x20,0x00,0x00] 97 vptestmb 8192(%rdx), %zmm17, %k5 98 99// CHECK: vptestmb -8192(%rdx), %zmm17, %k5 100// CHECK: encoding: [0x62,0xf2,0x75,0x40,0x26,0x6a,0x80] 101 vptestmb -8192(%rdx), %zmm17, %k5 102 103// CHECK: vptestmb -8256(%rdx), %zmm17, %k5 104// CHECK: encoding: [0x62,0xf2,0x75,0x40,0x26,0xaa,0xc0,0xdf,0xff,0xff] 105 vptestmb -8256(%rdx), %zmm17, %k5 106 107// CHECK: vptestmw %zmm19, %zmm29, %k4 108// CHECK: encoding: [0x62,0xb2,0x95,0x40,0x26,0xe3] 109 vptestmw %zmm19, %zmm29, %k4 110 111// CHECK: vptestmw %zmm19, %zmm29, %k4 {%k2} 112// CHECK: encoding: [0x62,0xb2,0x95,0x42,0x26,0xe3] 113 vptestmw %zmm19, %zmm29, %k4 {%k2} 114 115// CHECK: vptestmw (%rcx), %zmm29, %k4 116// CHECK: encoding: [0x62,0xf2,0x95,0x40,0x26,0x21] 117 vptestmw (%rcx), %zmm29, %k4 118 119// CHECK: vptestmw 291(%rax,%r14,8), %zmm29, %k4 120// CHECK: encoding: [0x62,0xb2,0x95,0x40,0x26,0xa4,0xf0,0x23,0x01,0x00,0x00] 121 vptestmw 291(%rax,%r14,8), %zmm29, %k4 122 123// CHECK: vptestmw 8128(%rdx), %zmm29, %k4 124// CHECK: encoding: [0x62,0xf2,0x95,0x40,0x26,0x62,0x7f] 125 vptestmw 8128(%rdx), %zmm29, %k4 126 127// CHECK: vptestmw 8192(%rdx), %zmm29, %k4 128// CHECK: encoding: [0x62,0xf2,0x95,0x40,0x26,0xa2,0x00,0x20,0x00,0x00] 129 vptestmw 8192(%rdx), %zmm29, %k4 130 131// CHECK: vptestmw -8192(%rdx), %zmm29, %k4 132// CHECK: encoding: [0x62,0xf2,0x95,0x40,0x26,0x62,0x80] 133 vptestmw -8192(%rdx), %zmm29, %k4 134 135// CHECK: vptestmw -8256(%rdx), %zmm29, %k4 136// CHECK: encoding: [0x62,0xf2,0x95,0x40,0x26,0xa2,0xc0,0xdf,0xff,0xff] 137 vptestmw -8256(%rdx), %zmm29, %k4 138 139// CHECK: vptestnmb %zmm23, %zmm24, %k2 140// CHECK: encoding: [0x62,0xb2,0x3e,0x40,0x26,0xd7] 141 vptestnmb %zmm23, %zmm24, %k2 142 143// CHECK: vptestnmb %zmm23, %zmm24, %k2 {%k7} 144// CHECK: encoding: [0x62,0xb2,0x3e,0x47,0x26,0xd7] 145 vptestnmb %zmm23, %zmm24, %k2 {%k7} 146 147// CHECK: vptestnmb (%rcx), %zmm24, %k2 148// CHECK: encoding: [0x62,0xf2,0x3e,0x40,0x26,0x11] 149 vptestnmb (%rcx), %zmm24, %k2 150 151// CHECK: vptestnmb 291(%rax,%r14,8), %zmm24, %k2 152// CHECK: encoding: [0x62,0xb2,0x3e,0x40,0x26,0x94,0xf0,0x23,0x01,0x00,0x00] 153 vptestnmb 291(%rax,%r14,8), %zmm24, %k2 154 155// CHECK: vptestnmb 8128(%rdx), %zmm24, %k2 156// CHECK: encoding: [0x62,0xf2,0x3e,0x40,0x26,0x52,0x7f] 157 vptestnmb 8128(%rdx), %zmm24, %k2 158 159// CHECK: vptestnmb 8192(%rdx), %zmm24, %k2 160// CHECK: encoding: [0x62,0xf2,0x3e,0x40,0x26,0x92,0x00,0x20,0x00,0x00] 161 vptestnmb 8192(%rdx), %zmm24, %k2 162 163// CHECK: vptestnmb -8192(%rdx), %zmm24, %k2 164// CHECK: encoding: [0x62,0xf2,0x3e,0x40,0x26,0x52,0x80] 165 vptestnmb -8192(%rdx), %zmm24, %k2 166 167// CHECK: vptestnmb -8256(%rdx), %zmm24, %k2 168// CHECK: encoding: [0x62,0xf2,0x3e,0x40,0x26,0x92,0xc0,0xdf,0xff,0xff] 169 vptestnmb -8256(%rdx), %zmm24, %k2 170 171// CHECK: vptestnmw %zmm27, %zmm18, %k4 172// CHECK: encoding: [0x62,0x92,0xee,0x40,0x26,0xe3] 173 vptestnmw %zmm27, %zmm18, %k4 174 175// CHECK: vptestnmw %zmm27, %zmm18, %k4 {%k5} 176// CHECK: encoding: [0x62,0x92,0xee,0x45,0x26,0xe3] 177 vptestnmw %zmm27, %zmm18, %k4 {%k5} 178 179// CHECK: vptestnmw (%rcx), %zmm18, %k4 180// CHECK: encoding: [0x62,0xf2,0xee,0x40,0x26,0x21] 181 vptestnmw (%rcx), %zmm18, %k4 182 183// CHECK: vptestnmw 291(%rax,%r14,8), %zmm18, %k4 184// CHECK: encoding: [0x62,0xb2,0xee,0x40,0x26,0xa4,0xf0,0x23,0x01,0x00,0x00] 185 vptestnmw 291(%rax,%r14,8), %zmm18, %k4 186 187// CHECK: vptestnmw 8128(%rdx), %zmm18, %k4 188// CHECK: encoding: [0x62,0xf2,0xee,0x40,0x26,0x62,0x7f] 189 vptestnmw 8128(%rdx), %zmm18, %k4 190 191// CHECK: vptestnmw 8192(%rdx), %zmm18, %k4 192// CHECK: encoding: [0x62,0xf2,0xee,0x40,0x26,0xa2,0x00,0x20,0x00,0x00] 193 vptestnmw 8192(%rdx), %zmm18, %k4 194 195// CHECK: vptestnmw -8192(%rdx), %zmm18, %k4 196// CHECK: encoding: [0x62,0xf2,0xee,0x40,0x26,0x62,0x80] 197 vptestnmw -8192(%rdx), %zmm18, %k4 198 199// CHECK: vptestnmw -8256(%rdx), %zmm18, %k4 200// CHECK: encoding: [0x62,0xf2,0xee,0x40,0x26,0xa2,0xc0,0xdf,0xff,0xff] 201 vptestnmw -8256(%rdx), %zmm18, %k4 202 203// CHECK: vptestnmb %zmm19, %zmm27, %k3 204// CHECK: encoding: [0x62,0xb2,0x26,0x40,0x26,0xdb] 205 vptestnmb %zmm19, %zmm27, %k3 206 207// CHECK: vptestnmb %zmm19, %zmm27, %k3 {%k2} 208// CHECK: encoding: [0x62,0xb2,0x26,0x42,0x26,0xdb] 209 vptestnmb %zmm19, %zmm27, %k3 {%k2} 210 211// CHECK: vptestnmb (%rcx), %zmm27, %k3 212// CHECK: encoding: [0x62,0xf2,0x26,0x40,0x26,0x19] 213 vptestnmb (%rcx), %zmm27, %k3 214 215// CHECK: vptestnmb 4660(%rax,%r14,8), %zmm27, %k3 216// CHECK: encoding: [0x62,0xb2,0x26,0x40,0x26,0x9c,0xf0,0x34,0x12,0x00,0x00] 217 vptestnmb 4660(%rax,%r14,8), %zmm27, %k3 218 219// CHECK: vptestnmb 8128(%rdx), %zmm27, %k3 220// CHECK: encoding: [0x62,0xf2,0x26,0x40,0x26,0x5a,0x7f] 221 vptestnmb 8128(%rdx), %zmm27, %k3 222 223// CHECK: vptestnmb 8192(%rdx), %zmm27, %k3 224// CHECK: encoding: [0x62,0xf2,0x26,0x40,0x26,0x9a,0x00,0x20,0x00,0x00] 225 vptestnmb 8192(%rdx), %zmm27, %k3 226 227// CHECK: vptestnmb -8192(%rdx), %zmm27, %k3 228// CHECK: encoding: [0x62,0xf2,0x26,0x40,0x26,0x5a,0x80] 229 vptestnmb -8192(%rdx), %zmm27, %k3 230 231// CHECK: vptestnmb -8256(%rdx), %zmm27, %k3 232// CHECK: encoding: [0x62,0xf2,0x26,0x40,0x26,0x9a,0xc0,0xdf,0xff,0xff] 233 vptestnmb -8256(%rdx), %zmm27, %k3 234 235// CHECK: vptestnmw %zmm21, %zmm17, %k2 236// CHECK: encoding: [0x62,0xb2,0xf6,0x40,0x26,0xd5] 237 vptestnmw %zmm21, %zmm17, %k2 238 239// CHECK: vptestnmw %zmm21, %zmm17, %k2 {%k4} 240// CHECK: encoding: [0x62,0xb2,0xf6,0x44,0x26,0xd5] 241 vptestnmw %zmm21, %zmm17, %k2 {%k4} 242 243// CHECK: vptestnmw (%rcx), %zmm17, %k2 244// CHECK: encoding: [0x62,0xf2,0xf6,0x40,0x26,0x11] 245 vptestnmw (%rcx), %zmm17, %k2 246 247// CHECK: vptestnmw 4660(%rax,%r14,8), %zmm17, %k2 248// CHECK: encoding: [0x62,0xb2,0xf6,0x40,0x26,0x94,0xf0,0x34,0x12,0x00,0x00] 249 vptestnmw 4660(%rax,%r14,8), %zmm17, %k2 250 251// CHECK: vptestnmw 8128(%rdx), %zmm17, %k2 252// CHECK: encoding: [0x62,0xf2,0xf6,0x40,0x26,0x52,0x7f] 253 vptestnmw 8128(%rdx), %zmm17, %k2 254 255// CHECK: vptestnmw 8192(%rdx), %zmm17, %k2 256// CHECK: encoding: [0x62,0xf2,0xf6,0x40,0x26,0x92,0x00,0x20,0x00,0x00] 257 vptestnmw 8192(%rdx), %zmm17, %k2 258 259// CHECK: vptestnmw -8192(%rdx), %zmm17, %k2 260// CHECK: encoding: [0x62,0xf2,0xf6,0x40,0x26,0x52,0x80] 261 vptestnmw -8192(%rdx), %zmm17, %k2 262 263// CHECK: vptestnmw -8256(%rdx), %zmm17, %k2 264// CHECK: encoding: [0x62,0xf2,0xf6,0x40,0x26,0x92,0xc0,0xdf,0xff,0xff] 265 vptestnmw -8256(%rdx), %zmm17, %k2 266 267// CHECK: vpmovb2m %zmm28, %k5 268// CHECK: encoding: [0x62,0x92,0x7e,0x48,0x29,0xec] 269 vpmovb2m %zmm28, %k5 270 271// CHECK: vpmovw2m %zmm30, %k3 272// CHECK: encoding: [0x62,0x92,0xfe,0x48,0x29,0xde] 273 vpmovw2m %zmm30, %k3 274 275// CHECK: vpmovm2b %k3, %zmm18 276// CHECK: encoding: [0x62,0xe2,0x7e,0x48,0x28,0xd3] 277 vpmovm2b %k3, %zmm18 278 279// CHECK: vpmovm2w %k5, %zmm24 280// CHECK: encoding: [0x62,0x62,0xfe,0x48,0x28,0xc5] 281 vpmovm2w %k5, %zmm24 282 283