X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/141c12847a1c2f8cc8db03d420551584e689fb87..HEAD:/math/mpx.c diff --git a/math/mpx.c b/math/mpx.c index 07a6c20f..ac826883 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 @@ -945,6 +953,14 @@ static mpx_umul__functype *pick_umul(void) 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, + cpu_feature_p(CPUFEAT_ARM_NEON)); +#endif DISPATCH_PICK_FALLBACK(mpx_umul, simple_umul); } @@ -1278,6 +1294,10 @@ mpw mpx_udivn(mpw *qv, mpw *qvl, const mpw *rv, const mpw *rvl, mpw d) #include #include +#ifdef ENABLE_ASM_DEBUG +# include "regdump.h" +#endif + #include "mpscan.h" #define ALLOC(v, vl, sz) do { \ @@ -1709,6 +1729,9 @@ static test_chunk defs[] = { int main(int argc, char *argv[]) { +#ifdef ENABLE_ASM_DEBUG + regdump_init(); +#endif test_run(argc, argv, defs, SRCDIR"/t/mpx"); return (0); }