1/* 2 * Copyright (C) 2007-2008 ARM Limited 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 */ 17/* 18 * 19 */ 20 21 .eabi_attribute 24, 1 22 .eabi_attribute 25, 1 23 24 .arm 25 .fpu neon 26 .text 27 28 .global armVCM4P10_DeblockingLumabSLT4_unsafe 29 .func armVCM4P10_DeblockingLumabSLT4_unsafe 30armVCM4P10_DeblockingLumabSLT4_unsafe: 31 VSUBL.U8 q11,d5,d9 32 VLD1.8 {d18[]},[r5]! 33 VSUBL.U8 q10,d8,d4 34 VLD1.8 {d19[]},[r5]! 35 VSHR.S16 q11,q11,#2 36 VEXT.8 d18,d18,d19,#4 37 VAND d19,d17,d15 38 VBIF d18,d14,d16 39 VRHADD.S16 q10,q11,q10 40 VRHADD.U8 d24,d4,d8 41 VADD.I8 d31,d18,d19 42 VAND d19,d12,d15 43 VQADD.U8 d23,d5,d18 44 VQMOVN.S16 d20,q10 45 VADD.I8 d31,d31,d19 46 VQSUB.U8 d22,d5,d18 47 VQADD.U8 d19,d9,d18 48 VHADD.U8 d26,d24,d6 49 VMIN.S8 d20,d20,d31 50 VNEG.S8 d31,d31 51 VQSUB.U8 d21,d9,d18 52 VHADD.U8 d27,d24,d10 53 VMAX.U8 d30,d26,d22 54 VMAX.S8 d20,d20,d31 55 VMOVL.U8 q14,d4 56 VMOVL.U8 q12,d8 57 VADDW.S8 q14,q14,d20 58 VSUBW.S8 q12,q12,d20 59 VQMOVUN.S16 d29,q14 60 VQMOVUN.S16 d24,q12 61 VMAX.U8 d25,d27,d21 62 VMIN.U8 d30,d30,d23 63 VMIN.U8 d25,d25,d19 64 VBIF d29,d4,d16 65 VBIF d30,d5,d17 66 VBIF d24,d8,d16 67 VBIF d25,d9,d12 68 BX lr 69 .endfunc 70 71 .global armVCM4P10_DeblockingLumabSGE4_unsafe 72 .func armVCM4P10_DeblockingLumabSGE4_unsafe 73armVCM4P10_DeblockingLumabSGE4_unsafe: 74 VSHR.U8 d19,d0,#2 75 VADD.I8 d19,d19,d15 76 VADDL.U8 q10,d8,d4 77 VADD.I8 d19,d19,d15 78 VADDL.U8 q11,d6,d9 79 VADDW.U8 q12,q10,d5 80 VCGT.U8 d19,d19,d13 81 VSHR.U16 q11,q11,#1 82 VHADD.U16 q11,q12,q11 83 VADDW.U8 q12,q12,d6 84 VADDL.U8 q13,d7,d6 85 VAND d17,d17,d19 86 VHADD.U8 d28,d4,d9 87 VSRA.U16 q13,q12,#1 88 VAND d12,d12,d19 89 VQRSHRN.U16 d29,q11,#1 90 VRHADD.U8 d28,d28,d5 91 VQRSHRN.U16 d30,q12,#2 92 VADDL.U8 q11,d10,d5 93 VADDW.U8 q12,q10,d9 94 VBIF d29,d28,d17 95 VQRSHRN.U16 d31,q13,#2 96 VADDL.U8 q13,d11,d10 97 VSHR.U16 q11,q11,#1 98 VHADD.U16 q11,q12,q11 99 VADDW.U8 q12,q12,d10 100 VHADD.U8 d28,d8,d5 101 VBIF d29,d4,d16 102 VBIF d30,d5,d17 103 VSRA.U16 q13,q12,#1 104 VQRSHRN.U16 d25,q12,#2 105 VQRSHRN.U16 d24,q11,#1 106 VRHADD.U8 d22,d28,d9 107 VBIF d25,d9,d12 108 VBIF d31,d6,d17 109 VBIF d24,d22,d12 110 VQRSHRN.U16 d28,q13,#2 111 VBIF d24,d8,d16 112 VBIF d28,d10,d12 113 BX lr 114 .endfunc 115 116 .end 117 118