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_DeblockingLumabSLT4_unsafe 290c1bc742181ded4930842b46e9507372f0b1b963James Dong .func armVCM4P10_DeblockingLumabSLT4_unsafe 300c1bc742181ded4930842b46e9507372f0b1b963James DongarmVCM4P10_DeblockingLumabSLT4_unsafe: 310c1bc742181ded4930842b46e9507372f0b1b963James Dong VSUBL.U8 q11,d5,d9 320c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d18[]},[r5]! 330c1bc742181ded4930842b46e9507372f0b1b963James Dong VSUBL.U8 q10,d8,d4 340c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d19[]},[r5]! 350c1bc742181ded4930842b46e9507372f0b1b963James Dong VSHR.S16 q11,q11,#2 360c1bc742181ded4930842b46e9507372f0b1b963James Dong VEXT.8 d18,d18,d19,#4 370c1bc742181ded4930842b46e9507372f0b1b963James Dong VAND d19,d17,d15 380c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d18,d14,d16 390c1bc742181ded4930842b46e9507372f0b1b963James Dong VRHADD.S16 q10,q11,q10 400c1bc742181ded4930842b46e9507372f0b1b963James Dong VRHADD.U8 d24,d4,d8 410c1bc742181ded4930842b46e9507372f0b1b963James Dong VADD.I8 d31,d18,d19 420c1bc742181ded4930842b46e9507372f0b1b963James Dong VAND d19,d12,d15 430c1bc742181ded4930842b46e9507372f0b1b963James Dong VQADD.U8 d23,d5,d18 440c1bc742181ded4930842b46e9507372f0b1b963James Dong VQMOVN.S16 d20,q10 450c1bc742181ded4930842b46e9507372f0b1b963James Dong VADD.I8 d31,d31,d19 460c1bc742181ded4930842b46e9507372f0b1b963James Dong VQSUB.U8 d22,d5,d18 470c1bc742181ded4930842b46e9507372f0b1b963James Dong VQADD.U8 d19,d9,d18 480c1bc742181ded4930842b46e9507372f0b1b963James Dong VHADD.U8 d26,d24,d6 490c1bc742181ded4930842b46e9507372f0b1b963James Dong VMIN.S8 d20,d20,d31 500c1bc742181ded4930842b46e9507372f0b1b963James Dong VNEG.S8 d31,d31 510c1bc742181ded4930842b46e9507372f0b1b963James Dong VQSUB.U8 d21,d9,d18 520c1bc742181ded4930842b46e9507372f0b1b963James Dong VHADD.U8 d27,d24,d10 530c1bc742181ded4930842b46e9507372f0b1b963James Dong VMAX.U8 d30,d26,d22 540c1bc742181ded4930842b46e9507372f0b1b963James Dong VMAX.S8 d20,d20,d31 550c1bc742181ded4930842b46e9507372f0b1b963James Dong VMOVL.U8 q14,d4 560c1bc742181ded4930842b46e9507372f0b1b963James Dong VMOVL.U8 q12,d8 570c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDW.S8 q14,q14,d20 580c1bc742181ded4930842b46e9507372f0b1b963James Dong VSUBW.S8 q12,q12,d20 590c1bc742181ded4930842b46e9507372f0b1b963James Dong VQMOVUN.S16 d29,q14 600c1bc742181ded4930842b46e9507372f0b1b963James Dong VQMOVUN.S16 d24,q12 610c1bc742181ded4930842b46e9507372f0b1b963James Dong VMAX.U8 d25,d27,d21 620c1bc742181ded4930842b46e9507372f0b1b963James Dong VMIN.U8 d30,d30,d23 630c1bc742181ded4930842b46e9507372f0b1b963James Dong VMIN.U8 d25,d25,d19 640c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d29,d4,d16 650c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d30,d5,d17 660c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d24,d8,d16 670c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d25,d9,d12 680c1bc742181ded4930842b46e9507372f0b1b963James Dong BX lr 690c1bc742181ded4930842b46e9507372f0b1b963James Dong .endfunc 700c1bc742181ded4930842b46e9507372f0b1b963James Dong 710c1bc742181ded4930842b46e9507372f0b1b963James Dong .global armVCM4P10_DeblockingLumabSGE4_unsafe 720c1bc742181ded4930842b46e9507372f0b1b963James Dong .func armVCM4P10_DeblockingLumabSGE4_unsafe 730c1bc742181ded4930842b46e9507372f0b1b963James DongarmVCM4P10_DeblockingLumabSGE4_unsafe: 740c1bc742181ded4930842b46e9507372f0b1b963James Dong VSHR.U8 d19,d0,#2 750c1bc742181ded4930842b46e9507372f0b1b963James Dong VADD.I8 d19,d19,d15 760c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q10,d8,d4 770c1bc742181ded4930842b46e9507372f0b1b963James Dong VADD.I8 d19,d19,d15 780c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q11,d6,d9 790c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDW.U8 q12,q10,d5 800c1bc742181ded4930842b46e9507372f0b1b963James Dong VCGT.U8 d19,d19,d13 810c1bc742181ded4930842b46e9507372f0b1b963James Dong VSHR.U16 q11,q11,#1 820c1bc742181ded4930842b46e9507372f0b1b963James Dong VHADD.U16 q11,q12,q11 830c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDW.U8 q12,q12,d6 840c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q13,d7,d6 850c1bc742181ded4930842b46e9507372f0b1b963James Dong VAND d17,d17,d19 860c1bc742181ded4930842b46e9507372f0b1b963James Dong VHADD.U8 d28,d4,d9 870c1bc742181ded4930842b46e9507372f0b1b963James Dong VSRA.U16 q13,q12,#1 880c1bc742181ded4930842b46e9507372f0b1b963James Dong VAND d12,d12,d19 890c1bc742181ded4930842b46e9507372f0b1b963James Dong VQRSHRN.U16 d29,q11,#1 900c1bc742181ded4930842b46e9507372f0b1b963James Dong VRHADD.U8 d28,d28,d5 910c1bc742181ded4930842b46e9507372f0b1b963James Dong VQRSHRN.U16 d30,q12,#2 920c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q11,d10,d5 930c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDW.U8 q12,q10,d9 940c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d29,d28,d17 950c1bc742181ded4930842b46e9507372f0b1b963James Dong VQRSHRN.U16 d31,q13,#2 960c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDL.U8 q13,d11,d10 970c1bc742181ded4930842b46e9507372f0b1b963James Dong VSHR.U16 q11,q11,#1 980c1bc742181ded4930842b46e9507372f0b1b963James Dong VHADD.U16 q11,q12,q11 990c1bc742181ded4930842b46e9507372f0b1b963James Dong VADDW.U8 q12,q12,d10 1000c1bc742181ded4930842b46e9507372f0b1b963James Dong VHADD.U8 d28,d8,d5 1010c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d29,d4,d16 1020c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d30,d5,d17 1030c1bc742181ded4930842b46e9507372f0b1b963James Dong VSRA.U16 q13,q12,#1 1040c1bc742181ded4930842b46e9507372f0b1b963James Dong VQRSHRN.U16 d25,q12,#2 1050c1bc742181ded4930842b46e9507372f0b1b963James Dong VQRSHRN.U16 d24,q11,#1 1060c1bc742181ded4930842b46e9507372f0b1b963James Dong VRHADD.U8 d22,d28,d9 1070c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d25,d9,d12 1080c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d31,d6,d17 1090c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d24,d22,d12 1100c1bc742181ded4930842b46e9507372f0b1b963James Dong VQRSHRN.U16 d28,q13,#2 1110c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d24,d8,d16 1120c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d28,d10,d12 1130c1bc742181ded4930842b46e9507372f0b1b963James Dong BX lr 1140c1bc742181ded4930842b46e9507372f0b1b963James Dong .endfunc 1150c1bc742181ded4930842b46e9507372f0b1b963James Dong 1160c1bc742181ded4930842b46e9507372f0b1b963James Dong .end 1170c1bc742181ded4930842b46e9507372f0b1b963James Dong 118