1@ This file was created from a .asm file 2@ using the ads2gas.pl script. 3 .syntax unified 4@ 5@ Copyright (c) 2016 The WebM project authors. All Rights Reserved. 6@ 7@ Use of this source code is governed by a BSD-style license 8@ that can be found in the LICENSE file in the root of the source 9@ tree. An additional intellectual property rights grant can be found 10@ in the file PATENTS. All contributing project authors may 11@ be found in the AUTHORS file in the root of the source tree. 12@ 13 14 .include "./vpx_config.asm" 15 16 @ Helper functions used to load tran_low_t into int16, narrowing if 17 @ necessary. 18 19 @ $dst0..3 are d registers with the pairs assumed to be contiguous in 20 @ non-high-bitdepth builds. q0-q3 are used as temporaries in high-bitdepth. 21.macro LOAD_TRAN_LOW_TO_S16 dst0, dst1, dst2, dst3, src 22 .if CONFIG_VP9_HIGHBITDEPTH 23 vld1.s32 {q0,q1}, [\src]! 24 vld1.s32 {q2,q3}, [\src]! 25 vmovn.i32 \dst0, q0 26 vmovn.i32 \dst1, q1 27 vmovn.i32 \dst2, q2 28 vmovn.i32 \dst3, q3 29 .else 30 vld1.s16 {\dst0-\dst1,\dst2-\dst3}, [\src]! 31 .endif 32 .endm 33 34 @ $dst0..3 are d registers. q0-q3 are used as temporaries in high-bitdepth. 35.macro LOAD_TRAN_LOW_TO_S16X2 dst0, dst1, dst2, dst3, src 36 .if CONFIG_VP9_HIGHBITDEPTH 37 vld2.s32 {q0,q1}, [\src]! 38 vld2.s32 {q2,q3}, [\src]! 39 vmovn.i32 \dst0, q0 40 vmovn.i32 \dst1, q2 41 vmovn.i32 \dst2, q1 42 vmovn.i32 \dst3, q3 43 .else 44 vld2.s16 {\dst0,\dst1,\dst2,\dst3}, [\src]! 45 .endif 46 .endm 47 .section .note.GNU-stack,"",%progbits 48