10c1bc742181ded4930842b46e9507372f0b1b963James Dong/* 278e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * Copyright (C) 2007-2008 ARM Limited 378e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * 478e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * Licensed under the Apache License, Version 2.0 (the "License"); 578e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * you may not use this file except in compliance with the License. 678e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * You may obtain a copy of the License at 778e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * 878e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * http://www.apache.org/licenses/LICENSE-2.0 978e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * 1078e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * Unless required by applicable law or agreed to in writing, software 1178e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * distributed under the License is distributed on an "AS IS" BASIS, 1278e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1378e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * See the License for the specific language governing permissions and 1478e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * limitations under the License. 1578e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * 1678e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar */ 1778e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar/* 180c1bc742181ded4930842b46e9507372f0b1b963James Dong * 190c1bc742181ded4930842b46e9507372f0b1b963James Dong */ 200c1bc742181ded4930842b46e9507372f0b1b963James Dong 210c1bc742181ded4930842b46e9507372f0b1b963James Dong .eabi_attribute 24, 1 220c1bc742181ded4930842b46e9507372f0b1b963James Dong .eabi_attribute 25, 1 230c1bc742181ded4930842b46e9507372f0b1b963James Dong 240c1bc742181ded4930842b46e9507372f0b1b963James Dong .arm 250c1bc742181ded4930842b46e9507372f0b1b963James Dong .fpu neon 260c1bc742181ded4930842b46e9507372f0b1b963James Dong .text 270c1bc742181ded4930842b46e9507372f0b1b963James Dong 280c1bc742181ded4930842b46e9507372f0b1b963James Dong .global armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe 290c1bc742181ded4930842b46e9507372f0b1b963James Dong .func armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe 300c1bc742181ded4930842b46e9507372f0b1b963James DongarmVCM4P10_InterpolateLuma_HalfHor4x4_unsafe: 310c1bc742181ded4930842b46e9507372f0b1b963James Dong PUSH {r4-r12,lr} 320c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d22,d23},[r0],r1 330c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d10,d22,d23,#5 340c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d12,d22,d23,#1 350c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d14,d22,d23,#2 360c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d15,d22,d23,#3 370c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d13,d22,d23,#4 380c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q11,d22,d10 390c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q4,d14,d15 400c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q6,d12,d13 410c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d24,d25},[r0],r1 420c1bc742181ded4930842b46e9507372f0b1b963James Dong VMLA.I16 d22,d8,d31 430c1bc742181ded4930842b46e9507372f0b1b963James Dong VMUL.I16 d8,d12,d30 440c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d10,d24,d25,#5 450c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d12,d24,d25,#1 460c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d16,d24,d25,#2 470c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d17,d24,d25,#3 480c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d13,d24,d25,#4 490c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q12,d24,d10 500c1bc742181ded4930842b46e9507372f0b1b963James Dong VSUB.I16 d22,d22,d8 510c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q4,d16,d17 520c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q6,d12,d13 530c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d26,d27},[r0],r1 540c1bc742181ded4930842b46e9507372f0b1b963James Dong VMLA.I16 d24,d8,d31 550c1bc742181ded4930842b46e9507372f0b1b963James Dong VMUL.I16 d8,d12,d30 560c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d10,d26,d27,#5 570c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d12,d26,d27,#1 580c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d18,d26,d27,#2 590c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d19,d26,d27,#3 600c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d13,d26,d27,#4 610c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q13,d26,d10 620c1bc742181ded4930842b46e9507372f0b1b963James Dong VSUB.I16 d24,d24,d8 630c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q4,d18,d19 640c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q6,d12,d13 650c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d28,d29},[r0],r1 660c1bc742181ded4930842b46e9507372f0b1b963James Dong VMLA.I16 d26,d8,d31 670c1bc742181ded4930842b46e9507372f0b1b963James Dong VMUL.I16 d8,d12,d30 680c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d10,d28,d29,#5 690c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d12,d28,d29,#1 700c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d20,d28,d29,#2 710c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d21,d28,d29,#3 720c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d13,d28,d29,#4 730c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q14,d28,d10 740c1bc742181ded4930842b46e9507372f0b1b963James Dong VSUB.I16 d26,d26,d8 750c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q4,d20,d21 760c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q6,d12,d13 770c1bc742181ded4930842b46e9507372f0b1b963James Dong VMLA.I16 d28,d8,d31 780c1bc742181ded4930842b46e9507372f0b1b963James Dong VMLS.I16 d28,d12,d30 790c1bc742181ded4930842b46e9507372f0b1b963James Dong VQRSHRUN.S16 d22,q11,#5 800c1bc742181ded4930842b46e9507372f0b1b963James Dong VQRSHRUN.S16 d24,q12,#5 810c1bc742181ded4930842b46e9507372f0b1b963James Dong VQRSHRUN.S16 d26,q13,#5 820c1bc742181ded4930842b46e9507372f0b1b963James Dong VQRSHRUN.S16 d28,q14,#5 830c1bc742181ded4930842b46e9507372f0b1b963James Dong POP {r4-r12,pc} 840c1bc742181ded4930842b46e9507372f0b1b963James Dong .endfunc 850c1bc742181ded4930842b46e9507372f0b1b963James Dong 860c1bc742181ded4930842b46e9507372f0b1b963James Dong .end 870c1bc742181ded4930842b46e9507372f0b1b963James Dong 88