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