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
<https://github.com/open-power-sdk/pveclib/wiki> 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@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org

Reply via email to