1// RUN: llvm-mc -triple x86_64-unknown-unknown --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