1# Check 64bit AVX512PF instructions
2
3	.allow_index_reg
4	.text
5_start:
6
7	vgatherpf0dpd	123(%r14,%ymm31,8){%k1}	 # AVX512PF
8	vgatherpf0dpd	123(%r14,%ymm31,8){%k1}	 # AVX512PF
9	vgatherpf0dpd	256(%r9,%ymm31){%k1}	 # AVX512PF
10	vgatherpf0dpd	1024(%rcx,%ymm31,4){%k1}	 # AVX512PF
11
12	vgatherpf0dps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
13	vgatherpf0dps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
14	vgatherpf0dps	256(%r9,%zmm31){%k1}	 # AVX512PF
15	vgatherpf0dps	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
16
17	vgatherpf0qpd	123(%r14,%zmm31,8){%k1}	 # AVX512PF
18	vgatherpf0qpd	123(%r14,%zmm31,8){%k1}	 # AVX512PF
19	vgatherpf0qpd	256(%r9,%zmm31){%k1}	 # AVX512PF
20	vgatherpf0qpd	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
21
22	vgatherpf0qps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
23	vgatherpf0qps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
24	vgatherpf0qps	256(%r9,%zmm31){%k1}	 # AVX512PF
25	vgatherpf0qps	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
26
27	vgatherpf1dpd	123(%r14,%ymm31,8){%k1}	 # AVX512PF
28	vgatherpf1dpd	123(%r14,%ymm31,8){%k1}	 # AVX512PF
29	vgatherpf1dpd	256(%r9,%ymm31){%k1}	 # AVX512PF
30	vgatherpf1dpd	1024(%rcx,%ymm31,4){%k1}	 # AVX512PF
31
32	vgatherpf1dps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
33	vgatherpf1dps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
34	vgatherpf1dps	256(%r9,%zmm31){%k1}	 # AVX512PF
35	vgatherpf1dps	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
36
37	vgatherpf1qpd	123(%r14,%zmm31,8){%k1}	 # AVX512PF
38	vgatherpf1qpd	123(%r14,%zmm31,8){%k1}	 # AVX512PF
39	vgatherpf1qpd	256(%r9,%zmm31){%k1}	 # AVX512PF
40	vgatherpf1qpd	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
41
42	vgatherpf1qps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
43	vgatherpf1qps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
44	vgatherpf1qps	256(%r9,%zmm31){%k1}	 # AVX512PF
45	vgatherpf1qps	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
46
47	vscatterpf0dpd	123(%r14,%ymm31,8){%k1}	 # AVX512PF
48	vscatterpf0dpd	123(%r14,%ymm31,8){%k1}	 # AVX512PF
49	vscatterpf0dpd	256(%r9,%ymm31){%k1}	 # AVX512PF
50	vscatterpf0dpd	1024(%rcx,%ymm31,4){%k1}	 # AVX512PF
51
52	vscatterpf0dps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
53	vscatterpf0dps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
54	vscatterpf0dps	256(%r9,%zmm31){%k1}	 # AVX512PF
55	vscatterpf0dps	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
56
57	vscatterpf0qpd	123(%r14,%zmm31,8){%k1}	 # AVX512PF
58	vscatterpf0qpd	123(%r14,%zmm31,8){%k1}	 # AVX512PF
59	vscatterpf0qpd	256(%r9,%zmm31){%k1}	 # AVX512PF
60	vscatterpf0qpd	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
61
62	vscatterpf0qps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
63	vscatterpf0qps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
64	vscatterpf0qps	256(%r9,%zmm31){%k1}	 # AVX512PF
65	vscatterpf0qps	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
66
67	vscatterpf1dpd	123(%r14,%ymm31,8){%k1}	 # AVX512PF
68	vscatterpf1dpd	123(%r14,%ymm31,8){%k1}	 # AVX512PF
69	vscatterpf1dpd	256(%r9,%ymm31){%k1}	 # AVX512PF
70	vscatterpf1dpd	1024(%rcx,%ymm31,4){%k1}	 # AVX512PF
71
72	vscatterpf1dps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
73	vscatterpf1dps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
74	vscatterpf1dps	256(%r9,%zmm31){%k1}	 # AVX512PF
75	vscatterpf1dps	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
76
77	vscatterpf1qpd	123(%r14,%zmm31,8){%k1}	 # AVX512PF
78	vscatterpf1qpd	123(%r14,%zmm31,8){%k1}	 # AVX512PF
79	vscatterpf1qpd	256(%r9,%zmm31){%k1}	 # AVX512PF
80	vscatterpf1qpd	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
81
82	vscatterpf1qps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
83	vscatterpf1qps	123(%r14,%zmm31,8){%k1}	 # AVX512PF
84	vscatterpf1qps	256(%r9,%zmm31){%k1}	 # AVX512PF
85	vscatterpf1qps	1024(%rcx,%zmm31,4){%k1}	 # AVX512PF
86
87	.intel_syntax noprefix
88	vgatherpf0dpd	[r14+ymm31*8-123]{k1}	 # AVX512PF
89	vgatherpf0dpd	[r14+ymm31*8-123]{k1}	 # AVX512PF
90	vgatherpf0dpd	[r9+ymm31+256]{k1}	 # AVX512PF
91	vgatherpf0dpd	[rcx+ymm31*4+1024]{k1}	 # AVX512PF
92
93	vgatherpf0dps	[r14+zmm31*8-123]{k1}	 # AVX512PF
94	vgatherpf0dps	[r14+zmm31*8-123]{k1}	 # AVX512PF
95	vgatherpf0dps	[r9+zmm31+256]{k1}	 # AVX512PF
96	vgatherpf0dps	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
97
98	vgatherpf0qpd	[r14+zmm31*8-123]{k1}	 # AVX512PF
99	vgatherpf0qpd	[r14+zmm31*8-123]{k1}	 # AVX512PF
100	vgatherpf0qpd	[r9+zmm31+256]{k1}	 # AVX512PF
101	vgatherpf0qpd	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
102
103	vgatherpf0qps	[r14+zmm31*8-123]{k1}	 # AVX512PF
104	vgatherpf0qps	[r14+zmm31*8-123]{k1}	 # AVX512PF
105	vgatherpf0qps	[r9+zmm31+256]{k1}	 # AVX512PF
106	vgatherpf0qps	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
107
108	vgatherpf1dpd	[r14+ymm31*8-123]{k1}	 # AVX512PF
109	vgatherpf1dpd	[r14+ymm31*8-123]{k1}	 # AVX512PF
110	vgatherpf1dpd	[r9+ymm31+256]{k1}	 # AVX512PF
111	vgatherpf1dpd	[rcx+ymm31*4+1024]{k1}	 # AVX512PF
112
113	vgatherpf1dps	[r14+zmm31*8-123]{k1}	 # AVX512PF
114	vgatherpf1dps	[r14+zmm31*8-123]{k1}	 # AVX512PF
115	vgatherpf1dps	[r9+zmm31+256]{k1}	 # AVX512PF
116	vgatherpf1dps	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
117
118	vgatherpf1qpd	[r14+zmm31*8-123]{k1}	 # AVX512PF
119	vgatherpf1qpd	[r14+zmm31*8-123]{k1}	 # AVX512PF
120	vgatherpf1qpd	[r9+zmm31+256]{k1}	 # AVX512PF
121	vgatherpf1qpd	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
122
123	vgatherpf1qps	[r14+zmm31*8-123]{k1}	 # AVX512PF
124	vgatherpf1qps	[r14+zmm31*8-123]{k1}	 # AVX512PF
125	vgatherpf1qps	[r9+zmm31+256]{k1}	 # AVX512PF
126	vgatherpf1qps	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
127
128	vscatterpf0dpd	[r14+ymm31*8-123]{k1}	 # AVX512PF
129	vscatterpf0dpd	[r14+ymm31*8-123]{k1}	 # AVX512PF
130	vscatterpf0dpd	[r9+ymm31+256]{k1}	 # AVX512PF
131	vscatterpf0dpd	[rcx+ymm31*4+1024]{k1}	 # AVX512PF
132
133	vscatterpf0dps	[r14+zmm31*8-123]{k1}	 # AVX512PF
134	vscatterpf0dps	[r14+zmm31*8-123]{k1}	 # AVX512PF
135	vscatterpf0dps	[r9+zmm31+256]{k1}	 # AVX512PF
136	vscatterpf0dps	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
137
138	vscatterpf0qpd	[r14+zmm31*8-123]{k1}	 # AVX512PF
139	vscatterpf0qpd	[r14+zmm31*8-123]{k1}	 # AVX512PF
140	vscatterpf0qpd	[r9+zmm31+256]{k1}	 # AVX512PF
141	vscatterpf0qpd	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
142
143	vscatterpf0qps	[r14+zmm31*8-123]{k1}	 # AVX512PF
144	vscatterpf0qps	[r14+zmm31*8-123]{k1}	 # AVX512PF
145	vscatterpf0qps	[r9+zmm31+256]{k1}	 # AVX512PF
146	vscatterpf0qps	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
147
148	vscatterpf1dpd	[r14+ymm31*8-123]{k1}	 # AVX512PF
149	vscatterpf1dpd	[r14+ymm31*8-123]{k1}	 # AVX512PF
150	vscatterpf1dpd	[r9+ymm31+256]{k1}	 # AVX512PF
151	vscatterpf1dpd	[rcx+ymm31*4+1024]{k1}	 # AVX512PF
152
153	vscatterpf1dps	[r14+zmm31*8-123]{k1}	 # AVX512PF
154	vscatterpf1dps	[r14+zmm31*8-123]{k1}	 # AVX512PF
155	vscatterpf1dps	[r9+zmm31+256]{k1}	 # AVX512PF
156	vscatterpf1dps	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
157
158	vscatterpf1qpd	[r14+zmm31*8-123]{k1}	 # AVX512PF
159	vscatterpf1qpd	[r14+zmm31*8-123]{k1}	 # AVX512PF
160	vscatterpf1qpd	[r9+zmm31+256]{k1}	 # AVX512PF
161	vscatterpf1qpd	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
162
163	vscatterpf1qps	[r14+zmm31*8-123]{k1}	 # AVX512PF
164	vscatterpf1qps	[r14+zmm31*8-123]{k1}	 # AVX512PF
165	vscatterpf1qps	[r9+zmm31+256]{k1}	 # AVX512PF
166	vscatterpf1qps	[rcx+zmm31*4+1024]{k1}	 # AVX512PF
167
168