Jun Aruga writes:
> I recommend using the simde (SIMD Everywhere) library for the packaging and contribution
> to the upstream. https://github.com/nemequ/simde
This does not help unless the project LPCNet maintainers are willing to built the fat binaries and support dynamic selection. Otherwise every user is rebuilding from source.
> You do not need to care about the availability by arch or compiler when using this library.
This is exactly what the Power Vector Library PVECLIB is doing for ppc64le. PVECLIB provides POWER7/8/9 VMX/VSX operations equivalent to <altivec.h> while smoothing over compiler version and platform ISA differences. PVECLIB also provides useful operations beyond the "Power Vector Intrinsic Programming Reference" defined set (like Multiply 128-bit Quadword). Net you can write using power9 operation extensions and still compile for -mcpu=power7/8. PVECLIB provides the appropriate implementation.
Also for GCC (and I think Clang) provide ppc64le equivalent headers to Intel MMX and SSE intrinsic headers (at least for SSE3 and some SSE4). This could be more of a performance compromise (vs PVECLIB) but would be a place to start if you have an existing SSE implementation and want to vectorize ppc64le.
But again someone needs to build and distribute the fat binaries for each project.
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx