15
15
/**begin repeat
16
16
* #sfx = u8, s8, u16, s16, u32, s32, u64, s64, f32, f64#
17
17
* #bsfx = b8, b8, b16, b16, b32, b32, b64, b64, b32, b64#
18
- * #esfx = u16, s8, u32, s16, u32, s32, u64, s64, f32, f64#
19
- * #expand_sup = 1, 0, 1, 0, 0, 0, 0, 0, 0, 0#
18
+ * #esfx = u16, s8, u32,s16, u32, s32, u64, s64, f32, f64#
19
+ * #expand_sup= 1, 0, 1, 0, 0, 0, 0, 0, 0, 0#
20
20
* #simd_sup = 1, 1, 1, 1, 1, 1, 1, 1, 1, NPY_SIMD_F64#
21
21
* #fp_only = 0, 0, 0, 0, 0, 0, 0, 0, 1, 1#
22
22
* #sat_sup = 1, 1, 1, 1, 0, 0, 0, 0, 0, 0#
27
27
* #sum_sup = 0, 0, 0, 0, 1, 0, 1, 0, 1, 1#
28
28
* #rev64_sup = 1, 1, 1, 1, 1, 1, 0, 0, 1, 0#
29
29
* #ncont_sup = 0, 0, 0, 0, 1, 1, 1, 1, 1, 1#
30
+ * #intdiv_sup= 1, 1, 1, 1, 1, 1, 1, 1, 0, 0#
30
31
* #shl_imm = 0, 0, 15, 15, 31, 31, 63, 63, 0, 0#
31
32
* #shr_imm = 0, 0, 16, 16, 32, 32, 64, 64, 0, 0#
32
33
*/
@@ -354,6 +355,11 @@ SIMD_IMPL_INTRIN_2(mul_@sfx@, v@sfx@, v@sfx@, v@sfx@)
354
355
SIMD_IMPL_INTRIN_2(div_@sfx@, v@sfx@, v@sfx@, v@sfx@)
355
356
#endif // div_sup
356
357
358
+ #if @intdiv_sup@
359
+ SIMD_IMPL_INTRIN_1(divisor_@sfx@, v@sfx@x3, @sfx@)
360
+ SIMD_IMPL_INTRIN_2(divc_@sfx@, v@sfx@, v@sfx@, v@sfx@x3)
361
+ #endif // intdiv_sup
362
+
357
363
#if @fused_sup@
358
364
/**begin repeat1
359
365
* #intrin = muladd, mulsub, nmuladd, nmulsub#
@@ -442,14 +448,15 @@ SIMD_IMPL_INTRIN_1(not_@bsfx@, v@bsfx@, v@bsfx@)
442
448
SIMD_IMPL_INTRIN_1(tobits_@bsfx@, u64, v@bsfx@)
443
449
/**end repeat**/
444
450
451
+
445
452
//#########################################################################
446
453
//## Attach module functions
447
454
//#########################################################################
448
455
static PyMethodDef simd__intrinsics_methods[] = {
449
456
/**begin repeat
450
457
* #sfx = u8, s8, u16, s16, u32, s32, u64, s64, f32, f64#
451
458
* #bsfx = b8, b8, b16, b16, b32, b32, b64, b64, b32, b64#
452
- * #esfx = u16, s8, u32, s16, u32, s32, u64, s64, f32, f64#
459
+ * #esfx = u16, s8, u32,s16, u32, s32, u64, s64, f32, f64#
453
460
* #expand_sup =1, 0, 1, 0, 0, 0, 0, 0, 0, 0#
454
461
* #simd_sup = 1, 1, 1, 1, 1, 1, 1, 1, 1, NPY_SIMD_F64#
455
462
* #fp_only = 0, 0, 0, 0, 0, 0, 0, 0, 1, 1#
@@ -461,6 +468,7 @@ static PyMethodDef simd__intrinsics_methods[] = {
461
468
* #sum_sup = 0, 0, 0, 0, 1, 0, 1, 0, 1, 1#
462
469
* #rev64_sup = 1, 1, 1, 1, 1, 1, 0, 0, 1, 0#
463
470
* #ncont_sup = 0, 0, 0, 0, 1, 1, 1, 1, 1, 1#
471
+ * #intdiv_sup= 1, 1, 1, 1, 1, 1, 1, 1, 0, 0#
464
472
* #shl_imm = 0, 0, 15, 15, 31, 31, 63, 63, 0, 0#
465
473
* #shr_imm = 0, 0, 16, 16, 32, 32, 64, 64, 0, 0#
466
474
*/
@@ -568,6 +576,11 @@ SIMD_INTRIN_DEF(mul_@sfx@)
568
576
SIMD_INTRIN_DEF(div_@sfx@)
569
577
#endif // div_sup
570
578
579
+ #if @intdiv_sup@
580
+ SIMD_INTRIN_DEF(divisor_@sfx@)
581
+ SIMD_INTRIN_DEF(divc_@sfx@)
582
+ #endif // intdiv_sup
583
+
571
584
#if @fused_sup@
572
585
/**begin repeat1
573
586
* #intrin = muladd, mulsub, nmuladd, nmulsub#
0 commit comments