@ @ Copyright (C) 2009 The Android Open Source Project @ @ Licensed under the Apache License, Version 2.0 (the "License"); @ you may not use this file except in compliance with the License. @ You may obtain a copy of the License at @ @ http://www.apache.org/licenses/LICENSE-2.0 @ @ Unless required by applicable law or agreed to in writing, software @ distributed under the License is distributed on an "AS IS" BASIS, @ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @ See the License for the specific language governing permissions and @ limitations under the License. @ #include "asm_common.S" PRESERVE8 .fpu neon .text /* Input / output registers */ #define pMbLayer r0 #define size r1 #define pTmp r2 #define step r3 /* -- NEON registers -- */ #define qZero Q0 /*------------------------------------------------------------------------------ Function: h264bsdClearMbLayer Functional description: Inputs: Outputs: Returns: ------------------------------------------------------------------------------*/ function h264bsdClearMbLayer, export=1 VMOV.I8 qZero, #0 ADD pTmp, pMbLayer, #16 MOV step, #32 SUBS size, size, #64 loop: VST1.8 {qZero}, [pMbLayer], step SUBS size, size, #64 VST1.8 {qZero}, [pTmp], step VST1.8 {qZero}, [pMbLayer], step VST1.8 {qZero}, [pTmp], step BCS loop BX lr endfunction