Coverage Report

Created: 2023-06-07 06:31

/src/aom/aom_dsp/x86/synonyms.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) 2016, 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
#ifndef AOM_AOM_DSP_X86_SYNONYMS_H_
13
#define AOM_AOM_DSP_X86_SYNONYMS_H_
14
15
#include <immintrin.h>
16
#include <string.h>
17
18
#include "config/aom_config.h"
19
20
#include "aom/aom_integer.h"
21
22
/**
23
 * Various reusable shorthands for x86 SIMD intrinsics.
24
 *
25
 * Intrinsics prefixed with xx_ operate on or return 128bit XMM registers.
26
 * Intrinsics prefixed with yy_ operate on or return 256bit YMM registers.
27
 */
28
29
// Loads and stores to do away with the tedium of casting the address
30
// to the right type.
31
173M
static INLINE __m128i xx_loadl_32(const void *a) {
32
173M
  int val;
33
173M
  memcpy(&val, a, sizeof(val));
34
173M
  return _mm_cvtsi32_si128(val);
35
173M
}
loopfilter_sse2.c:xx_loadl_32
Line
Count
Source
31
118M
static INLINE __m128i xx_loadl_32(const void *a) {
32
118M
  int val;
33
118M
  memcpy(&val, a, sizeof(val));
34
118M
  return _mm_cvtsi32_si128(val);
35
118M
}
blend_a64_mask_sse4.c:xx_loadl_32
Line
Count
Source
31
31.1M
static INLINE __m128i xx_loadl_32(const void *a) {
32
31.1M
  int val;
33
31.1M
  memcpy(&val, a, sizeof(val));
34
31.1M
  return _mm_cvtsi32_si128(val);
35
31.1M
}
blend_a64_vmask_sse4.c:xx_loadl_32
Line
Count
Source
31
2.25M
static INLINE __m128i xx_loadl_32(const void *a) {
32
2.25M
  int val;
33
2.25M
  memcpy(&val, a, sizeof(val));
34
2.25M
  return _mm_cvtsi32_si128(val);
35
2.25M
}
blend_a64_mask_avx2.c:xx_loadl_32
Line
Count
Source
31
3.81M
static INLINE __m128i xx_loadl_32(const void *a) {
32
3.81M
  int val;
33
3.81M
  memcpy(&val, a, sizeof(val));
34
3.81M
  return _mm_cvtsi32_si128(val);
35
3.81M
}
Unexecuted instantiation: highbd_convolve_avx2.c:xx_loadl_32
Unexecuted instantiation: warp_plane_sse2.c:xx_loadl_32
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_loadl_32
Unexecuted instantiation: reconinter_ssse3.c:xx_loadl_32
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_loadl_32
filterintra_sse4.c:xx_loadl_32
Line
Count
Source
31
17.8M
static INLINE __m128i xx_loadl_32(const void *a) {
32
17.8M
  int val;
33
17.8M
  memcpy(&val, a, sizeof(val));
34
17.8M
  return _mm_cvtsi32_si128(val);
35
17.8M
}
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_loadl_32
Unexecuted instantiation: selfguided_sse4.c:xx_loadl_32
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_loadl_32
Unexecuted instantiation: convolve_2d_avx2.c:xx_loadl_32
Unexecuted instantiation: convolve_avx2.c:xx_loadl_32
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_loadl_32
Unexecuted instantiation: reconinter_avx2.c:xx_loadl_32
Unexecuted instantiation: selfguided_avx2.c:xx_loadl_32
Unexecuted instantiation: warp_plane_avx2.c:xx_loadl_32
Unexecuted instantiation: wiener_convolve_avx2.c:xx_loadl_32
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_loadl_32
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_loadl_32
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_loadl_32
36
37
324M
static INLINE __m128i xx_loadl_64(const void *a) {
38
324M
  return _mm_loadl_epi64((const __m128i *)a);
39
324M
}
Unexecuted instantiation: loopfilter_sse2.c:xx_loadl_64
blend_a64_mask_sse4.c:xx_loadl_64
Line
Count
Source
37
28.8M
static INLINE __m128i xx_loadl_64(const void *a) {
38
28.8M
  return _mm_loadl_epi64((const __m128i *)a);
39
28.8M
}
blend_a64_vmask_sse4.c:xx_loadl_64
Line
Count
Source
37
27.6M
static INLINE __m128i xx_loadl_64(const void *a) {
38
27.6M
  return _mm_loadl_epi64((const __m128i *)a);
39
27.6M
}
blend_a64_mask_avx2.c:xx_loadl_64
Line
Count
Source
37
13.9M
static INLINE __m128i xx_loadl_64(const void *a) {
38
13.9M
  return _mm_loadl_epi64((const __m128i *)a);
39
13.9M
}
Unexecuted instantiation: highbd_convolve_avx2.c:xx_loadl_64
Unexecuted instantiation: warp_plane_sse2.c:xx_loadl_64
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_loadl_64
Unexecuted instantiation: reconinter_ssse3.c:xx_loadl_64
av1_convolve_horiz_rs_sse4.c:xx_loadl_64
Line
Count
Source
37
138M
static INLINE __m128i xx_loadl_64(const void *a) {
38
138M
  return _mm_loadl_epi64((const __m128i *)a);
39
138M
}
filterintra_sse4.c:xx_loadl_64
Line
Count
Source
37
802k
static INLINE __m128i xx_loadl_64(const void *a) {
38
802k
  return _mm_loadl_epi64((const __m128i *)a);
39
802k
}
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_loadl_64
Unexecuted instantiation: selfguided_sse4.c:xx_loadl_64
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_loadl_64
Unexecuted instantiation: convolve_2d_avx2.c:xx_loadl_64
Unexecuted instantiation: convolve_avx2.c:xx_loadl_64
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_loadl_64
Unexecuted instantiation: reconinter_avx2.c:xx_loadl_64
selfguided_avx2.c:xx_loadl_64
Line
Count
Source
37
114M
static INLINE __m128i xx_loadl_64(const void *a) {
38
114M
  return _mm_loadl_epi64((const __m128i *)a);
39
114M
}
Unexecuted instantiation: warp_plane_avx2.c:xx_loadl_64
Unexecuted instantiation: wiener_convolve_avx2.c:xx_loadl_64
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_loadl_64
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_loadl_64
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_loadl_64
40
41
3.79M
static INLINE __m128i xx_load_128(const void *a) {
42
3.79M
  return _mm_load_si128((const __m128i *)a);
43
3.79M
}
Unexecuted instantiation: loopfilter_sse2.c:xx_load_128
Unexecuted instantiation: blend_a64_mask_sse4.c:xx_load_128
Unexecuted instantiation: blend_a64_vmask_sse4.c:xx_load_128
Unexecuted instantiation: blend_a64_mask_avx2.c:xx_load_128
Unexecuted instantiation: highbd_convolve_avx2.c:xx_load_128
Unexecuted instantiation: warp_plane_sse2.c:xx_load_128
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_load_128
Unexecuted instantiation: reconinter_ssse3.c:xx_load_128
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_load_128
filterintra_sse4.c:xx_load_128
Line
Count
Source
41
3.79M
static INLINE __m128i xx_load_128(const void *a) {
42
3.79M
  return _mm_load_si128((const __m128i *)a);
43
3.79M
}
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_load_128
Unexecuted instantiation: selfguided_sse4.c:xx_load_128
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_load_128
Unexecuted instantiation: convolve_2d_avx2.c:xx_load_128
Unexecuted instantiation: convolve_avx2.c:xx_load_128
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_load_128
Unexecuted instantiation: reconinter_avx2.c:xx_load_128
Unexecuted instantiation: selfguided_avx2.c:xx_load_128
Unexecuted instantiation: warp_plane_avx2.c:xx_load_128
Unexecuted instantiation: wiener_convolve_avx2.c:xx_load_128
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_load_128
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_load_128
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_load_128
44
45
456M
static INLINE __m128i xx_loadu_128(const void *a) {
46
456M
  return _mm_loadu_si128((const __m128i *)a);
47
456M
}
Unexecuted instantiation: loopfilter_sse2.c:xx_loadu_128
blend_a64_mask_sse4.c:xx_loadu_128
Line
Count
Source
45
20.2M
static INLINE __m128i xx_loadu_128(const void *a) {
46
20.2M
  return _mm_loadu_si128((const __m128i *)a);
47
20.2M
}
blend_a64_vmask_sse4.c:xx_loadu_128
Line
Count
Source
45
5.75M
static INLINE __m128i xx_loadu_128(const void *a) {
46
5.75M
  return _mm_loadu_si128((const __m128i *)a);
47
5.75M
}
blend_a64_mask_avx2.c:xx_loadu_128
Line
Count
Source
45
15.9M
static INLINE __m128i xx_loadu_128(const void *a) {
46
15.9M
  return _mm_loadu_si128((const __m128i *)a);
47
15.9M
}
Unexecuted instantiation: highbd_convolve_avx2.c:xx_loadu_128
Unexecuted instantiation: warp_plane_sse2.c:xx_loadu_128
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_loadu_128
Unexecuted instantiation: reconinter_ssse3.c:xx_loadu_128
av1_convolve_horiz_rs_sse4.c:xx_loadu_128
Line
Count
Source
45
73.9M
static INLINE __m128i xx_loadu_128(const void *a) {
46
73.9M
  return _mm_loadu_si128((const __m128i *)a);
47
73.9M
}
Unexecuted instantiation: filterintra_sse4.c:xx_loadu_128
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_loadu_128
Unexecuted instantiation: selfguided_sse4.c:xx_loadu_128
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_loadu_128
Unexecuted instantiation: convolve_2d_avx2.c:xx_loadu_128
Unexecuted instantiation: convolve_avx2.c:xx_loadu_128
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_loadu_128
Unexecuted instantiation: reconinter_avx2.c:xx_loadu_128
selfguided_avx2.c:xx_loadu_128
Line
Count
Source
45
340M
static INLINE __m128i xx_loadu_128(const void *a) {
46
340M
  return _mm_loadu_si128((const __m128i *)a);
47
340M
}
Unexecuted instantiation: warp_plane_avx2.c:xx_loadu_128
wiener_convolve_avx2.c:xx_loadu_128
Line
Count
Source
45
449k
static INLINE __m128i xx_loadu_128(const void *a) {
46
449k
  return _mm_loadu_si128((const __m128i *)a);
47
449k
}
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_loadu_128
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_loadu_128
highbd_wiener_convolve_avx2.c:xx_loadu_128
Line
Count
Source
45
271k
static INLINE __m128i xx_loadu_128(const void *a) {
46
271k
  return _mm_loadu_si128((const __m128i *)a);
47
271k
}
48
49
196M
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
196M
  const int val = _mm_cvtsi128_si32(v);
51
196M
  memcpy(a, &val, sizeof(val));
52
196M
}
loopfilter_sse2.c:xx_storel_32
Line
Count
Source
49
101M
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
101M
  const int val = _mm_cvtsi128_si32(v);
51
101M
  memcpy(a, &val, sizeof(val));
52
101M
}
blend_a64_mask_sse4.c:xx_storel_32
Line
Count
Source
49
9.69M
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
9.69M
  const int val = _mm_cvtsi128_si32(v);
51
9.69M
  memcpy(a, &val, sizeof(val));
52
9.69M
}
blend_a64_vmask_sse4.c:xx_storel_32
Line
Count
Source
49
1.12M
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
1.12M
  const int val = _mm_cvtsi128_si32(v);
51
1.12M
  memcpy(a, &val, sizeof(val));
52
1.12M
}
blend_a64_mask_avx2.c:xx_storel_32
Line
Count
Source
49
2.18M
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
2.18M
  const int val = _mm_cvtsi128_si32(v);
51
2.18M
  memcpy(a, &val, sizeof(val));
52
2.18M
}
highbd_convolve_avx2.c:xx_storel_32
Line
Count
Source
49
672k
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
672k
  const int val = _mm_cvtsi128_si32(v);
51
672k
  memcpy(a, &val, sizeof(val));
52
672k
}
Unexecuted instantiation: warp_plane_sse2.c:xx_storel_32
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_storel_32
Unexecuted instantiation: reconinter_ssse3.c:xx_storel_32
av1_convolve_horiz_rs_sse4.c:xx_storel_32
Line
Count
Source
49
34.6M
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
34.6M
  const int val = _mm_cvtsi128_si32(v);
51
34.6M
  memcpy(a, &val, sizeof(val));
52
34.6M
}
filterintra_sse4.c:xx_storel_32
Line
Count
Source
49
33.0M
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
33.0M
  const int val = _mm_cvtsi128_si32(v);
51
33.0M
  memcpy(a, &val, sizeof(val));
52
33.0M
}
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_storel_32
Unexecuted instantiation: selfguided_sse4.c:xx_storel_32
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_storel_32
convolve_2d_avx2.c:xx_storel_32
Line
Count
Source
49
9.16M
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
9.16M
  const int val = _mm_cvtsi128_si32(v);
51
9.16M
  memcpy(a, &val, sizeof(val));
52
9.16M
}
convolve_avx2.c:xx_storel_32
Line
Count
Source
49
3.47M
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
3.47M
  const int val = _mm_cvtsi128_si32(v);
51
3.47M
  memcpy(a, &val, sizeof(val));
52
3.47M
}
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_storel_32
Unexecuted instantiation: reconinter_avx2.c:xx_storel_32
Unexecuted instantiation: selfguided_avx2.c:xx_storel_32
Unexecuted instantiation: warp_plane_avx2.c:xx_storel_32
Unexecuted instantiation: wiener_convolve_avx2.c:xx_storel_32
highbd_convolve_2d_avx2.c:xx_storel_32
Line
Count
Source
49
785k
static INLINE void xx_storel_32(void *const a, const __m128i v) {
50
785k
  const int val = _mm_cvtsi128_si32(v);
51
785k
  memcpy(a, &val, sizeof(val));
52
785k
}
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_storel_32
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_storel_32
53
54
33.9M
static INLINE void xx_storel_64(void *const a, const __m128i v) {
55
33.9M
  _mm_storel_epi64((__m128i *)a, v);
56
33.9M
}
Unexecuted instantiation: loopfilter_sse2.c:xx_storel_64
blend_a64_mask_sse4.c:xx_storel_64
Line
Count
Source
54
8.11M
static INLINE void xx_storel_64(void *const a, const __m128i v) {
55
8.11M
  _mm_storel_epi64((__m128i *)a, v);
56
8.11M
}
blend_a64_vmask_sse4.c:xx_storel_64
Line
Count
Source
54
5.82M
static INLINE void xx_storel_64(void *const a, const __m128i v) {
55
5.82M
  _mm_storel_epi64((__m128i *)a, v);
56
5.82M
}
blend_a64_mask_avx2.c:xx_storel_64
Line
Count
Source
54
3.29M
static INLINE void xx_storel_64(void *const a, const __m128i v) {
55
3.29M
  _mm_storel_epi64((__m128i *)a, v);
56
3.29M
}
Unexecuted instantiation: highbd_convolve_avx2.c:xx_storel_64
Unexecuted instantiation: warp_plane_sse2.c:xx_storel_64
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_storel_64
Unexecuted instantiation: reconinter_ssse3.c:xx_storel_64
av1_convolve_horiz_rs_sse4.c:xx_storel_64
Line
Count
Source
54
16.6M
static INLINE void xx_storel_64(void *const a, const __m128i v) {
55
16.6M
  _mm_storel_epi64((__m128i *)a, v);
56
16.6M
}
Unexecuted instantiation: filterintra_sse4.c:xx_storel_64
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_storel_64
Unexecuted instantiation: selfguided_sse4.c:xx_storel_64
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_storel_64
Unexecuted instantiation: convolve_2d_avx2.c:xx_storel_64
Unexecuted instantiation: convolve_avx2.c:xx_storel_64
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_storel_64
Unexecuted instantiation: reconinter_avx2.c:xx_storel_64
Unexecuted instantiation: selfguided_avx2.c:xx_storel_64
Unexecuted instantiation: warp_plane_avx2.c:xx_storel_64
Unexecuted instantiation: wiener_convolve_avx2.c:xx_storel_64
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_storel_64
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_storel_64
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_storel_64
57
58
0
static INLINE void xx_store_128(void *const a, const __m128i v) {
59
0
  _mm_store_si128((__m128i *)a, v);
60
0
}
Unexecuted instantiation: loopfilter_sse2.c:xx_store_128
Unexecuted instantiation: blend_a64_mask_sse4.c:xx_store_128
Unexecuted instantiation: blend_a64_vmask_sse4.c:xx_store_128
Unexecuted instantiation: blend_a64_mask_avx2.c:xx_store_128
Unexecuted instantiation: highbd_convolve_avx2.c:xx_store_128
Unexecuted instantiation: warp_plane_sse2.c:xx_store_128
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_store_128
Unexecuted instantiation: reconinter_ssse3.c:xx_store_128
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_store_128
Unexecuted instantiation: filterintra_sse4.c:xx_store_128
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_store_128
Unexecuted instantiation: selfguided_sse4.c:xx_store_128
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_store_128
Unexecuted instantiation: convolve_2d_avx2.c:xx_store_128
Unexecuted instantiation: convolve_avx2.c:xx_store_128
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_store_128
Unexecuted instantiation: reconinter_avx2.c:xx_store_128
Unexecuted instantiation: selfguided_avx2.c:xx_store_128
Unexecuted instantiation: warp_plane_avx2.c:xx_store_128
Unexecuted instantiation: wiener_convolve_avx2.c:xx_store_128
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_store_128
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_store_128
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_store_128
61
62
71.1M
static INLINE void xx_storeu_128(void *const a, const __m128i v) {
63
71.1M
  _mm_storeu_si128((__m128i *)a, v);
64
71.1M
}
Unexecuted instantiation: loopfilter_sse2.c:xx_storeu_128
blend_a64_mask_sse4.c:xx_storeu_128
Line
Count
Source
62
8.79M
static INLINE void xx_storeu_128(void *const a, const __m128i v) {
63
8.79M
  _mm_storeu_si128((__m128i *)a, v);
64
8.79M
}
blend_a64_vmask_sse4.c:xx_storeu_128
Line
Count
Source
62
6.89M
static INLINE void xx_storeu_128(void *const a, const __m128i v) {
63
6.89M
  _mm_storeu_si128((__m128i *)a, v);
64
6.89M
}
blend_a64_mask_avx2.c:xx_storeu_128
Line
Count
Source
62
2.27M
static INLINE void xx_storeu_128(void *const a, const __m128i v) {
63
2.27M
  _mm_storeu_si128((__m128i *)a, v);
64
2.27M
}
Unexecuted instantiation: highbd_convolve_avx2.c:xx_storeu_128
Unexecuted instantiation: warp_plane_sse2.c:xx_storeu_128
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_storeu_128
Unexecuted instantiation: reconinter_ssse3.c:xx_storeu_128
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_storeu_128
Unexecuted instantiation: filterintra_sse4.c:xx_storeu_128
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_storeu_128
Unexecuted instantiation: selfguided_sse4.c:xx_storeu_128
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_storeu_128
Unexecuted instantiation: convolve_2d_avx2.c:xx_storeu_128
Unexecuted instantiation: convolve_avx2.c:xx_storeu_128
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_storeu_128
Unexecuted instantiation: reconinter_avx2.c:xx_storeu_128
selfguided_avx2.c:xx_storeu_128
Line
Count
Source
62
53.2M
static INLINE void xx_storeu_128(void *const a, const __m128i v) {
63
53.2M
  _mm_storeu_si128((__m128i *)a, v);
64
53.2M
}
Unexecuted instantiation: warp_plane_avx2.c:xx_storeu_128
Unexecuted instantiation: wiener_convolve_avx2.c:xx_storeu_128
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_storeu_128
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_storeu_128
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_storeu_128
65
66
// The _mm_set_epi64x() intrinsic is undefined for some Visual Studio
67
// compilers. The following function is equivalent to _mm_set_epi64x()
68
// acting on 32-bit integers.
69
0
static INLINE __m128i xx_set_64_from_32i(int32_t e1, int32_t e0) {
70
0
#if defined(_MSC_VER) && _MSC_VER < 1900
71
0
  return _mm_set_epi32(0, e1, 0, e0);
72
0
#else
73
0
  return _mm_set_epi64x((uint32_t)e1, (uint32_t)e0);
74
0
#endif
75
0
}
Unexecuted instantiation: loopfilter_sse2.c:xx_set_64_from_32i
Unexecuted instantiation: blend_a64_mask_sse4.c:xx_set_64_from_32i
Unexecuted instantiation: blend_a64_vmask_sse4.c:xx_set_64_from_32i
Unexecuted instantiation: blend_a64_mask_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: highbd_convolve_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: warp_plane_sse2.c:xx_set_64_from_32i
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_set_64_from_32i
Unexecuted instantiation: reconinter_ssse3.c:xx_set_64_from_32i
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_set_64_from_32i
Unexecuted instantiation: filterintra_sse4.c:xx_set_64_from_32i
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_set_64_from_32i
Unexecuted instantiation: selfguided_sse4.c:xx_set_64_from_32i
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: convolve_2d_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: convolve_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: reconinter_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: selfguided_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: warp_plane_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: wiener_convolve_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_set_64_from_32i
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_set_64_from_32i
76
77
// The _mm_set1_epi64x() intrinsic is undefined for some Visual Studio
78
// compilers. The following function is equivalent to _mm_set1_epi64x()
79
// acting on a 32-bit integer.
80
0
static INLINE __m128i xx_set1_64_from_32i(int32_t a) {
81
#if defined(_MSC_VER) && _MSC_VER < 1900
82
  return _mm_set_epi32(0, a, 0, a);
83
#else
84
0
  return _mm_set1_epi64x((uint32_t)a);
85
0
#endif
86
0
}
Unexecuted instantiation: loopfilter_sse2.c:xx_set1_64_from_32i
Unexecuted instantiation: blend_a64_mask_sse4.c:xx_set1_64_from_32i
Unexecuted instantiation: blend_a64_vmask_sse4.c:xx_set1_64_from_32i
Unexecuted instantiation: blend_a64_mask_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: highbd_convolve_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: warp_plane_sse2.c:xx_set1_64_from_32i
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_set1_64_from_32i
Unexecuted instantiation: reconinter_ssse3.c:xx_set1_64_from_32i
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_set1_64_from_32i
Unexecuted instantiation: filterintra_sse4.c:xx_set1_64_from_32i
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_set1_64_from_32i
Unexecuted instantiation: selfguided_sse4.c:xx_set1_64_from_32i
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: convolve_2d_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: convolve_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: reconinter_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: selfguided_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: warp_plane_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: wiener_convolve_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_set1_64_from_32i
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_set1_64_from_32i
87
88
// Fill an SSE register using an interleaved pair of values, ie. set the
89
// 8 channels to {a, b, a, b, a, b, a, b}, using the same channel ordering
90
// as when a register is stored to / loaded from memory.
91
//
92
// This is useful for rearranging filter kernels for use with the _mm_madd_epi16
93
// instruction
94
0
static INLINE __m128i xx_set2_epi16(int16_t a, int16_t b) {
95
0
  return _mm_setr_epi16(a, b, a, b, a, b, a, b);
96
0
}
Unexecuted instantiation: loopfilter_sse2.c:xx_set2_epi16
Unexecuted instantiation: blend_a64_mask_sse4.c:xx_set2_epi16
Unexecuted instantiation: blend_a64_vmask_sse4.c:xx_set2_epi16
Unexecuted instantiation: blend_a64_mask_avx2.c:xx_set2_epi16
Unexecuted instantiation: highbd_convolve_avx2.c:xx_set2_epi16
Unexecuted instantiation: warp_plane_sse2.c:xx_set2_epi16
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_set2_epi16
Unexecuted instantiation: reconinter_ssse3.c:xx_set2_epi16
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_set2_epi16
Unexecuted instantiation: filterintra_sse4.c:xx_set2_epi16
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_set2_epi16
Unexecuted instantiation: selfguided_sse4.c:xx_set2_epi16
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_set2_epi16
Unexecuted instantiation: convolve_2d_avx2.c:xx_set2_epi16
Unexecuted instantiation: convolve_avx2.c:xx_set2_epi16
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_set2_epi16
Unexecuted instantiation: reconinter_avx2.c:xx_set2_epi16
Unexecuted instantiation: selfguided_avx2.c:xx_set2_epi16
Unexecuted instantiation: warp_plane_avx2.c:xx_set2_epi16
Unexecuted instantiation: wiener_convolve_avx2.c:xx_set2_epi16
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_set2_epi16
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_set2_epi16
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_set2_epi16
97
98
964k
static INLINE __m128i xx_round_epu16(__m128i v_val_w) {
99
964k
  return _mm_avg_epu16(v_val_w, _mm_setzero_si128());
100
964k
}
Unexecuted instantiation: loopfilter_sse2.c:xx_round_epu16
blend_a64_mask_sse4.c:xx_round_epu16
Line
Count
Source
98
696k
static INLINE __m128i xx_round_epu16(__m128i v_val_w) {
99
696k
  return _mm_avg_epu16(v_val_w, _mm_setzero_si128());
100
696k
}
blend_a64_vmask_sse4.c:xx_round_epu16
Line
Count
Source
98
268k
static INLINE __m128i xx_round_epu16(__m128i v_val_w) {
99
268k
  return _mm_avg_epu16(v_val_w, _mm_setzero_si128());
100
268k
}
Unexecuted instantiation: blend_a64_mask_avx2.c:xx_round_epu16
Unexecuted instantiation: highbd_convolve_avx2.c:xx_round_epu16
Unexecuted instantiation: warp_plane_sse2.c:xx_round_epu16
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_round_epu16
Unexecuted instantiation: reconinter_ssse3.c:xx_round_epu16
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_round_epu16
Unexecuted instantiation: filterintra_sse4.c:xx_round_epu16
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_round_epu16
Unexecuted instantiation: selfguided_sse4.c:xx_round_epu16
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_round_epu16
Unexecuted instantiation: convolve_2d_avx2.c:xx_round_epu16
Unexecuted instantiation: convolve_avx2.c:xx_round_epu16
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_round_epu16
Unexecuted instantiation: reconinter_avx2.c:xx_round_epu16
Unexecuted instantiation: selfguided_avx2.c:xx_round_epu16
Unexecuted instantiation: warp_plane_avx2.c:xx_round_epu16
Unexecuted instantiation: wiener_convolve_avx2.c:xx_round_epu16
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_round_epu16
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_round_epu16
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_round_epu16
101
102
26.9M
static INLINE __m128i xx_roundn_epu16(__m128i v_val_w, int bits) {
103
26.9M
  const __m128i v_s_w = _mm_srli_epi16(v_val_w, bits - 1);
104
26.9M
  return _mm_avg_epu16(v_s_w, _mm_setzero_si128());
105
26.9M
}
Unexecuted instantiation: loopfilter_sse2.c:xx_roundn_epu16
blend_a64_mask_sse4.c:xx_roundn_epu16
Line
Count
Source
102
8.63M
static INLINE __m128i xx_roundn_epu16(__m128i v_val_w, int bits) {
103
8.63M
  const __m128i v_s_w = _mm_srli_epi16(v_val_w, bits - 1);
104
8.63M
  return _mm_avg_epu16(v_s_w, _mm_setzero_si128());
105
8.63M
}
blend_a64_vmask_sse4.c:xx_roundn_epu16
Line
Count
Source
102
17.5M
static INLINE __m128i xx_roundn_epu16(__m128i v_val_w, int bits) {
103
17.5M
  const __m128i v_s_w = _mm_srli_epi16(v_val_w, bits - 1);
104
17.5M
  return _mm_avg_epu16(v_s_w, _mm_setzero_si128());
105
17.5M
}
blend_a64_mask_avx2.c:xx_roundn_epu16
Line
Count
Source
102
708k
static INLINE __m128i xx_roundn_epu16(__m128i v_val_w, int bits) {
103
708k
  const __m128i v_s_w = _mm_srli_epi16(v_val_w, bits - 1);
104
708k
  return _mm_avg_epu16(v_s_w, _mm_setzero_si128());
105
708k
}
Unexecuted instantiation: highbd_convolve_avx2.c:xx_roundn_epu16
Unexecuted instantiation: warp_plane_sse2.c:xx_roundn_epu16
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_roundn_epu16
Unexecuted instantiation: reconinter_ssse3.c:xx_roundn_epu16
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_roundn_epu16
Unexecuted instantiation: filterintra_sse4.c:xx_roundn_epu16
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_roundn_epu16
Unexecuted instantiation: selfguided_sse4.c:xx_roundn_epu16
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_roundn_epu16
Unexecuted instantiation: convolve_2d_avx2.c:xx_roundn_epu16
Unexecuted instantiation: convolve_avx2.c:xx_roundn_epu16
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_roundn_epu16
Unexecuted instantiation: reconinter_avx2.c:xx_roundn_epu16
Unexecuted instantiation: selfguided_avx2.c:xx_roundn_epu16
Unexecuted instantiation: warp_plane_avx2.c:xx_roundn_epu16
Unexecuted instantiation: wiener_convolve_avx2.c:xx_roundn_epu16
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_roundn_epu16
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_roundn_epu16
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_roundn_epu16
106
107
0
static INLINE __m128i xx_roundn_epu32(__m128i v_val_d, int bits) {
108
0
  const __m128i v_bias_d = _mm_set1_epi32((1 << bits) >> 1);
109
0
  const __m128i v_tmp_d = _mm_add_epi32(v_val_d, v_bias_d);
110
0
  return _mm_srli_epi32(v_tmp_d, bits);
111
0
}
Unexecuted instantiation: loopfilter_sse2.c:xx_roundn_epu32
Unexecuted instantiation: blend_a64_mask_sse4.c:xx_roundn_epu32
Unexecuted instantiation: blend_a64_vmask_sse4.c:xx_roundn_epu32
Unexecuted instantiation: blend_a64_mask_avx2.c:xx_roundn_epu32
Unexecuted instantiation: highbd_convolve_avx2.c:xx_roundn_epu32
Unexecuted instantiation: warp_plane_sse2.c:xx_roundn_epu32
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_roundn_epu32
Unexecuted instantiation: reconinter_ssse3.c:xx_roundn_epu32
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_roundn_epu32
Unexecuted instantiation: filterintra_sse4.c:xx_roundn_epu32
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_roundn_epu32
Unexecuted instantiation: selfguided_sse4.c:xx_roundn_epu32
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_roundn_epu32
Unexecuted instantiation: convolve_2d_avx2.c:xx_roundn_epu32
Unexecuted instantiation: convolve_avx2.c:xx_roundn_epu32
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_roundn_epu32
Unexecuted instantiation: reconinter_avx2.c:xx_roundn_epu32
Unexecuted instantiation: selfguided_avx2.c:xx_roundn_epu32
Unexecuted instantiation: warp_plane_avx2.c:xx_roundn_epu32
Unexecuted instantiation: wiener_convolve_avx2.c:xx_roundn_epu32
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_roundn_epu32
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_roundn_epu32
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_roundn_epu32
112
113
33.0M
static INLINE __m128i xx_roundn_epi16_unsigned(__m128i v_val_d, int bits) {
114
33.0M
  const __m128i v_bias_d = _mm_set1_epi16((1 << bits) >> 1);
115
33.0M
  const __m128i v_tmp_d = _mm_add_epi16(v_val_d, v_bias_d);
116
33.0M
  return _mm_srai_epi16(v_tmp_d, bits);
117
33.0M
}
Unexecuted instantiation: loopfilter_sse2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: blend_a64_mask_sse4.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: blend_a64_vmask_sse4.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: blend_a64_mask_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: highbd_convolve_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: warp_plane_sse2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: reconinter_ssse3.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_roundn_epi16_unsigned
filterintra_sse4.c:xx_roundn_epi16_unsigned
Line
Count
Source
113
33.0M
static INLINE __m128i xx_roundn_epi16_unsigned(__m128i v_val_d, int bits) {
114
33.0M
  const __m128i v_bias_d = _mm_set1_epi16((1 << bits) >> 1);
115
33.0M
  const __m128i v_tmp_d = _mm_add_epi16(v_val_d, v_bias_d);
116
33.0M
  return _mm_srai_epi16(v_tmp_d, bits);
117
33.0M
}
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: selfguided_sse4.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: convolve_2d_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: convolve_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: reconinter_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: selfguided_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: warp_plane_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: wiener_convolve_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_roundn_epi16_unsigned
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_roundn_epi16_unsigned
118
119
// This is equivalent to ROUND_POWER_OF_TWO(v_val_d, bits)
120
0
static INLINE __m128i xx_roundn_epi32_unsigned(__m128i v_val_d, int bits) {
121
0
  const __m128i v_bias_d = _mm_set1_epi32((1 << bits) >> 1);
122
0
  const __m128i v_tmp_d = _mm_add_epi32(v_val_d, v_bias_d);
123
0
  return _mm_srai_epi32(v_tmp_d, bits);
124
0
}
Unexecuted instantiation: loopfilter_sse2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: blend_a64_mask_sse4.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: blend_a64_vmask_sse4.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: blend_a64_mask_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: highbd_convolve_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: warp_plane_sse2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: reconinter_ssse3.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: filterintra_sse4.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: selfguided_sse4.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: convolve_2d_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: convolve_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: reconinter_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: selfguided_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: warp_plane_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: wiener_convolve_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_roundn_epi32_unsigned
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_roundn_epi32_unsigned
125
126
0
static INLINE __m128i xx_roundn_epi16(__m128i v_val_d, int bits) {
127
0
  const __m128i v_bias_d = _mm_set1_epi16((1 << bits) >> 1);
128
0
  const __m128i v_sign_d = _mm_srai_epi16(v_val_d, 15);
129
0
  const __m128i v_tmp_d =
130
0
      _mm_add_epi16(_mm_add_epi16(v_val_d, v_bias_d), v_sign_d);
131
0
  return _mm_srai_epi16(v_tmp_d, bits);
132
0
}
Unexecuted instantiation: loopfilter_sse2.c:xx_roundn_epi16
Unexecuted instantiation: blend_a64_mask_sse4.c:xx_roundn_epi16
Unexecuted instantiation: blend_a64_vmask_sse4.c:xx_roundn_epi16
Unexecuted instantiation: blend_a64_mask_avx2.c:xx_roundn_epi16
Unexecuted instantiation: highbd_convolve_avx2.c:xx_roundn_epi16
Unexecuted instantiation: warp_plane_sse2.c:xx_roundn_epi16
Unexecuted instantiation: av1_inv_txfm_ssse3.c:xx_roundn_epi16
Unexecuted instantiation: reconinter_ssse3.c:xx_roundn_epi16
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:xx_roundn_epi16
Unexecuted instantiation: filterintra_sse4.c:xx_roundn_epi16
Unexecuted instantiation: highbd_inv_txfm_sse4.c:xx_roundn_epi16
Unexecuted instantiation: selfguided_sse4.c:xx_roundn_epi16
Unexecuted instantiation: av1_inv_txfm_avx2.c:xx_roundn_epi16
Unexecuted instantiation: convolve_2d_avx2.c:xx_roundn_epi16
Unexecuted instantiation: convolve_avx2.c:xx_roundn_epi16
Unexecuted instantiation: highbd_inv_txfm_avx2.c:xx_roundn_epi16
Unexecuted instantiation: reconinter_avx2.c:xx_roundn_epi16
Unexecuted instantiation: selfguided_avx2.c:xx_roundn_epi16
Unexecuted instantiation: warp_plane_avx2.c:xx_roundn_epi16
Unexecuted instantiation: wiener_convolve_avx2.c:xx_roundn_epi16
Unexecuted instantiation: highbd_convolve_2d_avx2.c:xx_roundn_epi16
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:xx_roundn_epi16
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:xx_roundn_epi16
133
134
#endif  // AOM_AOM_DSP_X86_SYNONYMS_H_