1*77c1e3ccSAndroid Build Coastguard Worker /*
2*77c1e3ccSAndroid Build Coastguard Worker * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3*77c1e3ccSAndroid Build Coastguard Worker *
4*77c1e3ccSAndroid Build Coastguard Worker * This source code is subject to the terms of the BSD 2 Clause License and
5*77c1e3ccSAndroid Build Coastguard Worker * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6*77c1e3ccSAndroid Build Coastguard Worker * was not distributed with this source code in the LICENSE file, you can
7*77c1e3ccSAndroid Build Coastguard Worker * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8*77c1e3ccSAndroid Build Coastguard Worker * Media Patent License 1.0 was not distributed with this source code in the
9*77c1e3ccSAndroid Build Coastguard Worker * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10*77c1e3ccSAndroid Build Coastguard Worker */
11*77c1e3ccSAndroid Build Coastguard Worker
12*77c1e3ccSAndroid Build Coastguard Worker #ifndef AOM_AOM_DSP_SIMD_V64_INTRINSICS_H_
13*77c1e3ccSAndroid Build Coastguard Worker #define AOM_AOM_DSP_SIMD_V64_INTRINSICS_H_
14*77c1e3ccSAndroid Build Coastguard Worker
15*77c1e3ccSAndroid Build Coastguard Worker #include <stdio.h>
16*77c1e3ccSAndroid Build Coastguard Worker #include <stdlib.h>
17*77c1e3ccSAndroid Build Coastguard Worker
18*77c1e3ccSAndroid Build Coastguard Worker #include "aom_dsp/simd/v64_intrinsics_c.h"
19*77c1e3ccSAndroid Build Coastguard Worker
20*77c1e3ccSAndroid Build Coastguard Worker /* Fallback to plain, unoptimised C. */
21*77c1e3ccSAndroid Build Coastguard Worker
22*77c1e3ccSAndroid Build Coastguard Worker typedef c_v64 v64;
23*77c1e3ccSAndroid Build Coastguard Worker
v64_low_u32(v64 a)24*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE uint32_t v64_low_u32(v64 a) { return c_v64_low_u32(a); }
v64_high_u32(v64 a)25*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE uint32_t v64_high_u32(v64 a) { return c_v64_high_u32(a); }
v64_low_s32(v64 a)26*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE int32_t v64_low_s32(v64 a) { return c_v64_low_s32(a); }
v64_high_s32(v64 a)27*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE int32_t v64_high_s32(v64 a) { return c_v64_high_s32(a); }
v64_from_32(uint32_t x,uint32_t y)28*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_from_32(uint32_t x, uint32_t y) {
29*77c1e3ccSAndroid Build Coastguard Worker return c_v64_from_32(x, y);
30*77c1e3ccSAndroid Build Coastguard Worker }
v64_from_64(uint64_t x)31*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_from_64(uint64_t x) { return c_v64_from_64(x); }
v64_u64(v64 x)32*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE uint64_t v64_u64(v64 x) { return c_v64_u64(x); }
v64_from_16(uint16_t a,uint16_t b,uint16_t c,uint16_t d)33*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_from_16(uint16_t a, uint16_t b, uint16_t c, uint16_t d) {
34*77c1e3ccSAndroid Build Coastguard Worker return c_v64_from_16(a, b, c, d);
35*77c1e3ccSAndroid Build Coastguard Worker }
36*77c1e3ccSAndroid Build Coastguard Worker
u32_load_unaligned(const void * p)37*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE uint32_t u32_load_unaligned(const void *p) {
38*77c1e3ccSAndroid Build Coastguard Worker return c_u32_load_unaligned(p);
39*77c1e3ccSAndroid Build Coastguard Worker }
u32_load_aligned(const void * p)40*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE uint32_t u32_load_aligned(const void *p) {
41*77c1e3ccSAndroid Build Coastguard Worker return c_u32_load_aligned(p);
42*77c1e3ccSAndroid Build Coastguard Worker }
u32_store_unaligned(void * p,uint32_t a)43*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE void u32_store_unaligned(void *p, uint32_t a) {
44*77c1e3ccSAndroid Build Coastguard Worker c_u32_store_unaligned(p, a);
45*77c1e3ccSAndroid Build Coastguard Worker }
u32_store_aligned(void * p,uint32_t a)46*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE void u32_store_aligned(void *p, uint32_t a) {
47*77c1e3ccSAndroid Build Coastguard Worker c_u32_store_aligned(p, a);
48*77c1e3ccSAndroid Build Coastguard Worker }
49*77c1e3ccSAndroid Build Coastguard Worker
v64_load_unaligned(const void * p)50*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_load_unaligned(const void *p) {
51*77c1e3ccSAndroid Build Coastguard Worker return c_v64_load_unaligned(p);
52*77c1e3ccSAndroid Build Coastguard Worker }
v64_load_aligned(const void * p)53*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_load_aligned(const void *p) {
54*77c1e3ccSAndroid Build Coastguard Worker return c_v64_load_aligned(p);
55*77c1e3ccSAndroid Build Coastguard Worker }
56*77c1e3ccSAndroid Build Coastguard Worker
v64_store_unaligned(void * p,v64 a)57*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE void v64_store_unaligned(void *p, v64 a) {
58*77c1e3ccSAndroid Build Coastguard Worker c_v64_store_unaligned(p, a);
59*77c1e3ccSAndroid Build Coastguard Worker }
v64_store_aligned(void * p,v64 a)60*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE void v64_store_aligned(void *p, v64 a) {
61*77c1e3ccSAndroid Build Coastguard Worker c_v64_store_aligned(p, a);
62*77c1e3ccSAndroid Build Coastguard Worker }
63*77c1e3ccSAndroid Build Coastguard Worker
v64_align(v64 a,v64 b,unsigned int c)64*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_align(v64 a, v64 b, unsigned int c) {
65*77c1e3ccSAndroid Build Coastguard Worker return c_v64_align(a, b, c);
66*77c1e3ccSAndroid Build Coastguard Worker }
67*77c1e3ccSAndroid Build Coastguard Worker
v64_zero(void)68*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_zero(void) { return c_v64_zero(); }
v64_dup_8(uint8_t x)69*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_dup_8(uint8_t x) { return c_v64_dup_8(x); }
v64_dup_16(uint16_t x)70*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_dup_16(uint16_t x) { return c_v64_dup_16(x); }
v64_dup_32(uint32_t x)71*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_dup_32(uint32_t x) { return c_v64_dup_32(x); }
72*77c1e3ccSAndroid Build Coastguard Worker
v64_add_8(v64 a,v64 b)73*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_add_8(v64 a, v64 b) { return c_v64_add_8(a, b); }
v64_add_16(v64 a,v64 b)74*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_add_16(v64 a, v64 b) { return c_v64_add_16(a, b); }
v64_sadd_u8(v64 a,v64 b)75*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_sadd_u8(v64 a, v64 b) { return c_v64_sadd_u8(a, b); }
v64_sadd_s8(v64 a,v64 b)76*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_sadd_s8(v64 a, v64 b) { return c_v64_sadd_s8(a, b); }
v64_sadd_s16(v64 a,v64 b)77*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_sadd_s16(v64 a, v64 b) { return c_v64_sadd_s16(a, b); }
v64_add_32(v64 a,v64 b)78*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_add_32(v64 a, v64 b) { return c_v64_add_32(a, b); }
v64_sub_8(v64 a,v64 b)79*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_sub_8(v64 a, v64 b) { return c_v64_sub_8(a, b); }
v64_ssub_u8(v64 a,v64 b)80*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_ssub_u8(v64 a, v64 b) { return c_v64_ssub_u8(a, b); }
v64_ssub_s8(v64 a,v64 b)81*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_ssub_s8(v64 a, v64 b) { return c_v64_ssub_s8(a, b); }
v64_sub_16(v64 a,v64 b)82*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_sub_16(v64 a, v64 b) { return c_v64_sub_16(a, b); }
v64_ssub_s16(v64 a,v64 b)83*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_ssub_s16(v64 a, v64 b) { return c_v64_ssub_s16(a, b); }
v64_ssub_u16(v64 a,v64 b)84*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_ssub_u16(v64 a, v64 b) { return c_v64_ssub_u16(a, b); }
v64_sub_32(v64 a,v64 b)85*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_sub_32(v64 a, v64 b) { return c_v64_sub_32(a, b); }
v64_abs_s16(v64 a)86*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_abs_s16(v64 a) { return c_v64_abs_s16(a); }
v64_abs_s8(v64 a)87*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_abs_s8(v64 a) { return c_v64_abs_s8(a); }
88*77c1e3ccSAndroid Build Coastguard Worker
v64_ziplo_8(v64 a,v64 b)89*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_ziplo_8(v64 a, v64 b) { return c_v64_ziplo_8(a, b); }
v64_ziphi_8(v64 a,v64 b)90*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_ziphi_8(v64 a, v64 b) { return c_v64_ziphi_8(a, b); }
v64_ziplo_16(v64 a,v64 b)91*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_ziplo_16(v64 a, v64 b) { return c_v64_ziplo_16(a, b); }
v64_ziphi_16(v64 a,v64 b)92*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_ziphi_16(v64 a, v64 b) { return c_v64_ziphi_16(a, b); }
v64_ziplo_32(v64 a,v64 b)93*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_ziplo_32(v64 a, v64 b) { return c_v64_ziplo_32(a, b); }
v64_ziphi_32(v64 a,v64 b)94*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_ziphi_32(v64 a, v64 b) { return c_v64_ziphi_32(a, b); }
v64_unziplo_8(v64 a,v64 b)95*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unziplo_8(v64 a, v64 b) { return c_v64_unziplo_8(a, b); }
v64_unziphi_8(v64 a,v64 b)96*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unziphi_8(v64 a, v64 b) { return c_v64_unziphi_8(a, b); }
v64_unziplo_16(v64 a,v64 b)97*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unziplo_16(v64 a, v64 b) { return c_v64_unziplo_16(a, b); }
v64_unziphi_16(v64 a,v64 b)98*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unziphi_16(v64 a, v64 b) { return c_v64_unziphi_16(a, b); }
v64_unpacklo_u8_s16(v64 a)99*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unpacklo_u8_s16(v64 a) { return c_v64_unpacklo_u8_s16(a); }
v64_unpackhi_u8_s16(v64 a)100*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unpackhi_u8_s16(v64 a) { return c_v64_unpackhi_u8_s16(a); }
v64_unpacklo_s8_s16(v64 a)101*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unpacklo_s8_s16(v64 a) { return c_v64_unpacklo_s8_s16(a); }
v64_unpackhi_s8_s16(v64 a)102*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unpackhi_s8_s16(v64 a) { return c_v64_unpackhi_s8_s16(a); }
v64_pack_s32_s16(v64 a,v64 b)103*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_pack_s32_s16(v64 a, v64 b) {
104*77c1e3ccSAndroid Build Coastguard Worker return c_v64_pack_s32_s16(a, b);
105*77c1e3ccSAndroid Build Coastguard Worker }
v64_pack_s32_u16(v64 a,v64 b)106*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_pack_s32_u16(v64 a, v64 b) {
107*77c1e3ccSAndroid Build Coastguard Worker return c_v64_pack_s32_u16(a, b);
108*77c1e3ccSAndroid Build Coastguard Worker }
v64_pack_s16_u8(v64 a,v64 b)109*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_pack_s16_u8(v64 a, v64 b) {
110*77c1e3ccSAndroid Build Coastguard Worker return c_v64_pack_s16_u8(a, b);
111*77c1e3ccSAndroid Build Coastguard Worker }
v64_pack_s16_s8(v64 a,v64 b)112*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_pack_s16_s8(v64 a, v64 b) {
113*77c1e3ccSAndroid Build Coastguard Worker return c_v64_pack_s16_s8(a, b);
114*77c1e3ccSAndroid Build Coastguard Worker }
v64_unpacklo_u16_s32(v64 a)115*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unpacklo_u16_s32(v64 a) {
116*77c1e3ccSAndroid Build Coastguard Worker return c_v64_unpacklo_u16_s32(a);
117*77c1e3ccSAndroid Build Coastguard Worker }
v64_unpacklo_s16_s32(v64 a)118*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unpacklo_s16_s32(v64 a) {
119*77c1e3ccSAndroid Build Coastguard Worker return c_v64_unpacklo_s16_s32(a);
120*77c1e3ccSAndroid Build Coastguard Worker }
v64_unpackhi_u16_s32(v64 a)121*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unpackhi_u16_s32(v64 a) {
122*77c1e3ccSAndroid Build Coastguard Worker return c_v64_unpackhi_u16_s32(a);
123*77c1e3ccSAndroid Build Coastguard Worker }
v64_unpackhi_s16_s32(v64 a)124*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_unpackhi_s16_s32(v64 a) {
125*77c1e3ccSAndroid Build Coastguard Worker return c_v64_unpackhi_s16_s32(a);
126*77c1e3ccSAndroid Build Coastguard Worker }
v64_shuffle_8(v64 a,v64 pattern)127*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shuffle_8(v64 a, v64 pattern) {
128*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shuffle_8(a, pattern);
129*77c1e3ccSAndroid Build Coastguard Worker }
130*77c1e3ccSAndroid Build Coastguard Worker
v64_sad_u8_init(void)131*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE c_sad64_internal v64_sad_u8_init(void) {
132*77c1e3ccSAndroid Build Coastguard Worker return c_v64_sad_u8_init();
133*77c1e3ccSAndroid Build Coastguard Worker }
v64_sad_u8(c_sad64_internal s,v64 a,v64 b)134*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE c_sad64_internal v64_sad_u8(c_sad64_internal s, v64 a, v64 b) {
135*77c1e3ccSAndroid Build Coastguard Worker return c_v64_sad_u8(s, a, b);
136*77c1e3ccSAndroid Build Coastguard Worker }
v64_sad_u8_sum(c_sad64_internal s)137*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE uint32_t v64_sad_u8_sum(c_sad64_internal s) {
138*77c1e3ccSAndroid Build Coastguard Worker return c_v64_sad_u8_sum(s);
139*77c1e3ccSAndroid Build Coastguard Worker }
v64_ssd_u8_init(void)140*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE c_ssd64_internal v64_ssd_u8_init(void) {
141*77c1e3ccSAndroid Build Coastguard Worker return c_v64_ssd_u8_init();
142*77c1e3ccSAndroid Build Coastguard Worker }
v64_ssd_u8(c_ssd64_internal s,v64 a,v64 b)143*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE c_ssd64_internal v64_ssd_u8(c_ssd64_internal s, v64 a, v64 b) {
144*77c1e3ccSAndroid Build Coastguard Worker return c_v64_ssd_u8(s, a, b);
145*77c1e3ccSAndroid Build Coastguard Worker }
v64_ssd_u8_sum(c_ssd64_internal s)146*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE uint32_t v64_ssd_u8_sum(c_ssd64_internal s) {
147*77c1e3ccSAndroid Build Coastguard Worker return c_v64_ssd_u8_sum(s);
148*77c1e3ccSAndroid Build Coastguard Worker }
v64_dotp_su8(v64 a,v64 b)149*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE int64_t v64_dotp_su8(v64 a, v64 b) { return c_v64_dotp_su8(a, b); }
v64_dotp_s16(v64 a,v64 b)150*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE int64_t v64_dotp_s16(v64 a, v64 b) { return c_v64_dotp_s16(a, b); }
v64_hadd_u8(v64 a)151*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE uint64_t v64_hadd_u8(v64 a) { return c_v64_hadd_u8(a); }
v64_hadd_s16(v64 a)152*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE int64_t v64_hadd_s16(v64 a) { return c_v64_hadd_s16(a); }
153*77c1e3ccSAndroid Build Coastguard Worker
v64_or(v64 a,v64 b)154*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_or(v64 a, v64 b) { return c_v64_or(a, b); }
v64_xor(v64 a,v64 b)155*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_xor(v64 a, v64 b) { return c_v64_xor(a, b); }
v64_and(v64 a,v64 b)156*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_and(v64 a, v64 b) { return c_v64_and(a, b); }
v64_andn(v64 a,v64 b)157*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_andn(v64 a, v64 b) { return c_v64_andn(a, b); }
158*77c1e3ccSAndroid Build Coastguard Worker
v64_mullo_s16(v64 a,v64 b)159*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_mullo_s16(v64 a, v64 b) { return c_v64_mullo_s16(a, b); }
v64_mulhi_s16(v64 a,v64 b)160*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_mulhi_s16(v64 a, v64 b) { return c_v64_mulhi_s16(a, b); }
v64_mullo_s32(v64 a,v64 b)161*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_mullo_s32(v64 a, v64 b) { return c_v64_mullo_s32(a, b); }
v64_madd_s16(v64 a,v64 b)162*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_madd_s16(v64 a, v64 b) { return c_v64_madd_s16(a, b); }
v64_madd_us8(v64 a,v64 b)163*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_madd_us8(v64 a, v64 b) { return c_v64_madd_us8(a, b); }
164*77c1e3ccSAndroid Build Coastguard Worker
v64_avg_u8(v64 a,v64 b)165*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_avg_u8(v64 a, v64 b) { return c_v64_avg_u8(a, b); }
v64_rdavg_u8(v64 a,v64 b)166*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_rdavg_u8(v64 a, v64 b) { return c_v64_rdavg_u8(a, b); }
v64_rdavg_u16(v64 a,v64 b)167*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_rdavg_u16(v64 a, v64 b) { return c_v64_rdavg_u16(a, b); }
v64_avg_u16(v64 a,v64 b)168*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_avg_u16(v64 a, v64 b) { return c_v64_avg_u16(a, b); }
v64_min_u8(v64 a,v64 b)169*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_min_u8(v64 a, v64 b) { return c_v64_min_u8(a, b); }
v64_max_u8(v64 a,v64 b)170*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_max_u8(v64 a, v64 b) { return c_v64_max_u8(a, b); }
v64_min_s8(v64 a,v64 b)171*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_min_s8(v64 a, v64 b) { return c_v64_min_s8(a, b); }
v64_max_s8(v64 a,v64 b)172*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_max_s8(v64 a, v64 b) { return c_v64_max_s8(a, b); }
v64_min_s16(v64 a,v64 b)173*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_min_s16(v64 a, v64 b) { return c_v64_min_s16(a, b); }
v64_max_s16(v64 a,v64 b)174*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_max_s16(v64 a, v64 b) { return c_v64_max_s16(a, b); }
175*77c1e3ccSAndroid Build Coastguard Worker
v64_cmpgt_s8(v64 a,v64 b)176*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_cmpgt_s8(v64 a, v64 b) { return c_v64_cmpgt_s8(a, b); }
v64_cmplt_s8(v64 a,v64 b)177*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_cmplt_s8(v64 a, v64 b) { return c_v64_cmplt_s8(a, b); }
v64_cmpeq_8(v64 a,v64 b)178*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_cmpeq_8(v64 a, v64 b) { return c_v64_cmpeq_8(a, b); }
v64_cmpgt_s16(v64 a,v64 b)179*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_cmpgt_s16(v64 a, v64 b) { return c_v64_cmpgt_s16(a, b); }
v64_cmplt_s16(v64 a,v64 b)180*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_cmplt_s16(v64 a, v64 b) { return c_v64_cmplt_s16(a, b); }
v64_cmpeq_16(v64 a,v64 b)181*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_cmpeq_16(v64 a, v64 b) { return c_v64_cmpeq_16(a, b); }
182*77c1e3ccSAndroid Build Coastguard Worker
v64_shl_8(v64 a,unsigned int n)183*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shl_8(v64 a, unsigned int n) { return c_v64_shl_8(a, n); }
v64_shr_u8(v64 a,unsigned int n)184*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_u8(v64 a, unsigned int n) { return c_v64_shr_u8(a, n); }
v64_shr_s8(v64 a,unsigned int n)185*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_s8(v64 a, unsigned int n) { return c_v64_shr_s8(a, n); }
v64_shl_16(v64 a,unsigned int n)186*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shl_16(v64 a, unsigned int n) { return c_v64_shl_16(a, n); }
v64_shr_u16(v64 a,unsigned int n)187*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_u16(v64 a, unsigned int n) {
188*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_u16(a, n);
189*77c1e3ccSAndroid Build Coastguard Worker }
v64_shr_s16(v64 a,unsigned int n)190*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_s16(v64 a, unsigned int n) {
191*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_s16(a, n);
192*77c1e3ccSAndroid Build Coastguard Worker }
v64_shl_32(v64 a,unsigned int n)193*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shl_32(v64 a, unsigned int n) { return c_v64_shl_32(a, n); }
v64_shr_u32(v64 a,unsigned int n)194*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_u32(v64 a, unsigned int n) {
195*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_u32(a, n);
196*77c1e3ccSAndroid Build Coastguard Worker }
v64_shr_s32(v64 a,unsigned int n)197*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_s32(v64 a, unsigned int n) {
198*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_s32(a, n);
199*77c1e3ccSAndroid Build Coastguard Worker }
v64_shr_n_byte(v64 a,unsigned int n)200*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_n_byte(v64 a, unsigned int n) {
201*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_n_byte(a, n);
202*77c1e3ccSAndroid Build Coastguard Worker }
v64_shl_n_byte(v64 a,unsigned int n)203*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shl_n_byte(v64 a, unsigned int n) {
204*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shl_n_byte(a, n);
205*77c1e3ccSAndroid Build Coastguard Worker }
v64_shl_n_8(v64 a,unsigned int c)206*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shl_n_8(v64 a, unsigned int c) {
207*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shl_n_8(a, c);
208*77c1e3ccSAndroid Build Coastguard Worker }
v64_shr_n_u8(v64 a,unsigned int c)209*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_n_u8(v64 a, unsigned int c) {
210*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_n_u8(a, c);
211*77c1e3ccSAndroid Build Coastguard Worker }
v64_shr_n_s8(v64 a,unsigned int c)212*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_n_s8(v64 a, unsigned int c) {
213*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_n_s8(a, c);
214*77c1e3ccSAndroid Build Coastguard Worker }
v64_shl_n_16(v64 a,unsigned int c)215*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shl_n_16(v64 a, unsigned int c) {
216*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shl_n_16(a, c);
217*77c1e3ccSAndroid Build Coastguard Worker }
v64_shr_n_u16(v64 a,unsigned int c)218*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_n_u16(v64 a, unsigned int c) {
219*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_n_u16(a, c);
220*77c1e3ccSAndroid Build Coastguard Worker }
v64_shr_n_s16(v64 a,unsigned int c)221*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_n_s16(v64 a, unsigned int c) {
222*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_n_s16(a, c);
223*77c1e3ccSAndroid Build Coastguard Worker }
v64_shl_n_32(v64 a,unsigned int c)224*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shl_n_32(v64 a, unsigned int c) {
225*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shl_n_32(a, c);
226*77c1e3ccSAndroid Build Coastguard Worker }
v64_shr_n_u32(v64 a,unsigned int c)227*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_n_u32(v64 a, unsigned int c) {
228*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_n_u32(a, c);
229*77c1e3ccSAndroid Build Coastguard Worker }
v64_shr_n_s32(v64 a,unsigned int c)230*77c1e3ccSAndroid Build Coastguard Worker SIMD_INLINE v64 v64_shr_n_s32(v64 a, unsigned int c) {
231*77c1e3ccSAndroid Build Coastguard Worker return c_v64_shr_n_s32(a, c);
232*77c1e3ccSAndroid Build Coastguard Worker }
233*77c1e3ccSAndroid Build Coastguard Worker
234*77c1e3ccSAndroid Build Coastguard Worker #endif // AOM_AOM_DSP_SIMD_V64_INTRINSICS_H_
235