aboutsummaryrefslogtreecommitdiffstats
path: root/c_src
diff options
context:
space:
mode:
Diffstat (limited to 'c_src')
-rw-r--r--c_src/esdl2.h4
-rw-r--r--c_src/sdl_cpu_info.c26
2 files changed, 26 insertions, 4 deletions
diff --git a/c_src/esdl2.h b/c_src/esdl2.h
index 2993549..5a1ec99 100644
--- a/c_src/esdl2.h
+++ b/c_src/esdl2.h
@@ -186,9 +186,11 @@
F(get_cpu_count, 0) \
F(get_system_ram, 0) \
F(has_3dnow, 0) \
- F(has_avx, 0) \
F(has_altivec, 0) \
+ F(has_avx, 0) \
+ F(has_avx2, 0) \
F(has_mmx, 0) \
+ F(has_neon, 0) \
F(has_rdtsc, 0) \
F(has_sse, 0) \
F(has_sse2, 0) \
diff --git a/c_src/sdl_cpu_info.c b/c_src/sdl_cpu_info.c
index 6285cfe..c616891 100644
--- a/c_src/sdl_cpu_info.c
+++ b/c_src/sdl_cpu_info.c
@@ -45,6 +45,16 @@ NIF_FUNCTION(has_3dnow)
return atom_false;
}
+// has_altivec
+
+NIF_FUNCTION(has_altivec)
+{
+ if (SDL_HasAltiVec())
+ return atom_true;
+
+ return atom_false;
+}
+
// has_avx
NIF_FUNCTION(has_avx)
@@ -55,11 +65,11 @@ NIF_FUNCTION(has_avx)
return atom_false;
}
-// has_altivec
+// has_avx2
-NIF_FUNCTION(has_altivec)
+NIF_FUNCTION(has_avx2)
{
- if (SDL_HasAltiVec())
+ if (SDL_HasAVX2())
return atom_true;
return atom_false;
@@ -75,6 +85,16 @@ NIF_FUNCTION(has_mmx)
return atom_false;
}
+// has_neon
+
+NIF_FUNCTION(has_neon)
+{
+ if (SDL_HasNEON())
+ return atom_true;
+
+ return atom_false;
+}
+
// has_rdtsc
NIF_FUNCTION(has_rdtsc)