1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx -mattr=+avx512vl -mattr=+avx512vbmi --show-encoding %s | FileCheck %s 2 3 vpermb %xmm28, %xmm29, %xmm30 {%k7} 4 //CHECK: vpermb %xmm28, %xmm29, %xmm30 {%k7} 5 //CHECK: encoding: [0x62,0x02,0x15,0x07,0x8d,0xf4] 6 7 vpermb %xmm28, %xmm29, %xmm30 {%k7} {z} 8 //CHECK: vpermb %xmm28, %xmm29, %xmm30 {%k7} {z} 9 //CHECK: encoding: [0x62,0x02,0x15,0x87,0x8d,0xf4] 10 11 vpermb (%rcx), %xmm29, %xmm30 12 //CHECK: vpermb (%rcx), %xmm29, %xmm30 13 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x8d,0x31] 14 15 vpermb 0x123(%rax,%r14,8), %xmm29, %xmm30 16 //CHECK: vpermb 291(%rax,%r14,8), %xmm29, %xmm30 17 //CHECK: encoding: [0x62,0x22,0x15,0x00,0x8d,0xb4,0xf0,0x23,0x01,0x00,0x00] 18 19 vpermb 0x7f0(%rdx), %xmm29, %xmm30 20 //CHECK: vpermb 2032(%rdx), %xmm29, %xmm30 21 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x8d,0x72,0x7f] 22 23 vpermb 0x800(%rdx), %xmm29, %xmm30 24 //CHECK: vpermb 2048(%rdx), %xmm29, %xmm30 25 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x8d,0xb2,0x00,0x08,0x00,0x00] 26 27 vpermb -0x800(%rdx), %xmm29, %xmm30 28 //CHECK: vpermb -2048(%rdx), %xmm29, %xmm30 29 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x8d,0x72,0x80] 30 31 vpermb -0x810(%rdx), %xmm29, %xmm30 32 //CHECK: vpermb -2064(%rdx), %xmm29, %xmm30 33 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x8d,0xb2,0xf0,0xf7,0xff,0xff] 34 35 vpermb %ymm28, %ymm29, %ymm30 36 //CHECK: vpermb %ymm28, %ymm29, %ymm30 37 //CHECK: encoding: [0x62,0x02,0x15,0x20,0x8d,0xf4] 38 39 vpermb %ymm28, %ymm29, %ymm30 {%k7} 40 //CHECK: vpermb %ymm28, %ymm29, %ymm30 {%k7} 41 //CHECK: encoding: [0x62,0x02,0x15,0x27,0x8d,0xf4] 42 43 vpermb %ymm28, %ymm29, %ymm30 {%k7} {z} 44 //CHECK: vpermb %ymm28, %ymm29, %ymm30 {%k7} {z} 45 //CHECK: encoding: [0x62,0x02,0x15,0xa7,0x8d,0xf4] 46 47 vpermb (%rcx), %ymm29, %ymm30 48 //CHECK: vpermb (%rcx), %ymm29, %ymm30 49 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x8d,0x31] 50 51 vpermb 0x123(%rax,%r14,8), %ymm29, %ymm30 52 //CHECK: vpermb 291(%rax,%r14,8), %ymm29, %ymm30 53 //CHECK: encoding: [0x62,0x22,0x15,0x20,0x8d,0xb4,0xf0,0x23,0x01,0x00,0x00] 54 55 vpermb 0xfe0(%rdx), %ymm29, %ymm30 56 //CHECK: vpermb 4064(%rdx), %ymm29, %ymm30 57 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x8d,0x72,0x7f] 58 59 vpermb 0x1000(%rdx), %ymm29, %ymm30 60 //CHECK: vpermb 4096(%rdx), %ymm29, %ymm30 61 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x8d,0xb2,0x00,0x10,0x00,0x00] 62 63 vpermb -0x1000(%rdx), %ymm29, %ymm30 64 //CHECK: vpermb -4096(%rdx), %ymm29, %ymm30 65 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x8d,0x72,0x80] 66 67 vpermb -0x1020(%rdx), %ymm29, %ymm30 68 //CHECK: vpermb -4128(%rdx), %ymm29, %ymm30 69 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x8d,0xb2,0xe0,0xef,0xff,0xff] 70 71 vpermb %xmm28, %xmm29, %xmm30 72 //CHECK: vpermb %xmm28, %xmm29, %xmm30 73 //CHECK: encoding: [0x62,0x02,0x15,0x00,0x8d,0xf4] 74 75 vpermb 0x1234(%rax,%r14,8), %xmm29, %xmm30 76 //CHECK: vpermb 4660(%rax,%r14,8), %xmm29, %xmm30 77 //CHECK: encoding: [0x62,0x22,0x15,0x00,0x8d,0xb4,0xf0,0x34,0x12,0x00,0x00] 78 79 vpermb 0x1234(%rax,%r14,8), %ymm29, %ymm30 80 //CHECK: vpermb 4660(%rax,%r14,8), %ymm29, %ymm30 81 //CHECK: encoding: [0x62,0x22,0x15,0x20,0x8d,0xb4,0xf0,0x34,0x12,0x00,0x00] 82 83 vpermb %zmm28, %zmm29, %zmm30 84 //CHECK: vpermb %zmm28, %zmm29, %zmm30 85 //CHECK: encoding: [0x62,0x02,0x15,0x40,0x8d,0xf4] 86 87 vpermb %zmm28, %zmm29, %zmm30 {%k7} 88 //CHECK: vpermb %zmm28, %zmm29, %zmm30 {%k7} 89 //CHECK: encoding: [0x62,0x02,0x15,0x47,0x8d,0xf4] 90 91 vpermb %zmm28, %zmm29, %zmm30 {%k7} {z} 92 //CHECK: vpermb %zmm28, %zmm29, %zmm30 {%k7} {z} 93 //CHECK: encoding: [0x62,0x02,0x15,0xc7,0x8d,0xf4] 94 95 vpermb (%rcx), %zmm29, %zmm30 96 //CHECK: vpermb (%rcx), %zmm29, %zmm30 97 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x8d,0x31] 98 99 vpermb 0x123(%rax,%r14,8), %zmm29, %zmm30 100 //CHECK: vpermb 291(%rax,%r14,8), %zmm29, %zmm30 101 //CHECK: encoding: [0x62,0x22,0x15,0x40,0x8d,0xb4,0xf0,0x23,0x01,0x00,0x00] 102 103 vpermb 0x1fc0(%rdx), %zmm29, %zmm30 104 //CHECK: vpermb 8128(%rdx), %zmm29, %zmm30 105 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x8d,0x72,0x7f] 106 107 vpermb 0x2000(%rdx), %zmm29, %zmm30 108 //CHECK: vpermb 8192(%rdx), %zmm29, %zmm30 109 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x8d,0xb2,0x00,0x20,0x00,0x00] 110 111 vpermb -0x2000(%rdx), %zmm29, %zmm30 112 //CHECK: vpermb -8192(%rdx), %zmm29, %zmm30 113 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x8d,0x72,0x80] 114 115 vpermb -0x2040(%rdx), %zmm29, %zmm30 116 //CHECK: vpermb -8256(%rdx), %zmm29, %zmm30 117 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x8d,0xb2,0xc0,0xdf,0xff,0xff] 118 119 vpermb 0x1234(%rax,%r14,8), %zmm29, %zmm30 120 //CHECK: vpermb 4660(%rax,%r14,8), %zmm29, %zmm30 121 //CHECK: encoding: [0x62,0x22,0x15,0x40,0x8d,0xb4,0xf0,0x34,0x12,0x00,0x00] 122 123 vpermt2b %xmm28, %xmm29, %xmm30 124 //CHECK: vpermt2b %xmm28, %xmm29, %xmm30 125 //CHECK: encoding: [0x62,0x02,0x15,0x00,0x7d,0xf4] 126 127 vpermt2b %xmm28, %xmm29, %xmm30 {%k7} 128 //CHECK: vpermt2b %xmm28, %xmm29, %xmm30 {%k7} 129 //CHECK: encoding: [0x62,0x02,0x15,0x07,0x7d,0xf4] 130 131 vpermt2b %xmm28, %xmm29, %xmm30 {%k7} {z} 132 //CHECK: vpermt2b %xmm28, %xmm29, %xmm30 {%k7} {z} 133 //CHECK: encoding: [0x62,0x02,0x15,0x87,0x7d,0xf4] 134 135 vpermt2b (%rcx), %xmm29, %xmm30 136 //CHECK: vpermt2b (%rcx), %xmm29, %xmm30 137 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x7d,0x31] 138 139 vpermt2b 0x123(%rax,%r14,8), %xmm29, %xmm30 140 //CHECK: vpermt2b 291(%rax,%r14,8), %xmm29, %xmm30 141 //CHECK: encoding: [0x62,0x22,0x15,0x00,0x7d,0xb4,0xf0,0x23,0x01,0x00,0x00] 142 143 vpermt2b 0x7f0(%rdx), %xmm29, %xmm30 144 //CHECK: vpermt2b 2032(%rdx), %xmm29, %xmm30 145 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x7d,0x72,0x7f] 146 147 vpermt2b 0x800(%rdx), %xmm29, %xmm30 148 //CHECK: vpermt2b 2048(%rdx), %xmm29, %xmm30 149 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x7d,0xb2,0x00,0x08,0x00,0x00] 150 151 vpermt2b -0x800(%rdx), %xmm29, %xmm30 152 //CHECK: vpermt2b -2048(%rdx), %xmm29, %xmm30 153 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x7d,0x72,0x80] 154 155 vpermt2b -0x810(%rdx), %xmm29, %xmm30 156 //CHECK: vpermt2b -2064(%rdx), %xmm29, %xmm30 157 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x7d,0xb2,0xf0,0xf7,0xff,0xff] 158 159 vpermt2b %ymm28, %ymm29, %ymm30 160 //CHECK: vpermt2b %ymm28, %ymm29, %ymm30 161 //CHECK: encoding: [0x62,0x02,0x15,0x20,0x7d,0xf4] 162 163 vpermt2b %ymm28, %ymm29, %ymm30 {%k7} 164 //CHECK: vpermt2b %ymm28, %ymm29, %ymm30 {%k7} 165 //CHECK: encoding: [0x62,0x02,0x15,0x27,0x7d,0xf4] 166 167 vpermt2b %ymm28, %ymm29, %ymm30 {%k7} {z} 168 //CHECK: vpermt2b %ymm28, %ymm29, %ymm30 {%k7} {z} 169 //CHECK: encoding: [0x62,0x02,0x15,0xa7,0x7d,0xf4] 170 171 vpermt2b (%rcx), %ymm29, %ymm30 172 //CHECK: vpermt2b (%rcx), %ymm29, %ymm30 173 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x7d,0x31] 174 175 vpermt2b 0x123(%rax,%r14,8), %ymm29, %ymm30 176 //CHECK: vpermt2b 291(%rax,%r14,8), %ymm29, %ymm30 177 //CHECK: encoding: [0x62,0x22,0x15,0x20,0x7d,0xb4,0xf0,0x23,0x01,0x00,0x00] 178 179 vpermt2b 0xfe0(%rdx), %ymm29, %ymm30 180 //CHECK: vpermt2b 4064(%rdx), %ymm29, %ymm30 181 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x7d,0x72,0x7f] 182 183 vpermt2b 0x1000(%rdx), %ymm29, %ymm30 184 //CHECK: vpermt2b 4096(%rdx), %ymm29, %ymm30 185 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x7d,0xb2,0x00,0x10,0x00,0x00] 186 187 vpermt2b -0x1000(%rdx), %ymm29, %ymm30 188 //CHECK: vpermt2b -4096(%rdx), %ymm29, %ymm30 189 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x7d,0x72,0x80] 190 191 vpermt2b -0x1020(%rdx), %ymm29, %ymm30 192 //CHECK: vpermt2b -4128(%rdx), %ymm29, %ymm30 193 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x7d,0xb2,0xe0,0xef,0xff,0xff] 194 195 vpermt2b 0x1234(%rax,%r14,8), %xmm29, %xmm30 196 //CHECK: vpermt2b 4660(%rax,%r14,8), %xmm29, %xmm30 197 //CHECK: encoding: [0x62,0x22,0x15,0x00,0x7d,0xb4,0xf0,0x34,0x12,0x00,0x00] 198 199 vpermt2b 0x1234(%rax,%r14,8), %ymm29, %ymm30 200 //CHECK: vpermt2b 4660(%rax,%r14,8), %ymm29, %ymm30 201 //CHECK: encoding: [0x62,0x22,0x15,0x20,0x7d,0xb4,0xf0,0x34,0x12,0x00,0x00] 202 203 vpermt2b %zmm28, %zmm29, %zmm30 204 //CHECK: vpermt2b %zmm28, %zmm29, %zmm30 205 //CHECK: encoding: [0x62,0x02,0x15,0x40,0x7d,0xf4] 206 207 vpermt2b %zmm28, %zmm29, %zmm30 {%k7} 208 //CHECK: vpermt2b %zmm28, %zmm29, %zmm30 {%k7} 209 //CHECK: encoding: [0x62,0x02,0x15,0x47,0x7d,0xf4] 210 211 vpermt2b %zmm28, %zmm29, %zmm30 {%k7} {z} 212 //CHECK: vpermt2b %zmm28, %zmm29, %zmm30 {%k7} {z} 213 //CHECK: encoding: [0x62,0x02,0x15,0xc7,0x7d,0xf4] 214 215 vpermt2b (%rcx), %zmm29, %zmm30 216 //CHECK: vpermt2b (%rcx), %zmm29, %zmm30 217 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x7d,0x31] 218 219 vpermt2b 0x123(%rax,%r14,8), %zmm29, %zmm30 220 //CHECK: vpermt2b 291(%rax,%r14,8), %zmm29, %zmm30 221 //CHECK: encoding: [0x62,0x22,0x15,0x40,0x7d,0xb4,0xf0,0x23,0x01,0x00,0x00] 222 223 vpermt2b 0x1fc0(%rdx), %zmm29, %zmm30 224 //CHECK: vpermt2b 8128(%rdx), %zmm29, %zmm30 225 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x7d,0x72,0x7f] 226 227 vpermt2b 0x2000(%rdx), %zmm29, %zmm30 228 //CHECK: vpermt2b 8192(%rdx), %zmm29, %zmm30 229 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x7d,0xb2,0x00,0x20,0x00,0x00] 230 231 vpermt2b -0x2000(%rdx), %zmm29, %zmm30 232 //CHECK: vpermt2b -8192(%rdx), %zmm29, %zmm30 233 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x7d,0x72,0x80] 234 235 vpermt2b -0x2040(%rdx), %zmm29, %zmm30 236 //CHECK: vpermt2b -8256(%rdx), %zmm29, %zmm30 237 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x7d,0xb2,0xc0,0xdf,0xff,0xff] 238 239 vpermt2b 0x1234(%rax,%r14,8), %zmm29, %zmm30 240 //CHECK: vpermt2b 4660(%rax,%r14,8), %zmm29, %zmm30 241 //CHECK: encoding: [0x62,0x22,0x15,0x40,0x7d,0xb4,0xf0,0x34,0x12,0x00,0x00] 242 243 vpermi2b %xmm28, %xmm29, %xmm30 244 //CHECK: vpermi2b %xmm28, %xmm29, %xmm30 245 //CHECK: encoding: [0x62,0x02,0x15,0x00,0x75,0xf4] 246 247 vpermi2b %xmm28, %xmm29, %xmm30 {%k7} 248 //CHECK: vpermi2b %xmm28, %xmm29, %xmm30 {%k7} 249 //CHECK: encoding: [0x62,0x02,0x15,0x07,0x75,0xf4] 250 251 vpermi2b %xmm28, %xmm29, %xmm30 {%k7} {z} 252 //CHECK: vpermi2b %xmm28, %xmm29, %xmm30 {%k7} {z} 253 //CHECK: encoding: [0x62,0x02,0x15,0x87,0x75,0xf4] 254 255 vpermi2b (%rcx), %xmm29, %xmm30 256 //CHECK: vpermi2b (%rcx), %xmm29, %xmm30 257 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x75,0x31] 258 259 vpermi2b 0x123(%rax,%r14,8), %xmm29, %xmm30 260 //CHECK: vpermi2b 291(%rax,%r14,8), %xmm29, %xmm30 261 //CHECK: encoding: [0x62,0x22,0x15,0x00,0x75,0xb4,0xf0,0x23,0x01,0x00,0x00] 262 263 vpermi2b 0x7f0(%rdx), %xmm29, %xmm30 264 //CHECK: vpermi2b 2032(%rdx), %xmm29, %xmm30 265 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x75,0x72,0x7f] 266 267 vpermi2b 0x800(%rdx), %xmm29, %xmm30 268 //CHECK: vpermi2b 2048(%rdx), %xmm29, %xmm30 269 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x75,0xb2,0x00,0x08,0x00,0x00] 270 271 vpermi2b -0x800(%rdx), %xmm29, %xmm30 272 //CHECK: vpermi2b -2048(%rdx), %xmm29, %xmm30 273 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x75,0x72,0x80] 274 275 vpermi2b -0x810(%rdx), %xmm29, %xmm30 276 //CHECK: vpermi2b -2064(%rdx), %xmm29, %xmm30 277 //CHECK: encoding: [0x62,0x62,0x15,0x00,0x75,0xb2,0xf0,0xf7,0xff,0xff] 278 279 vpermi2b %ymm28, %ymm29, %ymm30 280 //CHECK: vpermi2b %ymm28, %ymm29, %ymm30 281 //CHECK: encoding: [0x62,0x02,0x15,0x20,0x75,0xf4] 282 283 vpermi2b %ymm28, %ymm29, %ymm30 {%k7} 284 //CHECK: vpermi2b %ymm28, %ymm29, %ymm30 {%k7} 285 //CHECK: encoding: [0x62,0x02,0x15,0x27,0x75,0xf4] 286 287 vpermi2b %ymm28, %ymm29, %ymm30 {%k7} {z} 288 //CHECK: vpermi2b %ymm28, %ymm29, %ymm30 {%k7} {z} 289 //CHECK: encoding: [0x62,0x02,0x15,0xa7,0x75,0xf4] 290 291 vpermi2b (%rcx), %ymm29, %ymm30 292 //CHECK: vpermi2b (%rcx), %ymm29, %ymm30 293 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x75,0x31] 294 295 vpermi2b 0x123(%rax,%r14,8), %ymm29, %ymm30 296 //CHECK: vpermi2b 291(%rax,%r14,8), %ymm29, %ymm30 297 //CHECK: encoding: [0x62,0x22,0x15,0x20,0x75,0xb4,0xf0,0x23,0x01,0x00,0x00] 298 299 vpermi2b 0xfe0(%rdx), %ymm29, %ymm30 300 //CHECK: vpermi2b 4064(%rdx), %ymm29, %ymm30 301 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x75,0x72,0x7f] 302 303 vpermi2b 0x1000(%rdx), %ymm29, %ymm30 304 //CHECK: vpermi2b 4096(%rdx), %ymm29, %ymm30 305 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x75,0xb2,0x00,0x10,0x00,0x00] 306 307 vpermi2b -0x1000(%rdx), %ymm29, %ymm30 308 //CHECK: vpermi2b -4096(%rdx), %ymm29, %ymm30 309 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x75,0x72,0x80] 310 311 vpermi2b -0x1020(%rdx), %ymm29, %ymm30 312 //CHECK: vpermi2b -4128(%rdx), %ymm29, %ymm30 313 //CHECK: encoding: [0x62,0x62,0x15,0x20,0x75,0xb2,0xe0,0xef,0xff,0xff] 314 315 vpermi2b 0x1234(%rax,%r14,8), %xmm29, %xmm30 316 //CHECK: vpermi2b 4660(%rax,%r14,8), %xmm29, %xmm30 317 //CHECK: encoding: [0x62,0x22,0x15,0x00,0x75,0xb4,0xf0,0x34,0x12,0x00,0x00] 318 319 vpermi2b 0x1234(%rax,%r14,8), %ymm29, %ymm30 320 //CHECK: vpermi2b 4660(%rax,%r14,8), %ymm29, %ymm30 321 //CHECK: encoding: [0x62,0x22,0x15,0x20,0x75,0xb4,0xf0,0x34,0x12,0x00,0x00] 322 323 vpermi2b %zmm28, %zmm29, %zmm30 324 //CHECK: vpermi2b %zmm28, %zmm29, %zmm30 325 //CHECK: encoding: [0x62,0x02,0x15,0x40,0x75,0xf4] 326 327 vpermi2b %zmm28, %zmm29, %zmm30 {%k7} 328 //CHECK: vpermi2b %zmm28, %zmm29, %zmm30 {%k7} 329 //CHECK: encoding: [0x62,0x02,0x15,0x47,0x75,0xf4] 330 331 vpermi2b %zmm28, %zmm29, %zmm30 {%k7} {z} 332 //CHECK: vpermi2b %zmm28, %zmm29, %zmm30 {%k7} {z} 333 //CHECK: encoding: [0x62,0x02,0x15,0xc7,0x75,0xf4] 334 335 vpermi2b (%rcx), %zmm29, %zmm30 336 //CHECK: vpermi2b (%rcx), %zmm29, %zmm30 337 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x75,0x31] 338 339 vpermi2b 0x123(%rax,%r14,8), %zmm29, %zmm30 340 //CHECK: vpermi2b 291(%rax,%r14,8), %zmm29, %zmm30 341 //CHECK: encoding: [0x62,0x22,0x15,0x40,0x75,0xb4,0xf0,0x23,0x01,0x00,0x00] 342 343 vpermi2b 0x1fc0(%rdx), %zmm29, %zmm30 344 //CHECK: vpermi2b 8128(%rdx), %zmm29, %zmm30 345 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x75,0x72,0x7f] 346 347 vpermi2b 0x2000(%rdx), %zmm29, %zmm30 348 //CHECK: vpermi2b 8192(%rdx), %zmm29, %zmm30 349 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x75,0xb2,0x00,0x20,0x00,0x00] 350 351 vpermi2b -0x2000(%rdx), %zmm29, %zmm30 352 //CHECK: vpermi2b -8192(%rdx), %zmm29, %zmm30 353 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x75,0x72,0x80] 354 355 vpermi2b -0x2040(%rdx), %zmm29, %zmm30 356 //CHECK: vpermi2b -8256(%rdx), %zmm29, %zmm30 357 //CHECK: encoding: [0x62,0x62,0x15,0x40,0x75,0xb2,0xc0,0xdf,0xff,0xff] 358 359 vpermi2b 0x1234(%rax,%r14,8), %zmm29, %zmm30 360 //CHECK: vpermi2b 4660(%rax,%r14,8), %zmm29, %zmm30 361 //CHECK: encoding: [0x62,0x22,0x15,0x40,0x75,0xb4,0xf0,0x34,0x12,0x00,0x00] 362 363 vpmultishiftqb %xmm28, %xmm29, %xmm30 364 //CHECK: vpmultishiftqb %xmm28, %xmm29, %xmm30 365 //CHECK: encoding: [0x62,0x02,0x95,0x00,0x83,0xf4] 366 367 vpmultishiftqb %xmm28, %xmm29, %xmm30 {%k7} 368 //CHECK: vpmultishiftqb %xmm28, %xmm29, %xmm30 {%k7} 369 //CHECK: encoding: [0x62,0x02,0x95,0x07,0x83,0xf4] 370 371 vpmultishiftqb %xmm28, %xmm29, %xmm30 {%k7} {z} 372 //CHECK: vpmultishiftqb %xmm28, %xmm29, %xmm30 {%k7} {z} 373 //CHECK: encoding: [0x62,0x02,0x95,0x87,0x83,0xf4] 374 375 vpmultishiftqb (%rcx), %xmm29, %xmm30 376 //CHECK: vpmultishiftqb (%rcx), %xmm29, %xmm30 377 //CHECK: encoding: [0x62,0x62,0x95,0x00,0x83,0x31] 378 379 vpmultishiftqb 0x123(%rax,%r14,8), %xmm29, %xmm30 380 //CHECK: vpmultishiftqb 291(%rax,%r14,8), %xmm29, %xmm30 381 //CHECK: encoding: [0x62,0x22,0x95,0x00,0x83,0xb4,0xf0,0x23,0x01,0x00,0x00] 382 383 vpmultishiftqb (%rcx){1to2}, %xmm29, %xmm30 384 //CHECK: vpmultishiftqb (%rcx){1to2}, %xmm29, %xmm30 385 386 //CHECK: encoding: [0x62,0x62,0x95,0x10,0x83,0x31] 387 388 vpmultishiftqb 0x7f0(%rdx), %xmm29, %xmm30 389 //CHECK: vpmultishiftqb 2032(%rdx), %xmm29, %xmm30 390 //CHECK: encoding: [0x62,0x62,0x95,0x00,0x83,0x72,0x7f] 391 392 vpmultishiftqb 0x800(%rdx), %xmm29, %xmm30 393 //CHECK: vpmultishiftqb 2048(%rdx), %xmm29, %xmm30 394 //CHECK: encoding: [0x62,0x62,0x95,0x00,0x83,0xb2,0x00,0x08,0x00,0x00] 395 396 vpmultishiftqb -0x800(%rdx), %xmm29, %xmm30 397 //CHECK: vpmultishiftqb -2048(%rdx), %xmm29, %xmm30 398 //CHECK: encoding: [0x62,0x62,0x95,0x00,0x83,0x72,0x80] 399 400 vpmultishiftqb -0x810(%rdx), %xmm29, %xmm30 401 //CHECK: vpmultishiftqb -2064(%rdx), %xmm29, %xmm30 402 //CHECK: encoding: [0x62,0x62,0x95,0x00,0x83,0xb2,0xf0,0xf7,0xff,0xff] 403 404 vpmultishiftqb 0x3f8(%rdx){1to2}, %xmm29, %xmm30 405 //CHECK: vpmultishiftqb 1016(%rdx){1to2}, %xmm29, %xmm30 406 //CHECK: encoding: [0x62,0x62,0x95,0x10,0x83,0x72,0x7f] 407 408 vpmultishiftqb 0x400(%rdx){1to2}, %xmm29, %xmm30 409 //CHECK: vpmultishiftqb 1024(%rdx){1to2}, %xmm29, %xmm30 410 //CHECK: encoding: [0x62,0x62,0x95,0x10,0x83,0xb2,0x00,0x04,0x00,0x00] 411 412 vpmultishiftqb -0x400(%rdx){1to2}, %xmm29, %xmm30 413 //CHECK: vpmultishiftqb -1024(%rdx){1to2}, %xmm29, %xmm30 414 //CHECK: encoding: [0x62,0x62,0x95,0x10,0x83,0x72,0x80] 415 416 vpmultishiftqb -0x408(%rdx){1to2}, %xmm29, %xmm30 417 //CHECK: vpmultishiftqb -1032(%rdx){1to2}, %xmm29, %xmm30 418 //CHECK: encoding: [0x62,0x62,0x95,0x10,0x83,0xb2,0xf8,0xfb,0xff,0xff] 419 420 vpmultishiftqb %ymm28, %ymm29, %ymm30 421 //CHECK: vpmultishiftqb %ymm28, %ymm29, %ymm30 422 //CHECK: encoding: [0x62,0x02,0x95,0x20,0x83,0xf4] 423 424 vpmultishiftqb %ymm28, %ymm29, %ymm30 {%k7} 425 //CHECK: vpmultishiftqb %ymm28, %ymm29, %ymm30 {%k7} 426 //CHECK: encoding: [0x62,0x02,0x95,0x27,0x83,0xf4] 427 428 vpmultishiftqb %ymm28, %ymm29, %ymm30 {%k7} {z} 429 //CHECK: vpmultishiftqb %ymm28, %ymm29, %ymm30 {%k7} {z} 430 //CHECK: encoding: [0x62,0x02,0x95,0xa7,0x83,0xf4] 431 432 vpmultishiftqb (%rcx), %ymm29, %ymm30 433 //CHECK: vpmultishiftqb (%rcx), %ymm29, %ymm30 434 //CHECK: encoding: [0x62,0x62,0x95,0x20,0x83,0x31] 435 436 vpmultishiftqb 0x123(%rax,%r14,8), %ymm29, %ymm30 437 //CHECK: vpmultishiftqb 291(%rax,%r14,8), %ymm29, %ymm30 438 //CHECK: encoding: [0x62,0x22,0x95,0x20,0x83,0xb4,0xf0,0x23,0x01,0x00,0x00] 439 440 vpmultishiftqb (%rcx){1to4}, %ymm29, %ymm30 441 //CHECK: vpmultishiftqb (%rcx){1to4}, %ymm29, %ymm30 442 //CHECK: encoding: [0x62,0x62,0x95,0x30,0x83,0x31] 443 444 vpmultishiftqb 0xfe0(%rdx), %ymm29, %ymm30 445 //CHECK: vpmultishiftqb 4064(%rdx), %ymm29, %ymm30 446 //CHECK: encoding: [0x62,0x62,0x95,0x20,0x83,0x72,0x7f] 447 448 vpmultishiftqb 0x1000(%rdx), %ymm29, %ymm30 449 //CHECK: vpmultishiftqb 4096(%rdx), %ymm29, %ymm30 450 //CHECK: encoding: [0x62,0x62,0x95,0x20,0x83,0xb2,0x00,0x10,0x00,0x00] 451 452 vpmultishiftqb -0x1000(%rdx), %ymm29, %ymm30 453 //CHECK: vpmultishiftqb -4096(%rdx), %ymm29, %ymm30 454 //CHECK: encoding: [0x62,0x62,0x95,0x20,0x83,0x72,0x80] 455 456 vpmultishiftqb -0x1020(%rdx), %ymm29, %ymm30 457 //CHECK: vpmultishiftqb -4128(%rdx), %ymm29, %ymm30 458 //CHECK: encoding: [0x62,0x62,0x95,0x20,0x83,0xb2,0xe0,0xef,0xff,0xff] 459 460 vpmultishiftqb 0x3f8(%rdx){1to4}, %ymm29, %ymm30 461 //CHECK: vpmultishiftqb 1016(%rdx){1to4}, %ymm29, %ymm30 462 //CHECK: encoding: [0x62,0x62,0x95,0x30,0x83,0x72,0x7f] 463 464 vpmultishiftqb 0x400(%rdx){1to4}, %ymm29, %ymm30 465 //CHECK: vpmultishiftqb 1024(%rdx){1to4}, %ymm29, %ymm30 466 //CHECK: encoding: [0x62,0x62,0x95,0x30,0x83,0xb2,0x00,0x04,0x00,0x00] 467 468 vpmultishiftqb -0x400(%rdx){1to4}, %ymm29, %ymm30 469 //CHECK: vpmultishiftqb -1024(%rdx){1to4}, %ymm29, %ymm30 470 //CHECK: encoding: [0x62,0x62,0x95,0x30,0x83,0x72,0x80] 471 472 vpmultishiftqb -0x408(%rdx){1to4}, %ymm29, %ymm30 473 //CHECK: vpmultishiftqb -1032(%rdx){1to4}, %ymm29, %ymm30 474 //CHECK: encoding: [0x62,0x62,0x95,0x30,0x83,0xb2,0xf8,0xfb,0xff,0xff] 475 476 vpmultishiftqb 0x1234(%rax,%r14,8), %xmm29, %xmm30 477 //CHECK: vpmultishiftqb 4660(%rax,%r14,8), %xmm29, %xmm30 478 //CHECK: encoding: [0x62,0x22,0x95,0x00,0x83,0xb4,0xf0,0x34,0x12,0x00,0x00] 479 480 vpmultishiftqb 0x1234(%rax,%r14,8), %ymm29, %ymm30 481 //CHECK: vpmultishiftqb 4660(%rax,%r14,8), %ymm29, %ymm30 482 //CHECK: encoding: [0x62,0x22,0x95,0x20,0x83,0xb4,0xf0,0x34,0x12,0x00,0x00] 483 484 vpmultishiftqb %zmm28, %zmm29, %zmm30 485 //CHECK: vpmultishiftqb %zmm28, %zmm29, %zmm30 486 //CHECK: encoding: [0x62,0x02,0x95,0x40,0x83,0xf4] 487 488 vpmultishiftqb %zmm28, %zmm29, %zmm30 {%k7} 489 //CHECK: vpmultishiftqb %zmm28, %zmm29, %zmm30 {%k7} 490 //CHECK: encoding: [0x62,0x02,0x95,0x47,0x83,0xf4] 491 492 vpmultishiftqb %zmm28, %zmm29, %zmm30 {%k7} {z} 493 //CHECK: vpmultishiftqb %zmm28, %zmm29, %zmm30 {%k7} {z} 494 //CHECK: encoding: [0x62,0x02,0x95,0xc7,0x83,0xf4] 495 496 vpmultishiftqb (%rcx), %zmm29, %zmm30 497 //CHECK: vpmultishiftqb (%rcx), %zmm29, %zmm30 498 //CHECK: encoding: [0x62,0x62,0x95,0x40,0x83,0x31] 499 500 vpmultishiftqb 0x123(%rax,%r14,8), %zmm29, %zmm30 501 //CHECK: vpmultishiftqb 291(%rax,%r14,8), %zmm29, %zmm30 502 //CHECK: encoding: [0x62,0x22,0x95,0x40,0x83,0xb4,0xf0,0x23,0x01,0x00,0x00] 503 504 vpmultishiftqb (%rcx){1to8}, %zmm29, %zmm30 505 //CHECK: vpmultishiftqb (%rcx){1to8}, %zmm29, %zmm30 506 //CHECK: encoding: [0x62,0x62,0x95,0x50,0x83,0x31] 507 508 vpmultishiftqb 0x1fc0(%rdx), %zmm29, %zmm30 509 //CHECK: vpmultishiftqb 8128(%rdx), %zmm29, %zmm30 510 //CHECK: encoding: [0x62,0x62,0x95,0x40,0x83,0x72,0x7f] 511 512 vpmultishiftqb 0x2000(%rdx), %zmm29, %zmm30 513 //CHECK: vpmultishiftqb 8192(%rdx), %zmm29, %zmm30 514 //CHECK: encoding: [0x62,0x62,0x95,0x40,0x83,0xb2,0x00,0x20,0x00,0x00] 515 516 vpmultishiftqb -0x2000(%rdx), %zmm29, %zmm30 517 //CHECK: vpmultishiftqb -8192(%rdx), %zmm29, %zmm30 518 //CHECK: encoding: [0x62,0x62,0x95,0x40,0x83,0x72,0x80] 519 520 vpmultishiftqb -0x2040(%rdx), %zmm29, %zmm30 521 //CHECK: vpmultishiftqb -8256(%rdx), %zmm29, %zmm30 522 //CHECK: encoding: [0x62,0x62,0x95,0x40,0x83,0xb2,0xc0,0xdf,0xff,0xff] 523 524 vpmultishiftqb 0x3f8(%rdx){1to8}, %zmm29, %zmm30 525 //CHECK: vpmultishiftqb 1016(%rdx){1to8}, %zmm29, %zmm30 526 //CHECK: encoding: [0x62,0x62,0x95,0x50,0x83,0x72,0x7f] 527 528 vpmultishiftqb 0x400(%rdx){1to8}, %zmm29, %zmm30 529 //CHECK: vpmultishiftqb 1024(%rdx){1to8}, %zmm29, %zmm30 530 //CHECK: encoding: [0x62,0x62,0x95,0x50,0x83,0xb2,0x00,0x04,0x00,0x00] 531 532 vpmultishiftqb -0x400(%rdx){1to8}, %zmm29, %zmm30 533 //CHECK: vpmultishiftqb -1024(%rdx){1to8}, %zmm29, %zmm30 534 //CHECK: encoding: [0x62,0x62,0x95,0x50,0x83,0x72,0x80] 535 536 vpmultishiftqb -0x408(%rdx){1to8}, %zmm29, %zmm30 537 //CHECK: vpmultishiftqb -1032(%rdx){1to8}, %zmm29, %zmm30 538 //CHECK: encoding: [0x62,0x62,0x95,0x50,0x83,0xb2,0xf8,0xfb,0xff,0xff] 539 540 vpmultishiftqb 0x1234(%rax,%r14,8), %zmm29, %zmm30 541 //CHECK: vpmultishiftqb 4660(%rax,%r14,8), %zmm29, %zmm30 542 //CHECK: encoding: [0x62,0x22,0x95,0x40,0x83,0xb4,0xf0,0x34,0x12,0x00,0x00] 543 544