summaryrefslogtreecommitdiff
path: root/src/lib/evas/common
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2015-04-28 23:40:58 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-05-07 09:53:12 +0200
commit45bba2439dc13a3bdf15f9323767d1ee6b51d938 (patch)
tree6984ec5d635ebb6c18977f3098f2191d10fd1f72 /src/lib/evas/common
parentad1076525a519ccc53be8a2a6992c870b857bf4a (diff)
evas: do not cast uint64x1_t to int in evas_common_convert_argb_premul
Summary: In GCC 5.1 arm_neon header for aarch64 was changed. It is not possible anymore to silently cast uint64x1_t to int. So replace cast with proper getter function to avoid following error: lib/evas/common/evas_convert_color.c:50:18: error: incompatible types when assigning to type 'DATA32 {aka unsigned int}' from type 'uint64x1_t' nas += vpaddl_u32(vpaddl_u16(vpaddl_u8(cmp))); Reviewers: raster, cedric, devilhorns Subscribers: cedric Projects: #efl Differential Revision: https://phab.enlightenment.org/D2443 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Diffstat (limited to 'src/lib/evas/common')
-rw-r--r--src/lib/evas/common/evas_convert_color.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/evas/common/evas_convert_color.c b/src/lib/evas/common/evas_convert_color.c
index c34e80b..7cdd3f6 100644
--- a/src/lib/evas/common/evas_convert_color.c
+++ b/src/lib/evas/common/evas_convert_color.c
@@ -39,6 +39,7 @@ evas_common_convert_argb_premul(DATA32 *data, unsigned int len)
39 uint8x8_t mask_0x01 = vdup_n_u8(1); 39 uint8x8_t mask_0x01 = vdup_n_u8(1);
40 uint8x8_t mask_0xff = vdup_n_u8(255); 40 uint8x8_t mask_0xff = vdup_n_u8(255);
41 uint8x8_t cmp; 41 uint8x8_t cmp;
42 uint64x1_t tmp;
42 43
43 while (data <= de - 8) 44 while (data <= de - 8)
44 { 45 {
@@ -47,7 +48,8 @@ evas_common_convert_argb_premul(DATA32 *data, unsigned int len)
47 cmp = vand_u8(vorr_u8(vceq_u8(rgba.val[3], mask_0xff), 48 cmp = vand_u8(vorr_u8(vceq_u8(rgba.val[3], mask_0xff),
48 vceq_u8(rgba.val[3], mask_0x00)), 49 vceq_u8(rgba.val[3], mask_0x00)),
49 mask_0x01); 50 mask_0x01);
50 nas += vpaddl_u32(vpaddl_u16(vpaddl_u8(cmp))); 51 tmp = vpaddl_u32(vpaddl_u16(vpaddl_u8(cmp)));
52 nas += vget_lane_u32(vreinterpret_u32_u64(tmp), 0);
51 53
52 uint16x8x4_t lrgba; 54 uint16x8x4_t lrgba;
53 lrgba.val[0] = vmovl_u8(rgba.val[0]); 55 lrgba.val[0] = vmovl_u8(rgba.val[0]);