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 29armVCM4P10_DeblockingLumabSLT4_unsafe: 30 VSUBL.U8 q11,d5,d9 31 VLD1.8 {d18[]},[r5]! 32 VSUBL.U8 q10,d8,d4 33 VLD1.8 {d19[]},[r5]! 34 VSHR.S16 q11,q11,#2 35 VEXT.8 d18,d18,d19,#4 36 VAND d19,d17,d15 37 VBIF d18,d14,d16 38 VRHADD.S16 q10,q11,q10 39 VRHADD.U8 d24,d4,d8 40 VADD.I8 d31,d18,d19 41 VAND d19,d12,d15 42 VQADD.U8 d23,d5,d18 43 VQMOVN.S16 d20,q10 44 VADD.I8 d31,d31,d19 45 VQSUB.U8 d22,d5,d18 46 VQADD.U8 d19,d9,d18 47 VHADD.U8 d26,d24,d6 48 VMIN.S8 d20,d20,d31 49 VNEG.S8 d31,d31 50 VQSUB.U8 d21,d9,d18 51 VHADD.U8 d27,d24,d10 52 VMAX.U8 d30,d26,d22 53 VMAX.S8 d20,d20,d31 54 VMOVL.U8 q14,d4 55 VMOVL.U8 q12,d8 56 VADDW.S8 q14,q14,d20 57 VSUBW.S8 q12,q12,d20 58 VQMOVUN.S16 d29,q14 59 VQMOVUN.S16 d24,q12 60 VMAX.U8 d25,d27,d21 61 VMIN.U8 d30,d30,d23 62 VMIN.U8 d25,d25,d19 63 VBIF d29,d4,d16 64 VBIF d30,d5,d17 65 VBIF d24,d8,d16 66 VBIF d25,d9,d12 67 BX lr 68 69 .global armVCM4P10_DeblockingLumabSGE4_unsafe 70armVCM4P10_DeblockingLumabSGE4_unsafe: 71 VSHR.U8 d19,d0,#2 72 VADD.I8 d19,d19,d15 73 VADDL.U8 q10,d8,d4 74 VADD.I8 d19,d19,d15 75 VADDL.U8 q11,d6,d9 76 VADDW.U8 q12,q10,d5 77 VCGT.U8 d19,d19,d13 78 VSHR.U16 q11,q11,#1 79 VHADD.U16 q11,q12,q11 80 VADDW.U8 q12,q12,d6 81 VADDL.U8 q13,d7,d6 82 VAND d17,d17,d19 83 VHADD.U8 d28,d4,d9 84 VSRA.U16 q13,q12,#1 85 VAND d12,d12,d19 86 VQRSHRN.U16 d29,q11,#1 87 VRHADD.U8 d28,d28,d5 88 VQRSHRN.U16 d30,q12,#2 89 VADDL.U8 q11,d10,d5 90 VADDW.U8 q12,q10,d9 91 VBIF d29,d28,d17 92 VQRSHRN.U16 d31,q13,#2 93 VADDL.U8 q13,d11,d10 94 VSHR.U16 q11,q11,#1 95 VHADD.U16 q11,q12,q11 96 VADDW.U8 q12,q12,d10 97 VHADD.U8 d28,d8,d5 98 VBIF d29,d4,d16 99 VBIF d30,d5,d17 100 VSRA.U16 q13,q12,#1 101 VQRSHRN.U16 d25,q12,#2 102 VQRSHRN.U16 d24,q11,#1 103 VRHADD.U8 d22,d28,d9 104 VBIF d25,d9,d12 105 VBIF d31,d6,d17 106 VBIF d24,d22,d12 107 VQRSHRN.U16 d28,q13,#2 108 VBIF d24,d8,d16 109 VBIF d28,d10,d12 110 BX lr 111 112 .end 113 114