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