xref: /aosp_15_r20/external/vixl/test/aarch64/test-cpu-features-aarch64.cc (revision f5c631da2f1efdd72b5fd1e20510e4042af13d77)
1*f5c631daSSadaf Ebrahimi // Copyright 2018, VIXL authors
2*f5c631daSSadaf Ebrahimi // All rights reserved.
3*f5c631daSSadaf Ebrahimi //
4*f5c631daSSadaf Ebrahimi // Redistribution and use in source and binary forms, with or without
5*f5c631daSSadaf Ebrahimi // modification, are permitted provided that the following conditions are met:
6*f5c631daSSadaf Ebrahimi //
7*f5c631daSSadaf Ebrahimi //   * Redistributions of source code must retain the above copyright notice,
8*f5c631daSSadaf Ebrahimi //     this list of conditions and the following disclaimer.
9*f5c631daSSadaf Ebrahimi //   * Redistributions in binary form must reproduce the above copyright notice,
10*f5c631daSSadaf Ebrahimi //     this list of conditions and the following disclaimer in the documentation
11*f5c631daSSadaf Ebrahimi //     and/or other materials provided with the distribution.
12*f5c631daSSadaf Ebrahimi //   * Neither the name of ARM Limited nor the names of its contributors may be
13*f5c631daSSadaf Ebrahimi //     used to endorse or promote products derived from this software without
14*f5c631daSSadaf Ebrahimi //     specific prior written permission.
15*f5c631daSSadaf Ebrahimi //
16*f5c631daSSadaf Ebrahimi // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND
17*f5c631daSSadaf Ebrahimi // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18*f5c631daSSadaf Ebrahimi // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19*f5c631daSSadaf Ebrahimi // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
20*f5c631daSSadaf Ebrahimi // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21*f5c631daSSadaf Ebrahimi // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22*f5c631daSSadaf Ebrahimi // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23*f5c631daSSadaf Ebrahimi // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24*f5c631daSSadaf Ebrahimi // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25*f5c631daSSadaf Ebrahimi // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*f5c631daSSadaf Ebrahimi 
27*f5c631daSSadaf Ebrahimi #include <cstring>
28*f5c631daSSadaf Ebrahimi #include <iostream>
29*f5c631daSSadaf Ebrahimi #include <string>
30*f5c631daSSadaf Ebrahimi 
31*f5c631daSSadaf Ebrahimi #include "test-runner.h"
32*f5c631daSSadaf Ebrahimi #include "test-utils.h"
33*f5c631daSSadaf Ebrahimi #include "aarch64/test-utils-aarch64.h"
34*f5c631daSSadaf Ebrahimi 
35*f5c631daSSadaf Ebrahimi #include "aarch64/macro-assembler-aarch64.h"
36*f5c631daSSadaf Ebrahimi 
37*f5c631daSSadaf Ebrahimi #define __ masm->
38*f5c631daSSadaf Ebrahimi #define TEST(name) TEST_(AARCH64_CPUFeatures_##name)
39*f5c631daSSadaf Ebrahimi 
40*f5c631daSSadaf Ebrahimi 
41*f5c631daSSadaf Ebrahimi namespace vixl {
42*f5c631daSSadaf Ebrahimi namespace aarch64 {
43*f5c631daSSadaf Ebrahimi 
44*f5c631daSSadaf Ebrahimi class CPUFeaturesTest {
45*f5c631daSSadaf Ebrahimi  public:
CPUFeaturesTest(const CPUFeatures & features,const char * description)46*f5c631daSSadaf Ebrahimi   CPUFeaturesTest(const CPUFeatures& features, const char* description)
47*f5c631daSSadaf Ebrahimi       : description_(description),
48*f5c631daSSadaf Ebrahimi         features_(features),
49*f5c631daSSadaf Ebrahimi         auditor_(&decoder_, features) {}
50*f5c631daSSadaf Ebrahimi 
Run()51*f5c631daSSadaf Ebrahimi   void Run() {
52*f5c631daSSadaf Ebrahimi     auditor_.ResetSeenFeatures();
53*f5c631daSSadaf Ebrahimi 
54*f5c631daSSadaf Ebrahimi     // Positive test: the instruction must assemble with the specified features.
55*f5c631daSSadaf Ebrahimi     RunWithFeatures(features_);
56*f5c631daSSadaf Ebrahimi     // Positive test: extra features are ignored.
57*f5c631daSSadaf Ebrahimi     RunWithFeatures(CPUFeatures::All());
58*f5c631daSSadaf Ebrahimi #ifdef VIXL_DEBUG
59*f5c631daSSadaf Ebrahimi #ifdef VIXL_NEGATIVE_TESTING
60*f5c631daSSadaf Ebrahimi     // Negative tests: any one missing feature causes the Assembler to fail in
61*f5c631daSSadaf Ebrahimi     // debug mode.
62*f5c631daSSadaf Ebrahimi     std::vector<CPUFeatures> errors;
63*f5c631daSSadaf Ebrahimi     for (CPUFeatures::const_iterator it = features_.begin();
64*f5c631daSSadaf Ebrahimi          it != features_.end();
65*f5c631daSSadaf Ebrahimi          ++it) {
66*f5c631daSSadaf Ebrahimi       try {
67*f5c631daSSadaf Ebrahimi         CPUFeatures reduced = features_.Without(*it);
68*f5c631daSSadaf Ebrahimi         RunWithFeatures(reduced);
69*f5c631daSSadaf Ebrahimi         errors.push_back(reduced);
70*f5c631daSSadaf Ebrahimi       } catch (const std::runtime_error&) {
71*f5c631daSSadaf Ebrahimi       }
72*f5c631daSSadaf Ebrahimi     }
73*f5c631daSSadaf Ebrahimi     if (!errors.empty()) {
74*f5c631daSSadaf Ebrahimi       std::cerr << "Negative CPUFeatures test failed for:\n";
75*f5c631daSSadaf Ebrahimi       std::cerr << "  " << description_ << ";";
76*f5c631daSSadaf Ebrahimi       std::cerr << "  // Requires: {" << features_ << "}\n";
77*f5c631daSSadaf Ebrahimi       std::cerr << "with feature sets:\n";
78*f5c631daSSadaf Ebrahimi       for (std::vector<CPUFeatures>::iterator it = errors.begin();
79*f5c631daSSadaf Ebrahimi            it != errors.end();
80*f5c631daSSadaf Ebrahimi            ++it) {
81*f5c631daSSadaf Ebrahimi         std::cerr << "  {" << *it << "}\n";
82*f5c631daSSadaf Ebrahimi       }
83*f5c631daSSadaf Ebrahimi       abort();
84*f5c631daSSadaf Ebrahimi     }
85*f5c631daSSadaf Ebrahimi #endif  // VIXL_NEGATIVE_TESTING
86*f5c631daSSadaf Ebrahimi #else   // VIXL_DEBUG
87*f5c631daSSadaf Ebrahimi     // In release mode, the {Macro}Assembler doesn't check CPUFeatures.
88*f5c631daSSadaf Ebrahimi     RunWithFeatures(CPUFeatures::None());
89*f5c631daSSadaf Ebrahimi #endif  // VIXL_DEBUG
90*f5c631daSSadaf Ebrahimi 
91*f5c631daSSadaf Ebrahimi     // Check that the CPUFeaturesAuditor detected the correct features.
92*f5c631daSSadaf Ebrahimi     VIXL_CHECK(auditor_.GetSeenFeatures() == features_);
93*f5c631daSSadaf Ebrahimi   }
94*f5c631daSSadaf Ebrahimi 
95*f5c631daSSadaf Ebrahimi   virtual void GenerateTestInstruction(MacroAssembler* masm) const = 0;
96*f5c631daSSadaf Ebrahimi 
97*f5c631daSSadaf Ebrahimi  protected:
98*f5c631daSSadaf Ebrahimi   const char* description_;
99*f5c631daSSadaf Ebrahimi 
100*f5c631daSSadaf Ebrahimi  private:
101*f5c631daSSadaf Ebrahimi   CPUFeatures features_;
102*f5c631daSSadaf Ebrahimi 
103*f5c631daSSadaf Ebrahimi   Decoder decoder_;
104*f5c631daSSadaf Ebrahimi   CPUFeaturesAuditor auditor_;
105*f5c631daSSadaf Ebrahimi 
106*f5c631daSSadaf Ebrahimi   // Use a separate context (and MacroAssembler) for each test, because the
107*f5c631daSSadaf Ebrahimi   // MacroAssembler does not guarantee any particular exception safety in
108*f5c631daSSadaf Ebrahimi   // negative testing mode.
RunWithFeatures(const CPUFeatures & features)109*f5c631daSSadaf Ebrahimi   void RunWithFeatures(const CPUFeatures& features) {
110*f5c631daSSadaf Ebrahimi     // Use PositionDependentCode to allow the likes of adrp.
111*f5c631daSSadaf Ebrahimi     MacroAssembler masm(PositionDependentCode);
112*f5c631daSSadaf Ebrahimi     masm.SetCPUFeatures(features);
113*f5c631daSSadaf Ebrahimi     {
114*f5c631daSSadaf Ebrahimi       SingleEmissionCheckScope guard(&masm);
115*f5c631daSSadaf Ebrahimi       GenerateTestInstruction(&masm);
116*f5c631daSSadaf Ebrahimi     }
117*f5c631daSSadaf Ebrahimi     masm.FinalizeCode();
118*f5c631daSSadaf Ebrahimi 
119*f5c631daSSadaf Ebrahimi     // Pass the generated code through the CPUFeaturesAuditor.
120*f5c631daSSadaf Ebrahimi     VIXL_ASSERT(masm.GetBuffer()->GetSizeInBytes() == kInstructionSize);
121*f5c631daSSadaf Ebrahimi     decoder_.Decode(masm.GetInstructionAt(0));
122*f5c631daSSadaf Ebrahimi 
123*f5c631daSSadaf Ebrahimi     // Check that the CPUFeaturesAuditor detected the correct features for this
124*f5c631daSSadaf Ebrahimi     // instruction. A simple assertion would do, but printing the missing or
125*f5c631daSSadaf Ebrahimi     // superfluous features is useful for debugging.
126*f5c631daSSadaf Ebrahimi     if (auditor_.GetInstructionFeatures() != features_) {
127*f5c631daSSadaf Ebrahimi       CPUFeatures missing =
128*f5c631daSSadaf Ebrahimi           features_.Without(auditor_.GetInstructionFeatures());
129*f5c631daSSadaf Ebrahimi       if (missing.Count() > 0) {
130*f5c631daSSadaf Ebrahimi         std::cout << "Error: the auditor should have detected CPUFeatures { "
131*f5c631daSSadaf Ebrahimi                   << missing << " }\n";
132*f5c631daSSadaf Ebrahimi       }
133*f5c631daSSadaf Ebrahimi       CPUFeatures extra = auditor_.GetInstructionFeatures().Without(features_);
134*f5c631daSSadaf Ebrahimi       if (extra.Count() > 0) {
135*f5c631daSSadaf Ebrahimi         std::cout << "Error: the auditor detected superfluous CPUFeatures { "
136*f5c631daSSadaf Ebrahimi                   << extra << " }\n";
137*f5c631daSSadaf Ebrahimi       }
138*f5c631daSSadaf Ebrahimi       VIXL_ABORT();
139*f5c631daSSadaf Ebrahimi     }
140*f5c631daSSadaf Ebrahimi   }
141*f5c631daSSadaf Ebrahimi };
142*f5c631daSSadaf Ebrahimi 
143*f5c631daSSadaf Ebrahimi #define STRINGIFY(x) #x
144*f5c631daSSadaf Ebrahimi 
145*f5c631daSSadaf Ebrahimi #define TEST_TEMPLATE(FEATURES, NAME, ASM)                                     \
146*f5c631daSSadaf Ebrahimi   TEST(NAME) {                                                                 \
147*f5c631daSSadaf Ebrahimi     class TestCase : public CPUFeaturesTest {                                  \
148*f5c631daSSadaf Ebrahimi      public:                                                                   \
149*f5c631daSSadaf Ebrahimi       explicit TestCase(const CPUFeatures& features)                           \
150*f5c631daSSadaf Ebrahimi           : CPUFeaturesTest(features, STRINGIFY(ASM)) {}                       \
151*f5c631daSSadaf Ebrahimi                                                                                \
152*f5c631daSSadaf Ebrahimi       void GenerateTestInstruction(MacroAssembler* masm) const VIXL_OVERRIDE { \
153*f5c631daSSadaf Ebrahimi         /* Some tests need a label. */                                         \
154*f5c631daSSadaf Ebrahimi         Label label;                                                           \
155*f5c631daSSadaf Ebrahimi         __ bind(&label);                                                       \
156*f5c631daSSadaf Ebrahimi         __ ASM;                                                                \
157*f5c631daSSadaf Ebrahimi       }                                                                        \
158*f5c631daSSadaf Ebrahimi     };                                                                         \
159*f5c631daSSadaf Ebrahimi     TestCase test((FEATURES));                                                 \
160*f5c631daSSadaf Ebrahimi     test.Run();                                                                \
161*f5c631daSSadaf Ebrahimi   }
162*f5c631daSSadaf Ebrahimi 
163*f5c631daSSadaf Ebrahimi 
164*f5c631daSSadaf Ebrahimi #define TEST_NONE(NAME, ASM) \
165*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures::None(), NONE_##NAME, ASM)
166*f5c631daSSadaf Ebrahimi TEST_NONE(adc_0, adc(w0, w1, w2))
167*f5c631daSSadaf Ebrahimi TEST_NONE(adc_1, adc(x0, x1, x2))
168*f5c631daSSadaf Ebrahimi TEST_NONE(adcs_0, adcs(w0, w1, w2))
169*f5c631daSSadaf Ebrahimi TEST_NONE(adcs_1, adcs(x0, x1, x2))
170*f5c631daSSadaf Ebrahimi TEST_NONE(adds_0, adds(w0, w1, Operand(w2, UXTH, 0)))
171*f5c631daSSadaf Ebrahimi TEST_NONE(adds_1, adds(x0, x1, Operand(x2, SXTX, 4)))
172*f5c631daSSadaf Ebrahimi TEST_NONE(adds_2, adds(x0, x1, Operand(w2, SXTB, 1)))
173*f5c631daSSadaf Ebrahimi TEST_NONE(adds_3, adds(w0, w1, 0x905 << 12))
174*f5c631daSSadaf Ebrahimi TEST_NONE(adds_4, adds(x0, x1, 0x35a))
175*f5c631daSSadaf Ebrahimi TEST_NONE(adds_5, adds(w0, w1, Operand(w2, LSL, 10)))
176*f5c631daSSadaf Ebrahimi TEST_NONE(adds_6, adds(x0, x1, Operand(x2, LSR, 11)))
177*f5c631daSSadaf Ebrahimi TEST_NONE(add_0, add(w0, w1, Operand(w2, UXTW, 3)))
178*f5c631daSSadaf Ebrahimi TEST_NONE(add_1, add(x0, x1, Operand(x2, UXTX, 4)))
179*f5c631daSSadaf Ebrahimi TEST_NONE(add_2, add(x0, x1, Operand(w2, UXTH, 4)))
180*f5c631daSSadaf Ebrahimi TEST_NONE(add_3, add(w0, w1, 0xb7e << 12))
181*f5c631daSSadaf Ebrahimi TEST_NONE(add_4, add(x0, x1, 0x6d2))
182*f5c631daSSadaf Ebrahimi TEST_NONE(add_5, add(w0, w1, Operand(w2, LSL, 6)))
183*f5c631daSSadaf Ebrahimi TEST_NONE(add_6, add(x0, x1, Operand(x2, LSR, 25)))
184*f5c631daSSadaf Ebrahimi TEST_NONE(adr_0, adr(x0, &label))
185*f5c631daSSadaf Ebrahimi TEST_NONE(adrp_0, adrp(x0, &label))
186*f5c631daSSadaf Ebrahimi TEST_NONE(ands_0, ands(w0, w1, 0x3c0000))
187*f5c631daSSadaf Ebrahimi TEST_NONE(ands_1, ands(x0, x1, 0x3c0000))
188*f5c631daSSadaf Ebrahimi TEST_NONE(ands_2, ands(w0, w1, Operand(w2, ASR, 6)))
189*f5c631daSSadaf Ebrahimi TEST_NONE(ands_3, ands(x0, x1, Operand(x2, ASR, 33)))
190*f5c631daSSadaf Ebrahimi TEST_NONE(and_0, and_(w0, w1, 0x3c0))
191*f5c631daSSadaf Ebrahimi TEST_NONE(and_1, and_(x0, x1, 0xf))
192*f5c631daSSadaf Ebrahimi TEST_NONE(and_2, and_(w0, w1, Operand(w2, LSL, 1)))
193*f5c631daSSadaf Ebrahimi TEST_NONE(and_3, and_(x0, x1, Operand(x2, LSL, 58)))
194*f5c631daSSadaf Ebrahimi TEST_NONE(asrv_0, asrv(w0, w1, w2))
195*f5c631daSSadaf Ebrahimi TEST_NONE(asrv_1, asrv(x0, x1, x2))
196*f5c631daSSadaf Ebrahimi TEST_NONE(bfi_0, bfi(w0, w1, 5, 11))
197*f5c631daSSadaf Ebrahimi TEST_NONE(bfi_1, bfi(x0, x1, 25, 36))
198*f5c631daSSadaf Ebrahimi TEST_NONE(bfm_0, bfm(w0, w1, 27, 31))
199*f5c631daSSadaf Ebrahimi TEST_NONE(bfm_1, bfm(x0, x1, 54, 57))
200*f5c631daSSadaf Ebrahimi TEST_NONE(bfxil_0, bfxil(w0, w1, 14, 13))
201*f5c631daSSadaf Ebrahimi TEST_NONE(bfxil_1, bfxil(x0, x1, 22, 6))
202*f5c631daSSadaf Ebrahimi TEST_NONE(bics_0, bics(w0, w1, Operand(w2, LSR, 10)))
203*f5c631daSSadaf Ebrahimi TEST_NONE(bics_1, bics(x0, x1, Operand(x2, LSL, 42)))
204*f5c631daSSadaf Ebrahimi TEST_NONE(bic_0, bic(w0, w1, Operand(w2, LSL, 17)))
205*f5c631daSSadaf Ebrahimi TEST_NONE(bic_1, bic(x0, x1, Operand(x2, LSR, 16)))
206*f5c631daSSadaf Ebrahimi TEST_NONE(bl_0, bl(&label))
207*f5c631daSSadaf Ebrahimi TEST_NONE(blr_0, blr(x0))
208*f5c631daSSadaf Ebrahimi TEST_NONE(br_0, br(x0))
209*f5c631daSSadaf Ebrahimi TEST_NONE(brk_0, brk(0x97b0))
210*f5c631daSSadaf Ebrahimi TEST_NONE(b_0, b(&label, pl))
211*f5c631daSSadaf Ebrahimi TEST_NONE(b_1, b(&label))
212*f5c631daSSadaf Ebrahimi TEST_NONE(cbnz_0, cbnz(w0, &label))
213*f5c631daSSadaf Ebrahimi TEST_NONE(cbnz_1, cbnz(x0, &label))
214*f5c631daSSadaf Ebrahimi TEST_NONE(cbz_0, cbz(w0, &label))
215*f5c631daSSadaf Ebrahimi TEST_NONE(cbz_1, cbz(x0, &label))
216*f5c631daSSadaf Ebrahimi TEST_NONE(ccmn_0, ccmn(w0, 28, NZVFlag, lt))
217*f5c631daSSadaf Ebrahimi TEST_NONE(ccmn_1, ccmn(x0, 12, ZFlag, ge))
218*f5c631daSSadaf Ebrahimi TEST_NONE(ccmn_2, ccmn(w0, w1, NZCFlag, gt))
219*f5c631daSSadaf Ebrahimi TEST_NONE(ccmn_3, ccmn(x0, x1, ZCFlag, cs))
220*f5c631daSSadaf Ebrahimi TEST_NONE(ccmp_0, ccmp(w0, 8, NVFlag, mi))
221*f5c631daSSadaf Ebrahimi TEST_NONE(ccmp_1, ccmp(x0, 19, ZVFlag, cc))
222*f5c631daSSadaf Ebrahimi TEST_NONE(ccmp_2, ccmp(w0, w1, NVFlag, ne))
223*f5c631daSSadaf Ebrahimi TEST_NONE(ccmp_3, ccmp(x0, x1, NZVFlag, cs))
224*f5c631daSSadaf Ebrahimi TEST_NONE(cinc_0, cinc(w0, w1, eq))
225*f5c631daSSadaf Ebrahimi TEST_NONE(cinc_1, cinc(x0, x1, le))
226*f5c631daSSadaf Ebrahimi TEST_NONE(cinv_0, cinv(w0, w1, cs))
227*f5c631daSSadaf Ebrahimi TEST_NONE(cinv_1, cinv(x0, x1, cc))
228*f5c631daSSadaf Ebrahimi TEST_NONE(clrex_0, clrex(10))
229*f5c631daSSadaf Ebrahimi TEST_NONE(cls_0, cls(w0, w1))
230*f5c631daSSadaf Ebrahimi TEST_NONE(cls_1, cls(x0, x1))
231*f5c631daSSadaf Ebrahimi TEST_NONE(clz_0, clz(w0, w1))
232*f5c631daSSadaf Ebrahimi TEST_NONE(clz_1, clz(x0, x1))
233*f5c631daSSadaf Ebrahimi TEST_NONE(cmn_0, cmn(w0, Operand(w1, UXTH, 2)))
234*f5c631daSSadaf Ebrahimi TEST_NONE(cmn_1, cmn(x0, Operand(x1, SXTX, 1)))
235*f5c631daSSadaf Ebrahimi TEST_NONE(cmn_2, cmn(x0, Operand(w1, SXTW, 3)))
236*f5c631daSSadaf Ebrahimi TEST_NONE(cmn_3, cmn(w0, 0x2e5 << 12))
237*f5c631daSSadaf Ebrahimi TEST_NONE(cmn_4, cmn(x0, 0xb48))
238*f5c631daSSadaf Ebrahimi TEST_NONE(cmn_5, cmn(w0, Operand(w1, LSR, 9)))
239*f5c631daSSadaf Ebrahimi TEST_NONE(cmn_6, cmn(x0, Operand(x1, LSL, 50)))
240*f5c631daSSadaf Ebrahimi TEST_NONE(cmp_0, cmp(w0, Operand(w1, UXTB, 3)))
241*f5c631daSSadaf Ebrahimi TEST_NONE(cmp_1, cmp(x0, Operand(x1, SXTX, 0)))
242*f5c631daSSadaf Ebrahimi TEST_NONE(cmp_2, cmp(x0, Operand(w1, SXTB, 0)))
243*f5c631daSSadaf Ebrahimi TEST_NONE(cmp_3, cmp(w0, 0xb44 << 12))
244*f5c631daSSadaf Ebrahimi TEST_NONE(cmp_4, cmp(x0, 0x48 << 12))
245*f5c631daSSadaf Ebrahimi TEST_NONE(cmp_5, cmp(w0, Operand(w1, LSL, 1)))
246*f5c631daSSadaf Ebrahimi TEST_NONE(cmp_6, cmp(x0, Operand(x1, ASR, 4)))
247*f5c631daSSadaf Ebrahimi TEST_NONE(cneg_0, cneg(w0, w1, mi))
248*f5c631daSSadaf Ebrahimi TEST_NONE(cneg_1, cneg(x0, x1, cs))
249*f5c631daSSadaf Ebrahimi TEST_NONE(csdb_0, csdb())
250*f5c631daSSadaf Ebrahimi TEST_NONE(csel_0, csel(w0, w1, w2, cs))
251*f5c631daSSadaf Ebrahimi TEST_NONE(csel_1, csel(x0, x1, x2, cc))
252*f5c631daSSadaf Ebrahimi TEST_NONE(csetm_0, csetm(w0, vc))
253*f5c631daSSadaf Ebrahimi TEST_NONE(csetm_1, csetm(x0, pl))
254*f5c631daSSadaf Ebrahimi TEST_NONE(cset_0, cset(w0, vc))
255*f5c631daSSadaf Ebrahimi TEST_NONE(cset_1, cset(x0, lt))
256*f5c631daSSadaf Ebrahimi TEST_NONE(csinc_0, csinc(w0, w1, w2, lt))
257*f5c631daSSadaf Ebrahimi TEST_NONE(csinc_1, csinc(x0, x1, x2, cs))
258*f5c631daSSadaf Ebrahimi TEST_NONE(csinv_0, csinv(w0, w1, w2, cc))
259*f5c631daSSadaf Ebrahimi TEST_NONE(csinv_1, csinv(x0, x1, x2, ne))
260*f5c631daSSadaf Ebrahimi TEST_NONE(csneg_0, csneg(w0, w1, w2, ge))
261*f5c631daSSadaf Ebrahimi TEST_NONE(csneg_1, csneg(x0, x1, x2, cc))
262*f5c631daSSadaf Ebrahimi TEST_NONE(dc_0, dc(CIVAC, x0))
263*f5c631daSSadaf Ebrahimi TEST_NONE(eon_0, eon(w0, w1, Operand(w2, ASR, 3)))
264*f5c631daSSadaf Ebrahimi TEST_NONE(eon_1, eon(x0, x1, Operand(x2, LSL, 28)))
265*f5c631daSSadaf Ebrahimi TEST_NONE(eor_0, eor(w0, w1, 0xf0))
266*f5c631daSSadaf Ebrahimi TEST_NONE(eor_1, eor(x0, x1, 0x1e000))
267*f5c631daSSadaf Ebrahimi TEST_NONE(eor_2, eor(w0, w1, Operand(w2, LSL, 24)))
268*f5c631daSSadaf Ebrahimi TEST_NONE(eor_3, eor(x0, x1, Operand(x2, ASR, 16)))
269*f5c631daSSadaf Ebrahimi TEST_NONE(extr_0, extr(w0, w1, w2, 17))
270*f5c631daSSadaf Ebrahimi TEST_NONE(extr_1, extr(x0, x1, x2, 8))
271*f5c631daSSadaf Ebrahimi TEST_NONE(extr_2, extr(x0, x1, x2, 50))
272*f5c631daSSadaf Ebrahimi TEST_NONE(hlt_0, hlt(0x7fb7))
273*f5c631daSSadaf Ebrahimi TEST_NONE(ic_0, ic(IVAU, x0))
274*f5c631daSSadaf Ebrahimi TEST_NONE(ldar_0, ldar(w0, MemOperand(x1, 0)))
275*f5c631daSSadaf Ebrahimi TEST_NONE(ldar_1, ldar(x0, MemOperand(x1, 0)))
276*f5c631daSSadaf Ebrahimi TEST_NONE(ldarb_0, ldarb(w0, MemOperand(x1, 0)))
277*f5c631daSSadaf Ebrahimi TEST_NONE(ldarh_0, ldarh(w0, MemOperand(x1, 0)))
278*f5c631daSSadaf Ebrahimi TEST_NONE(ldaxp_0, ldaxp(w0, w1, MemOperand(x2, 0)))
279*f5c631daSSadaf Ebrahimi TEST_NONE(ldaxp_1, ldaxp(x0, x1, MemOperand(x2, 0)))
280*f5c631daSSadaf Ebrahimi TEST_NONE(ldaxr_0, ldaxr(w0, MemOperand(x1, 0)))
281*f5c631daSSadaf Ebrahimi TEST_NONE(ldaxr_1, ldaxr(x0, MemOperand(x1, 0)))
282*f5c631daSSadaf Ebrahimi TEST_NONE(ldaxrb_0, ldaxrb(w0, MemOperand(x1, 0)))
283*f5c631daSSadaf Ebrahimi TEST_NONE(ldaxrh_0, ldaxrh(w0, MemOperand(x1, 0)))
284*f5c631daSSadaf Ebrahimi TEST_NONE(ldnp_0, ldnp(w0, w1, MemOperand(x2, 12)))
285*f5c631daSSadaf Ebrahimi TEST_NONE(ldnp_1, ldnp(x0, x1, MemOperand(x2, 304)))
286*f5c631daSSadaf Ebrahimi TEST_NONE(ldpsw_0, ldpsw(x0, x1, MemOperand(x2, -212)))
287*f5c631daSSadaf Ebrahimi TEST_NONE(ldpsw_1, ldpsw(x0, x1, MemOperand(x2, -36, PostIndex)))
288*f5c631daSSadaf Ebrahimi TEST_NONE(ldpsw_2, ldpsw(x0, x1, MemOperand(x2, 104, PreIndex)))
289*f5c631daSSadaf Ebrahimi TEST_NONE(ldp_0, ldp(w0, w1, MemOperand(x2, -212)))
290*f5c631daSSadaf Ebrahimi TEST_NONE(ldp_1, ldp(w0, w1, MemOperand(x2, -212, PostIndex)))
291*f5c631daSSadaf Ebrahimi TEST_NONE(ldp_2, ldp(w0, w1, MemOperand(x2, -252, PreIndex)))
292*f5c631daSSadaf Ebrahimi TEST_NONE(ldp_3, ldp(x0, x1, MemOperand(x2, 336)))
293*f5c631daSSadaf Ebrahimi TEST_NONE(ldp_4, ldp(x0, x1, MemOperand(x2, 8, PostIndex)))
294*f5c631daSSadaf Ebrahimi TEST_NONE(ldp_5, ldp(x0, x1, MemOperand(x2, 360, PreIndex)))
295*f5c631daSSadaf Ebrahimi TEST_NONE(ldrb_0, ldrb(w0, MemOperand(x1, -219, PostIndex)))
296*f5c631daSSadaf Ebrahimi TEST_NONE(ldrb_1, ldrb(w0, MemOperand(x1, -137, PreIndex)))
297*f5c631daSSadaf Ebrahimi TEST_NONE(ldrb_2, ldrb(w0, MemOperand(x1, 4022)))
298*f5c631daSSadaf Ebrahimi TEST_NONE(ldrb_3, ldrb(w0, MemOperand(x1, x2, LSL, 0)))
299*f5c631daSSadaf Ebrahimi TEST_NONE(ldrb_4, ldrb(w0, MemOperand(x1, w2, SXTW, 0)))
300*f5c631daSSadaf Ebrahimi TEST_NONE(ldrb_5, ldrb(w0, MemOperand(x1, x2, SXTX, 0)))
301*f5c631daSSadaf Ebrahimi TEST_NONE(ldrh_0, ldrh(w0, MemOperand(x1, -135, PostIndex)))
302*f5c631daSSadaf Ebrahimi TEST_NONE(ldrh_1, ldrh(w0, MemOperand(x1, 52, PreIndex)))
303*f5c631daSSadaf Ebrahimi TEST_NONE(ldrh_2, ldrh(w0, MemOperand(x1, 4410)))
304*f5c631daSSadaf Ebrahimi TEST_NONE(ldrh_3, ldrh(w0, MemOperand(x1, w2, UXTW, 1)))
305*f5c631daSSadaf Ebrahimi TEST_NONE(ldrh_4, ldrh(w0, MemOperand(x1, x2, SXTX, 1)))
306*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_0, ldrsb(w0, MemOperand(x1, 160, PostIndex)))
307*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_1, ldrsb(w0, MemOperand(x1, -253, PreIndex)))
308*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_2, ldrsb(w0, MemOperand(x1, 147)))
309*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_3, ldrsb(x0, MemOperand(x1, 33, PostIndex)))
310*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_4, ldrsb(x0, MemOperand(x1, 11, PreIndex)))
311*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_5, ldrsb(x0, MemOperand(x1, 2742)))
312*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_6, ldrsb(w0, MemOperand(x1, x2, LSL, 0)))
313*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_7, ldrsb(w0, MemOperand(x1, w2, UXTW, 0)))
314*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_8, ldrsb(w0, MemOperand(x1, x2, SXTX, 0)))
315*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_9, ldrsb(x0, MemOperand(x1, x2, LSL, 0)))
316*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_10, ldrsb(x0, MemOperand(x1, w2, SXTW, 0)))
317*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsb_11, ldrsb(x0, MemOperand(x1, x2, SXTX, 0)))
318*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsh_0, ldrsh(w0, MemOperand(x1, 11, PostIndex)))
319*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsh_1, ldrsh(w0, MemOperand(x1, -34, PreIndex)))
320*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsh_2, ldrsh(w0, MemOperand(x1, 6212)))
321*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsh_3, ldrsh(x0, MemOperand(x1, -78, PostIndex)))
322*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsh_4, ldrsh(x0, MemOperand(x1, 72, PreIndex)))
323*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsh_5, ldrsh(x0, MemOperand(x1, 6232)))
324*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsh_6, ldrsh(w0, MemOperand(x1, w2, UXTW, 0)))
325*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsh_7, ldrsh(w0, MemOperand(x1, x2, LSL, 0)))
326*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsh_8, ldrsh(x0, MemOperand(x1, w2, SXTW, 0)))
327*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsh_9, ldrsh(x0, MemOperand(x1, x2, SXTX, 1)))
328*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsw_0, ldrsw(x0, MemOperand(x1, 73, PostIndex)))
329*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsw_1, ldrsw(x0, MemOperand(x1, 13, PreIndex)))
330*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsw_2, ldrsw(x0, MemOperand(x1, 2192)))
331*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsw_3, ldrsw(x0, 0x16279))
332*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsw_4, ldrsw(x0, MemOperand(x1, w2, SXTW, 0)))
333*f5c631daSSadaf Ebrahimi TEST_NONE(ldrsw_5, ldrsw(x0, MemOperand(x1, x2, LSL, 2)))
334*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_0, ldr(w0, MemOperand(x1, -169, PostIndex)))
335*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_1, ldr(w0, MemOperand(x1, 16, PreIndex)))
336*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_2, ldr(w0, MemOperand(x1, 13080)))
337*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_3, ldr(x0, MemOperand(x1, 3, PostIndex)))
338*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_4, ldr(x0, MemOperand(x1, -27, PreIndex)))
339*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_5, ldr(x0, MemOperand(x1, 14016)))
340*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_6, ldr(w0, 0x21ada))
341*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_7, ldr(x0, 0x2a87d))
342*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_8, ldr(w0, MemOperand(x1, w2, SXTW, 0)))
343*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_9, ldr(w0, MemOperand(x1, x2, LSL, 0)))
344*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_10, ldr(x0, MemOperand(x1, w2, UXTW, 3)))
345*f5c631daSSadaf Ebrahimi TEST_NONE(ldr_11, ldr(x0, MemOperand(x1, x2, LSL, 3)))
346*f5c631daSSadaf Ebrahimi TEST_NONE(ldurb_0, ldurb(w0, MemOperand(x1, 58)))
347*f5c631daSSadaf Ebrahimi TEST_NONE(ldurh_0, ldurh(w0, MemOperand(x1, -222)))
348*f5c631daSSadaf Ebrahimi TEST_NONE(ldursb_0, ldursb(w0, MemOperand(x1, -216)))
349*f5c631daSSadaf Ebrahimi TEST_NONE(ldursb_1, ldursb(x0, MemOperand(x1, 196)))
350*f5c631daSSadaf Ebrahimi TEST_NONE(ldursh_0, ldursh(w0, MemOperand(x1, -61)))
351*f5c631daSSadaf Ebrahimi TEST_NONE(ldursh_1, ldursh(x0, MemOperand(x1, -255)))
352*f5c631daSSadaf Ebrahimi TEST_NONE(ldursw_0, ldursw(x0, MemOperand(x1, -206)))
353*f5c631daSSadaf Ebrahimi TEST_NONE(ldur_0, ldur(w0, MemOperand(x1, 71)))
354*f5c631daSSadaf Ebrahimi TEST_NONE(ldur_1, ldur(x0, MemOperand(x1, 70)))
355*f5c631daSSadaf Ebrahimi TEST_NONE(ldxp_0, ldxp(w0, w1, MemOperand(x2, 0)))
356*f5c631daSSadaf Ebrahimi TEST_NONE(ldxp_1, ldxp(x0, x1, MemOperand(x2, 0)))
357*f5c631daSSadaf Ebrahimi TEST_NONE(ldxr_0, ldxr(w0, MemOperand(x1, 0)))
358*f5c631daSSadaf Ebrahimi TEST_NONE(ldxr_1, ldxr(x0, MemOperand(x1, 0)))
359*f5c631daSSadaf Ebrahimi TEST_NONE(ldxrb_0, ldxrb(w0, MemOperand(x1, 0)))
360*f5c631daSSadaf Ebrahimi TEST_NONE(ldxrh_0, ldxrh(w0, MemOperand(x1, 0)))
361*f5c631daSSadaf Ebrahimi TEST_NONE(lslv_0, lslv(w0, w1, w2))
362*f5c631daSSadaf Ebrahimi TEST_NONE(lslv_1, lslv(x0, x1, x2))
363*f5c631daSSadaf Ebrahimi TEST_NONE(lsrv_0, lsrv(w0, w1, w2))
364*f5c631daSSadaf Ebrahimi TEST_NONE(lsrv_1, lsrv(x0, x1, x2))
365*f5c631daSSadaf Ebrahimi TEST_NONE(madd_0, madd(w0, w1, w2, w3))
366*f5c631daSSadaf Ebrahimi TEST_NONE(madd_1, madd(x0, x1, x2, x3))
367*f5c631daSSadaf Ebrahimi TEST_NONE(mneg_0, mneg(w0, w1, w2))
368*f5c631daSSadaf Ebrahimi TEST_NONE(mneg_1, mneg(x0, x1, x2))
369*f5c631daSSadaf Ebrahimi TEST_NONE(movk_0, movk(w0, UINT32_C(0xee40)))
370*f5c631daSSadaf Ebrahimi TEST_NONE(movk_1, movk(x0, UINT64_C(0xfff2) << 16))
371*f5c631daSSadaf Ebrahimi TEST_NONE(movn_0, movn(w0, UINT32_C(0xbd2f)))
372*f5c631daSSadaf Ebrahimi TEST_NONE(movn_1, movn(x0, UINT64_C(0x560c) << 16))
373*f5c631daSSadaf Ebrahimi TEST_NONE(movz_0, movz(w0, UINT32_C(0x9028) << 16))
374*f5c631daSSadaf Ebrahimi TEST_NONE(movz_1, movz(x0, UINT64_C(0xf525)))
375*f5c631daSSadaf Ebrahimi TEST_NONE(mov_0, mov(w0, w1))
376*f5c631daSSadaf Ebrahimi TEST_NONE(mov_1, mov(x0, x1))
377*f5c631daSSadaf Ebrahimi TEST_NONE(mov_2, mov(w0, w1))
378*f5c631daSSadaf Ebrahimi TEST_NONE(mov_3, mov(x0, x1))
379*f5c631daSSadaf Ebrahimi TEST_NONE(mrs_0, mrs(x0, FPCR))
380*f5c631daSSadaf Ebrahimi TEST_NONE(msr_0, msr(FPCR, x0))
381*f5c631daSSadaf Ebrahimi TEST_NONE(msub_0, msub(w0, w1, w2, w3))
382*f5c631daSSadaf Ebrahimi TEST_NONE(msub_1, msub(x0, x1, x2, x3))
383*f5c631daSSadaf Ebrahimi TEST_NONE(mul_0, mul(w0, w1, w2))
384*f5c631daSSadaf Ebrahimi TEST_NONE(mul_1, mul(x0, x1, x2))
385*f5c631daSSadaf Ebrahimi TEST_NONE(mvn_0, mvn(w0, Operand(w1, LSL, 7)))
386*f5c631daSSadaf Ebrahimi TEST_NONE(mvn_1, mvn(x0, Operand(x1, LSL, 40)))
387*f5c631daSSadaf Ebrahimi TEST_NONE(negs_0, negs(w0, Operand(w1, LSL, 21)))
388*f5c631daSSadaf Ebrahimi TEST_NONE(negs_1, negs(x0, Operand(x1, LSL, 57)))
389*f5c631daSSadaf Ebrahimi TEST_NONE(neg_0, neg(w0, Operand(w1, LSR, 18)))
390*f5c631daSSadaf Ebrahimi TEST_NONE(neg_1, neg(x0, Operand(x1, ASR, 33)))
391*f5c631daSSadaf Ebrahimi TEST_NONE(ngcs_0, ngcs(w0, w1))
392*f5c631daSSadaf Ebrahimi TEST_NONE(ngcs_1, ngcs(x0, x1))
393*f5c631daSSadaf Ebrahimi TEST_NONE(ngc_0, ngc(w0, w1))
394*f5c631daSSadaf Ebrahimi TEST_NONE(ngc_1, ngc(x0, x1))
395*f5c631daSSadaf Ebrahimi TEST_NONE(nop_0, nop())
396*f5c631daSSadaf Ebrahimi TEST_NONE(orn_0, orn(w0, w1, Operand(w2, LSL, 6)))
397*f5c631daSSadaf Ebrahimi TEST_NONE(orn_1, orn(x0, x1, Operand(x2, LSL, 63)))
398*f5c631daSSadaf Ebrahimi TEST_NONE(orr_0, orr(w0, w1, 0x780000))
399*f5c631daSSadaf Ebrahimi TEST_NONE(orr_1, orr(x0, x1, 0x1e0000))
400*f5c631daSSadaf Ebrahimi TEST_NONE(orr_2, orr(w0, w1, Operand(w2, ASR, 24)))
401*f5c631daSSadaf Ebrahimi TEST_NONE(orr_3, orr(x0, x1, Operand(x2, LSR, 2)))
402*f5c631daSSadaf Ebrahimi TEST_NONE(prfm_0, prfm(PLDL2STRM, MemOperand(x0, 832)))
403*f5c631daSSadaf Ebrahimi TEST_NONE(prfm_1, prfm(PSTL1STRM, 0x2c2fa))
404*f5c631daSSadaf Ebrahimi TEST_NONE(prfm_2, prfm(PLDL1KEEP, MemOperand(x0, w1, SXTW, 0)))
405*f5c631daSSadaf Ebrahimi TEST_NONE(prfm_3, prfm(PSTL3STRM, MemOperand(x0, x1, SXTX, 0)))
406*f5c631daSSadaf Ebrahimi TEST_NONE(prfum_0, prfum(PSTL3KEEP, MemOperand(x0, 47)))
407*f5c631daSSadaf Ebrahimi TEST_NONE(rbit_0, rbit(w0, w1))
408*f5c631daSSadaf Ebrahimi TEST_NONE(rbit_1, rbit(x0, x1))
409*f5c631daSSadaf Ebrahimi TEST_NONE(ret_0, ret(x0))
410*f5c631daSSadaf Ebrahimi TEST_NONE(rev_0, rev(w0, w1))
411*f5c631daSSadaf Ebrahimi TEST_NONE(rev_1, rev(x0, x1))
412*f5c631daSSadaf Ebrahimi TEST_NONE(rev16_0, rev16(w0, w1))
413*f5c631daSSadaf Ebrahimi TEST_NONE(rev16_1, rev16(x0, x1))
414*f5c631daSSadaf Ebrahimi TEST_NONE(rev32_0, rev32(x0, x1))
415*f5c631daSSadaf Ebrahimi TEST_NONE(rorv_0, rorv(w0, w1, w2))
416*f5c631daSSadaf Ebrahimi TEST_NONE(rorv_1, rorv(x0, x1, x2))
417*f5c631daSSadaf Ebrahimi TEST_NONE(sbc_0, sbc(w0, w1, w2))
418*f5c631daSSadaf Ebrahimi TEST_NONE(sbc_1, sbc(x0, x1, x2))
419*f5c631daSSadaf Ebrahimi TEST_NONE(sbcs_0, sbcs(w0, w1, w2))
420*f5c631daSSadaf Ebrahimi TEST_NONE(sbcs_1, sbcs(x0, x1, x2))
421*f5c631daSSadaf Ebrahimi TEST_NONE(sbfiz_0, sbfiz(w0, w1, 28, 2))
422*f5c631daSSadaf Ebrahimi TEST_NONE(sbfiz_1, sbfiz(x0, x1, 46, 5))
423*f5c631daSSadaf Ebrahimi TEST_NONE(sbfm_0, sbfm(w0, w1, 9, 11))
424*f5c631daSSadaf Ebrahimi TEST_NONE(sbfm_1, sbfm(x0, x1, 22, 22))
425*f5c631daSSadaf Ebrahimi TEST_NONE(sbfx_0, sbfx(w0, w1, 15, 9))
426*f5c631daSSadaf Ebrahimi TEST_NONE(sbfx_1, sbfx(x0, x1, 21, 16))
427*f5c631daSSadaf Ebrahimi TEST_NONE(sdiv_0, sdiv(w0, w1, w2))
428*f5c631daSSadaf Ebrahimi TEST_NONE(sdiv_1, sdiv(x0, x1, x2))
429*f5c631daSSadaf Ebrahimi TEST_NONE(smaddl_0, smaddl(x0, w1, w2, x3))
430*f5c631daSSadaf Ebrahimi TEST_NONE(smsubl_0, smsubl(x0, w1, w2, x3))
431*f5c631daSSadaf Ebrahimi TEST_NONE(smulh_0, smulh(x0, x1, x2))
432*f5c631daSSadaf Ebrahimi TEST_NONE(smull_0, smull(x0, w1, w2))
433*f5c631daSSadaf Ebrahimi TEST_NONE(stlr_0, stlr(w0, MemOperand(x1, 0)))
434*f5c631daSSadaf Ebrahimi TEST_NONE(stlr_1, stlr(x0, MemOperand(x1, 0)))
435*f5c631daSSadaf Ebrahimi TEST_NONE(stlrb_0, stlrb(w0, MemOperand(x1, 0)))
436*f5c631daSSadaf Ebrahimi TEST_NONE(stlrh_0, stlrh(w0, MemOperand(x1, 0)))
437*f5c631daSSadaf Ebrahimi TEST_NONE(stlxp_0, stlxp(w0, w1, w2, MemOperand(x3, 0)))
438*f5c631daSSadaf Ebrahimi TEST_NONE(stlxp_1, stlxp(w0, x1, x2, MemOperand(x3, 0)))
439*f5c631daSSadaf Ebrahimi TEST_NONE(stlxr_0, stlxr(w0, w1, MemOperand(x2, 0)))
440*f5c631daSSadaf Ebrahimi TEST_NONE(stlxr_1, stlxr(w0, x1, MemOperand(x2, 0)))
441*f5c631daSSadaf Ebrahimi TEST_NONE(stlxrb_0, stlxrb(w0, w1, MemOperand(x2, 0)))
442*f5c631daSSadaf Ebrahimi TEST_NONE(stlxrh_0, stlxrh(w0, w1, MemOperand(x2, 0)))
443*f5c631daSSadaf Ebrahimi TEST_NONE(stnp_0, stnp(w0, w1, MemOperand(x2, -136)))
444*f5c631daSSadaf Ebrahimi TEST_NONE(stnp_1, stnp(x0, x1, MemOperand(x2, 480)))
445*f5c631daSSadaf Ebrahimi TEST_NONE(stp_0, stp(w0, w1, MemOperand(x2, 184)))
446*f5c631daSSadaf Ebrahimi TEST_NONE(stp_1, stp(w0, w1, MemOperand(x2, -16, PostIndex)))
447*f5c631daSSadaf Ebrahimi TEST_NONE(stp_2, stp(w0, w1, MemOperand(x2, -44, PreIndex)))
448*f5c631daSSadaf Ebrahimi TEST_NONE(stp_3, stp(x0, x1, MemOperand(x2, 472)))
449*f5c631daSSadaf Ebrahimi TEST_NONE(stp_4, stp(x0, x1, MemOperand(x2, 320, PostIndex)))
450*f5c631daSSadaf Ebrahimi TEST_NONE(stp_5, stp(x0, x1, MemOperand(x2, -392, PreIndex)))
451*f5c631daSSadaf Ebrahimi TEST_NONE(strb_0, strb(w0, MemOperand(x1, 146, PostIndex)))
452*f5c631daSSadaf Ebrahimi TEST_NONE(strb_1, strb(w0, MemOperand(x1, -120, PreIndex)))
453*f5c631daSSadaf Ebrahimi TEST_NONE(strb_2, strb(w0, MemOperand(x1, 1477)))
454*f5c631daSSadaf Ebrahimi TEST_NONE(strb_3, strb(w0, MemOperand(x1, x2, LSL, 0)))
455*f5c631daSSadaf Ebrahimi TEST_NONE(strb_4, strb(w0, MemOperand(x1, w2, SXTW, 0)))
456*f5c631daSSadaf Ebrahimi TEST_NONE(strb_5, strb(w0, MemOperand(x1, x2, SXTX, 0)))
457*f5c631daSSadaf Ebrahimi TEST_NONE(strh_0, strh(w0, MemOperand(x1, -228, PostIndex)))
458*f5c631daSSadaf Ebrahimi TEST_NONE(strh_1, strh(w0, MemOperand(x1, 240, PreIndex)))
459*f5c631daSSadaf Ebrahimi TEST_NONE(strh_2, strh(w0, MemOperand(x1, 742)))
460*f5c631daSSadaf Ebrahimi TEST_NONE(strh_3, strh(w0, MemOperand(x1, w2, UXTW, 0)))
461*f5c631daSSadaf Ebrahimi TEST_NONE(strh_4, strh(w0, MemOperand(x1, x2, LSL, 1)))
462*f5c631daSSadaf Ebrahimi TEST_NONE(str_0, str(w0, MemOperand(x1, 161, PostIndex)))
463*f5c631daSSadaf Ebrahimi TEST_NONE(str_1, str(w0, MemOperand(x1, -86, PreIndex)))
464*f5c631daSSadaf Ebrahimi TEST_NONE(str_2, str(w0, MemOperand(x1, 9200)))
465*f5c631daSSadaf Ebrahimi TEST_NONE(str_3, str(x0, MemOperand(x1, 121, PostIndex)))
466*f5c631daSSadaf Ebrahimi TEST_NONE(str_4, str(x0, MemOperand(x1, -6, PreIndex)))
467*f5c631daSSadaf Ebrahimi TEST_NONE(str_5, str(x0, MemOperand(x1, 28952)))
468*f5c631daSSadaf Ebrahimi TEST_NONE(str_6, str(w0, MemOperand(x1, w2, SXTW, 2)))
469*f5c631daSSadaf Ebrahimi TEST_NONE(str_7, str(w0, MemOperand(x1, x2, LSL, 2)))
470*f5c631daSSadaf Ebrahimi TEST_NONE(str_8, str(x0, MemOperand(x1, w2, UXTW, 0)))
471*f5c631daSSadaf Ebrahimi TEST_NONE(str_9, str(x0, MemOperand(x1, x2, SXTX, 0)))
472*f5c631daSSadaf Ebrahimi TEST_NONE(sturb_0, sturb(w0, MemOperand(x1, 67)))
473*f5c631daSSadaf Ebrahimi TEST_NONE(sturh_0, sturh(w0, MemOperand(x1, 173)))
474*f5c631daSSadaf Ebrahimi TEST_NONE(stur_0, stur(w0, MemOperand(x1, 151)))
475*f5c631daSSadaf Ebrahimi TEST_NONE(stur_1, stur(x0, MemOperand(x1, 134)))
476*f5c631daSSadaf Ebrahimi TEST_NONE(stxp_0, stxp(w0, w1, w2, MemOperand(x3, 0)))
477*f5c631daSSadaf Ebrahimi TEST_NONE(stxp_1, stxp(w0, x1, x2, MemOperand(x3, 0)))
478*f5c631daSSadaf Ebrahimi TEST_NONE(stxr_0, stxr(w0, w1, MemOperand(x2, 0)))
479*f5c631daSSadaf Ebrahimi TEST_NONE(stxr_1, stxr(w0, x1, MemOperand(x2, 0)))
480*f5c631daSSadaf Ebrahimi TEST_NONE(stxrb_0, stxrb(w0, w1, MemOperand(x2, 0)))
481*f5c631daSSadaf Ebrahimi TEST_NONE(stxrh_0, stxrh(w0, w1, MemOperand(x2, 0)))
482*f5c631daSSadaf Ebrahimi TEST_NONE(subs_0, subs(w0, w1, Operand(w2, SXTH, 0)))
483*f5c631daSSadaf Ebrahimi TEST_NONE(subs_1, subs(x0, x1, Operand(x2, UXTX, 3)))
484*f5c631daSSadaf Ebrahimi TEST_NONE(subs_2, subs(x0, x1, Operand(w2, UXTB, 3)))
485*f5c631daSSadaf Ebrahimi TEST_NONE(subs_3, subs(w0, w1, 0x812))
486*f5c631daSSadaf Ebrahimi TEST_NONE(subs_4, subs(x0, x1, 0x915))
487*f5c631daSSadaf Ebrahimi TEST_NONE(subs_5, subs(w0, w1, Operand(w2, ASR, 7)))
488*f5c631daSSadaf Ebrahimi TEST_NONE(subs_6, subs(x0, x1, Operand(x2, LSR, 45)))
489*f5c631daSSadaf Ebrahimi TEST_NONE(sub_0, sub(w0, w1, Operand(w2, SXTW, 0)))
490*f5c631daSSadaf Ebrahimi TEST_NONE(sub_1, sub(x0, x1, Operand(x2, UXTX, 3)))
491*f5c631daSSadaf Ebrahimi TEST_NONE(sub_2, sub(x0, x1, Operand(w2, UXTB, 2)))
492*f5c631daSSadaf Ebrahimi TEST_NONE(sub_3, sub(w0, w1, 0x492 << 12))
493*f5c631daSSadaf Ebrahimi TEST_NONE(sub_4, sub(x0, x1, 0xa56 << 12))
494*f5c631daSSadaf Ebrahimi TEST_NONE(sub_5, sub(w0, w1, Operand(w2, ASR, 2)))
495*f5c631daSSadaf Ebrahimi TEST_NONE(sub_6, sub(x0, x1, Operand(x2, ASR, 45)))
496*f5c631daSSadaf Ebrahimi TEST_NONE(svc_0, svc(0x1220))
497*f5c631daSSadaf Ebrahimi TEST_NONE(sxtb_0, sxtb(w0, w1))
498*f5c631daSSadaf Ebrahimi TEST_NONE(sxtb_1, sxtb(x0, w1))
499*f5c631daSSadaf Ebrahimi TEST_NONE(sxth_0, sxth(w0, w1))
500*f5c631daSSadaf Ebrahimi TEST_NONE(sxth_1, sxth(x0, w1))
501*f5c631daSSadaf Ebrahimi TEST_NONE(sxtw_0, sxtw(x0, w1))
502*f5c631daSSadaf Ebrahimi TEST_NONE(sys_0, sys(6, 10, 8, 3, x0))
503*f5c631daSSadaf Ebrahimi TEST_NONE(sys_1, sys(0x2ae9, x0))
504*f5c631daSSadaf Ebrahimi TEST_NONE(tbnz_0, tbnz(x0, 0, &label))
505*f5c631daSSadaf Ebrahimi TEST_NONE(tbnz_1, tbnz(x0, 37, &label))
506*f5c631daSSadaf Ebrahimi TEST_NONE(tbnz_2, tbnz(w0, 20, &label))
507*f5c631daSSadaf Ebrahimi TEST_NONE(tbz_0, tbz(x0, 24, &label))
508*f5c631daSSadaf Ebrahimi TEST_NONE(tbz_1, tbz(x0, 60, &label))
509*f5c631daSSadaf Ebrahimi TEST_NONE(tbz_2, tbz(w0, 13, &label))
510*f5c631daSSadaf Ebrahimi TEST_NONE(tst_0, tst(w0, 0x3c0))
511*f5c631daSSadaf Ebrahimi TEST_NONE(tst_1, tst(x0, 0x3c00))
512*f5c631daSSadaf Ebrahimi TEST_NONE(tst_2, tst(w0, Operand(w1, LSL, 12)))
513*f5c631daSSadaf Ebrahimi TEST_NONE(tst_3, tst(x0, Operand(x1, ASR, 16)))
514*f5c631daSSadaf Ebrahimi TEST_NONE(ubfiz_0, ubfiz(w0, w1, 10, 9))
515*f5c631daSSadaf Ebrahimi TEST_NONE(ubfiz_1, ubfiz(x0, x1, 13, 49))
516*f5c631daSSadaf Ebrahimi TEST_NONE(ubfm_0, ubfm(w0, w1, 18, 3))
517*f5c631daSSadaf Ebrahimi TEST_NONE(ubfm_1, ubfm(x0, x1, 54, 30))
518*f5c631daSSadaf Ebrahimi TEST_NONE(ubfx_0, ubfx(w0, w1, 24, 7))
519*f5c631daSSadaf Ebrahimi TEST_NONE(ubfx_1, ubfx(x0, x1, 11, 21))
520*f5c631daSSadaf Ebrahimi TEST_NONE(udiv_0, udiv(w0, w1, w2))
521*f5c631daSSadaf Ebrahimi TEST_NONE(udiv_1, udiv(x0, x1, x2))
522*f5c631daSSadaf Ebrahimi TEST_NONE(umaddl_0, umaddl(x0, w1, w2, x3))
523*f5c631daSSadaf Ebrahimi TEST_NONE(umsubl_0, umsubl(x0, w1, w2, x3))
524*f5c631daSSadaf Ebrahimi TEST_NONE(umulh_0, umulh(x0, x1, x2))
525*f5c631daSSadaf Ebrahimi TEST_NONE(umull_0, umull(x0, w1, w2))
526*f5c631daSSadaf Ebrahimi TEST_NONE(uxtb_0, uxtb(w0, w1))
527*f5c631daSSadaf Ebrahimi TEST_NONE(uxth_0, uxth(w0, w1))
528*f5c631daSSadaf Ebrahimi 
529*f5c631daSSadaf Ebrahimi #define TEST_FP(NAME, ASM) \
530*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFP), FP_##NAME, ASM)
531*f5c631daSSadaf Ebrahimi TEST_FP(fabs_0, fabs(d0, d1))
532*f5c631daSSadaf Ebrahimi TEST_FP(fabs_1, fabs(s0, s1))
533*f5c631daSSadaf Ebrahimi TEST_FP(fadd_0, fadd(d0, d1, d2))
534*f5c631daSSadaf Ebrahimi TEST_FP(fadd_1, fadd(s0, s1, s2))
535*f5c631daSSadaf Ebrahimi TEST_FP(fccmpe_0, fccmpe(d0, d1, NCFlag, hi))
536*f5c631daSSadaf Ebrahimi TEST_FP(fccmpe_1, fccmpe(s0, s1, NZCFlag, ne))
537*f5c631daSSadaf Ebrahimi TEST_FP(fccmp_0, fccmp(d0, d1, NZCVFlag, pl))
538*f5c631daSSadaf Ebrahimi TEST_FP(fccmp_1, fccmp(s0, s1, ZCVFlag, eq))
539*f5c631daSSadaf Ebrahimi TEST_FP(fcmpe_0, fcmpe(d0, 0.0))
540*f5c631daSSadaf Ebrahimi TEST_FP(fcmpe_1, fcmpe(d0, d1))
541*f5c631daSSadaf Ebrahimi TEST_FP(fcmpe_2, fcmpe(s0, 0.0))
542*f5c631daSSadaf Ebrahimi TEST_FP(fcmpe_3, fcmpe(s0, s1))
543*f5c631daSSadaf Ebrahimi TEST_FP(fcmp_0, fcmp(d0, 0.0))
544*f5c631daSSadaf Ebrahimi TEST_FP(fcmp_1, fcmp(d0, d1))
545*f5c631daSSadaf Ebrahimi TEST_FP(fcmp_2, fcmp(s0, 0.0))
546*f5c631daSSadaf Ebrahimi TEST_FP(fcmp_3, fcmp(s0, s1))
547*f5c631daSSadaf Ebrahimi TEST_FP(fcsel_0, fcsel(d0, d1, d2, cs))
548*f5c631daSSadaf Ebrahimi TEST_FP(fcsel_1, fcsel(s0, s1, s2, ne))
549*f5c631daSSadaf Ebrahimi TEST_FP(fcvtas_0, fcvtas(w0, d1))
550*f5c631daSSadaf Ebrahimi TEST_FP(fcvtas_1, fcvtas(w0, s1))
551*f5c631daSSadaf Ebrahimi TEST_FP(fcvtas_2, fcvtas(x0, d1))
552*f5c631daSSadaf Ebrahimi TEST_FP(fcvtas_3, fcvtas(x0, s1))
553*f5c631daSSadaf Ebrahimi TEST_FP(fcvtau_0, fcvtau(w0, d1))
554*f5c631daSSadaf Ebrahimi TEST_FP(fcvtau_1, fcvtau(w0, s1))
555*f5c631daSSadaf Ebrahimi TEST_FP(fcvtau_2, fcvtau(x0, d1))
556*f5c631daSSadaf Ebrahimi TEST_FP(fcvtau_3, fcvtau(x0, s1))
557*f5c631daSSadaf Ebrahimi TEST_FP(fcvtms_0, fcvtms(w0, d1))
558*f5c631daSSadaf Ebrahimi TEST_FP(fcvtms_1, fcvtms(w0, s1))
559*f5c631daSSadaf Ebrahimi TEST_FP(fcvtms_2, fcvtms(x0, d1))
560*f5c631daSSadaf Ebrahimi TEST_FP(fcvtms_3, fcvtms(x0, s1))
561*f5c631daSSadaf Ebrahimi TEST_FP(fcvtmu_0, fcvtmu(w0, d1))
562*f5c631daSSadaf Ebrahimi TEST_FP(fcvtmu_1, fcvtmu(w0, s1))
563*f5c631daSSadaf Ebrahimi TEST_FP(fcvtmu_2, fcvtmu(x0, d1))
564*f5c631daSSadaf Ebrahimi TEST_FP(fcvtmu_3, fcvtmu(x0, s1))
565*f5c631daSSadaf Ebrahimi TEST_FP(fcvtns_0, fcvtns(w0, d1))
566*f5c631daSSadaf Ebrahimi TEST_FP(fcvtns_1, fcvtns(w0, s1))
567*f5c631daSSadaf Ebrahimi TEST_FP(fcvtns_2, fcvtns(x0, d1))
568*f5c631daSSadaf Ebrahimi TEST_FP(fcvtns_3, fcvtns(x0, s1))
569*f5c631daSSadaf Ebrahimi TEST_FP(fcvtnu_0, fcvtnu(w0, d1))
570*f5c631daSSadaf Ebrahimi TEST_FP(fcvtnu_1, fcvtnu(w0, s1))
571*f5c631daSSadaf Ebrahimi TEST_FP(fcvtnu_2, fcvtnu(x0, d1))
572*f5c631daSSadaf Ebrahimi TEST_FP(fcvtnu_3, fcvtnu(x0, s1))
573*f5c631daSSadaf Ebrahimi TEST_FP(fcvtps_0, fcvtps(w0, d1))
574*f5c631daSSadaf Ebrahimi TEST_FP(fcvtps_1, fcvtps(w0, s1))
575*f5c631daSSadaf Ebrahimi TEST_FP(fcvtps_2, fcvtps(x0, d1))
576*f5c631daSSadaf Ebrahimi TEST_FP(fcvtps_3, fcvtps(x0, s1))
577*f5c631daSSadaf Ebrahimi TEST_FP(fcvtpu_0, fcvtpu(w0, d1))
578*f5c631daSSadaf Ebrahimi TEST_FP(fcvtpu_1, fcvtpu(w0, s1))
579*f5c631daSSadaf Ebrahimi TEST_FP(fcvtpu_2, fcvtpu(x0, d1))
580*f5c631daSSadaf Ebrahimi TEST_FP(fcvtpu_3, fcvtpu(x0, s1))
581*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzs_0, fcvtzs(w0, d1, 5))
582*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzs_1, fcvtzs(w0, s1, 5))
583*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzs_2, fcvtzs(x0, d1, 5))
584*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzs_3, fcvtzs(x0, s1, 5))
585*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzs_4, fcvtzs(w0, d1))
586*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzs_5, fcvtzs(w0, s1))
587*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzs_6, fcvtzs(x0, d1))
588*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzs_7, fcvtzs(x0, s1))
589*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzu_0, fcvtzu(w0, d1, 5))
590*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzu_1, fcvtzu(w0, s1, 5))
591*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzu_2, fcvtzu(x0, d1, 5))
592*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzu_3, fcvtzu(x0, s1, 5))
593*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzu_4, fcvtzu(w0, d1))
594*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzu_5, fcvtzu(w0, s1))
595*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzu_6, fcvtzu(x0, d1))
596*f5c631daSSadaf Ebrahimi TEST_FP(fcvtzu_7, fcvtzu(x0, s1))
597*f5c631daSSadaf Ebrahimi TEST_FP(fcvt_0, fcvt(d0, h1))
598*f5c631daSSadaf Ebrahimi TEST_FP(fcvt_1, fcvt(d0, s1))
599*f5c631daSSadaf Ebrahimi TEST_FP(fcvt_2, fcvt(h0, d1))
600*f5c631daSSadaf Ebrahimi TEST_FP(fcvt_3, fcvt(h0, s1))
601*f5c631daSSadaf Ebrahimi TEST_FP(fcvt_4, fcvt(s0, d1))
602*f5c631daSSadaf Ebrahimi TEST_FP(fcvt_5, fcvt(s0, h1))
603*f5c631daSSadaf Ebrahimi TEST_FP(fdiv_0, fdiv(d0, d1, d2))
604*f5c631daSSadaf Ebrahimi TEST_FP(fdiv_1, fdiv(s0, s1, s2))
605*f5c631daSSadaf Ebrahimi TEST_FP(fmadd_0, fmadd(d0, d1, d2, d3))
606*f5c631daSSadaf Ebrahimi TEST_FP(fmadd_1, fmadd(s0, s1, s2, s3))
607*f5c631daSSadaf Ebrahimi TEST_FP(fmaxnm_0, fmaxnm(d0, d1, d2))
608*f5c631daSSadaf Ebrahimi TEST_FP(fmaxnm_1, fmaxnm(s0, s1, s2))
609*f5c631daSSadaf Ebrahimi TEST_FP(fmax_0, fmax(d0, d1, d2))
610*f5c631daSSadaf Ebrahimi TEST_FP(fmax_1, fmax(s0, s1, s2))
611*f5c631daSSadaf Ebrahimi TEST_FP(fminnm_0, fminnm(d0, d1, d2))
612*f5c631daSSadaf Ebrahimi TEST_FP(fminnm_1, fminnm(s0, s1, s2))
613*f5c631daSSadaf Ebrahimi TEST_FP(fmin_0, fmin(d0, d1, d2))
614*f5c631daSSadaf Ebrahimi TEST_FP(fmin_1, fmin(s0, s1, s2))
615*f5c631daSSadaf Ebrahimi TEST_FP(fmov_0, fmov(d0, d1))
616*f5c631daSSadaf Ebrahimi TEST_FP(fmov_1, fmov(s0, s1))
617*f5c631daSSadaf Ebrahimi TEST_FP(fmov_2, fmov(w0, s1))
618*f5c631daSSadaf Ebrahimi TEST_FP(fmov_3, fmov(x0, d1))
619*f5c631daSSadaf Ebrahimi TEST_FP(fmov_4, fmov(d0, x1))
620*f5c631daSSadaf Ebrahimi TEST_FP(fmov_5, fmov(s0, w1))
621*f5c631daSSadaf Ebrahimi TEST_FP(fmov_6, fmov(d0, -0.15625))
622*f5c631daSSadaf Ebrahimi TEST_FP(fmov_7, fmov(s0, -2.875f))
623*f5c631daSSadaf Ebrahimi TEST_FP(fmsub_0, fmsub(d0, d1, d2, d3))
624*f5c631daSSadaf Ebrahimi TEST_FP(fmsub_1, fmsub(s0, s1, s2, s3))
625*f5c631daSSadaf Ebrahimi TEST_FP(fmul_0, fmul(d0, d1, d2))
626*f5c631daSSadaf Ebrahimi TEST_FP(fmul_1, fmul(s0, s1, s2))
627*f5c631daSSadaf Ebrahimi TEST_FP(fneg_0, fneg(d0, d1))
628*f5c631daSSadaf Ebrahimi TEST_FP(fneg_1, fneg(s0, s1))
629*f5c631daSSadaf Ebrahimi TEST_FP(fnmadd_0, fnmadd(d0, d1, d2, d3))
630*f5c631daSSadaf Ebrahimi TEST_FP(fnmadd_1, fnmadd(s0, s1, s2, s3))
631*f5c631daSSadaf Ebrahimi TEST_FP(fnmsub_0, fnmsub(d0, d1, d2, d3))
632*f5c631daSSadaf Ebrahimi TEST_FP(fnmsub_1, fnmsub(s0, s1, s2, s3))
633*f5c631daSSadaf Ebrahimi TEST_FP(fnmul_0, fnmul(d0, d1, d2))
634*f5c631daSSadaf Ebrahimi TEST_FP(fnmul_1, fnmul(s0, s1, s2))
635*f5c631daSSadaf Ebrahimi TEST_FP(frinta_0, frinta(d0, d1))
636*f5c631daSSadaf Ebrahimi TEST_FP(frinta_1, frinta(s0, s1))
637*f5c631daSSadaf Ebrahimi TEST_FP(frinti_0, frinti(d0, d1))
638*f5c631daSSadaf Ebrahimi TEST_FP(frinti_1, frinti(s0, s1))
639*f5c631daSSadaf Ebrahimi TEST_FP(frintm_0, frintm(d0, d1))
640*f5c631daSSadaf Ebrahimi TEST_FP(frintm_1, frintm(s0, s1))
641*f5c631daSSadaf Ebrahimi TEST_FP(frintn_0, frintn(d0, d1))
642*f5c631daSSadaf Ebrahimi TEST_FP(frintn_1, frintn(s0, s1))
643*f5c631daSSadaf Ebrahimi TEST_FP(frintp_0, frintp(d0, d1))
644*f5c631daSSadaf Ebrahimi TEST_FP(frintp_1, frintp(s0, s1))
645*f5c631daSSadaf Ebrahimi TEST_FP(frintx_0, frintx(d0, d1))
646*f5c631daSSadaf Ebrahimi TEST_FP(frintx_1, frintx(s0, s1))
647*f5c631daSSadaf Ebrahimi TEST_FP(frintz_0, frintz(d0, d1))
648*f5c631daSSadaf Ebrahimi TEST_FP(frintz_1, frintz(s0, s1))
649*f5c631daSSadaf Ebrahimi TEST_FP(fsqrt_0, fsqrt(d0, d1))
650*f5c631daSSadaf Ebrahimi TEST_FP(fsqrt_1, fsqrt(s0, s1))
651*f5c631daSSadaf Ebrahimi TEST_FP(fsub_0, fsub(d0, d1, d2))
652*f5c631daSSadaf Ebrahimi TEST_FP(fsub_1, fsub(s0, s1, s2))
653*f5c631daSSadaf Ebrahimi TEST_FP(ldnp_0, ldnp(d0, d1, MemOperand(x2, -32)))
654*f5c631daSSadaf Ebrahimi TEST_FP(ldnp_1, ldnp(s0, s1, MemOperand(x2, -180)))
655*f5c631daSSadaf Ebrahimi TEST_FP(ldp_0, ldp(d0, d1, MemOperand(x2, 112)))
656*f5c631daSSadaf Ebrahimi TEST_FP(ldp_1, ldp(d0, d1, MemOperand(x2, 24, PostIndex)))
657*f5c631daSSadaf Ebrahimi TEST_FP(ldp_2, ldp(d0, d1, MemOperand(x2, 192, PreIndex)))
658*f5c631daSSadaf Ebrahimi TEST_FP(ldp_3, ldp(s0, s1, MemOperand(x2, -72)))
659*f5c631daSSadaf Ebrahimi TEST_FP(ldp_4, ldp(s0, s1, MemOperand(x2, 0, PostIndex)))
660*f5c631daSSadaf Ebrahimi TEST_FP(ldp_5, ldp(s0, s1, MemOperand(x2, 144, PreIndex)))
661*f5c631daSSadaf Ebrahimi TEST_FP(ldr_0, ldr(d0, MemOperand(x1, -240, PostIndex)))
662*f5c631daSSadaf Ebrahimi TEST_FP(ldr_1, ldr(d0, MemOperand(x1, 110, PreIndex)))
663*f5c631daSSadaf Ebrahimi TEST_FP(ldr_2, ldr(d0, MemOperand(x1, 4048)))
664*f5c631daSSadaf Ebrahimi TEST_FP(ldr_3, ldr(h0, MemOperand(x1, -76, PostIndex)))
665*f5c631daSSadaf Ebrahimi TEST_FP(ldr_4, ldr(h0, MemOperand(x1, -124, PreIndex)))
666*f5c631daSSadaf Ebrahimi TEST_FP(ldr_5, ldr(h0, MemOperand(x1, 6230)))
667*f5c631daSSadaf Ebrahimi TEST_FP(ldr_6, ldr(s0, MemOperand(x1, 148, PostIndex)))
668*f5c631daSSadaf Ebrahimi TEST_FP(ldr_7, ldr(s0, MemOperand(x1, 68, PreIndex)))
669*f5c631daSSadaf Ebrahimi TEST_FP(ldr_8, ldr(s0, MemOperand(x1, 7424)))
670*f5c631daSSadaf Ebrahimi TEST_FP(ldr_9, ldr(d0, 0x35a20))
671*f5c631daSSadaf Ebrahimi TEST_FP(ldr_10, ldr(s0, 0x1053a))
672*f5c631daSSadaf Ebrahimi TEST_FP(ldr_11, ldr(d0, MemOperand(x1, w2, SXTW, 3)))
673*f5c631daSSadaf Ebrahimi TEST_FP(ldr_12, ldr(d0, MemOperand(x1, x2, SXTX, 3)))
674*f5c631daSSadaf Ebrahimi TEST_FP(ldr_13, ldr(h0, MemOperand(x1, w2, UXTW, 1)))
675*f5c631daSSadaf Ebrahimi TEST_FP(ldr_14, ldr(h0, MemOperand(x1, x2, SXTX, 0)))
676*f5c631daSSadaf Ebrahimi TEST_FP(ldr_15, ldr(s0, MemOperand(x1, w2, SXTW, 2)))
677*f5c631daSSadaf Ebrahimi TEST_FP(ldr_16, ldr(s0, MemOperand(x1, x2, SXTX, 2)))
678*f5c631daSSadaf Ebrahimi TEST_FP(ldur_0, ldur(d0, MemOperand(x1, -146)))
679*f5c631daSSadaf Ebrahimi TEST_FP(ldur_1, ldur(h0, MemOperand(x1, -117)))
680*f5c631daSSadaf Ebrahimi TEST_FP(ldur_2, ldur(s0, MemOperand(x1, 209)))
681*f5c631daSSadaf Ebrahimi TEST_FP(scvtf_0, scvtf(d0, w1, 5))
682*f5c631daSSadaf Ebrahimi TEST_FP(scvtf_1, scvtf(d0, x1, 5))
683*f5c631daSSadaf Ebrahimi TEST_FP(scvtf_2, scvtf(s0, w1, 5))
684*f5c631daSSadaf Ebrahimi TEST_FP(scvtf_3, scvtf(s0, x1, 5))
685*f5c631daSSadaf Ebrahimi TEST_FP(scvtf_4, scvtf(d0, w1))
686*f5c631daSSadaf Ebrahimi TEST_FP(scvtf_5, scvtf(d0, x1))
687*f5c631daSSadaf Ebrahimi TEST_FP(scvtf_6, scvtf(s0, w1))
688*f5c631daSSadaf Ebrahimi TEST_FP(scvtf_7, scvtf(s0, x1))
689*f5c631daSSadaf Ebrahimi TEST_FP(stnp_0, stnp(d0, d1, MemOperand(x2, 304)))
690*f5c631daSSadaf Ebrahimi TEST_FP(stnp_1, stnp(s0, s1, MemOperand(x2, -12)))
691*f5c631daSSadaf Ebrahimi TEST_FP(stp_0, stp(d0, d1, MemOperand(x2, 168)))
692*f5c631daSSadaf Ebrahimi TEST_FP(stp_1, stp(d0, d1, MemOperand(x2, -376, PostIndex)))
693*f5c631daSSadaf Ebrahimi TEST_FP(stp_2, stp(d0, d1, MemOperand(x2, 296, PreIndex)))
694*f5c631daSSadaf Ebrahimi TEST_FP(stp_3, stp(s0, s1, MemOperand(x2, -256)))
695*f5c631daSSadaf Ebrahimi TEST_FP(stp_4, stp(s0, s1, MemOperand(x2, 208, PostIndex)))
696*f5c631daSSadaf Ebrahimi TEST_FP(stp_5, stp(s0, s1, MemOperand(x2, -4, PreIndex)))
697*f5c631daSSadaf Ebrahimi TEST_FP(str_0, str(d0, MemOperand(x1, -181, PostIndex)))
698*f5c631daSSadaf Ebrahimi TEST_FP(str_1, str(d0, MemOperand(x1, 91, PreIndex)))
699*f5c631daSSadaf Ebrahimi TEST_FP(str_2, str(d0, MemOperand(x1, 32672)))
700*f5c631daSSadaf Ebrahimi TEST_FP(str_3, str(h0, MemOperand(x1, -5, PostIndex)))
701*f5c631daSSadaf Ebrahimi TEST_FP(str_4, str(h0, MemOperand(x1, 213, PreIndex)))
702*f5c631daSSadaf Ebrahimi TEST_FP(str_5, str(h0, MemOperand(x1, 6406)))
703*f5c631daSSadaf Ebrahimi TEST_FP(str_6, str(s0, MemOperand(x1, -81, PostIndex)))
704*f5c631daSSadaf Ebrahimi TEST_FP(str_7, str(s0, MemOperand(x1, -126, PreIndex)))
705*f5c631daSSadaf Ebrahimi TEST_FP(str_8, str(s0, MemOperand(x1, 15692)))
706*f5c631daSSadaf Ebrahimi TEST_FP(str_9, str(d0, MemOperand(x1, w2, SXTW, 0)))
707*f5c631daSSadaf Ebrahimi TEST_FP(str_10, str(d0, MemOperand(x1, x2, LSL, 0)))
708*f5c631daSSadaf Ebrahimi TEST_FP(str_11, str(h0, MemOperand(x1, w2, UXTW, 1)))
709*f5c631daSSadaf Ebrahimi TEST_FP(str_12, str(h0, MemOperand(x1, x2, SXTX, 1)))
710*f5c631daSSadaf Ebrahimi TEST_FP(str_13, str(s0, MemOperand(x1, w2, UXTW, 0)))
711*f5c631daSSadaf Ebrahimi TEST_FP(str_14, str(s0, MemOperand(x1, x2, SXTX, 2)))
712*f5c631daSSadaf Ebrahimi TEST_FP(stur_0, stur(d0, MemOperand(x1, 22)))
713*f5c631daSSadaf Ebrahimi TEST_FP(stur_1, stur(h0, MemOperand(x1, -236)))
714*f5c631daSSadaf Ebrahimi TEST_FP(stur_2, stur(s0, MemOperand(x1, 23)))
715*f5c631daSSadaf Ebrahimi TEST_FP(ucvtf_0, ucvtf(d0, w1, 5))
716*f5c631daSSadaf Ebrahimi TEST_FP(ucvtf_1, ucvtf(d0, x1, 5))
717*f5c631daSSadaf Ebrahimi TEST_FP(ucvtf_2, ucvtf(s0, w1, 5))
718*f5c631daSSadaf Ebrahimi TEST_FP(ucvtf_3, ucvtf(s0, x1, 5))
719*f5c631daSSadaf Ebrahimi TEST_FP(ucvtf_4, ucvtf(d0, w1))
720*f5c631daSSadaf Ebrahimi TEST_FP(ucvtf_5, ucvtf(d0, x1))
721*f5c631daSSadaf Ebrahimi TEST_FP(ucvtf_6, ucvtf(s0, w1))
722*f5c631daSSadaf Ebrahimi TEST_FP(ucvtf_7, ucvtf(s0, x1))
723*f5c631daSSadaf Ebrahimi 
724*f5c631daSSadaf Ebrahimi #define TEST_FP_FRINT(NAME, ASM)                                 \
725*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFP,                    \
726*f5c631daSSadaf Ebrahimi                             CPUFeatures::kFrintToFixedSizedInt), \
727*f5c631daSSadaf Ebrahimi                 FP_##NAME,                                       \
728*f5c631daSSadaf Ebrahimi                 ASM)
729*f5c631daSSadaf Ebrahimi TEST_FP_FRINT(frint32x_0, frint32x(d0, d1))
730*f5c631daSSadaf Ebrahimi TEST_FP_FRINT(frint32x_1, frint32x(s0, s1))
731*f5c631daSSadaf Ebrahimi TEST_FP_FRINT(frint32z_0, frint32z(d0, d1))
732*f5c631daSSadaf Ebrahimi TEST_FP_FRINT(frint32z_1, frint32z(s0, s1))
733*f5c631daSSadaf Ebrahimi TEST_FP_FRINT(frint64x_0, frint64x(d0, d1))
734*f5c631daSSadaf Ebrahimi TEST_FP_FRINT(frint64x_1, frint64x(s0, s1))
735*f5c631daSSadaf Ebrahimi TEST_FP_FRINT(frint64z_0, frint64z(d0, d1))
736*f5c631daSSadaf Ebrahimi TEST_FP_FRINT(frint64z_1, frint64z(s0, s1))
737*f5c631daSSadaf Ebrahimi 
738*f5c631daSSadaf Ebrahimi #define TEST_BTI(NAME, ASM) \
739*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kBTI), BTI_##NAME, ASM)
740*f5c631daSSadaf Ebrahimi TEST_BTI(bti_0, bti(EmitBTI))
741*f5c631daSSadaf Ebrahimi TEST_BTI(bti_1, bti(EmitBTI_c))
742*f5c631daSSadaf Ebrahimi TEST_BTI(bti_2, bti(EmitBTI_j))
743*f5c631daSSadaf Ebrahimi TEST_BTI(bti_3, bti(EmitBTI_jc))
744*f5c631daSSadaf Ebrahimi 
745*f5c631daSSadaf Ebrahimi #define TEST_RAS(NAME, ASM) \
746*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kRAS), RAS_##NAME, ASM)
747*f5c631daSSadaf Ebrahimi TEST_RAS(esb_0, esb())
748*f5c631daSSadaf Ebrahimi 
749*f5c631daSSadaf Ebrahimi #define TEST_RNG(NAME, ASM) \
750*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kRNG), RNG_##NAME, ASM)
751*f5c631daSSadaf Ebrahimi TEST_RNG(mrs_0, mrs(x0, RNDR))
752*f5c631daSSadaf Ebrahimi TEST_RNG(mrs_1, mrs(x0, RNDRRS))
753*f5c631daSSadaf Ebrahimi 
754*f5c631daSSadaf Ebrahimi #define TEST_NEON(NAME, ASM) \
755*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kNEON), NEON_##NAME, ASM)
756*f5c631daSSadaf Ebrahimi TEST_NEON(abs_0, abs(v0.V8B(), v1.V8B()))
757*f5c631daSSadaf Ebrahimi TEST_NEON(abs_1, abs(v0.V16B(), v1.V16B()))
758*f5c631daSSadaf Ebrahimi TEST_NEON(abs_2, abs(v0.V4H(), v1.V4H()))
759*f5c631daSSadaf Ebrahimi TEST_NEON(abs_3, abs(v0.V8H(), v1.V8H()))
760*f5c631daSSadaf Ebrahimi TEST_NEON(abs_4, abs(v0.V2S(), v1.V2S()))
761*f5c631daSSadaf Ebrahimi TEST_NEON(abs_5, abs(v0.V4S(), v1.V4S()))
762*f5c631daSSadaf Ebrahimi TEST_NEON(abs_6, abs(v0.V2D(), v1.V2D()))
763*f5c631daSSadaf Ebrahimi TEST_NEON(abs_7, abs(d0, d1))
764*f5c631daSSadaf Ebrahimi TEST_NEON(addhn_0, addhn(v0.V8B(), v1.V8H(), v2.V8H()))
765*f5c631daSSadaf Ebrahimi TEST_NEON(addhn_1, addhn(v0.V4H(), v1.V4S(), v2.V4S()))
766*f5c631daSSadaf Ebrahimi TEST_NEON(addhn_2, addhn(v0.V2S(), v1.V2D(), v2.V2D()))
767*f5c631daSSadaf Ebrahimi TEST_NEON(addhn2_0, addhn2(v0.V16B(), v1.V8H(), v2.V8H()))
768*f5c631daSSadaf Ebrahimi TEST_NEON(addhn2_1, addhn2(v0.V8H(), v1.V4S(), v2.V4S()))
769*f5c631daSSadaf Ebrahimi TEST_NEON(addhn2_2, addhn2(v0.V4S(), v1.V2D(), v2.V2D()))
770*f5c631daSSadaf Ebrahimi TEST_NEON(addp_0, addp(d0, v1.V2D()))
771*f5c631daSSadaf Ebrahimi TEST_NEON(addp_1, addp(v0.V8B(), v1.V8B(), v2.V8B()))
772*f5c631daSSadaf Ebrahimi TEST_NEON(addp_2, addp(v0.V16B(), v1.V16B(), v2.V16B()))
773*f5c631daSSadaf Ebrahimi TEST_NEON(addp_3, addp(v0.V4H(), v1.V4H(), v2.V4H()))
774*f5c631daSSadaf Ebrahimi TEST_NEON(addp_4, addp(v0.V8H(), v1.V8H(), v2.V8H()))
775*f5c631daSSadaf Ebrahimi TEST_NEON(addp_5, addp(v0.V2S(), v1.V2S(), v2.V2S()))
776*f5c631daSSadaf Ebrahimi TEST_NEON(addp_6, addp(v0.V4S(), v1.V4S(), v2.V4S()))
777*f5c631daSSadaf Ebrahimi TEST_NEON(addp_7, addp(v0.V2D(), v1.V2D(), v2.V2D()))
778*f5c631daSSadaf Ebrahimi TEST_NEON(addv_0, addv(b0, v1.V8B()))
779*f5c631daSSadaf Ebrahimi TEST_NEON(addv_1, addv(b0, v1.V16B()))
780*f5c631daSSadaf Ebrahimi TEST_NEON(addv_2, addv(h0, v1.V4H()))
781*f5c631daSSadaf Ebrahimi TEST_NEON(addv_3, addv(h0, v1.V8H()))
782*f5c631daSSadaf Ebrahimi TEST_NEON(addv_4, addv(s0, v1.V4S()))
783*f5c631daSSadaf Ebrahimi TEST_NEON(add_0, add(v0.V8B(), v1.V8B(), v2.V8B()))
784*f5c631daSSadaf Ebrahimi TEST_NEON(add_1, add(v0.V16B(), v1.V16B(), v2.V16B()))
785*f5c631daSSadaf Ebrahimi TEST_NEON(add_2, add(v0.V4H(), v1.V4H(), v2.V4H()))
786*f5c631daSSadaf Ebrahimi TEST_NEON(add_3, add(v0.V8H(), v1.V8H(), v2.V8H()))
787*f5c631daSSadaf Ebrahimi TEST_NEON(add_4, add(v0.V2S(), v1.V2S(), v2.V2S()))
788*f5c631daSSadaf Ebrahimi TEST_NEON(add_5, add(v0.V4S(), v1.V4S(), v2.V4S()))
789*f5c631daSSadaf Ebrahimi TEST_NEON(add_6, add(v0.V2D(), v1.V2D(), v2.V2D()))
790*f5c631daSSadaf Ebrahimi TEST_NEON(add_7, add(d0, d1, d2))
791*f5c631daSSadaf Ebrahimi TEST_NEON(and_0, and_(v0.V8B(), v1.V8B(), v2.V8B()))
792*f5c631daSSadaf Ebrahimi TEST_NEON(and_1, and_(v0.V16B(), v1.V16B(), v2.V16B()))
793*f5c631daSSadaf Ebrahimi TEST_NEON(bic_0, bic(v0.V4H(), 0x55, 0))
794*f5c631daSSadaf Ebrahimi TEST_NEON(bic_1, bic(v0.V8H(), 0x3a, 0))
795*f5c631daSSadaf Ebrahimi TEST_NEON(bic_2, bic(v0.V2S(), 0xd8, 0))
796*f5c631daSSadaf Ebrahimi TEST_NEON(bic_3, bic(v0.V4S(), 0x15, 0))
797*f5c631daSSadaf Ebrahimi TEST_NEON(bic_4, bic(v0.V8B(), v1.V8B(), v2.V8B()))
798*f5c631daSSadaf Ebrahimi TEST_NEON(bic_5, bic(v0.V16B(), v1.V16B(), v2.V16B()))
799*f5c631daSSadaf Ebrahimi TEST_NEON(bif_0, bif(v0.V8B(), v1.V8B(), v2.V8B()))
800*f5c631daSSadaf Ebrahimi TEST_NEON(bif_1, bif(v0.V16B(), v1.V16B(), v2.V16B()))
801*f5c631daSSadaf Ebrahimi TEST_NEON(bit_0, bit(v0.V8B(), v1.V8B(), v2.V8B()))
802*f5c631daSSadaf Ebrahimi TEST_NEON(bit_1, bit(v0.V16B(), v1.V16B(), v2.V16B()))
803*f5c631daSSadaf Ebrahimi TEST_NEON(bsl_0, bsl(v0.V8B(), v1.V8B(), v2.V8B()))
804*f5c631daSSadaf Ebrahimi TEST_NEON(bsl_1, bsl(v0.V16B(), v1.V16B(), v2.V16B()))
805*f5c631daSSadaf Ebrahimi TEST_NEON(cls_0, cls(v0.V8B(), v1.V8B()))
806*f5c631daSSadaf Ebrahimi TEST_NEON(cls_1, cls(v0.V16B(), v1.V16B()))
807*f5c631daSSadaf Ebrahimi TEST_NEON(cls_2, cls(v0.V4H(), v1.V4H()))
808*f5c631daSSadaf Ebrahimi TEST_NEON(cls_3, cls(v0.V8H(), v1.V8H()))
809*f5c631daSSadaf Ebrahimi TEST_NEON(cls_4, cls(v0.V2S(), v1.V2S()))
810*f5c631daSSadaf Ebrahimi TEST_NEON(cls_5, cls(v0.V4S(), v1.V4S()))
811*f5c631daSSadaf Ebrahimi TEST_NEON(clz_0, clz(v0.V8B(), v1.V8B()))
812*f5c631daSSadaf Ebrahimi TEST_NEON(clz_1, clz(v0.V16B(), v1.V16B()))
813*f5c631daSSadaf Ebrahimi TEST_NEON(clz_2, clz(v0.V4H(), v1.V4H()))
814*f5c631daSSadaf Ebrahimi TEST_NEON(clz_3, clz(v0.V8H(), v1.V8H()))
815*f5c631daSSadaf Ebrahimi TEST_NEON(clz_4, clz(v0.V2S(), v1.V2S()))
816*f5c631daSSadaf Ebrahimi TEST_NEON(clz_5, clz(v0.V4S(), v1.V4S()))
817*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_0, cmeq(v0.V8B(), v1.V8B(), v2.V8B()))
818*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_1, cmeq(v0.V16B(), v1.V16B(), v2.V16B()))
819*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_2, cmeq(v0.V4H(), v1.V4H(), v2.V4H()))
820*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_3, cmeq(v0.V8H(), v1.V8H(), v2.V8H()))
821*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_4, cmeq(v0.V2S(), v1.V2S(), v2.V2S()))
822*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_5, cmeq(v0.V4S(), v1.V4S(), v2.V4S()))
823*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_6, cmeq(v0.V2D(), v1.V2D(), v2.V2D()))
824*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_7, cmeq(d0, d1, d2))
825*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_8, cmeq(v0.V8B(), v1.V8B(), 0))
826*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_9, cmeq(v0.V16B(), v1.V16B(), 0))
827*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_10, cmeq(v0.V4H(), v1.V4H(), 0))
828*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_11, cmeq(v0.V8H(), v1.V8H(), 0))
829*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_12, cmeq(v0.V2S(), v1.V2S(), 0))
830*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_13, cmeq(v0.V4S(), v1.V4S(), 0))
831*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_14, cmeq(v0.V2D(), v1.V2D(), 0))
832*f5c631daSSadaf Ebrahimi TEST_NEON(cmeq_15, cmeq(d0, d1, 0))
833*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_0, cmge(v0.V8B(), v1.V8B(), v2.V8B()))
834*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_1, cmge(v0.V16B(), v1.V16B(), v2.V16B()))
835*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_2, cmge(v0.V4H(), v1.V4H(), v2.V4H()))
836*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_3, cmge(v0.V8H(), v1.V8H(), v2.V8H()))
837*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_4, cmge(v0.V2S(), v1.V2S(), v2.V2S()))
838*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_5, cmge(v0.V4S(), v1.V4S(), v2.V4S()))
839*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_6, cmge(v0.V2D(), v1.V2D(), v2.V2D()))
840*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_7, cmge(d0, d1, d2))
841*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_8, cmge(v0.V8B(), v1.V8B(), 0))
842*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_9, cmge(v0.V16B(), v1.V16B(), 0))
843*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_10, cmge(v0.V4H(), v1.V4H(), 0))
844*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_11, cmge(v0.V8H(), v1.V8H(), 0))
845*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_12, cmge(v0.V2S(), v1.V2S(), 0))
846*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_13, cmge(v0.V4S(), v1.V4S(), 0))
847*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_14, cmge(v0.V2D(), v1.V2D(), 0))
848*f5c631daSSadaf Ebrahimi TEST_NEON(cmge_15, cmge(d0, d1, 0))
849*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_0, cmgt(v0.V8B(), v1.V8B(), v2.V8B()))
850*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_1, cmgt(v0.V16B(), v1.V16B(), v2.V16B()))
851*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_2, cmgt(v0.V4H(), v1.V4H(), v2.V4H()))
852*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_3, cmgt(v0.V8H(), v1.V8H(), v2.V8H()))
853*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_4, cmgt(v0.V2S(), v1.V2S(), v2.V2S()))
854*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_5, cmgt(v0.V4S(), v1.V4S(), v2.V4S()))
855*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_6, cmgt(v0.V2D(), v1.V2D(), v2.V2D()))
856*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_7, cmgt(d0, d1, d2))
857*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_8, cmgt(v0.V8B(), v1.V8B(), 0))
858*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_9, cmgt(v0.V16B(), v1.V16B(), 0))
859*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_10, cmgt(v0.V4H(), v1.V4H(), 0))
860*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_11, cmgt(v0.V8H(), v1.V8H(), 0))
861*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_12, cmgt(v0.V2S(), v1.V2S(), 0))
862*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_13, cmgt(v0.V4S(), v1.V4S(), 0))
863*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_14, cmgt(v0.V2D(), v1.V2D(), 0))
864*f5c631daSSadaf Ebrahimi TEST_NEON(cmgt_15, cmgt(d0, d1, 0))
865*f5c631daSSadaf Ebrahimi TEST_NEON(cmhi_0, cmhi(v0.V8B(), v1.V8B(), v2.V8B()))
866*f5c631daSSadaf Ebrahimi TEST_NEON(cmhi_1, cmhi(v0.V16B(), v1.V16B(), v2.V16B()))
867*f5c631daSSadaf Ebrahimi TEST_NEON(cmhi_2, cmhi(v0.V4H(), v1.V4H(), v2.V4H()))
868*f5c631daSSadaf Ebrahimi TEST_NEON(cmhi_3, cmhi(v0.V8H(), v1.V8H(), v2.V8H()))
869*f5c631daSSadaf Ebrahimi TEST_NEON(cmhi_4, cmhi(v0.V2S(), v1.V2S(), v2.V2S()))
870*f5c631daSSadaf Ebrahimi TEST_NEON(cmhi_5, cmhi(v0.V4S(), v1.V4S(), v2.V4S()))
871*f5c631daSSadaf Ebrahimi TEST_NEON(cmhi_6, cmhi(v0.V2D(), v1.V2D(), v2.V2D()))
872*f5c631daSSadaf Ebrahimi TEST_NEON(cmhi_7, cmhi(d0, d1, d2))
873*f5c631daSSadaf Ebrahimi TEST_NEON(cmhs_0, cmhs(v0.V8B(), v1.V8B(), v2.V8B()))
874*f5c631daSSadaf Ebrahimi TEST_NEON(cmhs_1, cmhs(v0.V16B(), v1.V16B(), v2.V16B()))
875*f5c631daSSadaf Ebrahimi TEST_NEON(cmhs_2, cmhs(v0.V4H(), v1.V4H(), v2.V4H()))
876*f5c631daSSadaf Ebrahimi TEST_NEON(cmhs_3, cmhs(v0.V8H(), v1.V8H(), v2.V8H()))
877*f5c631daSSadaf Ebrahimi TEST_NEON(cmhs_4, cmhs(v0.V2S(), v1.V2S(), v2.V2S()))
878*f5c631daSSadaf Ebrahimi TEST_NEON(cmhs_5, cmhs(v0.V4S(), v1.V4S(), v2.V4S()))
879*f5c631daSSadaf Ebrahimi TEST_NEON(cmhs_6, cmhs(v0.V2D(), v1.V2D(), v2.V2D()))
880*f5c631daSSadaf Ebrahimi TEST_NEON(cmhs_7, cmhs(d0, d1, d2))
881*f5c631daSSadaf Ebrahimi TEST_NEON(cmle_0, cmle(v0.V8B(), v1.V8B(), 0))
882*f5c631daSSadaf Ebrahimi TEST_NEON(cmle_1, cmle(v0.V16B(), v1.V16B(), 0))
883*f5c631daSSadaf Ebrahimi TEST_NEON(cmle_2, cmle(v0.V4H(), v1.V4H(), 0))
884*f5c631daSSadaf Ebrahimi TEST_NEON(cmle_3, cmle(v0.V8H(), v1.V8H(), 0))
885*f5c631daSSadaf Ebrahimi TEST_NEON(cmle_4, cmle(v0.V2S(), v1.V2S(), 0))
886*f5c631daSSadaf Ebrahimi TEST_NEON(cmle_5, cmle(v0.V4S(), v1.V4S(), 0))
887*f5c631daSSadaf Ebrahimi TEST_NEON(cmle_6, cmle(v0.V2D(), v1.V2D(), 0))
888*f5c631daSSadaf Ebrahimi TEST_NEON(cmle_7, cmle(d0, d1, 0))
889*f5c631daSSadaf Ebrahimi TEST_NEON(cmlt_0, cmlt(v0.V8B(), v1.V8B(), 0))
890*f5c631daSSadaf Ebrahimi TEST_NEON(cmlt_1, cmlt(v0.V16B(), v1.V16B(), 0))
891*f5c631daSSadaf Ebrahimi TEST_NEON(cmlt_2, cmlt(v0.V4H(), v1.V4H(), 0))
892*f5c631daSSadaf Ebrahimi TEST_NEON(cmlt_3, cmlt(v0.V8H(), v1.V8H(), 0))
893*f5c631daSSadaf Ebrahimi TEST_NEON(cmlt_4, cmlt(v0.V2S(), v1.V2S(), 0))
894*f5c631daSSadaf Ebrahimi TEST_NEON(cmlt_5, cmlt(v0.V4S(), v1.V4S(), 0))
895*f5c631daSSadaf Ebrahimi TEST_NEON(cmlt_6, cmlt(v0.V2D(), v1.V2D(), 0))
896*f5c631daSSadaf Ebrahimi TEST_NEON(cmlt_7, cmlt(d0, d1, 0))
897*f5c631daSSadaf Ebrahimi TEST_NEON(cmtst_0, cmtst(v0.V8B(), v1.V8B(), v2.V8B()))
898*f5c631daSSadaf Ebrahimi TEST_NEON(cmtst_1, cmtst(v0.V16B(), v1.V16B(), v2.V16B()))
899*f5c631daSSadaf Ebrahimi TEST_NEON(cmtst_2, cmtst(v0.V4H(), v1.V4H(), v2.V4H()))
900*f5c631daSSadaf Ebrahimi TEST_NEON(cmtst_3, cmtst(v0.V8H(), v1.V8H(), v2.V8H()))
901*f5c631daSSadaf Ebrahimi TEST_NEON(cmtst_4, cmtst(v0.V2S(), v1.V2S(), v2.V2S()))
902*f5c631daSSadaf Ebrahimi TEST_NEON(cmtst_5, cmtst(v0.V4S(), v1.V4S(), v2.V4S()))
903*f5c631daSSadaf Ebrahimi TEST_NEON(cmtst_6, cmtst(v0.V2D(), v1.V2D(), v2.V2D()))
904*f5c631daSSadaf Ebrahimi TEST_NEON(cmtst_7, cmtst(d0, d1, d2))
905*f5c631daSSadaf Ebrahimi TEST_NEON(cnt_0, cnt(v0.V8B(), v1.V8B()))
906*f5c631daSSadaf Ebrahimi TEST_NEON(cnt_1, cnt(v0.V16B(), v1.V16B()))
907*f5c631daSSadaf Ebrahimi TEST_NEON(dup_0, dup(v0.V8B(), v1.B(), 11))
908*f5c631daSSadaf Ebrahimi TEST_NEON(dup_1, dup(v0.V16B(), v1.B(), 11))
909*f5c631daSSadaf Ebrahimi TEST_NEON(dup_2, dup(v0.V4H(), v1.H(), 2))
910*f5c631daSSadaf Ebrahimi TEST_NEON(dup_3, dup(v0.V8H(), v1.H(), 5))
911*f5c631daSSadaf Ebrahimi TEST_NEON(dup_4, dup(v0.V2S(), v1.S(), 3))
912*f5c631daSSadaf Ebrahimi TEST_NEON(dup_5, dup(v0.V4S(), v1.S(), 0))
913*f5c631daSSadaf Ebrahimi TEST_NEON(dup_6, dup(v0.V2D(), v1.D(), 0))
914*f5c631daSSadaf Ebrahimi TEST_NEON(dup_7, dup(b0, v1.B(), 14))
915*f5c631daSSadaf Ebrahimi TEST_NEON(dup_8, dup(h0, v1.H(), 7))
916*f5c631daSSadaf Ebrahimi TEST_NEON(dup_9, dup(s0, v1.S(), 2))
917*f5c631daSSadaf Ebrahimi TEST_NEON(dup_10, dup(d0, v1.D(), 0))
918*f5c631daSSadaf Ebrahimi TEST_NEON(dup_11, dup(v0.V8B(), w1))
919*f5c631daSSadaf Ebrahimi TEST_NEON(dup_12, dup(v0.V16B(), w1))
920*f5c631daSSadaf Ebrahimi TEST_NEON(dup_13, dup(v0.V4H(), w1))
921*f5c631daSSadaf Ebrahimi TEST_NEON(dup_14, dup(v0.V8H(), w1))
922*f5c631daSSadaf Ebrahimi TEST_NEON(dup_15, dup(v0.V2S(), w1))
923*f5c631daSSadaf Ebrahimi TEST_NEON(dup_16, dup(v0.V4S(), w1))
924*f5c631daSSadaf Ebrahimi TEST_NEON(dup_17, dup(v0.V2D(), x1))
925*f5c631daSSadaf Ebrahimi TEST_NEON(eor_0, eor(v0.V8B(), v1.V8B(), v2.V8B()))
926*f5c631daSSadaf Ebrahimi TEST_NEON(eor_1, eor(v0.V16B(), v1.V16B(), v2.V16B()))
927*f5c631daSSadaf Ebrahimi TEST_NEON(ext_0, ext(v0.V8B(), v1.V8B(), v2.V8B(), 3))
928*f5c631daSSadaf Ebrahimi TEST_NEON(ext_1, ext(v0.V16B(), v1.V16B(), v2.V16B(), 5))
929*f5c631daSSadaf Ebrahimi TEST_NEON(ins_0, ins(v0.B(), 6, v1.B(), 13))
930*f5c631daSSadaf Ebrahimi TEST_NEON(ins_1, ins(v0.H(), 1, v1.H(), 5))
931*f5c631daSSadaf Ebrahimi TEST_NEON(ins_2, ins(v0.S(), 2, v1.S(), 1))
932*f5c631daSSadaf Ebrahimi TEST_NEON(ins_3, ins(v0.D(), 1, v1.D(), 1))
933*f5c631daSSadaf Ebrahimi TEST_NEON(ins_4, ins(v0.B(), 15, w1))
934*f5c631daSSadaf Ebrahimi TEST_NEON(ins_5, ins(v0.H(), 4, w1))
935*f5c631daSSadaf Ebrahimi TEST_NEON(ins_6, ins(v0.S(), 2, w1))
936*f5c631daSSadaf Ebrahimi TEST_NEON(ins_7, ins(v0.D(), 1, x1))
937*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_0, ld1r(v0.V8B(), MemOperand(x1)))
938*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_1, ld1r(v0.V16B(), MemOperand(x1)))
939*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_2, ld1r(v0.V4H(), MemOperand(x1)))
940*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_3, ld1r(v0.V8H(), MemOperand(x1)))
941*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_4, ld1r(v0.V2S(), MemOperand(x1)))
942*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_5, ld1r(v0.V4S(), MemOperand(x1)))
943*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_6, ld1r(v0.V1D(), MemOperand(x1)))
944*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_7, ld1r(v0.V2D(), MemOperand(x1)))
945*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_8, ld1r(v0.V8B(), MemOperand(x1, 1, PostIndex)))
946*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_9, ld1r(v0.V16B(), MemOperand(x1, 1, PostIndex)))
947*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_10, ld1r(v0.V4H(), MemOperand(x1, 2, PostIndex)))
948*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_11, ld1r(v0.V8H(), MemOperand(x1, 2, PostIndex)))
949*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_12, ld1r(v0.V2S(), MemOperand(x1, 4, PostIndex)))
950*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_13, ld1r(v0.V4S(), MemOperand(x1, 4, PostIndex)))
951*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_14, ld1r(v0.V1D(), MemOperand(x1, 8, PostIndex)))
952*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_15, ld1r(v0.V2D(), MemOperand(x1, 8, PostIndex)))
953*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_16, ld1r(v0.V8B(), MemOperand(x1, x2, PostIndex)))
954*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_17, ld1r(v0.V16B(), MemOperand(x1, x2, PostIndex)))
955*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_18, ld1r(v0.V4H(), MemOperand(x1, x2, PostIndex)))
956*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_19, ld1r(v0.V8H(), MemOperand(x1, x2, PostIndex)))
957*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_20, ld1r(v0.V2S(), MemOperand(x1, x2, PostIndex)))
958*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_21, ld1r(v0.V4S(), MemOperand(x1, x2, PostIndex)))
959*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_22, ld1r(v0.V1D(), MemOperand(x1, x2, PostIndex)))
960*f5c631daSSadaf Ebrahimi TEST_NEON(ld1r_23, ld1r(v0.V2D(), MemOperand(x1, x2, PostIndex)))
961*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_0, ld1(v0.V8B(), MemOperand(x1)))
962*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_1, ld1(v0.V16B(), MemOperand(x1)))
963*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_2, ld1(v0.V4H(), MemOperand(x1)))
964*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_3, ld1(v0.V8H(), MemOperand(x1)))
965*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_4, ld1(v0.V2S(), MemOperand(x1)))
966*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_5, ld1(v0.V4S(), MemOperand(x1)))
967*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_6, ld1(v0.V1D(), MemOperand(x1)))
968*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_7, ld1(v0.V2D(), MemOperand(x1)))
969*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_8, ld1(v0.V8B(), v1.V8B(), MemOperand(x2)))
970*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_9, ld1(v0.V16B(), v1.V16B(), MemOperand(x2)))
971*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_10, ld1(v0.V4H(), v1.V4H(), MemOperand(x2)))
972*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_11, ld1(v0.V8H(), v1.V8H(), MemOperand(x2)))
973*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_12, ld1(v0.V2S(), v1.V2S(), MemOperand(x2)))
974*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_13, ld1(v0.V4S(), v1.V4S(), MemOperand(x2)))
975*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_14, ld1(v0.V1D(), v1.V1D(), MemOperand(x2)))
976*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_15, ld1(v0.V2D(), v1.V2D(), MemOperand(x2)))
977*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_16, ld1(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3)))
978*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_17, ld1(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3)))
979*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_18, ld1(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3)))
980*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_19, ld1(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3)))
981*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_20, ld1(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3)))
982*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_21, ld1(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3)))
983*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_22, ld1(v0.V1D(), v1.V1D(), v2.V1D(), MemOperand(x3)))
984*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_23, ld1(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3)))
985*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_24, ld1(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4)))
986*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_25,
987*f5c631daSSadaf Ebrahimi           ld1(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B(), MemOperand(x4)))
988*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_26, ld1(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4)))
989*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_27, ld1(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4)))
990*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_28, ld1(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4)))
991*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_29, ld1(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4)))
992*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_30, ld1(v0.V1D(), v1.V1D(), v2.V1D(), v3.V1D(), MemOperand(x4)))
993*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_31, ld1(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4)))
994*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_32, ld1(v0.V8B(), MemOperand(x1, 8, PostIndex)))
995*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_33, ld1(v0.V16B(), MemOperand(x1, 16, PostIndex)))
996*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_34, ld1(v0.V4H(), MemOperand(x1, 8, PostIndex)))
997*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_35, ld1(v0.V8H(), MemOperand(x1, 16, PostIndex)))
998*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_36, ld1(v0.V2S(), MemOperand(x1, 8, PostIndex)))
999*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_37, ld1(v0.V4S(), MemOperand(x1, 16, PostIndex)))
1000*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_38, ld1(v0.V1D(), MemOperand(x1, 8, PostIndex)))
1001*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_39, ld1(v0.V2D(), MemOperand(x1, 16, PostIndex)))
1002*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_40, ld1(v0.V8B(), v1.V8B(), MemOperand(x2, 16, PostIndex)))
1003*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_41, ld1(v0.V16B(), v1.V16B(), MemOperand(x2, 32, PostIndex)))
1004*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_42, ld1(v0.V4H(), v1.V4H(), MemOperand(x2, 16, PostIndex)))
1005*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_43, ld1(v0.V8H(), v1.V8H(), MemOperand(x2, 32, PostIndex)))
1006*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_44, ld1(v0.V2S(), v1.V2S(), MemOperand(x2, 16, PostIndex)))
1007*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_45, ld1(v0.V4S(), v1.V4S(), MemOperand(x2, 32, PostIndex)))
1008*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_46, ld1(v0.V1D(), v1.V1D(), MemOperand(x2, 16, PostIndex)))
1009*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_47, ld1(v0.V2D(), v1.V2D(), MemOperand(x2, 32, PostIndex)))
1010*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_48,
1011*f5c631daSSadaf Ebrahimi           ld1(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3, 24, PostIndex)))
1012*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_49,
1013*f5c631daSSadaf Ebrahimi           ld1(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3, 48, PostIndex)))
1014*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_50,
1015*f5c631daSSadaf Ebrahimi           ld1(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3, 24, PostIndex)))
1016*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_51,
1017*f5c631daSSadaf Ebrahimi           ld1(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3, 48, PostIndex)))
1018*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_52,
1019*f5c631daSSadaf Ebrahimi           ld1(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3, 24, PostIndex)))
1020*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_53,
1021*f5c631daSSadaf Ebrahimi           ld1(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3, 48, PostIndex)))
1022*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_54,
1023*f5c631daSSadaf Ebrahimi           ld1(v0.V1D(), v1.V1D(), v2.V1D(), MemOperand(x3, 24, PostIndex)))
1024*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_55,
1025*f5c631daSSadaf Ebrahimi           ld1(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3, 48, PostIndex)))
1026*f5c631daSSadaf Ebrahimi TEST_NEON(
1027*f5c631daSSadaf Ebrahimi     ld1_56,
1028*f5c631daSSadaf Ebrahimi     ld1(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4, 32, PostIndex)))
1029*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_57,
1030*f5c631daSSadaf Ebrahimi           ld1(v0.V16B(),
1031*f5c631daSSadaf Ebrahimi               v1.V16B(),
1032*f5c631daSSadaf Ebrahimi               v2.V16B(),
1033*f5c631daSSadaf Ebrahimi               v3.V16B(),
1034*f5c631daSSadaf Ebrahimi               MemOperand(x4, 64, PostIndex)))
1035*f5c631daSSadaf Ebrahimi TEST_NEON(
1036*f5c631daSSadaf Ebrahimi     ld1_58,
1037*f5c631daSSadaf Ebrahimi     ld1(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4, 32, PostIndex)))
1038*f5c631daSSadaf Ebrahimi TEST_NEON(
1039*f5c631daSSadaf Ebrahimi     ld1_59,
1040*f5c631daSSadaf Ebrahimi     ld1(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4, 64, PostIndex)))
1041*f5c631daSSadaf Ebrahimi TEST_NEON(
1042*f5c631daSSadaf Ebrahimi     ld1_60,
1043*f5c631daSSadaf Ebrahimi     ld1(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4, 32, PostIndex)))
1044*f5c631daSSadaf Ebrahimi TEST_NEON(
1045*f5c631daSSadaf Ebrahimi     ld1_61,
1046*f5c631daSSadaf Ebrahimi     ld1(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4, 64, PostIndex)))
1047*f5c631daSSadaf Ebrahimi TEST_NEON(
1048*f5c631daSSadaf Ebrahimi     ld1_62,
1049*f5c631daSSadaf Ebrahimi     ld1(v0.V1D(), v1.V1D(), v2.V1D(), v3.V1D(), MemOperand(x4, 32, PostIndex)))
1050*f5c631daSSadaf Ebrahimi TEST_NEON(
1051*f5c631daSSadaf Ebrahimi     ld1_63,
1052*f5c631daSSadaf Ebrahimi     ld1(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4, 64, PostIndex)))
1053*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_64, ld1(v0.V8B(), MemOperand(x1, x2, PostIndex)))
1054*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_65, ld1(v0.V16B(), MemOperand(x1, x2, PostIndex)))
1055*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_66, ld1(v0.V4H(), MemOperand(x1, x2, PostIndex)))
1056*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_67, ld1(v0.V8H(), MemOperand(x1, x2, PostIndex)))
1057*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_68, ld1(v0.V2S(), MemOperand(x1, x2, PostIndex)))
1058*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_69, ld1(v0.V4S(), MemOperand(x1, x2, PostIndex)))
1059*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_70, ld1(v0.V1D(), MemOperand(x1, x2, PostIndex)))
1060*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_71, ld1(v0.V2D(), MemOperand(x1, x2, PostIndex)))
1061*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_72, ld1(v0.V8B(), v1.V8B(), MemOperand(x2, x3, PostIndex)))
1062*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_73, ld1(v0.V16B(), v1.V16B(), MemOperand(x2, x3, PostIndex)))
1063*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_74, ld1(v0.V4H(), v1.V4H(), MemOperand(x2, x3, PostIndex)))
1064*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_75, ld1(v0.V8H(), v1.V8H(), MemOperand(x2, x3, PostIndex)))
1065*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_76, ld1(v0.V2S(), v1.V2S(), MemOperand(x2, x3, PostIndex)))
1066*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_77, ld1(v0.V4S(), v1.V4S(), MemOperand(x2, x3, PostIndex)))
1067*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_78, ld1(v0.V1D(), v1.V1D(), MemOperand(x2, x3, PostIndex)))
1068*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_79, ld1(v0.V2D(), v1.V2D(), MemOperand(x2, x3, PostIndex)))
1069*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_80,
1070*f5c631daSSadaf Ebrahimi           ld1(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3, x4, PostIndex)))
1071*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_81,
1072*f5c631daSSadaf Ebrahimi           ld1(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3, x4, PostIndex)))
1073*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_82,
1074*f5c631daSSadaf Ebrahimi           ld1(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3, x4, PostIndex)))
1075*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_83,
1076*f5c631daSSadaf Ebrahimi           ld1(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3, x4, PostIndex)))
1077*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_84,
1078*f5c631daSSadaf Ebrahimi           ld1(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3, x4, PostIndex)))
1079*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_85,
1080*f5c631daSSadaf Ebrahimi           ld1(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3, x4, PostIndex)))
1081*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_86,
1082*f5c631daSSadaf Ebrahimi           ld1(v0.V1D(), v1.V1D(), v2.V1D(), MemOperand(x3, x4, PostIndex)))
1083*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_87,
1084*f5c631daSSadaf Ebrahimi           ld1(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3, x4, PostIndex)))
1085*f5c631daSSadaf Ebrahimi TEST_NEON(
1086*f5c631daSSadaf Ebrahimi     ld1_88,
1087*f5c631daSSadaf Ebrahimi     ld1(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4, x5, PostIndex)))
1088*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_89,
1089*f5c631daSSadaf Ebrahimi           ld1(v0.V16B(),
1090*f5c631daSSadaf Ebrahimi               v1.V16B(),
1091*f5c631daSSadaf Ebrahimi               v2.V16B(),
1092*f5c631daSSadaf Ebrahimi               v3.V16B(),
1093*f5c631daSSadaf Ebrahimi               MemOperand(x4, x5, PostIndex)))
1094*f5c631daSSadaf Ebrahimi TEST_NEON(
1095*f5c631daSSadaf Ebrahimi     ld1_90,
1096*f5c631daSSadaf Ebrahimi     ld1(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4, x5, PostIndex)))
1097*f5c631daSSadaf Ebrahimi TEST_NEON(
1098*f5c631daSSadaf Ebrahimi     ld1_91,
1099*f5c631daSSadaf Ebrahimi     ld1(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4, x5, PostIndex)))
1100*f5c631daSSadaf Ebrahimi TEST_NEON(
1101*f5c631daSSadaf Ebrahimi     ld1_92,
1102*f5c631daSSadaf Ebrahimi     ld1(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4, x5, PostIndex)))
1103*f5c631daSSadaf Ebrahimi TEST_NEON(
1104*f5c631daSSadaf Ebrahimi     ld1_93,
1105*f5c631daSSadaf Ebrahimi     ld1(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4, x5, PostIndex)))
1106*f5c631daSSadaf Ebrahimi TEST_NEON(
1107*f5c631daSSadaf Ebrahimi     ld1_94,
1108*f5c631daSSadaf Ebrahimi     ld1(v0.V1D(), v1.V1D(), v2.V1D(), v3.V1D(), MemOperand(x4, x5, PostIndex)))
1109*f5c631daSSadaf Ebrahimi TEST_NEON(
1110*f5c631daSSadaf Ebrahimi     ld1_95,
1111*f5c631daSSadaf Ebrahimi     ld1(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4, x5, PostIndex)))
1112*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_96, ld1(v0.B(), 13, MemOperand(x1)))
1113*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_97, ld1(v0.D(), 0, MemOperand(x1)))
1114*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_98, ld1(v0.H(), 5, MemOperand(x1)))
1115*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_99, ld1(v0.S(), 2, MemOperand(x1)))
1116*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_100, ld1(v0.B(), 3, MemOperand(x1, 1, PostIndex)))
1117*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_101, ld1(v0.B(), 14, MemOperand(x1, x2, PostIndex)))
1118*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_102, ld1(v0.D(), 0, MemOperand(x1, 8, PostIndex)))
1119*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_103, ld1(v0.D(), 1, MemOperand(x1, x2, PostIndex)))
1120*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_104, ld1(v0.H(), 3, MemOperand(x1, 2, PostIndex)))
1121*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_105, ld1(v0.H(), 6, MemOperand(x1, x2, PostIndex)))
1122*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_106, ld1(v0.S(), 0, MemOperand(x1, 4, PostIndex)))
1123*f5c631daSSadaf Ebrahimi TEST_NEON(ld1_107, ld1(v0.S(), 3, MemOperand(x1, x2, PostIndex)))
1124*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_0, ld2r(v0.V8B(), v1.V8B(), MemOperand(x2)))
1125*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_1, ld2r(v0.V16B(), v1.V16B(), MemOperand(x2)))
1126*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_2, ld2r(v0.V4H(), v1.V4H(), MemOperand(x2)))
1127*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_3, ld2r(v0.V8H(), v1.V8H(), MemOperand(x2)))
1128*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_4, ld2r(v0.V2S(), v1.V2S(), MemOperand(x2)))
1129*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_5, ld2r(v0.V4S(), v1.V4S(), MemOperand(x2)))
1130*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_6, ld2r(v0.V1D(), v1.V1D(), MemOperand(x2)))
1131*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_7, ld2r(v0.V2D(), v1.V2D(), MemOperand(x2)))
1132*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_8, ld2r(v0.V8B(), v1.V8B(), MemOperand(x2, 2, PostIndex)))
1133*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_9, ld2r(v0.V16B(), v1.V16B(), MemOperand(x2, 2, PostIndex)))
1134*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_10, ld2r(v0.V4H(), v1.V4H(), MemOperand(x2, 4, PostIndex)))
1135*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_11, ld2r(v0.V8H(), v1.V8H(), MemOperand(x2, 4, PostIndex)))
1136*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_12, ld2r(v0.V2S(), v1.V2S(), MemOperand(x2, 8, PostIndex)))
1137*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_13, ld2r(v0.V4S(), v1.V4S(), MemOperand(x2, 8, PostIndex)))
1138*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_14, ld2r(v0.V1D(), v1.V1D(), MemOperand(x2, 16, PostIndex)))
1139*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_15, ld2r(v0.V2D(), v1.V2D(), MemOperand(x2, 16, PostIndex)))
1140*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_16, ld2r(v0.V8B(), v1.V8B(), MemOperand(x2, x3, PostIndex)))
1141*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_17, ld2r(v0.V16B(), v1.V16B(), MemOperand(x2, x3, PostIndex)))
1142*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_18, ld2r(v0.V4H(), v1.V4H(), MemOperand(x2, x3, PostIndex)))
1143*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_19, ld2r(v0.V8H(), v1.V8H(), MemOperand(x2, x3, PostIndex)))
1144*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_20, ld2r(v0.V2S(), v1.V2S(), MemOperand(x2, x3, PostIndex)))
1145*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_21, ld2r(v0.V4S(), v1.V4S(), MemOperand(x2, x3, PostIndex)))
1146*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_22, ld2r(v0.V1D(), v1.V1D(), MemOperand(x2, x3, PostIndex)))
1147*f5c631daSSadaf Ebrahimi TEST_NEON(ld2r_23, ld2r(v0.V2D(), v1.V2D(), MemOperand(x2, x3, PostIndex)))
1148*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_0, ld2(v0.V8B(), v1.V8B(), MemOperand(x2)))
1149*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_1, ld2(v0.V16B(), v1.V16B(), MemOperand(x2)))
1150*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_2, ld2(v0.V4H(), v1.V4H(), MemOperand(x2)))
1151*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_3, ld2(v0.V8H(), v1.V8H(), MemOperand(x2)))
1152*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_4, ld2(v0.V2S(), v1.V2S(), MemOperand(x2)))
1153*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_5, ld2(v0.V4S(), v1.V4S(), MemOperand(x2)))
1154*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_6, ld2(v0.V2D(), v1.V2D(), MemOperand(x2)))
1155*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_7, ld2(v0.V8B(), v1.V8B(), MemOperand(x2, 16, PostIndex)))
1156*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_8, ld2(v0.V16B(), v1.V16B(), MemOperand(x2, 32, PostIndex)))
1157*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_9, ld2(v0.V4H(), v1.V4H(), MemOperand(x2, 16, PostIndex)))
1158*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_10, ld2(v0.V8H(), v1.V8H(), MemOperand(x2, 32, PostIndex)))
1159*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_11, ld2(v0.V2S(), v1.V2S(), MemOperand(x2, 16, PostIndex)))
1160*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_12, ld2(v0.V4S(), v1.V4S(), MemOperand(x2, 32, PostIndex)))
1161*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_13, ld2(v0.V2D(), v1.V2D(), MemOperand(x2, 32, PostIndex)))
1162*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_14, ld2(v0.V8B(), v1.V8B(), MemOperand(x2, x3, PostIndex)))
1163*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_15, ld2(v0.V16B(), v1.V16B(), MemOperand(x2, x3, PostIndex)))
1164*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_16, ld2(v0.V4H(), v1.V4H(), MemOperand(x2, x3, PostIndex)))
1165*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_17, ld2(v0.V8H(), v1.V8H(), MemOperand(x2, x3, PostIndex)))
1166*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_18, ld2(v0.V2S(), v1.V2S(), MemOperand(x2, x3, PostIndex)))
1167*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_19, ld2(v0.V4S(), v1.V4S(), MemOperand(x2, x3, PostIndex)))
1168*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_20, ld2(v0.V2D(), v1.V2D(), MemOperand(x2, x3, PostIndex)))
1169*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_21, ld2(v0.B(), v1.B(), 10, MemOperand(x2)))
1170*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_22, ld2(v0.D(), v1.D(), 0, MemOperand(x2)))
1171*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_23, ld2(v0.H(), v1.H(), 3, MemOperand(x2)))
1172*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_24, ld2(v0.S(), v1.S(), 1, MemOperand(x2)))
1173*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_25, ld2(v0.B(), v1.B(), 7, MemOperand(x2, 2, PostIndex)))
1174*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_26, ld2(v0.B(), v1.B(), 4, MemOperand(x2, x3, PostIndex)))
1175*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_27, ld2(v0.D(), v1.D(), 1, MemOperand(x2, 16, PostIndex)))
1176*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_28, ld2(v0.D(), v1.D(), 1, MemOperand(x2, x3, PostIndex)))
1177*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_29, ld2(v0.H(), v1.H(), 0, MemOperand(x2, 4, PostIndex)))
1178*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_30, ld2(v0.H(), v1.H(), 6, MemOperand(x2, x3, PostIndex)))
1179*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_31, ld2(v0.S(), v1.S(), 3, MemOperand(x2, 8, PostIndex)))
1180*f5c631daSSadaf Ebrahimi TEST_NEON(ld2_32, ld2(v0.S(), v1.S(), 3, MemOperand(x2, x3, PostIndex)))
1181*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_0, ld3r(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3)))
1182*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_1, ld3r(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3)))
1183*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_2, ld3r(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3)))
1184*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_3, ld3r(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3)))
1185*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_4, ld3r(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3)))
1186*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_5, ld3r(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3)))
1187*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_6, ld3r(v0.V1D(), v1.V1D(), v2.V1D(), MemOperand(x3)))
1188*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_7, ld3r(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3)))
1189*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_8,
1190*f5c631daSSadaf Ebrahimi           ld3r(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3, 3, PostIndex)))
1191*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_9,
1192*f5c631daSSadaf Ebrahimi           ld3r(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3, 3, PostIndex)))
1193*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_10,
1194*f5c631daSSadaf Ebrahimi           ld3r(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3, 6, PostIndex)))
1195*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_11,
1196*f5c631daSSadaf Ebrahimi           ld3r(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3, 6, PostIndex)))
1197*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_12,
1198*f5c631daSSadaf Ebrahimi           ld3r(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3, 12, PostIndex)))
1199*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_13,
1200*f5c631daSSadaf Ebrahimi           ld3r(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3, 12, PostIndex)))
1201*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_14,
1202*f5c631daSSadaf Ebrahimi           ld3r(v0.V1D(), v1.V1D(), v2.V1D(), MemOperand(x3, 24, PostIndex)))
1203*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_15,
1204*f5c631daSSadaf Ebrahimi           ld3r(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3, 24, PostIndex)))
1205*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_16,
1206*f5c631daSSadaf Ebrahimi           ld3r(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3, x4, PostIndex)))
1207*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_17,
1208*f5c631daSSadaf Ebrahimi           ld3r(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3, x4, PostIndex)))
1209*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_18,
1210*f5c631daSSadaf Ebrahimi           ld3r(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3, x4, PostIndex)))
1211*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_19,
1212*f5c631daSSadaf Ebrahimi           ld3r(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3, x4, PostIndex)))
1213*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_20,
1214*f5c631daSSadaf Ebrahimi           ld3r(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3, x4, PostIndex)))
1215*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_21,
1216*f5c631daSSadaf Ebrahimi           ld3r(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3, x4, PostIndex)))
1217*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_22,
1218*f5c631daSSadaf Ebrahimi           ld3r(v0.V1D(), v1.V1D(), v2.V1D(), MemOperand(x3, x4, PostIndex)))
1219*f5c631daSSadaf Ebrahimi TEST_NEON(ld3r_23,
1220*f5c631daSSadaf Ebrahimi           ld3r(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3, x4, PostIndex)))
1221*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_0, ld3(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3)))
1222*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_1, ld3(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3)))
1223*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_2, ld3(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3)))
1224*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_3, ld3(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3)))
1225*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_4, ld3(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3)))
1226*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_5, ld3(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3)))
1227*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_6, ld3(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3)))
1228*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_7,
1229*f5c631daSSadaf Ebrahimi           ld3(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3, 24, PostIndex)))
1230*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_8,
1231*f5c631daSSadaf Ebrahimi           ld3(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3, 48, PostIndex)))
1232*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_9,
1233*f5c631daSSadaf Ebrahimi           ld3(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3, 24, PostIndex)))
1234*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_10,
1235*f5c631daSSadaf Ebrahimi           ld3(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3, 48, PostIndex)))
1236*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_11,
1237*f5c631daSSadaf Ebrahimi           ld3(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3, 24, PostIndex)))
1238*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_12,
1239*f5c631daSSadaf Ebrahimi           ld3(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3, 48, PostIndex)))
1240*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_13,
1241*f5c631daSSadaf Ebrahimi           ld3(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3, 48, PostIndex)))
1242*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_14,
1243*f5c631daSSadaf Ebrahimi           ld3(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3, x4, PostIndex)))
1244*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_15,
1245*f5c631daSSadaf Ebrahimi           ld3(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3, x4, PostIndex)))
1246*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_16,
1247*f5c631daSSadaf Ebrahimi           ld3(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3, x4, PostIndex)))
1248*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_17,
1249*f5c631daSSadaf Ebrahimi           ld3(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3, x4, PostIndex)))
1250*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_18,
1251*f5c631daSSadaf Ebrahimi           ld3(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3, x4, PostIndex)))
1252*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_19,
1253*f5c631daSSadaf Ebrahimi           ld3(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3, x4, PostIndex)))
1254*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_20,
1255*f5c631daSSadaf Ebrahimi           ld3(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3, x4, PostIndex)))
1256*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_21, ld3(v0.B(), v1.B(), v2.B(), 6, MemOperand(x3)))
1257*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_22, ld3(v0.D(), v1.D(), v2.D(), 1, MemOperand(x3)))
1258*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_23, ld3(v0.H(), v1.H(), v2.H(), 1, MemOperand(x3)))
1259*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_24, ld3(v0.S(), v1.S(), v2.S(), 2, MemOperand(x3)))
1260*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_25, ld3(v0.B(), v1.B(), v2.B(), 7, MemOperand(x3, 3, PostIndex)))
1261*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_26,
1262*f5c631daSSadaf Ebrahimi           ld3(v0.B(), v1.B(), v2.B(), 10, MemOperand(x3, x4, PostIndex)))
1263*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_27, ld3(v0.D(), v1.D(), v2.D(), 1, MemOperand(x3, 24, PostIndex)))
1264*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_28, ld3(v0.D(), v1.D(), v2.D(), 0, MemOperand(x3, x4, PostIndex)))
1265*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_29, ld3(v0.H(), v1.H(), v2.H(), 0, MemOperand(x3, 6, PostIndex)))
1266*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_30, ld3(v0.H(), v1.H(), v2.H(), 2, MemOperand(x3, x4, PostIndex)))
1267*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_31, ld3(v0.S(), v1.S(), v2.S(), 2, MemOperand(x3, 12, PostIndex)))
1268*f5c631daSSadaf Ebrahimi TEST_NEON(ld3_32, ld3(v0.S(), v1.S(), v2.S(), 0, MemOperand(x3, x4, PostIndex)))
1269*f5c631daSSadaf Ebrahimi TEST_NEON(ld4r_0, ld4r(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4)))
1270*f5c631daSSadaf Ebrahimi TEST_NEON(ld4r_1,
1271*f5c631daSSadaf Ebrahimi           ld4r(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B(), MemOperand(x4)))
1272*f5c631daSSadaf Ebrahimi TEST_NEON(ld4r_2, ld4r(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4)))
1273*f5c631daSSadaf Ebrahimi TEST_NEON(ld4r_3, ld4r(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4)))
1274*f5c631daSSadaf Ebrahimi TEST_NEON(ld4r_4, ld4r(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4)))
1275*f5c631daSSadaf Ebrahimi TEST_NEON(ld4r_5, ld4r(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4)))
1276*f5c631daSSadaf Ebrahimi TEST_NEON(ld4r_6, ld4r(v0.V1D(), v1.V1D(), v2.V1D(), v3.V1D(), MemOperand(x4)))
1277*f5c631daSSadaf Ebrahimi TEST_NEON(ld4r_7, ld4r(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4)))
1278*f5c631daSSadaf Ebrahimi TEST_NEON(
1279*f5c631daSSadaf Ebrahimi     ld4r_8,
1280*f5c631daSSadaf Ebrahimi     ld4r(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4, 4, PostIndex)))
1281*f5c631daSSadaf Ebrahimi TEST_NEON(ld4r_9,
1282*f5c631daSSadaf Ebrahimi           ld4r(v0.V16B(),
1283*f5c631daSSadaf Ebrahimi                v1.V16B(),
1284*f5c631daSSadaf Ebrahimi                v2.V16B(),
1285*f5c631daSSadaf Ebrahimi                v3.V16B(),
1286*f5c631daSSadaf Ebrahimi                MemOperand(x4, 4, PostIndex)))
1287*f5c631daSSadaf Ebrahimi TEST_NEON(
1288*f5c631daSSadaf Ebrahimi     ld4r_10,
1289*f5c631daSSadaf Ebrahimi     ld4r(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4, 8, PostIndex)))
1290*f5c631daSSadaf Ebrahimi TEST_NEON(
1291*f5c631daSSadaf Ebrahimi     ld4r_11,
1292*f5c631daSSadaf Ebrahimi     ld4r(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4, 8, PostIndex)))
1293*f5c631daSSadaf Ebrahimi TEST_NEON(
1294*f5c631daSSadaf Ebrahimi     ld4r_12,
1295*f5c631daSSadaf Ebrahimi     ld4r(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4, 16, PostIndex)))
1296*f5c631daSSadaf Ebrahimi TEST_NEON(
1297*f5c631daSSadaf Ebrahimi     ld4r_13,
1298*f5c631daSSadaf Ebrahimi     ld4r(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4, 16, PostIndex)))
1299*f5c631daSSadaf Ebrahimi TEST_NEON(
1300*f5c631daSSadaf Ebrahimi     ld4r_14,
1301*f5c631daSSadaf Ebrahimi     ld4r(v0.V1D(), v1.V1D(), v2.V1D(), v3.V1D(), MemOperand(x4, 32, PostIndex)))
1302*f5c631daSSadaf Ebrahimi TEST_NEON(
1303*f5c631daSSadaf Ebrahimi     ld4r_15,
1304*f5c631daSSadaf Ebrahimi     ld4r(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4, 32, PostIndex)))
1305*f5c631daSSadaf Ebrahimi TEST_NEON(
1306*f5c631daSSadaf Ebrahimi     ld4r_16,
1307*f5c631daSSadaf Ebrahimi     ld4r(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4, x5, PostIndex)))
1308*f5c631daSSadaf Ebrahimi TEST_NEON(ld4r_17,
1309*f5c631daSSadaf Ebrahimi           ld4r(v0.V16B(),
1310*f5c631daSSadaf Ebrahimi                v1.V16B(),
1311*f5c631daSSadaf Ebrahimi                v2.V16B(),
1312*f5c631daSSadaf Ebrahimi                v3.V16B(),
1313*f5c631daSSadaf Ebrahimi                MemOperand(x4, x5, PostIndex)))
1314*f5c631daSSadaf Ebrahimi TEST_NEON(
1315*f5c631daSSadaf Ebrahimi     ld4r_18,
1316*f5c631daSSadaf Ebrahimi     ld4r(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4, x5, PostIndex)))
1317*f5c631daSSadaf Ebrahimi TEST_NEON(
1318*f5c631daSSadaf Ebrahimi     ld4r_19,
1319*f5c631daSSadaf Ebrahimi     ld4r(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4, x5, PostIndex)))
1320*f5c631daSSadaf Ebrahimi TEST_NEON(
1321*f5c631daSSadaf Ebrahimi     ld4r_20,
1322*f5c631daSSadaf Ebrahimi     ld4r(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4, x5, PostIndex)))
1323*f5c631daSSadaf Ebrahimi TEST_NEON(
1324*f5c631daSSadaf Ebrahimi     ld4r_21,
1325*f5c631daSSadaf Ebrahimi     ld4r(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4, x5, PostIndex)))
1326*f5c631daSSadaf Ebrahimi TEST_NEON(
1327*f5c631daSSadaf Ebrahimi     ld4r_22,
1328*f5c631daSSadaf Ebrahimi     ld4r(v0.V1D(), v1.V1D(), v2.V1D(), v3.V1D(), MemOperand(x4, x5, PostIndex)))
1329*f5c631daSSadaf Ebrahimi TEST_NEON(
1330*f5c631daSSadaf Ebrahimi     ld4r_23,
1331*f5c631daSSadaf Ebrahimi     ld4r(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4, x5, PostIndex)))
1332*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_0, ld4(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4)))
1333*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_1,
1334*f5c631daSSadaf Ebrahimi           ld4(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B(), MemOperand(x4)))
1335*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_2, ld4(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4)))
1336*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_3, ld4(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4)))
1337*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_4, ld4(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4)))
1338*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_5, ld4(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4)))
1339*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_6, ld4(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4)))
1340*f5c631daSSadaf Ebrahimi TEST_NEON(
1341*f5c631daSSadaf Ebrahimi     ld4_7,
1342*f5c631daSSadaf Ebrahimi     ld4(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4, 32, PostIndex)))
1343*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_8,
1344*f5c631daSSadaf Ebrahimi           ld4(v0.V16B(),
1345*f5c631daSSadaf Ebrahimi               v1.V16B(),
1346*f5c631daSSadaf Ebrahimi               v2.V16B(),
1347*f5c631daSSadaf Ebrahimi               v3.V16B(),
1348*f5c631daSSadaf Ebrahimi               MemOperand(x4, 64, PostIndex)))
1349*f5c631daSSadaf Ebrahimi TEST_NEON(
1350*f5c631daSSadaf Ebrahimi     ld4_9,
1351*f5c631daSSadaf Ebrahimi     ld4(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4, 32, PostIndex)))
1352*f5c631daSSadaf Ebrahimi TEST_NEON(
1353*f5c631daSSadaf Ebrahimi     ld4_10,
1354*f5c631daSSadaf Ebrahimi     ld4(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4, 64, PostIndex)))
1355*f5c631daSSadaf Ebrahimi TEST_NEON(
1356*f5c631daSSadaf Ebrahimi     ld4_11,
1357*f5c631daSSadaf Ebrahimi     ld4(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4, 32, PostIndex)))
1358*f5c631daSSadaf Ebrahimi TEST_NEON(
1359*f5c631daSSadaf Ebrahimi     ld4_12,
1360*f5c631daSSadaf Ebrahimi     ld4(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4, 64, PostIndex)))
1361*f5c631daSSadaf Ebrahimi TEST_NEON(
1362*f5c631daSSadaf Ebrahimi     ld4_13,
1363*f5c631daSSadaf Ebrahimi     ld4(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4, 64, PostIndex)))
1364*f5c631daSSadaf Ebrahimi TEST_NEON(
1365*f5c631daSSadaf Ebrahimi     ld4_14,
1366*f5c631daSSadaf Ebrahimi     ld4(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4, x5, PostIndex)))
1367*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_15,
1368*f5c631daSSadaf Ebrahimi           ld4(v0.V16B(),
1369*f5c631daSSadaf Ebrahimi               v1.V16B(),
1370*f5c631daSSadaf Ebrahimi               v2.V16B(),
1371*f5c631daSSadaf Ebrahimi               v3.V16B(),
1372*f5c631daSSadaf Ebrahimi               MemOperand(x4, x5, PostIndex)))
1373*f5c631daSSadaf Ebrahimi TEST_NEON(
1374*f5c631daSSadaf Ebrahimi     ld4_16,
1375*f5c631daSSadaf Ebrahimi     ld4(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4, x5, PostIndex)))
1376*f5c631daSSadaf Ebrahimi TEST_NEON(
1377*f5c631daSSadaf Ebrahimi     ld4_17,
1378*f5c631daSSadaf Ebrahimi     ld4(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4, x5, PostIndex)))
1379*f5c631daSSadaf Ebrahimi TEST_NEON(
1380*f5c631daSSadaf Ebrahimi     ld4_18,
1381*f5c631daSSadaf Ebrahimi     ld4(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4, x5, PostIndex)))
1382*f5c631daSSadaf Ebrahimi TEST_NEON(
1383*f5c631daSSadaf Ebrahimi     ld4_19,
1384*f5c631daSSadaf Ebrahimi     ld4(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4, x5, PostIndex)))
1385*f5c631daSSadaf Ebrahimi TEST_NEON(
1386*f5c631daSSadaf Ebrahimi     ld4_20,
1387*f5c631daSSadaf Ebrahimi     ld4(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4, x5, PostIndex)))
1388*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_21, ld4(v0.B(), v1.B(), v2.B(), v3.B(), 15, MemOperand(x4)))
1389*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_22, ld4(v0.D(), v1.D(), v2.D(), v3.D(), 1, MemOperand(x4)))
1390*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_23, ld4(v0.H(), v1.H(), v2.H(), v3.H(), 2, MemOperand(x4)))
1391*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_24, ld4(v0.S(), v1.S(), v2.S(), v3.S(), 0, MemOperand(x4)))
1392*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_25,
1393*f5c631daSSadaf Ebrahimi           ld4(v0.B(), v1.B(), v2.B(), v3.B(), 0, MemOperand(x4, 4, PostIndex)))
1394*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_26,
1395*f5c631daSSadaf Ebrahimi           ld4(v0.B(), v1.B(), v2.B(), v3.B(), 0, MemOperand(x4, x5, PostIndex)))
1396*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_27,
1397*f5c631daSSadaf Ebrahimi           ld4(v0.D(), v1.D(), v2.D(), v3.D(), 0, MemOperand(x4, 32, PostIndex)))
1398*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_28,
1399*f5c631daSSadaf Ebrahimi           ld4(v0.D(), v1.D(), v2.D(), v3.D(), 0, MemOperand(x4, x5, PostIndex)))
1400*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_29,
1401*f5c631daSSadaf Ebrahimi           ld4(v0.H(), v1.H(), v2.H(), v3.H(), 1, MemOperand(x4, 8, PostIndex)))
1402*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_30,
1403*f5c631daSSadaf Ebrahimi           ld4(v0.H(), v1.H(), v2.H(), v3.H(), 7, MemOperand(x4, x5, PostIndex)))
1404*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_31,
1405*f5c631daSSadaf Ebrahimi           ld4(v0.S(), v1.S(), v2.S(), v3.S(), 3, MemOperand(x4, 16, PostIndex)))
1406*f5c631daSSadaf Ebrahimi TEST_NEON(ld4_32,
1407*f5c631daSSadaf Ebrahimi           ld4(v0.S(), v1.S(), v2.S(), v3.S(), 1, MemOperand(x4, x5, PostIndex)))
1408*f5c631daSSadaf Ebrahimi TEST_NEON(ldnp_0, ldnp(d0, d1, MemOperand(x2, -32)))
1409*f5c631daSSadaf Ebrahimi TEST_NEON(ldnp_1, ldnp(q0, q1, MemOperand(x2, 288)))
1410*f5c631daSSadaf Ebrahimi TEST_NEON(ldnp_2, ldnp(s0, s1, MemOperand(x2, -180)))
1411*f5c631daSSadaf Ebrahimi TEST_NEON(ldp_0, ldp(d0, d1, MemOperand(x2, 112)))
1412*f5c631daSSadaf Ebrahimi TEST_NEON(ldp_1, ldp(d0, d1, MemOperand(x2, 24, PostIndex)))
1413*f5c631daSSadaf Ebrahimi TEST_NEON(ldp_2, ldp(d0, d1, MemOperand(x2, 192, PreIndex)))
1414*f5c631daSSadaf Ebrahimi TEST_NEON(ldp_3, ldp(q0, q1, MemOperand(x2, 256)))
1415*f5c631daSSadaf Ebrahimi TEST_NEON(ldp_4, ldp(q0, q1, MemOperand(x2, -976, PostIndex)))
1416*f5c631daSSadaf Ebrahimi TEST_NEON(ldp_5, ldp(q0, q1, MemOperand(x2, -976, PreIndex)))
1417*f5c631daSSadaf Ebrahimi TEST_NEON(ldp_6, ldp(s0, s1, MemOperand(x2, -72)))
1418*f5c631daSSadaf Ebrahimi TEST_NEON(ldp_7, ldp(s0, s1, MemOperand(x2, 0, PostIndex)))
1419*f5c631daSSadaf Ebrahimi TEST_NEON(ldp_8, ldp(s0, s1, MemOperand(x2, 144, PreIndex)))
1420*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_0, ldr(b0, MemOperand(x1, -172, PostIndex)))
1421*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_1, ldr(b0, MemOperand(x1, 39, PreIndex)))
1422*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_2, ldr(b0, MemOperand(x1, 1471)))
1423*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_3, ldr(d0, MemOperand(x1, -240, PostIndex)))
1424*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_4, ldr(d0, MemOperand(x1, 110, PreIndex)))
1425*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_5, ldr(d0, MemOperand(x1, 4048)))
1426*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_6, ldr(h0, MemOperand(x1, -76, PostIndex)))
1427*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_7, ldr(h0, MemOperand(x1, -124, PreIndex)))
1428*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_8, ldr(h0, MemOperand(x1, 6230)))
1429*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_9, ldr(q0, MemOperand(x1, -13, PostIndex)))
1430*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_10, ldr(q0, MemOperand(x1, 17, PreIndex)))
1431*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_11, ldr(q0, MemOperand(x1, 11376)))
1432*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_12, ldr(s0, MemOperand(x1, 148, PostIndex)))
1433*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_13, ldr(s0, MemOperand(x1, 68, PreIndex)))
1434*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_14, ldr(s0, MemOperand(x1, 7424)))
1435*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_15, ldr(d0, 0x35a20))
1436*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_16, ldr(q0, 0xc067))
1437*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_17, ldr(s0, 0x1053a))
1438*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_18, ldr(b0, MemOperand(x1, x2, LSL, 0)))
1439*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_19, ldr(b0, MemOperand(x1, w2, SXTW, 0)))
1440*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_20, ldr(d0, MemOperand(x1, w2, SXTW, 3)))
1441*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_21, ldr(d0, MemOperand(x1, x2, SXTX, 3)))
1442*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_22, ldr(h0, MemOperand(x1, w2, UXTW, 1)))
1443*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_23, ldr(h0, MemOperand(x1, x2, SXTX, 0)))
1444*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_24, ldr(q0, MemOperand(x1, w2, UXTW, 4)))
1445*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_25, ldr(q0, MemOperand(x1, x2, SXTX, 4)))
1446*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_26, ldr(s0, MemOperand(x1, w2, SXTW, 2)))
1447*f5c631daSSadaf Ebrahimi TEST_NEON(ldr_27, ldr(s0, MemOperand(x1, x2, SXTX, 2)))
1448*f5c631daSSadaf Ebrahimi TEST_NEON(ldur_0, ldur(b0, MemOperand(x1, 153)))
1449*f5c631daSSadaf Ebrahimi TEST_NEON(ldur_1, ldur(d0, MemOperand(x1, -146)))
1450*f5c631daSSadaf Ebrahimi TEST_NEON(ldur_2, ldur(h0, MemOperand(x1, -117)))
1451*f5c631daSSadaf Ebrahimi TEST_NEON(ldur_3, ldur(q0, MemOperand(x1, -81)))
1452*f5c631daSSadaf Ebrahimi TEST_NEON(ldur_4, ldur(s0, MemOperand(x1, 209)))
1453*f5c631daSSadaf Ebrahimi TEST_NEON(mla_0, mla(v0.V4H(), v1.V4H(), v2.H(), 1))
1454*f5c631daSSadaf Ebrahimi TEST_NEON(mla_1, mla(v0.V8H(), v1.V8H(), v2.H(), 7))
1455*f5c631daSSadaf Ebrahimi TEST_NEON(mla_2, mla(v0.V2S(), v1.V2S(), v2.S(), 0))
1456*f5c631daSSadaf Ebrahimi TEST_NEON(mla_3, mla(v0.V4S(), v1.V4S(), v2.S(), 3))
1457*f5c631daSSadaf Ebrahimi TEST_NEON(mla_4, mla(v0.V8B(), v1.V8B(), v2.V8B()))
1458*f5c631daSSadaf Ebrahimi TEST_NEON(mla_5, mla(v0.V16B(), v1.V16B(), v2.V16B()))
1459*f5c631daSSadaf Ebrahimi TEST_NEON(mla_6, mla(v0.V4H(), v1.V4H(), v2.V4H()))
1460*f5c631daSSadaf Ebrahimi TEST_NEON(mla_7, mla(v0.V8H(), v1.V8H(), v2.V8H()))
1461*f5c631daSSadaf Ebrahimi TEST_NEON(mla_8, mla(v0.V2S(), v1.V2S(), v2.V2S()))
1462*f5c631daSSadaf Ebrahimi TEST_NEON(mla_9, mla(v0.V4S(), v1.V4S(), v2.V4S()))
1463*f5c631daSSadaf Ebrahimi TEST_NEON(mls_0, mls(v0.V4H(), v1.V4H(), v2.H(), 3))
1464*f5c631daSSadaf Ebrahimi TEST_NEON(mls_1, mls(v0.V8H(), v1.V8H(), v2.H(), 5))
1465*f5c631daSSadaf Ebrahimi TEST_NEON(mls_2, mls(v0.V2S(), v1.V2S(), v2.S(), 0))
1466*f5c631daSSadaf Ebrahimi TEST_NEON(mls_3, mls(v0.V4S(), v1.V4S(), v2.S(), 1))
1467*f5c631daSSadaf Ebrahimi TEST_NEON(mls_4, mls(v0.V8B(), v1.V8B(), v2.V8B()))
1468*f5c631daSSadaf Ebrahimi TEST_NEON(mls_5, mls(v0.V16B(), v1.V16B(), v2.V16B()))
1469*f5c631daSSadaf Ebrahimi TEST_NEON(mls_6, mls(v0.V4H(), v1.V4H(), v2.V4H()))
1470*f5c631daSSadaf Ebrahimi TEST_NEON(mls_7, mls(v0.V8H(), v1.V8H(), v2.V8H()))
1471*f5c631daSSadaf Ebrahimi TEST_NEON(mls_8, mls(v0.V2S(), v1.V2S(), v2.V2S()))
1472*f5c631daSSadaf Ebrahimi TEST_NEON(mls_9, mls(v0.V4S(), v1.V4S(), v2.V4S()))
1473*f5c631daSSadaf Ebrahimi TEST_NEON(movi_0, movi(v0.V2D(), 0x0000ff000000ff00))
1474*f5c631daSSadaf Ebrahimi TEST_NEON(movi_1, movi(d0, 0xffffffff00ffff00))
1475*f5c631daSSadaf Ebrahimi TEST_NEON(movi_2, movi(v0.V4H(), 0xda, LSL, 8))
1476*f5c631daSSadaf Ebrahimi TEST_NEON(movi_3, movi(v0.V8H(), 0x32, LSL, 0))
1477*f5c631daSSadaf Ebrahimi TEST_NEON(movi_4, movi(v0.V2S(), 0xfe, LSL, 0))
1478*f5c631daSSadaf Ebrahimi TEST_NEON(movi_5, movi(v0.V4S(), 0xf0, LSL, 8))
1479*f5c631daSSadaf Ebrahimi TEST_NEON(movi_6, movi(v0.V2S(), 0x81, MSL, 8))
1480*f5c631daSSadaf Ebrahimi TEST_NEON(movi_7, movi(v0.V4S(), 0x7, MSL, 8))
1481*f5c631daSSadaf Ebrahimi TEST_NEON(movi_8, movi(v0.V8B(), 0x18))
1482*f5c631daSSadaf Ebrahimi TEST_NEON(movi_9, movi(v0.V16B(), 0x94))
1483*f5c631daSSadaf Ebrahimi TEST_NEON(mov_0, mov(b0, v1.B(), 5))
1484*f5c631daSSadaf Ebrahimi TEST_NEON(mov_1, mov(h0, v1.H(), 1))
1485*f5c631daSSadaf Ebrahimi TEST_NEON(mov_2, mov(s0, v1.S(), 3))
1486*f5c631daSSadaf Ebrahimi TEST_NEON(mov_3, mov(d0, v1.D(), 0))
1487*f5c631daSSadaf Ebrahimi TEST_NEON(mov_4, mov(v0.B(), 14, v1.B(), 11))
1488*f5c631daSSadaf Ebrahimi TEST_NEON(mov_5, mov(v0.H(), 1, v1.H(), 7))
1489*f5c631daSSadaf Ebrahimi TEST_NEON(mov_6, mov(v0.S(), 1, v1.S(), 1))
1490*f5c631daSSadaf Ebrahimi TEST_NEON(mov_7, mov(v0.D(), 0, v1.D(), 1))
1491*f5c631daSSadaf Ebrahimi TEST_NEON(mov_8, mov(v0.B(), 14, w1))
1492*f5c631daSSadaf Ebrahimi TEST_NEON(mov_9, mov(v0.H(), 7, w1))
1493*f5c631daSSadaf Ebrahimi TEST_NEON(mov_10, mov(v0.S(), 0, w1))
1494*f5c631daSSadaf Ebrahimi TEST_NEON(mov_11, mov(v0.D(), 1, x1))
1495*f5c631daSSadaf Ebrahimi TEST_NEON(mov_12, mov(v0.V8B(), v1.V8B()))
1496*f5c631daSSadaf Ebrahimi TEST_NEON(mov_13, mov(v0.V16B(), v1.V16B()))
1497*f5c631daSSadaf Ebrahimi TEST_NEON(mov_14, mov(w0, v1.S(), 3))
1498*f5c631daSSadaf Ebrahimi TEST_NEON(mov_15, mov(x0, v1.D(), 1))
1499*f5c631daSSadaf Ebrahimi TEST_NEON(mul_0, mul(v0.V4H(), v1.V4H(), v2.H(), 0))
1500*f5c631daSSadaf Ebrahimi TEST_NEON(mul_1, mul(v0.V8H(), v1.V8H(), v2.H(), 2))
1501*f5c631daSSadaf Ebrahimi TEST_NEON(mul_2, mul(v0.V2S(), v1.V2S(), v2.S(), 1))
1502*f5c631daSSadaf Ebrahimi TEST_NEON(mul_3, mul(v0.V4S(), v1.V4S(), v2.S(), 1))
1503*f5c631daSSadaf Ebrahimi TEST_NEON(mul_4, mul(v0.V8B(), v1.V8B(), v2.V8B()))
1504*f5c631daSSadaf Ebrahimi TEST_NEON(mul_5, mul(v0.V16B(), v1.V16B(), v2.V16B()))
1505*f5c631daSSadaf Ebrahimi TEST_NEON(mul_6, mul(v0.V4H(), v1.V4H(), v2.V4H()))
1506*f5c631daSSadaf Ebrahimi TEST_NEON(mul_7, mul(v0.V8H(), v1.V8H(), v2.V8H()))
1507*f5c631daSSadaf Ebrahimi TEST_NEON(mul_8, mul(v0.V2S(), v1.V2S(), v2.V2S()))
1508*f5c631daSSadaf Ebrahimi TEST_NEON(mul_9, mul(v0.V4S(), v1.V4S(), v2.V4S()))
1509*f5c631daSSadaf Ebrahimi TEST_NEON(mvni_0, mvni(v0.V4H(), 0xd9, LSL, 8))
1510*f5c631daSSadaf Ebrahimi TEST_NEON(mvni_1, mvni(v0.V8H(), 0x86, LSL, 0))
1511*f5c631daSSadaf Ebrahimi TEST_NEON(mvni_2, mvni(v0.V2S(), 0xde, LSL, 16))
1512*f5c631daSSadaf Ebrahimi TEST_NEON(mvni_3, mvni(v0.V4S(), 0x96, LSL, 24))
1513*f5c631daSSadaf Ebrahimi TEST_NEON(mvni_4, mvni(v0.V2S(), 0x1e, MSL, 16))
1514*f5c631daSSadaf Ebrahimi TEST_NEON(mvni_5, mvni(v0.V4S(), 0x9b, MSL, 16))
1515*f5c631daSSadaf Ebrahimi TEST_NEON(mvn_0, mvn(v0.V8B(), v1.V8B()))
1516*f5c631daSSadaf Ebrahimi TEST_NEON(mvn_1, mvn(v0.V16B(), v1.V16B()))
1517*f5c631daSSadaf Ebrahimi TEST_NEON(neg_0, neg(v0.V8B(), v1.V8B()))
1518*f5c631daSSadaf Ebrahimi TEST_NEON(neg_1, neg(v0.V16B(), v1.V16B()))
1519*f5c631daSSadaf Ebrahimi TEST_NEON(neg_2, neg(v0.V4H(), v1.V4H()))
1520*f5c631daSSadaf Ebrahimi TEST_NEON(neg_3, neg(v0.V8H(), v1.V8H()))
1521*f5c631daSSadaf Ebrahimi TEST_NEON(neg_4, neg(v0.V2S(), v1.V2S()))
1522*f5c631daSSadaf Ebrahimi TEST_NEON(neg_5, neg(v0.V4S(), v1.V4S()))
1523*f5c631daSSadaf Ebrahimi TEST_NEON(neg_6, neg(v0.V2D(), v1.V2D()))
1524*f5c631daSSadaf Ebrahimi TEST_NEON(neg_7, neg(d0, d1))
1525*f5c631daSSadaf Ebrahimi TEST_NEON(not_0, not_(v0.V8B(), v1.V8B()))
1526*f5c631daSSadaf Ebrahimi TEST_NEON(not_1, not_(v0.V16B(), v1.V16B()))
1527*f5c631daSSadaf Ebrahimi TEST_NEON(orn_0, orn(v0.V8B(), v1.V8B(), v2.V8B()))
1528*f5c631daSSadaf Ebrahimi TEST_NEON(orn_1, orn(v0.V16B(), v1.V16B(), v2.V16B()))
1529*f5c631daSSadaf Ebrahimi TEST_NEON(orr_0, orr(v0.V4H(), 0xb1, 0))
1530*f5c631daSSadaf Ebrahimi TEST_NEON(orr_1, orr(v0.V8H(), 0xe3, 8))
1531*f5c631daSSadaf Ebrahimi TEST_NEON(orr_2, orr(v0.V2S(), 0x26, 0))
1532*f5c631daSSadaf Ebrahimi TEST_NEON(orr_3, orr(v0.V4S(), 0x67, 0))
1533*f5c631daSSadaf Ebrahimi TEST_NEON(orr_4, orr(v0.V8B(), v1.V8B(), v2.V8B()))
1534*f5c631daSSadaf Ebrahimi TEST_NEON(orr_5, orr(v0.V16B(), v1.V16B(), v2.V16B()))
1535*f5c631daSSadaf Ebrahimi TEST_NEON(pmull_0, pmull(v0.V8H(), v1.V8B(), v2.V8B()))
1536*f5c631daSSadaf Ebrahimi TEST_NEON(pmull2_0, pmull2(v0.V8H(), v1.V16B(), v2.V16B()))
1537*f5c631daSSadaf Ebrahimi TEST_NEON(pmul_0, pmul(v0.V8B(), v1.V8B(), v2.V8B()))
1538*f5c631daSSadaf Ebrahimi TEST_NEON(pmul_1, pmul(v0.V16B(), v1.V16B(), v2.V16B()))
1539*f5c631daSSadaf Ebrahimi TEST_NEON(raddhn_0, raddhn(v0.V8B(), v1.V8H(), v2.V8H()))
1540*f5c631daSSadaf Ebrahimi TEST_NEON(raddhn_1, raddhn(v0.V4H(), v1.V4S(), v2.V4S()))
1541*f5c631daSSadaf Ebrahimi TEST_NEON(raddhn_2, raddhn(v0.V2S(), v1.V2D(), v2.V2D()))
1542*f5c631daSSadaf Ebrahimi TEST_NEON(raddhn2_0, raddhn2(v0.V16B(), v1.V8H(), v2.V8H()))
1543*f5c631daSSadaf Ebrahimi TEST_NEON(raddhn2_1, raddhn2(v0.V8H(), v1.V4S(), v2.V4S()))
1544*f5c631daSSadaf Ebrahimi TEST_NEON(raddhn2_2, raddhn2(v0.V4S(), v1.V2D(), v2.V2D()))
1545*f5c631daSSadaf Ebrahimi TEST_NEON(rbit_0, rbit(v0.V8B(), v1.V8B()))
1546*f5c631daSSadaf Ebrahimi TEST_NEON(rbit_1, rbit(v0.V16B(), v1.V16B()))
1547*f5c631daSSadaf Ebrahimi TEST_NEON(rev16_0, rev16(v0.V8B(), v1.V8B()))
1548*f5c631daSSadaf Ebrahimi TEST_NEON(rev16_1, rev16(v0.V16B(), v1.V16B()))
1549*f5c631daSSadaf Ebrahimi TEST_NEON(rev32_0, rev32(v0.V8B(), v1.V8B()))
1550*f5c631daSSadaf Ebrahimi TEST_NEON(rev32_1, rev32(v0.V16B(), v1.V16B()))
1551*f5c631daSSadaf Ebrahimi TEST_NEON(rev32_2, rev32(v0.V4H(), v1.V4H()))
1552*f5c631daSSadaf Ebrahimi TEST_NEON(rev32_3, rev32(v0.V8H(), v1.V8H()))
1553*f5c631daSSadaf Ebrahimi TEST_NEON(rev64_0, rev64(v0.V8B(), v1.V8B()))
1554*f5c631daSSadaf Ebrahimi TEST_NEON(rev64_1, rev64(v0.V16B(), v1.V16B()))
1555*f5c631daSSadaf Ebrahimi TEST_NEON(rev64_2, rev64(v0.V4H(), v1.V4H()))
1556*f5c631daSSadaf Ebrahimi TEST_NEON(rev64_3, rev64(v0.V8H(), v1.V8H()))
1557*f5c631daSSadaf Ebrahimi TEST_NEON(rev64_4, rev64(v0.V2S(), v1.V2S()))
1558*f5c631daSSadaf Ebrahimi TEST_NEON(rev64_5, rev64(v0.V4S(), v1.V4S()))
1559*f5c631daSSadaf Ebrahimi TEST_NEON(rshrn_0, rshrn(v0.V8B(), v1.V8H(), 6))
1560*f5c631daSSadaf Ebrahimi TEST_NEON(rshrn_1, rshrn(v0.V4H(), v1.V4S(), 9))
1561*f5c631daSSadaf Ebrahimi TEST_NEON(rshrn_2, rshrn(v0.V2S(), v1.V2D(), 30))
1562*f5c631daSSadaf Ebrahimi TEST_NEON(rshrn2_0, rshrn2(v0.V16B(), v1.V8H(), 1))
1563*f5c631daSSadaf Ebrahimi TEST_NEON(rshrn2_1, rshrn2(v0.V8H(), v1.V4S(), 6))
1564*f5c631daSSadaf Ebrahimi TEST_NEON(rshrn2_2, rshrn2(v0.V4S(), v1.V2D(), 12))
1565*f5c631daSSadaf Ebrahimi TEST_NEON(rsubhn_0, rsubhn(v0.V8B(), v1.V8H(), v2.V8H()))
1566*f5c631daSSadaf Ebrahimi TEST_NEON(rsubhn_1, rsubhn(v0.V4H(), v1.V4S(), v2.V4S()))
1567*f5c631daSSadaf Ebrahimi TEST_NEON(rsubhn_2, rsubhn(v0.V2S(), v1.V2D(), v2.V2D()))
1568*f5c631daSSadaf Ebrahimi TEST_NEON(rsubhn2_0, rsubhn2(v0.V16B(), v1.V8H(), v2.V8H()))
1569*f5c631daSSadaf Ebrahimi TEST_NEON(rsubhn2_1, rsubhn2(v0.V8H(), v1.V4S(), v2.V4S()))
1570*f5c631daSSadaf Ebrahimi TEST_NEON(rsubhn2_2, rsubhn2(v0.V4S(), v1.V2D(), v2.V2D()))
1571*f5c631daSSadaf Ebrahimi TEST_NEON(sabal_0, sabal(v0.V8H(), v1.V8B(), v2.V8B()))
1572*f5c631daSSadaf Ebrahimi TEST_NEON(sabal_1, sabal(v0.V4S(), v1.V4H(), v2.V4H()))
1573*f5c631daSSadaf Ebrahimi TEST_NEON(sabal_2, sabal(v0.V2D(), v1.V2S(), v2.V2S()))
1574*f5c631daSSadaf Ebrahimi TEST_NEON(sabal2_0, sabal2(v0.V8H(), v1.V16B(), v2.V16B()))
1575*f5c631daSSadaf Ebrahimi TEST_NEON(sabal2_1, sabal2(v0.V4S(), v1.V8H(), v2.V8H()))
1576*f5c631daSSadaf Ebrahimi TEST_NEON(sabal2_2, sabal2(v0.V2D(), v1.V4S(), v2.V4S()))
1577*f5c631daSSadaf Ebrahimi TEST_NEON(saba_0, saba(v0.V8B(), v1.V8B(), v2.V8B()))
1578*f5c631daSSadaf Ebrahimi TEST_NEON(saba_1, saba(v0.V16B(), v1.V16B(), v2.V16B()))
1579*f5c631daSSadaf Ebrahimi TEST_NEON(saba_2, saba(v0.V4H(), v1.V4H(), v2.V4H()))
1580*f5c631daSSadaf Ebrahimi TEST_NEON(saba_3, saba(v0.V8H(), v1.V8H(), v2.V8H()))
1581*f5c631daSSadaf Ebrahimi TEST_NEON(saba_4, saba(v0.V2S(), v1.V2S(), v2.V2S()))
1582*f5c631daSSadaf Ebrahimi TEST_NEON(saba_5, saba(v0.V4S(), v1.V4S(), v2.V4S()))
1583*f5c631daSSadaf Ebrahimi TEST_NEON(sabdl_0, sabdl(v0.V8H(), v1.V8B(), v2.V8B()))
1584*f5c631daSSadaf Ebrahimi TEST_NEON(sabdl_1, sabdl(v0.V4S(), v1.V4H(), v2.V4H()))
1585*f5c631daSSadaf Ebrahimi TEST_NEON(sabdl_2, sabdl(v0.V2D(), v1.V2S(), v2.V2S()))
1586*f5c631daSSadaf Ebrahimi TEST_NEON(sabdl2_0, sabdl2(v0.V8H(), v1.V16B(), v2.V16B()))
1587*f5c631daSSadaf Ebrahimi TEST_NEON(sabdl2_1, sabdl2(v0.V4S(), v1.V8H(), v2.V8H()))
1588*f5c631daSSadaf Ebrahimi TEST_NEON(sabdl2_2, sabdl2(v0.V2D(), v1.V4S(), v2.V4S()))
1589*f5c631daSSadaf Ebrahimi TEST_NEON(sabd_0, sabd(v0.V8B(), v1.V8B(), v2.V8B()))
1590*f5c631daSSadaf Ebrahimi TEST_NEON(sabd_1, sabd(v0.V16B(), v1.V16B(), v2.V16B()))
1591*f5c631daSSadaf Ebrahimi TEST_NEON(sabd_2, sabd(v0.V4H(), v1.V4H(), v2.V4H()))
1592*f5c631daSSadaf Ebrahimi TEST_NEON(sabd_3, sabd(v0.V8H(), v1.V8H(), v2.V8H()))
1593*f5c631daSSadaf Ebrahimi TEST_NEON(sabd_4, sabd(v0.V2S(), v1.V2S(), v2.V2S()))
1594*f5c631daSSadaf Ebrahimi TEST_NEON(sabd_5, sabd(v0.V4S(), v1.V4S(), v2.V4S()))
1595*f5c631daSSadaf Ebrahimi TEST_NEON(sadalp_0, sadalp(v0.V4H(), v1.V8B()))
1596*f5c631daSSadaf Ebrahimi TEST_NEON(sadalp_1, sadalp(v0.V8H(), v1.V16B()))
1597*f5c631daSSadaf Ebrahimi TEST_NEON(sadalp_2, sadalp(v0.V2S(), v1.V4H()))
1598*f5c631daSSadaf Ebrahimi TEST_NEON(sadalp_3, sadalp(v0.V4S(), v1.V8H()))
1599*f5c631daSSadaf Ebrahimi TEST_NEON(sadalp_4, sadalp(v0.V1D(), v1.V2S()))
1600*f5c631daSSadaf Ebrahimi TEST_NEON(sadalp_5, sadalp(v0.V2D(), v1.V4S()))
1601*f5c631daSSadaf Ebrahimi TEST_NEON(saddlp_0, saddlp(v0.V4H(), v1.V8B()))
1602*f5c631daSSadaf Ebrahimi TEST_NEON(saddlp_1, saddlp(v0.V8H(), v1.V16B()))
1603*f5c631daSSadaf Ebrahimi TEST_NEON(saddlp_2, saddlp(v0.V2S(), v1.V4H()))
1604*f5c631daSSadaf Ebrahimi TEST_NEON(saddlp_3, saddlp(v0.V4S(), v1.V8H()))
1605*f5c631daSSadaf Ebrahimi TEST_NEON(saddlp_4, saddlp(v0.V1D(), v1.V2S()))
1606*f5c631daSSadaf Ebrahimi TEST_NEON(saddlp_5, saddlp(v0.V2D(), v1.V4S()))
1607*f5c631daSSadaf Ebrahimi TEST_NEON(saddlv_0, saddlv(h0, v1.V8B()))
1608*f5c631daSSadaf Ebrahimi TEST_NEON(saddlv_1, saddlv(h0, v1.V16B()))
1609*f5c631daSSadaf Ebrahimi TEST_NEON(saddlv_2, saddlv(s0, v1.V4H()))
1610*f5c631daSSadaf Ebrahimi TEST_NEON(saddlv_3, saddlv(s0, v1.V8H()))
1611*f5c631daSSadaf Ebrahimi TEST_NEON(saddlv_4, saddlv(d0, v1.V4S()))
1612*f5c631daSSadaf Ebrahimi TEST_NEON(saddl_0, saddl(v0.V8H(), v1.V8B(), v2.V8B()))
1613*f5c631daSSadaf Ebrahimi TEST_NEON(saddl_1, saddl(v0.V4S(), v1.V4H(), v2.V4H()))
1614*f5c631daSSadaf Ebrahimi TEST_NEON(saddl_2, saddl(v0.V2D(), v1.V2S(), v2.V2S()))
1615*f5c631daSSadaf Ebrahimi TEST_NEON(saddl2_0, saddl2(v0.V8H(), v1.V16B(), v2.V16B()))
1616*f5c631daSSadaf Ebrahimi TEST_NEON(saddl2_1, saddl2(v0.V4S(), v1.V8H(), v2.V8H()))
1617*f5c631daSSadaf Ebrahimi TEST_NEON(saddl2_2, saddl2(v0.V2D(), v1.V4S(), v2.V4S()))
1618*f5c631daSSadaf Ebrahimi TEST_NEON(saddw_0, saddw(v0.V8H(), v1.V8H(), v2.V8B()))
1619*f5c631daSSadaf Ebrahimi TEST_NEON(saddw_1, saddw(v0.V4S(), v1.V4S(), v2.V4H()))
1620*f5c631daSSadaf Ebrahimi TEST_NEON(saddw_2, saddw(v0.V2D(), v1.V2D(), v2.V2S()))
1621*f5c631daSSadaf Ebrahimi TEST_NEON(saddw2_0, saddw2(v0.V8H(), v1.V8H(), v2.V16B()))
1622*f5c631daSSadaf Ebrahimi TEST_NEON(saddw2_1, saddw2(v0.V4S(), v1.V4S(), v2.V8H()))
1623*f5c631daSSadaf Ebrahimi TEST_NEON(saddw2_2, saddw2(v0.V2D(), v1.V2D(), v2.V4S()))
1624*f5c631daSSadaf Ebrahimi TEST_NEON(shadd_0, shadd(v0.V8B(), v1.V8B(), v2.V8B()))
1625*f5c631daSSadaf Ebrahimi TEST_NEON(shadd_1, shadd(v0.V16B(), v1.V16B(), v2.V16B()))
1626*f5c631daSSadaf Ebrahimi TEST_NEON(shadd_2, shadd(v0.V4H(), v1.V4H(), v2.V4H()))
1627*f5c631daSSadaf Ebrahimi TEST_NEON(shadd_3, shadd(v0.V8H(), v1.V8H(), v2.V8H()))
1628*f5c631daSSadaf Ebrahimi TEST_NEON(shadd_4, shadd(v0.V2S(), v1.V2S(), v2.V2S()))
1629*f5c631daSSadaf Ebrahimi TEST_NEON(shadd_5, shadd(v0.V4S(), v1.V4S(), v2.V4S()))
1630*f5c631daSSadaf Ebrahimi TEST_NEON(shll_0, shll(v0.V8H(), v1.V8B(), 8))
1631*f5c631daSSadaf Ebrahimi TEST_NEON(shll_1, shll(v0.V4S(), v1.V4H(), 16))
1632*f5c631daSSadaf Ebrahimi TEST_NEON(shll_2, shll(v0.V2D(), v1.V2S(), 32))
1633*f5c631daSSadaf Ebrahimi TEST_NEON(shll2_0, shll2(v0.V8H(), v1.V16B(), 8))
1634*f5c631daSSadaf Ebrahimi TEST_NEON(shll2_1, shll2(v0.V4S(), v1.V8H(), 16))
1635*f5c631daSSadaf Ebrahimi TEST_NEON(shll2_2, shll2(v0.V2D(), v1.V4S(), 32))
1636*f5c631daSSadaf Ebrahimi TEST_NEON(shl_0, shl(v0.V8B(), v1.V8B(), 2))
1637*f5c631daSSadaf Ebrahimi TEST_NEON(shl_1, shl(v0.V16B(), v1.V16B(), 5))
1638*f5c631daSSadaf Ebrahimi TEST_NEON(shl_2, shl(v0.V4H(), v1.V4H(), 10))
1639*f5c631daSSadaf Ebrahimi TEST_NEON(shl_3, shl(v0.V8H(), v1.V8H(), 14))
1640*f5c631daSSadaf Ebrahimi TEST_NEON(shl_4, shl(v0.V2S(), v1.V2S(), 24))
1641*f5c631daSSadaf Ebrahimi TEST_NEON(shl_5, shl(v0.V4S(), v1.V4S(), 2))
1642*f5c631daSSadaf Ebrahimi TEST_NEON(shl_6, shl(v0.V2D(), v1.V2D(), 44))
1643*f5c631daSSadaf Ebrahimi TEST_NEON(shl_7, shl(d0, d1, 7))
1644*f5c631daSSadaf Ebrahimi TEST_NEON(shrn_0, shrn(v0.V8B(), v1.V8H(), 7))
1645*f5c631daSSadaf Ebrahimi TEST_NEON(shrn_1, shrn(v0.V4H(), v1.V4S(), 14))
1646*f5c631daSSadaf Ebrahimi TEST_NEON(shrn_2, shrn(v0.V2S(), v1.V2D(), 20))
1647*f5c631daSSadaf Ebrahimi TEST_NEON(shrn2_0, shrn2(v0.V16B(), v1.V8H(), 2))
1648*f5c631daSSadaf Ebrahimi TEST_NEON(shrn2_1, shrn2(v0.V8H(), v1.V4S(), 14))
1649*f5c631daSSadaf Ebrahimi TEST_NEON(shrn2_2, shrn2(v0.V4S(), v1.V2D(), 18))
1650*f5c631daSSadaf Ebrahimi TEST_NEON(shsub_0, shsub(v0.V8B(), v1.V8B(), v2.V8B()))
1651*f5c631daSSadaf Ebrahimi TEST_NEON(shsub_1, shsub(v0.V16B(), v1.V16B(), v2.V16B()))
1652*f5c631daSSadaf Ebrahimi TEST_NEON(shsub_2, shsub(v0.V4H(), v1.V4H(), v2.V4H()))
1653*f5c631daSSadaf Ebrahimi TEST_NEON(shsub_3, shsub(v0.V8H(), v1.V8H(), v2.V8H()))
1654*f5c631daSSadaf Ebrahimi TEST_NEON(shsub_4, shsub(v0.V2S(), v1.V2S(), v2.V2S()))
1655*f5c631daSSadaf Ebrahimi TEST_NEON(shsub_5, shsub(v0.V4S(), v1.V4S(), v2.V4S()))
1656*f5c631daSSadaf Ebrahimi TEST_NEON(sli_0, sli(v0.V8B(), v1.V8B(), 6))
1657*f5c631daSSadaf Ebrahimi TEST_NEON(sli_1, sli(v0.V16B(), v1.V16B(), 2))
1658*f5c631daSSadaf Ebrahimi TEST_NEON(sli_2, sli(v0.V4H(), v1.V4H(), 7))
1659*f5c631daSSadaf Ebrahimi TEST_NEON(sli_3, sli(v0.V8H(), v1.V8H(), 7))
1660*f5c631daSSadaf Ebrahimi TEST_NEON(sli_4, sli(v0.V2S(), v1.V2S(), 13))
1661*f5c631daSSadaf Ebrahimi TEST_NEON(sli_5, sli(v0.V4S(), v1.V4S(), 16))
1662*f5c631daSSadaf Ebrahimi TEST_NEON(sli_6, sli(v0.V2D(), v1.V2D(), 21))
1663*f5c631daSSadaf Ebrahimi TEST_NEON(sli_7, sli(d0, d1, 34))
1664*f5c631daSSadaf Ebrahimi TEST_NEON(smaxp_0, smaxp(v0.V8B(), v1.V8B(), v2.V8B()))
1665*f5c631daSSadaf Ebrahimi TEST_NEON(smaxp_1, smaxp(v0.V16B(), v1.V16B(), v2.V16B()))
1666*f5c631daSSadaf Ebrahimi TEST_NEON(smaxp_2, smaxp(v0.V4H(), v1.V4H(), v2.V4H()))
1667*f5c631daSSadaf Ebrahimi TEST_NEON(smaxp_3, smaxp(v0.V8H(), v1.V8H(), v2.V8H()))
1668*f5c631daSSadaf Ebrahimi TEST_NEON(smaxp_4, smaxp(v0.V2S(), v1.V2S(), v2.V2S()))
1669*f5c631daSSadaf Ebrahimi TEST_NEON(smaxp_5, smaxp(v0.V4S(), v1.V4S(), v2.V4S()))
1670*f5c631daSSadaf Ebrahimi TEST_NEON(smaxv_0, smaxv(b0, v1.V8B()))
1671*f5c631daSSadaf Ebrahimi TEST_NEON(smaxv_1, smaxv(b0, v1.V16B()))
1672*f5c631daSSadaf Ebrahimi TEST_NEON(smaxv_2, smaxv(h0, v1.V4H()))
1673*f5c631daSSadaf Ebrahimi TEST_NEON(smaxv_3, smaxv(h0, v1.V8H()))
1674*f5c631daSSadaf Ebrahimi TEST_NEON(smaxv_4, smaxv(s0, v1.V4S()))
1675*f5c631daSSadaf Ebrahimi TEST_NEON(smax_0, smax(v0.V8B(), v1.V8B(), v2.V8B()))
1676*f5c631daSSadaf Ebrahimi TEST_NEON(smax_1, smax(v0.V16B(), v1.V16B(), v2.V16B()))
1677*f5c631daSSadaf Ebrahimi TEST_NEON(smax_2, smax(v0.V4H(), v1.V4H(), v2.V4H()))
1678*f5c631daSSadaf Ebrahimi TEST_NEON(smax_3, smax(v0.V8H(), v1.V8H(), v2.V8H()))
1679*f5c631daSSadaf Ebrahimi TEST_NEON(smax_4, smax(v0.V2S(), v1.V2S(), v2.V2S()))
1680*f5c631daSSadaf Ebrahimi TEST_NEON(smax_5, smax(v0.V4S(), v1.V4S(), v2.V4S()))
1681*f5c631daSSadaf Ebrahimi TEST_NEON(sminp_0, sminp(v0.V8B(), v1.V8B(), v2.V8B()))
1682*f5c631daSSadaf Ebrahimi TEST_NEON(sminp_1, sminp(v0.V16B(), v1.V16B(), v2.V16B()))
1683*f5c631daSSadaf Ebrahimi TEST_NEON(sminp_2, sminp(v0.V4H(), v1.V4H(), v2.V4H()))
1684*f5c631daSSadaf Ebrahimi TEST_NEON(sminp_3, sminp(v0.V8H(), v1.V8H(), v2.V8H()))
1685*f5c631daSSadaf Ebrahimi TEST_NEON(sminp_4, sminp(v0.V2S(), v1.V2S(), v2.V2S()))
1686*f5c631daSSadaf Ebrahimi TEST_NEON(sminp_5, sminp(v0.V4S(), v1.V4S(), v2.V4S()))
1687*f5c631daSSadaf Ebrahimi TEST_NEON(sminv_0, sminv(b0, v1.V8B()))
1688*f5c631daSSadaf Ebrahimi TEST_NEON(sminv_1, sminv(b0, v1.V16B()))
1689*f5c631daSSadaf Ebrahimi TEST_NEON(sminv_2, sminv(h0, v1.V4H()))
1690*f5c631daSSadaf Ebrahimi TEST_NEON(sminv_3, sminv(h0, v1.V8H()))
1691*f5c631daSSadaf Ebrahimi TEST_NEON(sminv_4, sminv(s0, v1.V4S()))
1692*f5c631daSSadaf Ebrahimi TEST_NEON(smin_0, smin(v0.V8B(), v1.V8B(), v2.V8B()))
1693*f5c631daSSadaf Ebrahimi TEST_NEON(smin_1, smin(v0.V16B(), v1.V16B(), v2.V16B()))
1694*f5c631daSSadaf Ebrahimi TEST_NEON(smin_2, smin(v0.V4H(), v1.V4H(), v2.V4H()))
1695*f5c631daSSadaf Ebrahimi TEST_NEON(smin_3, smin(v0.V8H(), v1.V8H(), v2.V8H()))
1696*f5c631daSSadaf Ebrahimi TEST_NEON(smin_4, smin(v0.V2S(), v1.V2S(), v2.V2S()))
1697*f5c631daSSadaf Ebrahimi TEST_NEON(smin_5, smin(v0.V4S(), v1.V4S(), v2.V4S()))
1698*f5c631daSSadaf Ebrahimi TEST_NEON(smlal_0, smlal(v0.V4S(), v1.V4H(), v2.H(), 5))
1699*f5c631daSSadaf Ebrahimi TEST_NEON(smlal_1, smlal(v0.V2D(), v1.V2S(), v2.S(), 0))
1700*f5c631daSSadaf Ebrahimi TEST_NEON(smlal2_0, smlal2(v0.V4S(), v1.V8H(), v2.H(), 7))
1701*f5c631daSSadaf Ebrahimi TEST_NEON(smlal2_1, smlal2(v0.V2D(), v1.V4S(), v2.S(), 1))
1702*f5c631daSSadaf Ebrahimi TEST_NEON(smlal_2, smlal(v0.V8H(), v1.V8B(), v2.V8B()))
1703*f5c631daSSadaf Ebrahimi TEST_NEON(smlal_3, smlal(v0.V4S(), v1.V4H(), v2.V4H()))
1704*f5c631daSSadaf Ebrahimi TEST_NEON(smlal_4, smlal(v0.V2D(), v1.V2S(), v2.V2S()))
1705*f5c631daSSadaf Ebrahimi TEST_NEON(smlal2_2, smlal2(v0.V8H(), v1.V16B(), v2.V16B()))
1706*f5c631daSSadaf Ebrahimi TEST_NEON(smlal2_3, smlal2(v0.V4S(), v1.V8H(), v2.V8H()))
1707*f5c631daSSadaf Ebrahimi TEST_NEON(smlal2_4, smlal2(v0.V2D(), v1.V4S(), v2.V4S()))
1708*f5c631daSSadaf Ebrahimi TEST_NEON(smlsl_0, smlsl(v0.V4S(), v1.V4H(), v2.H(), 3))
1709*f5c631daSSadaf Ebrahimi TEST_NEON(smlsl_1, smlsl(v0.V2D(), v1.V2S(), v2.S(), 3))
1710*f5c631daSSadaf Ebrahimi TEST_NEON(smlsl2_0, smlsl2(v0.V4S(), v1.V8H(), v2.H(), 1))
1711*f5c631daSSadaf Ebrahimi TEST_NEON(smlsl2_1, smlsl2(v0.V2D(), v1.V4S(), v2.S(), 2))
1712*f5c631daSSadaf Ebrahimi TEST_NEON(smlsl_2, smlsl(v0.V8H(), v1.V8B(), v2.V8B()))
1713*f5c631daSSadaf Ebrahimi TEST_NEON(smlsl_3, smlsl(v0.V4S(), v1.V4H(), v2.V4H()))
1714*f5c631daSSadaf Ebrahimi TEST_NEON(smlsl_4, smlsl(v0.V2D(), v1.V2S(), v2.V2S()))
1715*f5c631daSSadaf Ebrahimi TEST_NEON(smlsl2_2, smlsl2(v0.V8H(), v1.V16B(), v2.V16B()))
1716*f5c631daSSadaf Ebrahimi TEST_NEON(smlsl2_3, smlsl2(v0.V4S(), v1.V8H(), v2.V8H()))
1717*f5c631daSSadaf Ebrahimi TEST_NEON(smlsl2_4, smlsl2(v0.V2D(), v1.V4S(), v2.V4S()))
1718*f5c631daSSadaf Ebrahimi TEST_NEON(smov_0, smov(w0, v1.B(), 4))
1719*f5c631daSSadaf Ebrahimi TEST_NEON(smov_1, smov(w0, v1.H(), 1))
1720*f5c631daSSadaf Ebrahimi TEST_NEON(smov_2, smov(x0, v1.B(), 6))
1721*f5c631daSSadaf Ebrahimi TEST_NEON(smov_3, smov(x0, v1.H(), 7))
1722*f5c631daSSadaf Ebrahimi TEST_NEON(smov_4, smov(x0, v1.S(), 2))
1723*f5c631daSSadaf Ebrahimi TEST_NEON(smull_0, smull(v0.V4S(), v1.V4H(), v2.H(), 6))
1724*f5c631daSSadaf Ebrahimi TEST_NEON(smull_1, smull(v0.V2D(), v1.V2S(), v2.S(), 3))
1725*f5c631daSSadaf Ebrahimi TEST_NEON(smull2_0, smull2(v0.V4S(), v1.V8H(), v2.H(), 3))
1726*f5c631daSSadaf Ebrahimi TEST_NEON(smull2_1, smull2(v0.V2D(), v1.V4S(), v2.S(), 2))
1727*f5c631daSSadaf Ebrahimi TEST_NEON(smull_2, smull(v0.V8H(), v1.V8B(), v2.V8B()))
1728*f5c631daSSadaf Ebrahimi TEST_NEON(smull_3, smull(v0.V4S(), v1.V4H(), v2.V4H()))
1729*f5c631daSSadaf Ebrahimi TEST_NEON(smull_4, smull(v0.V2D(), v1.V2S(), v2.V2S()))
1730*f5c631daSSadaf Ebrahimi TEST_NEON(smull2_2, smull2(v0.V8H(), v1.V16B(), v2.V16B()))
1731*f5c631daSSadaf Ebrahimi TEST_NEON(smull2_3, smull2(v0.V4S(), v1.V8H(), v2.V8H()))
1732*f5c631daSSadaf Ebrahimi TEST_NEON(smull2_4, smull2(v0.V2D(), v1.V4S(), v2.V4S()))
1733*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_0, sqabs(v0.V8B(), v1.V8B()))
1734*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_1, sqabs(v0.V16B(), v1.V16B()))
1735*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_2, sqabs(v0.V4H(), v1.V4H()))
1736*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_3, sqabs(v0.V8H(), v1.V8H()))
1737*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_4, sqabs(v0.V2S(), v1.V2S()))
1738*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_5, sqabs(v0.V4S(), v1.V4S()))
1739*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_6, sqabs(v0.V2D(), v1.V2D()))
1740*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_7, sqabs(b0, b1))
1741*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_8, sqabs(h0, h1))
1742*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_9, sqabs(s0, s1))
1743*f5c631daSSadaf Ebrahimi TEST_NEON(sqabs_10, sqabs(d0, d1))
1744*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_0, sqadd(v0.V8B(), v1.V8B(), v2.V8B()))
1745*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_1, sqadd(v0.V16B(), v1.V16B(), v2.V16B()))
1746*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_2, sqadd(v0.V4H(), v1.V4H(), v2.V4H()))
1747*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_3, sqadd(v0.V8H(), v1.V8H(), v2.V8H()))
1748*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_4, sqadd(v0.V2S(), v1.V2S(), v2.V2S()))
1749*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_5, sqadd(v0.V4S(), v1.V4S(), v2.V4S()))
1750*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_6, sqadd(v0.V2D(), v1.V2D(), v2.V2D()))
1751*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_7, sqadd(b0, b1, b2))
1752*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_8, sqadd(h0, h1, h2))
1753*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_9, sqadd(s0, s1, s2))
1754*f5c631daSSadaf Ebrahimi TEST_NEON(sqadd_10, sqadd(d0, d1, d2))
1755*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal_0, sqdmlal(v0.V4S(), v1.V4H(), v2.H(), 3))
1756*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal_1, sqdmlal(v0.V2D(), v1.V2S(), v2.S(), 2))
1757*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal2_0, sqdmlal2(v0.V4S(), v1.V8H(), v2.H(), 3))
1758*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal2_1, sqdmlal2(v0.V2D(), v1.V4S(), v2.S(), 0))
1759*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal_2, sqdmlal(s0, h1, v2.H(), 1))
1760*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal_3, sqdmlal(d0, s1, v2.S(), 1))
1761*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal_4, sqdmlal(v0.V4S(), v1.V4H(), v2.V4H()))
1762*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal_5, sqdmlal(v0.V2D(), v1.V2S(), v2.V2S()))
1763*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal2_2, sqdmlal2(v0.V4S(), v1.V8H(), v2.V8H()))
1764*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal2_3, sqdmlal2(v0.V2D(), v1.V4S(), v2.V4S()))
1765*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal_6, sqdmlal(s0, h1, h2))
1766*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlal_7, sqdmlal(d0, s1, s2))
1767*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl_0, sqdmlsl(v0.V4S(), v1.V4H(), v2.H(), 6))
1768*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl_1, sqdmlsl(v0.V2D(), v1.V2S(), v2.S(), 0))
1769*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl2_0, sqdmlsl2(v0.V4S(), v1.V8H(), v2.H(), 6))
1770*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl2_1, sqdmlsl2(v0.V2D(), v1.V4S(), v2.S(), 3))
1771*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl_2, sqdmlsl(s0, h1, v2.H(), 1))
1772*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl_3, sqdmlsl(d0, s1, v2.S(), 2))
1773*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl_4, sqdmlsl(v0.V4S(), v1.V4H(), v2.V4H()))
1774*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl_5, sqdmlsl(v0.V2D(), v1.V2S(), v2.V2S()))
1775*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl2_2, sqdmlsl2(v0.V4S(), v1.V8H(), v2.V8H()))
1776*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl2_3, sqdmlsl2(v0.V2D(), v1.V4S(), v2.V4S()))
1777*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl_6, sqdmlsl(s0, h1, h2))
1778*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmlsl_7, sqdmlsl(d0, s1, s2))
1779*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_0, sqdmulh(v0.V4H(), v1.V4H(), v2.H(), 2))
1780*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_1, sqdmulh(v0.V8H(), v1.V8H(), v2.H(), 2))
1781*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_2, sqdmulh(v0.V2S(), v1.V2S(), v2.S(), 1))
1782*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_3, sqdmulh(v0.V4S(), v1.V4S(), v2.S(), 2))
1783*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_4, sqdmulh(h0, h1, v2.H(), 2))
1784*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_5, sqdmulh(s0, s1, v2.S(), 0))
1785*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_6, sqdmulh(v0.V4H(), v1.V4H(), v2.V4H()))
1786*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_7, sqdmulh(v0.V8H(), v1.V8H(), v2.V8H()))
1787*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_8, sqdmulh(v0.V2S(), v1.V2S(), v2.V2S()))
1788*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_9, sqdmulh(v0.V4S(), v1.V4S(), v2.V4S()))
1789*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_10, sqdmulh(h0, h1, h2))
1790*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmulh_11, sqdmulh(s0, s1, s2))
1791*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull_0, sqdmull(v0.V4S(), v1.V4H(), v2.H(), 1))
1792*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull_1, sqdmull(v0.V2D(), v1.V2S(), v2.S(), 3))
1793*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull2_0, sqdmull2(v0.V4S(), v1.V8H(), v2.H(), 0))
1794*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull2_1, sqdmull2(v0.V2D(), v1.V4S(), v2.S(), 3))
1795*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull_2, sqdmull(s0, h1, v2.H(), 2))
1796*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull_3, sqdmull(d0, s1, v2.S(), 1))
1797*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull_4, sqdmull(v0.V4S(), v1.V4H(), v2.V4H()))
1798*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull_5, sqdmull(v0.V2D(), v1.V2S(), v2.V2S()))
1799*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull2_2, sqdmull2(v0.V4S(), v1.V8H(), v2.V8H()))
1800*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull2_3, sqdmull2(v0.V2D(), v1.V4S(), v2.V4S()))
1801*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull_6, sqdmull(s0, h1, h2))
1802*f5c631daSSadaf Ebrahimi TEST_NEON(sqdmull_7, sqdmull(d0, s1, s2))
1803*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_0, sqneg(v0.V8B(), v1.V8B()))
1804*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_1, sqneg(v0.V16B(), v1.V16B()))
1805*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_2, sqneg(v0.V4H(), v1.V4H()))
1806*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_3, sqneg(v0.V8H(), v1.V8H()))
1807*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_4, sqneg(v0.V2S(), v1.V2S()))
1808*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_5, sqneg(v0.V4S(), v1.V4S()))
1809*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_6, sqneg(v0.V2D(), v1.V2D()))
1810*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_7, sqneg(b0, b1))
1811*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_8, sqneg(h0, h1))
1812*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_9, sqneg(s0, s1))
1813*f5c631daSSadaf Ebrahimi TEST_NEON(sqneg_10, sqneg(d0, d1))
1814*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_0, sqrdmulh(v0.V4H(), v1.V4H(), v2.H(), 0))
1815*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_1, sqrdmulh(v0.V8H(), v1.V8H(), v2.H(), 2))
1816*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_2, sqrdmulh(v0.V2S(), v1.V2S(), v2.S(), 3))
1817*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_3, sqrdmulh(v0.V4S(), v1.V4S(), v2.S(), 1))
1818*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_4, sqrdmulh(h0, h1, v2.H(), 2))
1819*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_5, sqrdmulh(s0, s1, v2.S(), 0))
1820*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_6, sqrdmulh(v0.V4H(), v1.V4H(), v2.V4H()))
1821*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_7, sqrdmulh(v0.V8H(), v1.V8H(), v2.V8H()))
1822*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_8, sqrdmulh(v0.V2S(), v1.V2S(), v2.V2S()))
1823*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_9, sqrdmulh(v0.V4S(), v1.V4S(), v2.V4S()))
1824*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_10, sqrdmulh(h0, h1, h2))
1825*f5c631daSSadaf Ebrahimi TEST_NEON(sqrdmulh_11, sqrdmulh(s0, s1, s2))
1826*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_0, sqrshl(v0.V8B(), v1.V8B(), v2.V8B()))
1827*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_1, sqrshl(v0.V16B(), v1.V16B(), v2.V16B()))
1828*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_2, sqrshl(v0.V4H(), v1.V4H(), v2.V4H()))
1829*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_3, sqrshl(v0.V8H(), v1.V8H(), v2.V8H()))
1830*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_4, sqrshl(v0.V2S(), v1.V2S(), v2.V2S()))
1831*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_5, sqrshl(v0.V4S(), v1.V4S(), v2.V4S()))
1832*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_6, sqrshl(v0.V2D(), v1.V2D(), v2.V2D()))
1833*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_7, sqrshl(b0, b1, b2))
1834*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_8, sqrshl(h0, h1, h2))
1835*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_9, sqrshl(s0, s1, s2))
1836*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshl_10, sqrshl(d0, d1, d2))
1837*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrn_0, sqrshrn(v0.V8B(), v1.V8H(), 1))
1838*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrn_1, sqrshrn(v0.V4H(), v1.V4S(), 14))
1839*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrn_2, sqrshrn(v0.V2S(), v1.V2D(), 29))
1840*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrn2_0, sqrshrn2(v0.V16B(), v1.V8H(), 3))
1841*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrn2_1, sqrshrn2(v0.V8H(), v1.V4S(), 11))
1842*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrn2_2, sqrshrn2(v0.V4S(), v1.V2D(), 25))
1843*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrn_3, sqrshrn(b0, h1, 5))
1844*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrn_4, sqrshrn(h0, s1, 4))
1845*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrn_5, sqrshrn(s0, d1, 30))
1846*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrun_0, sqrshrun(v0.V8B(), v1.V8H(), 3))
1847*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrun_1, sqrshrun(v0.V4H(), v1.V4S(), 6))
1848*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrun_2, sqrshrun(v0.V2S(), v1.V2D(), 13))
1849*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrun2_0, sqrshrun2(v0.V16B(), v1.V8H(), 1))
1850*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrun2_1, sqrshrun2(v0.V8H(), v1.V4S(), 7))
1851*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrun2_2, sqrshrun2(v0.V4S(), v1.V2D(), 29))
1852*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrun_3, sqrshrun(b0, h1, 7))
1853*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrun_4, sqrshrun(h0, s1, 13))
1854*f5c631daSSadaf Ebrahimi TEST_NEON(sqrshrun_5, sqrshrun(s0, d1, 29))
1855*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_0, sqshlu(v0.V8B(), v1.V8B(), 4))
1856*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_1, sqshlu(v0.V16B(), v1.V16B(), 7))
1857*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_2, sqshlu(v0.V4H(), v1.V4H(), 14))
1858*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_3, sqshlu(v0.V8H(), v1.V8H(), 15))
1859*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_4, sqshlu(v0.V2S(), v1.V2S(), 13))
1860*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_5, sqshlu(v0.V4S(), v1.V4S(), 6))
1861*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_6, sqshlu(v0.V2D(), v1.V2D(), 42))
1862*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_7, sqshlu(b0, b1, 3))
1863*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_8, sqshlu(h0, h1, 15))
1864*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_9, sqshlu(s0, s1, 21))
1865*f5c631daSSadaf Ebrahimi TEST_NEON(sqshlu_10, sqshlu(d0, d1, 15))
1866*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_0, sqshl(v0.V8B(), v1.V8B(), 6))
1867*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_1, sqshl(v0.V16B(), v1.V16B(), 6))
1868*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_2, sqshl(v0.V4H(), v1.V4H(), 8))
1869*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_3, sqshl(v0.V8H(), v1.V8H(), 9))
1870*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_4, sqshl(v0.V2S(), v1.V2S(), 28))
1871*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_5, sqshl(v0.V4S(), v1.V4S(), 27))
1872*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_6, sqshl(v0.V2D(), v1.V2D(), 50))
1873*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_7, sqshl(b0, b1, 4))
1874*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_8, sqshl(h0, h1, 13))
1875*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_9, sqshl(s0, s1, 15))
1876*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_10, sqshl(d0, d1, 40))
1877*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_11, sqshl(v0.V8B(), v1.V8B(), v2.V8B()))
1878*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_12, sqshl(v0.V16B(), v1.V16B(), v2.V16B()))
1879*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_13, sqshl(v0.V4H(), v1.V4H(), v2.V4H()))
1880*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_14, sqshl(v0.V8H(), v1.V8H(), v2.V8H()))
1881*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_15, sqshl(v0.V2S(), v1.V2S(), v2.V2S()))
1882*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_16, sqshl(v0.V4S(), v1.V4S(), v2.V4S()))
1883*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_17, sqshl(v0.V2D(), v1.V2D(), v2.V2D()))
1884*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_18, sqshl(b0, b1, b2))
1885*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_19, sqshl(h0, h1, h2))
1886*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_20, sqshl(s0, s1, s2))
1887*f5c631daSSadaf Ebrahimi TEST_NEON(sqshl_21, sqshl(d0, d1, d2))
1888*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrn_0, sqshrn(v0.V8B(), v1.V8H(), 5))
1889*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrn_1, sqshrn(v0.V4H(), v1.V4S(), 5))
1890*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrn_2, sqshrn(v0.V2S(), v1.V2D(), 2))
1891*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrn2_0, sqshrn2(v0.V16B(), v1.V8H(), 6))
1892*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrn2_1, sqshrn2(v0.V8H(), v1.V4S(), 10))
1893*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrn2_2, sqshrn2(v0.V4S(), v1.V2D(), 2))
1894*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrn_3, sqshrn(b0, h1, 2))
1895*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrn_4, sqshrn(h0, s1, 8))
1896*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrn_5, sqshrn(s0, d1, 27))
1897*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrun_0, sqshrun(v0.V8B(), v1.V8H(), 4))
1898*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrun_1, sqshrun(v0.V4H(), v1.V4S(), 11))
1899*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrun_2, sqshrun(v0.V2S(), v1.V2D(), 20))
1900*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrun2_0, sqshrun2(v0.V16B(), v1.V8H(), 6))
1901*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrun2_1, sqshrun2(v0.V8H(), v1.V4S(), 5))
1902*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrun2_2, sqshrun2(v0.V4S(), v1.V2D(), 18))
1903*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrun_3, sqshrun(b0, h1, 2))
1904*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrun_4, sqshrun(h0, s1, 10))
1905*f5c631daSSadaf Ebrahimi TEST_NEON(sqshrun_5, sqshrun(s0, d1, 16))
1906*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_0, sqsub(v0.V8B(), v1.V8B(), v2.V8B()))
1907*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_1, sqsub(v0.V16B(), v1.V16B(), v2.V16B()))
1908*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_2, sqsub(v0.V4H(), v1.V4H(), v2.V4H()))
1909*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_3, sqsub(v0.V8H(), v1.V8H(), v2.V8H()))
1910*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_4, sqsub(v0.V2S(), v1.V2S(), v2.V2S()))
1911*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_5, sqsub(v0.V4S(), v1.V4S(), v2.V4S()))
1912*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_6, sqsub(v0.V2D(), v1.V2D(), v2.V2D()))
1913*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_7, sqsub(b0, b1, b2))
1914*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_8, sqsub(h0, h1, h2))
1915*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_9, sqsub(s0, s1, s2))
1916*f5c631daSSadaf Ebrahimi TEST_NEON(sqsub_10, sqsub(d0, d1, d2))
1917*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtn_0, sqxtn(v0.V8B(), v1.V8H()))
1918*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtn_1, sqxtn(v0.V4H(), v1.V4S()))
1919*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtn_2, sqxtn(v0.V2S(), v1.V2D()))
1920*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtn2_0, sqxtn2(v0.V16B(), v1.V8H()))
1921*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtn2_1, sqxtn2(v0.V8H(), v1.V4S()))
1922*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtn2_2, sqxtn2(v0.V4S(), v1.V2D()))
1923*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtn_3, sqxtn(b0, h1))
1924*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtn_4, sqxtn(h0, s1))
1925*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtn_5, sqxtn(s0, d1))
1926*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtun_0, sqxtun(v0.V8B(), v1.V8H()))
1927*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtun_1, sqxtun(v0.V4H(), v1.V4S()))
1928*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtun_2, sqxtun(v0.V2S(), v1.V2D()))
1929*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtun2_0, sqxtun2(v0.V16B(), v1.V8H()))
1930*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtun2_1, sqxtun2(v0.V8H(), v1.V4S()))
1931*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtun2_2, sqxtun2(v0.V4S(), v1.V2D()))
1932*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtun_3, sqxtun(b0, h1))
1933*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtun_4, sqxtun(h0, s1))
1934*f5c631daSSadaf Ebrahimi TEST_NEON(sqxtun_5, sqxtun(s0, d1))
1935*f5c631daSSadaf Ebrahimi TEST_NEON(srhadd_0, srhadd(v0.V8B(), v1.V8B(), v2.V8B()))
1936*f5c631daSSadaf Ebrahimi TEST_NEON(srhadd_1, srhadd(v0.V16B(), v1.V16B(), v2.V16B()))
1937*f5c631daSSadaf Ebrahimi TEST_NEON(srhadd_2, srhadd(v0.V4H(), v1.V4H(), v2.V4H()))
1938*f5c631daSSadaf Ebrahimi TEST_NEON(srhadd_3, srhadd(v0.V8H(), v1.V8H(), v2.V8H()))
1939*f5c631daSSadaf Ebrahimi TEST_NEON(srhadd_4, srhadd(v0.V2S(), v1.V2S(), v2.V2S()))
1940*f5c631daSSadaf Ebrahimi TEST_NEON(srhadd_5, srhadd(v0.V4S(), v1.V4S(), v2.V4S()))
1941*f5c631daSSadaf Ebrahimi TEST_NEON(sri_0, sri(v0.V8B(), v1.V8B(), 7))
1942*f5c631daSSadaf Ebrahimi TEST_NEON(sri_1, sri(v0.V16B(), v1.V16B(), 3))
1943*f5c631daSSadaf Ebrahimi TEST_NEON(sri_2, sri(v0.V4H(), v1.V4H(), 10))
1944*f5c631daSSadaf Ebrahimi TEST_NEON(sri_3, sri(v0.V8H(), v1.V8H(), 7))
1945*f5c631daSSadaf Ebrahimi TEST_NEON(sri_4, sri(v0.V2S(), v1.V2S(), 12))
1946*f5c631daSSadaf Ebrahimi TEST_NEON(sri_5, sri(v0.V4S(), v1.V4S(), 15))
1947*f5c631daSSadaf Ebrahimi TEST_NEON(sri_6, sri(v0.V2D(), v1.V2D(), 51))
1948*f5c631daSSadaf Ebrahimi TEST_NEON(sri_7, sri(d0, d1, 47))
1949*f5c631daSSadaf Ebrahimi TEST_NEON(srshl_0, srshl(v0.V8B(), v1.V8B(), v2.V8B()))
1950*f5c631daSSadaf Ebrahimi TEST_NEON(srshl_1, srshl(v0.V16B(), v1.V16B(), v2.V16B()))
1951*f5c631daSSadaf Ebrahimi TEST_NEON(srshl_2, srshl(v0.V4H(), v1.V4H(), v2.V4H()))
1952*f5c631daSSadaf Ebrahimi TEST_NEON(srshl_3, srshl(v0.V8H(), v1.V8H(), v2.V8H()))
1953*f5c631daSSadaf Ebrahimi TEST_NEON(srshl_4, srshl(v0.V2S(), v1.V2S(), v2.V2S()))
1954*f5c631daSSadaf Ebrahimi TEST_NEON(srshl_5, srshl(v0.V4S(), v1.V4S(), v2.V4S()))
1955*f5c631daSSadaf Ebrahimi TEST_NEON(srshl_6, srshl(v0.V2D(), v1.V2D(), v2.V2D()))
1956*f5c631daSSadaf Ebrahimi TEST_NEON(srshl_7, srshl(d0, d1, d2))
1957*f5c631daSSadaf Ebrahimi TEST_NEON(srshr_0, srshr(v0.V8B(), v1.V8B(), 2))
1958*f5c631daSSadaf Ebrahimi TEST_NEON(srshr_1, srshr(v0.V16B(), v1.V16B(), 3))
1959*f5c631daSSadaf Ebrahimi TEST_NEON(srshr_2, srshr(v0.V4H(), v1.V4H(), 2))
1960*f5c631daSSadaf Ebrahimi TEST_NEON(srshr_3, srshr(v0.V8H(), v1.V8H(), 7))
1961*f5c631daSSadaf Ebrahimi TEST_NEON(srshr_4, srshr(v0.V2S(), v1.V2S(), 25))
1962*f5c631daSSadaf Ebrahimi TEST_NEON(srshr_5, srshr(v0.V4S(), v1.V4S(), 27))
1963*f5c631daSSadaf Ebrahimi TEST_NEON(srshr_6, srshr(v0.V2D(), v1.V2D(), 43))
1964*f5c631daSSadaf Ebrahimi TEST_NEON(srshr_7, srshr(d0, d1, 28))
1965*f5c631daSSadaf Ebrahimi TEST_NEON(srsra_0, srsra(v0.V8B(), v1.V8B(), 4))
1966*f5c631daSSadaf Ebrahimi TEST_NEON(srsra_1, srsra(v0.V16B(), v1.V16B(), 2))
1967*f5c631daSSadaf Ebrahimi TEST_NEON(srsra_2, srsra(v0.V4H(), v1.V4H(), 13))
1968*f5c631daSSadaf Ebrahimi TEST_NEON(srsra_3, srsra(v0.V8H(), v1.V8H(), 6))
1969*f5c631daSSadaf Ebrahimi TEST_NEON(srsra_4, srsra(v0.V2S(), v1.V2S(), 4))
1970*f5c631daSSadaf Ebrahimi TEST_NEON(srsra_5, srsra(v0.V4S(), v1.V4S(), 1))
1971*f5c631daSSadaf Ebrahimi TEST_NEON(srsra_6, srsra(v0.V2D(), v1.V2D(), 17))
1972*f5c631daSSadaf Ebrahimi TEST_NEON(srsra_7, srsra(d0, d1, 16))
1973*f5c631daSSadaf Ebrahimi TEST_NEON(sshll_0, sshll(v0.V8H(), v1.V8B(), 2))
1974*f5c631daSSadaf Ebrahimi TEST_NEON(sshll_1, sshll(v0.V4S(), v1.V4H(), 4))
1975*f5c631daSSadaf Ebrahimi TEST_NEON(sshll_2, sshll(v0.V2D(), v1.V2S(), 28))
1976*f5c631daSSadaf Ebrahimi TEST_NEON(sshll2_0, sshll2(v0.V8H(), v1.V16B(), 6))
1977*f5c631daSSadaf Ebrahimi TEST_NEON(sshll2_1, sshll2(v0.V4S(), v1.V8H(), 2))
1978*f5c631daSSadaf Ebrahimi TEST_NEON(sshll2_2, sshll2(v0.V2D(), v1.V4S(), 22))
1979*f5c631daSSadaf Ebrahimi TEST_NEON(sshl_0, sshl(v0.V8B(), v1.V8B(), v2.V8B()))
1980*f5c631daSSadaf Ebrahimi TEST_NEON(sshl_1, sshl(v0.V16B(), v1.V16B(), v2.V16B()))
1981*f5c631daSSadaf Ebrahimi TEST_NEON(sshl_2, sshl(v0.V4H(), v1.V4H(), v2.V4H()))
1982*f5c631daSSadaf Ebrahimi TEST_NEON(sshl_3, sshl(v0.V8H(), v1.V8H(), v2.V8H()))
1983*f5c631daSSadaf Ebrahimi TEST_NEON(sshl_4, sshl(v0.V2S(), v1.V2S(), v2.V2S()))
1984*f5c631daSSadaf Ebrahimi TEST_NEON(sshl_5, sshl(v0.V4S(), v1.V4S(), v2.V4S()))
1985*f5c631daSSadaf Ebrahimi TEST_NEON(sshl_6, sshl(v0.V2D(), v1.V2D(), v2.V2D()))
1986*f5c631daSSadaf Ebrahimi TEST_NEON(sshl_7, sshl(d0, d1, d2))
1987*f5c631daSSadaf Ebrahimi TEST_NEON(sshr_0, sshr(v0.V8B(), v1.V8B(), 7))
1988*f5c631daSSadaf Ebrahimi TEST_NEON(sshr_1, sshr(v0.V16B(), v1.V16B(), 1))
1989*f5c631daSSadaf Ebrahimi TEST_NEON(sshr_2, sshr(v0.V4H(), v1.V4H(), 9))
1990*f5c631daSSadaf Ebrahimi TEST_NEON(sshr_3, sshr(v0.V8H(), v1.V8H(), 13))
1991*f5c631daSSadaf Ebrahimi TEST_NEON(sshr_4, sshr(v0.V2S(), v1.V2S(), 19))
1992*f5c631daSSadaf Ebrahimi TEST_NEON(sshr_5, sshr(v0.V4S(), v1.V4S(), 26))
1993*f5c631daSSadaf Ebrahimi TEST_NEON(sshr_6, sshr(v0.V2D(), v1.V2D(), 63))
1994*f5c631daSSadaf Ebrahimi TEST_NEON(sshr_7, sshr(d0, d1, 39))
1995*f5c631daSSadaf Ebrahimi TEST_NEON(ssra_0, ssra(v0.V8B(), v1.V8B(), 5))
1996*f5c631daSSadaf Ebrahimi TEST_NEON(ssra_1, ssra(v0.V16B(), v1.V16B(), 7))
1997*f5c631daSSadaf Ebrahimi TEST_NEON(ssra_2, ssra(v0.V4H(), v1.V4H(), 14))
1998*f5c631daSSadaf Ebrahimi TEST_NEON(ssra_3, ssra(v0.V8H(), v1.V8H(), 6))
1999*f5c631daSSadaf Ebrahimi TEST_NEON(ssra_4, ssra(v0.V2S(), v1.V2S(), 12))
2000*f5c631daSSadaf Ebrahimi TEST_NEON(ssra_5, ssra(v0.V4S(), v1.V4S(), 4))
2001*f5c631daSSadaf Ebrahimi TEST_NEON(ssra_6, ssra(v0.V2D(), v1.V2D(), 16))
2002*f5c631daSSadaf Ebrahimi TEST_NEON(ssra_7, ssra(d0, d1, 53))
2003*f5c631daSSadaf Ebrahimi TEST_NEON(ssubl_0, ssubl(v0.V8H(), v1.V8B(), v2.V8B()))
2004*f5c631daSSadaf Ebrahimi TEST_NEON(ssubl_1, ssubl(v0.V4S(), v1.V4H(), v2.V4H()))
2005*f5c631daSSadaf Ebrahimi TEST_NEON(ssubl_2, ssubl(v0.V2D(), v1.V2S(), v2.V2S()))
2006*f5c631daSSadaf Ebrahimi TEST_NEON(ssubl2_0, ssubl2(v0.V8H(), v1.V16B(), v2.V16B()))
2007*f5c631daSSadaf Ebrahimi TEST_NEON(ssubl2_1, ssubl2(v0.V4S(), v1.V8H(), v2.V8H()))
2008*f5c631daSSadaf Ebrahimi TEST_NEON(ssubl2_2, ssubl2(v0.V2D(), v1.V4S(), v2.V4S()))
2009*f5c631daSSadaf Ebrahimi TEST_NEON(ssubw_0, ssubw(v0.V8H(), v1.V8H(), v2.V8B()))
2010*f5c631daSSadaf Ebrahimi TEST_NEON(ssubw_1, ssubw(v0.V4S(), v1.V4S(), v2.V4H()))
2011*f5c631daSSadaf Ebrahimi TEST_NEON(ssubw_2, ssubw(v0.V2D(), v1.V2D(), v2.V2S()))
2012*f5c631daSSadaf Ebrahimi TEST_NEON(ssubw2_0, ssubw2(v0.V8H(), v1.V8H(), v2.V16B()))
2013*f5c631daSSadaf Ebrahimi TEST_NEON(ssubw2_1, ssubw2(v0.V4S(), v1.V4S(), v2.V8H()))
2014*f5c631daSSadaf Ebrahimi TEST_NEON(ssubw2_2, ssubw2(v0.V2D(), v1.V2D(), v2.V4S()))
2015*f5c631daSSadaf Ebrahimi TEST_NEON(st1_0, st1(v0.V8B(), MemOperand(x1)))
2016*f5c631daSSadaf Ebrahimi TEST_NEON(st1_1, st1(v0.V16B(), MemOperand(x1)))
2017*f5c631daSSadaf Ebrahimi TEST_NEON(st1_2, st1(v0.V4H(), MemOperand(x1)))
2018*f5c631daSSadaf Ebrahimi TEST_NEON(st1_3, st1(v0.V8H(), MemOperand(x1)))
2019*f5c631daSSadaf Ebrahimi TEST_NEON(st1_4, st1(v0.V2S(), MemOperand(x1)))
2020*f5c631daSSadaf Ebrahimi TEST_NEON(st1_5, st1(v0.V4S(), MemOperand(x1)))
2021*f5c631daSSadaf Ebrahimi TEST_NEON(st1_6, st1(v0.V1D(), MemOperand(x1)))
2022*f5c631daSSadaf Ebrahimi TEST_NEON(st1_7, st1(v0.V2D(), MemOperand(x1)))
2023*f5c631daSSadaf Ebrahimi TEST_NEON(st1_8, st1(v0.V8B(), v1.V8B(), MemOperand(x2)))
2024*f5c631daSSadaf Ebrahimi TEST_NEON(st1_9, st1(v0.V16B(), v1.V16B(), MemOperand(x2)))
2025*f5c631daSSadaf Ebrahimi TEST_NEON(st1_10, st1(v0.V4H(), v1.V4H(), MemOperand(x2)))
2026*f5c631daSSadaf Ebrahimi TEST_NEON(st1_11, st1(v0.V8H(), v1.V8H(), MemOperand(x2)))
2027*f5c631daSSadaf Ebrahimi TEST_NEON(st1_12, st1(v0.V2S(), v1.V2S(), MemOperand(x2)))
2028*f5c631daSSadaf Ebrahimi TEST_NEON(st1_13, st1(v0.V4S(), v1.V4S(), MemOperand(x2)))
2029*f5c631daSSadaf Ebrahimi TEST_NEON(st1_14, st1(v0.V1D(), v1.V1D(), MemOperand(x2)))
2030*f5c631daSSadaf Ebrahimi TEST_NEON(st1_15, st1(v0.V2D(), v1.V2D(), MemOperand(x2)))
2031*f5c631daSSadaf Ebrahimi TEST_NEON(st1_16, st1(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3)))
2032*f5c631daSSadaf Ebrahimi TEST_NEON(st1_17, st1(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3)))
2033*f5c631daSSadaf Ebrahimi TEST_NEON(st1_18, st1(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3)))
2034*f5c631daSSadaf Ebrahimi TEST_NEON(st1_19, st1(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3)))
2035*f5c631daSSadaf Ebrahimi TEST_NEON(st1_20, st1(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3)))
2036*f5c631daSSadaf Ebrahimi TEST_NEON(st1_21, st1(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3)))
2037*f5c631daSSadaf Ebrahimi TEST_NEON(st1_22, st1(v0.V1D(), v1.V1D(), v2.V1D(), MemOperand(x3)))
2038*f5c631daSSadaf Ebrahimi TEST_NEON(st1_23, st1(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3)))
2039*f5c631daSSadaf Ebrahimi TEST_NEON(st1_24, st1(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4)))
2040*f5c631daSSadaf Ebrahimi TEST_NEON(st1_25,
2041*f5c631daSSadaf Ebrahimi           st1(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B(), MemOperand(x4)))
2042*f5c631daSSadaf Ebrahimi TEST_NEON(st1_26, st1(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4)))
2043*f5c631daSSadaf Ebrahimi TEST_NEON(st1_27, st1(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4)))
2044*f5c631daSSadaf Ebrahimi TEST_NEON(st1_28, st1(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4)))
2045*f5c631daSSadaf Ebrahimi TEST_NEON(st1_29, st1(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4)))
2046*f5c631daSSadaf Ebrahimi TEST_NEON(st1_30, st1(v0.V1D(), v1.V1D(), v2.V1D(), v3.V1D(), MemOperand(x4)))
2047*f5c631daSSadaf Ebrahimi TEST_NEON(st1_31, st1(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4)))
2048*f5c631daSSadaf Ebrahimi TEST_NEON(st1_32, st1(v0.V8B(), MemOperand(x1, 8, PostIndex)))
2049*f5c631daSSadaf Ebrahimi TEST_NEON(st1_33, st1(v0.V16B(), MemOperand(x1, 16, PostIndex)))
2050*f5c631daSSadaf Ebrahimi TEST_NEON(st1_34, st1(v0.V4H(), MemOperand(x1, 8, PostIndex)))
2051*f5c631daSSadaf Ebrahimi TEST_NEON(st1_35, st1(v0.V8H(), MemOperand(x1, 16, PostIndex)))
2052*f5c631daSSadaf Ebrahimi TEST_NEON(st1_36, st1(v0.V2S(), MemOperand(x1, 8, PostIndex)))
2053*f5c631daSSadaf Ebrahimi TEST_NEON(st1_37, st1(v0.V4S(), MemOperand(x1, 16, PostIndex)))
2054*f5c631daSSadaf Ebrahimi TEST_NEON(st1_38, st1(v0.V1D(), MemOperand(x1, 8, PostIndex)))
2055*f5c631daSSadaf Ebrahimi TEST_NEON(st1_39, st1(v0.V2D(), MemOperand(x1, 16, PostIndex)))
2056*f5c631daSSadaf Ebrahimi TEST_NEON(st1_40, st1(v0.V8B(), v1.V8B(), MemOperand(x2, 16, PostIndex)))
2057*f5c631daSSadaf Ebrahimi TEST_NEON(st1_41, st1(v0.V16B(), v1.V16B(), MemOperand(x2, 32, PostIndex)))
2058*f5c631daSSadaf Ebrahimi TEST_NEON(st1_42, st1(v0.V4H(), v1.V4H(), MemOperand(x2, 16, PostIndex)))
2059*f5c631daSSadaf Ebrahimi TEST_NEON(st1_43, st1(v0.V8H(), v1.V8H(), MemOperand(x2, 32, PostIndex)))
2060*f5c631daSSadaf Ebrahimi TEST_NEON(st1_44, st1(v0.V2S(), v1.V2S(), MemOperand(x2, 16, PostIndex)))
2061*f5c631daSSadaf Ebrahimi TEST_NEON(st1_45, st1(v0.V4S(), v1.V4S(), MemOperand(x2, 32, PostIndex)))
2062*f5c631daSSadaf Ebrahimi TEST_NEON(st1_46, st1(v0.V1D(), v1.V1D(), MemOperand(x2, 16, PostIndex)))
2063*f5c631daSSadaf Ebrahimi TEST_NEON(st1_47, st1(v0.V2D(), v1.V2D(), MemOperand(x2, 32, PostIndex)))
2064*f5c631daSSadaf Ebrahimi TEST_NEON(st1_48,
2065*f5c631daSSadaf Ebrahimi           st1(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3, 24, PostIndex)))
2066*f5c631daSSadaf Ebrahimi TEST_NEON(st1_49,
2067*f5c631daSSadaf Ebrahimi           st1(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3, 48, PostIndex)))
2068*f5c631daSSadaf Ebrahimi TEST_NEON(st1_50,
2069*f5c631daSSadaf Ebrahimi           st1(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3, 24, PostIndex)))
2070*f5c631daSSadaf Ebrahimi TEST_NEON(st1_51,
2071*f5c631daSSadaf Ebrahimi           st1(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3, 48, PostIndex)))
2072*f5c631daSSadaf Ebrahimi TEST_NEON(st1_52,
2073*f5c631daSSadaf Ebrahimi           st1(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3, 24, PostIndex)))
2074*f5c631daSSadaf Ebrahimi TEST_NEON(st1_53,
2075*f5c631daSSadaf Ebrahimi           st1(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3, 48, PostIndex)))
2076*f5c631daSSadaf Ebrahimi TEST_NEON(st1_54,
2077*f5c631daSSadaf Ebrahimi           st1(v0.V1D(), v1.V1D(), v2.V1D(), MemOperand(x3, 24, PostIndex)))
2078*f5c631daSSadaf Ebrahimi TEST_NEON(st1_55,
2079*f5c631daSSadaf Ebrahimi           st1(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3, 48, PostIndex)))
2080*f5c631daSSadaf Ebrahimi TEST_NEON(
2081*f5c631daSSadaf Ebrahimi     st1_56,
2082*f5c631daSSadaf Ebrahimi     st1(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4, 32, PostIndex)))
2083*f5c631daSSadaf Ebrahimi TEST_NEON(st1_57,
2084*f5c631daSSadaf Ebrahimi           st1(v0.V16B(),
2085*f5c631daSSadaf Ebrahimi               v1.V16B(),
2086*f5c631daSSadaf Ebrahimi               v2.V16B(),
2087*f5c631daSSadaf Ebrahimi               v3.V16B(),
2088*f5c631daSSadaf Ebrahimi               MemOperand(x4, 64, PostIndex)))
2089*f5c631daSSadaf Ebrahimi TEST_NEON(
2090*f5c631daSSadaf Ebrahimi     st1_58,
2091*f5c631daSSadaf Ebrahimi     st1(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4, 32, PostIndex)))
2092*f5c631daSSadaf Ebrahimi TEST_NEON(
2093*f5c631daSSadaf Ebrahimi     st1_59,
2094*f5c631daSSadaf Ebrahimi     st1(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4, 64, PostIndex)))
2095*f5c631daSSadaf Ebrahimi TEST_NEON(
2096*f5c631daSSadaf Ebrahimi     st1_60,
2097*f5c631daSSadaf Ebrahimi     st1(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4, 32, PostIndex)))
2098*f5c631daSSadaf Ebrahimi TEST_NEON(
2099*f5c631daSSadaf Ebrahimi     st1_61,
2100*f5c631daSSadaf Ebrahimi     st1(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4, 64, PostIndex)))
2101*f5c631daSSadaf Ebrahimi TEST_NEON(
2102*f5c631daSSadaf Ebrahimi     st1_62,
2103*f5c631daSSadaf Ebrahimi     st1(v0.V1D(), v1.V1D(), v2.V1D(), v3.V1D(), MemOperand(x4, 32, PostIndex)))
2104*f5c631daSSadaf Ebrahimi TEST_NEON(
2105*f5c631daSSadaf Ebrahimi     st1_63,
2106*f5c631daSSadaf Ebrahimi     st1(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4, 64, PostIndex)))
2107*f5c631daSSadaf Ebrahimi TEST_NEON(st1_64, st1(v0.V8B(), MemOperand(x1, x2, PostIndex)))
2108*f5c631daSSadaf Ebrahimi TEST_NEON(st1_65, st1(v0.V16B(), MemOperand(x1, x2, PostIndex)))
2109*f5c631daSSadaf Ebrahimi TEST_NEON(st1_66, st1(v0.V4H(), MemOperand(x1, x2, PostIndex)))
2110*f5c631daSSadaf Ebrahimi TEST_NEON(st1_67, st1(v0.V8H(), MemOperand(x1, x2, PostIndex)))
2111*f5c631daSSadaf Ebrahimi TEST_NEON(st1_68, st1(v0.V2S(), MemOperand(x1, x2, PostIndex)))
2112*f5c631daSSadaf Ebrahimi TEST_NEON(st1_69, st1(v0.V4S(), MemOperand(x1, x2, PostIndex)))
2113*f5c631daSSadaf Ebrahimi TEST_NEON(st1_70, st1(v0.V1D(), MemOperand(x1, x2, PostIndex)))
2114*f5c631daSSadaf Ebrahimi TEST_NEON(st1_71, st1(v0.V2D(), MemOperand(x1, x2, PostIndex)))
2115*f5c631daSSadaf Ebrahimi TEST_NEON(st1_72, st1(v0.V8B(), v1.V8B(), MemOperand(x2, x3, PostIndex)))
2116*f5c631daSSadaf Ebrahimi TEST_NEON(st1_73, st1(v0.V16B(), v1.V16B(), MemOperand(x2, x3, PostIndex)))
2117*f5c631daSSadaf Ebrahimi TEST_NEON(st1_74, st1(v0.V4H(), v1.V4H(), MemOperand(x2, x3, PostIndex)))
2118*f5c631daSSadaf Ebrahimi TEST_NEON(st1_75, st1(v0.V8H(), v1.V8H(), MemOperand(x2, x3, PostIndex)))
2119*f5c631daSSadaf Ebrahimi TEST_NEON(st1_76, st1(v0.V2S(), v1.V2S(), MemOperand(x2, x3, PostIndex)))
2120*f5c631daSSadaf Ebrahimi TEST_NEON(st1_77, st1(v0.V4S(), v1.V4S(), MemOperand(x2, x3, PostIndex)))
2121*f5c631daSSadaf Ebrahimi TEST_NEON(st1_78, st1(v0.V1D(), v1.V1D(), MemOperand(x2, x3, PostIndex)))
2122*f5c631daSSadaf Ebrahimi TEST_NEON(st1_79, st1(v0.V2D(), v1.V2D(), MemOperand(x2, x3, PostIndex)))
2123*f5c631daSSadaf Ebrahimi TEST_NEON(st1_80,
2124*f5c631daSSadaf Ebrahimi           st1(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3, x4, PostIndex)))
2125*f5c631daSSadaf Ebrahimi TEST_NEON(st1_81,
2126*f5c631daSSadaf Ebrahimi           st1(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3, x4, PostIndex)))
2127*f5c631daSSadaf Ebrahimi TEST_NEON(st1_82,
2128*f5c631daSSadaf Ebrahimi           st1(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3, x4, PostIndex)))
2129*f5c631daSSadaf Ebrahimi TEST_NEON(st1_83,
2130*f5c631daSSadaf Ebrahimi           st1(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3, x4, PostIndex)))
2131*f5c631daSSadaf Ebrahimi TEST_NEON(st1_84,
2132*f5c631daSSadaf Ebrahimi           st1(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3, x4, PostIndex)))
2133*f5c631daSSadaf Ebrahimi TEST_NEON(st1_85,
2134*f5c631daSSadaf Ebrahimi           st1(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3, x4, PostIndex)))
2135*f5c631daSSadaf Ebrahimi TEST_NEON(st1_86,
2136*f5c631daSSadaf Ebrahimi           st1(v0.V1D(), v1.V1D(), v2.V1D(), MemOperand(x3, x4, PostIndex)))
2137*f5c631daSSadaf Ebrahimi TEST_NEON(st1_87,
2138*f5c631daSSadaf Ebrahimi           st1(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3, x4, PostIndex)))
2139*f5c631daSSadaf Ebrahimi TEST_NEON(
2140*f5c631daSSadaf Ebrahimi     st1_88,
2141*f5c631daSSadaf Ebrahimi     st1(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4, x5, PostIndex)))
2142*f5c631daSSadaf Ebrahimi TEST_NEON(st1_89,
2143*f5c631daSSadaf Ebrahimi           st1(v0.V16B(),
2144*f5c631daSSadaf Ebrahimi               v1.V16B(),
2145*f5c631daSSadaf Ebrahimi               v2.V16B(),
2146*f5c631daSSadaf Ebrahimi               v3.V16B(),
2147*f5c631daSSadaf Ebrahimi               MemOperand(x4, x5, PostIndex)))
2148*f5c631daSSadaf Ebrahimi TEST_NEON(
2149*f5c631daSSadaf Ebrahimi     st1_90,
2150*f5c631daSSadaf Ebrahimi     st1(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4, x5, PostIndex)))
2151*f5c631daSSadaf Ebrahimi TEST_NEON(
2152*f5c631daSSadaf Ebrahimi     st1_91,
2153*f5c631daSSadaf Ebrahimi     st1(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4, x5, PostIndex)))
2154*f5c631daSSadaf Ebrahimi TEST_NEON(
2155*f5c631daSSadaf Ebrahimi     st1_92,
2156*f5c631daSSadaf Ebrahimi     st1(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4, x5, PostIndex)))
2157*f5c631daSSadaf Ebrahimi TEST_NEON(
2158*f5c631daSSadaf Ebrahimi     st1_93,
2159*f5c631daSSadaf Ebrahimi     st1(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4, x5, PostIndex)))
2160*f5c631daSSadaf Ebrahimi TEST_NEON(
2161*f5c631daSSadaf Ebrahimi     st1_94,
2162*f5c631daSSadaf Ebrahimi     st1(v0.V1D(), v1.V1D(), v2.V1D(), v3.V1D(), MemOperand(x4, x5, PostIndex)))
2163*f5c631daSSadaf Ebrahimi TEST_NEON(
2164*f5c631daSSadaf Ebrahimi     st1_95,
2165*f5c631daSSadaf Ebrahimi     st1(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4, x5, PostIndex)))
2166*f5c631daSSadaf Ebrahimi TEST_NEON(st1_96, st1(v0.B(), 13, MemOperand(x1)))
2167*f5c631daSSadaf Ebrahimi TEST_NEON(st1_97, st1(v0.D(), 0, MemOperand(x1)))
2168*f5c631daSSadaf Ebrahimi TEST_NEON(st1_98, st1(v0.H(), 2, MemOperand(x1)))
2169*f5c631daSSadaf Ebrahimi TEST_NEON(st1_99, st1(v0.S(), 2, MemOperand(x1)))
2170*f5c631daSSadaf Ebrahimi TEST_NEON(st1_100, st1(v0.B(), 0, MemOperand(x1, 1, PostIndex)))
2171*f5c631daSSadaf Ebrahimi TEST_NEON(st1_101, st1(v0.B(), 7, MemOperand(x1, x2, PostIndex)))
2172*f5c631daSSadaf Ebrahimi TEST_NEON(st1_102, st1(v0.D(), 1, MemOperand(x1, 8, PostIndex)))
2173*f5c631daSSadaf Ebrahimi TEST_NEON(st1_103, st1(v0.D(), 1, MemOperand(x1, x2, PostIndex)))
2174*f5c631daSSadaf Ebrahimi TEST_NEON(st1_104, st1(v0.H(), 6, MemOperand(x1, 2, PostIndex)))
2175*f5c631daSSadaf Ebrahimi TEST_NEON(st1_105, st1(v0.H(), 7, MemOperand(x1, x2, PostIndex)))
2176*f5c631daSSadaf Ebrahimi TEST_NEON(st1_106, st1(v0.S(), 0, MemOperand(x1, 4, PostIndex)))
2177*f5c631daSSadaf Ebrahimi TEST_NEON(st1_107, st1(v0.S(), 2, MemOperand(x1, x2, PostIndex)))
2178*f5c631daSSadaf Ebrahimi TEST_NEON(st2_0, st2(v0.V8B(), v1.V8B(), MemOperand(x2)))
2179*f5c631daSSadaf Ebrahimi TEST_NEON(st2_1, st2(v0.V16B(), v1.V16B(), MemOperand(x2)))
2180*f5c631daSSadaf Ebrahimi TEST_NEON(st2_2, st2(v0.V4H(), v1.V4H(), MemOperand(x2)))
2181*f5c631daSSadaf Ebrahimi TEST_NEON(st2_3, st2(v0.V8H(), v1.V8H(), MemOperand(x2)))
2182*f5c631daSSadaf Ebrahimi TEST_NEON(st2_4, st2(v0.V2S(), v1.V2S(), MemOperand(x2)))
2183*f5c631daSSadaf Ebrahimi TEST_NEON(st2_5, st2(v0.V4S(), v1.V4S(), MemOperand(x2)))
2184*f5c631daSSadaf Ebrahimi TEST_NEON(st2_6, st2(v0.V2D(), v1.V2D(), MemOperand(x2)))
2185*f5c631daSSadaf Ebrahimi TEST_NEON(st2_7, st2(v0.V8B(), v1.V8B(), MemOperand(x2, 16, PostIndex)))
2186*f5c631daSSadaf Ebrahimi TEST_NEON(st2_8, st2(v0.V16B(), v1.V16B(), MemOperand(x2, 32, PostIndex)))
2187*f5c631daSSadaf Ebrahimi TEST_NEON(st2_9, st2(v0.V4H(), v1.V4H(), MemOperand(x2, 16, PostIndex)))
2188*f5c631daSSadaf Ebrahimi TEST_NEON(st2_10, st2(v0.V8H(), v1.V8H(), MemOperand(x2, 32, PostIndex)))
2189*f5c631daSSadaf Ebrahimi TEST_NEON(st2_11, st2(v0.V2S(), v1.V2S(), MemOperand(x2, 16, PostIndex)))
2190*f5c631daSSadaf Ebrahimi TEST_NEON(st2_12, st2(v0.V4S(), v1.V4S(), MemOperand(x2, 32, PostIndex)))
2191*f5c631daSSadaf Ebrahimi TEST_NEON(st2_13, st2(v0.V2D(), v1.V2D(), MemOperand(x2, 32, PostIndex)))
2192*f5c631daSSadaf Ebrahimi TEST_NEON(st2_14, st2(v0.V8B(), v1.V8B(), MemOperand(x2, x3, PostIndex)))
2193*f5c631daSSadaf Ebrahimi TEST_NEON(st2_15, st2(v0.V16B(), v1.V16B(), MemOperand(x2, x3, PostIndex)))
2194*f5c631daSSadaf Ebrahimi TEST_NEON(st2_16, st2(v0.V4H(), v1.V4H(), MemOperand(x2, x3, PostIndex)))
2195*f5c631daSSadaf Ebrahimi TEST_NEON(st2_17, st2(v0.V8H(), v1.V8H(), MemOperand(x2, x3, PostIndex)))
2196*f5c631daSSadaf Ebrahimi TEST_NEON(st2_18, st2(v0.V2S(), v1.V2S(), MemOperand(x2, x3, PostIndex)))
2197*f5c631daSSadaf Ebrahimi TEST_NEON(st2_19, st2(v0.V4S(), v1.V4S(), MemOperand(x2, x3, PostIndex)))
2198*f5c631daSSadaf Ebrahimi TEST_NEON(st2_20, st2(v0.V2D(), v1.V2D(), MemOperand(x2, x3, PostIndex)))
2199*f5c631daSSadaf Ebrahimi TEST_NEON(st2_21, st2(v0.B(), v1.B(), 0, MemOperand(x2)))
2200*f5c631daSSadaf Ebrahimi TEST_NEON(st2_22, st2(v0.D(), v1.D(), 1, MemOperand(x2)))
2201*f5c631daSSadaf Ebrahimi TEST_NEON(st2_23, st2(v0.H(), v1.H(), 5, MemOperand(x2)))
2202*f5c631daSSadaf Ebrahimi TEST_NEON(st2_24, st2(v0.S(), v1.S(), 1, MemOperand(x2)))
2203*f5c631daSSadaf Ebrahimi TEST_NEON(st2_25, st2(v0.B(), v1.B(), 13, MemOperand(x2, 2, PostIndex)))
2204*f5c631daSSadaf Ebrahimi TEST_NEON(st2_26, st2(v0.B(), v1.B(), 14, MemOperand(x2, x3, PostIndex)))
2205*f5c631daSSadaf Ebrahimi TEST_NEON(st2_27, st2(v0.D(), v1.D(), 1, MemOperand(x2, 16, PostIndex)))
2206*f5c631daSSadaf Ebrahimi TEST_NEON(st2_28, st2(v0.D(), v1.D(), 1, MemOperand(x2, x3, PostIndex)))
2207*f5c631daSSadaf Ebrahimi TEST_NEON(st2_29, st2(v0.H(), v1.H(), 2, MemOperand(x2, 4, PostIndex)))
2208*f5c631daSSadaf Ebrahimi TEST_NEON(st2_30, st2(v0.H(), v1.H(), 4, MemOperand(x2, x3, PostIndex)))
2209*f5c631daSSadaf Ebrahimi TEST_NEON(st2_31, st2(v0.S(), v1.S(), 0, MemOperand(x2, 8, PostIndex)))
2210*f5c631daSSadaf Ebrahimi TEST_NEON(st2_32, st2(v0.S(), v1.S(), 0, MemOperand(x2, x3, PostIndex)))
2211*f5c631daSSadaf Ebrahimi TEST_NEON(st3_0, st3(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3)))
2212*f5c631daSSadaf Ebrahimi TEST_NEON(st3_1, st3(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3)))
2213*f5c631daSSadaf Ebrahimi TEST_NEON(st3_2, st3(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3)))
2214*f5c631daSSadaf Ebrahimi TEST_NEON(st3_3, st3(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3)))
2215*f5c631daSSadaf Ebrahimi TEST_NEON(st3_4, st3(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3)))
2216*f5c631daSSadaf Ebrahimi TEST_NEON(st3_5, st3(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3)))
2217*f5c631daSSadaf Ebrahimi TEST_NEON(st3_6, st3(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3)))
2218*f5c631daSSadaf Ebrahimi TEST_NEON(st3_7,
2219*f5c631daSSadaf Ebrahimi           st3(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3, 24, PostIndex)))
2220*f5c631daSSadaf Ebrahimi TEST_NEON(st3_8,
2221*f5c631daSSadaf Ebrahimi           st3(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3, 48, PostIndex)))
2222*f5c631daSSadaf Ebrahimi TEST_NEON(st3_9,
2223*f5c631daSSadaf Ebrahimi           st3(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3, 24, PostIndex)))
2224*f5c631daSSadaf Ebrahimi TEST_NEON(st3_10,
2225*f5c631daSSadaf Ebrahimi           st3(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3, 48, PostIndex)))
2226*f5c631daSSadaf Ebrahimi TEST_NEON(st3_11,
2227*f5c631daSSadaf Ebrahimi           st3(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3, 24, PostIndex)))
2228*f5c631daSSadaf Ebrahimi TEST_NEON(st3_12,
2229*f5c631daSSadaf Ebrahimi           st3(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3, 48, PostIndex)))
2230*f5c631daSSadaf Ebrahimi TEST_NEON(st3_13,
2231*f5c631daSSadaf Ebrahimi           st3(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3, 48, PostIndex)))
2232*f5c631daSSadaf Ebrahimi TEST_NEON(st3_14,
2233*f5c631daSSadaf Ebrahimi           st3(v0.V8B(), v1.V8B(), v2.V8B(), MemOperand(x3, x4, PostIndex)))
2234*f5c631daSSadaf Ebrahimi TEST_NEON(st3_15,
2235*f5c631daSSadaf Ebrahimi           st3(v0.V16B(), v1.V16B(), v2.V16B(), MemOperand(x3, x4, PostIndex)))
2236*f5c631daSSadaf Ebrahimi TEST_NEON(st3_16,
2237*f5c631daSSadaf Ebrahimi           st3(v0.V4H(), v1.V4H(), v2.V4H(), MemOperand(x3, x4, PostIndex)))
2238*f5c631daSSadaf Ebrahimi TEST_NEON(st3_17,
2239*f5c631daSSadaf Ebrahimi           st3(v0.V8H(), v1.V8H(), v2.V8H(), MemOperand(x3, x4, PostIndex)))
2240*f5c631daSSadaf Ebrahimi TEST_NEON(st3_18,
2241*f5c631daSSadaf Ebrahimi           st3(v0.V2S(), v1.V2S(), v2.V2S(), MemOperand(x3, x4, PostIndex)))
2242*f5c631daSSadaf Ebrahimi TEST_NEON(st3_19,
2243*f5c631daSSadaf Ebrahimi           st3(v0.V4S(), v1.V4S(), v2.V4S(), MemOperand(x3, x4, PostIndex)))
2244*f5c631daSSadaf Ebrahimi TEST_NEON(st3_20,
2245*f5c631daSSadaf Ebrahimi           st3(v0.V2D(), v1.V2D(), v2.V2D(), MemOperand(x3, x4, PostIndex)))
2246*f5c631daSSadaf Ebrahimi TEST_NEON(st3_21, st3(v0.B(), v1.B(), v2.B(), 1, MemOperand(x3)))
2247*f5c631daSSadaf Ebrahimi TEST_NEON(st3_22, st3(v0.D(), v1.D(), v2.D(), 1, MemOperand(x3)))
2248*f5c631daSSadaf Ebrahimi TEST_NEON(st3_23, st3(v0.H(), v1.H(), v2.H(), 7, MemOperand(x3)))
2249*f5c631daSSadaf Ebrahimi TEST_NEON(st3_24, st3(v0.S(), v1.S(), v2.S(), 2, MemOperand(x3)))
2250*f5c631daSSadaf Ebrahimi TEST_NEON(st3_25, st3(v0.B(), v1.B(), v2.B(), 6, MemOperand(x3, 3, PostIndex)))
2251*f5c631daSSadaf Ebrahimi TEST_NEON(st3_26,
2252*f5c631daSSadaf Ebrahimi           st3(v0.B(), v1.B(), v2.B(), 12, MemOperand(x3, x4, PostIndex)))
2253*f5c631daSSadaf Ebrahimi TEST_NEON(st3_27, st3(v0.D(), v1.D(), v2.D(), 0, MemOperand(x3, 24, PostIndex)))
2254*f5c631daSSadaf Ebrahimi TEST_NEON(st3_28, st3(v0.D(), v1.D(), v2.D(), 0, MemOperand(x3, x4, PostIndex)))
2255*f5c631daSSadaf Ebrahimi TEST_NEON(st3_29, st3(v0.H(), v1.H(), v2.H(), 0, MemOperand(x3, 6, PostIndex)))
2256*f5c631daSSadaf Ebrahimi TEST_NEON(st3_30, st3(v0.H(), v1.H(), v2.H(), 4, MemOperand(x3, x4, PostIndex)))
2257*f5c631daSSadaf Ebrahimi TEST_NEON(st3_31, st3(v0.S(), v1.S(), v2.S(), 3, MemOperand(x3, 12, PostIndex)))
2258*f5c631daSSadaf Ebrahimi TEST_NEON(st3_32, st3(v0.S(), v1.S(), v2.S(), 2, MemOperand(x3, x4, PostIndex)))
2259*f5c631daSSadaf Ebrahimi TEST_NEON(st4_0, st4(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4)))
2260*f5c631daSSadaf Ebrahimi TEST_NEON(st4_1,
2261*f5c631daSSadaf Ebrahimi           st4(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B(), MemOperand(x4)))
2262*f5c631daSSadaf Ebrahimi TEST_NEON(st4_2, st4(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4)))
2263*f5c631daSSadaf Ebrahimi TEST_NEON(st4_3, st4(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4)))
2264*f5c631daSSadaf Ebrahimi TEST_NEON(st4_4, st4(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4)))
2265*f5c631daSSadaf Ebrahimi TEST_NEON(st4_5, st4(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4)))
2266*f5c631daSSadaf Ebrahimi TEST_NEON(st4_6, st4(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4)))
2267*f5c631daSSadaf Ebrahimi TEST_NEON(
2268*f5c631daSSadaf Ebrahimi     st4_7,
2269*f5c631daSSadaf Ebrahimi     st4(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4, 32, PostIndex)))
2270*f5c631daSSadaf Ebrahimi TEST_NEON(st4_8,
2271*f5c631daSSadaf Ebrahimi           st4(v0.V16B(),
2272*f5c631daSSadaf Ebrahimi               v1.V16B(),
2273*f5c631daSSadaf Ebrahimi               v2.V16B(),
2274*f5c631daSSadaf Ebrahimi               v3.V16B(),
2275*f5c631daSSadaf Ebrahimi               MemOperand(x4, 64, PostIndex)))
2276*f5c631daSSadaf Ebrahimi TEST_NEON(
2277*f5c631daSSadaf Ebrahimi     st4_9,
2278*f5c631daSSadaf Ebrahimi     st4(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4, 32, PostIndex)))
2279*f5c631daSSadaf Ebrahimi TEST_NEON(
2280*f5c631daSSadaf Ebrahimi     st4_10,
2281*f5c631daSSadaf Ebrahimi     st4(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4, 64, PostIndex)))
2282*f5c631daSSadaf Ebrahimi TEST_NEON(
2283*f5c631daSSadaf Ebrahimi     st4_11,
2284*f5c631daSSadaf Ebrahimi     st4(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4, 32, PostIndex)))
2285*f5c631daSSadaf Ebrahimi TEST_NEON(
2286*f5c631daSSadaf Ebrahimi     st4_12,
2287*f5c631daSSadaf Ebrahimi     st4(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4, 64, PostIndex)))
2288*f5c631daSSadaf Ebrahimi TEST_NEON(
2289*f5c631daSSadaf Ebrahimi     st4_13,
2290*f5c631daSSadaf Ebrahimi     st4(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4, 64, PostIndex)))
2291*f5c631daSSadaf Ebrahimi TEST_NEON(
2292*f5c631daSSadaf Ebrahimi     st4_14,
2293*f5c631daSSadaf Ebrahimi     st4(v0.V8B(), v1.V8B(), v2.V8B(), v3.V8B(), MemOperand(x4, x5, PostIndex)))
2294*f5c631daSSadaf Ebrahimi TEST_NEON(st4_15,
2295*f5c631daSSadaf Ebrahimi           st4(v0.V16B(),
2296*f5c631daSSadaf Ebrahimi               v1.V16B(),
2297*f5c631daSSadaf Ebrahimi               v2.V16B(),
2298*f5c631daSSadaf Ebrahimi               v3.V16B(),
2299*f5c631daSSadaf Ebrahimi               MemOperand(x4, x5, PostIndex)))
2300*f5c631daSSadaf Ebrahimi TEST_NEON(
2301*f5c631daSSadaf Ebrahimi     st4_16,
2302*f5c631daSSadaf Ebrahimi     st4(v0.V4H(), v1.V4H(), v2.V4H(), v3.V4H(), MemOperand(x4, x5, PostIndex)))
2303*f5c631daSSadaf Ebrahimi TEST_NEON(
2304*f5c631daSSadaf Ebrahimi     st4_17,
2305*f5c631daSSadaf Ebrahimi     st4(v0.V8H(), v1.V8H(), v2.V8H(), v3.V8H(), MemOperand(x4, x5, PostIndex)))
2306*f5c631daSSadaf Ebrahimi TEST_NEON(
2307*f5c631daSSadaf Ebrahimi     st4_18,
2308*f5c631daSSadaf Ebrahimi     st4(v0.V2S(), v1.V2S(), v2.V2S(), v3.V2S(), MemOperand(x4, x5, PostIndex)))
2309*f5c631daSSadaf Ebrahimi TEST_NEON(
2310*f5c631daSSadaf Ebrahimi     st4_19,
2311*f5c631daSSadaf Ebrahimi     st4(v0.V4S(), v1.V4S(), v2.V4S(), v3.V4S(), MemOperand(x4, x5, PostIndex)))
2312*f5c631daSSadaf Ebrahimi TEST_NEON(
2313*f5c631daSSadaf Ebrahimi     st4_20,
2314*f5c631daSSadaf Ebrahimi     st4(v0.V2D(), v1.V2D(), v2.V2D(), v3.V2D(), MemOperand(x4, x5, PostIndex)))
2315*f5c631daSSadaf Ebrahimi TEST_NEON(st4_21, st4(v0.B(), v1.B(), v2.B(), v3.B(), 1, MemOperand(x4)))
2316*f5c631daSSadaf Ebrahimi TEST_NEON(st4_22, st4(v0.D(), v1.D(), v2.D(), v3.D(), 0, MemOperand(x4)))
2317*f5c631daSSadaf Ebrahimi TEST_NEON(st4_23, st4(v0.H(), v1.H(), v2.H(), v3.H(), 6, MemOperand(x4)))
2318*f5c631daSSadaf Ebrahimi TEST_NEON(st4_24, st4(v0.S(), v1.S(), v2.S(), v3.S(), 0, MemOperand(x4)))
2319*f5c631daSSadaf Ebrahimi TEST_NEON(st4_25,
2320*f5c631daSSadaf Ebrahimi           st4(v0.B(), v1.B(), v2.B(), v3.B(), 4, MemOperand(x4, 4, PostIndex)))
2321*f5c631daSSadaf Ebrahimi TEST_NEON(st4_26,
2322*f5c631daSSadaf Ebrahimi           st4(v0.B(), v1.B(), v2.B(), v3.B(), 4, MemOperand(x4, x5, PostIndex)))
2323*f5c631daSSadaf Ebrahimi TEST_NEON(st4_27,
2324*f5c631daSSadaf Ebrahimi           st4(v0.D(), v1.D(), v2.D(), v3.D(), 1, MemOperand(x4, 32, PostIndex)))
2325*f5c631daSSadaf Ebrahimi TEST_NEON(st4_28,
2326*f5c631daSSadaf Ebrahimi           st4(v0.D(), v1.D(), v2.D(), v3.D(), 0, MemOperand(x4, x5, PostIndex)))
2327*f5c631daSSadaf Ebrahimi TEST_NEON(st4_29,
2328*f5c631daSSadaf Ebrahimi           st4(v0.H(), v1.H(), v2.H(), v3.H(), 0, MemOperand(x4, 8, PostIndex)))
2329*f5c631daSSadaf Ebrahimi TEST_NEON(st4_30,
2330*f5c631daSSadaf Ebrahimi           st4(v0.H(), v1.H(), v2.H(), v3.H(), 7, MemOperand(x4, x5, PostIndex)))
2331*f5c631daSSadaf Ebrahimi TEST_NEON(st4_31,
2332*f5c631daSSadaf Ebrahimi           st4(v0.S(), v1.S(), v2.S(), v3.S(), 0, MemOperand(x4, 16, PostIndex)))
2333*f5c631daSSadaf Ebrahimi TEST_NEON(st4_32,
2334*f5c631daSSadaf Ebrahimi           st4(v0.S(), v1.S(), v2.S(), v3.S(), 3, MemOperand(x4, x5, PostIndex)))
2335*f5c631daSSadaf Ebrahimi TEST_NEON(stnp_0, stnp(d0, d1, MemOperand(x2, 304)))
2336*f5c631daSSadaf Ebrahimi TEST_NEON(stnp_1, stnp(q0, q1, MemOperand(x2, 480)))
2337*f5c631daSSadaf Ebrahimi TEST_NEON(stnp_2, stnp(s0, s1, MemOperand(x2, -12)))
2338*f5c631daSSadaf Ebrahimi TEST_NEON(stp_0, stp(d0, d1, MemOperand(x2, 168)))
2339*f5c631daSSadaf Ebrahimi TEST_NEON(stp_1, stp(d0, d1, MemOperand(x2, -376, PostIndex)))
2340*f5c631daSSadaf Ebrahimi TEST_NEON(stp_2, stp(d0, d1, MemOperand(x2, 296, PreIndex)))
2341*f5c631daSSadaf Ebrahimi TEST_NEON(stp_3, stp(q0, q1, MemOperand(x2, -80)))
2342*f5c631daSSadaf Ebrahimi TEST_NEON(stp_4, stp(q0, q1, MemOperand(x2, -768, PostIndex)))
2343*f5c631daSSadaf Ebrahimi TEST_NEON(stp_5, stp(q0, q1, MemOperand(x2, -288, PreIndex)))
2344*f5c631daSSadaf Ebrahimi TEST_NEON(stp_6, stp(s0, s1, MemOperand(x2, -256)))
2345*f5c631daSSadaf Ebrahimi TEST_NEON(stp_7, stp(s0, s1, MemOperand(x2, 208, PostIndex)))
2346*f5c631daSSadaf Ebrahimi TEST_NEON(stp_8, stp(s0, s1, MemOperand(x2, -4, PreIndex)))
2347*f5c631daSSadaf Ebrahimi TEST_NEON(str_0, str(b0, MemOperand(x1, -45, PostIndex)))
2348*f5c631daSSadaf Ebrahimi TEST_NEON(str_1, str(b0, MemOperand(x1, -154, PreIndex)))
2349*f5c631daSSadaf Ebrahimi TEST_NEON(str_2, str(b0, MemOperand(x1, 992)))
2350*f5c631daSSadaf Ebrahimi TEST_NEON(str_3, str(d0, MemOperand(x1, -181, PostIndex)))
2351*f5c631daSSadaf Ebrahimi TEST_NEON(str_4, str(d0, MemOperand(x1, 91, PreIndex)))
2352*f5c631daSSadaf Ebrahimi TEST_NEON(str_5, str(d0, MemOperand(x1, 32672)))
2353*f5c631daSSadaf Ebrahimi TEST_NEON(str_6, str(h0, MemOperand(x1, -5, PostIndex)))
2354*f5c631daSSadaf Ebrahimi TEST_NEON(str_7, str(h0, MemOperand(x1, 213, PreIndex)))
2355*f5c631daSSadaf Ebrahimi TEST_NEON(str_8, str(h0, MemOperand(x1, 6406)))
2356*f5c631daSSadaf Ebrahimi TEST_NEON(str_9, str(q0, MemOperand(x1, -87, PostIndex)))
2357*f5c631daSSadaf Ebrahimi TEST_NEON(str_10, str(q0, MemOperand(x1, 198, PreIndex)))
2358*f5c631daSSadaf Ebrahimi TEST_NEON(str_11, str(q0, MemOperand(x1, 56032)))
2359*f5c631daSSadaf Ebrahimi TEST_NEON(str_12, str(s0, MemOperand(x1, -81, PostIndex)))
2360*f5c631daSSadaf Ebrahimi TEST_NEON(str_13, str(s0, MemOperand(x1, -126, PreIndex)))
2361*f5c631daSSadaf Ebrahimi TEST_NEON(str_14, str(s0, MemOperand(x1, 15692)))
2362*f5c631daSSadaf Ebrahimi TEST_NEON(str_15, str(b0, MemOperand(x1, x2, LSL, 0)))
2363*f5c631daSSadaf Ebrahimi TEST_NEON(str_16, str(b0, MemOperand(x1, w2, SXTW, 0)))
2364*f5c631daSSadaf Ebrahimi TEST_NEON(str_17, str(d0, MemOperand(x1, w2, SXTW, 0)))
2365*f5c631daSSadaf Ebrahimi TEST_NEON(str_18, str(d0, MemOperand(x1, x2, LSL, 0)))
2366*f5c631daSSadaf Ebrahimi TEST_NEON(str_19, str(h0, MemOperand(x1, w2, UXTW, 1)))
2367*f5c631daSSadaf Ebrahimi TEST_NEON(str_20, str(h0, MemOperand(x1, x2, SXTX, 1)))
2368*f5c631daSSadaf Ebrahimi TEST_NEON(str_21, str(q0, MemOperand(x1, w2, SXTW, 4)))
2369*f5c631daSSadaf Ebrahimi TEST_NEON(str_22, str(q0, MemOperand(x1, x2, SXTX, 4)))
2370*f5c631daSSadaf Ebrahimi TEST_NEON(str_23, str(s0, MemOperand(x1, w2, UXTW, 0)))
2371*f5c631daSSadaf Ebrahimi TEST_NEON(str_24, str(s0, MemOperand(x1, x2, SXTX, 2)))
2372*f5c631daSSadaf Ebrahimi TEST_NEON(stur_0, stur(b0, MemOperand(x1, 83)))
2373*f5c631daSSadaf Ebrahimi TEST_NEON(stur_1, stur(d0, MemOperand(x1, 22)))
2374*f5c631daSSadaf Ebrahimi TEST_NEON(stur_2, stur(h0, MemOperand(x1, -236)))
2375*f5c631daSSadaf Ebrahimi TEST_NEON(stur_3, stur(q0, MemOperand(x1, 13)))
2376*f5c631daSSadaf Ebrahimi TEST_NEON(stur_4, stur(s0, MemOperand(x1, 23)))
2377*f5c631daSSadaf Ebrahimi TEST_NEON(subhn_0, subhn(v0.V8B(), v1.V8H(), v2.V8H()))
2378*f5c631daSSadaf Ebrahimi TEST_NEON(subhn_1, subhn(v0.V4H(), v1.V4S(), v2.V4S()))
2379*f5c631daSSadaf Ebrahimi TEST_NEON(subhn_2, subhn(v0.V2S(), v1.V2D(), v2.V2D()))
2380*f5c631daSSadaf Ebrahimi TEST_NEON(subhn2_0, subhn2(v0.V16B(), v1.V8H(), v2.V8H()))
2381*f5c631daSSadaf Ebrahimi TEST_NEON(subhn2_1, subhn2(v0.V8H(), v1.V4S(), v2.V4S()))
2382*f5c631daSSadaf Ebrahimi TEST_NEON(subhn2_2, subhn2(v0.V4S(), v1.V2D(), v2.V2D()))
2383*f5c631daSSadaf Ebrahimi TEST_NEON(sub_0, sub(v0.V8B(), v1.V8B(), v2.V8B()))
2384*f5c631daSSadaf Ebrahimi TEST_NEON(sub_1, sub(v0.V16B(), v1.V16B(), v2.V16B()))
2385*f5c631daSSadaf Ebrahimi TEST_NEON(sub_2, sub(v0.V4H(), v1.V4H(), v2.V4H()))
2386*f5c631daSSadaf Ebrahimi TEST_NEON(sub_3, sub(v0.V8H(), v1.V8H(), v2.V8H()))
2387*f5c631daSSadaf Ebrahimi TEST_NEON(sub_4, sub(v0.V2S(), v1.V2S(), v2.V2S()))
2388*f5c631daSSadaf Ebrahimi TEST_NEON(sub_5, sub(v0.V4S(), v1.V4S(), v2.V4S()))
2389*f5c631daSSadaf Ebrahimi TEST_NEON(sub_6, sub(v0.V2D(), v1.V2D(), v2.V2D()))
2390*f5c631daSSadaf Ebrahimi TEST_NEON(sub_7, sub(d0, d1, d2))
2391*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_0, suqadd(v0.V8B(), v1.V8B()))
2392*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_1, suqadd(v0.V16B(), v1.V16B()))
2393*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_2, suqadd(v0.V4H(), v1.V4H()))
2394*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_3, suqadd(v0.V8H(), v1.V8H()))
2395*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_4, suqadd(v0.V2S(), v1.V2S()))
2396*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_5, suqadd(v0.V4S(), v1.V4S()))
2397*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_6, suqadd(v0.V2D(), v1.V2D()))
2398*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_7, suqadd(b0, b1))
2399*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_8, suqadd(h0, h1))
2400*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_9, suqadd(s0, s1))
2401*f5c631daSSadaf Ebrahimi TEST_NEON(suqadd_10, suqadd(d0, d1))
2402*f5c631daSSadaf Ebrahimi TEST_NEON(sxtl_0, sxtl(v0.V8H(), v1.V8B()))
2403*f5c631daSSadaf Ebrahimi TEST_NEON(sxtl_1, sxtl(v0.V4S(), v1.V4H()))
2404*f5c631daSSadaf Ebrahimi TEST_NEON(sxtl_2, sxtl(v0.V2D(), v1.V2S()))
2405*f5c631daSSadaf Ebrahimi TEST_NEON(sxtl2_0, sxtl2(v0.V8H(), v1.V16B()))
2406*f5c631daSSadaf Ebrahimi TEST_NEON(sxtl2_1, sxtl2(v0.V4S(), v1.V8H()))
2407*f5c631daSSadaf Ebrahimi TEST_NEON(sxtl2_2, sxtl2(v0.V2D(), v1.V4S()))
2408*f5c631daSSadaf Ebrahimi TEST_NEON(tbl_0, tbl(v0.V8B(), v1.V16B(), v2.V8B()))
2409*f5c631daSSadaf Ebrahimi TEST_NEON(tbl_1, tbl(v0.V16B(), v1.V16B(), v2.V16B()))
2410*f5c631daSSadaf Ebrahimi TEST_NEON(tbl_2, tbl(v0.V8B(), v1.V16B(), v2.V16B(), v3.V8B()))
2411*f5c631daSSadaf Ebrahimi TEST_NEON(tbl_3, tbl(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B()))
2412*f5c631daSSadaf Ebrahimi TEST_NEON(tbl_4, tbl(v0.V8B(), v1.V16B(), v2.V16B(), v3.V16B(), v4.V8B()))
2413*f5c631daSSadaf Ebrahimi TEST_NEON(tbl_5, tbl(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B(), v4.V16B()))
2414*f5c631daSSadaf Ebrahimi TEST_NEON(tbl_6,
2415*f5c631daSSadaf Ebrahimi           tbl(v0.V8B(), v1.V16B(), v2.V16B(), v3.V16B(), v4.V16B(), v5.V8B()))
2416*f5c631daSSadaf Ebrahimi TEST_NEON(tbl_7,
2417*f5c631daSSadaf Ebrahimi           tbl(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B(), v4.V16B(), v5.V16B()))
2418*f5c631daSSadaf Ebrahimi TEST_NEON(tbx_0, tbx(v0.V8B(), v1.V16B(), v2.V8B()))
2419*f5c631daSSadaf Ebrahimi TEST_NEON(tbx_1, tbx(v0.V16B(), v1.V16B(), v2.V16B()))
2420*f5c631daSSadaf Ebrahimi TEST_NEON(tbx_2, tbx(v0.V8B(), v1.V16B(), v2.V16B(), v3.V8B()))
2421*f5c631daSSadaf Ebrahimi TEST_NEON(tbx_3, tbx(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B()))
2422*f5c631daSSadaf Ebrahimi TEST_NEON(tbx_4, tbx(v0.V8B(), v1.V16B(), v2.V16B(), v3.V16B(), v4.V8B()))
2423*f5c631daSSadaf Ebrahimi TEST_NEON(tbx_5, tbx(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B(), v4.V16B()))
2424*f5c631daSSadaf Ebrahimi TEST_NEON(tbx_6,
2425*f5c631daSSadaf Ebrahimi           tbx(v0.V8B(), v1.V16B(), v2.V16B(), v3.V16B(), v4.V16B(), v5.V8B()))
2426*f5c631daSSadaf Ebrahimi TEST_NEON(tbx_7,
2427*f5c631daSSadaf Ebrahimi           tbx(v0.V16B(), v1.V16B(), v2.V16B(), v3.V16B(), v4.V16B(), v5.V16B()))
2428*f5c631daSSadaf Ebrahimi TEST_NEON(trn1_0, trn1(v0.V8B(), v1.V8B(), v2.V8B()))
2429*f5c631daSSadaf Ebrahimi TEST_NEON(trn1_1, trn1(v0.V16B(), v1.V16B(), v2.V16B()))
2430*f5c631daSSadaf Ebrahimi TEST_NEON(trn1_2, trn1(v0.V4H(), v1.V4H(), v2.V4H()))
2431*f5c631daSSadaf Ebrahimi TEST_NEON(trn1_3, trn1(v0.V8H(), v1.V8H(), v2.V8H()))
2432*f5c631daSSadaf Ebrahimi TEST_NEON(trn1_4, trn1(v0.V2S(), v1.V2S(), v2.V2S()))
2433*f5c631daSSadaf Ebrahimi TEST_NEON(trn1_5, trn1(v0.V4S(), v1.V4S(), v2.V4S()))
2434*f5c631daSSadaf Ebrahimi TEST_NEON(trn1_6, trn1(v0.V2D(), v1.V2D(), v2.V2D()))
2435*f5c631daSSadaf Ebrahimi TEST_NEON(trn2_0, trn2(v0.V8B(), v1.V8B(), v2.V8B()))
2436*f5c631daSSadaf Ebrahimi TEST_NEON(trn2_1, trn2(v0.V16B(), v1.V16B(), v2.V16B()))
2437*f5c631daSSadaf Ebrahimi TEST_NEON(trn2_2, trn2(v0.V4H(), v1.V4H(), v2.V4H()))
2438*f5c631daSSadaf Ebrahimi TEST_NEON(trn2_3, trn2(v0.V8H(), v1.V8H(), v2.V8H()))
2439*f5c631daSSadaf Ebrahimi TEST_NEON(trn2_4, trn2(v0.V2S(), v1.V2S(), v2.V2S()))
2440*f5c631daSSadaf Ebrahimi TEST_NEON(trn2_5, trn2(v0.V4S(), v1.V4S(), v2.V4S()))
2441*f5c631daSSadaf Ebrahimi TEST_NEON(trn2_6, trn2(v0.V2D(), v1.V2D(), v2.V2D()))
2442*f5c631daSSadaf Ebrahimi TEST_NEON(uabal_0, uabal(v0.V8H(), v1.V8B(), v2.V8B()))
2443*f5c631daSSadaf Ebrahimi TEST_NEON(uabal_1, uabal(v0.V4S(), v1.V4H(), v2.V4H()))
2444*f5c631daSSadaf Ebrahimi TEST_NEON(uabal_2, uabal(v0.V2D(), v1.V2S(), v2.V2S()))
2445*f5c631daSSadaf Ebrahimi TEST_NEON(uabal2_0, uabal2(v0.V8H(), v1.V16B(), v2.V16B()))
2446*f5c631daSSadaf Ebrahimi TEST_NEON(uabal2_1, uabal2(v0.V4S(), v1.V8H(), v2.V8H()))
2447*f5c631daSSadaf Ebrahimi TEST_NEON(uabal2_2, uabal2(v0.V2D(), v1.V4S(), v2.V4S()))
2448*f5c631daSSadaf Ebrahimi TEST_NEON(uaba_0, uaba(v0.V8B(), v1.V8B(), v2.V8B()))
2449*f5c631daSSadaf Ebrahimi TEST_NEON(uaba_1, uaba(v0.V16B(), v1.V16B(), v2.V16B()))
2450*f5c631daSSadaf Ebrahimi TEST_NEON(uaba_2, uaba(v0.V4H(), v1.V4H(), v2.V4H()))
2451*f5c631daSSadaf Ebrahimi TEST_NEON(uaba_3, uaba(v0.V8H(), v1.V8H(), v2.V8H()))
2452*f5c631daSSadaf Ebrahimi TEST_NEON(uaba_4, uaba(v0.V2S(), v1.V2S(), v2.V2S()))
2453*f5c631daSSadaf Ebrahimi TEST_NEON(uaba_5, uaba(v0.V4S(), v1.V4S(), v2.V4S()))
2454*f5c631daSSadaf Ebrahimi TEST_NEON(uabdl_0, uabdl(v0.V8H(), v1.V8B(), v2.V8B()))
2455*f5c631daSSadaf Ebrahimi TEST_NEON(uabdl_1, uabdl(v0.V4S(), v1.V4H(), v2.V4H()))
2456*f5c631daSSadaf Ebrahimi TEST_NEON(uabdl_2, uabdl(v0.V2D(), v1.V2S(), v2.V2S()))
2457*f5c631daSSadaf Ebrahimi TEST_NEON(uabdl2_0, uabdl2(v0.V8H(), v1.V16B(), v2.V16B()))
2458*f5c631daSSadaf Ebrahimi TEST_NEON(uabdl2_1, uabdl2(v0.V4S(), v1.V8H(), v2.V8H()))
2459*f5c631daSSadaf Ebrahimi TEST_NEON(uabdl2_2, uabdl2(v0.V2D(), v1.V4S(), v2.V4S()))
2460*f5c631daSSadaf Ebrahimi TEST_NEON(uabd_0, uabd(v0.V8B(), v1.V8B(), v2.V8B()))
2461*f5c631daSSadaf Ebrahimi TEST_NEON(uabd_1, uabd(v0.V16B(), v1.V16B(), v2.V16B()))
2462*f5c631daSSadaf Ebrahimi TEST_NEON(uabd_2, uabd(v0.V4H(), v1.V4H(), v2.V4H()))
2463*f5c631daSSadaf Ebrahimi TEST_NEON(uabd_3, uabd(v0.V8H(), v1.V8H(), v2.V8H()))
2464*f5c631daSSadaf Ebrahimi TEST_NEON(uabd_4, uabd(v0.V2S(), v1.V2S(), v2.V2S()))
2465*f5c631daSSadaf Ebrahimi TEST_NEON(uabd_5, uabd(v0.V4S(), v1.V4S(), v2.V4S()))
2466*f5c631daSSadaf Ebrahimi TEST_NEON(uadalp_0, uadalp(v0.V4H(), v1.V8B()))
2467*f5c631daSSadaf Ebrahimi TEST_NEON(uadalp_1, uadalp(v0.V8H(), v1.V16B()))
2468*f5c631daSSadaf Ebrahimi TEST_NEON(uadalp_2, uadalp(v0.V2S(), v1.V4H()))
2469*f5c631daSSadaf Ebrahimi TEST_NEON(uadalp_3, uadalp(v0.V4S(), v1.V8H()))
2470*f5c631daSSadaf Ebrahimi TEST_NEON(uadalp_4, uadalp(v0.V1D(), v1.V2S()))
2471*f5c631daSSadaf Ebrahimi TEST_NEON(uadalp_5, uadalp(v0.V2D(), v1.V4S()))
2472*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlp_0, uaddlp(v0.V4H(), v1.V8B()))
2473*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlp_1, uaddlp(v0.V8H(), v1.V16B()))
2474*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlp_2, uaddlp(v0.V2S(), v1.V4H()))
2475*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlp_3, uaddlp(v0.V4S(), v1.V8H()))
2476*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlp_4, uaddlp(v0.V1D(), v1.V2S()))
2477*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlp_5, uaddlp(v0.V2D(), v1.V4S()))
2478*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlv_0, uaddlv(h0, v1.V8B()))
2479*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlv_1, uaddlv(h0, v1.V16B()))
2480*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlv_2, uaddlv(s0, v1.V4H()))
2481*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlv_3, uaddlv(s0, v1.V8H()))
2482*f5c631daSSadaf Ebrahimi TEST_NEON(uaddlv_4, uaddlv(d0, v1.V4S()))
2483*f5c631daSSadaf Ebrahimi TEST_NEON(uaddl_0, uaddl(v0.V8H(), v1.V8B(), v2.V8B()))
2484*f5c631daSSadaf Ebrahimi TEST_NEON(uaddl_1, uaddl(v0.V4S(), v1.V4H(), v2.V4H()))
2485*f5c631daSSadaf Ebrahimi TEST_NEON(uaddl_2, uaddl(v0.V2D(), v1.V2S(), v2.V2S()))
2486*f5c631daSSadaf Ebrahimi TEST_NEON(uaddl2_0, uaddl2(v0.V8H(), v1.V16B(), v2.V16B()))
2487*f5c631daSSadaf Ebrahimi TEST_NEON(uaddl2_1, uaddl2(v0.V4S(), v1.V8H(), v2.V8H()))
2488*f5c631daSSadaf Ebrahimi TEST_NEON(uaddl2_2, uaddl2(v0.V2D(), v1.V4S(), v2.V4S()))
2489*f5c631daSSadaf Ebrahimi TEST_NEON(uaddw_0, uaddw(v0.V8H(), v1.V8H(), v2.V8B()))
2490*f5c631daSSadaf Ebrahimi TEST_NEON(uaddw_1, uaddw(v0.V4S(), v1.V4S(), v2.V4H()))
2491*f5c631daSSadaf Ebrahimi TEST_NEON(uaddw_2, uaddw(v0.V2D(), v1.V2D(), v2.V2S()))
2492*f5c631daSSadaf Ebrahimi TEST_NEON(uaddw2_0, uaddw2(v0.V8H(), v1.V8H(), v2.V16B()))
2493*f5c631daSSadaf Ebrahimi TEST_NEON(uaddw2_1, uaddw2(v0.V4S(), v1.V4S(), v2.V8H()))
2494*f5c631daSSadaf Ebrahimi TEST_NEON(uaddw2_2, uaddw2(v0.V2D(), v1.V2D(), v2.V4S()))
2495*f5c631daSSadaf Ebrahimi TEST_NEON(uhadd_0, uhadd(v0.V8B(), v1.V8B(), v2.V8B()))
2496*f5c631daSSadaf Ebrahimi TEST_NEON(uhadd_1, uhadd(v0.V16B(), v1.V16B(), v2.V16B()))
2497*f5c631daSSadaf Ebrahimi TEST_NEON(uhadd_2, uhadd(v0.V4H(), v1.V4H(), v2.V4H()))
2498*f5c631daSSadaf Ebrahimi TEST_NEON(uhadd_3, uhadd(v0.V8H(), v1.V8H(), v2.V8H()))
2499*f5c631daSSadaf Ebrahimi TEST_NEON(uhadd_4, uhadd(v0.V2S(), v1.V2S(), v2.V2S()))
2500*f5c631daSSadaf Ebrahimi TEST_NEON(uhadd_5, uhadd(v0.V4S(), v1.V4S(), v2.V4S()))
2501*f5c631daSSadaf Ebrahimi TEST_NEON(uhsub_0, uhsub(v0.V8B(), v1.V8B(), v2.V8B()))
2502*f5c631daSSadaf Ebrahimi TEST_NEON(uhsub_1, uhsub(v0.V16B(), v1.V16B(), v2.V16B()))
2503*f5c631daSSadaf Ebrahimi TEST_NEON(uhsub_2, uhsub(v0.V4H(), v1.V4H(), v2.V4H()))
2504*f5c631daSSadaf Ebrahimi TEST_NEON(uhsub_3, uhsub(v0.V8H(), v1.V8H(), v2.V8H()))
2505*f5c631daSSadaf Ebrahimi TEST_NEON(uhsub_4, uhsub(v0.V2S(), v1.V2S(), v2.V2S()))
2506*f5c631daSSadaf Ebrahimi TEST_NEON(uhsub_5, uhsub(v0.V4S(), v1.V4S(), v2.V4S()))
2507*f5c631daSSadaf Ebrahimi TEST_NEON(umaxp_0, umaxp(v0.V8B(), v1.V8B(), v2.V8B()))
2508*f5c631daSSadaf Ebrahimi TEST_NEON(umaxp_1, umaxp(v0.V16B(), v1.V16B(), v2.V16B()))
2509*f5c631daSSadaf Ebrahimi TEST_NEON(umaxp_2, umaxp(v0.V4H(), v1.V4H(), v2.V4H()))
2510*f5c631daSSadaf Ebrahimi TEST_NEON(umaxp_3, umaxp(v0.V8H(), v1.V8H(), v2.V8H()))
2511*f5c631daSSadaf Ebrahimi TEST_NEON(umaxp_4, umaxp(v0.V2S(), v1.V2S(), v2.V2S()))
2512*f5c631daSSadaf Ebrahimi TEST_NEON(umaxp_5, umaxp(v0.V4S(), v1.V4S(), v2.V4S()))
2513*f5c631daSSadaf Ebrahimi TEST_NEON(umaxv_0, umaxv(b0, v1.V8B()))
2514*f5c631daSSadaf Ebrahimi TEST_NEON(umaxv_1, umaxv(b0, v1.V16B()))
2515*f5c631daSSadaf Ebrahimi TEST_NEON(umaxv_2, umaxv(h0, v1.V4H()))
2516*f5c631daSSadaf Ebrahimi TEST_NEON(umaxv_3, umaxv(h0, v1.V8H()))
2517*f5c631daSSadaf Ebrahimi TEST_NEON(umaxv_4, umaxv(s0, v1.V4S()))
2518*f5c631daSSadaf Ebrahimi TEST_NEON(umax_0, umax(v0.V8B(), v1.V8B(), v2.V8B()))
2519*f5c631daSSadaf Ebrahimi TEST_NEON(umax_1, umax(v0.V16B(), v1.V16B(), v2.V16B()))
2520*f5c631daSSadaf Ebrahimi TEST_NEON(umax_2, umax(v0.V4H(), v1.V4H(), v2.V4H()))
2521*f5c631daSSadaf Ebrahimi TEST_NEON(umax_3, umax(v0.V8H(), v1.V8H(), v2.V8H()))
2522*f5c631daSSadaf Ebrahimi TEST_NEON(umax_4, umax(v0.V2S(), v1.V2S(), v2.V2S()))
2523*f5c631daSSadaf Ebrahimi TEST_NEON(umax_5, umax(v0.V4S(), v1.V4S(), v2.V4S()))
2524*f5c631daSSadaf Ebrahimi TEST_NEON(uminp_0, uminp(v0.V8B(), v1.V8B(), v2.V8B()))
2525*f5c631daSSadaf Ebrahimi TEST_NEON(uminp_1, uminp(v0.V16B(), v1.V16B(), v2.V16B()))
2526*f5c631daSSadaf Ebrahimi TEST_NEON(uminp_2, uminp(v0.V4H(), v1.V4H(), v2.V4H()))
2527*f5c631daSSadaf Ebrahimi TEST_NEON(uminp_3, uminp(v0.V8H(), v1.V8H(), v2.V8H()))
2528*f5c631daSSadaf Ebrahimi TEST_NEON(uminp_4, uminp(v0.V2S(), v1.V2S(), v2.V2S()))
2529*f5c631daSSadaf Ebrahimi TEST_NEON(uminp_5, uminp(v0.V4S(), v1.V4S(), v2.V4S()))
2530*f5c631daSSadaf Ebrahimi TEST_NEON(uminv_0, uminv(b0, v1.V8B()))
2531*f5c631daSSadaf Ebrahimi TEST_NEON(uminv_1, uminv(b0, v1.V16B()))
2532*f5c631daSSadaf Ebrahimi TEST_NEON(uminv_2, uminv(h0, v1.V4H()))
2533*f5c631daSSadaf Ebrahimi TEST_NEON(uminv_3, uminv(h0, v1.V8H()))
2534*f5c631daSSadaf Ebrahimi TEST_NEON(uminv_4, uminv(s0, v1.V4S()))
2535*f5c631daSSadaf Ebrahimi TEST_NEON(umin_0, umin(v0.V8B(), v1.V8B(), v2.V8B()))
2536*f5c631daSSadaf Ebrahimi TEST_NEON(umin_1, umin(v0.V16B(), v1.V16B(), v2.V16B()))
2537*f5c631daSSadaf Ebrahimi TEST_NEON(umin_2, umin(v0.V4H(), v1.V4H(), v2.V4H()))
2538*f5c631daSSadaf Ebrahimi TEST_NEON(umin_3, umin(v0.V8H(), v1.V8H(), v2.V8H()))
2539*f5c631daSSadaf Ebrahimi TEST_NEON(umin_4, umin(v0.V2S(), v1.V2S(), v2.V2S()))
2540*f5c631daSSadaf Ebrahimi TEST_NEON(umin_5, umin(v0.V4S(), v1.V4S(), v2.V4S()))
2541*f5c631daSSadaf Ebrahimi TEST_NEON(umlal_0, umlal(v0.V4S(), v1.V4H(), v2.H(), 1))
2542*f5c631daSSadaf Ebrahimi TEST_NEON(umlal_1, umlal(v0.V2D(), v1.V2S(), v2.S(), 2))
2543*f5c631daSSadaf Ebrahimi TEST_NEON(umlal2_0, umlal2(v0.V4S(), v1.V8H(), v2.H(), 6))
2544*f5c631daSSadaf Ebrahimi TEST_NEON(umlal2_1, umlal2(v0.V2D(), v1.V4S(), v2.S(), 0))
2545*f5c631daSSadaf Ebrahimi TEST_NEON(umlal_2, umlal(v0.V8H(), v1.V8B(), v2.V8B()))
2546*f5c631daSSadaf Ebrahimi TEST_NEON(umlal_3, umlal(v0.V4S(), v1.V4H(), v2.V4H()))
2547*f5c631daSSadaf Ebrahimi TEST_NEON(umlal_4, umlal(v0.V2D(), v1.V2S(), v2.V2S()))
2548*f5c631daSSadaf Ebrahimi TEST_NEON(umlal2_2, umlal2(v0.V8H(), v1.V16B(), v2.V16B()))
2549*f5c631daSSadaf Ebrahimi TEST_NEON(umlal2_3, umlal2(v0.V4S(), v1.V8H(), v2.V8H()))
2550*f5c631daSSadaf Ebrahimi TEST_NEON(umlal2_4, umlal2(v0.V2D(), v1.V4S(), v2.V4S()))
2551*f5c631daSSadaf Ebrahimi TEST_NEON(umlsl_0, umlsl(v0.V4S(), v1.V4H(), v2.H(), 0))
2552*f5c631daSSadaf Ebrahimi TEST_NEON(umlsl_1, umlsl(v0.V2D(), v1.V2S(), v2.S(), 3))
2553*f5c631daSSadaf Ebrahimi TEST_NEON(umlsl2_0, umlsl2(v0.V4S(), v1.V8H(), v2.H(), 1))
2554*f5c631daSSadaf Ebrahimi TEST_NEON(umlsl2_1, umlsl2(v0.V2D(), v1.V4S(), v2.S(), 1))
2555*f5c631daSSadaf Ebrahimi TEST_NEON(umlsl_2, umlsl(v0.V8H(), v1.V8B(), v2.V8B()))
2556*f5c631daSSadaf Ebrahimi TEST_NEON(umlsl_3, umlsl(v0.V4S(), v1.V4H(), v2.V4H()))
2557*f5c631daSSadaf Ebrahimi TEST_NEON(umlsl_4, umlsl(v0.V2D(), v1.V2S(), v2.V2S()))
2558*f5c631daSSadaf Ebrahimi TEST_NEON(umlsl2_2, umlsl2(v0.V8H(), v1.V16B(), v2.V16B()))
2559*f5c631daSSadaf Ebrahimi TEST_NEON(umlsl2_3, umlsl2(v0.V4S(), v1.V8H(), v2.V8H()))
2560*f5c631daSSadaf Ebrahimi TEST_NEON(umlsl2_4, umlsl2(v0.V2D(), v1.V4S(), v2.V4S()))
2561*f5c631daSSadaf Ebrahimi TEST_NEON(umov_0, umov(w0, v1.B(), 4))
2562*f5c631daSSadaf Ebrahimi TEST_NEON(umov_1, umov(w0, v1.H(), 3))
2563*f5c631daSSadaf Ebrahimi TEST_NEON(umov_2, umov(w0, v1.S(), 0))
2564*f5c631daSSadaf Ebrahimi TEST_NEON(umov_3, umov(x0, v1.D(), 1))
2565*f5c631daSSadaf Ebrahimi TEST_NEON(umull_0, umull(v0.V4S(), v1.V4H(), v2.H(), 0))
2566*f5c631daSSadaf Ebrahimi TEST_NEON(umull_1, umull(v0.V2D(), v1.V2S(), v2.S(), 1))
2567*f5c631daSSadaf Ebrahimi TEST_NEON(umull2_0, umull2(v0.V4S(), v1.V8H(), v2.H(), 6))
2568*f5c631daSSadaf Ebrahimi TEST_NEON(umull2_1, umull2(v0.V2D(), v1.V4S(), v2.S(), 3))
2569*f5c631daSSadaf Ebrahimi TEST_NEON(umull_2, umull(v0.V8H(), v1.V8B(), v2.V8B()))
2570*f5c631daSSadaf Ebrahimi TEST_NEON(umull_3, umull(v0.V4S(), v1.V4H(), v2.V4H()))
2571*f5c631daSSadaf Ebrahimi TEST_NEON(umull_4, umull(v0.V2D(), v1.V2S(), v2.V2S()))
2572*f5c631daSSadaf Ebrahimi TEST_NEON(umull2_2, umull2(v0.V8H(), v1.V16B(), v2.V16B()))
2573*f5c631daSSadaf Ebrahimi TEST_NEON(umull2_3, umull2(v0.V4S(), v1.V8H(), v2.V8H()))
2574*f5c631daSSadaf Ebrahimi TEST_NEON(umull2_4, umull2(v0.V2D(), v1.V4S(), v2.V4S()))
2575*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_0, uqadd(v0.V8B(), v1.V8B(), v2.V8B()))
2576*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_1, uqadd(v0.V16B(), v1.V16B(), v2.V16B()))
2577*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_2, uqadd(v0.V4H(), v1.V4H(), v2.V4H()))
2578*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_3, uqadd(v0.V8H(), v1.V8H(), v2.V8H()))
2579*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_4, uqadd(v0.V2S(), v1.V2S(), v2.V2S()))
2580*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_5, uqadd(v0.V4S(), v1.V4S(), v2.V4S()))
2581*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_6, uqadd(v0.V2D(), v1.V2D(), v2.V2D()))
2582*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_7, uqadd(b0, b1, b2))
2583*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_8, uqadd(h0, h1, h2))
2584*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_9, uqadd(s0, s1, s2))
2585*f5c631daSSadaf Ebrahimi TEST_NEON(uqadd_10, uqadd(d0, d1, d2))
2586*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_0, uqrshl(v0.V8B(), v1.V8B(), v2.V8B()))
2587*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_1, uqrshl(v0.V16B(), v1.V16B(), v2.V16B()))
2588*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_2, uqrshl(v0.V4H(), v1.V4H(), v2.V4H()))
2589*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_3, uqrshl(v0.V8H(), v1.V8H(), v2.V8H()))
2590*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_4, uqrshl(v0.V2S(), v1.V2S(), v2.V2S()))
2591*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_5, uqrshl(v0.V4S(), v1.V4S(), v2.V4S()))
2592*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_6, uqrshl(v0.V2D(), v1.V2D(), v2.V2D()))
2593*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_7, uqrshl(b0, b1, b2))
2594*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_8, uqrshl(h0, h1, h2))
2595*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_9, uqrshl(s0, s1, s2))
2596*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshl_10, uqrshl(d0, d1, d2))
2597*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshrn_0, uqrshrn(v0.V8B(), v1.V8H(), 5))
2598*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshrn_1, uqrshrn(v0.V4H(), v1.V4S(), 4))
2599*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshrn_2, uqrshrn(v0.V2S(), v1.V2D(), 23))
2600*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshrn2_0, uqrshrn2(v0.V16B(), v1.V8H(), 4))
2601*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshrn2_1, uqrshrn2(v0.V8H(), v1.V4S(), 5))
2602*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshrn2_2, uqrshrn2(v0.V4S(), v1.V2D(), 11))
2603*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshrn_3, uqrshrn(b0, h1, 4))
2604*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshrn_4, uqrshrn(h0, s1, 4))
2605*f5c631daSSadaf Ebrahimi TEST_NEON(uqrshrn_5, uqrshrn(s0, d1, 7))
2606*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_0, uqshl(v0.V8B(), v1.V8B(), 7))
2607*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_1, uqshl(v0.V16B(), v1.V16B(), 2))
2608*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_2, uqshl(v0.V4H(), v1.V4H(), 4))
2609*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_3, uqshl(v0.V8H(), v1.V8H(), 4))
2610*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_4, uqshl(v0.V2S(), v1.V2S(), 1))
2611*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_5, uqshl(v0.V4S(), v1.V4S(), 2))
2612*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_6, uqshl(v0.V2D(), v1.V2D(), 28))
2613*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_7, uqshl(b0, b1, 6))
2614*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_8, uqshl(h0, h1, 15))
2615*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_9, uqshl(s0, s1, 21))
2616*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_10, uqshl(d0, d1, 24))
2617*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_11, uqshl(v0.V8B(), v1.V8B(), v2.V8B()))
2618*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_12, uqshl(v0.V16B(), v1.V16B(), v2.V16B()))
2619*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_13, uqshl(v0.V4H(), v1.V4H(), v2.V4H()))
2620*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_14, uqshl(v0.V8H(), v1.V8H(), v2.V8H()))
2621*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_15, uqshl(v0.V2S(), v1.V2S(), v2.V2S()))
2622*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_16, uqshl(v0.V4S(), v1.V4S(), v2.V4S()))
2623*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_17, uqshl(v0.V2D(), v1.V2D(), v2.V2D()))
2624*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_18, uqshl(b0, b1, b2))
2625*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_19, uqshl(h0, h1, h2))
2626*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_20, uqshl(s0, s1, s2))
2627*f5c631daSSadaf Ebrahimi TEST_NEON(uqshl_21, uqshl(d0, d1, d2))
2628*f5c631daSSadaf Ebrahimi TEST_NEON(uqshrn_0, uqshrn(v0.V8B(), v1.V8H(), 6))
2629*f5c631daSSadaf Ebrahimi TEST_NEON(uqshrn_1, uqshrn(v0.V4H(), v1.V4S(), 1))
2630*f5c631daSSadaf Ebrahimi TEST_NEON(uqshrn_2, uqshrn(v0.V2S(), v1.V2D(), 7))
2631*f5c631daSSadaf Ebrahimi TEST_NEON(uqshrn2_0, uqshrn2(v0.V16B(), v1.V8H(), 3))
2632*f5c631daSSadaf Ebrahimi TEST_NEON(uqshrn2_1, uqshrn2(v0.V8H(), v1.V4S(), 9))
2633*f5c631daSSadaf Ebrahimi TEST_NEON(uqshrn2_2, uqshrn2(v0.V4S(), v1.V2D(), 20))
2634*f5c631daSSadaf Ebrahimi TEST_NEON(uqshrn_3, uqshrn(b0, h1, 7))
2635*f5c631daSSadaf Ebrahimi TEST_NEON(uqshrn_4, uqshrn(h0, s1, 11))
2636*f5c631daSSadaf Ebrahimi TEST_NEON(uqshrn_5, uqshrn(s0, d1, 17))
2637*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_0, uqsub(v0.V8B(), v1.V8B(), v2.V8B()))
2638*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_1, uqsub(v0.V16B(), v1.V16B(), v2.V16B()))
2639*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_2, uqsub(v0.V4H(), v1.V4H(), v2.V4H()))
2640*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_3, uqsub(v0.V8H(), v1.V8H(), v2.V8H()))
2641*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_4, uqsub(v0.V2S(), v1.V2S(), v2.V2S()))
2642*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_5, uqsub(v0.V4S(), v1.V4S(), v2.V4S()))
2643*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_6, uqsub(v0.V2D(), v1.V2D(), v2.V2D()))
2644*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_7, uqsub(b0, b1, b2))
2645*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_8, uqsub(h0, h1, h2))
2646*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_9, uqsub(s0, s1, s2))
2647*f5c631daSSadaf Ebrahimi TEST_NEON(uqsub_10, uqsub(d0, d1, d2))
2648*f5c631daSSadaf Ebrahimi TEST_NEON(uqxtn_0, uqxtn(v0.V8B(), v1.V8H()))
2649*f5c631daSSadaf Ebrahimi TEST_NEON(uqxtn_1, uqxtn(v0.V4H(), v1.V4S()))
2650*f5c631daSSadaf Ebrahimi TEST_NEON(uqxtn_2, uqxtn(v0.V2S(), v1.V2D()))
2651*f5c631daSSadaf Ebrahimi TEST_NEON(uqxtn2_0, uqxtn2(v0.V16B(), v1.V8H()))
2652*f5c631daSSadaf Ebrahimi TEST_NEON(uqxtn2_1, uqxtn2(v0.V8H(), v1.V4S()))
2653*f5c631daSSadaf Ebrahimi TEST_NEON(uqxtn2_2, uqxtn2(v0.V4S(), v1.V2D()))
2654*f5c631daSSadaf Ebrahimi TEST_NEON(uqxtn_3, uqxtn(b0, h1))
2655*f5c631daSSadaf Ebrahimi TEST_NEON(uqxtn_4, uqxtn(h0, s1))
2656*f5c631daSSadaf Ebrahimi TEST_NEON(uqxtn_5, uqxtn(s0, d1))
2657*f5c631daSSadaf Ebrahimi TEST_NEON(urecpe_0, urecpe(v0.V2S(), v1.V2S()))
2658*f5c631daSSadaf Ebrahimi TEST_NEON(urecpe_1, urecpe(v0.V4S(), v1.V4S()))
2659*f5c631daSSadaf Ebrahimi TEST_NEON(urhadd_0, urhadd(v0.V8B(), v1.V8B(), v2.V8B()))
2660*f5c631daSSadaf Ebrahimi TEST_NEON(urhadd_1, urhadd(v0.V16B(), v1.V16B(), v2.V16B()))
2661*f5c631daSSadaf Ebrahimi TEST_NEON(urhadd_2, urhadd(v0.V4H(), v1.V4H(), v2.V4H()))
2662*f5c631daSSadaf Ebrahimi TEST_NEON(urhadd_3, urhadd(v0.V8H(), v1.V8H(), v2.V8H()))
2663*f5c631daSSadaf Ebrahimi TEST_NEON(urhadd_4, urhadd(v0.V2S(), v1.V2S(), v2.V2S()))
2664*f5c631daSSadaf Ebrahimi TEST_NEON(urhadd_5, urhadd(v0.V4S(), v1.V4S(), v2.V4S()))
2665*f5c631daSSadaf Ebrahimi TEST_NEON(urshl_0, urshl(v0.V8B(), v1.V8B(), v2.V8B()))
2666*f5c631daSSadaf Ebrahimi TEST_NEON(urshl_1, urshl(v0.V16B(), v1.V16B(), v2.V16B()))
2667*f5c631daSSadaf Ebrahimi TEST_NEON(urshl_2, urshl(v0.V4H(), v1.V4H(), v2.V4H()))
2668*f5c631daSSadaf Ebrahimi TEST_NEON(urshl_3, urshl(v0.V8H(), v1.V8H(), v2.V8H()))
2669*f5c631daSSadaf Ebrahimi TEST_NEON(urshl_4, urshl(v0.V2S(), v1.V2S(), v2.V2S()))
2670*f5c631daSSadaf Ebrahimi TEST_NEON(urshl_5, urshl(v0.V4S(), v1.V4S(), v2.V4S()))
2671*f5c631daSSadaf Ebrahimi TEST_NEON(urshl_6, urshl(v0.V2D(), v1.V2D(), v2.V2D()))
2672*f5c631daSSadaf Ebrahimi TEST_NEON(urshl_7, urshl(d0, d1, d2))
2673*f5c631daSSadaf Ebrahimi TEST_NEON(urshr_0, urshr(v0.V8B(), v1.V8B(), 4))
2674*f5c631daSSadaf Ebrahimi TEST_NEON(urshr_1, urshr(v0.V16B(), v1.V16B(), 5))
2675*f5c631daSSadaf Ebrahimi TEST_NEON(urshr_2, urshr(v0.V4H(), v1.V4H(), 11))
2676*f5c631daSSadaf Ebrahimi TEST_NEON(urshr_3, urshr(v0.V8H(), v1.V8H(), 4))
2677*f5c631daSSadaf Ebrahimi TEST_NEON(urshr_4, urshr(v0.V2S(), v1.V2S(), 27))
2678*f5c631daSSadaf Ebrahimi TEST_NEON(urshr_5, urshr(v0.V4S(), v1.V4S(), 21))
2679*f5c631daSSadaf Ebrahimi TEST_NEON(urshr_6, urshr(v0.V2D(), v1.V2D(), 8))
2680*f5c631daSSadaf Ebrahimi TEST_NEON(urshr_7, urshr(d0, d1, 11))
2681*f5c631daSSadaf Ebrahimi TEST_NEON(ursqrte_0, ursqrte(v0.V2S(), v1.V2S()))
2682*f5c631daSSadaf Ebrahimi TEST_NEON(ursqrte_1, ursqrte(v0.V4S(), v1.V4S()))
2683*f5c631daSSadaf Ebrahimi TEST_NEON(ursra_0, ursra(v0.V8B(), v1.V8B(), 3))
2684*f5c631daSSadaf Ebrahimi TEST_NEON(ursra_1, ursra(v0.V16B(), v1.V16B(), 6))
2685*f5c631daSSadaf Ebrahimi TEST_NEON(ursra_2, ursra(v0.V4H(), v1.V4H(), 12))
2686*f5c631daSSadaf Ebrahimi TEST_NEON(ursra_3, ursra(v0.V8H(), v1.V8H(), 7))
2687*f5c631daSSadaf Ebrahimi TEST_NEON(ursra_4, ursra(v0.V2S(), v1.V2S(), 6))
2688*f5c631daSSadaf Ebrahimi TEST_NEON(ursra_5, ursra(v0.V4S(), v1.V4S(), 6))
2689*f5c631daSSadaf Ebrahimi TEST_NEON(ursra_6, ursra(v0.V2D(), v1.V2D(), 26))
2690*f5c631daSSadaf Ebrahimi TEST_NEON(ursra_7, ursra(d0, d1, 20))
2691*f5c631daSSadaf Ebrahimi TEST_NEON(ushll_0, ushll(v0.V8H(), v1.V8B(), 6))
2692*f5c631daSSadaf Ebrahimi TEST_NEON(ushll_1, ushll(v0.V4S(), v1.V4H(), 9))
2693*f5c631daSSadaf Ebrahimi TEST_NEON(ushll_2, ushll(v0.V2D(), v1.V2S(), 21))
2694*f5c631daSSadaf Ebrahimi TEST_NEON(ushll2_0, ushll2(v0.V8H(), v1.V16B(), 7))
2695*f5c631daSSadaf Ebrahimi TEST_NEON(ushll2_1, ushll2(v0.V4S(), v1.V8H(), 15))
2696*f5c631daSSadaf Ebrahimi TEST_NEON(ushll2_2, ushll2(v0.V2D(), v1.V4S(), 14))
2697*f5c631daSSadaf Ebrahimi TEST_NEON(ushl_0, ushl(v0.V8B(), v1.V8B(), v2.V8B()))
2698*f5c631daSSadaf Ebrahimi TEST_NEON(ushl_1, ushl(v0.V16B(), v1.V16B(), v2.V16B()))
2699*f5c631daSSadaf Ebrahimi TEST_NEON(ushl_2, ushl(v0.V4H(), v1.V4H(), v2.V4H()))
2700*f5c631daSSadaf Ebrahimi TEST_NEON(ushl_3, ushl(v0.V8H(), v1.V8H(), v2.V8H()))
2701*f5c631daSSadaf Ebrahimi TEST_NEON(ushl_4, ushl(v0.V2S(), v1.V2S(), v2.V2S()))
2702*f5c631daSSadaf Ebrahimi TEST_NEON(ushl_5, ushl(v0.V4S(), v1.V4S(), v2.V4S()))
2703*f5c631daSSadaf Ebrahimi TEST_NEON(ushl_6, ushl(v0.V2D(), v1.V2D(), v2.V2D()))
2704*f5c631daSSadaf Ebrahimi TEST_NEON(ushl_7, ushl(d0, d1, d2))
2705*f5c631daSSadaf Ebrahimi TEST_NEON(ushr_0, ushr(v0.V8B(), v1.V8B(), 1))
2706*f5c631daSSadaf Ebrahimi TEST_NEON(ushr_1, ushr(v0.V16B(), v1.V16B(), 1))
2707*f5c631daSSadaf Ebrahimi TEST_NEON(ushr_2, ushr(v0.V4H(), v1.V4H(), 5))
2708*f5c631daSSadaf Ebrahimi TEST_NEON(ushr_3, ushr(v0.V8H(), v1.V8H(), 4))
2709*f5c631daSSadaf Ebrahimi TEST_NEON(ushr_4, ushr(v0.V2S(), v1.V2S(), 1))
2710*f5c631daSSadaf Ebrahimi TEST_NEON(ushr_5, ushr(v0.V4S(), v1.V4S(), 24))
2711*f5c631daSSadaf Ebrahimi TEST_NEON(ushr_6, ushr(v0.V2D(), v1.V2D(), 50))
2712*f5c631daSSadaf Ebrahimi TEST_NEON(ushr_7, ushr(d0, d1, 30))
2713*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_0, usqadd(v0.V8B(), v1.V8B()))
2714*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_1, usqadd(v0.V16B(), v1.V16B()))
2715*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_2, usqadd(v0.V4H(), v1.V4H()))
2716*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_3, usqadd(v0.V8H(), v1.V8H()))
2717*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_4, usqadd(v0.V2S(), v1.V2S()))
2718*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_5, usqadd(v0.V4S(), v1.V4S()))
2719*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_6, usqadd(v0.V2D(), v1.V2D()))
2720*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_7, usqadd(b0, b1))
2721*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_8, usqadd(h0, h1))
2722*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_9, usqadd(s0, s1))
2723*f5c631daSSadaf Ebrahimi TEST_NEON(usqadd_10, usqadd(d0, d1))
2724*f5c631daSSadaf Ebrahimi TEST_NEON(usra_0, usra(v0.V8B(), v1.V8B(), 6))
2725*f5c631daSSadaf Ebrahimi TEST_NEON(usra_1, usra(v0.V16B(), v1.V16B(), 4))
2726*f5c631daSSadaf Ebrahimi TEST_NEON(usra_2, usra(v0.V4H(), v1.V4H(), 9))
2727*f5c631daSSadaf Ebrahimi TEST_NEON(usra_3, usra(v0.V8H(), v1.V8H(), 3))
2728*f5c631daSSadaf Ebrahimi TEST_NEON(usra_4, usra(v0.V2S(), v1.V2S(), 12))
2729*f5c631daSSadaf Ebrahimi TEST_NEON(usra_5, usra(v0.V4S(), v1.V4S(), 14))
2730*f5c631daSSadaf Ebrahimi TEST_NEON(usra_6, usra(v0.V2D(), v1.V2D(), 27))
2731*f5c631daSSadaf Ebrahimi TEST_NEON(usra_7, usra(d0, d1, 54))
2732*f5c631daSSadaf Ebrahimi TEST_NEON(usubl_0, usubl(v0.V8H(), v1.V8B(), v2.V8B()))
2733*f5c631daSSadaf Ebrahimi TEST_NEON(usubl_1, usubl(v0.V4S(), v1.V4H(), v2.V4H()))
2734*f5c631daSSadaf Ebrahimi TEST_NEON(usubl_2, usubl(v0.V2D(), v1.V2S(), v2.V2S()))
2735*f5c631daSSadaf Ebrahimi TEST_NEON(usubl2_0, usubl2(v0.V8H(), v1.V16B(), v2.V16B()))
2736*f5c631daSSadaf Ebrahimi TEST_NEON(usubl2_1, usubl2(v0.V4S(), v1.V8H(), v2.V8H()))
2737*f5c631daSSadaf Ebrahimi TEST_NEON(usubl2_2, usubl2(v0.V2D(), v1.V4S(), v2.V4S()))
2738*f5c631daSSadaf Ebrahimi TEST_NEON(usubw_0, usubw(v0.V8H(), v1.V8H(), v2.V8B()))
2739*f5c631daSSadaf Ebrahimi TEST_NEON(usubw_1, usubw(v0.V4S(), v1.V4S(), v2.V4H()))
2740*f5c631daSSadaf Ebrahimi TEST_NEON(usubw_2, usubw(v0.V2D(), v1.V2D(), v2.V2S()))
2741*f5c631daSSadaf Ebrahimi TEST_NEON(usubw2_0, usubw2(v0.V8H(), v1.V8H(), v2.V16B()))
2742*f5c631daSSadaf Ebrahimi TEST_NEON(usubw2_1, usubw2(v0.V4S(), v1.V4S(), v2.V8H()))
2743*f5c631daSSadaf Ebrahimi TEST_NEON(usubw2_2, usubw2(v0.V2D(), v1.V2D(), v2.V4S()))
2744*f5c631daSSadaf Ebrahimi TEST_NEON(uxtl_0, uxtl(v0.V8H(), v1.V8B()))
2745*f5c631daSSadaf Ebrahimi TEST_NEON(uxtl_1, uxtl(v0.V4S(), v1.V4H()))
2746*f5c631daSSadaf Ebrahimi TEST_NEON(uxtl_2, uxtl(v0.V2D(), v1.V2S()))
2747*f5c631daSSadaf Ebrahimi TEST_NEON(uxtl2_0, uxtl2(v0.V8H(), v1.V16B()))
2748*f5c631daSSadaf Ebrahimi TEST_NEON(uxtl2_1, uxtl2(v0.V4S(), v1.V8H()))
2749*f5c631daSSadaf Ebrahimi TEST_NEON(uxtl2_2, uxtl2(v0.V2D(), v1.V4S()))
2750*f5c631daSSadaf Ebrahimi TEST_NEON(uzp1_0, uzp1(v0.V8B(), v1.V8B(), v2.V8B()))
2751*f5c631daSSadaf Ebrahimi TEST_NEON(uzp1_1, uzp1(v0.V16B(), v1.V16B(), v2.V16B()))
2752*f5c631daSSadaf Ebrahimi TEST_NEON(uzp1_2, uzp1(v0.V4H(), v1.V4H(), v2.V4H()))
2753*f5c631daSSadaf Ebrahimi TEST_NEON(uzp1_3, uzp1(v0.V8H(), v1.V8H(), v2.V8H()))
2754*f5c631daSSadaf Ebrahimi TEST_NEON(uzp1_4, uzp1(v0.V2S(), v1.V2S(), v2.V2S()))
2755*f5c631daSSadaf Ebrahimi TEST_NEON(uzp1_5, uzp1(v0.V4S(), v1.V4S(), v2.V4S()))
2756*f5c631daSSadaf Ebrahimi TEST_NEON(uzp1_6, uzp1(v0.V2D(), v1.V2D(), v2.V2D()))
2757*f5c631daSSadaf Ebrahimi TEST_NEON(uzp2_0, uzp2(v0.V8B(), v1.V8B(), v2.V8B()))
2758*f5c631daSSadaf Ebrahimi TEST_NEON(uzp2_1, uzp2(v0.V16B(), v1.V16B(), v2.V16B()))
2759*f5c631daSSadaf Ebrahimi TEST_NEON(uzp2_2, uzp2(v0.V4H(), v1.V4H(), v2.V4H()))
2760*f5c631daSSadaf Ebrahimi TEST_NEON(uzp2_3, uzp2(v0.V8H(), v1.V8H(), v2.V8H()))
2761*f5c631daSSadaf Ebrahimi TEST_NEON(uzp2_4, uzp2(v0.V2S(), v1.V2S(), v2.V2S()))
2762*f5c631daSSadaf Ebrahimi TEST_NEON(uzp2_5, uzp2(v0.V4S(), v1.V4S(), v2.V4S()))
2763*f5c631daSSadaf Ebrahimi TEST_NEON(uzp2_6, uzp2(v0.V2D(), v1.V2D(), v2.V2D()))
2764*f5c631daSSadaf Ebrahimi TEST_NEON(xtn_0, xtn(v0.V8B(), v1.V8H()))
2765*f5c631daSSadaf Ebrahimi TEST_NEON(xtn_1, xtn(v0.V4H(), v1.V4S()))
2766*f5c631daSSadaf Ebrahimi TEST_NEON(xtn_2, xtn(v0.V2S(), v1.V2D()))
2767*f5c631daSSadaf Ebrahimi TEST_NEON(xtn2_0, xtn2(v0.V16B(), v1.V8H()))
2768*f5c631daSSadaf Ebrahimi TEST_NEON(xtn2_1, xtn2(v0.V8H(), v1.V4S()))
2769*f5c631daSSadaf Ebrahimi TEST_NEON(xtn2_2, xtn2(v0.V4S(), v1.V2D()))
2770*f5c631daSSadaf Ebrahimi TEST_NEON(zip1_0, zip1(v0.V8B(), v1.V8B(), v2.V8B()))
2771*f5c631daSSadaf Ebrahimi TEST_NEON(zip1_1, zip1(v0.V16B(), v1.V16B(), v2.V16B()))
2772*f5c631daSSadaf Ebrahimi TEST_NEON(zip1_2, zip1(v0.V4H(), v1.V4H(), v2.V4H()))
2773*f5c631daSSadaf Ebrahimi TEST_NEON(zip1_3, zip1(v0.V8H(), v1.V8H(), v2.V8H()))
2774*f5c631daSSadaf Ebrahimi TEST_NEON(zip1_4, zip1(v0.V2S(), v1.V2S(), v2.V2S()))
2775*f5c631daSSadaf Ebrahimi TEST_NEON(zip1_5, zip1(v0.V4S(), v1.V4S(), v2.V4S()))
2776*f5c631daSSadaf Ebrahimi TEST_NEON(zip1_6, zip1(v0.V2D(), v1.V2D(), v2.V2D()))
2777*f5c631daSSadaf Ebrahimi TEST_NEON(zip2_0, zip2(v0.V8B(), v1.V8B(), v2.V8B()))
2778*f5c631daSSadaf Ebrahimi TEST_NEON(zip2_1, zip2(v0.V16B(), v1.V16B(), v2.V16B()))
2779*f5c631daSSadaf Ebrahimi TEST_NEON(zip2_2, zip2(v0.V4H(), v1.V4H(), v2.V4H()))
2780*f5c631daSSadaf Ebrahimi TEST_NEON(zip2_3, zip2(v0.V8H(), v1.V8H(), v2.V8H()))
2781*f5c631daSSadaf Ebrahimi TEST_NEON(zip2_4, zip2(v0.V2S(), v1.V2S(), v2.V2S()))
2782*f5c631daSSadaf Ebrahimi TEST_NEON(zip2_5, zip2(v0.V4S(), v1.V4S(), v2.V4S()))
2783*f5c631daSSadaf Ebrahimi TEST_NEON(zip2_6, zip2(v0.V2D(), v1.V2D(), v2.V2D()))
2784*f5c631daSSadaf Ebrahimi 
2785*f5c631daSSadaf Ebrahimi #define TEST_RCPC(NAME, ASM) \
2786*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kRCpc), RCpc_##NAME, ASM)
2787*f5c631daSSadaf Ebrahimi TEST_RCPC(ldapr_0, ldapr(w0, MemOperand(x1, 0)))
2788*f5c631daSSadaf Ebrahimi TEST_RCPC(ldapr_1, ldapr(x0, MemOperand(x1, 0)))
2789*f5c631daSSadaf Ebrahimi TEST_RCPC(ldaprb_0, ldaprb(w0, MemOperand(x1, 0)))
2790*f5c631daSSadaf Ebrahimi TEST_RCPC(ldaprh_0, ldaprh(w0, MemOperand(x1, 0)))
2791*f5c631daSSadaf Ebrahimi 
2792*f5c631daSSadaf Ebrahimi #define TEST_CRC32(NAME, ASM) \
2793*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kCRC32), CRC32_##NAME, ASM)
2794*f5c631daSSadaf Ebrahimi TEST_CRC32(crc32b_0, crc32b(w0, w1, w2))
2795*f5c631daSSadaf Ebrahimi TEST_CRC32(crc32h_0, crc32h(w0, w1, w2))
2796*f5c631daSSadaf Ebrahimi TEST_CRC32(crc32w_0, crc32w(w0, w1, w2))
2797*f5c631daSSadaf Ebrahimi TEST_CRC32(crc32x_0, crc32x(w0, w1, x2))
2798*f5c631daSSadaf Ebrahimi TEST_CRC32(crc32cb_0, crc32cb(w0, w1, w2))
2799*f5c631daSSadaf Ebrahimi TEST_CRC32(crc32ch_0, crc32ch(w0, w1, w2))
2800*f5c631daSSadaf Ebrahimi TEST_CRC32(crc32cw_0, crc32cw(w0, w1, w2))
2801*f5c631daSSadaf Ebrahimi TEST_CRC32(crc32cx_0, crc32cx(w0, w1, x2))
2802*f5c631daSSadaf Ebrahimi 
2803*f5c631daSSadaf Ebrahimi #define TEST_DCPOP(NAME, ASM) \
2804*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kDCPoP), DCPoP_##NAME, ASM)
2805*f5c631daSSadaf Ebrahimi TEST_DCPOP(dc_0, dc(CVAP, x0))
2806*f5c631daSSadaf Ebrahimi 
2807*f5c631daSSadaf Ebrahimi #define TEST_FLAGM(NAME, ASM) \
2808*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFlagM), FlagM_##NAME, ASM)
2809*f5c631daSSadaf Ebrahimi TEST_FLAGM(cfinv_0, cfinv())
2810*f5c631daSSadaf Ebrahimi TEST_FLAGM(rmif_0, rmif(x0, 52, NVFlag))
2811*f5c631daSSadaf Ebrahimi TEST_FLAGM(setf16_0, setf16(w0))
2812*f5c631daSSadaf Ebrahimi TEST_FLAGM(setf8_0, setf8(w0))
2813*f5c631daSSadaf Ebrahimi 
2814*f5c631daSSadaf Ebrahimi #define TEST_PAUTH(NAME, ASM) \
2815*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kPAuth), PAuth_##NAME, ASM)
2816*f5c631daSSadaf Ebrahimi TEST_PAUTH(autda_0, autda(x0, x1))
2817*f5c631daSSadaf Ebrahimi TEST_PAUTH(autdza_0, autdza(x0))
2818*f5c631daSSadaf Ebrahimi TEST_PAUTH(autdb_0, autdb(x0, x1))
2819*f5c631daSSadaf Ebrahimi TEST_PAUTH(autdzb_0, autdzb(x0))
2820*f5c631daSSadaf Ebrahimi TEST_PAUTH(autia1716_0, autia1716())
2821*f5c631daSSadaf Ebrahimi TEST_PAUTH(autiasp_0, autiasp())
2822*f5c631daSSadaf Ebrahimi TEST_PAUTH(autiaz_0, autiaz())
2823*f5c631daSSadaf Ebrahimi TEST_PAUTH(autia_0, autia(x0, x1))
2824*f5c631daSSadaf Ebrahimi TEST_PAUTH(autiza_0, autiza(x0))
2825*f5c631daSSadaf Ebrahimi TEST_PAUTH(autib1716_0, autib1716())
2826*f5c631daSSadaf Ebrahimi TEST_PAUTH(autibsp_0, autibsp())
2827*f5c631daSSadaf Ebrahimi TEST_PAUTH(autibz_0, autibz())
2828*f5c631daSSadaf Ebrahimi TEST_PAUTH(autib_0, autib(x0, x1))
2829*f5c631daSSadaf Ebrahimi TEST_PAUTH(autizb_0, autizb(x0))
2830*f5c631daSSadaf Ebrahimi TEST_PAUTH(blraaz_0, blraaz(x0))
2831*f5c631daSSadaf Ebrahimi TEST_PAUTH(blraa_0, blraa(x0, x1))
2832*f5c631daSSadaf Ebrahimi TEST_PAUTH(blrabz_0, blrabz(x0))
2833*f5c631daSSadaf Ebrahimi TEST_PAUTH(blrab_0, blrab(x0, x1))
2834*f5c631daSSadaf Ebrahimi TEST_PAUTH(braaz_0, braaz(x0))
2835*f5c631daSSadaf Ebrahimi TEST_PAUTH(braa_0, braa(x0, x1))
2836*f5c631daSSadaf Ebrahimi TEST_PAUTH(brabz_0, brabz(x0))
2837*f5c631daSSadaf Ebrahimi TEST_PAUTH(brab_0, brab(x0, x1))
2838*f5c631daSSadaf Ebrahimi TEST_PAUTH(ldraa_0, ldraa(x0, MemOperand(x1, -48, PreIndex)))
2839*f5c631daSSadaf Ebrahimi TEST_PAUTH(ldraa_1, ldraa(x0, MemOperand(x1, -1808)))
2840*f5c631daSSadaf Ebrahimi TEST_PAUTH(ldrab_0, ldrab(x0, MemOperand(x1, 1544, PreIndex)))
2841*f5c631daSSadaf Ebrahimi TEST_PAUTH(ldrab_1, ldrab(x0, MemOperand(x1, 1512)))
2842*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacda_0, pacda(x0, x1))
2843*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacdza_0, pacdza(x0))
2844*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacdb_0, pacdb(x0, x1))
2845*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacdzb_0, pacdzb(x0))
2846*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacia1716_0, pacia1716())
2847*f5c631daSSadaf Ebrahimi TEST_PAUTH(paciasp_0, paciasp())
2848*f5c631daSSadaf Ebrahimi TEST_PAUTH(paciaz_0, paciaz())
2849*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacia_0, pacia(x0, x1))
2850*f5c631daSSadaf Ebrahimi TEST_PAUTH(paciza_0, paciza(x0))
2851*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacib1716_0, pacib1716())
2852*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacibsp_0, pacibsp())
2853*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacibz_0, pacibz())
2854*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacib_0, pacib(x0, x1))
2855*f5c631daSSadaf Ebrahimi TEST_PAUTH(pacizb_0, pacizb(x0))
2856*f5c631daSSadaf Ebrahimi TEST_PAUTH(retaa_0, retaa())
2857*f5c631daSSadaf Ebrahimi TEST_PAUTH(retab_0, retab())
2858*f5c631daSSadaf Ebrahimi TEST_PAUTH(xpacd_0, xpacd(x0))
2859*f5c631daSSadaf Ebrahimi TEST_PAUTH(xpaci_0, xpaci(x0))
2860*f5c631daSSadaf Ebrahimi TEST_PAUTH(xpaclri_0, xpaclri())
2861*f5c631daSSadaf Ebrahimi 
2862*f5c631daSSadaf Ebrahimi #define TEST_AXFLAG(NAME, ASM) \
2863*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kAXFlag), AXFlag_##NAME, ASM)
2864*f5c631daSSadaf Ebrahimi TEST_AXFLAG(axflag_0, axflag())
2865*f5c631daSSadaf Ebrahimi TEST_AXFLAG(xaflag_0, xaflag())
2866*f5c631daSSadaf Ebrahimi 
2867*f5c631daSSadaf Ebrahimi #define TEST_ATOMICS(NAME, ASM) \
2868*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kAtomics), Atomics_##NAME, ASM)
2869*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casal_0, casal(w0, w1, MemOperand(x2, 0)))
2870*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casal_1, casal(x0, x1, MemOperand(x2, 0)))
2871*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casa_0, casa(w0, w1, MemOperand(x2, 0)))
2872*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casa_1, casa(x0, x1, MemOperand(x2, 0)))
2873*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casl_0, casl(w0, w1, MemOperand(x2, 0)))
2874*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casl_1, casl(x0, x1, MemOperand(x2, 0)))
2875*f5c631daSSadaf Ebrahimi TEST_ATOMICS(cas_0, cas(w0, w1, MemOperand(x2, 0)))
2876*f5c631daSSadaf Ebrahimi TEST_ATOMICS(cas_1, cas(x0, x1, MemOperand(x2, 0)))
2877*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casab_0, casab(w0, w1, MemOperand(x2, 0)))
2878*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casalb_0, casalb(w0, w1, MemOperand(x2, 0)))
2879*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casb_0, casb(w0, w1, MemOperand(x2, 0)))
2880*f5c631daSSadaf Ebrahimi TEST_ATOMICS(caslb_0, caslb(w0, w1, MemOperand(x2, 0)))
2881*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casah_0, casah(w0, w1, MemOperand(x2, 0)))
2882*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casalh_0, casalh(w0, w1, MemOperand(x2, 0)))
2883*f5c631daSSadaf Ebrahimi TEST_ATOMICS(cash_0, cash(w0, w1, MemOperand(x2, 0)))
2884*f5c631daSSadaf Ebrahimi TEST_ATOMICS(caslh_0, caslh(w0, w1, MemOperand(x2, 0)))
2885*f5c631daSSadaf Ebrahimi TEST_ATOMICS(caspal_0, caspal(w0, w1, w2, w3, MemOperand(x4, 0)))
2886*f5c631daSSadaf Ebrahimi TEST_ATOMICS(caspal_1, caspal(x0, x1, x2, x3, MemOperand(x4, 0)))
2887*f5c631daSSadaf Ebrahimi TEST_ATOMICS(caspa_0, caspa(w0, w1, w2, w3, MemOperand(x4, 0)))
2888*f5c631daSSadaf Ebrahimi TEST_ATOMICS(caspa_1, caspa(x0, x1, x2, x3, MemOperand(x4, 0)))
2889*f5c631daSSadaf Ebrahimi TEST_ATOMICS(caspl_0, caspl(w0, w1, w2, w3, MemOperand(x4, 0)))
2890*f5c631daSSadaf Ebrahimi TEST_ATOMICS(caspl_1, caspl(x0, x1, x2, x3, MemOperand(x4, 0)))
2891*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casp_0, casp(w0, w1, w2, w3, MemOperand(x4, 0)))
2892*f5c631daSSadaf Ebrahimi TEST_ATOMICS(casp_1, casp(x0, x1, x2, x3, MemOperand(x4, 0)))
2893*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddal_0, ldaddal(w0, w1, MemOperand(x2)))
2894*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddal_1, ldaddal(x0, x1, MemOperand(x2)))
2895*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldadda_0, ldadda(w0, w1, MemOperand(x2)))
2896*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldadda_1, ldadda(x0, x1, MemOperand(x2)))
2897*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddl_0, ldaddl(w0, w1, MemOperand(x2)))
2898*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddl_1, ldaddl(x0, x1, MemOperand(x2)))
2899*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldadd_0, ldadd(w0, w1, MemOperand(x2)))
2900*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldadd_1, ldadd(x0, x1, MemOperand(x2)))
2901*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddab_0, ldaddab(w0, w1, MemOperand(x2)))
2902*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddalb_0, ldaddalb(w0, w1, MemOperand(x2)))
2903*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddb_0, ldaddb(w0, w1, MemOperand(x2)))
2904*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddlb_0, ldaddlb(w0, w1, MemOperand(x2)))
2905*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddah_0, ldaddah(w0, w1, MemOperand(x2)))
2906*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddalh_0, ldaddalh(w0, w1, MemOperand(x2)))
2907*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddh_0, ldaddh(w0, w1, MemOperand(x2)))
2908*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldaddlh_0, ldaddlh(w0, w1, MemOperand(x2)))
2909*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclral_0, ldclral(w0, w1, MemOperand(x2)))
2910*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclral_1, ldclral(x0, x1, MemOperand(x2)))
2911*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclra_0, ldclra(w0, w1, MemOperand(x2)))
2912*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclra_1, ldclra(x0, x1, MemOperand(x2)))
2913*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclrl_0, ldclrl(w0, w1, MemOperand(x2)))
2914*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclrl_1, ldclrl(x0, x1, MemOperand(x2)))
2915*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclr_0, ldclr(w0, w1, MemOperand(x2)))
2916*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclr_1, ldclr(x0, x1, MemOperand(x2)))
2917*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclrab_0, ldclrab(w0, w1, MemOperand(x2)))
2918*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclralb_0, ldclralb(w0, w1, MemOperand(x2)))
2919*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclrb_0, ldclrb(w0, w1, MemOperand(x2)))
2920*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclrlb_0, ldclrlb(w0, w1, MemOperand(x2)))
2921*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclrah_0, ldclrah(w0, w1, MemOperand(x2)))
2922*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclralh_0, ldclralh(w0, w1, MemOperand(x2)))
2923*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclrh_0, ldclrh(w0, w1, MemOperand(x2)))
2924*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldclrlh_0, ldclrlh(w0, w1, MemOperand(x2)))
2925*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeoral_0, ldeoral(w0, w1, MemOperand(x2)))
2926*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeoral_1, ldeoral(x0, x1, MemOperand(x2)))
2927*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeora_0, ldeora(w0, w1, MemOperand(x2)))
2928*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeora_1, ldeora(x0, x1, MemOperand(x2)))
2929*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeorl_0, ldeorl(w0, w1, MemOperand(x2)))
2930*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeorl_1, ldeorl(x0, x1, MemOperand(x2)))
2931*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeor_0, ldeor(w0, w1, MemOperand(x2)))
2932*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeor_1, ldeor(x0, x1, MemOperand(x2)))
2933*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeorab_0, ldeorab(w0, w1, MemOperand(x2)))
2934*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeoralb_0, ldeoralb(w0, w1, MemOperand(x2)))
2935*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeorb_0, ldeorb(w0, w1, MemOperand(x2)))
2936*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeorlb_0, ldeorlb(w0, w1, MemOperand(x2)))
2937*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeorah_0, ldeorah(w0, w1, MemOperand(x2)))
2938*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeoralh_0, ldeoralh(w0, w1, MemOperand(x2)))
2939*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeorh_0, ldeorh(w0, w1, MemOperand(x2)))
2940*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldeorlh_0, ldeorlh(w0, w1, MemOperand(x2)))
2941*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetal_0, ldsetal(w0, w1, MemOperand(x2)))
2942*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetal_1, ldsetal(x0, x1, MemOperand(x2)))
2943*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldseta_0, ldseta(w0, w1, MemOperand(x2)))
2944*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldseta_1, ldseta(x0, x1, MemOperand(x2)))
2945*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetl_0, ldsetl(w0, w1, MemOperand(x2)))
2946*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetl_1, ldsetl(x0, x1, MemOperand(x2)))
2947*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldset_0, ldset(w0, w1, MemOperand(x2)))
2948*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldset_1, ldset(x0, x1, MemOperand(x2)))
2949*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetab_0, ldsetab(w0, w1, MemOperand(x2)))
2950*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetalb_0, ldsetalb(w0, w1, MemOperand(x2)))
2951*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetb_0, ldsetb(w0, w1, MemOperand(x2)))
2952*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetlb_0, ldsetlb(w0, w1, MemOperand(x2)))
2953*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetah_0, ldsetah(w0, w1, MemOperand(x2)))
2954*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetalh_0, ldsetalh(w0, w1, MemOperand(x2)))
2955*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldseth_0, ldseth(w0, w1, MemOperand(x2)))
2956*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsetlh_0, ldsetlh(w0, w1, MemOperand(x2)))
2957*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxal_0, ldsmaxal(w0, w1, MemOperand(x2)))
2958*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxal_1, ldsmaxal(x0, x1, MemOperand(x2)))
2959*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxa_0, ldsmaxa(w0, w1, MemOperand(x2)))
2960*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxa_1, ldsmaxa(x0, x1, MemOperand(x2)))
2961*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxl_0, ldsmaxl(w0, w1, MemOperand(x2)))
2962*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxl_1, ldsmaxl(x0, x1, MemOperand(x2)))
2963*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmax_0, ldsmax(w0, w1, MemOperand(x2)))
2964*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmax_1, ldsmax(x0, x1, MemOperand(x2)))
2965*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxab_0, ldsmaxab(w0, w1, MemOperand(x2)))
2966*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxalb_0, ldsmaxalb(w0, w1, MemOperand(x2)))
2967*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxb_0, ldsmaxb(w0, w1, MemOperand(x2)))
2968*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxlb_0, ldsmaxlb(w0, w1, MemOperand(x2)))
2969*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxah_0, ldsmaxah(w0, w1, MemOperand(x2)))
2970*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxalh_0, ldsmaxalh(w0, w1, MemOperand(x2)))
2971*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxh_0, ldsmaxh(w0, w1, MemOperand(x2)))
2972*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmaxlh_0, ldsmaxlh(w0, w1, MemOperand(x2)))
2973*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminal_0, ldsminal(w0, w1, MemOperand(x2)))
2974*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminal_1, ldsminal(x0, x1, MemOperand(x2)))
2975*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmina_0, ldsmina(w0, w1, MemOperand(x2)))
2976*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmina_1, ldsmina(x0, x1, MemOperand(x2)))
2977*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminl_0, ldsminl(w0, w1, MemOperand(x2)))
2978*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminl_1, ldsminl(x0, x1, MemOperand(x2)))
2979*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmin_0, ldsmin(w0, w1, MemOperand(x2)))
2980*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsmin_1, ldsmin(x0, x1, MemOperand(x2)))
2981*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminab_0, ldsminab(w0, w1, MemOperand(x2)))
2982*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminalb_0, ldsminalb(w0, w1, MemOperand(x2)))
2983*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminb_0, ldsminb(w0, w1, MemOperand(x2)))
2984*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminlb_0, ldsminlb(w0, w1, MemOperand(x2)))
2985*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminah_0, ldsminah(w0, w1, MemOperand(x2)))
2986*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminalh_0, ldsminalh(w0, w1, MemOperand(x2)))
2987*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminh_0, ldsminh(w0, w1, MemOperand(x2)))
2988*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldsminlh_0, ldsminlh(w0, w1, MemOperand(x2)))
2989*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxal_0, ldumaxal(w0, w1, MemOperand(x2)))
2990*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxal_1, ldumaxal(x0, x1, MemOperand(x2)))
2991*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxa_0, ldumaxa(w0, w1, MemOperand(x2)))
2992*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxa_1, ldumaxa(x0, x1, MemOperand(x2)))
2993*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxl_0, ldumaxl(w0, w1, MemOperand(x2)))
2994*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxl_1, ldumaxl(x0, x1, MemOperand(x2)))
2995*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumax_0, ldumax(w0, w1, MemOperand(x2)))
2996*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumax_1, ldumax(x0, x1, MemOperand(x2)))
2997*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxab_0, ldumaxab(w0, w1, MemOperand(x2)))
2998*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxalb_0, ldumaxalb(w0, w1, MemOperand(x2)))
2999*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxb_0, ldumaxb(w0, w1, MemOperand(x2)))
3000*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxlb_0, ldumaxlb(w0, w1, MemOperand(x2)))
3001*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxah_0, ldumaxah(w0, w1, MemOperand(x2)))
3002*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxalh_0, ldumaxalh(w0, w1, MemOperand(x2)))
3003*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxh_0, ldumaxh(w0, w1, MemOperand(x2)))
3004*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumaxlh_0, ldumaxlh(w0, w1, MemOperand(x2)))
3005*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminal_0, lduminal(w0, w1, MemOperand(x2)))
3006*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminal_1, lduminal(x0, x1, MemOperand(x2)))
3007*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumina_0, ldumina(w0, w1, MemOperand(x2)))
3008*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumina_1, ldumina(x0, x1, MemOperand(x2)))
3009*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminl_0, lduminl(w0, w1, MemOperand(x2)))
3010*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminl_1, lduminl(x0, x1, MemOperand(x2)))
3011*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumin_0, ldumin(w0, w1, MemOperand(x2)))
3012*f5c631daSSadaf Ebrahimi TEST_ATOMICS(ldumin_1, ldumin(x0, x1, MemOperand(x2)))
3013*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminab_0, lduminab(w0, w1, MemOperand(x2)))
3014*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminalb_0, lduminalb(w0, w1, MemOperand(x2)))
3015*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminb_0, lduminb(w0, w1, MemOperand(x2)))
3016*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminlb_0, lduminlb(w0, w1, MemOperand(x2)))
3017*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminah_0, lduminah(w0, w1, MemOperand(x2)))
3018*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminalh_0, lduminalh(w0, w1, MemOperand(x2)))
3019*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminh_0, lduminh(w0, w1, MemOperand(x2)))
3020*f5c631daSSadaf Ebrahimi TEST_ATOMICS(lduminlh_0, lduminlh(w0, w1, MemOperand(x2)))
3021*f5c631daSSadaf Ebrahimi TEST_ATOMICS(staddb_0, staddb(w0, MemOperand(x1)))
3022*f5c631daSSadaf Ebrahimi TEST_ATOMICS(staddlb_0, staddlb(w0, MemOperand(x1)))
3023*f5c631daSSadaf Ebrahimi TEST_ATOMICS(staddh_0, staddh(w0, MemOperand(x1)))
3024*f5c631daSSadaf Ebrahimi TEST_ATOMICS(staddlh_0, staddlh(w0, MemOperand(x1)))
3025*f5c631daSSadaf Ebrahimi TEST_ATOMICS(staddl_0, staddl(w0, MemOperand(x1)))
3026*f5c631daSSadaf Ebrahimi TEST_ATOMICS(staddl_1, staddl(x0, MemOperand(x1)))
3027*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stadd_0, stadd(w0, MemOperand(x1)))
3028*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stadd_1, stadd(x0, MemOperand(x1)))
3029*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stclrb_0, stclrb(w0, MemOperand(x1)))
3030*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stclrlb_0, stclrlb(w0, MemOperand(x1)))
3031*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stclrh_0, stclrh(w0, MemOperand(x1)))
3032*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stclrlh_0, stclrlh(w0, MemOperand(x1)))
3033*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stclrl_0, stclrl(w0, MemOperand(x1)))
3034*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stclrl_1, stclrl(x0, MemOperand(x1)))
3035*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stclr_0, stclr(w0, MemOperand(x1)))
3036*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stclr_1, stclr(x0, MemOperand(x1)))
3037*f5c631daSSadaf Ebrahimi TEST_ATOMICS(steorb_0, steorb(w0, MemOperand(x1)))
3038*f5c631daSSadaf Ebrahimi TEST_ATOMICS(steorlb_0, steorlb(w0, MemOperand(x1)))
3039*f5c631daSSadaf Ebrahimi TEST_ATOMICS(steorh_0, steorh(w0, MemOperand(x1)))
3040*f5c631daSSadaf Ebrahimi TEST_ATOMICS(steorlh_0, steorlh(w0, MemOperand(x1)))
3041*f5c631daSSadaf Ebrahimi TEST_ATOMICS(steorl_0, steorl(w0, MemOperand(x1)))
3042*f5c631daSSadaf Ebrahimi TEST_ATOMICS(steorl_1, steorl(x0, MemOperand(x1)))
3043*f5c631daSSadaf Ebrahimi TEST_ATOMICS(steor_0, steor(w0, MemOperand(x1)))
3044*f5c631daSSadaf Ebrahimi TEST_ATOMICS(steor_1, steor(x0, MemOperand(x1)))
3045*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsetb_0, stsetb(w0, MemOperand(x1)))
3046*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsetlb_0, stsetlb(w0, MemOperand(x1)))
3047*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stseth_0, stseth(w0, MemOperand(x1)))
3048*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsetlh_0, stsetlh(w0, MemOperand(x1)))
3049*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsetl_0, stsetl(w0, MemOperand(x1)))
3050*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsetl_1, stsetl(x0, MemOperand(x1)))
3051*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stset_0, stset(w0, MemOperand(x1)))
3052*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stset_1, stset(x0, MemOperand(x1)))
3053*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsmaxb_0, stsmaxb(w0, MemOperand(x1)))
3054*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsmaxlb_0, stsmaxlb(w0, MemOperand(x1)))
3055*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsmaxh_0, stsmaxh(w0, MemOperand(x1)))
3056*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsmaxlh_0, stsmaxlh(w0, MemOperand(x1)))
3057*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsmaxl_0, stsmaxl(w0, MemOperand(x1)))
3058*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsmaxl_1, stsmaxl(x0, MemOperand(x1)))
3059*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsmax_0, stsmax(w0, MemOperand(x1)))
3060*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsmax_1, stsmax(x0, MemOperand(x1)))
3061*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsminb_0, stsminb(w0, MemOperand(x1)))
3062*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsminlb_0, stsminlb(w0, MemOperand(x1)))
3063*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsminh_0, stsminh(w0, MemOperand(x1)))
3064*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsminlh_0, stsminlh(w0, MemOperand(x1)))
3065*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsminl_0, stsminl(w0, MemOperand(x1)))
3066*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsminl_1, stsminl(x0, MemOperand(x1)))
3067*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsmin_0, stsmin(w0, MemOperand(x1)))
3068*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stsmin_1, stsmin(x0, MemOperand(x1)))
3069*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stumaxb_0, stumaxb(w0, MemOperand(x1)))
3070*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stumaxlb_0, stumaxlb(w0, MemOperand(x1)))
3071*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stumaxh_0, stumaxh(w0, MemOperand(x1)))
3072*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stumaxlh_0, stumaxlh(w0, MemOperand(x1)))
3073*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stumaxl_0, stumaxl(w0, MemOperand(x1)))
3074*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stumaxl_1, stumaxl(x0, MemOperand(x1)))
3075*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stumax_0, stumax(w0, MemOperand(x1)))
3076*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stumax_1, stumax(x0, MemOperand(x1)))
3077*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stuminb_0, stuminb(w0, MemOperand(x1)))
3078*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stuminlb_0, stuminlb(w0, MemOperand(x1)))
3079*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stuminh_0, stuminh(w0, MemOperand(x1)))
3080*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stuminlh_0, stuminlh(w0, MemOperand(x1)))
3081*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stuminl_0, stuminl(w0, MemOperand(x1)))
3082*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stuminl_1, stuminl(x0, MemOperand(x1)))
3083*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stumin_0, stumin(w0, MemOperand(x1)))
3084*f5c631daSSadaf Ebrahimi TEST_ATOMICS(stumin_1, stumin(x0, MemOperand(x1)))
3085*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpal_0, swpal(w0, w1, MemOperand(x2)))
3086*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpal_1, swpal(x0, x1, MemOperand(x2)))
3087*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpa_0, swpa(w0, w1, MemOperand(x2)))
3088*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpa_1, swpa(x0, x1, MemOperand(x2)))
3089*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpl_0, swpl(w0, w1, MemOperand(x2)))
3090*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpl_1, swpl(x0, x1, MemOperand(x2)))
3091*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swp_0, swp(w0, w1, MemOperand(x2)))
3092*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swp_1, swp(x0, x1, MemOperand(x2)))
3093*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpab_0, swpab(w0, w1, MemOperand(x2)))
3094*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpalb_0, swpalb(w0, w1, MemOperand(x2)))
3095*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpb_0, swpb(w0, w1, MemOperand(x2)))
3096*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swplb_0, swplb(w0, w1, MemOperand(x2)))
3097*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpah_0, swpah(w0, w1, MemOperand(x2)))
3098*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swpalh_0, swpalh(w0, w1, MemOperand(x2)))
3099*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swph_0, swph(w0, w1, MemOperand(x2)))
3100*f5c631daSSadaf Ebrahimi TEST_ATOMICS(swplh_0, swplh(w0, w1, MemOperand(x2)))
3101*f5c631daSSadaf Ebrahimi 
3102*f5c631daSSadaf Ebrahimi #define TEST_FP_NEON(NAME, ASM)                                    \
3103*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFP, CPUFeatures::kNEON), \
3104*f5c631daSSadaf Ebrahimi                 FP_NEON_##NAME,                                    \
3105*f5c631daSSadaf Ebrahimi                 ASM)
3106*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fabd_0, fabd(v0.V2S(), v1.V2S(), v2.V2S()))
3107*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fabd_1, fabd(v0.V4S(), v1.V4S(), v2.V4S()))
3108*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fabd_2, fabd(v0.V2D(), v1.V2D(), v2.V2D()))
3109*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fabd_3, fabd(s0, s1, s2))
3110*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fabd_4, fabd(d0, d1, d2))
3111*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fabs_0, fabs(v0.V2S(), v1.V2S()))
3112*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fabs_1, fabs(v0.V4S(), v1.V4S()))
3113*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fabs_2, fabs(v0.V2D(), v1.V2D()))
3114*f5c631daSSadaf Ebrahimi TEST_FP_NEON(facge_0, facge(v0.V2S(), v1.V2S(), v2.V2S()))
3115*f5c631daSSadaf Ebrahimi TEST_FP_NEON(facge_1, facge(v0.V4S(), v1.V4S(), v2.V4S()))
3116*f5c631daSSadaf Ebrahimi TEST_FP_NEON(facge_2, facge(v0.V2D(), v1.V2D(), v2.V2D()))
3117*f5c631daSSadaf Ebrahimi TEST_FP_NEON(facge_3, facge(s0, s1, s2))
3118*f5c631daSSadaf Ebrahimi TEST_FP_NEON(facge_4, facge(d0, d1, d2))
3119*f5c631daSSadaf Ebrahimi TEST_FP_NEON(facgt_0, facgt(v0.V2S(), v1.V2S(), v2.V2S()))
3120*f5c631daSSadaf Ebrahimi TEST_FP_NEON(facgt_1, facgt(v0.V4S(), v1.V4S(), v2.V4S()))
3121*f5c631daSSadaf Ebrahimi TEST_FP_NEON(facgt_2, facgt(v0.V2D(), v1.V2D(), v2.V2D()))
3122*f5c631daSSadaf Ebrahimi TEST_FP_NEON(facgt_3, facgt(s0, s1, s2))
3123*f5c631daSSadaf Ebrahimi TEST_FP_NEON(facgt_4, facgt(d0, d1, d2))
3124*f5c631daSSadaf Ebrahimi TEST_FP_NEON(faddp_0, faddp(s0, v1.V2S()))
3125*f5c631daSSadaf Ebrahimi TEST_FP_NEON(faddp_1, faddp(d0, v1.V2D()))
3126*f5c631daSSadaf Ebrahimi TEST_FP_NEON(faddp_2, faddp(v0.V2S(), v1.V2S(), v2.V2S()))
3127*f5c631daSSadaf Ebrahimi TEST_FP_NEON(faddp_3, faddp(v0.V4S(), v1.V4S(), v2.V4S()))
3128*f5c631daSSadaf Ebrahimi TEST_FP_NEON(faddp_4, faddp(v0.V2D(), v1.V2D(), v2.V2D()))
3129*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fadd_0, fadd(v0.V2S(), v1.V2S(), v2.V2S()))
3130*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fadd_1, fadd(v0.V4S(), v1.V4S(), v2.V4S()))
3131*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fadd_2, fadd(v0.V2D(), v1.V2D(), v2.V2D()))
3132*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmeq_0, fcmeq(v0.V2S(), v1.V2S(), v2.V2S()))
3133*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmeq_1, fcmeq(v0.V4S(), v1.V4S(), v2.V4S()))
3134*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmeq_2, fcmeq(v0.V2D(), v1.V2D(), v2.V2D()))
3135*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmeq_3, fcmeq(s0, s1, s2))
3136*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmeq_4, fcmeq(d0, d1, d2))
3137*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmeq_5, fcmeq(v0.V2S(), v1.V2S(), 0.0))
3138*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmeq_6, fcmeq(v0.V4S(), v1.V4S(), 0.0))
3139*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmeq_7, fcmeq(v0.V2D(), v1.V2D(), 0.0))
3140*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmeq_8, fcmeq(s0, s1, 0.0))
3141*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmeq_9, fcmeq(d0, d1, 0.0))
3142*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmge_0, fcmge(v0.V2S(), v1.V2S(), v2.V2S()))
3143*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmge_1, fcmge(v0.V4S(), v1.V4S(), v2.V4S()))
3144*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmge_2, fcmge(v0.V2D(), v1.V2D(), v2.V2D()))
3145*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmge_3, fcmge(s0, s1, s2))
3146*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmge_4, fcmge(d0, d1, d2))
3147*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmge_5, fcmge(v0.V2S(), v1.V2S(), 0.0))
3148*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmge_6, fcmge(v0.V4S(), v1.V4S(), 0.0))
3149*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmge_7, fcmge(v0.V2D(), v1.V2D(), 0.0))
3150*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmge_8, fcmge(s0, s1, 0.0))
3151*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmge_9, fcmge(d0, d1, 0.0))
3152*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmgt_0, fcmgt(v0.V2S(), v1.V2S(), v2.V2S()))
3153*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmgt_1, fcmgt(v0.V4S(), v1.V4S(), v2.V4S()))
3154*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmgt_2, fcmgt(v0.V2D(), v1.V2D(), v2.V2D()))
3155*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmgt_3, fcmgt(s0, s1, s2))
3156*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmgt_4, fcmgt(d0, d1, d2))
3157*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmgt_5, fcmgt(v0.V2S(), v1.V2S(), 0.0))
3158*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmgt_6, fcmgt(v0.V4S(), v1.V4S(), 0.0))
3159*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmgt_7, fcmgt(v0.V2D(), v1.V2D(), 0.0))
3160*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmgt_8, fcmgt(s0, s1, 0.0))
3161*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmgt_9, fcmgt(d0, d1, 0.0))
3162*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmle_0, fcmle(v0.V2S(), v1.V2S(), 0.0))
3163*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmle_1, fcmle(v0.V4S(), v1.V4S(), 0.0))
3164*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmle_2, fcmle(v0.V2D(), v1.V2D(), 0.0))
3165*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmle_3, fcmle(s0, s1, 0.0))
3166*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmle_4, fcmle(d0, d1, 0.0))
3167*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmlt_0, fcmlt(v0.V2S(), v1.V2S(), 0.0))
3168*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmlt_1, fcmlt(v0.V4S(), v1.V4S(), 0.0))
3169*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmlt_2, fcmlt(v0.V2D(), v1.V2D(), 0.0))
3170*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmlt_3, fcmlt(s0, s1, 0.0))
3171*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcmlt_4, fcmlt(d0, d1, 0.0))
3172*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtas_0, fcvtas(v0.V2S(), v1.V2S()))
3173*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtas_1, fcvtas(v0.V4S(), v1.V4S()))
3174*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtas_2, fcvtas(v0.V2D(), v1.V2D()))
3175*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtas_3, fcvtas(s0, s1))
3176*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtas_4, fcvtas(d0, d1))
3177*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtau_0, fcvtau(v0.V2S(), v1.V2S()))
3178*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtau_1, fcvtau(v0.V4S(), v1.V4S()))
3179*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtau_2, fcvtau(v0.V2D(), v1.V2D()))
3180*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtau_3, fcvtau(s0, s1))
3181*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtau_4, fcvtau(d0, d1))
3182*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtl_0, fcvtl(v0.V4S(), v1.V4H()))
3183*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtl_1, fcvtl(v0.V2D(), v1.V2S()))
3184*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtl2_0, fcvtl2(v0.V4S(), v1.V8H()))
3185*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtl2_1, fcvtl2(v0.V2D(), v1.V4S()))
3186*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtms_0, fcvtms(v0.V2S(), v1.V2S()))
3187*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtms_1, fcvtms(v0.V4S(), v1.V4S()))
3188*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtms_2, fcvtms(v0.V2D(), v1.V2D()))
3189*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtms_3, fcvtms(s0, s1))
3190*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtms_4, fcvtms(d0, d1))
3191*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtmu_0, fcvtmu(v0.V2S(), v1.V2S()))
3192*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtmu_1, fcvtmu(v0.V4S(), v1.V4S()))
3193*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtmu_2, fcvtmu(v0.V2D(), v1.V2D()))
3194*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtmu_3, fcvtmu(s0, s1))
3195*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtmu_4, fcvtmu(d0, d1))
3196*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtns_0, fcvtns(v0.V2S(), v1.V2S()))
3197*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtns_1, fcvtns(v0.V4S(), v1.V4S()))
3198*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtns_2, fcvtns(v0.V2D(), v1.V2D()))
3199*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtns_3, fcvtns(s0, s1))
3200*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtns_4, fcvtns(d0, d1))
3201*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtnu_0, fcvtnu(v0.V2S(), v1.V2S()))
3202*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtnu_1, fcvtnu(v0.V4S(), v1.V4S()))
3203*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtnu_2, fcvtnu(v0.V2D(), v1.V2D()))
3204*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtnu_3, fcvtnu(s0, s1))
3205*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtnu_4, fcvtnu(d0, d1))
3206*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtn_0, fcvtn(v0.V4H(), v1.V4S()))
3207*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtn_1, fcvtn(v0.V2S(), v1.V2D()))
3208*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtn2_0, fcvtn2(v0.V8H(), v1.V4S()))
3209*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtn2_1, fcvtn2(v0.V4S(), v1.V2D()))
3210*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtps_0, fcvtps(v0.V2S(), v1.V2S()))
3211*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtps_1, fcvtps(v0.V4S(), v1.V4S()))
3212*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtps_2, fcvtps(v0.V2D(), v1.V2D()))
3213*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtps_3, fcvtps(s0, s1))
3214*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtps_4, fcvtps(d0, d1))
3215*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtpu_0, fcvtpu(v0.V2S(), v1.V2S()))
3216*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtpu_1, fcvtpu(v0.V4S(), v1.V4S()))
3217*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtpu_2, fcvtpu(v0.V2D(), v1.V2D()))
3218*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtpu_3, fcvtpu(s0, s1))
3219*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtpu_4, fcvtpu(d0, d1))
3220*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtxn_0, fcvtxn(v0.V2S(), v1.V2D()))
3221*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtxn2_0, fcvtxn2(v0.V4S(), v1.V2D()))
3222*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtxn_1, fcvtxn(s0, d1))
3223*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzs_0, fcvtzs(v0.V2S(), v1.V2S(), 5))
3224*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzs_1, fcvtzs(v0.V4S(), v1.V4S(), 5))
3225*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzs_2, fcvtzs(v0.V2D(), v1.V2D(), 5))
3226*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzs_3, fcvtzs(s0, s1, 5))
3227*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzs_4, fcvtzs(d0, d1, 5))
3228*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzs_5, fcvtzs(v0.V2S(), v1.V2S()))
3229*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzs_6, fcvtzs(v0.V4S(), v1.V4S()))
3230*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzs_7, fcvtzs(v0.V2D(), v1.V2D()))
3231*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzs_8, fcvtzs(s0, s1))
3232*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzs_9, fcvtzs(d0, d1))
3233*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzu_0, fcvtzu(v0.V2S(), v1.V2S(), 5))
3234*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzu_1, fcvtzu(v0.V4S(), v1.V4S(), 5))
3235*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzu_2, fcvtzu(v0.V2D(), v1.V2D(), 5))
3236*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzu_3, fcvtzu(s0, s1, 5))
3237*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzu_4, fcvtzu(d0, d1, 5))
3238*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzu_5, fcvtzu(v0.V2S(), v1.V2S()))
3239*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzu_6, fcvtzu(v0.V4S(), v1.V4S()))
3240*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzu_7, fcvtzu(v0.V2D(), v1.V2D()))
3241*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzu_8, fcvtzu(s0, s1))
3242*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fcvtzu_9, fcvtzu(d0, d1))
3243*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fdiv_0, fdiv(v0.V2S(), v1.V2S(), v2.V2S()))
3244*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fdiv_1, fdiv(v0.V4S(), v1.V4S(), v2.V4S()))
3245*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fdiv_2, fdiv(v0.V2D(), v1.V2D(), v2.V2D()))
3246*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxnmp_0, fmaxnmp(s0, v1.V2S()))
3247*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxnmp_1, fmaxnmp(d0, v1.V2D()))
3248*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxnmp_2, fmaxnmp(v0.V2S(), v1.V2S(), v2.V2S()))
3249*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxnmp_3, fmaxnmp(v0.V4S(), v1.V4S(), v2.V4S()))
3250*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxnmp_4, fmaxnmp(v0.V2D(), v1.V2D(), v2.V2D()))
3251*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxnmv_0, fmaxnmv(s0, v1.V4S()))
3252*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxnm_0, fmaxnm(v0.V2S(), v1.V2S(), v2.V2S()))
3253*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxnm_1, fmaxnm(v0.V4S(), v1.V4S(), v2.V4S()))
3254*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxnm_2, fmaxnm(v0.V2D(), v1.V2D(), v2.V2D()))
3255*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxp_0, fmaxp(s0, v1.V2S()))
3256*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxp_1, fmaxp(d0, v1.V2D()))
3257*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxp_2, fmaxp(v0.V2S(), v1.V2S(), v2.V2S()))
3258*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxp_3, fmaxp(v0.V4S(), v1.V4S(), v2.V4S()))
3259*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxp_4, fmaxp(v0.V2D(), v1.V2D(), v2.V2D()))
3260*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmaxv_0, fmaxv(s0, v1.V4S()))
3261*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmax_0, fmax(v0.V2S(), v1.V2S(), v2.V2S()))
3262*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmax_1, fmax(v0.V4S(), v1.V4S(), v2.V4S()))
3263*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmax_2, fmax(v0.V2D(), v1.V2D(), v2.V2D()))
3264*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminnmp_0, fminnmp(s0, v1.V2S()))
3265*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminnmp_1, fminnmp(d0, v1.V2D()))
3266*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminnmp_2, fminnmp(v0.V2S(), v1.V2S(), v2.V2S()))
3267*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminnmp_3, fminnmp(v0.V4S(), v1.V4S(), v2.V4S()))
3268*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminnmp_4, fminnmp(v0.V2D(), v1.V2D(), v2.V2D()))
3269*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminnmv_0, fminnmv(s0, v1.V4S()))
3270*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminnm_0, fminnm(v0.V2S(), v1.V2S(), v2.V2S()))
3271*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminnm_1, fminnm(v0.V4S(), v1.V4S(), v2.V4S()))
3272*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminnm_2, fminnm(v0.V2D(), v1.V2D(), v2.V2D()))
3273*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminp_0, fminp(s0, v1.V2S()))
3274*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminp_1, fminp(d0, v1.V2D()))
3275*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminp_2, fminp(v0.V2S(), v1.V2S(), v2.V2S()))
3276*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminp_3, fminp(v0.V4S(), v1.V4S(), v2.V4S()))
3277*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminp_4, fminp(v0.V2D(), v1.V2D(), v2.V2D()))
3278*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fminv_0, fminv(s0, v1.V4S()))
3279*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmin_0, fmin(v0.V2S(), v1.V2S(), v2.V2S()))
3280*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmin_1, fmin(v0.V4S(), v1.V4S(), v2.V4S()))
3281*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmin_2, fmin(v0.V2D(), v1.V2D(), v2.V2D()))
3282*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmla_0, fmla(v0.V2S(), v1.V2S(), v2.S(), 3))
3283*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmla_1, fmla(v0.V4S(), v1.V4S(), v2.S(), 2))
3284*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmla_2, fmla(v0.V2D(), v1.V2D(), v2.D(), 0))
3285*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmla_3, fmla(s0, s1, v2.S(), 1))
3286*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmla_4, fmla(d0, d1, v2.D(), 0))
3287*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmla_5, fmla(v0.V2S(), v1.V2S(), v2.V2S()))
3288*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmla_6, fmla(v0.V4S(), v1.V4S(), v2.V4S()))
3289*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmls_0, fmls(v0.V2S(), v1.V2S(), v2.S(), 3))
3290*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmls_1, fmls(v0.V4S(), v1.V4S(), v2.S(), 1))
3291*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmls_2, fmls(v0.V2D(), v1.V2D(), v2.D(), 1))
3292*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmls_3, fmls(s0, s1, v2.S(), 3))
3293*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmls_4, fmls(d0, d1, v2.D(), 0))
3294*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmls_5, fmls(v0.V2S(), v1.V2S(), v2.V2S()))
3295*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmls_6, fmls(v0.V4S(), v1.V4S(), v2.V4S()))
3296*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmov_0, fmov(v0.V2D(), -0.96875))
3297*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmov_1, fmov(v0.V2S(), 3.875f))
3298*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmov_2, fmov(v0.V4S(), 0.1328125f))
3299*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmov_3, fmov(x0, v1.D(), 1))
3300*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmov_4, fmov(v0.D(), 1, x1))
3301*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmulx_0, fmulx(v0.V2S(), v1.V2S(), v2.S(), 1))
3302*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmulx_1, fmulx(v0.V4S(), v1.V4S(), v2.S(), 2))
3303*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmulx_2, fmulx(v0.V2D(), v1.V2D(), v2.D(), 0))
3304*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmulx_3, fmulx(s0, s1, v2.S(), 2))
3305*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmulx_4, fmulx(d0, d1, v2.D(), 0))
3306*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmulx_5, fmulx(v0.V2S(), v1.V2S(), v2.V2S()))
3307*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmulx_6, fmulx(v0.V4S(), v1.V4S(), v2.V4S()))
3308*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmulx_7, fmulx(s0, s1, s2))
3309*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmulx_8, fmulx(d0, d1, d2))
3310*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmul_0, fmul(v0.V2S(), v1.V2S(), v2.S(), 3))
3311*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmul_1, fmul(v0.V4S(), v1.V4S(), v2.S(), 2))
3312*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmul_2, fmul(v0.V2D(), v1.V2D(), v2.D(), 1))
3313*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmul_3, fmul(s0, s1, v2.S(), 1))
3314*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmul_4, fmul(d0, d1, v2.D(), 1))
3315*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmul_5, fmul(v0.V2S(), v1.V2S(), v2.V2S()))
3316*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fmul_6, fmul(v0.V4S(), v1.V4S(), v2.V4S()))
3317*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fneg_0, fneg(v0.V2S(), v1.V2S()))
3318*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fneg_1, fneg(v0.V4S(), v1.V4S()))
3319*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fneg_2, fneg(v0.V2D(), v1.V2D()))
3320*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecpe_0, frecpe(v0.V2S(), v1.V2S()))
3321*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecpe_1, frecpe(v0.V4S(), v1.V4S()))
3322*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecpe_2, frecpe(v0.V2D(), v1.V2D()))
3323*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecpe_3, frecpe(s0, s1))
3324*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecpe_4, frecpe(d0, d1))
3325*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecps_0, frecps(v0.V2S(), v1.V2S(), v2.V2S()))
3326*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecps_1, frecps(v0.V4S(), v1.V4S(), v2.V4S()))
3327*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecps_2, frecps(v0.V2D(), v1.V2D(), v2.V2D()))
3328*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecps_3, frecps(s0, s1, s2))
3329*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecps_4, frecps(d0, d1, d2))
3330*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecpx_0, frecpx(s0, s1))
3331*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frecpx_1, frecpx(d0, d1))
3332*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frinta_0, frinta(v0.V2S(), v1.V2S()))
3333*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frinta_1, frinta(v0.V4S(), v1.V4S()))
3334*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frinta_2, frinta(v0.V2D(), v1.V2D()))
3335*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frinti_0, frinti(v0.V2S(), v1.V2S()))
3336*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frinti_1, frinti(v0.V4S(), v1.V4S()))
3337*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frinti_2, frinti(v0.V2D(), v1.V2D()))
3338*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintm_0, frintm(v0.V2S(), v1.V2S()))
3339*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintm_1, frintm(v0.V4S(), v1.V4S()))
3340*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintm_2, frintm(v0.V2D(), v1.V2D()))
3341*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintn_0, frintn(v0.V2S(), v1.V2S()))
3342*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintn_1, frintn(v0.V4S(), v1.V4S()))
3343*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintn_2, frintn(v0.V2D(), v1.V2D()))
3344*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintp_0, frintp(v0.V2S(), v1.V2S()))
3345*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintp_1, frintp(v0.V4S(), v1.V4S()))
3346*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintp_2, frintp(v0.V2D(), v1.V2D()))
3347*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintx_0, frintx(v0.V2S(), v1.V2S()))
3348*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintx_1, frintx(v0.V4S(), v1.V4S()))
3349*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintx_2, frintx(v0.V2D(), v1.V2D()))
3350*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintz_0, frintz(v0.V2S(), v1.V2S()))
3351*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintz_1, frintz(v0.V4S(), v1.V4S()))
3352*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frintz_2, frintz(v0.V2D(), v1.V2D()))
3353*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frsqrte_0, frsqrte(v0.V2S(), v1.V2S()))
3354*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frsqrte_1, frsqrte(v0.V4S(), v1.V4S()))
3355*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frsqrte_2, frsqrte(v0.V2D(), v1.V2D()))
3356*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frsqrte_3, frsqrte(s0, s1))
3357*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frsqrte_4, frsqrte(d0, d1))
3358*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frsqrts_0, frsqrts(v0.V2S(), v1.V2S(), v2.V2S()))
3359*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frsqrts_1, frsqrts(v0.V4S(), v1.V4S(), v2.V4S()))
3360*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frsqrts_2, frsqrts(v0.V2D(), v1.V2D(), v2.V2D()))
3361*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frsqrts_3, frsqrts(s0, s1, s2))
3362*f5c631daSSadaf Ebrahimi TEST_FP_NEON(frsqrts_4, frsqrts(d0, d1, d2))
3363*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fsqrt_0, fsqrt(v0.V2S(), v1.V2S()))
3364*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fsqrt_1, fsqrt(v0.V4S(), v1.V4S()))
3365*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fsqrt_2, fsqrt(v0.V2D(), v1.V2D()))
3366*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fsub_0, fsub(v0.V2S(), v1.V2S(), v2.V2S()))
3367*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fsub_1, fsub(v0.V4S(), v1.V4S(), v2.V4S()))
3368*f5c631daSSadaf Ebrahimi TEST_FP_NEON(fsub_2, fsub(v0.V2D(), v1.V2D(), v2.V2D()))
3369*f5c631daSSadaf Ebrahimi TEST_FP_NEON(scvtf_0, scvtf(v0.V2S(), v1.V2S(), 5))
3370*f5c631daSSadaf Ebrahimi TEST_FP_NEON(scvtf_1, scvtf(v0.V4S(), v1.V4S(), 5))
3371*f5c631daSSadaf Ebrahimi TEST_FP_NEON(scvtf_2, scvtf(v0.V2D(), v1.V2D(), 5))
3372*f5c631daSSadaf Ebrahimi TEST_FP_NEON(scvtf_3, scvtf(s0, s1, 5))
3373*f5c631daSSadaf Ebrahimi TEST_FP_NEON(scvtf_4, scvtf(d0, d1, 5))
3374*f5c631daSSadaf Ebrahimi TEST_FP_NEON(scvtf_5, scvtf(v0.V2S(), v1.V2S()))
3375*f5c631daSSadaf Ebrahimi TEST_FP_NEON(scvtf_6, scvtf(v0.V4S(), v1.V4S()))
3376*f5c631daSSadaf Ebrahimi TEST_FP_NEON(scvtf_7, scvtf(v0.V2D(), v1.V2D()))
3377*f5c631daSSadaf Ebrahimi TEST_FP_NEON(scvtf_8, scvtf(s0, s1))
3378*f5c631daSSadaf Ebrahimi TEST_FP_NEON(scvtf_9, scvtf(d0, d1))
3379*f5c631daSSadaf Ebrahimi TEST_FP_NEON(ucvtf_0, ucvtf(v0.V2S(), v1.V2S(), 5))
3380*f5c631daSSadaf Ebrahimi TEST_FP_NEON(ucvtf_1, ucvtf(v0.V4S(), v1.V4S(), 5))
3381*f5c631daSSadaf Ebrahimi TEST_FP_NEON(ucvtf_2, ucvtf(v0.V2D(), v1.V2D(), 5))
3382*f5c631daSSadaf Ebrahimi TEST_FP_NEON(ucvtf_3, ucvtf(s0, s1, 5))
3383*f5c631daSSadaf Ebrahimi TEST_FP_NEON(ucvtf_4, ucvtf(d0, d1, 5))
3384*f5c631daSSadaf Ebrahimi TEST_FP_NEON(ucvtf_5, ucvtf(v0.V2S(), v1.V2S()))
3385*f5c631daSSadaf Ebrahimi TEST_FP_NEON(ucvtf_6, ucvtf(v0.V4S(), v1.V4S()))
3386*f5c631daSSadaf Ebrahimi TEST_FP_NEON(ucvtf_7, ucvtf(v0.V2D(), v1.V2D()))
3387*f5c631daSSadaf Ebrahimi TEST_FP_NEON(ucvtf_8, ucvtf(s0, s1))
3388*f5c631daSSadaf Ebrahimi TEST_FP_NEON(ucvtf_9, ucvtf(d0, d1))
3389*f5c631daSSadaf Ebrahimi 
3390*f5c631daSSadaf Ebrahimi #define TEST_FP_NEON_FRINT(NAME, ASM)                            \
3391*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFP,                    \
3392*f5c631daSSadaf Ebrahimi                             CPUFeatures::kNEON,                  \
3393*f5c631daSSadaf Ebrahimi                             CPUFeatures::kFrintToFixedSizedInt), \
3394*f5c631daSSadaf Ebrahimi                 FP_NEON_##NAME,                                  \
3395*f5c631daSSadaf Ebrahimi                 ASM)
3396*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint32x_0, frint32x(v0.V2S(), v1.V2S()))
3397*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint32x_1, frint32x(v0.V4S(), v1.V4S()))
3398*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint32x_2, frint32x(v0.V2D(), v1.V2D()))
3399*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint32z_0, frint32z(v0.V2S(), v1.V2S()))
3400*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint32z_1, frint32z(v0.V4S(), v1.V4S()))
3401*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint32z_2, frint32z(v0.V2D(), v1.V2D()))
3402*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint64x_0, frint64x(v0.V2S(), v1.V2S()))
3403*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint64x_1, frint64x(v0.V4S(), v1.V4S()))
3404*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint64x_2, frint64x(v0.V2D(), v1.V2D()))
3405*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint64z_0, frint64z(v0.V2S(), v1.V2S()))
3406*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint64z_1, frint64z(v0.V4S(), v1.V4S()))
3407*f5c631daSSadaf Ebrahimi TEST_FP_NEON_FRINT(frint64z_2, frint64z(v0.V2D(), v1.V2D()))
3408*f5c631daSSadaf Ebrahimi 
3409*f5c631daSSadaf Ebrahimi #define TEST_FP_JSCVT(NAME, ASM)                                    \
3410*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFP, CPUFeatures::kJSCVT), \
3411*f5c631daSSadaf Ebrahimi                 FP_JSCVT_##NAME,                                    \
3412*f5c631daSSadaf Ebrahimi                 ASM)
3413*f5c631daSSadaf Ebrahimi TEST_FP_JSCVT(fjcvtzs_0, fjcvtzs(w0, d1))
3414*f5c631daSSadaf Ebrahimi 
3415*f5c631daSSadaf Ebrahimi #define TEST_RDM_NEON(NAME, ASM)                                    \
3416*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kRDM, CPUFeatures::kNEON), \
3417*f5c631daSSadaf Ebrahimi                 RDM_NEON_##NAME,                                    \
3418*f5c631daSSadaf Ebrahimi                 ASM)
3419*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_0, sqrdmlah(v0.V4H(), v1.V4H(), v2.H(), 5))
3420*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_1, sqrdmlah(v0.V8H(), v1.V8H(), v2.H(), 4))
3421*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_2, sqrdmlah(v0.V2S(), v1.V2S(), v2.S(), 3))
3422*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_3, sqrdmlah(v0.V4S(), v1.V4S(), v2.S(), 0))
3423*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_4, sqrdmlah(h0, h1, v2.H(), 5))
3424*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_5, sqrdmlah(s0, s1, v2.S(), 1))
3425*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_6, sqrdmlah(v0.V4H(), v1.V4H(), v2.V4H()))
3426*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_7, sqrdmlah(v0.V8H(), v1.V8H(), v2.V8H()))
3427*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_8, sqrdmlah(v0.V2S(), v1.V2S(), v2.V2S()))
3428*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_9, sqrdmlah(v0.V4S(), v1.V4S(), v2.V4S()))
3429*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_10, sqrdmlah(h0, h1, h2))
3430*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlah_11, sqrdmlah(s0, s1, s2))
3431*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_0, sqrdmlsh(v0.V4H(), v1.V4H(), v2.H(), 5))
3432*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_1, sqrdmlsh(v0.V8H(), v1.V8H(), v2.H(), 5))
3433*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_2, sqrdmlsh(v0.V2S(), v1.V2S(), v2.S(), 2))
3434*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_3, sqrdmlsh(v0.V4S(), v1.V4S(), v2.S(), 1))
3435*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_4, sqrdmlsh(h0, h1, v2.H(), 6))
3436*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_5, sqrdmlsh(s0, s1, v2.S(), 1))
3437*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_6, sqrdmlsh(v0.V4H(), v1.V4H(), v2.V4H()))
3438*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_7, sqrdmlsh(v0.V8H(), v1.V8H(), v2.V8H()))
3439*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_8, sqrdmlsh(v0.V2S(), v1.V2S(), v2.V2S()))
3440*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_9, sqrdmlsh(v0.V4S(), v1.V4S(), v2.V4S()))
3441*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_10, sqrdmlsh(h0, h1, h2))
3442*f5c631daSSadaf Ebrahimi TEST_RDM_NEON(sqrdmlsh_11, sqrdmlsh(s0, s1, s2))
3443*f5c631daSSadaf Ebrahimi 
3444*f5c631daSSadaf Ebrahimi #define TEST_FP_FPHALF(NAME, ASM)                                    \
3445*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFP, CPUFeatures::kFPHalf), \
3446*f5c631daSSadaf Ebrahimi                 FP_FPHalf_##NAME,                                    \
3447*f5c631daSSadaf Ebrahimi                 ASM)
3448*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fabs_0, fabs(h0, h1))
3449*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fadd_0, fadd(h0, h1, h2))
3450*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fccmpe_0, fccmpe(h0, h1, CFlag, cc))
3451*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fccmp_0, fccmp(h0, h1, NCFlag, lt))
3452*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcmpe_0, fcmpe(h0, 0.0))
3453*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcmpe_1, fcmpe(h0, h1))
3454*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcmp_0, fcmp(h0, 0.0))
3455*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcmp_1, fcmp(h0, h1))
3456*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcsel_0, fcsel(h0, h1, h2, cc))
3457*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtas_0, fcvtas(w0, h1))
3458*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtas_1, fcvtas(x0, h1))
3459*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtau_0, fcvtau(w0, h1))
3460*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtau_1, fcvtau(x0, h1))
3461*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtms_0, fcvtms(w0, h1))
3462*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtms_1, fcvtms(x0, h1))
3463*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtmu_0, fcvtmu(w0, h1))
3464*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtmu_1, fcvtmu(x0, h1))
3465*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtns_0, fcvtns(w0, h1))
3466*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtns_1, fcvtns(x0, h1))
3467*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtnu_0, fcvtnu(w0, h1))
3468*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtnu_1, fcvtnu(x0, h1))
3469*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtps_0, fcvtps(w0, h1))
3470*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtps_1, fcvtps(x0, h1))
3471*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtpu_0, fcvtpu(w0, h1))
3472*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtpu_1, fcvtpu(x0, h1))
3473*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtzs_0, fcvtzs(w0, h1, 5))
3474*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtzs_1, fcvtzs(x0, h1, 5))
3475*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtzs_2, fcvtzs(w0, h1))
3476*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtzs_3, fcvtzs(x0, h1))
3477*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtzu_0, fcvtzu(w0, h1, 5))
3478*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtzu_1, fcvtzu(x0, h1, 5))
3479*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtzu_2, fcvtzu(w0, h1))
3480*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fcvtzu_3, fcvtzu(x0, h1))
3481*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fdiv_0, fdiv(h0, h1, h2))
3482*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmadd_0, fmadd(h0, h1, h2, h3))
3483*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmaxnm_0, fmaxnm(h0, h1, h2))
3484*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmax_0, fmax(h0, h1, h2))
3485*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fminnm_0, fminnm(h0, h1, h2))
3486*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmin_0, fmin(h0, h1, h2))
3487*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmov_0, fmov(h0, h1))
3488*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmov_1, fmov(w0, h1))
3489*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmov_2, fmov(x0, h1))
3490*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmov_3, fmov(h0, w1))
3491*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmov_4, fmov(h0, x1))
3492*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmov_5, fmov(h0, Float16(0.390625)))
3493*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmsub_0, fmsub(h0, h1, h2, h3))
3494*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fmul_0, fmul(h0, h1, h2))
3495*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fneg_0, fneg(h0, h1))
3496*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fnmadd_0, fnmadd(h0, h1, h2, h3))
3497*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fnmsub_0, fnmsub(h0, h1, h2, h3))
3498*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fnmul_0, fnmul(h0, h1, h2))
3499*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(frinta_0, frinta(h0, h1))
3500*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(frinti_0, frinti(h0, h1))
3501*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(frintm_0, frintm(h0, h1))
3502*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(frintn_0, frintn(h0, h1))
3503*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(frintp_0, frintp(h0, h1))
3504*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(frintx_0, frintx(h0, h1))
3505*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(frintz_0, frintz(h0, h1))
3506*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fsqrt_0, fsqrt(h0, h1))
3507*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(fsub_0, fsub(h0, h1, h2))
3508*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(scvtf_0, scvtf(h0, w1, 5))
3509*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(scvtf_1, scvtf(h0, x1, 5))
3510*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(scvtf_2, scvtf(h0, w1))
3511*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(scvtf_3, scvtf(h0, x1))
3512*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(ucvtf_0, ucvtf(h0, w1, 5))
3513*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(ucvtf_1, ucvtf(h0, x1, 5))
3514*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(ucvtf_2, ucvtf(h0, w1))
3515*f5c631daSSadaf Ebrahimi TEST_FP_FPHALF(ucvtf_3, ucvtf(h0, x1))
3516*f5c631daSSadaf Ebrahimi 
3517*f5c631daSSadaf Ebrahimi #define TEST_LOREGIONS(NAME, ASM) \
3518*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kLORegions), LORegions_##NAME, ASM)
3519*f5c631daSSadaf Ebrahimi TEST_LOREGIONS(ldlar_0, ldlar(w0, MemOperand(x1, 0)))
3520*f5c631daSSadaf Ebrahimi TEST_LOREGIONS(ldlar_1, ldlar(x0, MemOperand(x1, 0)))
3521*f5c631daSSadaf Ebrahimi TEST_LOREGIONS(ldlarb_0, ldlarb(w0, MemOperand(x1, 0)))
3522*f5c631daSSadaf Ebrahimi TEST_LOREGIONS(ldlarh_0, ldlarh(w0, MemOperand(x1, 0)))
3523*f5c631daSSadaf Ebrahimi TEST_LOREGIONS(stllr_0, stllr(w0, MemOperand(x1, 0)))
3524*f5c631daSSadaf Ebrahimi TEST_LOREGIONS(stllr_1, stllr(x0, MemOperand(x1, 0)))
3525*f5c631daSSadaf Ebrahimi TEST_LOREGIONS(stllrb_0, stllrb(w0, MemOperand(x1, 0)))
3526*f5c631daSSadaf Ebrahimi TEST_LOREGIONS(stllrh_0, stllrh(w0, MemOperand(x1, 0)))
3527*f5c631daSSadaf Ebrahimi 
3528*f5c631daSSadaf Ebrahimi #define TEST_FP_FCMA_NEON(NAME, ASM)             \
3529*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFP,    \
3530*f5c631daSSadaf Ebrahimi                             CPUFeatures::kFcma,  \
3531*f5c631daSSadaf Ebrahimi                             CPUFeatures::kNEON), \
3532*f5c631daSSadaf Ebrahimi                 FP_Fcma_NEON_##NAME,             \
3533*f5c631daSSadaf Ebrahimi                 ASM)
3534*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON(fcadd_0, fcadd(v0.V2S(), v1.V2S(), v2.V2S(), 270))
3535*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON(fcadd_1, fcadd(v0.V4S(), v1.V4S(), v2.V4S(), 90))
3536*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON(fcadd_2, fcadd(v0.V2D(), v1.V2D(), v2.V2D(), 270))
3537*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON(fcmla_0, fcmla(v0.V4S(), v1.V4S(), v2.S(), 0, 180))
3538*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON(fcmla_1, fcmla(v0.V2S(), v1.V2S(), v2.V2S(), 90))
3539*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON(fcmla_2, fcmla(v0.V4S(), v1.V4S(), v2.V4S(), 90))
3540*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON(fcmla_3, fcmla(v0.V2D(), v1.V2D(), v2.V2D(), 90))
3541*f5c631daSSadaf Ebrahimi 
3542*f5c631daSSadaf Ebrahimi #define TEST_RCPC_RCPCIMM(NAME, ASM)                                    \
3543*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kRCpc, CPUFeatures::kRCpcImm), \
3544*f5c631daSSadaf Ebrahimi                 RCpc_RCpcImm_##NAME,                                    \
3545*f5c631daSSadaf Ebrahimi                 ASM)
3546*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(ldapurb_0, ldapurb(w0, MemOperand(x1, 20)))
3547*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(ldapurh_0, ldapurh(w0, MemOperand(x1, 194)))
3548*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(ldapursb_0, ldapursb(w0, MemOperand(x1, -27)))
3549*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(ldapursb_1, ldapursb(x0, MemOperand(x1, -64)))
3550*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(ldapursh_0, ldapursh(w0, MemOperand(x1, 180)))
3551*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(ldapursh_1, ldapursh(x0, MemOperand(x1, -212)))
3552*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(ldapursw_0, ldapursw(x0, MemOperand(x1, -196)))
3553*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(ldapur_0, ldapur(w0, MemOperand(x1, -96)))
3554*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(ldapur_1, ldapur(x0, MemOperand(x1, -112)))
3555*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(stlurb_0, stlurb(w0, MemOperand(x1, -233)))
3556*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(stlurh_0, stlurh(w0, MemOperand(x1, -147)))
3557*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(stlur_0, stlur(w0, MemOperand(x1, 40)))
3558*f5c631daSSadaf Ebrahimi TEST_RCPC_RCPCIMM(stlur_1, stlur(x0, MemOperand(x1, 209)))
3559*f5c631daSSadaf Ebrahimi 
3560*f5c631daSSadaf Ebrahimi #define TEST_NEON_DOTPRODUCT(NAME, ASM)                                    \
3561*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kDotProduct), \
3562*f5c631daSSadaf Ebrahimi                 NEON_DotProduct_##NAME,                                    \
3563*f5c631daSSadaf Ebrahimi                 ASM)
3564*f5c631daSSadaf Ebrahimi TEST_NEON_DOTPRODUCT(sdot_0, sdot(v0.V2S(), v1.V8B(), v2.S4B(), 1))
3565*f5c631daSSadaf Ebrahimi TEST_NEON_DOTPRODUCT(sdot_1, sdot(v0.V4S(), v1.V16B(), v2.S4B(), 1))
3566*f5c631daSSadaf Ebrahimi TEST_NEON_DOTPRODUCT(sdot_2, sdot(v0.V2S(), v1.V8B(), v2.V8B()))
3567*f5c631daSSadaf Ebrahimi TEST_NEON_DOTPRODUCT(sdot_3, sdot(v0.V4S(), v1.V16B(), v2.V16B()))
3568*f5c631daSSadaf Ebrahimi TEST_NEON_DOTPRODUCT(udot_0, udot(v0.V2S(), v1.V8B(), v2.S4B(), 0))
3569*f5c631daSSadaf Ebrahimi TEST_NEON_DOTPRODUCT(udot_1, udot(v0.V4S(), v1.V16B(), v2.S4B(), 1))
3570*f5c631daSSadaf Ebrahimi TEST_NEON_DOTPRODUCT(udot_2, udot(v0.V2S(), v1.V8B(), v2.V8B()))
3571*f5c631daSSadaf Ebrahimi TEST_NEON_DOTPRODUCT(udot_3, udot(v0.V4S(), v1.V16B(), v2.V16B()))
3572*f5c631daSSadaf Ebrahimi 
3573*f5c631daSSadaf Ebrahimi #define TEST_FP_NEON_NEONHALF(NAME, ASM)             \
3574*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFP,        \
3575*f5c631daSSadaf Ebrahimi                             CPUFeatures::kNEON,      \
3576*f5c631daSSadaf Ebrahimi                             CPUFeatures::kNEONHalf), \
3577*f5c631daSSadaf Ebrahimi                 FP_NEON_NEONHalf_##NAME,             \
3578*f5c631daSSadaf Ebrahimi                 ASM)
3579*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fabd_0, fabd(v0.V4H(), v1.V4H(), v2.V4H()))
3580*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fabd_1, fabd(v0.V8H(), v1.V8H(), v2.V8H()))
3581*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fabd_2, fabd(h0, h1, h2))
3582*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fabs_0, fabs(v0.V4H(), v1.V4H()))
3583*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fabs_1, fabs(v0.V8H(), v1.V8H()))
3584*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(facge_0, facge(v0.V4H(), v1.V4H(), v2.V4H()))
3585*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(facge_1, facge(v0.V8H(), v1.V8H(), v2.V8H()))
3586*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(facge_2, facge(h0, h1, h2))
3587*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(facgt_0, facgt(v0.V4H(), v1.V4H(), v2.V4H()))
3588*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(facgt_1, facgt(v0.V8H(), v1.V8H(), v2.V8H()))
3589*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(facgt_2, facgt(h0, h1, h2))
3590*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(faddp_0, faddp(v0.V4H(), v1.V4H(), v2.V4H()))
3591*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(faddp_1, faddp(v0.V8H(), v1.V8H(), v2.V8H()))
3592*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fadd_0, fadd(v0.V4H(), v1.V4H(), v2.V4H()))
3593*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fadd_1, fadd(v0.V8H(), v1.V8H(), v2.V8H()))
3594*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmeq_0, fcmeq(v0.V4H(), v1.V4H(), v2.V4H()))
3595*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmeq_1, fcmeq(v0.V8H(), v1.V8H(), v2.V8H()))
3596*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmeq_2, fcmeq(h0, h1, h2))
3597*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmeq_3, fcmeq(v0.V4H(), v1.V4H(), 0.0))
3598*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmeq_4, fcmeq(v0.V8H(), v1.V8H(), 0.0))
3599*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmeq_5, fcmeq(h0, h1, 0.0))
3600*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmge_0, fcmge(v0.V4H(), v1.V4H(), v2.V4H()))
3601*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmge_1, fcmge(v0.V8H(), v1.V8H(), v2.V8H()))
3602*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmge_2, fcmge(h0, h1, h2))
3603*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmge_3, fcmge(v0.V4H(), v1.V4H(), 0.0))
3604*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmge_4, fcmge(v0.V8H(), v1.V8H(), 0.0))
3605*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmge_5, fcmge(h0, h1, 0.0))
3606*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmgt_0, fcmgt(v0.V4H(), v1.V4H(), v2.V4H()))
3607*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmgt_1, fcmgt(v0.V8H(), v1.V8H(), v2.V8H()))
3608*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmgt_2, fcmgt(h0, h1, h2))
3609*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmgt_3, fcmgt(v0.V4H(), v1.V4H(), 0.0))
3610*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmgt_4, fcmgt(v0.V8H(), v1.V8H(), 0.0))
3611*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmgt_5, fcmgt(h0, h1, 0.0))
3612*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmle_0, fcmle(v0.V4H(), v1.V4H(), 0.0))
3613*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmle_1, fcmle(v0.V8H(), v1.V8H(), 0.0))
3614*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmle_2, fcmle(h0, h1, 0.0))
3615*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmlt_0, fcmlt(v0.V4H(), v1.V4H(), 0.0))
3616*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmlt_1, fcmlt(v0.V8H(), v1.V8H(), 0.0))
3617*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcmlt_2, fcmlt(h0, h1, 0.0))
3618*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtas_0, fcvtas(v0.V4H(), v1.V4H()))
3619*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtas_1, fcvtas(v0.V8H(), v1.V8H()))
3620*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtas_2, fcvtas(h0, h1))
3621*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtau_0, fcvtau(v0.V4H(), v1.V4H()))
3622*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtau_1, fcvtau(v0.V8H(), v1.V8H()))
3623*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtau_2, fcvtau(h0, h1))
3624*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtms_0, fcvtms(v0.V4H(), v1.V4H()))
3625*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtms_1, fcvtms(v0.V8H(), v1.V8H()))
3626*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtms_2, fcvtms(h0, h1))
3627*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtmu_0, fcvtmu(v0.V4H(), v1.V4H()))
3628*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtmu_1, fcvtmu(v0.V8H(), v1.V8H()))
3629*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtmu_2, fcvtmu(h0, h1))
3630*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtns_0, fcvtns(v0.V4H(), v1.V4H()))
3631*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtns_1, fcvtns(v0.V8H(), v1.V8H()))
3632*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtns_2, fcvtns(h0, h1))
3633*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtnu_0, fcvtnu(v0.V4H(), v1.V4H()))
3634*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtnu_1, fcvtnu(v0.V8H(), v1.V8H()))
3635*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtnu_2, fcvtnu(h0, h1))
3636*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtps_0, fcvtps(v0.V4H(), v1.V4H()))
3637*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtps_1, fcvtps(v0.V8H(), v1.V8H()))
3638*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtps_2, fcvtps(h0, h1))
3639*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtpu_0, fcvtpu(v0.V4H(), v1.V4H()))
3640*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtpu_1, fcvtpu(v0.V8H(), v1.V8H()))
3641*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtpu_2, fcvtpu(h0, h1))
3642*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzs_0, fcvtzs(v0.V4H(), v1.V4H(), 5))
3643*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzs_1, fcvtzs(v0.V8H(), v1.V8H(), 5))
3644*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzs_2, fcvtzs(h0, h1, 5))
3645*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzs_3, fcvtzs(v0.V4H(), v1.V4H()))
3646*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzs_4, fcvtzs(v0.V8H(), v1.V8H()))
3647*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzs_5, fcvtzs(h0, h1))
3648*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzu_0, fcvtzu(v0.V4H(), v1.V4H(), 5))
3649*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzu_1, fcvtzu(v0.V8H(), v1.V8H(), 5))
3650*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzu_2, fcvtzu(h0, h1, 5))
3651*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzu_3, fcvtzu(v0.V4H(), v1.V4H()))
3652*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzu_4, fcvtzu(v0.V8H(), v1.V8H()))
3653*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fcvtzu_5, fcvtzu(h0, h1))
3654*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fdiv_0, fdiv(v0.V4H(), v1.V4H(), v2.V4H()))
3655*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fdiv_1, fdiv(v0.V8H(), v1.V8H(), v2.V8H()))
3656*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmaxnmp_0, fmaxnmp(v0.V4H(), v1.V4H(), v2.V4H()))
3657*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmaxnmp_1, fmaxnmp(v0.V8H(), v1.V8H(), v2.V8H()))
3658*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmaxnmv_0, fmaxnmv(h0, v1.V4H()))
3659*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmaxnmv_1, fmaxnmv(h0, v1.V8H()))
3660*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmaxnm_0, fmaxnm(v0.V4H(), v1.V4H(), v2.V4H()))
3661*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmaxnm_1, fmaxnm(v0.V8H(), v1.V8H(), v2.V8H()))
3662*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmaxp_0, fmaxp(v0.V4H(), v1.V4H(), v2.V4H()))
3663*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmaxp_1, fmaxp(v0.V8H(), v1.V8H(), v2.V8H()))
3664*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmax_0, fmax(v0.V4H(), v1.V4H(), v2.V4H()))
3665*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmax_1, fmax(v0.V8H(), v1.V8H(), v2.V8H()))
3666*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fminnmp_0, fminnmp(v0.V4H(), v1.V4H(), v2.V4H()))
3667*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fminnmp_1, fminnmp(v0.V8H(), v1.V8H(), v2.V8H()))
3668*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fminnmv_0, fminnmv(h0, v1.V4H()))
3669*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fminnmv_1, fminnmv(h0, v1.V8H()))
3670*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fminnm_0, fminnm(v0.V4H(), v1.V4H(), v2.V4H()))
3671*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fminnm_1, fminnm(v0.V8H(), v1.V8H(), v2.V8H()))
3672*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fminp_0, fminp(v0.V4H(), v1.V4H(), v2.V4H()))
3673*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fminp_1, fminp(v0.V8H(), v1.V8H(), v2.V8H()))
3674*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmin_0, fmin(v0.V4H(), v1.V4H(), v2.V4H()))
3675*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmin_1, fmin(v0.V8H(), v1.V8H(), v2.V8H()))
3676*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmla_0, fmla(v0.V4H(), v1.V4H(), v2.H(), 4))
3677*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmla_1, fmla(v0.V8H(), v1.V8H(), v2.H(), 2))
3678*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmla_2, fmla(h0, h1, v2.H(), 5))
3679*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmla_3, fmla(v0.V4H(), v1.V4H(), v2.V4H()))
3680*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmla_4, fmla(v0.V8H(), v1.V8H(), v2.V8H()))
3681*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmls_0, fmls(v0.V4H(), v1.V4H(), v2.H(), 0))
3682*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmls_1, fmls(v0.V8H(), v1.V8H(), v2.H(), 0))
3683*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmls_2, fmls(h0, h1, v2.H(), 0))
3684*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmls_3, fmls(v0.V4H(), v1.V4H(), v2.V4H()))
3685*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmls_4, fmls(v0.V8H(), v1.V8H(), v2.V8H()))
3686*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmov_0, fmov(v0.V4H(), Float16(18.0)))
3687*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmov_1, fmov(v0.V8H(), Float16(-0.2421875)))
3688*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmulx_0, fmulx(v0.V4H(), v1.V4H(), v2.H(), 6))
3689*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmulx_1, fmulx(v0.V8H(), v1.V8H(), v2.H(), 2))
3690*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmulx_2, fmulx(h0, h1, v2.H(), 4))
3691*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmulx_3, fmulx(v0.V4H(), v1.V4H(), v2.V4H()))
3692*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmulx_4, fmulx(v0.V8H(), v1.V8H(), v2.V8H()))
3693*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmulx_5, fmulx(h0, h1, h2))
3694*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmul_0, fmul(v0.V4H(), v1.V4H(), v2.H(), 3))
3695*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmul_1, fmul(v0.V8H(), v1.V8H(), v2.H(), 1))
3696*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmul_2, fmul(h0, h1, v2.H(), 1))
3697*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmul_3, fmul(v0.V4H(), v1.V4H(), v2.V4H()))
3698*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fmul_4, fmul(v0.V8H(), v1.V8H(), v2.V8H()))
3699*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fneg_0, fneg(v0.V4H(), v1.V4H()))
3700*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fneg_1, fneg(v0.V8H(), v1.V8H()))
3701*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frecpe_0, frecpe(v0.V4H(), v1.V4H()))
3702*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frecpe_1, frecpe(v0.V8H(), v1.V8H()))
3703*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frecpe_2, frecpe(h0, h1))
3704*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frecps_0, frecps(v0.V4H(), v1.V4H(), v2.V4H()))
3705*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frecps_1, frecps(v0.V8H(), v1.V8H(), v2.V8H()))
3706*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frecps_2, frecps(h0, h1, h2))
3707*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frecpx_0, frecpx(h0, h1))
3708*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frinta_0, frinta(v0.V4H(), v1.V4H()))
3709*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frinta_1, frinta(v0.V8H(), v1.V8H()))
3710*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frinti_0, frinti(v0.V4H(), v1.V4H()))
3711*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frinti_1, frinti(v0.V8H(), v1.V8H()))
3712*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frintm_0, frintm(v0.V4H(), v1.V4H()))
3713*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frintm_1, frintm(v0.V8H(), v1.V8H()))
3714*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frintn_0, frintn(v0.V4H(), v1.V4H()))
3715*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frintn_1, frintn(v0.V8H(), v1.V8H()))
3716*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frintp_0, frintp(v0.V4H(), v1.V4H()))
3717*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frintp_1, frintp(v0.V8H(), v1.V8H()))
3718*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frintx_0, frintx(v0.V4H(), v1.V4H()))
3719*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frintx_1, frintx(v0.V8H(), v1.V8H()))
3720*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frintz_0, frintz(v0.V4H(), v1.V4H()))
3721*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frintz_1, frintz(v0.V8H(), v1.V8H()))
3722*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frsqrte_0, frsqrte(v0.V4H(), v1.V4H()))
3723*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frsqrte_1, frsqrte(v0.V8H(), v1.V8H()))
3724*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frsqrte_2, frsqrte(h0, h1))
3725*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frsqrts_0, frsqrts(v0.V4H(), v1.V4H(), v2.V4H()))
3726*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frsqrts_1, frsqrts(v0.V8H(), v1.V8H(), v2.V8H()))
3727*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(frsqrts_2, frsqrts(h0, h1, h2))
3728*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fsqrt_0, fsqrt(v0.V4H(), v1.V4H()))
3729*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fsqrt_1, fsqrt(v0.V8H(), v1.V8H()))
3730*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fsub_0, fsub(v0.V4H(), v1.V4H(), v2.V4H()))
3731*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(fsub_1, fsub(v0.V8H(), v1.V8H(), v2.V8H()))
3732*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(scvtf_0, scvtf(v0.V4H(), v1.V4H(), 5))
3733*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(scvtf_1, scvtf(v0.V8H(), v1.V8H(), 5))
3734*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(scvtf_2, scvtf(h0, h1, 5))
3735*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(scvtf_3, scvtf(v0.V4H(), v1.V4H()))
3736*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(scvtf_4, scvtf(v0.V8H(), v1.V8H()))
3737*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(scvtf_5, scvtf(h0, h1))
3738*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(ucvtf_0, ucvtf(v0.V4H(), v1.V4H(), 5))
3739*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(ucvtf_1, ucvtf(v0.V8H(), v1.V8H(), 5))
3740*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(ucvtf_2, ucvtf(h0, h1, 5))
3741*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(ucvtf_3, ucvtf(v0.V4H(), v1.V4H()))
3742*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(ucvtf_4, ucvtf(v0.V8H(), v1.V8H()))
3743*f5c631daSSadaf Ebrahimi TEST_FP_NEON_NEONHALF(ucvtf_5, ucvtf(h0, h1))
3744*f5c631daSSadaf Ebrahimi 
3745*f5c631daSSadaf Ebrahimi #define TEST_PAUTH_PAUTHGENERIC(NAME, ASM)                                    \
3746*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kPAuth, CPUFeatures::kPAuthGeneric), \
3747*f5c631daSSadaf Ebrahimi                 PAuth_PAuthGeneric_##NAME,                                    \
3748*f5c631daSSadaf Ebrahimi                 ASM)
3749*f5c631daSSadaf Ebrahimi TEST_PAUTH_PAUTHGENERIC(pacga_0, pacga(x0, x1, x2))
3750*f5c631daSSadaf Ebrahimi 
3751*f5c631daSSadaf Ebrahimi #define TEST_FP_FHM_NEON_NEONHALF(NAME, ASM)         \
3752*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFP,        \
3753*f5c631daSSadaf Ebrahimi                             CPUFeatures::kFHM,       \
3754*f5c631daSSadaf Ebrahimi                             CPUFeatures::kNEON,      \
3755*f5c631daSSadaf Ebrahimi                             CPUFeatures::kNEONHalf), \
3756*f5c631daSSadaf Ebrahimi                 FP_FHM_NEON_NEONHalf_##NAME,         \
3757*f5c631daSSadaf Ebrahimi                 ASM)
3758*f5c631daSSadaf Ebrahimi TEST_FP_FHM_NEON_NEONHALF(fmlal2_0, fmlal2(v0.V4S(), v1.V4H(), v2.H(), 6))
3759*f5c631daSSadaf Ebrahimi TEST_FP_FHM_NEON_NEONHALF(fmlal_0, fmlal(v0.V4S(), v1.V4H(), v2.H(), 0))
3760*f5c631daSSadaf Ebrahimi TEST_FP_FHM_NEON_NEONHALF(fmlal2_1, fmlal2(v0.V4S(), v1.V4H(), v2.V4H()))
3761*f5c631daSSadaf Ebrahimi TEST_FP_FHM_NEON_NEONHALF(fmlal_1, fmlal(v0.V4S(), v1.V4H(), v2.V4H()))
3762*f5c631daSSadaf Ebrahimi TEST_FP_FHM_NEON_NEONHALF(fmlsl2_0, fmlsl2(v0.V4S(), v1.V4H(), v2.H(), 2))
3763*f5c631daSSadaf Ebrahimi TEST_FP_FHM_NEON_NEONHALF(fmlsl_0, fmlsl(v0.V4S(), v1.V4H(), v2.H(), 2))
3764*f5c631daSSadaf Ebrahimi TEST_FP_FHM_NEON_NEONHALF(fmlsl2_1, fmlsl2(v0.V4S(), v1.V4H(), v2.V4H()))
3765*f5c631daSSadaf Ebrahimi TEST_FP_FHM_NEON_NEONHALF(fmlsl_1, fmlsl(v0.V4S(), v1.V4H(), v2.V4H()))
3766*f5c631daSSadaf Ebrahimi 
3767*f5c631daSSadaf Ebrahimi #define TEST_FP_FCMA_NEON_NEONHALF(NAME, ASM)        \
3768*f5c631daSSadaf Ebrahimi   TEST_TEMPLATE(CPUFeatures(CPUFeatures::kFP,        \
3769*f5c631daSSadaf Ebrahimi                             CPUFeatures::kFcma,      \
3770*f5c631daSSadaf Ebrahimi                             CPUFeatures::kNEON,      \
3771*f5c631daSSadaf Ebrahimi                             CPUFeatures::kNEONHalf), \
3772*f5c631daSSadaf Ebrahimi                 FP_Fcma_NEON_NEONHalf_##NAME,        \
3773*f5c631daSSadaf Ebrahimi                 ASM)
3774*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON_NEONHALF(fcadd_0, fcadd(v0.V4H(), v1.V4H(), v2.V4H(), 90))
3775*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON_NEONHALF(fcadd_1, fcadd(v0.V8H(), v1.V8H(), v2.V8H(), 90))
3776*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON_NEONHALF(fcmla_0, fcmla(v0.V4H(), v1.V4H(), v2.H(), 0, 0))
3777*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON_NEONHALF(fcmla_1, fcmla(v0.V8H(), v1.V8H(), v2.H(), 2, 180))
3778*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON_NEONHALF(fcmla_2, fcmla(v0.V4H(), v1.V4H(), v2.V4H(), 180))
3779*f5c631daSSadaf Ebrahimi TEST_FP_FCMA_NEON_NEONHALF(fcmla_3, fcmla(v0.V8H(), v1.V8H(), v2.V8H(), 0))
3780*f5c631daSSadaf Ebrahimi 
3781*f5c631daSSadaf Ebrahimi }  // namespace aarch64
3782*f5c631daSSadaf Ebrahimi }  // namespace vixl
3783