From 1284144bc49474dc2377047cdd99502247dbded2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 25 Dec 2017 17:51:20 +0100 Subject: Add the new sdl_cpuinfo.h functions --- c_src/esdl2.h | 4 +++- c_src/sdl_cpu_info.c | 26 +++++++++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) (limited to 'c_src') 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) -- cgit v1.2.3