X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/catacomb/blobdiff_plain/cd303963aec7291de8aabf9aa04d1423fe7dcac4..ea1b3cec199052eda3a0054d86c70e948c6e7580:/math/mpx.c diff --git a/math/mpx.c b/math/mpx.c index f761003f..d3d0a04a 100644 --- a/math/mpx.c +++ b/math/mpx.c @@ -931,6 +931,14 @@ static void simple_umul(mpw *dv, mpw *dvl, const mpw *av, const mpw *avl, MAYBE_UMUL4(amd64_avx) #endif +#if CPUFAM_ARMEL + MAYBE_UMUL4(arm_neon) +#endif + +#if CPUFAM_ARM64 + MAYBE_UMUL4(arm64_simd) +#endif + static mpx_umul__functype *pick_umul(void) { #if CPUFAM_X86 @@ -944,6 +952,13 @@ static mpx_umul__functype *pick_umul(void) cpu_feature_p(CPUFEAT_X86_AVX)); DISPATCH_PICK_COND(mpx_umul, maybe_umul4_amd64_sse2, cpu_feature_p(CPUFEAT_X86_SSE2)); +#endif +#if CPUFAM_ARMEL + DISPATCH_PICK_COND(mpx_umul, maybe_umul4_arm_neon, + cpu_feature_p(CPUFEAT_ARM_NEON)); +#endif +#if CPUFAM_ARM64 + DISPATCH_PICK_COND(mpx_umul, maybe_umul4_arm64_simd, 1); #endif DISPATCH_PICK_FALLBACK(mpx_umul, simple_umul); }