summaryrefslogtreecommitdiff
path: root/src/lib/evas/common/evas_op_copy/op_copy_color_neon.c
diff options
context:
space:
mode:
authorYury Usishchev <y.usishchev@samsung.com>2015-04-15 17:21:33 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-05-07 09:53:08 +0200
commit71eec44ccc9ab43e728ba986fadce6c6cfd2ff7c (patch)
tree9ed9801c7a1534f69cff124c2071e53d8845d35a /src/lib/evas/common/evas_op_copy/op_copy_color_neon.c
parent88b30ef28c47106891d44f62798424c745ec1b8c (diff)
evas: enable NEON-optimized code for aarch64.
Summary: Add new define, BUILD_NEON_INTRINSICS to control whether NEON inline code or NEON intrinsics should be built. GCC NEON intrinsics can be built both for armv7 and armv8. However NEON inline code can be built only for armv7. @feature Reviewers: raster, stefan_schmidt, cedric Subscribers: cedric, stefan_schmidt Projects: #efl Differential Revision: https://phab.enlightenment.org/D2309 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Diffstat (limited to '')
-rw-r--r--src/lib/evas/common/evas_op_copy/op_copy_color_neon.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/evas/common/evas_op_copy/op_copy_color_neon.c b/src/lib/evas/common/evas_op_copy/op_copy_color_neon.c
index 96310cdf3a..009bd750ea 100644
--- a/src/lib/evas/common/evas_op_copy/op_copy_color_neon.c
+++ b/src/lib/evas/common/evas_op_copy/op_copy_color_neon.c
@@ -3,6 +3,14 @@
3#ifdef BUILD_NEON 3#ifdef BUILD_NEON
4static void 4static void
5_op_copy_c_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) { 5_op_copy_c_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
6#ifdef BUILD_NEON_INTRINSICS
7 DATA32 *e;
8 UNROLL8_PLD_WHILE(d, l, e,
9 {
10 *d = c;
11 d++;
12 });
13#else
6#define AP "COPY_C_DP_" 14#define AP "COPY_C_DP_"
7 uint32_t *e = d + l,*tmp; 15 uint32_t *e = d + l,*tmp;
8 asm volatile ( 16 asm volatile (
@@ -85,6 +93,7 @@ _op_copy_c_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
85 93
86 94
87 ); 95 );
96#endif
88} 97}
89 98
90#define _op_copy_cn_dp_neon _op_copy_c_dp_neon 99#define _op_copy_cn_dp_neon _op_copy_c_dp_neon