Skip to content

Commit d0ed158

Browse files
sayantnAmanieu
authored andcommitted
AVX512DQ Part 3: Convert Intrinsics
1 parent c8f4571 commit d0ed158

File tree

2 files changed

+4431
-935
lines changed

2 files changed

+4431
-935
lines changed

crates/core_arch/avx512dq.md

Lines changed: 161 additions & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
* [x] _mm512_maskz_xor_ps
7171

7272

73-
- Broadcast
73+
- Broadcast:
7474
* [x] _mm256_broadcast_f32x2
7575
* [x] _mm256_mask_broadcast_f32x2
7676
* [x] _mm256_maskz_broadcast_f32x2
@@ -107,150 +107,150 @@
107107

108108

109109
- Convert:
110-
* _mm512_cvt_roundepi64_pd (not in LLVM)
111-
* _mm512_mask_cvt_roundepi64_pd (not in LLVM)
112-
* _mm512_maskz_cvt_roundepi64_pd (not in LLVM)
113-
* _mm_cvtepi64_pd (not in LLVM)
114-
* _mm_mask_cvtepi64_pd (not in LLVM)
115-
* _mm_maskz_cvtepi64_pd (not in LLVM)
116-
* _mm256_cvtepi64_pd (not in LLVM)
117-
* _mm256_mask_cvtepi64_pd (not in LLVM)
118-
* _mm256_maskz_cvtepi64_pd (not in LLVM)
119-
* _mm512_cvtepi64_pd (not in LLVM)
120-
* _mm512_mask_cvtepi64_pd (not in LLVM)
121-
* _mm512_maskz_cvtepi64_pd (not in LLVM)
122-
* _mm512_cvt_roundepi64_ps (not in LLVM)
123-
* _mm512_mask_cvt_roundepi64_ps (not in LLVM)
124-
* _mm512_maskz_cvt_roundepi64_ps (not in LLVM)
125-
* [ ] _mm_cvtepi64_ps
126-
* [ ] _mm_mask_cvtepi64_ps
127-
* [ ] _mm_maskz_cvtepi64_ps
128-
* _mm256_cvtepi64_ps (not in LLVM)
129-
* _mm256_mask_cvtepi64_ps (not in LLVM)
130-
* _mm256_maskz_cvtepi64_ps (not in LLVM)
131-
* _mm512_cvtepi64_ps (not in LLVM)
132-
* _mm512_mask_cvtepi64_ps (not in LLVM)
133-
* _mm512_maskz_cvtepi64_ps (not in LLVM)
134-
* _mm512_cvt_roundepu64_pd (not in LLVM)
135-
* _mm512_mask_cvt_roundepu64_pd (not in LLVM)
136-
* _mm512_maskz_cvt_roundepu64_pd (not in LLVM)
137-
* _mm_cvtepu64_pd (not in LLVM)
138-
* _mm_mask_cvtepu64_pd (not in LLVM)
139-
* _mm_maskz_cvtepu64_pd (not in LLVM)
140-
* _mm256_cvtepu64_pd (not in LLVM)
141-
* _mm256_mask_cvtepu64_pd (not in LLVM)
142-
* _mm256_maskz_cvtepu64_pd (not in LLVM)
143-
* _mm512_cvtepu64_pd (not in LLVM)
144-
* _mm512_mask_cvtepu64_pd (not in LLVM)
145-
* _mm512_maskz_cvtepu64_pd (not in LLVM)
146-
* _mm512_cvt_roundepu64_ps (not in LLVM)
147-
* _mm512_mask_cvt_roundepu64_ps (not in LLVM)
148-
* _mm512_maskz_cvt_roundepu64_ps (not in LLVM)
149-
* [ ] _mm_cvtepu64_ps
150-
* [ ] _mm_mask_cvtepu64_ps
151-
* [ ] _mm_maskz_cvtepu64_ps
152-
* _mm256_cvtepu64_ps (not in LLVM)
153-
* _mm256_mask_cvtepu64_ps (not in LLVM)
154-
* _mm256_maskz_cvtepu64_ps (not in LLVM)
155-
* _mm512_cvtepu64_ps (not in LLVM)
156-
* _mm512_mask_cvtepu64_ps (not in LLVM)
157-
* _mm512_maskz_cvtepu64_ps (not in LLVM)
158-
* [ ] _mm512_cvt_roundpd_epi64
159-
* [ ] _mm512_mask_cvt_roundpd_epi64
160-
* [ ] _mm512_maskz_cvt_roundpd_epi64
161-
* [ ] _mm_cvtpd_epi64
162-
* [ ] _mm_mask_cvtpd_epi64
163-
* [ ] _mm_maskz_cvtpd_epi64
164-
* [ ] _mm256_cvtpd_epi64
165-
* [ ] _mm256_mask_cvtpd_epi64
166-
* [ ] _mm256_maskz_cvtpd_epi64
167-
* [ ] _mm512_cvtpd_epi64
168-
* [ ] _mm512_mask_cvtpd_epi64
169-
* [ ] _mm512_maskz_cvtpd_epi64
170-
* [ ] _mm512_cvt_roundpd_epu64
171-
* [ ] _mm512_mask_cvt_roundpd_epu64
172-
* [ ] _mm512_maskz_cvt_roundpd_epu64
173-
* [ ] _mm_cvtpd_epu64
174-
* [ ] _mm_mask_cvtpd_epu64
175-
* [ ] _mm_maskz_cvtpd_epu64
176-
* [ ] _mm256_cvtpd_epu64
177-
* [ ] _mm256_mask_cvtpd_epu64
178-
* [ ] _mm256_maskz_cvtpd_epu64
179-
* [ ] _mm512_cvtpd_epu64
180-
* [ ] _mm512_mask_cvtpd_epu64
181-
* [ ] _mm512_maskz_cvtpd_epu64
182-
* [ ] _mm512_cvt_roundps_epi64
183-
* [ ] _mm512_mask_cvt_roundps_epi64
184-
* [ ] _mm512_maskz_cvt_roundps_epi64
185-
* [ ] _mm_cvtps_epi64
186-
* [ ] _mm_mask_cvtps_epi64
187-
* [ ] _mm_maskz_cvtps_epi64
188-
* [ ] _mm256_cvtps_epi64
189-
* [ ] _mm256_mask_cvtps_epi64
190-
* [ ] _mm256_maskz_cvtps_epi64
191-
* [ ] _mm512_cvtps_epi64
192-
* [ ] _mm512_mask_cvtps_epi64
193-
* [ ] _mm512_maskz_cvtps_epi64
194-
* [ ] _mm512_cvt_roundps_epu64
195-
* [ ] _mm512_mask_cvt_roundps_epu64
196-
* [ ] _mm512_maskz_cvt_roundps_epu64
197-
* [ ] _mm_cvtps_epu64
198-
* [ ] _mm_mask_cvtps_epu64
199-
* [ ] _mm_maskz_cvtps_epu64
200-
* [ ] _mm256_cvtps_epu64
201-
* [ ] _mm256_mask_cvtps_epu64
202-
* [ ] _mm256_maskz_cvtps_epu64
203-
* [ ] _mm512_cvtps_epu64
204-
* [ ] _mm512_mask_cvtps_epu64
205-
* [ ] _mm512_maskz_cvtps_epu64
206-
* [ ] _mm512_cvtt_roundpd_epi64
207-
* [ ] _mm512_mask_cvtt_roundpd_epi64
208-
* [ ] _mm512_maskz_cvtt_roundpd_epi64
209-
* [ ] _mm_cvttpd_epi64
210-
* [ ] _mm_mask_cvttpd_epi64
211-
* [ ] _mm_maskz_cvttpd_epi64
212-
* [ ] _mm256_cvttpd_epi64
213-
* [ ] _mm256_mask_cvttpd_epi64
214-
* [ ] _mm256_maskz_cvttpd_epi64
215-
* [ ] _mm512_cvttpd_epi64
216-
* [ ] _mm512_mask_cvttpd_epi64
217-
* [ ] _mm512_maskz_cvttpd_epi64
218-
* [ ] _mm512_cvtt_roundpd_epu64
219-
* [ ] _mm512_mask_cvtt_roundpd_epu64
220-
* [ ] _mm512_maskz_cvtt_roundpd_epu64
221-
* [ ] _mm_cvttpd_epu64
222-
* [ ] _mm_mask_cvttpd_epu64
223-
* [ ] _mm_maskz_cvttpd_epu64
224-
* [ ] _mm256_cvttpd_epu64
225-
* [ ] _mm256_mask_cvttpd_epu64
226-
* [ ] _mm256_maskz_cvttpd_epu64
227-
* [ ] _mm512_cvttpd_epu64
228-
* [ ] _mm512_mask_cvttpd_epu64
229-
* [ ] _mm512_maskz_cvttpd_epu64
230-
* [ ] _mm512_cvtt_roundps_epi64
231-
* [ ] _mm512_mask_cvtt_roundps_epi64
232-
* [ ] _mm512_maskz_cvtt_roundps_epi64
233-
* [ ] _mm_cvttps_epi64
234-
* [ ] _mm_mask_cvttps_epi64
235-
* [ ] _mm_maskz_cvttps_epi64
236-
* [ ] _mm256_cvttps_epi64
237-
* [ ] _mm256_mask_cvttps_epi64
238-
* [ ] _mm256_maskz_cvttps_epi64
239-
* [ ] _mm512_cvttps_epi64
240-
* [ ] _mm512_mask_cvttps_epi64
241-
* [ ] _mm512_maskz_cvttps_epi64
242-
* [ ] _mm512_cvtt_roundps_epu64
243-
* [ ] _mm512_mask_cvtt_roundps_epu64
244-
* [ ] _mm512_maskz_cvtt_roundps_epu64
245-
* [ ] _mm_cvttps_epu64
246-
* [ ] _mm_mask_cvttps_epu64
247-
* [ ] _mm_maskz_cvttps_epu64
248-
* [ ] _mm256_cvttps_epu64
249-
* [ ] _mm256_mask_cvttps_epu64
250-
* [ ] _mm256_maskz_cvttps_epu64
251-
* [ ] _mm512_cvttps_epu64
252-
* [ ] _mm512_mask_cvttps_epu64
253-
* [ ] _mm512_maskz_cvttps_epu64
110+
* [x] _mm512_cvt_roundepi64_pd
111+
* [x] _mm512_mask_cvt_roundepi64_pd
112+
* [x] _mm512_maskz_cvt_roundepi64_pd
113+
* [x] _mm_cvtepi64_pd
114+
* [x] _mm_mask_cvtepi64_pd
115+
* [x] _mm_maskz_cvtepi64_pd
116+
* [x] _mm256_cvtepi64_pd
117+
* [x] _mm256_mask_cvtepi64_pd
118+
* [x] _mm256_maskz_cvtepi64_pd
119+
* [x] _mm512_cvtepi64_pd
120+
* [x] _mm512_mask_cvtepi64_pd
121+
* [x] _mm512_maskz_cvtepi64_pd
122+
* [x] _mm512_cvt_roundepi64_ps
123+
* [x] _mm512_mask_cvt_roundepi64_ps
124+
* [x] _mm512_maskz_cvt_roundepi64_ps
125+
* [x] _mm_cvtepi64_ps
126+
* [x] _mm_mask_cvtepi64_ps
127+
* [x] _mm_maskz_cvtepi64_ps
128+
* [x] _mm256_cvtepi64_ps
129+
* [x] _mm256_mask_cvtepi64_ps
130+
* [x] _mm256_maskz_cvtepi64_ps
131+
* [x] _mm512_cvtepi64_ps
132+
* [x] _mm512_mask_cvtepi64_ps
133+
* [x] _mm512_maskz_cvtepi64_ps
134+
* [x] _mm512_cvt_roundepu64_pd
135+
* [x] _mm512_mask_cvt_roundepu64_pd
136+
* [x] _mm512_maskz_cvt_roundepu64_pd
137+
* [x] _mm_cvtepu64_pd
138+
* [x] _mm_mask_cvtepu64_pd
139+
* [x] _mm_maskz_cvtepu64_pd
140+
* [x] _mm256_cvtepu64_pd
141+
* [x] _mm256_mask_cvtepu64_pd
142+
* [x] _mm256_maskz_cvtepu64_pd
143+
* [x] _mm512_cvtepu64_pd
144+
* [x] _mm512_mask_cvtepu64_pd
145+
* [x] _mm512_maskz_cvtepu64_pd
146+
* [x] _mm512_cvt_roundepu64_ps
147+
* [x] _mm512_mask_cvt_roundepu64_ps
148+
* [x] _mm512_maskz_cvt_roundepu64_ps
149+
* [x] _mm_cvtepu64_ps
150+
* [x] _mm_mask_cvtepu64_ps
151+
* [x] _mm_maskz_cvtepu64_ps
152+
* [x] _mm256_cvtepu64_ps
153+
* [x] _mm256_mask_cvtepu64_ps
154+
* [x] _mm256_maskz_cvtepu64_ps
155+
* [x] _mm512_cvtepu64_ps
156+
* [x] _mm512_mask_cvtepu64_ps
157+
* [x] _mm512_maskz_cvtepu64_ps
158+
* [x] _mm512_cvt_roundpd_epi64
159+
* [x] _mm512_mask_cvt_roundpd_epi64
160+
* [x] _mm512_maskz_cvt_roundpd_epi64
161+
* [x] _mm_cvtpd_epi64
162+
* [x] _mm_mask_cvtpd_epi64
163+
* [x] _mm_maskz_cvtpd_epi64
164+
* [x] _mm256_cvtpd_epi64
165+
* [x] _mm256_mask_cvtpd_epi64
166+
* [x] _mm256_maskz_cvtpd_epi64
167+
* [x] _mm512_cvtpd_epi64
168+
* [x] _mm512_mask_cvtpd_epi64
169+
* [x] _mm512_maskz_cvtpd_epi64
170+
* [x] _mm512_cvt_roundps_epi64
171+
* [x] _mm512_mask_cvt_roundps_epi64
172+
* [x] _mm512_maskz_cvt_roundps_epi64
173+
* [x] _mm_cvtps_epi64
174+
* [x] _mm_mask_cvtps_epi64
175+
* [x] _mm_maskz_cvtps_epi64
176+
* [x] _mm256_cvtps_epi64
177+
* [x] _mm256_mask_cvtps_epi64
178+
* [x] _mm256_maskz_cvtps_epi64
179+
* [x] _mm512_cvtps_epi64
180+
* [x] _mm512_mask_cvtps_epi64
181+
* [x] _mm512_maskz_cvtps_epi64
182+
* [x] _mm512_cvt_roundpd_epu64
183+
* [x] _mm512_mask_cvt_roundpd_epu64
184+
* [x] _mm512_maskz_cvt_roundpd_epu64
185+
* [x] _mm_cvtpd_epu64
186+
* [x] _mm_mask_cvtpd_epu64
187+
* [x] _mm_maskz_cvtpd_epu64
188+
* [x] _mm256_cvtpd_epu64
189+
* [x] _mm256_mask_cvtpd_epu64
190+
* [x] _mm256_maskz_cvtpd_epu64
191+
* [x] _mm512_cvtpd_epu64
192+
* [x] _mm512_mask_cvtpd_epu64
193+
* [x] _mm512_maskz_cvtpd_epu64
194+
* [x] _mm512_cvt_roundps_epu64
195+
* [x] _mm512_mask_cvt_roundps_epu64
196+
* [x] _mm512_maskz_cvt_roundps_epu64
197+
* [x] _mm_cvtps_epu64
198+
* [x] _mm_mask_cvtps_epu64
199+
* [x] _mm_maskz_cvtps_epu64
200+
* [x] _mm256_cvtps_epu64
201+
* [x] _mm256_mask_cvtps_epu64
202+
* [x] _mm256_maskz_cvtps_epu64
203+
* [x] _mm512_cvtps_epu64
204+
* [x] _mm512_mask_cvtps_epu64
205+
* [x] _mm512_maskz_cvtps_epu64
206+
* [x] _mm512_cvtt_roundpd_epi64
207+
* [x] _mm512_mask_cvtt_roundpd_epi64
208+
* [x] _mm512_maskz_cvtt_roundpd_epi64
209+
* [x] _mm_cvttpd_epi64
210+
* [x] _mm_mask_cvttpd_epi64
211+
* [x] _mm_maskz_cvttpd_epi64
212+
* [x] _mm256_cvttpd_epi64
213+
* [x] _mm256_mask_cvttpd_epi64
214+
* [x] _mm256_maskz_cvttpd_epi64
215+
* [x] _mm512_cvttpd_epi64
216+
* [x] _mm512_mask_cvttpd_epi64
217+
* [x] _mm512_maskz_cvttpd_epi64
218+
* [x] _mm512_cvtt_roundps_epi64
219+
* [x] _mm512_mask_cvtt_roundps_epi64
220+
* [x] _mm512_maskz_cvtt_roundps_epi64
221+
* [x] _mm_cvttps_epi64
222+
* [x] _mm_mask_cvttps_epi64
223+
* [x] _mm_maskz_cvttps_epi64
224+
* [x] _mm256_cvttps_epi64
225+
* [x] _mm256_mask_cvttps_epi64
226+
* [x] _mm256_maskz_cvttps_epi64
227+
* [x] _mm512_cvttps_epi64
228+
* [x] _mm512_mask_cvttps_epi64
229+
* [x] _mm512_maskz_cvttps_epi64
230+
* [x] _mm512_cvtt_roundpd_epu64
231+
* [x] _mm512_mask_cvtt_roundpd_epu64
232+
* [x] _mm512_maskz_cvtt_roundpd_epu64
233+
* [x] _mm_cvttpd_epu64
234+
* [x] _mm_mask_cvttpd_epu64
235+
* [x] _mm_maskz_cvttpd_epu64
236+
* [x] _mm256_cvttpd_epu64
237+
* [x] _mm256_mask_cvttpd_epu64
238+
* [x] _mm256_maskz_cvttpd_epu64
239+
* [x] _mm512_cvttpd_epu64
240+
* [x] _mm512_mask_cvttpd_epu64
241+
* [x] _mm512_maskz_cvttpd_epu64
242+
* [x] _mm512_cvtt_roundps_epu64
243+
* [x] _mm512_mask_cvtt_roundps_epu64
244+
* [x] _mm512_maskz_cvtt_roundps_epu64
245+
* [x] _mm_cvttps_epu64
246+
* [x] _mm_mask_cvttps_epu64
247+
* [x] _mm_maskz_cvttps_epu64
248+
* [x] _mm256_cvttps_epu64
249+
* [x] _mm256_mask_cvttps_epu64
250+
* [x] _mm256_maskz_cvttps_epu64
251+
* [x] _mm512_cvttps_epu64
252+
* [x] _mm512_mask_cvttps_epu64
253+
* [x] _mm512_maskz_cvttps_epu64
254254

255255

256256
- Element Extract:
@@ -295,7 +295,7 @@
295295
* [x] _mm512_maskz_inserti64x2
296296

297297

298-
- FP-Class
298+
- FP-Class:
299299
* [ ] _mm_fpclass_pd_mask
300300
* [ ] _mm_mask_fpclass_pd_mask
301301
* [ ] _mm256_fpclass_pd_mask
@@ -314,7 +314,7 @@
314314
* [ ] _mm_mask_fpclass_ss_mask
315315

316316

317-
- Mask Registers
317+
- Mask Registers:
318318
* [ ] _cvtmask8_u32
319319
* [ ] _cvtu32_mask8
320320
* [ ] _kadd_mask16
@@ -339,7 +339,7 @@
339339
* [ ] _load_mask8
340340

341341

342-
- Mask register for Bit patterns
342+
- Mask register for Bit patterns:
343343
* [ ] _mm_movepi32_mask
344344
* [ ] _mm256_movepi32_mask
345345
* [ ] _mm512_movepi32_mask
@@ -354,19 +354,19 @@
354354
* [ ] _mm512_movm_epi64
355355

356356

357-
- Multiply Low
358-
* _mm_mullo_epi64 (not in LLVM)
359-
* _mm_mask_mullo_epi64 (not in LLVM)
360-
* _mm_maskz_mullo_epi64 (not in LLVM)
361-
* _mm256_mullo_epi64 (not in LLVM)
362-
* _mm256_mask_mullo_epi64 (not in LLVM)
363-
* _mm256_maskz_mullo_epi64 (not in LLVM)
364-
* _mm512_mullo_epi64 (not in LLVM)
365-
* _mm512_mask_mullo_epi64 (not in LLVM)
366-
* _mm512_maskz_mullo_epi64 (not in LLVM)
357+
- Multiply Low:
358+
* [ ] _mm_mullo_epi64
359+
* [ ] _mm_mask_mullo_epi64
360+
* [ ] _mm_maskz_mullo_epi64
361+
* [ ] _mm256_mullo_epi64
362+
* [ ] _mm256_mask_mullo_epi64
363+
* [ ] _mm256_maskz_mullo_epi64
364+
* [ ] _mm512_mullo_epi64
365+
* [ ] _mm512_mask_mullo_epi64
366+
* [ ] _mm512_maskz_mullo_epi64
367367

368368

369-
- Range
369+
- Range:
370370
* [ ] _mm512_range_round_pd
371371
* [ ] _mm512_mask_range_round_pd
372372
* [ ] _mm512_maskz_range_round_pd
@@ -403,7 +403,7 @@
403403
* [ ] _mm_maskz_range_ss
404404

405405

406-
- Range
406+
- Reduce:
407407
* [ ] _mm512_reduce_round_pd
408408
* [ ] _mm512_mask_reduce_round_pd
409409
* [ ] _mm512_maskz_reduce_round_pd
@@ -440,4 +440,5 @@
440440
* [ ] _mm_reduce_ss
441441
* [ ] _mm_mask_reduce_ss
442442
* [ ] _mm_maskz_reduce_ss
443+
443444
</p>

0 commit comments

Comments
 (0)