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