1# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s 2 3# CHECK: vpopcntb zmm21, zmm23 4# CHECK: encoding: [0x62,0xa2,0x7d,0x48,0x54,0xef] 5 vpopcntb zmm21, zmm23 6 7# CHECK: vpopcntw zmm21, zmm23 8# CHECK: encoding: [0x62,0xa2,0xfd,0x48,0x54,0xef] 9 vpopcntw zmm21, zmm23 10 11# CHECK: vpopcntb zmm1 {k2}, zmm3 12# CHECK: encoding: [0x62,0xf2,0x7d,0x4a,0x54,0xcb] 13 vpopcntb zmm1 {k2}, zmm3 14 15# CHECK: vpopcntw zmm1 {k2}, zmm3 16# CHECK: encoding: [0x62,0xf2,0xfd,0x4a,0x54,0xcb] 17 vpopcntw zmm1 {k2}, zmm3 18 19# CHECK: vpopcntb zmm1, zmmword ptr [rcx] 20# CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x54,0x09] 21 vpopcntb zmm1, zmmword ptr [rcx] 22 23# CHECK: vpopcntb zmm1, zmmword ptr [rsp - 256] 24# CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x54,0x4c,0x24,0xfc] 25 vpopcntb zmm1, zmmword ptr [rsp - 256] 26 27# CHECK: vpopcntb zmm1, zmmword ptr [rsp + 256] 28# CHECK: encoding: [0x62,0xf2,0x7d,0x48,0x54,0x4c,0x24,0x04] 29 vpopcntb zmm1, zmmword ptr [rsp + 256] 30 31# CHECK: vpopcntb zmm1, zmmword ptr [rcx + 8*r14 + 268435456] 32# CHECK: encoding: [0x62,0xb2,0x7d,0x48,0x54,0x8c,0xf1,0x00,0x00,0x00,0x10] 33 vpopcntb zmm1, zmmword ptr [rcx + 8*r14 + 268435456] 34 35# CHECK: vpopcntb zmm1, zmmword ptr [rcx + 8*r14 - 536870912] 36# CHECK: encoding: [0x62,0xb2,0x7d,0x48,0x54,0x8c,0xf1,0x00,0x00,0x00,0xe0] 37 vpopcntb zmm1, zmmword ptr [rcx + 8*r14 - 536870912] 38 39# CHECK: vpopcntb zmm1, zmmword ptr [rcx + 8*r14 - 536870910] 40# CHECK: encoding: [0x62,0xb2,0x7d,0x48,0x54,0x8c,0xf1,0x02,0x00,0x00,0xe0] 41 vpopcntb zmm1, zmmword ptr [rcx + 8*r14 - 536870910] 42 43# CHECK: vpopcntw zmm1, zmmword ptr [rcx] 44# CHECK: encoding: [0x62,0xf2,0xfd,0x48,0x54,0x09] 45 vpopcntw zmm1, zmmword ptr [rcx] 46 47# CHECK: vpopcntw zmm1, zmmword ptr [rsp - 256] 48# CHECK: encoding: [0x62,0xf2,0xfd,0x48,0x54,0x4c,0x24,0xfc] 49 vpopcntw zmm1, zmmword ptr [rsp - 256] 50 51# CHECK: vpopcntw zmm1, zmmword ptr [rsp + 256] 52# CHECK: encoding: [0x62,0xf2,0xfd,0x48,0x54,0x4c,0x24,0x04] 53 vpopcntw zmm1, zmmword ptr [rsp + 256] 54 55# CHECK: vpopcntw zmm1, zmmword ptr [rcx + 8*r14 + 268435456] 56# CHECK: encoding: [0x62,0xb2,0xfd,0x48,0x54,0x8c,0xf1,0x00,0x00,0x00,0x10] 57 vpopcntw zmm1, zmmword ptr [rcx + 8*r14 + 268435456] 58 59# CHECK: vpopcntw zmm1, zmmword ptr [rcx + 8*r14 - 536870912] 60# CHECK: encoding: [0x62,0xb2,0xfd,0x48,0x54,0x8c,0xf1,0x00,0x00,0x00,0xe0] 61 vpopcntw zmm1, zmmword ptr [rcx + 8*r14 - 536870912] 62 63# CHECK: vpopcntw zmm1, zmmword ptr [rcx + 8*r14 - 536870910] 64# CHECK: encoding: [0x62,0xb2,0xfd,0x48,0x54,0x8c,0xf1,0x02,0x00,0x00,0xe0] 65 vpopcntw zmm1, zmmword ptr [rcx + 8*r14 - 536870910] 66 67# CHECK: vpopcntb zmm21 {k2}, zmmword ptr [rcx] 68# CHECK: encoding: [0x62,0xe2,0x7d,0x4a,0x54,0x29] 69 vpopcntb zmm21 {k2}, zmmword ptr [rcx] 70 71# CHECK: vpopcntb zmm21 {k2}, zmmword ptr [rsp - 256] 72# CHECK: encoding: [0x62,0xe2,0x7d,0x4a,0x54,0x6c,0x24,0xfc] 73 vpopcntb zmm21 {k2}, zmmword ptr [rsp - 256] 74 75# CHECK: vpopcntb zmm21 {k2}, zmmword ptr [rsp + 256] 76# CHECK: encoding: [0x62,0xe2,0x7d,0x4a,0x54,0x6c,0x24,0x04] 77 vpopcntb zmm21 {k2}, zmmword ptr [rsp + 256] 78 79# CHECK: vpopcntb zmm21 {k2}, zmmword ptr [rcx + 8*r14 + 268435456] 80# CHECK: encoding: [0x62,0xa2,0x7d,0x4a,0x54,0xac,0xf1,0x00,0x00,0x00,0x10] 81 vpopcntb zmm21 {k2}, zmmword ptr [rcx + 8*r14 + 268435456] 82 83# CHECK: vpopcntb zmm21 {k2}, zmmword ptr [rcx + 8*r14 - 536870912] 84# CHECK: encoding: [0x62,0xa2,0x7d,0x4a,0x54,0xac,0xf1,0x00,0x00,0x00,0xe0] 85 vpopcntb zmm21 {k2}, zmmword ptr [rcx + 8*r14 - 536870912] 86 87# CHECK: vpopcntb zmm21 {k2}, zmmword ptr [rcx + 8*r14 - 536870910] 88# CHECK: encoding: [0x62,0xa2,0x7d,0x4a,0x54,0xac,0xf1,0x02,0x00,0x00,0xe0] 89 vpopcntb zmm21 {k2}, zmmword ptr [rcx + 8*r14 - 536870910] 90 91# CHECK: vpopcntw zmm21 {k2}, zmmword ptr [rcx] 92# CHECK: encoding: [0x62,0xe2,0xfd,0x4a,0x54,0x29] 93 vpopcntw zmm21 {k2}, zmmword ptr [rcx] 94 95# CHECK: vpopcntw zmm21 {k2}, zmmword ptr [rsp - 256] 96# CHECK: encoding: [0x62,0xe2,0xfd,0x4a,0x54,0x6c,0x24,0xfc] 97 vpopcntw zmm21 {k2}, zmmword ptr [rsp - 256] 98 99# CHECK: vpopcntw zmm21 {k2}, zmmword ptr [rsp + 256] 100# CHECK: encoding: [0x62,0xe2,0xfd,0x4a,0x54,0x6c,0x24,0x04] 101 vpopcntw zmm21 {k2}, zmmword ptr [rsp + 256] 102 103# CHECK: vpopcntw zmm21 {k2}, zmmword ptr [rcx + 8*r14 + 268435456] 104# CHECK: encoding: [0x62,0xa2,0xfd,0x4a,0x54,0xac,0xf1,0x00,0x00,0x00,0x10] 105 vpopcntw zmm21 {k2}, zmmword ptr [rcx + 8*r14 + 268435456] 106 107# CHECK: vpopcntw zmm21 {k2}, zmmword ptr [rcx + 8*r14 - 536870912] 108# CHECK: encoding: [0x62,0xa2,0xfd,0x4a,0x54,0xac,0xf1,0x00,0x00,0x00,0xe0] 109 vpopcntw zmm21 {k2}, zmmword ptr [rcx + 8*r14 - 536870912] 110 111# CHECK: vpopcntw zmm21 {k2}, zmmword ptr [rcx + 8*r14 - 536870910] 112# CHECK: encoding: [0x62,0xa2,0xfd,0x4a,0x54,0xac,0xf1,0x02,0x00,0x00,0xe0] 113 vpopcntw zmm21 {k2}, zmmword ptr [rcx + 8*r14 - 536870910] 114 115# CHECK: vpshufbitqmb k1, zmm23, zmm2 116# CHECK: encoding: [0x62,0xf2,0x45,0x40,0x8f,0xca] 117 vpshufbitqmb k1, zmm23, zmm2 118 119# CHECK: vpshufbitqmb k1 {k2}, zmm23, zmm2 120# CHECK: encoding: [0x62,0xf2,0x45,0x42,0x8f,0xca] 121 vpshufbitqmb k1 {k2}, zmm23, zmm2 122 123# CHECK: vpshufbitqmb k1, zmm23, zmmword ptr [rcx] 124# CHECK: encoding: [0x62,0xf2,0x45,0x40,0x8f,0x09] 125 vpshufbitqmb k1, zmm23, zmmword ptr [rcx] 126 127# CHECK: vpshufbitqmb k1, zmm23, zmmword ptr [rsp - 256] 128# CHECK: encoding: [0x62,0xf2,0x45,0x40,0x8f,0x4c,0x24,0xfc] 129 vpshufbitqmb k1, zmm23, zmmword ptr [rsp - 256] 130 131# CHECK: vpshufbitqmb k1, zmm23, zmmword ptr [rsp + 256] 132# CHECK: encoding: [0x62,0xf2,0x45,0x40,0x8f,0x4c,0x24,0x04] 133 vpshufbitqmb k1, zmm23, zmmword ptr [rsp + 256] 134 135# CHECK: vpshufbitqmb k1, zmm23, zmmword ptr [rcx + 8*r14 + 268435456] 136# CHECK: encoding: [0x62,0xb2,0x45,0x40,0x8f,0x8c,0xf1,0x00,0x00,0x00,0x10] 137 vpshufbitqmb k1, zmm23, zmmword ptr [rcx + 8*r14 + 268435456] 138 139# CHECK: vpshufbitqmb k1, zmm23, zmmword ptr [rcx + 8*r14 - 536870912] 140# CHECK: encoding: [0x62,0xb2,0x45,0x40,0x8f,0x8c,0xf1,0x00,0x00,0x00,0xe0] 141 vpshufbitqmb k1, zmm23, zmmword ptr [rcx + 8*r14 - 536870912] 142 143# CHECK: vpshufbitqmb k1, zmm23, zmmword ptr [rcx + 8*r14 - 536870910] 144# CHECK: encoding: [0x62,0xb2,0x45,0x40,0x8f,0x8c,0xf1,0x02,0x00,0x00,0xe0] 145 vpshufbitqmb k1, zmm23, zmmword ptr [rcx + 8*r14 - 536870910] 146 147# CHECK: vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rcx] 148# CHECK: encoding: [0x62,0xf2,0x45,0x42,0x8f,0x09] 149 vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rcx] 150 151# CHECK: vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rsp - 256] 152# CHECK: encoding: [0x62,0xf2,0x45,0x42,0x8f,0x4c,0x24,0xfc] 153 vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rsp - 256] 154 155# CHECK: vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rsp + 256] 156# CHECK: encoding: [0x62,0xf2,0x45,0x42,0x8f,0x4c,0x24,0x04] 157 vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rsp + 256] 158 159# CHECK: vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rcx + 8*r14 + 268435456] 160# CHECK: encoding: [0x62,0xb2,0x45,0x42,0x8f,0x8c,0xf1,0x00,0x00,0x00,0x10] 161 vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rcx + 8*r14 + 268435456] 162 163# CHECK: vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rcx + 8*r14 - 536870912] 164# CHECK: encoding: [0x62,0xb2,0x45,0x42,0x8f,0x8c,0xf1,0x00,0x00,0x00,0xe0] 165 vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rcx + 8*r14 - 536870912] 166 167# CHECK: vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rcx + 8*r14 - 536870910] 168# CHECK: encoding: [0x62,0xb2,0x45,0x42,0x8f,0x8c,0xf1,0x02,0x00,0x00,0xe0] 169 vpshufbitqmb k1 {k2}, zmm23, zmmword ptr [rcx + 8*r14 - 536870910] 170