forked from enlightenment/efl
Evas: Neon: Explicitly set the .fpu flag for neon.
This means you should not need to set any special compiler flags; which should mean gcc will generate non-neon specific asm (unless you tell it to). This means it is possible to build an armv6 binary with neon suppor (as we always meant to to do). SVN revision: 55307
This commit is contained in:
parent
d15d81161f
commit
19c28b345f
|
@ -78,6 +78,7 @@ evas_common_cpu_neon_test(void)
|
|||
//#if defined(__ARM_ARCH__) && (__ARM_ARCH__ >= 70)
|
||||
#ifdef BUILD_NEON
|
||||
asm volatile (
|
||||
".fpu neon \n\t"
|
||||
"vqadd.u8 d0, d1, d0\n"
|
||||
);
|
||||
#endif
|
||||
|
|
|
@ -6,6 +6,7 @@ _op_blend_c_dp_neon(DATA32 *s __UNUSED__, DATA8 *m __UNUSED__, DATA32 c, DATA32
|
|||
DATA32 *e, *tmp = 0;
|
||||
#define AP "B_C_DP"
|
||||
asm volatile (
|
||||
".fpu neon \n\t"
|
||||
"vdup.u32 q6, %[c] \n\t"
|
||||
"vmov.i8 q5, #1 \n\t"
|
||||
"vmvn.u8 q7,q6 \n\t"
|
||||
|
|
|
@ -25,6 +25,7 @@ _op_blend_mas_c_dp_neon(DATA32 *s __UNUSED__, DATA8 *m, DATA32 c, DATA32 *d, int
|
|||
|
||||
#define AP "blend_mas_c_dp_"
|
||||
asm volatile (
|
||||
".fpu neon \n\t"
|
||||
" vdup.i32 q15, %[c] \n\t"
|
||||
" vmov.i8 q14, #1 \n\t"
|
||||
|
||||
|
@ -205,6 +206,7 @@ _op_blend_mas_can_dp_neon(DATA32 *s __UNUSED__, DATA8 *m, DATA32 c, DATA32 *d, i
|
|||
|
||||
#define AP "_blend_mas_can_dp_neon_"
|
||||
asm volatile (
|
||||
".fpu neon \n\t"
|
||||
"vdup.u32 q9, %[c] \n\t"
|
||||
"vmov.i8 q15, #1 \n\t"
|
||||
"vmov.i8 q14, #0 \n\t"
|
||||
|
|
|
@ -6,6 +6,7 @@ static void
|
|||
_op_blend_p_c_dp_neon(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c, DATA32 *d, int l) {
|
||||
#define AP "blend_p_c_dp_"
|
||||
asm volatile (
|
||||
".fpu neon \n\t"
|
||||
// Load 'c'
|
||||
"vdup.u32 q7, %[c] \n\t"
|
||||
"vmov.i8 q6, #1 \n\t"
|
||||
|
@ -202,6 +203,7 @@ _op_blend_pan_caa_dp_neon(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c, DATA32 *d, i
|
|||
#define AP "_op_blend_pan_caa_dp_"
|
||||
DATA32 *e = d + l, *tmp = (void*)73;
|
||||
asm volatile (
|
||||
".fpu neon \n\t"
|
||||
/* Set up 'c' */
|
||||
"vdup.u8 d14, %[c] \n\t"
|
||||
"vmov.i8 d15, #1 \n\t"
|
||||
|
|
|
@ -5,6 +5,7 @@ static void
|
|||
_op_blend_p_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
|
||||
#define AP "blend_p_dp_"
|
||||
asm volatile (
|
||||
".fpu neon \n\t"
|
||||
//** init
|
||||
"vmov.i8 q8, $0x1 \n\t"
|
||||
|
||||
|
@ -226,6 +227,7 @@ _op_blend_pas_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
|
|||
#define AP "blend_pas_dp_"
|
||||
DATA32 *e = d + l,*tmp = e + 32,*pl=(void*)912;
|
||||
asm volatile (
|
||||
".fpu neon \n\t"
|
||||
"vmov.i8 q8, #1 \n\t"
|
||||
AP"loopchoose: \n\t"
|
||||
// If aliged - go as fast we can
|
||||
|
|
|
@ -6,6 +6,7 @@ _op_copy_c_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
|
|||
#define AP "COPY_C_DP_"
|
||||
uint32_t *e = d + l,*tmp;
|
||||
asm volatile (
|
||||
".fpu neon \n\t"
|
||||
|
||||
"vdup.i32 q0, %[c] \n\t"
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ _op_copy_p_dp_neon(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c __UNUSED__, DATA32 *
|
|||
s3 = s + 8;
|
||||
s4 = s + 12;
|
||||
asm volatile (
|
||||
".fpu neon \n\t"
|
||||
"asmloop2:\n\t"
|
||||
"cmp %[e], %[d]\n\t"
|
||||
"vld1.32 {d16-d17}, [%[s]]!\n\t"
|
||||
|
|
Loading…
Reference in New Issue