1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s 2 3// CHECK: vpopcntq %zmm25, %zmm20 4// CHECK: encoding: [0x62,0x82,0xfd,0x48,0x55,0xe1] 5 vpopcntq %zmm25, %zmm20 6 7// CHECK: vpopcntq %zmm25, %zmm20 {%k6} 8// CHECK: encoding: [0x62,0x82,0xfd,0x4e,0x55,0xe1] 9 vpopcntq %zmm25, %zmm20 {%k6} 10 11// CHECK: vpopcntq %zmm25, %zmm20 {%k6} {z} 12// CHECK: encoding: [0x62,0x82,0xfd,0xce,0x55,0xe1] 13 vpopcntq %zmm25, %zmm20 {%k6} {z} 14 15// CHECK: vpopcntq (%rcx), %zmm20 16// CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x55,0x21] 17 vpopcntq (%rcx), %zmm20 18 19// CHECK: vpopcntq 291(%rax,%r14,8), %zmm20 20// CHECK: encoding: [0x62,0xa2,0xfd,0x48,0x55,0xa4,0xf0,0x23,0x01,0x00,0x00] 21 vpopcntq 291(%rax,%r14,8), %zmm20 22 23// CHECK: vpopcntq (%rcx){1to8}, %zmm20 24// CHECK: encoding: [0x62,0xe2,0xfd,0x58,0x55,0x21] 25 vpopcntq (%rcx){1to8}, %zmm20 26 27// CHECK: vpopcntq 4064(%rdx), %zmm20 28// CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x55,0xa2,0xe0,0x0f,0x00,0x00] 29 vpopcntq 4064(%rdx), %zmm20 30 31// CHECK: vpopcntq 4096(%rdx), %zmm20 32// CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x55,0x62,0x40] 33 vpopcntq 4096(%rdx), %zmm20 34 35// CHECK: vpopcntq -4096(%rdx), %zmm20 36// CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x55,0x62,0xc0] 37 vpopcntq -4096(%rdx), %zmm20 38 39// CHECK: vpopcntq -4128(%rdx), %zmm20 40// CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x55,0xa2,0xe0,0xef,0xff,0xff] 41 vpopcntq -4128(%rdx), %zmm20 42 43// CHECK: vpopcntq 1016(%rdx){1to8}, %zmm20 44// CHECK: encoding: [0x62,0xe2,0xfd,0x58,0x55,0x62,0x7f] 45 vpopcntq 1016(%rdx){1to8}, %zmm20 46 47// CHECK: vpopcntq 1024(%rdx){1to8}, %zmm20 48// CHECK: encoding: [0x62,0xe2,0xfd,0x58,0x55,0xa2,0x00,0x04,0x00,0x00] 49 vpopcntq 1024(%rdx){1to8}, %zmm20 50 51// CHECK: vpopcntq -1024(%rdx){1to8}, %zmm20 52// CHECK: encoding: [0x62,0xe2,0xfd,0x58,0x55,0x62,0x80] 53 vpopcntq -1024(%rdx){1to8}, %zmm20 54 55// CHECK: vpopcntq -1032(%rdx){1to8}, %zmm20 56// CHECK: encoding: [0x62,0xe2,0xfd,0x58,0x55,0xa2,0xf8,0xfb,0xff,0xff] 57 vpopcntq -1032(%rdx){1to8}, %zmm20 58 59// CHECK: vpopcntq %zmm21, %zmm17 60// CHECK: encoding: [0x62,0xa2,0xfd,0x48,0x55,0xcd] 61 vpopcntq %zmm21, %zmm17 62 63// CHECK: vpopcntq %zmm21, %zmm17 {%k6} 64// CHECK: encoding: [0x62,0xa2,0xfd,0x4e,0x55,0xcd] 65 vpopcntq %zmm21, %zmm17 {%k6} 66 67// CHECK: vpopcntq %zmm21, %zmm17 {%k6} {z} 68// CHECK: encoding: [0x62,0xa2,0xfd,0xce,0x55,0xcd] 69 vpopcntq %zmm21, %zmm17 {%k6} {z} 70 71// CHECK: vpopcntq (%rcx), %zmm17 72// CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x55,0x09] 73 vpopcntq (%rcx), %zmm17 74 75// CHECK: vpopcntq 4660(%rax,%r14,8), %zmm17 76// CHECK: encoding: [0x62,0xa2,0xfd,0x48,0x55,0x8c,0xf0,0x34,0x12,0x00,0x00] 77 vpopcntq 4660(%rax,%r14,8), %zmm17 78 79// CHECK: vpopcntq (%rcx){1to8}, %zmm17 80// CHECK: encoding: [0x62,0xe2,0xfd,0x58,0x55,0x09] 81 vpopcntq (%rcx){1to8}, %zmm17 82 83// CHECK: vpopcntq 4064(%rdx), %zmm17 84// CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x55,0x8a,0xe0,0x0f,0x00,0x00] 85 vpopcntq 4064(%rdx), %zmm17 86 87// CHECK: vpopcntq 4096(%rdx), %zmm17 88// CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x55,0x4a,0x40] 89 vpopcntq 4096(%rdx), %zmm17 90 91// CHECK: vpopcntq -4096(%rdx), %zmm17 92// CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x55,0x4a,0xc0] 93 vpopcntq -4096(%rdx), %zmm17 94 95// CHECK: vpopcntq -4128(%rdx), %zmm17 96// CHECK: encoding: [0x62,0xe2,0xfd,0x48,0x55,0x8a,0xe0,0xef,0xff,0xff] 97 vpopcntq -4128(%rdx), %zmm17 98 99// CHECK: vpopcntq 1016(%rdx){1to8}, %zmm17 100// CHECK: encoding: [0x62,0xe2,0xfd,0x58,0x55,0x4a,0x7f] 101 vpopcntq 1016(%rdx){1to8}, %zmm17 102 103// CHECK: vpopcntq 1024(%rdx){1to8}, %zmm17 104// CHECK: encoding: [0x62,0xe2,0xfd,0x58,0x55,0x8a,0x00,0x04,0x00,0x00] 105 vpopcntq 1024(%rdx){1to8}, %zmm17 106 107// CHECK: vpopcntq -1024(%rdx){1to8}, %zmm17 108// CHECK: encoding: [0x62,0xe2,0xfd,0x58,0x55,0x4a,0x80] 109 vpopcntq -1024(%rdx){1to8}, %zmm17 110 111// CHECK: vpopcntq -1032(%rdx){1to8}, %zmm17 112// CHECK: encoding: [0x62,0xe2,0xfd,0x58,0x55,0x8a,0xf8,0xfb,0xff,0xff] 113 vpopcntq -1032(%rdx){1to8}, %zmm17 114 115// CHECK: vpopcntd %zmm19, %zmm25 116// CHECK: encoding: [0x62,0x22,0x7d,0x48,0x55,0xcb] 117 vpopcntd %zmm19, %zmm25 118 119// CHECK: vpopcntd %zmm19, %zmm25 {%k4} 120// CHECK: encoding: [0x62,0x22,0x7d,0x4c,0x55,0xcb] 121 vpopcntd %zmm19, %zmm25 {%k4} 122 123// CHECK: vpopcntd %zmm19, %zmm25 {%k4} {z} 124// CHECK: encoding: [0x62,0x22,0x7d,0xcc,0x55,0xcb] 125 vpopcntd %zmm19, %zmm25 {%k4} {z} 126 127// CHECK: vpopcntd (%rcx), %zmm25 128// CHECK: encoding: [0x62,0x62,0x7d,0x48,0x55,0x09] 129 vpopcntd (%rcx), %zmm25 130 131// CHECK: vpopcntd 291(%rax,%r14,8), %zmm25 132// CHECK: encoding: [0x62,0x22,0x7d,0x48,0x55,0x8c,0xf0,0x23,0x01,0x00,0x00] 133 vpopcntd 291(%rax,%r14,8), %zmm25 134 135// CHECK: vpopcntd (%rcx){1to16}, %zmm25 136// CHECK: encoding: [0x62,0x62,0x7d,0x58,0x55,0x09] 137 vpopcntd (%rcx){1to16}, %zmm25 138 139// CHECK: vpopcntd 4064(%rdx), %zmm25 140// CHECK: encoding: [0x62,0x62,0x7d,0x48,0x55,0x8a,0xe0,0x0f,0x00,0x00] 141 vpopcntd 4064(%rdx), %zmm25 142 143// CHECK: vpopcntd 4096(%rdx), %zmm25 144// CHECK: encoding: [0x62,0x62,0x7d,0x48,0x55,0x4a,0x40] 145 vpopcntd 4096(%rdx), %zmm25 146 147// CHECK: vpopcntd -4096(%rdx), %zmm25 148// CHECK: encoding: [0x62,0x62,0x7d,0x48,0x55,0x4a,0xc0] 149 vpopcntd -4096(%rdx), %zmm25 150 151// CHECK: vpopcntd -4128(%rdx), %zmm25 152// CHECK: encoding: [0x62,0x62,0x7d,0x48,0x55,0x8a,0xe0,0xef,0xff,0xff] 153 vpopcntd -4128(%rdx), %zmm25 154 155// CHECK: vpopcntd 508(%rdx){1to16}, %zmm25 156// CHECK: encoding: [0x62,0x62,0x7d,0x58,0x55,0x4a,0x7f] 157 vpopcntd 508(%rdx){1to16}, %zmm25 158 159// CHECK: vpopcntd 512(%rdx){1to16}, %zmm25 160// CHECK: encoding: [0x62,0x62,0x7d,0x58,0x55,0x8a,0x00,0x02,0x00,0x00] 161 vpopcntd 512(%rdx){1to16}, %zmm25 162 163// CHECK: vpopcntd -512(%rdx){1to16}, %zmm25 164// CHECK: encoding: [0x62,0x62,0x7d,0x58,0x55,0x4a,0x80] 165 vpopcntd -512(%rdx){1to16}, %zmm25 166 167// CHECK: vpopcntd -516(%rdx){1to16}, %zmm25 168// CHECK: encoding: [0x62,0x62,0x7d,0x58,0x55,0x8a,0xfc,0xfd,0xff,0xff] 169 vpopcntd -516(%rdx){1to16}, %zmm25 170 171// CHECK: vpopcntd %zmm21, %zmm26 172// CHECK: encoding: [0x62,0x22,0x7d,0x48,0x55,0xd5] 173 vpopcntd %zmm21, %zmm26 174 175// CHECK: vpopcntd %zmm21, %zmm26 {%k4} 176// CHECK: encoding: [0x62,0x22,0x7d,0x4c,0x55,0xd5] 177 vpopcntd %zmm21, %zmm26 {%k4} 178 179// CHECK: vpopcntd %zmm21, %zmm26 {%k4} {z} 180// CHECK: encoding: [0x62,0x22,0x7d,0xcc,0x55,0xd5] 181 vpopcntd %zmm21, %zmm26 {%k4} {z} 182 183// CHECK: vpopcntd (%rcx), %zmm26 184// CHECK: encoding: [0x62,0x62,0x7d,0x48,0x55,0x11] 185 vpopcntd (%rcx), %zmm26 186 187// CHECK: vpopcntd 4660(%rax,%r14,8), %zmm26 188// CHECK: encoding: [0x62,0x22,0x7d,0x48,0x55,0x94,0xf0,0x34,0x12,0x00,0x00] 189 vpopcntd 4660(%rax,%r14,8), %zmm26 190 191// CHECK: vpopcntd (%rcx){1to16}, %zmm26 192// CHECK: encoding: [0x62,0x62,0x7d,0x58,0x55,0x11] 193 vpopcntd (%rcx){1to16}, %zmm26 194 195// CHECK: vpopcntd 4064(%rdx), %zmm26 196// CHECK: encoding: [0x62,0x62,0x7d,0x48,0x55,0x92,0xe0,0x0f,0x00,0x00] 197 vpopcntd 4064(%rdx), %zmm26 198 199// CHECK: vpopcntd 4096(%rdx), %zmm26 200// CHECK: encoding: [0x62,0x62,0x7d,0x48,0x55,0x52,0x40] 201 vpopcntd 4096(%rdx), %zmm26 202 203// CHECK: vpopcntd -4096(%rdx), %zmm26 204// CHECK: encoding: [0x62,0x62,0x7d,0x48,0x55,0x52,0xc0] 205 vpopcntd -4096(%rdx), %zmm26 206 207// CHECK: vpopcntd -4128(%rdx), %zmm26 208// CHECK: encoding: [0x62,0x62,0x7d,0x48,0x55,0x92,0xe0,0xef,0xff,0xff] 209 vpopcntd -4128(%rdx), %zmm26 210 211// CHECK: vpopcntd 508(%rdx){1to16}, %zmm26 212// CHECK: encoding: [0x62,0x62,0x7d,0x58,0x55,0x52,0x7f] 213 vpopcntd 508(%rdx){1to16}, %zmm26 214 215// CHECK: vpopcntd 512(%rdx){1to16}, %zmm26 216// CHECK: encoding: [0x62,0x62,0x7d,0x58,0x55,0x92,0x00,0x02,0x00,0x00] 217 vpopcntd 512(%rdx){1to16}, %zmm26 218 219// CHECK: vpopcntd -512(%rdx){1to16}, %zmm26 220// CHECK: encoding: [0x62,0x62,0x7d,0x58,0x55,0x52,0x80] 221 vpopcntd -512(%rdx){1to16}, %zmm26 222 223// CHECK: vpopcntd -516(%rdx){1to16}, %zmm26 224// CHECK: encoding: [0x62,0x62,0x7d,0x58,0x55,0x92,0xfc,0xfd,0xff,0xff] 225 vpopcntd -516(%rdx){1to16}, %zmm26 226