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