From 2c4cd5909a7283d603a9237d3de919ba33e8222c Mon Sep 17 00:00:00 2001 From: Vincent Torri Date: Sat, 13 Oct 2012 14:07:58 +0000 Subject: [PATCH] Evas: asm detection with eina if sigaction or siglongjmp are not available. Only mmx, sse or sse3 SVN revision: 77958 --- legacy/evas/src/lib/engines/common/evas_cpu.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/legacy/evas/src/lib/engines/common/evas_cpu.c b/legacy/evas/src/lib/engines/common/evas_cpu.c index fe90c5b636..b09da28b78 100644 --- a/legacy/evas/src/lib/engines/common/evas_cpu.c +++ b/legacy/evas/src/lib/engines/common/evas_cpu.c @@ -142,6 +142,16 @@ evas_common_cpu_feature_test(void (*feature)(void)) sigaction(SIGSEGV, &oact2, NULL); return enabled; #else + Eina_Cpu_Features f; + + f = eina_cpu_features_get(); + if (feature == evas_common_cpu_mmx_test) + return (f & EINA_CPU_MMX) == EINA_CPU_MMX; + /* no mmx2 support in eina */ + if (feature == evas_common_cpu_sse_test) + return (f & EINA_CPU_SSE) == EINA_CPU_SSE; + if (feature == evas_common_cpu_sse3_test) + return (f & EINA_CPU_SSE3) == EINA_CPU_SSE3; return 0; #endif }