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 #include <tuple>
13*77c1e3ccSAndroid Build Coastguard Worker
14*77c1e3ccSAndroid Build Coastguard Worker #define SIMD_CHECK 1
15*77c1e3ccSAndroid Build Coastguard Worker #include "aom_dsp/aom_simd_inline.h"
16*77c1e3ccSAndroid Build Coastguard Worker #include "aom_dsp/simd/v256_intrinsics_c.h"
17*77c1e3ccSAndroid Build Coastguard Worker #include "gtest/gtest.h"
18*77c1e3ccSAndroid Build Coastguard Worker #include "test/register_state_check.h"
19*77c1e3ccSAndroid Build Coastguard Worker
20*77c1e3ccSAndroid Build Coastguard Worker namespace SIMD_NAMESPACE {
21*77c1e3ccSAndroid Build Coastguard Worker
22*77c1e3ccSAndroid Build Coastguard Worker template <typename param_signature>
23*77c1e3ccSAndroid Build Coastguard Worker class TestIntrinsic : public ::testing::TestWithParam<param_signature> {
24*77c1e3ccSAndroid Build Coastguard Worker public:
25*77c1e3ccSAndroid Build Coastguard Worker ~TestIntrinsic() override = default;
SetUp()26*77c1e3ccSAndroid Build Coastguard Worker void SetUp() override {
27*77c1e3ccSAndroid Build Coastguard Worker mask = std::get<0>(this->GetParam());
28*77c1e3ccSAndroid Build Coastguard Worker maskwidth = std::get<1>(this->GetParam());
29*77c1e3ccSAndroid Build Coastguard Worker name = std::get<2>(this->GetParam());
30*77c1e3ccSAndroid Build Coastguard Worker }
31*77c1e3ccSAndroid Build Coastguard Worker
32*77c1e3ccSAndroid Build Coastguard Worker protected:
33*77c1e3ccSAndroid Build Coastguard Worker uint32_t mask, maskwidth;
34*77c1e3ccSAndroid Build Coastguard Worker const char *name;
35*77c1e3ccSAndroid Build Coastguard Worker };
36*77c1e3ccSAndroid Build Coastguard Worker
37*77c1e3ccSAndroid Build Coastguard Worker // Create one typedef for each function signature
38*77c1e3ccSAndroid Build Coastguard Worker #define TYPEDEF_SIMD(name) \
39*77c1e3ccSAndroid Build Coastguard Worker typedef TestIntrinsic<std::tuple<uint32_t, uint32_t, const char *> > \
40*77c1e3ccSAndroid Build Coastguard Worker ARCH_POSTFIX(name)
41*77c1e3ccSAndroid Build Coastguard Worker
42*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V64_U8);
43*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V64_U16);
44*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V64_U32);
45*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V64_V64);
46*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U32_V64);
47*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(S32_V64);
48*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U64_V64);
49*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(S64_V64);
50*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V64_U32U32);
51*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V64_V64V64);
52*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(S64_V64V64);
53*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V64_V64U32);
54*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U32_V64V64);
55*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_V64);
56*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_V128);
57*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U32_V128);
58*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U64_V128);
59*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V64_V128);
60*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_U8);
61*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_U16);
62*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_U32);
63*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_U64);
64*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_U64U64);
65*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_V64V64);
66*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_V128V128);
67*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_V128V128V128);
68*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(S64_V128V128);
69*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V128_V128U32);
70*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U32_V128V128);
71*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U64_V128V128);
72*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V256_V128);
73*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V256_V256);
74*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U64_V256);
75*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V256_V128V128);
76*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V256_V256V256);
77*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V256_V256V256V256);
78*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U64_V256V256);
79*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(S64_V256V256);
80*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V256_V256U32);
81*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U32_V256V256);
82*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V256_U8);
83*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V256_U16);
84*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V256_U32);
85*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V256_U64);
86*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(U32_V256);
87*77c1e3ccSAndroid Build Coastguard Worker TYPEDEF_SIMD(V64_V256);
88*77c1e3ccSAndroid Build Coastguard Worker
89*77c1e3ccSAndroid Build Coastguard Worker // Google Test allows up to 50 tests per case, so split the largest
90*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V64_V64) ARCH_POSTFIX(V64_V64_Part2);
91*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V64_V64V64) ARCH_POSTFIX(V64_V64V64_Part2);
92*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V128_V128) ARCH_POSTFIX(V128_V128_Part2);
93*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V128_V128) ARCH_POSTFIX(V128_V128_Part3);
94*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V128_V128) ARCH_POSTFIX(V128_V128_Part4);
95*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V128_V128V128) ARCH_POSTFIX(V128_V128V128_Part2);
96*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V256_V256) ARCH_POSTFIX(V256_V256_Part2);
97*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V256_V256) ARCH_POSTFIX(V256_V256_Part3);
98*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V256_V256) ARCH_POSTFIX(V256_V256_Part4);
99*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V256_V256) ARCH_POSTFIX(V256_V256_Part5);
100*77c1e3ccSAndroid Build Coastguard Worker typedef ARCH_POSTFIX(V256_V256V256) ARCH_POSTFIX(V256_V256V256_Part2);
101*77c1e3ccSAndroid Build Coastguard Worker
102*77c1e3ccSAndroid Build Coastguard Worker // These functions are machine tuned located elsewhere
103*77c1e3ccSAndroid Build Coastguard Worker template <typename c_ret, typename c_arg>
104*77c1e3ccSAndroid Build Coastguard Worker void TestSimd1Arg(uint32_t iterations, uint32_t mask, uint32_t maskwidth,
105*77c1e3ccSAndroid Build Coastguard Worker const char *name);
106*77c1e3ccSAndroid Build Coastguard Worker
107*77c1e3ccSAndroid Build Coastguard Worker template <typename c_ret, typename c_arg1, typename c_arg2>
108*77c1e3ccSAndroid Build Coastguard Worker void TestSimd2Args(uint32_t iterations, uint32_t mask, uint32_t maskwidth,
109*77c1e3ccSAndroid Build Coastguard Worker const char *name);
110*77c1e3ccSAndroid Build Coastguard Worker
111*77c1e3ccSAndroid Build Coastguard Worker template <typename c_ret, typename c_arg1, typename c_arg2, typename c_arg3>
112*77c1e3ccSAndroid Build Coastguard Worker void TestSimd3Args(uint32_t iterations, uint32_t mask, uint32_t maskwidth,
113*77c1e3ccSAndroid Build Coastguard Worker const char *name);
114*77c1e3ccSAndroid Build Coastguard Worker
115*77c1e3ccSAndroid Build Coastguard Worker const int kIterations = 65536;
116*77c1e3ccSAndroid Build Coastguard Worker
117*77c1e3ccSAndroid Build Coastguard Worker // Add a macro layer since TEST_P will quote the name so we need to
118*77c1e3ccSAndroid Build Coastguard Worker // expand it first with the prefix.
119*77c1e3ccSAndroid Build Coastguard Worker #define MY_TEST_P(name, test) TEST_P(name, test)
120*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V64_U8),TestIntrinsics)121*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_U8), TestIntrinsics) {
122*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v64, uint8_t>(kIterations, mask, maskwidth, name);
123*77c1e3ccSAndroid Build Coastguard Worker }
124*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V64_U16),TestIntrinsics)125*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_U16), TestIntrinsics) {
126*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v64, uint16_t>(kIterations, mask, maskwidth, name);
127*77c1e3ccSAndroid Build Coastguard Worker }
128*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V64_U32),TestIntrinsics)129*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_U32), TestIntrinsics) {
130*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v64, uint32_t>(kIterations, mask, maskwidth, name);
131*77c1e3ccSAndroid Build Coastguard Worker }
132*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V64_V64),TestIntrinsics)133*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_V64), TestIntrinsics) {
134*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v64, c_v64>(kIterations, mask, maskwidth, name);
135*77c1e3ccSAndroid Build Coastguard Worker }
136*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U64_V64),TestIntrinsics)137*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U64_V64), TestIntrinsics) {
138*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<uint64_t, c_v64>(kIterations, mask, maskwidth, name);
139*77c1e3ccSAndroid Build Coastguard Worker }
140*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (S64_V64),TestIntrinsics)141*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(S64_V64), TestIntrinsics) {
142*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<int64_t, c_v64>(kIterations, mask, maskwidth, name);
143*77c1e3ccSAndroid Build Coastguard Worker }
144*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U32_V64),TestIntrinsics)145*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U32_V64), TestIntrinsics) {
146*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<uint32_t, c_v64>(kIterations, mask, maskwidth, name);
147*77c1e3ccSAndroid Build Coastguard Worker }
148*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (S32_V64),TestIntrinsics)149*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(S32_V64), TestIntrinsics) {
150*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<int32_t, c_v64>(kIterations, mask, maskwidth, name);
151*77c1e3ccSAndroid Build Coastguard Worker }
152*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V64_U32U32),TestIntrinsics)153*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_U32U32), TestIntrinsics) {
154*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v64, uint32_t, uint32_t>(kIterations, mask, maskwidth, name);
155*77c1e3ccSAndroid Build Coastguard Worker }
156*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V64_V64V64),TestIntrinsics)157*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_V64V64), TestIntrinsics) {
158*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v64, c_v64, c_v64>(kIterations, mask, maskwidth, name);
159*77c1e3ccSAndroid Build Coastguard Worker }
160*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (S64_V64V64),TestIntrinsics)161*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(S64_V64V64), TestIntrinsics) {
162*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<int64_t, c_v64, c_v64>(kIterations, mask, maskwidth, name);
163*77c1e3ccSAndroid Build Coastguard Worker }
164*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U32_V64V64),TestIntrinsics)165*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U32_V64V64), TestIntrinsics) {
166*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<uint32_t, c_v64, c_v64>(kIterations, mask, maskwidth, name);
167*77c1e3ccSAndroid Build Coastguard Worker }
168*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V64_V64U32),TestIntrinsics)169*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_V64U32), TestIntrinsics) {
170*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v64, c_v64, uint32_t>(kIterations, mask, maskwidth, name);
171*77c1e3ccSAndroid Build Coastguard Worker }
172*77c1e3ccSAndroid Build Coastguard Worker
173*77c1e3ccSAndroid Build Coastguard Worker // Google Test allows up to 50 tests per case, so split the largest
MY_TEST_P(ARCH_POSTFIX (V64_V64_Part2),TestIntrinsics)174*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_V64_Part2), TestIntrinsics) {
175*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v64, c_v64>(kIterations, mask, maskwidth, name);
176*77c1e3ccSAndroid Build Coastguard Worker }
177*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V64_V64V64_Part2),TestIntrinsics)178*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_V64V64_Part2), TestIntrinsics) {
179*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v64, c_v64, c_v64>(kIterations, mask, maskwidth, name);
180*77c1e3ccSAndroid Build Coastguard Worker }
181*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U32_V128),TestIntrinsics)182*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U32_V128), TestIntrinsics) {
183*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<uint32_t, c_v128>(kIterations, mask, maskwidth, name);
184*77c1e3ccSAndroid Build Coastguard Worker }
185*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U64_V128),TestIntrinsics)186*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U64_V128), TestIntrinsics) {
187*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<uint64_t, c_v128>(kIterations, mask, maskwidth, name);
188*77c1e3ccSAndroid Build Coastguard Worker }
189*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V64_V128),TestIntrinsics)190*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_V128), TestIntrinsics) {
191*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v64, c_v128>(kIterations, mask, maskwidth, name);
192*77c1e3ccSAndroid Build Coastguard Worker }
193*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_V128),TestIntrinsics)194*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_V128), TestIntrinsics) {
195*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v128, c_v128>(kIterations, mask, maskwidth, name);
196*77c1e3ccSAndroid Build Coastguard Worker }
197*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_U8),TestIntrinsics)198*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_U8), TestIntrinsics) {
199*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v128, uint8_t>(kIterations, mask, maskwidth, name);
200*77c1e3ccSAndroid Build Coastguard Worker }
201*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_U16),TestIntrinsics)202*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_U16), TestIntrinsics) {
203*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v128, uint16_t>(kIterations, mask, maskwidth, name);
204*77c1e3ccSAndroid Build Coastguard Worker }
205*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_U32),TestIntrinsics)206*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_U32), TestIntrinsics) {
207*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v128, uint32_t>(kIterations, mask, maskwidth, name);
208*77c1e3ccSAndroid Build Coastguard Worker }
209*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_U64),TestIntrinsics)210*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_U64), TestIntrinsics) {
211*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v128, uint64_t>(kIterations, mask, maskwidth, name);
212*77c1e3ccSAndroid Build Coastguard Worker }
213*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_V64),TestIntrinsics)214*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_V64), TestIntrinsics) {
215*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v128, c_v64>(kIterations, mask, maskwidth, name);
216*77c1e3ccSAndroid Build Coastguard Worker }
217*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_V128V128),TestIntrinsics)218*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_V128V128), TestIntrinsics) {
219*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v128, c_v128, c_v128>(kIterations, mask, maskwidth, name);
220*77c1e3ccSAndroid Build Coastguard Worker }
221*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_V128V128V128),TestIntrinsics)222*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_V128V128V128), TestIntrinsics) {
223*77c1e3ccSAndroid Build Coastguard Worker TestSimd3Args<c_v128, c_v128, c_v128, c_v128>(kIterations, mask, maskwidth,
224*77c1e3ccSAndroid Build Coastguard Worker name);
225*77c1e3ccSAndroid Build Coastguard Worker }
226*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U32_V128V128),TestIntrinsics)227*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U32_V128V128), TestIntrinsics) {
228*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<uint32_t, c_v128, c_v128>(kIterations, mask, maskwidth, name);
229*77c1e3ccSAndroid Build Coastguard Worker }
230*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U64_V128V128),TestIntrinsics)231*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U64_V128V128), TestIntrinsics) {
232*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<uint64_t, c_v128, c_v128>(kIterations, mask, maskwidth, name);
233*77c1e3ccSAndroid Build Coastguard Worker }
234*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (S64_V128V128),TestIntrinsics)235*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(S64_V128V128), TestIntrinsics) {
236*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<int64_t, c_v128, c_v128>(kIterations, mask, maskwidth, name);
237*77c1e3ccSAndroid Build Coastguard Worker }
238*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_U64U64),TestIntrinsics)239*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_U64U64), TestIntrinsics) {
240*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v128, uint64_t, uint64_t>(kIterations, mask, maskwidth, name);
241*77c1e3ccSAndroid Build Coastguard Worker }
242*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_V64V64),TestIntrinsics)243*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_V64V64), TestIntrinsics) {
244*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v128, c_v64, c_v64>(kIterations, mask, maskwidth, name);
245*77c1e3ccSAndroid Build Coastguard Worker }
246*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_V128U32),TestIntrinsics)247*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_V128U32), TestIntrinsics) {
248*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v128, c_v128, uint32_t>(kIterations, mask, maskwidth, name);
249*77c1e3ccSAndroid Build Coastguard Worker }
250*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_V128V128_Part2),TestIntrinsics)251*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_V128V128_Part2), TestIntrinsics) {
252*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v128, c_v128, c_v128>(kIterations, mask, maskwidth, name);
253*77c1e3ccSAndroid Build Coastguard Worker }
254*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_V128_Part2),TestIntrinsics)255*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_V128_Part2), TestIntrinsics) {
256*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v128, c_v128>(kIterations, mask, maskwidth, name);
257*77c1e3ccSAndroid Build Coastguard Worker }
258*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_V128_Part3),TestIntrinsics)259*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_V128_Part3), TestIntrinsics) {
260*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v128, c_v128>(kIterations, mask, maskwidth, name);
261*77c1e3ccSAndroid Build Coastguard Worker }
262*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V128_V128_Part4),TestIntrinsics)263*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V128_V128_Part4), TestIntrinsics) {
264*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v128, c_v128>(kIterations, mask, maskwidth, name);
265*77c1e3ccSAndroid Build Coastguard Worker }
266*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U64_V256),TestIntrinsics)267*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U64_V256), TestIntrinsics) {
268*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<uint64_t, c_v256>(kIterations, mask, maskwidth, name);
269*77c1e3ccSAndroid Build Coastguard Worker }
270*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V256),TestIntrinsics)271*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V256), TestIntrinsics) {
272*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v256, c_v256>(kIterations, mask, maskwidth, name);
273*77c1e3ccSAndroid Build Coastguard Worker }
274*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V128),TestIntrinsics)275*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V128), TestIntrinsics) {
276*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v256, c_v128>(kIterations, mask, maskwidth, name);
277*77c1e3ccSAndroid Build Coastguard Worker }
278*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V256V256),TestIntrinsics)279*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V256V256), TestIntrinsics) {
280*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v256, c_v256, c_v256>(kIterations, mask, maskwidth, name);
281*77c1e3ccSAndroid Build Coastguard Worker }
282*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V256V256V256),TestIntrinsics)283*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V256V256V256), TestIntrinsics) {
284*77c1e3ccSAndroid Build Coastguard Worker TestSimd3Args<c_v256, c_v256, c_v256, c_v256>(kIterations, mask, maskwidth,
285*77c1e3ccSAndroid Build Coastguard Worker name);
286*77c1e3ccSAndroid Build Coastguard Worker }
287*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V128V128),TestIntrinsics)288*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V128V128), TestIntrinsics) {
289*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v256, c_v128, c_v128>(kIterations, mask, maskwidth, name);
290*77c1e3ccSAndroid Build Coastguard Worker }
291*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U32_V256V256),TestIntrinsics)292*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U32_V256V256), TestIntrinsics) {
293*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<uint32_t, c_v256, c_v256>(kIterations, mask, maskwidth, name);
294*77c1e3ccSAndroid Build Coastguard Worker }
295*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U64_V256V256),TestIntrinsics)296*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U64_V256V256), TestIntrinsics) {
297*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<uint64_t, c_v256, c_v256>(kIterations, mask, maskwidth, name);
298*77c1e3ccSAndroid Build Coastguard Worker }
299*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (S64_V256V256),TestIntrinsics)300*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(S64_V256V256), TestIntrinsics) {
301*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<int64_t, c_v256, c_v256>(kIterations, mask, maskwidth, name);
302*77c1e3ccSAndroid Build Coastguard Worker }
303*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V256V256_Part2),TestIntrinsics)304*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V256V256_Part2), TestIntrinsics) {
305*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v256, c_v256, c_v256>(kIterations, mask, maskwidth, name);
306*77c1e3ccSAndroid Build Coastguard Worker }
307*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V256U32),TestIntrinsics)308*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V256U32), TestIntrinsics) {
309*77c1e3ccSAndroid Build Coastguard Worker TestSimd2Args<c_v256, c_v256, uint32_t>(kIterations, mask, maskwidth, name);
310*77c1e3ccSAndroid Build Coastguard Worker }
311*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V256_Part2),TestIntrinsics)312*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V256_Part2), TestIntrinsics) {
313*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v256, c_v256>(kIterations, mask, maskwidth, name);
314*77c1e3ccSAndroid Build Coastguard Worker }
315*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V256_Part3),TestIntrinsics)316*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V256_Part3), TestIntrinsics) {
317*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v256, c_v256>(kIterations, mask, maskwidth, name);
318*77c1e3ccSAndroid Build Coastguard Worker }
319*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V256_Part4),TestIntrinsics)320*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V256_Part4), TestIntrinsics) {
321*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v256, c_v256>(kIterations, mask, maskwidth, name);
322*77c1e3ccSAndroid Build Coastguard Worker }
323*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_V256_Part5),TestIntrinsics)324*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_V256_Part5), TestIntrinsics) {
325*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v256, c_v256>(kIterations, mask, maskwidth, name);
326*77c1e3ccSAndroid Build Coastguard Worker }
327*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_U8),TestIntrinsics)328*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_U8), TestIntrinsics) {
329*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v256, uint8_t>(kIterations, mask, maskwidth, name);
330*77c1e3ccSAndroid Build Coastguard Worker }
331*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_U16),TestIntrinsics)332*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_U16), TestIntrinsics) {
333*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v256, uint16_t>(kIterations, mask, maskwidth, name);
334*77c1e3ccSAndroid Build Coastguard Worker }
335*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_U32),TestIntrinsics)336*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_U32), TestIntrinsics) {
337*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v256, uint32_t>(kIterations, mask, maskwidth, name);
338*77c1e3ccSAndroid Build Coastguard Worker }
339*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V256_U64),TestIntrinsics)340*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V256_U64), TestIntrinsics) {
341*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v256, uint64_t>(kIterations, mask, maskwidth, name);
342*77c1e3ccSAndroid Build Coastguard Worker }
343*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (U32_V256),TestIntrinsics)344*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(U32_V256), TestIntrinsics) {
345*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<uint32_t, c_v256>(kIterations, mask, maskwidth, name);
346*77c1e3ccSAndroid Build Coastguard Worker }
347*77c1e3ccSAndroid Build Coastguard Worker
MY_TEST_P(ARCH_POSTFIX (V64_V256),TestIntrinsics)348*77c1e3ccSAndroid Build Coastguard Worker MY_TEST_P(ARCH_POSTFIX(V64_V256), TestIntrinsics) {
349*77c1e3ccSAndroid Build Coastguard Worker TestSimd1Arg<c_v64, c_v256>(kIterations, mask, maskwidth, name);
350*77c1e3ccSAndroid Build Coastguard Worker }
351*77c1e3ccSAndroid Build Coastguard Worker
352*77c1e3ccSAndroid Build Coastguard Worker // Add a macro layer since INSTANTIATE_TEST_SUITE_P will quote the name
353*77c1e3ccSAndroid Build Coastguard Worker // so we need to expand it first with the prefix
354*77c1e3ccSAndroid Build Coastguard Worker #define INSTANTIATE(name, type, ...) \
355*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE_TEST_SUITE_P(name, type, ::testing::Values(__VA_ARGS__))
356*77c1e3ccSAndroid Build Coastguard Worker
357*77c1e3ccSAndroid Build Coastguard Worker #define SIMD_TUPLE(name, mask, maskwidth) \
358*77c1e3ccSAndroid Build Coastguard Worker std::make_tuple(mask, maskwidth, static_cast<const char *>(#name))
359*77c1e3ccSAndroid Build Coastguard Worker
360*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U32_V64V64), SIMD_TUPLE(v64_sad_u8, 0U, 0U),
361*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_ssd_u8, 0U, 0U));
362*77c1e3ccSAndroid Build Coastguard Worker
363*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(
364*77c1e3ccSAndroid Build Coastguard Worker ARCH, ARCH_POSTFIX(V64_V64V64), SIMD_TUPLE(v64_add_8, 0U, 0U),
365*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_add_16, 0U, 0U), SIMD_TUPLE(v64_sadd_s16, 0U, 0U),
366*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_add_32, 0U, 0U), SIMD_TUPLE(v64_sub_8, 0U, 0U),
367*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_ssub_u8, 0U, 0U), SIMD_TUPLE(v64_ssub_s8, 0U, 0U),
368*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_sub_16, 0U, 0U), SIMD_TUPLE(v64_ssub_s16, 0U, 0U),
369*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_ssub_u16, 0U, 0U), SIMD_TUPLE(v64_sub_32, 0U, 0U),
370*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_ziplo_8, 0U, 0U), SIMD_TUPLE(v64_ziphi_8, 0U, 0U),
371*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_ziplo_16, 0U, 0U), SIMD_TUPLE(v64_ziphi_16, 0U, 0U),
372*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_ziplo_32, 0U, 0U), SIMD_TUPLE(v64_ziphi_32, 0U, 0U),
373*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_pack_s32_s16, 0U, 0U), SIMD_TUPLE(v64_pack_s16_u8, 0U, 0U),
374*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_pack_s16_s8, 0U, 0U), SIMD_TUPLE(v64_unziphi_8, 0U, 0U),
375*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_unziplo_8, 0U, 0U), SIMD_TUPLE(v64_unziphi_16, 0U, 0U),
376*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_unziplo_16, 0U, 0U), SIMD_TUPLE(v64_or, 0U, 0U),
377*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_xor, 0U, 0U), SIMD_TUPLE(v64_and, 0U, 0U),
378*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_andn, 0U, 0U), SIMD_TUPLE(v64_mullo_s16, 0U, 0U),
379*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_mulhi_s16, 0U, 0U), SIMD_TUPLE(v64_mullo_s32, 0U, 0U),
380*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_madd_s16, 0U, 0U), SIMD_TUPLE(v64_madd_us8, 0U, 0U),
381*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_avg_u8, 0U, 0U), SIMD_TUPLE(v64_rdavg_u8, 0U, 0U),
382*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_avg_u16, 0U, 0U), SIMD_TUPLE(v64_min_u8, 0U, 0U),
383*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_max_u8, 0U, 0U), SIMD_TUPLE(v64_min_s8, 0U, 0U),
384*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_max_s8, 0U, 0U), SIMD_TUPLE(v64_min_s16, 0U, 0U),
385*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_max_s16, 0U, 0U), SIMD_TUPLE(v64_cmpgt_s8, 0U, 0U),
386*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_cmplt_s8, 0U, 0U), SIMD_TUPLE(v64_cmpeq_8, 0U, 0U),
387*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_cmpgt_s16, 0U, 0U), SIMD_TUPLE(v64_cmplt_s16, 0U, 0U),
388*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_cmpeq_16, 0U, 0U));
389*77c1e3ccSAndroid Build Coastguard Worker
390*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(
391*77c1e3ccSAndroid Build Coastguard Worker ARCH, ARCH_POSTFIX(V64_V64V64_Part2), SIMD_TUPLE(v64_shuffle_8, 7U, 8U),
392*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_pack_s32_u16, 0U, 0U), SIMD_TUPLE(v64_rdavg_u16, 0U, 0U),
393*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_sadd_s8, 0U, 0U), SIMD_TUPLE(v64_sadd_u8, 0U, 0U),
394*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_align<1>, 0U, 0U), SIMD_TUPLE(imm_v64_align<2>, 0U, 0U),
395*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_align<3>, 0U, 0U), SIMD_TUPLE(imm_v64_align<4>, 0U, 0U),
396*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_align<5>, 0U, 0U), SIMD_TUPLE(imm_v64_align<6>, 0U, 0U),
397*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_align<7>, 0U, 0U));
398*77c1e3ccSAndroid Build Coastguard Worker
399*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V64_V64), SIMD_TUPLE(v64_abs_s8, 0U, 0U),
400*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_abs_s16, 0U, 0U),
401*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_unpacklo_u8_s16, 0U, 0U),
402*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_unpackhi_u8_s16, 0U, 0U),
403*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_unpacklo_s8_s16, 0U, 0U),
404*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_unpackhi_s8_s16, 0U, 0U),
405*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_unpacklo_u16_s32, 0U, 0U),
406*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_unpacklo_s16_s32, 0U, 0U),
407*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_unpackhi_u16_s32, 0U, 0U),
408*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_unpackhi_s16_s32, 0U, 0U),
409*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_byte<1>, 0U, 0U),
410*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_byte<2>, 0U, 0U),
411*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_byte<3>, 0U, 0U),
412*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_byte<4>, 0U, 0U),
413*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_byte<5>, 0U, 0U),
414*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_byte<6>, 0U, 0U),
415*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_byte<7>, 0U, 0U),
416*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_byte<1>, 0U, 0U),
417*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_byte<2>, 0U, 0U),
418*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_byte<3>, 0U, 0U),
419*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_byte<4>, 0U, 0U),
420*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_byte<5>, 0U, 0U),
421*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_byte<6>, 0U, 0U),
422*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_byte<7>, 0U, 0U),
423*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_8<1>, 0U, 0U),
424*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_8<2>, 0U, 0U),
425*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_8<3>, 0U, 0U),
426*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_8<4>, 0U, 0U),
427*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_8<5>, 0U, 0U),
428*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_8<6>, 0U, 0U),
429*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_8<7>, 0U, 0U),
430*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u8<1>, 0U, 0U),
431*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u8<2>, 0U, 0U),
432*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u8<3>, 0U, 0U),
433*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u8<4>, 0U, 0U),
434*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u8<5>, 0U, 0U),
435*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u8<6>, 0U, 0U),
436*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u8<7>, 0U, 0U),
437*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s8<1>, 0U, 0U),
438*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s8<2>, 0U, 0U),
439*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s8<3>, 0U, 0U),
440*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s8<4>, 0U, 0U),
441*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s8<5>, 0U, 0U),
442*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s8<6>, 0U, 0U),
443*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s8<7>, 0U, 0U),
444*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_16<1>, 0U, 0U),
445*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_16<2>, 0U, 0U),
446*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_16<4>, 0U, 0U),
447*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_16<6>, 0U, 0U),
448*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_16<8>, 0U, 0U));
449*77c1e3ccSAndroid Build Coastguard Worker
450*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V64_V64_Part2),
451*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_16<10>, 0U, 0U),
452*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_16<12>, 0U, 0U),
453*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_16<14>, 0U, 0U),
454*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u16<1>, 0U, 0U),
455*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u16<2>, 0U, 0U),
456*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u16<4>, 0U, 0U),
457*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u16<6>, 0U, 0U),
458*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u16<8>, 0U, 0U),
459*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u16<10>, 0U, 0U),
460*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u16<12>, 0U, 0U),
461*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u16<14>, 0U, 0U),
462*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s16<1>, 0U, 0U),
463*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s16<2>, 0U, 0U),
464*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s16<4>, 0U, 0U),
465*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s16<6>, 0U, 0U),
466*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s16<8>, 0U, 0U),
467*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s16<10>, 0U, 0U),
468*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s16<12>, 0U, 0U),
469*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s16<14>, 0U, 0U),
470*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_32<1>, 0U, 0U),
471*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_32<4>, 0U, 0U),
472*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_32<8>, 0U, 0U),
473*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_32<12>, 0U, 0U),
474*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_32<16>, 0U, 0U),
475*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_32<20>, 0U, 0U),
476*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_32<24>, 0U, 0U),
477*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shl_n_32<28>, 0U, 0U),
478*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u32<1>, 0U, 0U),
479*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u32<4>, 0U, 0U),
480*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u32<8>, 0U, 0U),
481*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u32<12>, 0U, 0U),
482*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u32<16>, 0U, 0U),
483*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u32<20>, 0U, 0U),
484*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u32<24>, 0U, 0U),
485*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_u32<28>, 0U, 0U),
486*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s32<1>, 0U, 0U),
487*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s32<4>, 0U, 0U),
488*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s32<8>, 0U, 0U),
489*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s32<12>, 0U, 0U),
490*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s32<16>, 0U, 0U),
491*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s32<20>, 0U, 0U),
492*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s32<24>, 0U, 0U),
493*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v64_shr_n_s32<28>, 0U, 0U));
494*77c1e3ccSAndroid Build Coastguard Worker
495*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V64_V64U32), SIMD_TUPLE(v64_shl_8, 7U, 32U),
496*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_shr_u8, 7U, 32U), SIMD_TUPLE(v64_shr_s8, 7U, 32U),
497*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_shl_16, 15U, 32U), SIMD_TUPLE(v64_shr_u16, 15U, 32U),
498*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_shr_s16, 15U, 32U), SIMD_TUPLE(v64_shl_32, 31U, 32U),
499*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_shr_u32, 31U, 32U),
500*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_shr_s32, 31U, 32U));
501*77c1e3ccSAndroid Build Coastguard Worker
502*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U64_V64), SIMD_TUPLE(v64_hadd_u8, 0U, 0U),
503*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_u64, 0U, 0U));
504*77c1e3ccSAndroid Build Coastguard Worker
505*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(S64_V64), SIMD_TUPLE(v64_hadd_s16, 0U, 0U));
506*77c1e3ccSAndroid Build Coastguard Worker
507*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U32_V64), SIMD_TUPLE(v64_low_u32, 0U, 0U),
508*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_high_u32, 0U, 0U));
509*77c1e3ccSAndroid Build Coastguard Worker
510*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(S32_V64), SIMD_TUPLE(v64_low_s32, 0U, 0U),
511*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_high_s32, 0U, 0U));
512*77c1e3ccSAndroid Build Coastguard Worker
513*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(S64_V64V64), SIMD_TUPLE(v64_dotp_s16, 0U, 0U),
514*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v64_dotp_su8, 0U, 0U));
515*77c1e3ccSAndroid Build Coastguard Worker
516*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V64_U8), SIMD_TUPLE(v64_dup_8, 0U, 0U));
517*77c1e3ccSAndroid Build Coastguard Worker
518*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V64_U16), SIMD_TUPLE(v64_dup_16, 0U, 0U));
519*77c1e3ccSAndroid Build Coastguard Worker
520*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V64_U32), SIMD_TUPLE(v64_dup_32, 0U, 0U));
521*77c1e3ccSAndroid Build Coastguard Worker
522*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V64_U32U32), SIMD_TUPLE(v64_from_32, 0U, 0U));
523*77c1e3ccSAndroid Build Coastguard Worker
524*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U32_V128V128), SIMD_TUPLE(v128_sad_u8, 0U, 0U),
525*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_ssd_u8, 0U, 0U), SIMD_TUPLE(v128_sad_u16, 0U, 0U));
526*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U64_V128V128), SIMD_TUPLE(v128_ssd_s16, 0U, 0U));
527*77c1e3ccSAndroid Build Coastguard Worker
528*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(
529*77c1e3ccSAndroid Build Coastguard Worker ARCH, ARCH_POSTFIX(V128_V128V128), SIMD_TUPLE(v128_add_8, 0U, 0U),
530*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_add_16, 0U, 0U), SIMD_TUPLE(v128_sadd_s16, 0U, 0U),
531*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_add_32, 0U, 0U), SIMD_TUPLE(v128_sub_8, 0U, 0U),
532*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_ssub_u8, 0U, 0U), SIMD_TUPLE(v128_ssub_s8, 0U, 0U),
533*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_sub_16, 0U, 0U), SIMD_TUPLE(v128_ssub_s16, 0U, 0U),
534*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_ssub_u16, 0U, 0U), SIMD_TUPLE(v128_sub_32, 0U, 0U),
535*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_ziplo_8, 0U, 0U), SIMD_TUPLE(v128_ziphi_8, 0U, 0U),
536*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_ziplo_16, 0U, 0U), SIMD_TUPLE(v128_ziphi_16, 0U, 0U),
537*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_ziplo_32, 0U, 0U), SIMD_TUPLE(v128_ziphi_32, 0U, 0U),
538*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_ziplo_64, 0U, 0U), SIMD_TUPLE(v128_ziphi_64, 0U, 0U),
539*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unziphi_8, 0U, 0U), SIMD_TUPLE(v128_unziplo_8, 0U, 0U),
540*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unziphi_16, 0U, 0U), SIMD_TUPLE(v128_unziplo_16, 0U, 0U),
541*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unziphi_32, 0U, 0U), SIMD_TUPLE(v128_unziplo_32, 0U, 0U),
542*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_pack_s32_s16, 0U, 0U), SIMD_TUPLE(v128_pack_s16_u8, 0U, 0U),
543*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_pack_s16_s8, 0U, 0U), SIMD_TUPLE(v128_or, 0U, 0U),
544*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_xor, 0U, 0U), SIMD_TUPLE(v128_and, 0U, 0U),
545*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_andn, 0U, 0U), SIMD_TUPLE(v128_mullo_s16, 0U, 0U),
546*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_mulhi_s16, 0U, 0U), SIMD_TUPLE(v128_mullo_s32, 0U, 0U),
547*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_madd_s16, 0U, 0U), SIMD_TUPLE(v128_madd_us8, 0U, 0U),
548*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_avg_u8, 0U, 0U), SIMD_TUPLE(v128_rdavg_u8, 0U, 0U),
549*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_avg_u16, 0U, 0U), SIMD_TUPLE(v128_min_u8, 0U, 0U),
550*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_max_u8, 0U, 0U), SIMD_TUPLE(v128_min_s8, 0U, 0U),
551*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_max_s8, 0U, 0U), SIMD_TUPLE(v128_min_s16, 0U, 0U),
552*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_max_s16, 0U, 0U), SIMD_TUPLE(v128_cmpgt_s8, 0U, 0U),
553*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_cmplt_s8, 0U, 0U), SIMD_TUPLE(v128_cmpeq_8, 0U, 0U),
554*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_cmpgt_s16, 0U, 0U));
555*77c1e3ccSAndroid Build Coastguard Worker
556*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_V128V128_Part2),
557*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_pack_s32_u16, 0U, 0U),
558*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_rdavg_u16, 0U, 0U), SIMD_TUPLE(v128_add_64, 0U, 0U),
559*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_sub_64, 0U, 0U), SIMD_TUPLE(v128_sadd_s8, 0U, 0U),
560*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_sadd_u8, 0U, 0U), SIMD_TUPLE(v128_cmpeq_16, 0U, 0U),
561*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_cmplt_s16, 0U, 0U),
562*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_cmplt_s32, 0U, 0U),
563*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_cmpeq_32, 0U, 0U),
564*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_cmpgt_s32, 0U, 0U),
565*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_shuffle_8, 15U, 8U),
566*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_min_s32, 0U, 0U), SIMD_TUPLE(v128_max_s32, 0U, 0U),
567*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<1>, 0U, 0U),
568*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<2>, 0U, 0U),
569*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<3>, 0U, 0U),
570*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<4>, 0U, 0U),
571*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<5>, 0U, 0U),
572*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<6>, 0U, 0U),
573*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<7>, 0U, 0U),
574*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<8>, 0U, 0U),
575*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<9>, 0U, 0U),
576*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<10>, 0U, 0U),
577*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<11>, 0U, 0U),
578*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<12>, 0U, 0U),
579*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<13>, 0U, 0U),
580*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<14>, 0U, 0U),
581*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_align<15>, 0U, 0U));
582*77c1e3ccSAndroid Build Coastguard Worker
583*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_V128V128V128),
584*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_blend_8, 0U, 0U));
585*77c1e3ccSAndroid Build Coastguard Worker
586*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_V128), SIMD_TUPLE(v128_abs_s8, 0U, 0U),
587*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_abs_s16, 0U, 0U), SIMD_TUPLE(v128_padd_s16, 0U, 0U),
588*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpacklo_u8_s16, 0U, 0U),
589*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpacklo_s8_s16, 0U, 0U),
590*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpacklo_u16_s32, 0U, 0U),
591*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpacklo_s16_s32, 0U, 0U),
592*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpackhi_u8_s16, 0U, 0U),
593*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpackhi_s8_s16, 0U, 0U),
594*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpackhi_u16_s32, 0U, 0U),
595*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpackhi_s16_s32, 0U, 0U),
596*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<1>, 0U, 0U),
597*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<2>, 0U, 0U),
598*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<3>, 0U, 0U),
599*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<4>, 0U, 0U),
600*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<5>, 0U, 0U),
601*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<6>, 0U, 0U),
602*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<7>, 0U, 0U),
603*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<8>, 0U, 0U),
604*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<9>, 0U, 0U),
605*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<10>, 0U, 0U),
606*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<11>, 0U, 0U),
607*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<12>, 0U, 0U),
608*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<13>, 0U, 0U),
609*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<14>, 0U, 0U),
610*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_byte<15>, 0U, 0U),
611*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<1>, 0U, 0U),
612*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<2>, 0U, 0U),
613*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<3>, 0U, 0U),
614*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<4>, 0U, 0U),
615*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<5>, 0U, 0U),
616*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<6>, 0U, 0U),
617*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<7>, 0U, 0U),
618*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<8>, 0U, 0U),
619*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<9>, 0U, 0U),
620*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<10>, 0U, 0U),
621*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<11>, 0U, 0U),
622*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<12>, 0U, 0U),
623*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<13>, 0U, 0U),
624*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<14>, 0U, 0U),
625*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_byte<15>, 0U, 0U),
626*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_8<1>, 0U, 0U),
627*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_8<2>, 0U, 0U),
628*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_8<3>, 0U, 0U),
629*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_8<4>, 0U, 0U),
630*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_8<5>, 0U, 0U),
631*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_8<6>, 0U, 0U),
632*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_8<7>, 0U, 0U),
633*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u8<1>, 0U, 0U));
634*77c1e3ccSAndroid Build Coastguard Worker
635*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_V128_Part2),
636*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u8<2>, 0U, 0U),
637*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u8<3>, 0U, 0U),
638*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u8<4>, 0U, 0U),
639*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u8<5>, 0U, 0U),
640*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u8<6>, 0U, 0U),
641*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u8<7>, 0U, 0U),
642*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s8<1>, 0U, 0U),
643*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s8<2>, 0U, 0U),
644*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s8<3>, 0U, 0U),
645*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s8<4>, 0U, 0U),
646*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s8<5>, 0U, 0U),
647*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s8<6>, 0U, 0U),
648*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s8<7>, 0U, 0U),
649*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_16<1>, 0U, 0U),
650*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_16<2>, 0U, 0U),
651*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_16<4>, 0U, 0U),
652*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_16<6>, 0U, 0U),
653*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_16<8>, 0U, 0U),
654*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_16<10>, 0U, 0U),
655*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_16<12>, 0U, 0U),
656*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_16<14>, 0U, 0U),
657*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u16<1>, 0U, 0U),
658*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u16<2>, 0U, 0U),
659*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u16<4>, 0U, 0U),
660*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u16<6>, 0U, 0U),
661*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u16<8>, 0U, 0U),
662*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u16<10>, 0U, 0U),
663*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u16<12>, 0U, 0U),
664*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u16<14>, 0U, 0U),
665*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s16<1>, 0U, 0U),
666*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s16<2>, 0U, 0U),
667*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s16<4>, 0U, 0U),
668*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s16<6>, 0U, 0U),
669*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s16<8>, 0U, 0U),
670*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s16<10>, 0U, 0U),
671*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s16<12>, 0U, 0U),
672*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s16<14>, 0U, 0U),
673*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_32<1>, 0U, 0U),
674*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_32<4>, 0U, 0U),
675*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_32<8>, 0U, 0U),
676*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_32<12>, 0U, 0U),
677*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_32<16>, 0U, 0U),
678*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_32<20>, 0U, 0U),
679*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_32<24>, 0U, 0U),
680*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_32<28>, 0U, 0U),
681*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u32<1>, 0U, 0U),
682*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u32<4>, 0U, 0U));
683*77c1e3ccSAndroid Build Coastguard Worker
684*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_V128_Part3),
685*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u32<8>, 0U, 0U),
686*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u32<12>, 0U, 0U),
687*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u32<16>, 0U, 0U),
688*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u32<20>, 0U, 0U),
689*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u32<24>, 0U, 0U),
690*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u32<28>, 0U, 0U),
691*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s32<1>, 0U, 0U),
692*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s32<4>, 0U, 0U),
693*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s32<8>, 0U, 0U),
694*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s32<12>, 0U, 0U),
695*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s32<16>, 0U, 0U),
696*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s32<20>, 0U, 0U),
697*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s32<24>, 0U, 0U),
698*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s32<28>, 0U, 0U));
699*77c1e3ccSAndroid Build Coastguard Worker
700*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_V128_Part4),
701*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<1>, 0U, 0U),
702*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<4>, 0U, 0U),
703*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<8>, 0U, 0U),
704*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<12>, 0U, 0U),
705*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<16>, 0U, 0U),
706*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<20>, 0U, 0U),
707*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<24>, 0U, 0U),
708*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<28>, 0U, 0U),
709*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<32>, 0U, 0U),
710*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<36>, 0U, 0U),
711*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<40>, 0U, 0U),
712*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<44>, 0U, 0U),
713*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<48>, 0U, 0U),
714*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<52>, 0U, 0U),
715*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<56>, 0U, 0U),
716*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shl_n_64<60>, 0U, 0U),
717*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<1>, 0U, 0U),
718*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<4>, 0U, 0U),
719*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<8>, 0U, 0U),
720*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<12>, 0U, 0U),
721*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<16>, 0U, 0U),
722*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<20>, 0U, 0U),
723*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<24>, 0U, 0U),
724*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<28>, 0U, 0U),
725*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<32>, 0U, 0U),
726*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<36>, 0U, 0U),
727*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<40>, 0U, 0U),
728*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<44>, 0U, 0U),
729*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<48>, 0U, 0U),
730*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<52>, 0U, 0U),
731*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<56>, 0U, 0U),
732*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_u64<60>, 0U, 0U),
733*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<1>, 0U, 0U),
734*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<4>, 0U, 0U),
735*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<8>, 0U, 0U),
736*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<12>, 0U, 0U),
737*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<16>, 0U, 0U),
738*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<20>, 0U, 0U),
739*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<24>, 0U, 0U),
740*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<28>, 0U, 0U),
741*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<32>, 0U, 0U),
742*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<36>, 0U, 0U),
743*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<40>, 0U, 0U),
744*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<44>, 0U, 0U),
745*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<48>, 0U, 0U),
746*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<52>, 0U, 0U),
747*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<56>, 0U, 0U),
748*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v128_shr_n_s64<60>, 0U, 0U),
749*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_padd_u8, 0U, 0U));
750*77c1e3ccSAndroid Build Coastguard Worker
751*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_V64V64), SIMD_TUPLE(v128_from_v64, 0U, 0U),
752*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_zip_8, 0U, 0U), SIMD_TUPLE(v128_zip_16, 0U, 0U),
753*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_zip_32, 0U, 0U), SIMD_TUPLE(v128_mul_s16, 0U, 0U));
754*77c1e3ccSAndroid Build Coastguard Worker
755*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_U64U64), SIMD_TUPLE(v128_from_64, 0U, 0U));
756*77c1e3ccSAndroid Build Coastguard Worker
757*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_V64),
758*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpack_u8_s16, 0U, 0U),
759*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpack_s8_s16, 0U, 0U),
760*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpack_u16_s32, 0U, 0U),
761*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_unpack_s16_s32, 0U, 0U));
762*77c1e3ccSAndroid Build Coastguard Worker
763*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(
764*77c1e3ccSAndroid Build Coastguard Worker ARCH, ARCH_POSTFIX(V128_V128U32), SIMD_TUPLE(v128_shl_8, 7U, 32U),
765*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_shr_u8, 7U, 32U), SIMD_TUPLE(v128_shr_s8, 7U, 32U),
766*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_shl_16, 15U, 32U), SIMD_TUPLE(v128_shr_u16, 15U, 32U),
767*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_shr_s16, 15U, 32U), SIMD_TUPLE(v128_shl_32, 31U, 32U),
768*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_shr_u32, 31U, 32U), SIMD_TUPLE(v128_shr_s32, 31U, 32U),
769*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_shl_64, 63U, 32U), SIMD_TUPLE(v128_shr_u64, 63U, 32U),
770*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_shr_s64, 63U, 32U));
771*77c1e3ccSAndroid Build Coastguard Worker
772*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U32_V128), SIMD_TUPLE(v128_low_u32, 0U, 0U),
773*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_movemask_8, 0U, 0U));
774*77c1e3ccSAndroid Build Coastguard Worker
775*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U64_V128), SIMD_TUPLE(v128_hadd_u8, 0U, 0U));
776*77c1e3ccSAndroid Build Coastguard Worker
777*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V64_V128), SIMD_TUPLE(v128_low_v64, 0U, 0U),
778*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_high_v64, 0U, 0U));
779*77c1e3ccSAndroid Build Coastguard Worker
780*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_U8), SIMD_TUPLE(v128_dup_8, 0U, 0U));
781*77c1e3ccSAndroid Build Coastguard Worker
782*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_U16), SIMD_TUPLE(v128_dup_16, 0U, 0U));
783*77c1e3ccSAndroid Build Coastguard Worker
784*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_U32), SIMD_TUPLE(v128_dup_32, 0U, 0U));
785*77c1e3ccSAndroid Build Coastguard Worker
786*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V128_U64), SIMD_TUPLE(v128_dup_64, 0U, 0U));
787*77c1e3ccSAndroid Build Coastguard Worker
788*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(S64_V128V128), SIMD_TUPLE(v128_dotp_s16, 0U, 0U),
789*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_dotp_s32, 0U, 0U),
790*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v128_dotp_su8, 0U, 0U));
791*77c1e3ccSAndroid Build Coastguard Worker
792*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U32_V256V256), SIMD_TUPLE(v256_sad_u8, 0U, 0U),
793*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_ssd_u8, 0U, 0U), SIMD_TUPLE(v256_sad_u16, 0U, 0U));
794*77c1e3ccSAndroid Build Coastguard Worker
795*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U64_V256), SIMD_TUPLE(v256_hadd_u8, 0U, 0U),
796*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_low_u64, 0U, 0U));
797*77c1e3ccSAndroid Build Coastguard Worker
798*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(S64_V256V256), SIMD_TUPLE(v256_dotp_s16, 0U, 0U),
799*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_dotp_s32, 0U, 0U),
800*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_dotp_su8, 0U, 0U));
801*77c1e3ccSAndroid Build Coastguard Worker
802*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U64_V256V256), SIMD_TUPLE(v256_ssd_s16, 0U, 0U));
803*77c1e3ccSAndroid Build Coastguard Worker
804*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(
805*77c1e3ccSAndroid Build Coastguard Worker ARCH, ARCH_POSTFIX(V256_V256V256), SIMD_TUPLE(v256_add_8, 0U, 0U),
806*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_add_16, 0U, 0U), SIMD_TUPLE(v256_sadd_s16, 0U, 0U),
807*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_add_32, 0U, 0U), SIMD_TUPLE(v256_sub_8, 0U, 0U),
808*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_ssub_u8, 0U, 0U), SIMD_TUPLE(v256_ssub_s8, 0U, 0U),
809*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_sub_16, 0U, 0U), SIMD_TUPLE(v256_ssub_s16, 0U, 0U),
810*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_ssub_u16, 0U, 0U), SIMD_TUPLE(v256_sub_32, 0U, 0U),
811*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_ziplo_8, 0U, 0U), SIMD_TUPLE(v256_ziphi_8, 0U, 0U),
812*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_ziplo_16, 0U, 0U), SIMD_TUPLE(v256_ziphi_16, 0U, 0U),
813*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_ziplo_32, 0U, 0U), SIMD_TUPLE(v256_ziphi_32, 0U, 0U),
814*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_ziplo_64, 0U, 0U), SIMD_TUPLE(v256_ziphi_64, 0U, 0U),
815*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_ziplo_128, 0U, 0U), SIMD_TUPLE(v256_ziphi_128, 0U, 0U),
816*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unziphi_8, 0U, 0U), SIMD_TUPLE(v256_unziplo_8, 0U, 0U),
817*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unziphi_16, 0U, 0U), SIMD_TUPLE(v256_unziplo_16, 0U, 0U),
818*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unziphi_32, 0U, 0U), SIMD_TUPLE(v256_unziplo_32, 0U, 0U),
819*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_pack_s32_s16, 0U, 0U), SIMD_TUPLE(v256_pack_s16_u8, 0U, 0U),
820*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_pack_s16_s8, 0U, 0U), SIMD_TUPLE(v256_or, 0U, 0U),
821*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_xor, 0U, 0U), SIMD_TUPLE(v256_and, 0U, 0U),
822*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_andn, 0U, 0U), SIMD_TUPLE(v256_mullo_s16, 0U, 0U),
823*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_mulhi_s16, 0U, 0U), SIMD_TUPLE(v256_mullo_s32, 0U, 0U),
824*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_madd_s16, 0U, 0U), SIMD_TUPLE(v256_madd_us8, 0U, 0U),
825*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_avg_u8, 0U, 0U), SIMD_TUPLE(v256_rdavg_u8, 0U, 0U),
826*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_avg_u16, 0U, 0U), SIMD_TUPLE(v256_min_u8, 0U, 0U),
827*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_max_u8, 0U, 0U), SIMD_TUPLE(v256_min_s8, 0U, 0U),
828*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_max_s8, 0U, 0U), SIMD_TUPLE(v256_min_s16, 0U, 0U),
829*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_max_s16, 0U, 0U), SIMD_TUPLE(v256_cmpgt_s8, 0U, 0U),
830*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_cmplt_s8, 0U, 0U));
831*77c1e3ccSAndroid Build Coastguard Worker
832*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(
833*77c1e3ccSAndroid Build Coastguard Worker ARCH, ARCH_POSTFIX(V256_V256V256_Part2), SIMD_TUPLE(v256_cmpeq_8, 0U, 0U),
834*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_min_s32, 0U, 0U), SIMD_TUPLE(v256_max_s32, 0U, 0U),
835*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_add_64, 0U, 0U), SIMD_TUPLE(v256_sub_64, 0U, 0U),
836*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_cmpgt_s16, 0U, 0U), SIMD_TUPLE(v256_cmplt_s16, 0U, 0U),
837*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_cmpeq_16, 0U, 0U), SIMD_TUPLE(v256_cmpgt_s32, 0U, 0U),
838*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_cmplt_s32, 0U, 0U), SIMD_TUPLE(v256_cmpeq_32, 0U, 0U),
839*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_shuffle_8, 31U, 8U), SIMD_TUPLE(v256_pshuffle_8, 15U, 8U),
840*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<1>, 0U, 0U), SIMD_TUPLE(v256_sadd_s8, 0U, 0U),
841*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_sadd_u8, 0U, 0U), SIMD_TUPLE(v256_pack_s32_u16, 0U, 0U),
842*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_rdavg_u16, 0U, 0U), SIMD_TUPLE(imm_v256_align<2>, 0U, 0U),
843*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unziphi_64, 0U, 0U), SIMD_TUPLE(v256_unziplo_64, 0U, 0U),
844*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<3>, 0U, 0U),
845*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<4>, 0U, 0U),
846*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<5>, 0U, 0U),
847*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<6>, 0U, 0U),
848*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<7>, 0U, 0U),
849*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<8>, 0U, 0U),
850*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<9>, 0U, 0U),
851*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<10>, 0U, 0U),
852*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<11>, 0U, 0U),
853*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<12>, 0U, 0U),
854*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<13>, 0U, 0U),
855*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<14>, 0U, 0U),
856*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<15>, 0U, 0U),
857*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<16>, 0U, 0U),
858*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<17>, 0U, 0U),
859*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<18>, 0U, 0U),
860*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<19>, 0U, 0U),
861*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<20>, 0U, 0U),
862*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<21>, 0U, 0U),
863*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<22>, 0U, 0U),
864*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<23>, 0U, 0U),
865*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<24>, 0U, 0U),
866*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<25>, 0U, 0U),
867*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<26>, 0U, 0U),
868*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<27>, 0U, 0U),
869*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<28>, 0U, 0U),
870*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<29>, 0U, 0U),
871*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<30>, 0U, 0U),
872*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_align<31>, 0U, 0U));
873*77c1e3ccSAndroid Build Coastguard Worker
874*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_V128V128),
875*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_from_v128, 0U, 0U), SIMD_TUPLE(v256_zip_8, 0U, 0U),
876*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_zip_16, 0U, 0U), SIMD_TUPLE(v256_zip_32, 0U, 0U),
877*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_mul_s16, 0U, 0U));
878*77c1e3ccSAndroid Build Coastguard Worker
879*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_V128),
880*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpack_u8_s16, 0U, 0U),
881*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpack_s8_s16, 0U, 0U),
882*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpack_u16_s32, 0U, 0U),
883*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpack_s16_s32, 0U, 0U));
884*77c1e3ccSAndroid Build Coastguard Worker
885*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(
886*77c1e3ccSAndroid Build Coastguard Worker ARCH, ARCH_POSTFIX(V256_V256U32), SIMD_TUPLE(v256_shl_8, 7U, 32U),
887*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_shr_u8, 7U, 32U), SIMD_TUPLE(v256_shr_s8, 7U, 32U),
888*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_shl_16, 15U, 32U), SIMD_TUPLE(v256_shr_u16, 15U, 32U),
889*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_shr_s16, 15U, 32U), SIMD_TUPLE(v256_shl_32, 31U, 32U),
890*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_shr_u32, 31U, 32U), SIMD_TUPLE(v256_shr_s32, 31U, 32U),
891*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_shl_64, 63U, 32U), SIMD_TUPLE(v256_shr_u64, 63U, 32U),
892*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_shr_s64, 63U, 32U));
893*77c1e3ccSAndroid Build Coastguard Worker
894*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_V256), SIMD_TUPLE(v256_abs_s8, 0U, 0U),
895*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_abs_s16, 0U, 0U), SIMD_TUPLE(v256_padd_s16, 0U, 0U),
896*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpacklo_u8_s16, 0U, 0U),
897*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpacklo_s8_s16, 0U, 0U),
898*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpacklo_u16_s32, 0U, 0U),
899*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpacklo_s16_s32, 0U, 0U),
900*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpackhi_u8_s16, 0U, 0U),
901*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpackhi_s8_s16, 0U, 0U),
902*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpackhi_u16_s32, 0U, 0U),
903*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_unpackhi_s16_s32, 0U, 0U),
904*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<1>, 0U, 0U),
905*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<2>, 0U, 0U),
906*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<3>, 0U, 0U),
907*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<4>, 0U, 0U),
908*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<5>, 0U, 0U),
909*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<6>, 0U, 0U),
910*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<7>, 0U, 0U),
911*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<8>, 0U, 0U),
912*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<9>, 0U, 0U),
913*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<10>, 0U, 0U),
914*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<11>, 0U, 0U),
915*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<12>, 0U, 0U),
916*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<13>, 0U, 0U),
917*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<14>, 0U, 0U),
918*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<15>, 0U, 0U),
919*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<16>, 0U, 0U),
920*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<17>, 0U, 0U),
921*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<18>, 0U, 0U),
922*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<19>, 0U, 0U),
923*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<20>, 0U, 0U),
924*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<21>, 0U, 0U),
925*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<22>, 0U, 0U),
926*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<23>, 0U, 0U),
927*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<24>, 0U, 0U),
928*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<25>, 0U, 0U),
929*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<26>, 0U, 0U),
930*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<27>, 0U, 0U),
931*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<28>, 0U, 0U),
932*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<29>, 0U, 0U),
933*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<30>, 0U, 0U),
934*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_byte<31>, 0U, 0U),
935*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<1>, 0U, 0U),
936*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<2>, 0U, 0U),
937*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<3>, 0U, 0U),
938*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<4>, 0U, 0U),
939*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<5>, 0U, 0U),
940*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<6>, 0U, 0U),
941*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<7>, 0U, 0U),
942*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<8>, 0U, 0U));
943*77c1e3ccSAndroid Build Coastguard Worker
944*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_V256_Part2),
945*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<9>, 0U, 0U),
946*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<10>, 0U, 0U),
947*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<11>, 0U, 0U),
948*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<12>, 0U, 0U),
949*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<13>, 0U, 0U),
950*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<14>, 0U, 0U),
951*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<15>, 0U, 0U),
952*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<16>, 0U, 0U),
953*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<17>, 0U, 0U),
954*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<18>, 0U, 0U),
955*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<19>, 0U, 0U),
956*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<20>, 0U, 0U),
957*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<21>, 0U, 0U),
958*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<22>, 0U, 0U),
959*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<23>, 0U, 0U),
960*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<24>, 0U, 0U),
961*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<25>, 0U, 0U),
962*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<26>, 0U, 0U),
963*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<27>, 0U, 0U),
964*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<28>, 0U, 0U),
965*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<29>, 0U, 0U),
966*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<30>, 0U, 0U),
967*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_byte<31>, 0U, 0U),
968*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_8<1>, 0U, 0U),
969*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_8<2>, 0U, 0U),
970*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_8<3>, 0U, 0U),
971*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_8<4>, 0U, 0U),
972*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_8<5>, 0U, 0U),
973*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_8<6>, 0U, 0U),
974*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_8<7>, 0U, 0U),
975*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u8<1>, 0U, 0U),
976*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u8<2>, 0U, 0U),
977*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u8<3>, 0U, 0U),
978*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u8<4>, 0U, 0U),
979*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u8<5>, 0U, 0U),
980*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u8<6>, 0U, 0U),
981*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u8<7>, 0U, 0U),
982*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s8<1>, 0U, 0U),
983*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s8<2>, 0U, 0U),
984*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s8<3>, 0U, 0U),
985*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s8<4>, 0U, 0U),
986*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s8<5>, 0U, 0U),
987*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s8<6>, 0U, 0U),
988*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s8<7>, 0U, 0U),
989*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_16<1>, 0U, 0U),
990*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_16<2>, 0U, 0U),
991*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_16<4>, 0U, 0U),
992*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_16<6>, 0U, 0U),
993*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_16<8>, 0U, 0U),
994*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_16<10>, 0U, 0U));
995*77c1e3ccSAndroid Build Coastguard Worker
996*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_V256_Part3),
997*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_16<12>, 0U, 0U),
998*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_16<14>, 0U, 0U),
999*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u16<1>, 0U, 0U),
1000*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u16<2>, 0U, 0U),
1001*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u16<4>, 0U, 0U),
1002*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u16<6>, 0U, 0U),
1003*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u16<8>, 0U, 0U),
1004*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u16<10>, 0U, 0U),
1005*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u16<12>, 0U, 0U),
1006*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u16<14>, 0U, 0U),
1007*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s16<1>, 0U, 0U),
1008*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s16<2>, 0U, 0U),
1009*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s16<4>, 0U, 0U),
1010*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s16<6>, 0U, 0U),
1011*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s16<8>, 0U, 0U),
1012*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s16<10>, 0U, 0U),
1013*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s16<12>, 0U, 0U),
1014*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s16<14>, 0U, 0U),
1015*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_32<1>, 0U, 0U),
1016*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_32<4>, 0U, 0U),
1017*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_32<8>, 0U, 0U),
1018*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_32<12>, 0U, 0U),
1019*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_32<16>, 0U, 0U),
1020*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_32<20>, 0U, 0U),
1021*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_32<24>, 0U, 0U),
1022*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_32<28>, 0U, 0U),
1023*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u32<1>, 0U, 0U),
1024*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u32<4>, 0U, 0U),
1025*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u32<8>, 0U, 0U),
1026*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u32<12>, 0U, 0U),
1027*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u32<16>, 0U, 0U),
1028*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u32<20>, 0U, 0U),
1029*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u32<24>, 0U, 0U),
1030*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u32<28>, 0U, 0U),
1031*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s32<1>, 0U, 0U),
1032*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s32<4>, 0U, 0U),
1033*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s32<8>, 0U, 0U),
1034*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s32<12>, 0U, 0U),
1035*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s32<16>, 0U, 0U),
1036*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s32<20>, 0U, 0U),
1037*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s32<24>, 0U, 0U),
1038*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s32<28>, 0U, 0U));
1039*77c1e3ccSAndroid Build Coastguard Worker
1040*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_V256_Part4),
1041*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<1>, 0U, 0U),
1042*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<4>, 0U, 0U),
1043*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<8>, 0U, 0U),
1044*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<12>, 0U, 0U),
1045*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<16>, 0U, 0U),
1046*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<20>, 0U, 0U),
1047*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<24>, 0U, 0U),
1048*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<28>, 0U, 0U),
1049*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<32>, 0U, 0U),
1050*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<36>, 0U, 0U),
1051*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<40>, 0U, 0U),
1052*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<44>, 0U, 0U),
1053*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<48>, 0U, 0U),
1054*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<52>, 0U, 0U),
1055*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<56>, 0U, 0U),
1056*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_64<60>, 0U, 0U),
1057*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<1>, 0U, 0U),
1058*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<4>, 0U, 0U),
1059*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<8>, 0U, 0U),
1060*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<12>, 0U, 0U),
1061*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<16>, 0U, 0U),
1062*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<20>, 0U, 0U),
1063*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<24>, 0U, 0U),
1064*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<28>, 0U, 0U),
1065*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<32>, 0U, 0U),
1066*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<36>, 0U, 0U),
1067*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<40>, 0U, 0U),
1068*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<44>, 0U, 0U),
1069*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<48>, 0U, 0U),
1070*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<52>, 0U, 0U),
1071*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<56>, 0U, 0U),
1072*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_u64<60>, 0U, 0U),
1073*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<1>, 0U, 0U),
1074*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<4>, 0U, 0U),
1075*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<8>, 0U, 0U),
1076*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<12>, 0U, 0U),
1077*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<16>, 0U, 0U),
1078*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<20>, 0U, 0U),
1079*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<24>, 0U, 0U),
1080*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<28>, 0U, 0U),
1081*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<32>, 0U, 0U),
1082*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<36>, 0U, 0U),
1083*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<40>, 0U, 0U),
1084*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<44>, 0U, 0U),
1085*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<48>, 0U, 0U),
1086*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<52>, 0U, 0U),
1087*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<56>, 0U, 0U),
1088*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_s64<60>, 0U, 0U),
1089*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_padd_u8, 0U, 0U));
1090*77c1e3ccSAndroid Build Coastguard Worker
1091*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_V256_Part5),
1092*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<1>, 0U, 0U),
1093*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<2>, 0U, 0U),
1094*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<3>, 0U, 0U),
1095*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<4>, 0U, 0U),
1096*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<5>, 0U, 0U),
1097*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<6>, 0U, 0U),
1098*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<7>, 0U, 0U),
1099*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<8>, 0U, 0U),
1100*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<9>, 0U, 0U),
1101*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<10>, 0U, 0U),
1102*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<11>, 0U, 0U),
1103*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<12>, 0U, 0U),
1104*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<13>, 0U, 0U),
1105*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<14>, 0U, 0U),
1106*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shr_n_word<15>, 0U, 0U),
1107*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<1>, 0U, 0U),
1108*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<2>, 0U, 0U),
1109*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<3>, 0U, 0U),
1110*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<4>, 0U, 0U),
1111*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<5>, 0U, 0U),
1112*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<6>, 0U, 0U),
1113*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<7>, 0U, 0U),
1114*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<8>, 0U, 0U),
1115*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<9>, 0U, 0U),
1116*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<10>, 0U, 0U),
1117*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<11>, 0U, 0U),
1118*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<12>, 0U, 0U),
1119*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<13>, 0U, 0U),
1120*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<14>, 0U, 0U),
1121*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(imm_v256_shl_n_word<15>, 0U, 0U));
1122*77c1e3ccSAndroid Build Coastguard Worker
1123*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_V256V256V256),
1124*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_blend_8, 0U, 0U),
1125*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_wideshuffle_8, 63U, 8U));
1126*77c1e3ccSAndroid Build Coastguard Worker
1127*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_U8), SIMD_TUPLE(v256_dup_8, 0U, 0U));
1128*77c1e3ccSAndroid Build Coastguard Worker
1129*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_U16), SIMD_TUPLE(v256_dup_16, 0U, 0U));
1130*77c1e3ccSAndroid Build Coastguard Worker
1131*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_U32), SIMD_TUPLE(v256_dup_32, 0U, 0U));
1132*77c1e3ccSAndroid Build Coastguard Worker
1133*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V256_U64), SIMD_TUPLE(v256_dup_64, 0U, 0U));
1134*77c1e3ccSAndroid Build Coastguard Worker
1135*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(U32_V256), SIMD_TUPLE(v256_low_u32, 0U, 0U),
1136*77c1e3ccSAndroid Build Coastguard Worker SIMD_TUPLE(v256_movemask_8, 0U, 0U));
1137*77c1e3ccSAndroid Build Coastguard Worker
1138*77c1e3ccSAndroid Build Coastguard Worker INSTANTIATE(ARCH, ARCH_POSTFIX(V64_V256), SIMD_TUPLE(v256_low_v64, 0U, 0U));
1139*77c1e3ccSAndroid Build Coastguard Worker
1140*77c1e3ccSAndroid Build Coastguard Worker } // namespace SIMD_NAMESPACE
1141