summaryrefslogtreecommitdiff
path: root/legacy/evas/m4/efl_attribute.m4
diff options
context:
space:
mode:
authorJim Kukunas <james.t.kukunas@linux.intel.com>2011-09-30 02:35:45 +0000
committerLucas De Marchi <lucas.demarchi@profusion.mobi>2011-09-30 02:35:45 +0000
commit937a5a91f19c85f18951cf17105ac7d316663d91 (patch)
tree8e6fe61e66621957b3749f65c2e8b06feb33ba27 /legacy/evas/m4/efl_attribute.m4
parenteec4b913eaf345149efe5cd1a6163585cc08ccc7 (diff)
evas: add common SSE3 blending functions/macro
mul_256_sse3 sub4_alpha_sse3 interp4_256_sse3 mul_sym_sse3 mul4_sym_sse3 mul3_sym_sse3 LOOP_ALIGNED_U1_A48_SSE3 __attribute__((always_inline)) is needed to coax GCC (< 4.6.0) into inlining the common blend ops. Not inlining these functions causes a steep performance penalty. Patch by: Jim Kukunas <james.t.kukunas@linux.intel.com> SVN revision: 63698
Diffstat (limited to '')
-rw-r--r--legacy/evas/m4/efl_attribute.m424
1 files changed, 24 insertions, 0 deletions
diff --git a/legacy/evas/m4/efl_attribute.m4 b/legacy/evas/m4/efl_attribute.m4
index d03db5394e..e814e36354 100644
--- a/legacy/evas/m4/efl_attribute.m4
+++ b/legacy/evas/m4/efl_attribute.m4
@@ -51,4 +51,28 @@ if test "x${have_attribute_vector}" = "xyes" ; then
51fi 51fi
52]) 52])
53 53
54dnl Usage: EFL_ATTRIBUTE_ALWAYS_INLINE
55dnl call AC_DEFINE for alway_inline if __attribute__((always_inline)) is available
56
57AC_DEFUN([EFL_ATTRIBUTE_ALWAYS_INLINE],
58[
59AC_MSG_CHECKING([for __attribute__ ((always_inline))])
60AC_COMPILE_IFELSE(
61 [AC_LANG_PROGRAM(
62 [[
63 ]],
64 [[
65__attribute__((always_inline)) void foo(void) {}
66 ]])],
67 [have_attribute_always_inline="yes"],
68 [have_attribute_always_inline="no"])
69AC_MSG_RESULT([${have_attribute_always_inline}])
70
71if test "x${have_attribute_always_inline}" = "xyes" ; then
72 AC_DEFINE([always_inline], [__attribute__ ((always_inline)) inline], [Macro declaring a function to always be inlined.])
73else
74 AC_DEFINE([always_inline], [inline], [Macro declaring a function to always be inlined.])
75fi
76])
77
54dnl End of efl_attribute.m4 78dnl End of efl_attribute.m4