The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
521 B
30 lines
521 B
5 years ago
|
#include<simdconfig.h>
|
||
|
#include<simdfuncs.h>
|
||
|
|
||
|
#ifdef _MSC_VER
|
||
|
#include<intrin.h>
|
||
|
int sse_available(void) {
|
||
|
return 1;
|
||
|
}
|
||
|
#else
|
||
|
|
||
|
#include<xmmintrin.h>
|
||
|
#include<cpuid.h>
|
||
|
#include<stdint.h>
|
||
|
|
||
|
#if defined(__APPLE__)
|
||
|
int sse_available(void) { return 1; }
|
||
|
#else
|
||
|
int sse_available(void) {
|
||
|
return __builtin_cpu_supports("sse");
|
||
|
}
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
void increment_sse(float arr[4]) {
|
||
|
__m128 val = _mm_load_ps(arr);
|
||
|
__m128 one = _mm_set_ps1(1.0);
|
||
|
__m128 result = _mm_add_ps(val, one);
|
||
|
_mm_storeu_ps(arr, result);
|
||
|
}
|