forked from enlightenment/efl
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>
This commit is contained in:
parent
ad1076525a
commit
45bba2439d
|
@ -39,6 +39,7 @@ evas_common_convert_argb_premul(DATA32 *data, unsigned int len)
|
|||
uint8x8_t mask_0x01 = vdup_n_u8(1);
|
||||
uint8x8_t mask_0xff = vdup_n_u8(255);
|
||||
uint8x8_t cmp;
|
||||
uint64x1_t tmp;
|
||||
|
||||
while (data <= de - 8)
|
||||
{
|
||||
|
@ -47,7 +48,8 @@ evas_common_convert_argb_premul(DATA32 *data, unsigned int len)
|
|||
cmp = vand_u8(vorr_u8(vceq_u8(rgba.val[3], mask_0xff),
|
||||
vceq_u8(rgba.val[3], mask_0x00)),
|
||||
mask_0x01);
|
||||
nas += vpaddl_u32(vpaddl_u16(vpaddl_u8(cmp)));
|
||||
tmp = vpaddl_u32(vpaddl_u16(vpaddl_u8(cmp)));
|
||||
nas += vget_lane_u32(vreinterpret_u32_u64(tmp), 0);
|
||||
|
||||
uint16x8x4_t lrgba;
|
||||
lrgba.val[0] = vmovl_u8(rgba.val[0]);
|
||||
|
|
Loading…
Reference in New Issue