comparison arm/dsputil_neon_s.S @ 10253:64dd9515b93b libavcodec

ARM: NEON optimised int32_to_float_fmul_scalar
author mru
date Wed, 23 Sep 2009 13:52:56 +0000
parents b783894a1c62
children bcf5c5551b3c
comparison
equal deleted inserted replaced
10252:10df50768c02 10253:64dd9515b93b
1021 vadd.f32 d0, d4, d5 1021 vadd.f32 d0, d4, d5
1022 vpadd.f32 d0, d0, d0 1022 vpadd.f32 d0, d0, d0
1023 NOVFP vmov.32 r0, d0[0] 1023 NOVFP vmov.32 r0, d0[0]
1024 bx lr 1024 bx lr
1025 .endfunc 1025 .endfunc
1026
1027 function ff_int32_to_float_fmul_scalar_neon, export=1
1028 VFP vdup.32 q0, d0[0]
1029 VFP len .req r2
1030 NOVFP vdup.32 q0, r2
1031 NOVFP len .req r3
1032
1033 vld1.32 {q1},[r1,:128]!
1034 vcvt.f32.s32 q3, q1
1035 vld1.32 {q2},[r1,:128]!
1036 vcvt.f32.s32 q8, q2
1037 1: subs len, len, #8
1038 pld [r1, #16]
1039 vmul.f32 q9, q3, q0
1040 vmul.f32 q10, q8, q0
1041 beq 2f
1042 vld1.32 {q1},[r1,:128]!
1043 vcvt.f32.s32 q3, q1
1044 vld1.32 {q2},[r1,:128]!
1045 vcvt.f32.s32 q8, q2
1046 vst1.32 {q9}, [r0,:128]!
1047 vst1.32 {q10},[r0,:128]!
1048 b 1b
1049 2: vst1.32 {q9}, [r0,:128]!
1050 vst1.32 {q10},[r0,:128]!
1051 bx lr
1052 .unreq len
1053 .endfunc