xref: /aosp_15_r20/external/libavc/common/armv8/ih264_neon_macros.s (revision 495ae853bb871d1e5a258cb02c2cc13cde8ddb9a)
1*495ae853SAndroid Build Coastguard Worker//******************************************************************************
2*495ae853SAndroid Build Coastguard Worker//*
3*495ae853SAndroid Build Coastguard Worker//* Copyright (C) 2015 The Android Open Source Project
4*495ae853SAndroid Build Coastguard Worker//*
5*495ae853SAndroid Build Coastguard Worker//* Licensed under the Apache License, Version 2.0 (the "License");
6*495ae853SAndroid Build Coastguard Worker//* you may not use this file except in compliance with the License.
7*495ae853SAndroid Build Coastguard Worker//* You may obtain a copy of the License at:
8*495ae853SAndroid Build Coastguard Worker//*
9*495ae853SAndroid Build Coastguard Worker//* http://www.apache.org/licenses/LICENSE-2.0
10*495ae853SAndroid Build Coastguard Worker//*
11*495ae853SAndroid Build Coastguard Worker//* Unless required by applicable law or agreed to in writing, software
12*495ae853SAndroid Build Coastguard Worker//* distributed under the License is distributed on an "AS IS" BASIS,
13*495ae853SAndroid Build Coastguard Worker//* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*495ae853SAndroid Build Coastguard Worker//* See the License for the specific language governing permissions and
15*495ae853SAndroid Build Coastguard Worker//* limitations under the License.
16*495ae853SAndroid Build Coastguard Worker//*
17*495ae853SAndroid Build Coastguard Worker//*****************************************************************************
18*495ae853SAndroid Build Coastguard Worker//* Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*495ae853SAndroid Build Coastguard Worker//*/
20*495ae853SAndroid Build Coastguard Worker//*******************************************************************************
21*495ae853SAndroid Build Coastguard Worker
22*495ae853SAndroid Build Coastguard Worker
23*495ae853SAndroid Build Coastguard Worker.macro push_v_regs
24*495ae853SAndroid Build Coastguard Worker    stp       d8, d9, [sp, #-16]!
25*495ae853SAndroid Build Coastguard Worker    stp       d10, d11, [sp, #-16]!
26*495ae853SAndroid Build Coastguard Worker    stp       d12, d13, [sp, #-16]!
27*495ae853SAndroid Build Coastguard Worker    stp       d14, d15, [sp, #-16]!
28*495ae853SAndroid Build Coastguard Worker.endm
29*495ae853SAndroid Build Coastguard Worker.macro pop_v_regs
30*495ae853SAndroid Build Coastguard Worker    ldp       d14, d15, [sp], #16
31*495ae853SAndroid Build Coastguard Worker    ldp       d12, d13, [sp], #16
32*495ae853SAndroid Build Coastguard Worker    ldp       d10, d11, [sp], #16
33*495ae853SAndroid Build Coastguard Worker    ldp       d8, d9, [sp], #16
34*495ae853SAndroid Build Coastguard Worker.endm
35*495ae853SAndroid Build Coastguard Worker
36*495ae853SAndroid Build Coastguard Worker.macro swp reg1, reg2
37*495ae853SAndroid Build Coastguard Worker    eor       \reg1, \reg1, \reg2
38*495ae853SAndroid Build Coastguard Worker    eor       \reg2, \reg1, \reg2
39*495ae853SAndroid Build Coastguard Worker    eor       \reg1, \reg1, \reg2
40*495ae853SAndroid Build Coastguard Worker.endm
41*495ae853SAndroid Build Coastguard Worker
42