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_HalfDiagVerHor4x4_unsafe 14 .func armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe 15armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe: 16 PUSH {r4-r12,lr} 17 VLD1.8 {d0,d1},[r0],r1 18 ADD r12,r0,r1,LSL #2 19 VMOV.I8 d30,#0x5 20 VMOV.I8 d31,#0x14 21 VLD1.8 {d10,d11},[r12],r1 22 VLD1.8 {d2,d3},[r0],r1 23 VLD1.8 {d12,d13},[r12],r1 24 VADDL.U8 q9,d0,d10 25 VLD1.8 {d4,d5},[r0],r1 26 VADDL.U8 q0,d1,d11 27 VLD1.8 {d6,d7},[r0],r1 28 VADDL.U8 q10,d2,d12 29 VLD1.8 {d8,d9},[r0],r1 30 VMLAL.U8 q9,d4,d31 31 VLD1.8 {d14,d15},[r12],r1 32 VMLAL.U8 q0,d5,d31 33 VLD1.8 {d16,d17},[r12],r1 34 VMLAL.U8 q9,d6,d31 35 VMLAL.U8 q10,d6,d31 36 VMLSL.U8 q0,d3,d30 37 VADDL.U8 q11,d4,d14 38 VMLSL.U8 q9,d2,d30 39 VADDL.U8 q1,d3,d13 40 VMLAL.U8 q0,d7,d31 41 VMLAL.U8 q10,d8,d31 42 VMLSL.U8 q9,d8,d30 43 VMLAL.U8 q1,d7,d31 44 VMLSL.U8 q0,d9,d30 45 VMLAL.U8 q11,d8,d31 46 VMLSL.U8 q10,d4,d30 47 VMLSL.U8 q1,d5,d30 48 VADDL.U8 q2,d5,d15 49 VMLAL.U8 q11,d10,d31 50 VMLSL.U8 q10,d10,d30 51 VMLAL.U8 q1,d9,d31 52 VMLAL.U8 q2,d9,d31 53 VADDL.U8 q12,d6,d16 54 VMLSL.U8 q11,d6,d30 55 VMLSL.U8 q1,d11,d30 56 VMLSL.U8 q2,d7,d30 57 VADDL.U8 q3,d7,d17 58 VMLAL.U8 q12,d10,d31 59 VMLSL.U8 q11,d12,d30 60 VMLSL.U8 q2,d13,d30 61 VMLAL.U8 q3,d11,d31 62 VMLAL.U8 q12,d12,d31 63 VEXT.8 d26,d18,d19,#2 64 VMLAL.U8 q2,d11,d31 65 VMLAL.U8 q3,d13,d31 66 VMLSL.U8 q12,d8,d30 67 VEXT.8 d27,d18,d19,#4 68 VMOV.I16 d31,#0x14 69 VMLSL.U8 q3,d9,d30 70 VMLSL.U8 q12,d14,d30 71 VEXT.8 d29,d19,d0,#2 72 VEXT.8 d28,d18,d19,#6 73 VMLSL.U8 q3,d15,d30 74 VADDL.S16 q0,d18,d29 75 VADD.I16 d27,d27,d28 76 VMOV.I16 d30,#0x5 77 VADD.I16 d26,d26,d19 78 VMLAL.S16 q0,d27,d31 79 VEXT.8 d27,d20,d21,#4 80 VEXT.8 d28,d20,d21,#6 81 VEXT.8 d29,d21,d2,#2 82 VMLSL.S16 q0,d26,d30 83 VEXT.8 d26,d20,d21,#2 84 VADDL.S16 q1,d20,d29 85 VADD.I16 d27,d27,d28 86 VADD.I16 d26,d26,d21 87 VEXT.8 d28,d22,d23,#6 88 VMLAL.S16 q1,d27,d31 89 VEXT.8 d29,d23,d4,#2 90 VEXT.8 d27,d22,d23,#4 91 VEXT.8 d8,d22,d23,#2 92 VADDL.S16 q2,d22,d29 93 VMLSL.S16 q1,d26,d30 94 VADD.I16 d27,d27,d28 95 VADD.I16 d26,d8,d23 96 VEXT.8 d28,d24,d25,#6 97 VMLAL.S16 q2,d27,d31 98 VEXT.8 d27,d24,d25,#4 99 VEXT.8 d29,d25,d6,#2 100 VADD.I16 d27,d27,d28 101 VEXT.8 d8,d24,d25,#2 102 VADDL.S16 q3,d24,d29 103 VMLSL.S16 q2,d26,d30 104 VMLAL.S16 q3,d27,d31 105 VADD.I16 d8,d8,d25 106 VMLSL.S16 q3,d8,d30 107 VQRSHRUN.S32 d0,q0,#10 108 VQRSHRUN.S32 d2,q1,#10 109 VQRSHRUN.S32 d4,q2,#10 110 VQRSHRUN.S32 d6,q3,#10 111 VQMOVN.U16 d0,q0 112 VQMOVN.U16 d2,q1 113 VQMOVN.U16 d4,q2 114 VQMOVN.U16 d6,q3 115 POP {r4-r12,pc} 116 .endfunc 117 118 .end 119 120