xref: /aosp_15_r20/external/libaom/av1/common/x86/av1_txfm_sse4.c (revision 77c1e3ccc04c968bd2bc212e87364f250e820521)
1 /*
2  * Copyright (c) 2018, Alliance for Open Media. All rights reserved.
3  *
4  * This source code is subject to the terms of the BSD 2 Clause License and
5  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6  * was not distributed with this source code in the LICENSE file, you can
7  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8  * Media Patent License 1.0 was not distributed with this source code in the
9  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10  */
11 
12 #include "config/av1_rtcd.h"
13 
14 #include "av1/common/av1_txfm.h"
15 #include "av1/common/x86/av1_txfm_sse4.h"
16 
17 // This function assumes `arr` is 16-byte aligned.
av1_round_shift_array_sse4_1(int32_t * arr,int size,int bit)18 void av1_round_shift_array_sse4_1(int32_t *arr, int size, int bit) {
19   __m128i *const vec = (__m128i *)arr;
20   const int vec_size = size >> 2;
21   av1_round_shift_array_32_sse4_1(vec, vec, vec_size, bit);
22 }
23