1/* 2 * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. 3 * 4 */ 5 6 .eabi_attribute 24, 1 7 .eabi_attribute 25, 1 8 9 .arm 10 .fpu neon 11 .text 12 13 .global armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe 14 .func armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe 15armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe: 16 PUSH {r4-r12,lr} 17 VLD1.8 {d7},[r0],r1 18 ADD r12,r0,r1,LSL #2 19 VLD1.8 {d8},[r0],r1 20 VLD1.8 {d12},[r12],r1 21 VLD1.8 {d9},[r0],r1 22 VADDL.U8 q0,d7,d12 23 VLD1.8 {d10},[r0],r1 24 VLD1.8 {d13},[r12],r1 25 VLD1.8 {d11},[r0],r1 26 VLD1.8 {d14},[r12],r1 27 VADDL.U8 q8,d8,d11 28 VADDL.U8 q9,d9,d10 29 VLD1.8 {d15},[r12],r1 30 VMLS.I16 d0,d16,d30 31 VMUL.I16 d20,d18,d31 32 VADDL.U8 q8,d9,d12 33 VADDL.U8 q9,d10,d11 34 VADDL.U8 q1,d8,d13 35 VMLS.I16 d2,d16,d30 36 VMUL.I16 d21,d18,d31 37 VADDL.U8 q8,d10,d13 38 VADDL.U8 q9,d11,d12 39 VADDL.U8 q2,d9,d14 40 VMLS.I16 d4,d16,d30 41 VMUL.I16 d22,d18,d31 42 VADDL.U8 q8,d11,d14 43 VADDL.U8 q3,d10,d15 44 VADDL.U8 q9,d12,d13 45 VMLS.I16 d6,d16,d30 46 VADD.I16 d0,d0,d20 47 VADD.I16 d2,d2,d21 48 VADD.I16 d4,d4,d22 49 VMLA.I16 d6,d18,d31 50 VQRSHRUN.S16 d0,q0,#5 51 VQRSHRUN.S16 d2,q1,#5 52 VQRSHRUN.S16 d4,q2,#5 53 VQRSHRUN.S16 d6,q3,#5 54 POP {r4-r12,pc} 55 .endfunc 56 57 .end 58 59