1 //****************************************************************************** 2 //* 3 //* Copyright (C) 2015 The Android Open Source Project 4 //* 5 //* Licensed under the Apache License, Version 2.0 (the "License"); 6 //* you may not use this file except in compliance with the License. 7 //* You may obtain a copy of the License at: 8 //* 9 //* http://www.apache.org/licenses/LICENSE-2.0 10 //* 11 //* Unless required by applicable law or agreed to in writing, software 12 //* distributed under the License is distributed on an "AS IS" BASIS, 13 //* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 //* See the License for the specific language governing permissions and 15 //* limitations under the License. 16 //* 17 //***************************************************************************** 18 //* Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19 //*/ 20 ///** 21 //******************************************************************************* 22 //* @file 23 //* impeg2_neon_macros.s 24 //* 25 //* @brief 26 //* Contains assembly macros 27 //* 28 //* @author 29 //* Naveen SR 30 //* 31 //* @par List of Functions: 32 //* 33 //* 34 //* @remarks 35 //* None 36 //* 37 //******************************************************************************* 38 39 40 .macro push_v_regs 41 stp d8, d9, [sp, #-16]! 42 stp d10, d11, [sp, #-16]! 43 stp d12, d13, [sp, #-16]! 44 stp d14, d15, [sp, #-16]! 45 .endm 46 .macro pop_v_regs 47 ldp d14, d15, [sp], #16 48 ldp d12, d13, [sp], #16 49 ldp d10, d11, [sp], #16 50 ldp d8, d9, [sp], #16 51 .endm 52 53 .macro swp reg1, reg2 54 eor \reg1, \reg1, \reg2 55 eor \reg2, \reg1, \reg2 56 eor \reg1, \reg1, \reg2 57 .endm 58 59