1 // RUN
: llvm-mc
-triple x86_64-unknown-unknown
--show-encoding
%s | FileCheck
%s
3 // CHECK
: vpopcntq
%zmm25
, %zmm20
4 // CHECK
: encoding
: [0x62,0x82,0xfd,0x48,0x55,0xe1]
5 vpopcntq
%zmm25
, %zmm20
7 // CHECK
: vpopcntq
%zmm25
, %zmm20
{%k6
}
8 // CHECK
: encoding
: [0x62,0x82,0xfd,0x4e,0x55,0xe1]
9 vpopcntq
%zmm25
, %zmm20
{%k6
}
11 // CHECK
: vpopcntq
%zmm25
, %zmm20
{%k6
} {z
}
12 // CHECK
: encoding
: [0x62,0x82,0xfd,0xce,0x55,0xe1]
13 vpopcntq
%zmm25
, %zmm20
{%k6
} {z
}
15 // CHECK
: vpopcntq
(%rcx
), %zmm20
16 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x48,0x55,0x21]
17 vpopcntq
(%rcx
), %zmm20
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
23 // CHECK
: vpopcntq
(%rcx
){1to8
}, %zmm20
24 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x58,0x55,0x21]
25 vpopcntq
(%rcx
){1to8
}, %zmm20
27 // CHECK
: vpopcntq
4064(%rdx
), %zmm20
28 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x48,0x55,0xa2,0xe0,0x0f,0x00,0x00]
29 vpopcntq
4064(%rdx
), %zmm20
31 // CHECK
: vpopcntq
4096(%rdx
), %zmm20
32 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x48,0x55,0x62,0x40]
33 vpopcntq
4096(%rdx
), %zmm20
35 // CHECK
: vpopcntq
-4096(%rdx
), %zmm20
36 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x48,0x55,0x62,0xc0]
37 vpopcntq
-4096(%rdx
), %zmm20
39 // CHECK
: vpopcntq
-4128(%rdx
), %zmm20
40 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x48,0x55,0xa2,0xe0,0xef,0xff,0xff]
41 vpopcntq
-4128(%rdx
), %zmm20
43 // CHECK
: vpopcntq
1016(%rdx
){1to8
}, %zmm20
44 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x58,0x55,0x62,0x7f]
45 vpopcntq
1016(%rdx
){1to8
}, %zmm20
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
51 // CHECK
: vpopcntq
-1024(%rdx
){1to8
}, %zmm20
52 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x58,0x55,0x62,0x80]
53 vpopcntq
-1024(%rdx
){1to8
}, %zmm20
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
59 // CHECK
: vpopcntq
%zmm21
, %zmm17
60 // CHECK
: encoding
: [0x62,0xa2,0xfd,0x48,0x55,0xcd]
61 vpopcntq
%zmm21
, %zmm17
63 // CHECK
: vpopcntq
%zmm21
, %zmm17
{%k6
}
64 // CHECK
: encoding
: [0x62,0xa2,0xfd,0x4e,0x55,0xcd]
65 vpopcntq
%zmm21
, %zmm17
{%k6
}
67 // CHECK
: vpopcntq
%zmm21
, %zmm17
{%k6
} {z
}
68 // CHECK
: encoding
: [0x62,0xa2,0xfd,0xce,0x55,0xcd]
69 vpopcntq
%zmm21
, %zmm17
{%k6
} {z
}
71 // CHECK
: vpopcntq
(%rcx
), %zmm17
72 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x48,0x55,0x09]
73 vpopcntq
(%rcx
), %zmm17
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
79 // CHECK
: vpopcntq
(%rcx
){1to8
}, %zmm17
80 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x58,0x55,0x09]
81 vpopcntq
(%rcx
){1to8
}, %zmm17
83 // CHECK
: vpopcntq
4064(%rdx
), %zmm17
84 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x48,0x55,0x8a,0xe0,0x0f,0x00,0x00]
85 vpopcntq
4064(%rdx
), %zmm17
87 // CHECK
: vpopcntq
4096(%rdx
), %zmm17
88 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x48,0x55,0x4a,0x40]
89 vpopcntq
4096(%rdx
), %zmm17
91 // CHECK
: vpopcntq
-4096(%rdx
), %zmm17
92 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x48,0x55,0x4a,0xc0]
93 vpopcntq
-4096(%rdx
), %zmm17
95 // CHECK
: vpopcntq
-4128(%rdx
), %zmm17
96 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x48,0x55,0x8a,0xe0,0xef,0xff,0xff]
97 vpopcntq
-4128(%rdx
), %zmm17
99 // CHECK
: vpopcntq
1016(%rdx
){1to8
}, %zmm17
100 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x58,0x55,0x4a,0x7f]
101 vpopcntq
1016(%rdx
){1to8
}, %zmm17
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
107 // CHECK
: vpopcntq
-1024(%rdx
){1to8
}, %zmm17
108 // CHECK
: encoding
: [0x62,0xe2,0xfd,0x58,0x55,0x4a,0x80]
109 vpopcntq
-1024(%rdx
){1to8
}, %zmm17
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
115 // CHECK
: vpopcntd
%zmm19
, %zmm25
116 // CHECK
: encoding
: [0x62,0x22,0x7d,0x48,0x55,0xcb]
117 vpopcntd
%zmm19
, %zmm25
119 // CHECK
: vpopcntd
%zmm19
, %zmm25
{%k4
}
120 // CHECK
: encoding
: [0x62,0x22,0x7d,0x4c,0x55,0xcb]
121 vpopcntd
%zmm19
, %zmm25
{%k4
}
123 // CHECK
: vpopcntd
%zmm19
, %zmm25
{%k4
} {z
}
124 // CHECK
: encoding
: [0x62,0x22,0x7d,0xcc,0x55,0xcb]
125 vpopcntd
%zmm19
, %zmm25
{%k4
} {z
}
127 // CHECK
: vpopcntd
(%rcx
), %zmm25
128 // CHECK
: encoding
: [0x62,0x62,0x7d,0x48,0x55,0x09]
129 vpopcntd
(%rcx
), %zmm25
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
135 // CHECK
: vpopcntd
(%rcx
){1to16
}, %zmm25
136 // CHECK
: encoding
: [0x62,0x62,0x7d,0x58,0x55,0x09]
137 vpopcntd
(%rcx
){1to16
}, %zmm25
139 // CHECK
: vpopcntd
4064(%rdx
), %zmm25
140 // CHECK
: encoding
: [0x62,0x62,0x7d,0x48,0x55,0x8a,0xe0,0x0f,0x00,0x00]
141 vpopcntd
4064(%rdx
), %zmm25
143 // CHECK
: vpopcntd
4096(%rdx
), %zmm25
144 // CHECK
: encoding
: [0x62,0x62,0x7d,0x48,0x55,0x4a,0x40]
145 vpopcntd
4096(%rdx
), %zmm25
147 // CHECK
: vpopcntd
-4096(%rdx
), %zmm25
148 // CHECK
: encoding
: [0x62,0x62,0x7d,0x48,0x55,0x4a,0xc0]
149 vpopcntd
-4096(%rdx
), %zmm25
151 // CHECK
: vpopcntd
-4128(%rdx
), %zmm25
152 // CHECK
: encoding
: [0x62,0x62,0x7d,0x48,0x55,0x8a,0xe0,0xef,0xff,0xff]
153 vpopcntd
-4128(%rdx
), %zmm25
155 // CHECK
: vpopcntd
508(%rdx
){1to16
}, %zmm25
156 // CHECK
: encoding
: [0x62,0x62,0x7d,0x58,0x55,0x4a,0x7f]
157 vpopcntd
508(%rdx
){1to16
}, %zmm25
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
163 // CHECK
: vpopcntd
-512(%rdx
){1to16
}, %zmm25
164 // CHECK
: encoding
: [0x62,0x62,0x7d,0x58,0x55,0x4a,0x80]
165 vpopcntd
-512(%rdx
){1to16
}, %zmm25
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
171 // CHECK
: vpopcntd
%zmm21
, %zmm26
172 // CHECK
: encoding
: [0x62,0x22,0x7d,0x48,0x55,0xd5]
173 vpopcntd
%zmm21
, %zmm26
175 // CHECK
: vpopcntd
%zmm21
, %zmm26
{%k4
}
176 // CHECK
: encoding
: [0x62,0x22,0x7d,0x4c,0x55,0xd5]
177 vpopcntd
%zmm21
, %zmm26
{%k4
}
179 // CHECK
: vpopcntd
%zmm21
, %zmm26
{%k4
} {z
}
180 // CHECK
: encoding
: [0x62,0x22,0x7d,0xcc,0x55,0xd5]
181 vpopcntd
%zmm21
, %zmm26
{%k4
} {z
}
183 // CHECK
: vpopcntd
(%rcx
), %zmm26
184 // CHECK
: encoding
: [0x62,0x62,0x7d,0x48,0x55,0x11]
185 vpopcntd
(%rcx
), %zmm26
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
191 // CHECK
: vpopcntd
(%rcx
){1to16
}, %zmm26
192 // CHECK
: encoding
: [0x62,0x62,0x7d,0x58,0x55,0x11]
193 vpopcntd
(%rcx
){1to16
}, %zmm26
195 // CHECK
: vpopcntd
4064(%rdx
), %zmm26
196 // CHECK
: encoding
: [0x62,0x62,0x7d,0x48,0x55,0x92,0xe0,0x0f,0x00,0x00]
197 vpopcntd
4064(%rdx
), %zmm26
199 // CHECK
: vpopcntd
4096(%rdx
), %zmm26
200 // CHECK
: encoding
: [0x62,0x62,0x7d,0x48,0x55,0x52,0x40]
201 vpopcntd
4096(%rdx
), %zmm26
203 // CHECK
: vpopcntd
-4096(%rdx
), %zmm26
204 // CHECK
: encoding
: [0x62,0x62,0x7d,0x48,0x55,0x52,0xc0]
205 vpopcntd
-4096(%rdx
), %zmm26
207 // CHECK
: vpopcntd
-4128(%rdx
), %zmm26
208 // CHECK
: encoding
: [0x62,0x62,0x7d,0x48,0x55,0x92,0xe0,0xef,0xff,0xff]
209 vpopcntd
-4128(%rdx
), %zmm26
211 // CHECK
: vpopcntd
508(%rdx
){1to16
}, %zmm26
212 // CHECK
: encoding
: [0x62,0x62,0x7d,0x58,0x55,0x52,0x7f]
213 vpopcntd
508(%rdx
){1to16
}, %zmm26
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
219 // CHECK
: vpopcntd
-512(%rdx
){1to16
}, %zmm26
220 // CHECK
: encoding
: [0x62,0x62,0x7d,0x58,0x55,0x52,0x80]
221 vpopcntd
-512(%rdx
){1to16
}, %zmm26
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