1# Check 64bit AVX512CD instructions
2
3	.allow_index_reg
4	.text
5_start:
6
7	vpconflictd	%zmm29, %zmm30	 # AVX512CD
8	vpconflictd	%zmm29, %zmm30{%k7}	 # AVX512CD
9	vpconflictd	%zmm29, %zmm30{%k7}{z}	 # AVX512CD
10	vpconflictd	(%rcx), %zmm30	 # AVX512CD
11	vpconflictd	0x123(%rax,%r14,8), %zmm30	 # AVX512CD
12	vpconflictd	(%rcx){1to16}, %zmm30	 # AVX512CD
13	vpconflictd	8128(%rdx), %zmm30	 # AVX512CD Disp8
14	vpconflictd	8192(%rdx), %zmm30	 # AVX512CD
15	vpconflictd	-8192(%rdx), %zmm30	 # AVX512CD Disp8
16	vpconflictd	-8256(%rdx), %zmm30	 # AVX512CD
17	vpconflictd	508(%rdx){1to16}, %zmm30	 # AVX512CD Disp8
18	vpconflictd	512(%rdx){1to16}, %zmm30	 # AVX512CD
19	vpconflictd	-512(%rdx){1to16}, %zmm30	 # AVX512CD Disp8
20	vpconflictd	-516(%rdx){1to16}, %zmm30	 # AVX512CD
21
22	vpconflictq	%zmm29, %zmm30	 # AVX512CD
23	vpconflictq	%zmm29, %zmm30{%k7}	 # AVX512CD
24	vpconflictq	%zmm29, %zmm30{%k7}{z}	 # AVX512CD
25	vpconflictq	(%rcx), %zmm30	 # AVX512CD
26	vpconflictq	0x123(%rax,%r14,8), %zmm30	 # AVX512CD
27	vpconflictq	(%rcx){1to8}, %zmm30	 # AVX512CD
28	vpconflictq	8128(%rdx), %zmm30	 # AVX512CD Disp8
29	vpconflictq	8192(%rdx), %zmm30	 # AVX512CD
30	vpconflictq	-8192(%rdx), %zmm30	 # AVX512CD Disp8
31	vpconflictq	-8256(%rdx), %zmm30	 # AVX512CD
32	vpconflictq	1016(%rdx){1to8}, %zmm30	 # AVX512CD Disp8
33	vpconflictq	1024(%rdx){1to8}, %zmm30	 # AVX512CD
34	vpconflictq	-1024(%rdx){1to8}, %zmm30	 # AVX512CD Disp8
35	vpconflictq	-1032(%rdx){1to8}, %zmm30	 # AVX512CD
36
37	vplzcntd	%zmm29, %zmm30	 # AVX512CD
38	vplzcntd	%zmm29, %zmm30{%k7}	 # AVX512CD
39	vplzcntd	%zmm29, %zmm30{%k7}{z}	 # AVX512CD
40	vplzcntd	(%rcx), %zmm30	 # AVX512CD
41	vplzcntd	0x123(%rax,%r14,8), %zmm30	 # AVX512CD
42	vplzcntd	(%rcx){1to16}, %zmm30	 # AVX512CD
43	vplzcntd	8128(%rdx), %zmm30	 # AVX512CD Disp8
44	vplzcntd	8192(%rdx), %zmm30	 # AVX512CD
45	vplzcntd	-8192(%rdx), %zmm30	 # AVX512CD Disp8
46	vplzcntd	-8256(%rdx), %zmm30	 # AVX512CD
47	vplzcntd	508(%rdx){1to16}, %zmm30	 # AVX512CD Disp8
48	vplzcntd	512(%rdx){1to16}, %zmm30	 # AVX512CD
49	vplzcntd	-512(%rdx){1to16}, %zmm30	 # AVX512CD Disp8
50	vplzcntd	-516(%rdx){1to16}, %zmm30	 # AVX512CD
51
52	vplzcntq	%zmm29, %zmm30	 # AVX512CD
53	vplzcntq	%zmm29, %zmm30{%k7}	 # AVX512CD
54	vplzcntq	%zmm29, %zmm30{%k7}{z}	 # AVX512CD
55	vplzcntq	(%rcx), %zmm30	 # AVX512CD
56	vplzcntq	0x123(%rax,%r14,8), %zmm30	 # AVX512CD
57	vplzcntq	(%rcx){1to8}, %zmm30	 # AVX512CD
58	vplzcntq	8128(%rdx), %zmm30	 # AVX512CD Disp8
59	vplzcntq	8192(%rdx), %zmm30	 # AVX512CD
60	vplzcntq	-8192(%rdx), %zmm30	 # AVX512CD Disp8
61	vplzcntq	-8256(%rdx), %zmm30	 # AVX512CD
62	vplzcntq	1016(%rdx){1to8}, %zmm30	 # AVX512CD Disp8
63	vplzcntq	1024(%rdx){1to8}, %zmm30	 # AVX512CD
64	vplzcntq	-1024(%rdx){1to8}, %zmm30	 # AVX512CD Disp8
65	vplzcntq	-1032(%rdx){1to8}, %zmm30	 # AVX512CD
66
67	vpbroadcastmw2d	%k6, %zmm30	 # AVX512CD
68
69	vpbroadcastmb2q	%k6, %zmm30	 # AVX512CD
70
71	.intel_syntax noprefix
72	vpconflictd	zmm30, zmm29	 # AVX512CD
73	vpconflictd	zmm30{k7}, zmm29	 # AVX512CD
74	vpconflictd	zmm30{k7}{z}, zmm29	 # AVX512CD
75	vpconflictd	zmm30, ZMMWORD PTR [rcx]	 # AVX512CD
76	vpconflictd	zmm30, ZMMWORD PTR [rax+r14*8+0x1234]	 # AVX512CD
77	vpconflictd	zmm30, [rcx]{1to16}	 # AVX512CD
78	vpconflictd	zmm30, ZMMWORD PTR [rdx+8128]	 # AVX512CD Disp8
79	vpconflictd	zmm30, ZMMWORD PTR [rdx+8192]	 # AVX512CD
80	vpconflictd	zmm30, ZMMWORD PTR [rdx-8192]	 # AVX512CD Disp8
81	vpconflictd	zmm30, ZMMWORD PTR [rdx-8256]	 # AVX512CD
82	vpconflictd	zmm30, [rdx+508]{1to16}	 # AVX512CD Disp8
83	vpconflictd	zmm30, [rdx+512]{1to16}	 # AVX512CD
84	vpconflictd	zmm30, [rdx-512]{1to16}	 # AVX512CD Disp8
85	vpconflictd	zmm30, [rdx-516]{1to16}	 # AVX512CD
86
87	vpconflictq	zmm30, zmm29	 # AVX512CD
88	vpconflictq	zmm30{k7}, zmm29	 # AVX512CD
89	vpconflictq	zmm30{k7}{z}, zmm29	 # AVX512CD
90	vpconflictq	zmm30, ZMMWORD PTR [rcx]	 # AVX512CD
91	vpconflictq	zmm30, ZMMWORD PTR [rax+r14*8+0x1234]	 # AVX512CD
92	vpconflictq	zmm30, [rcx]{1to8}	 # AVX512CD
93	vpconflictq	zmm30, ZMMWORD PTR [rdx+8128]	 # AVX512CD Disp8
94	vpconflictq	zmm30, ZMMWORD PTR [rdx+8192]	 # AVX512CD
95	vpconflictq	zmm30, ZMMWORD PTR [rdx-8192]	 # AVX512CD Disp8
96	vpconflictq	zmm30, ZMMWORD PTR [rdx-8256]	 # AVX512CD
97	vpconflictq	zmm30, [rdx+1016]{1to8}	 # AVX512CD Disp8
98	vpconflictq	zmm30, [rdx+1024]{1to8}	 # AVX512CD
99	vpconflictq	zmm30, [rdx-1024]{1to8}	 # AVX512CD Disp8
100	vpconflictq	zmm30, [rdx-1032]{1to8}	 # AVX512CD
101
102	vplzcntd	zmm30, zmm29	 # AVX512CD
103	vplzcntd	zmm30{k7}, zmm29	 # AVX512CD
104	vplzcntd	zmm30{k7}{z}, zmm29	 # AVX512CD
105	vplzcntd	zmm30, ZMMWORD PTR [rcx]	 # AVX512CD
106	vplzcntd	zmm30, ZMMWORD PTR [rax+r14*8+0x1234]	 # AVX512CD
107	vplzcntd	zmm30, [rcx]{1to16}	 # AVX512CD
108	vplzcntd	zmm30, ZMMWORD PTR [rdx+8128]	 # AVX512CD Disp8
109	vplzcntd	zmm30, ZMMWORD PTR [rdx+8192]	 # AVX512CD
110	vplzcntd	zmm30, ZMMWORD PTR [rdx-8192]	 # AVX512CD Disp8
111	vplzcntd	zmm30, ZMMWORD PTR [rdx-8256]	 # AVX512CD
112	vplzcntd	zmm30, [rdx+508]{1to16}	 # AVX512CD Disp8
113	vplzcntd	zmm30, [rdx+512]{1to16}	 # AVX512CD
114	vplzcntd	zmm30, [rdx-512]{1to16}	 # AVX512CD Disp8
115	vplzcntd	zmm30, [rdx-516]{1to16}	 # AVX512CD
116
117	vplzcntq	zmm30, zmm29	 # AVX512CD
118	vplzcntq	zmm30{k7}, zmm29	 # AVX512CD
119	vplzcntq	zmm30{k7}{z}, zmm29	 # AVX512CD
120	vplzcntq	zmm30, ZMMWORD PTR [rcx]	 # AVX512CD
121	vplzcntq	zmm30, ZMMWORD PTR [rax+r14*8+0x1234]	 # AVX512CD
122	vplzcntq	zmm30, [rcx]{1to8}	 # AVX512CD
123	vplzcntq	zmm30, ZMMWORD PTR [rdx+8128]	 # AVX512CD Disp8
124	vplzcntq	zmm30, ZMMWORD PTR [rdx+8192]	 # AVX512CD
125	vplzcntq	zmm30, ZMMWORD PTR [rdx-8192]	 # AVX512CD Disp8
126	vplzcntq	zmm30, ZMMWORD PTR [rdx-8256]	 # AVX512CD
127	vplzcntq	zmm30, [rdx+1016]{1to8}	 # AVX512CD Disp8
128	vplzcntq	zmm30, [rdx+1024]{1to8}	 # AVX512CD
129	vplzcntq	zmm30, [rdx-1024]{1to8}	 # AVX512CD Disp8
130	vplzcntq	zmm30, [rdx-1032]{1to8}	 # AVX512CD
131
132	vpbroadcastmw2d	zmm30, k6	 # AVX512CD
133
134	vpbroadcastmb2q	zmm30, k6	 # AVX512CD
135
136