armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe_s.S revision 0c1bc742181ded4930842b46e9507372f0b1b963
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_HalfHor4x4_unsafe 14 .func armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe 15armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe: 16 PUSH {r4-r12,lr} 17 VLD1.8 {d22,d23},[r0],r1 18 VEXT.8 d10,d22,d23,#5 19 VEXT.8 d12,d22,d23,#1 20 VEXT.8 d14,d22,d23,#2 21 VEXT.8 d15,d22,d23,#3 22 VEXT.8 d13,d22,d23,#4 23 VADDL.U8 q11,d22,d10 24 VADDL.U8 q4,d14,d15 25 VADDL.U8 q6,d12,d13 26 VLD1.8 {d24,d25},[r0],r1 27 VMLA.I16 d22,d8,d31 28 VMUL.I16 d8,d12,d30 29 VEXT.8 d10,d24,d25,#5 30 VEXT.8 d12,d24,d25,#1 31 VEXT.8 d16,d24,d25,#2 32 VEXT.8 d17,d24,d25,#3 33 VEXT.8 d13,d24,d25,#4 34 VADDL.U8 q12,d24,d10 35 VSUB.I16 d22,d22,d8 36 VADDL.U8 q4,d16,d17 37 VADDL.U8 q6,d12,d13 38 VLD1.8 {d26,d27},[r0],r1 39 VMLA.I16 d24,d8,d31 40 VMUL.I16 d8,d12,d30 41 VEXT.8 d10,d26,d27,#5 42 VEXT.8 d12,d26,d27,#1 43 VEXT.8 d18,d26,d27,#2 44 VEXT.8 d19,d26,d27,#3 45 VEXT.8 d13,d26,d27,#4 46 VADDL.U8 q13,d26,d10 47 VSUB.I16 d24,d24,d8 48 VADDL.U8 q4,d18,d19 49 VADDL.U8 q6,d12,d13 50 VLD1.8 {d28,d29},[r0],r1 51 VMLA.I16 d26,d8,d31 52 VMUL.I16 d8,d12,d30 53 VEXT.8 d10,d28,d29,#5 54 VEXT.8 d12,d28,d29,#1 55 VEXT.8 d20,d28,d29,#2 56 VEXT.8 d21,d28,d29,#3 57 VEXT.8 d13,d28,d29,#4 58 VADDL.U8 q14,d28,d10 59 VSUB.I16 d26,d26,d8 60 VADDL.U8 q4,d20,d21 61 VADDL.U8 q6,d12,d13 62 VMLA.I16 d28,d8,d31 63 VMLS.I16 d28,d12,d30 64 VQRSHRUN.S16 d22,q11,#5 65 VQRSHRUN.S16 d24,q12,#5 66 VQRSHRUN.S16 d26,q13,#5 67 VQRSHRUN.S16 d28,q14,#5 68 POP {r4-r12,pc} 69 .endfunc 70 71 .end 72 73