pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Call for testing: wip/simde




I just committed SIMD-everywhere to devel/simde.

https://github.com/simd-everywhere/simde

Note that I get an internal compiler error running "make test" on NetBSD
9.2 amd64 and wiz@ reported undefined symbols roundeven() and
roundevenf() on 9.99.94.  I don't believe these are bugs in SIMDe,
though we do want to correct the problems ASAP.

The tests pass 100% on Alma 8 and Darwin.

The SIMDe package allows software that depends on platform-specific SIMD
intrinsics like those provided in emmintrin.h to compile and run on most
other common platforms simply by replacing the non-portable header with
one from SIMDe and defining the appropriate macros.  It is often as
simple as this patch from hisat2:

 #ifndef SSE_UTIL_H_
 #define SSE_UTIL_H_

+#define SIMDE_ENABLE_NATIVE_ALIASES
+#include <simde/x86/sse2.h>
+
 #include "assert_helpers.h"
 #include "ds.h"
 #include "limit.h"
 #include <iostream>
-#include <emmintrin.h>

This is not always as good as using platform-specific intrinsics on arm,
risc-v, powerpc, etc. of course.  However, SIMDe attempts to use the
best available equivalents and provides us with a very easy way to
unbreak many packages that are currently x86-only.


Home | Main Index | Thread Index | Old Index