1b8021494Sopenharmony_ci// Copyright 2016, 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
28b8021494Sopenharmony_ci// -----------------------------------------------------------------------------
29b8021494Sopenharmony_ci// This file is auto generated from the
30b8021494Sopenharmony_ci// test/aarch32/config/template-assembler-aarch32.cc.in template file using
31b8021494Sopenharmony_ci// tools/generate_tests.py.
32b8021494Sopenharmony_ci//
33b8021494Sopenharmony_ci// PLEASE DO NOT EDIT.
34b8021494Sopenharmony_ci// -----------------------------------------------------------------------------
35b8021494Sopenharmony_ci
36b8021494Sopenharmony_ci
37b8021494Sopenharmony_ci#include "test-runner.h"
38b8021494Sopenharmony_ci
39b8021494Sopenharmony_ci#include "test-utils.h"
40b8021494Sopenharmony_ci#include "test-utils-aarch32.h"
41b8021494Sopenharmony_ci
42b8021494Sopenharmony_ci#include "aarch32/assembler-aarch32.h"
43b8021494Sopenharmony_ci#include "aarch32/macro-assembler-aarch32.h"
44b8021494Sopenharmony_ci
45b8021494Sopenharmony_ci#define BUF_SIZE (4096)
46b8021494Sopenharmony_ci
47b8021494Sopenharmony_cinamespace vixl {
48b8021494Sopenharmony_cinamespace aarch32 {
49b8021494Sopenharmony_ci
50b8021494Sopenharmony_ci// List of instruction mnemonics.
51b8021494Sopenharmony_ci#define FOREACH_INSTRUCTION(M) \
52b8021494Sopenharmony_ci  M(mov)                       \
53b8021494Sopenharmony_ci  M(movs)
54b8021494Sopenharmony_ci
55b8021494Sopenharmony_ci
56b8021494Sopenharmony_ci// The following definitions are defined again in each generated test, therefore
57b8021494Sopenharmony_ci// we need to place them in an anonymous namespace. It expresses that they are
58b8021494Sopenharmony_ci// local to this file only, and the compiler is not allowed to share these types
59b8021494Sopenharmony_ci// across test files during template instantiation. Specifically, `Operands` has
60b8021494Sopenharmony_ci// various layouts across generated tests so it absolutely cannot be shared.
61b8021494Sopenharmony_ci
62b8021494Sopenharmony_ci#ifdef VIXL_INCLUDE_TARGET_T32
63b8021494Sopenharmony_cinamespace {
64b8021494Sopenharmony_ci
65b8021494Sopenharmony_ci// Values to be passed to the assembler to produce the instruction under test.
66b8021494Sopenharmony_cistruct Operands {
67b8021494Sopenharmony_ci  Condition cond;
68b8021494Sopenharmony_ci  Register rd;
69b8021494Sopenharmony_ci  Register rn;
70b8021494Sopenharmony_ci  ShiftType shift;
71b8021494Sopenharmony_ci  Register rs;
72b8021494Sopenharmony_ci};
73b8021494Sopenharmony_ci
74b8021494Sopenharmony_ci// This structure contains all data needed to test one specific
75b8021494Sopenharmony_ci// instruction.
76b8021494Sopenharmony_cistruct TestData {
77b8021494Sopenharmony_ci  // The `operands` field represents what to pass to the assembler to
78b8021494Sopenharmony_ci  // produce the instruction.
79b8021494Sopenharmony_ci  Operands operands;
80b8021494Sopenharmony_ci  // True if we need to generate an IT instruction for this test to be valid.
81b8021494Sopenharmony_ci  bool in_it_block;
82b8021494Sopenharmony_ci  // The condition to give the IT instruction, this will be set to "al" by
83b8021494Sopenharmony_ci  // default.
84b8021494Sopenharmony_ci  Condition it_condition;
85b8021494Sopenharmony_ci  // Description of the operands, used for error reporting.
86b8021494Sopenharmony_ci  const char* operands_description;
87b8021494Sopenharmony_ci  // Unique identifier, used for generating traces.
88b8021494Sopenharmony_ci  const char* identifier;
89b8021494Sopenharmony_ci};
90b8021494Sopenharmony_ci
91b8021494Sopenharmony_cistruct TestResult {
92b8021494Sopenharmony_ci  size_t size;
93b8021494Sopenharmony_ci  const byte* encoding;
94b8021494Sopenharmony_ci};
95b8021494Sopenharmony_ci
96b8021494Sopenharmony_ci// Each element of this array produce one instruction encoding.
97b8021494Sopenharmony_ciconst TestData kTests[] = {
98b8021494Sopenharmony_ci    {{al, r11, r2, ASR, r10},
99b8021494Sopenharmony_ci     false,
100b8021494Sopenharmony_ci     al,
101b8021494Sopenharmony_ci     "al r11 r2 ASR r10",
102b8021494Sopenharmony_ci     "al_r11_r2_ASR_r10"},
103b8021494Sopenharmony_ci    {{al, r7, r8, ASR, r12}, false, al, "al r7 r8 ASR r12", "al_r7_r8_ASR_r12"},
104b8021494Sopenharmony_ci    {{al, r10, r8, ASR, r4}, false, al, "al r10 r8 ASR r4", "al_r10_r8_ASR_r4"},
105b8021494Sopenharmony_ci    {{al, r12, r7, LSR, r12},
106b8021494Sopenharmony_ci     false,
107b8021494Sopenharmony_ci     al,
108b8021494Sopenharmony_ci     "al r12 r7 LSR r12",
109b8021494Sopenharmony_ci     "al_r12_r7_LSR_r12"},
110b8021494Sopenharmony_ci    {{al, r13, r4, ASR, r5}, false, al, "al r13 r4 ASR r5", "al_r13_r4_ASR_r5"},
111b8021494Sopenharmony_ci    {{al, r12, r3, ROR, r5}, false, al, "al r12 r3 ROR r5", "al_r12_r3_ROR_r5"},
112b8021494Sopenharmony_ci    {{al, r6, r11, ASR, r8}, false, al, "al r6 r11 ASR r8", "al_r6_r11_ASR_r8"},
113b8021494Sopenharmony_ci    {{al, r8, r4, ASR, r4}, false, al, "al r8 r4 ASR r4", "al_r8_r4_ASR_r4"},
114b8021494Sopenharmony_ci    {{al, r10, r6, ASR, r7}, false, al, "al r10 r6 ASR r7", "al_r10_r6_ASR_r7"},
115b8021494Sopenharmony_ci    {{al, r0, r2, ASR, r14}, false, al, "al r0 r2 ASR r14", "al_r0_r2_ASR_r14"},
116b8021494Sopenharmony_ci    {{al, r5, r13, LSL, r14},
117b8021494Sopenharmony_ci     false,
118b8021494Sopenharmony_ci     al,
119b8021494Sopenharmony_ci     "al r5 r13 LSL r14",
120b8021494Sopenharmony_ci     "al_r5_r13_LSL_r14"},
121b8021494Sopenharmony_ci    {{al, r2, r4, LSR, r9}, false, al, "al r2 r4 LSR r9", "al_r2_r4_LSR_r9"},
122b8021494Sopenharmony_ci    {{al, r9, r10, ASR, r9}, false, al, "al r9 r10 ASR r9", "al_r9_r10_ASR_r9"},
123b8021494Sopenharmony_ci    {{al, r5, r8, ASR, r4}, false, al, "al r5 r8 ASR r4", "al_r5_r8_ASR_r4"},
124b8021494Sopenharmony_ci    {{al, r2, r5, ASR, r13}, false, al, "al r2 r5 ASR r13", "al_r2_r5_ASR_r13"},
125b8021494Sopenharmony_ci    {{al, r7, r10, ASR, r1}, false, al, "al r7 r10 ASR r1", "al_r7_r10_ASR_r1"},
126b8021494Sopenharmony_ci    {{al, r4, r7, ASR, r2}, false, al, "al r4 r7 ASR r2", "al_r4_r7_ASR_r2"},
127b8021494Sopenharmony_ci    {{al, r14, r0, ASR, r4}, false, al, "al r14 r0 ASR r4", "al_r14_r0_ASR_r4"},
128b8021494Sopenharmony_ci    {{al, r11, r0, ASR, r14},
129b8021494Sopenharmony_ci     false,
130b8021494Sopenharmony_ci     al,
131b8021494Sopenharmony_ci     "al r11 r0 ASR r14",
132b8021494Sopenharmony_ci     "al_r11_r0_ASR_r14"},
133b8021494Sopenharmony_ci    {{al, r12, r11, ROR, r7},
134b8021494Sopenharmony_ci     false,
135b8021494Sopenharmony_ci     al,
136b8021494Sopenharmony_ci     "al r12 r11 ROR r7",
137b8021494Sopenharmony_ci     "al_r12_r11_ROR_r7"},
138b8021494Sopenharmony_ci    {{al, r9, r13, LSR, r10},
139b8021494Sopenharmony_ci     false,
140b8021494Sopenharmony_ci     al,
141b8021494Sopenharmony_ci     "al r9 r13 LSR r10",
142b8021494Sopenharmony_ci     "al_r9_r13_LSR_r10"},
143b8021494Sopenharmony_ci    {{al, r11, r7, ROR, r0}, false, al, "al r11 r7 ROR r0", "al_r11_r7_ROR_r0"},
144b8021494Sopenharmony_ci    {{al, r6, r13, ROR, r2}, false, al, "al r6 r13 ROR r2", "al_r6_r13_ROR_r2"},
145b8021494Sopenharmony_ci    {{al, r4, r6, LSL, r6}, false, al, "al r4 r6 LSL r6", "al_r4_r6_LSL_r6"},
146b8021494Sopenharmony_ci    {{al, r13, r0, LSL, r2}, false, al, "al r13 r0 LSL r2", "al_r13_r0_LSL_r2"},
147b8021494Sopenharmony_ci    {{al, r14, r0, ASR, r7}, false, al, "al r14 r0 ASR r7", "al_r14_r0_ASR_r7"},
148b8021494Sopenharmony_ci    {{al, r7, r1, LSR, r7}, false, al, "al r7 r1 LSR r7", "al_r7_r1_LSR_r7"},
149b8021494Sopenharmony_ci    {{al, r9, r12, LSR, r11},
150b8021494Sopenharmony_ci     false,
151b8021494Sopenharmony_ci     al,
152b8021494Sopenharmony_ci     "al r9 r12 LSR r11",
153b8021494Sopenharmony_ci     "al_r9_r12_LSR_r11"},
154b8021494Sopenharmony_ci    {{al, r1, r12, LSL, r5}, false, al, "al r1 r12 LSL r5", "al_r1_r12_LSL_r5"},
155b8021494Sopenharmony_ci    {{al, r4, r2, ROR, r3}, false, al, "al r4 r2 ROR r3", "al_r4_r2_ROR_r3"},
156b8021494Sopenharmony_ci    {{al, r10, r6, ROR, r11},
157b8021494Sopenharmony_ci     false,
158b8021494Sopenharmony_ci     al,
159b8021494Sopenharmony_ci     "al r10 r6 ROR r11",
160b8021494Sopenharmony_ci     "al_r10_r6_ROR_r11"},
161b8021494Sopenharmony_ci    {{al, r5, r8, ROR, r7}, false, al, "al r5 r8 ROR r7", "al_r5_r8_ROR_r7"},
162b8021494Sopenharmony_ci    {{al, r6, r10, LSL, r14},
163b8021494Sopenharmony_ci     false,
164b8021494Sopenharmony_ci     al,
165b8021494Sopenharmony_ci     "al r6 r10 LSL r14",
166b8021494Sopenharmony_ci     "al_r6_r10_LSL_r14"},
167b8021494Sopenharmony_ci    {{al, r14, r8, LSL, r8}, false, al, "al r14 r8 LSL r8", "al_r14_r8_LSL_r8"},
168b8021494Sopenharmony_ci    {{al, r4, r1, ROR, r10}, false, al, "al r4 r1 ROR r10", "al_r4_r1_ROR_r10"},
169b8021494Sopenharmony_ci    {{al, r6, r11, LSR, r1}, false, al, "al r6 r11 LSR r1", "al_r6_r11_LSR_r1"},
170b8021494Sopenharmony_ci    {{al, r14, r2, ASR, r4}, false, al, "al r14 r2 ASR r4", "al_r14_r2_ASR_r4"},
171b8021494Sopenharmony_ci    {{al, r0, r6, LSL, r1}, false, al, "al r0 r6 LSL r1", "al_r0_r6_LSL_r1"},
172b8021494Sopenharmony_ci    {{al, r5, r2, ASR, r0}, false, al, "al r5 r2 ASR r0", "al_r5_r2_ASR_r0"},
173b8021494Sopenharmony_ci    {{al, r2, r4, LSL, r1}, false, al, "al r2 r4 LSL r1", "al_r2_r4_LSL_r1"},
174b8021494Sopenharmony_ci    {{al, r5, r3, LSR, r9}, false, al, "al r5 r3 LSR r9", "al_r5_r3_LSR_r9"},
175b8021494Sopenharmony_ci    {{al, r5, r3, ASR, r12}, false, al, "al r5 r3 ASR r12", "al_r5_r3_ASR_r12"},
176b8021494Sopenharmony_ci    {{al, r6, r14, ASR, r4}, false, al, "al r6 r14 ASR r4", "al_r6_r14_ASR_r4"},
177b8021494Sopenharmony_ci    {{al, r7, r4, LSL, r5}, false, al, "al r7 r4 LSL r5", "al_r7_r4_LSL_r5"},
178b8021494Sopenharmony_ci    {{al, r12, r0, LSL, r8}, false, al, "al r12 r0 LSL r8", "al_r12_r0_LSL_r8"},
179b8021494Sopenharmony_ci    {{al, r8, r3, LSR, r2}, false, al, "al r8 r3 LSR r2", "al_r8_r3_LSR_r2"},
180b8021494Sopenharmony_ci    {{al, r14, r14, LSL, r2},
181b8021494Sopenharmony_ci     false,
182b8021494Sopenharmony_ci     al,
183b8021494Sopenharmony_ci     "al r14 r14 LSL r2",
184b8021494Sopenharmony_ci     "al_r14_r14_LSL_r2"},
185b8021494Sopenharmony_ci    {{al, r2, r2, ASR, r9}, false, al, "al r2 r2 ASR r9", "al_r2_r2_ASR_r9"},
186b8021494Sopenharmony_ci    {{al, r2, r7, ASR, r3}, false, al, "al r2 r7 ASR r3", "al_r2_r7_ASR_r3"},
187b8021494Sopenharmony_ci    {{al, r1, r9, LSR, r3}, false, al, "al r1 r9 LSR r3", "al_r1_r9_LSR_r3"},
188b8021494Sopenharmony_ci    {{al, r10, r7, LSR, r12},
189b8021494Sopenharmony_ci     false,
190b8021494Sopenharmony_ci     al,
191b8021494Sopenharmony_ci     "al r10 r7 LSR r12",
192b8021494Sopenharmony_ci     "al_r10_r7_LSR_r12"},
193b8021494Sopenharmony_ci    {{al, r12, r14, ASR, r9},
194b8021494Sopenharmony_ci     false,
195b8021494Sopenharmony_ci     al,
196b8021494Sopenharmony_ci     "al r12 r14 ASR r9",
197b8021494Sopenharmony_ci     "al_r12_r14_ASR_r9"},
198b8021494Sopenharmony_ci    {{al, r5, r4, ASR, r8}, false, al, "al r5 r4 ASR r8", "al_r5_r4_ASR_r8"},
199b8021494Sopenharmony_ci    {{al, r13, r12, LSR, r4},
200b8021494Sopenharmony_ci     false,
201b8021494Sopenharmony_ci     al,
202b8021494Sopenharmony_ci     "al r13 r12 LSR r4",
203b8021494Sopenharmony_ci     "al_r13_r12_LSR_r4"},
204b8021494Sopenharmony_ci    {{al, r3, r3, ASR, r4}, false, al, "al r3 r3 ASR r4", "al_r3_r3_ASR_r4"},
205b8021494Sopenharmony_ci    {{al, r0, r3, LSR, r4}, false, al, "al r0 r3 LSR r4", "al_r0_r3_LSR_r4"},
206b8021494Sopenharmony_ci    {{al, r6, r8, LSL, r9}, false, al, "al r6 r8 LSL r9", "al_r6_r8_LSL_r9"},
207b8021494Sopenharmony_ci    {{al, r7, r12, LSR, r7}, false, al, "al r7 r12 LSR r7", "al_r7_r12_LSR_r7"},
208b8021494Sopenharmony_ci    {{al, r10, r11, ASR, r7},
209b8021494Sopenharmony_ci     false,
210b8021494Sopenharmony_ci     al,
211b8021494Sopenharmony_ci     "al r10 r11 ASR r7",
212b8021494Sopenharmony_ci     "al_r10_r11_ASR_r7"},
213b8021494Sopenharmony_ci    {{al, r2, r9, ROR, r6}, false, al, "al r2 r9 ROR r6", "al_r2_r9_ROR_r6"},
214b8021494Sopenharmony_ci    {{al, r1, r6, LSR, r12}, false, al, "al r1 r6 LSR r12", "al_r1_r6_LSR_r12"},
215b8021494Sopenharmony_ci    {{al, r5, r2, LSL, r2}, false, al, "al r5 r2 LSL r2", "al_r5_r2_LSL_r2"},
216b8021494Sopenharmony_ci    {{al, r10, r1, ASR, r3}, false, al, "al r10 r1 ASR r3", "al_r10_r1_ASR_r3"},
217b8021494Sopenharmony_ci    {{al, r1, r7, ROR, r0}, false, al, "al r1 r7 ROR r0", "al_r1_r7_ROR_r0"},
218b8021494Sopenharmony_ci    {{al, r13, r3, ASR, r0}, false, al, "al r13 r3 ASR r0", "al_r13_r3_ASR_r0"},
219b8021494Sopenharmony_ci    {{al, r11, r13, LSR, r3},
220b8021494Sopenharmony_ci     false,
221b8021494Sopenharmony_ci     al,
222b8021494Sopenharmony_ci     "al r11 r13 LSR r3",
223b8021494Sopenharmony_ci     "al_r11_r13_LSR_r3"},
224b8021494Sopenharmony_ci    {{al, r2, r7, ROR, r14}, false, al, "al r2 r7 ROR r14", "al_r2_r7_ROR_r14"},
225b8021494Sopenharmony_ci    {{al, r2, r6, ASR, r5}, false, al, "al r2 r6 ASR r5", "al_r2_r6_ASR_r5"},
226b8021494Sopenharmony_ci    {{al, r14, r14, LSL, r13},
227b8021494Sopenharmony_ci     false,
228b8021494Sopenharmony_ci     al,
229b8021494Sopenharmony_ci     "al r14 r14 LSL r13",
230b8021494Sopenharmony_ci     "al_r14_r14_LSL_r13"},
231b8021494Sopenharmony_ci    {{al, r5, r4, ROR, r5}, false, al, "al r5 r4 ROR r5", "al_r5_r4_ROR_r5"},
232b8021494Sopenharmony_ci    {{al, r1, r5, ROR, r1}, false, al, "al r1 r5 ROR r1", "al_r1_r5_ROR_r1"},
233b8021494Sopenharmony_ci    {{al, r0, r12, LSR, r8}, false, al, "al r0 r12 LSR r8", "al_r0_r12_LSR_r8"},
234b8021494Sopenharmony_ci    {{al, r4, r6, ASR, r4}, false, al, "al r4 r6 ASR r4", "al_r4_r6_ASR_r4"},
235b8021494Sopenharmony_ci    {{al, r13, r7, LSL, r13},
236b8021494Sopenharmony_ci     false,
237b8021494Sopenharmony_ci     al,
238b8021494Sopenharmony_ci     "al r13 r7 LSL r13",
239b8021494Sopenharmony_ci     "al_r13_r7_LSL_r13"},
240b8021494Sopenharmony_ci    {{al, r0, r6, ASR, r9}, false, al, "al r0 r6 ASR r9", "al_r0_r6_ASR_r9"},
241b8021494Sopenharmony_ci    {{al, r10, r7, LSR, r9}, false, al, "al r10 r7 LSR r9", "al_r10_r7_LSR_r9"},
242b8021494Sopenharmony_ci    {{al, r13, r5, ASR, r12},
243b8021494Sopenharmony_ci     false,
244b8021494Sopenharmony_ci     al,
245b8021494Sopenharmony_ci     "al r13 r5 ASR r12",
246b8021494Sopenharmony_ci     "al_r13_r5_ASR_r12"},
247b8021494Sopenharmony_ci    {{al, r9, r13, LSL, r3}, false, al, "al r9 r13 LSL r3", "al_r9_r13_LSL_r3"},
248b8021494Sopenharmony_ci    {{al, r11, r10, ASR, r4},
249b8021494Sopenharmony_ci     false,
250b8021494Sopenharmony_ci     al,
251b8021494Sopenharmony_ci     "al r11 r10 ASR r4",
252b8021494Sopenharmony_ci     "al_r11_r10_ASR_r4"},
253b8021494Sopenharmony_ci    {{al, r14, r13, ASR, r11},
254b8021494Sopenharmony_ci     false,
255b8021494Sopenharmony_ci     al,
256b8021494Sopenharmony_ci     "al r14 r13 ASR r11",
257b8021494Sopenharmony_ci     "al_r14_r13_ASR_r11"},
258b8021494Sopenharmony_ci    {{al, r2, r8, LSL, r2}, false, al, "al r2 r8 LSL r2", "al_r2_r8_LSL_r2"},
259b8021494Sopenharmony_ci    {{al, r5, r10, LSR, r1}, false, al, "al r5 r10 LSR r1", "al_r5_r10_LSR_r1"},
260b8021494Sopenharmony_ci    {{al, r1, r0, LSL, r2}, false, al, "al r1 r0 LSL r2", "al_r1_r0_LSL_r2"},
261b8021494Sopenharmony_ci    {{al, r12, r3, ROR, r11},
262b8021494Sopenharmony_ci     false,
263b8021494Sopenharmony_ci     al,
264b8021494Sopenharmony_ci     "al r12 r3 ROR r11",
265b8021494Sopenharmony_ci     "al_r12_r3_ROR_r11"},
266b8021494Sopenharmony_ci    {{al, r2, r6, ROR, r2}, false, al, "al r2 r6 ROR r2", "al_r2_r6_ROR_r2"},
267b8021494Sopenharmony_ci    {{al, r14, r11, LSL, r13},
268b8021494Sopenharmony_ci     false,
269b8021494Sopenharmony_ci     al,
270b8021494Sopenharmony_ci     "al r14 r11 LSL r13",
271b8021494Sopenharmony_ci     "al_r14_r11_LSL_r13"},
272b8021494Sopenharmony_ci    {{al, r10, r6, ASR, r13},
273b8021494Sopenharmony_ci     false,
274b8021494Sopenharmony_ci     al,
275b8021494Sopenharmony_ci     "al r10 r6 ASR r13",
276b8021494Sopenharmony_ci     "al_r10_r6_ASR_r13"},
277b8021494Sopenharmony_ci    {{al, r5, r8, LSL, r4}, false, al, "al r5 r8 LSL r4", "al_r5_r8_LSL_r4"},
278b8021494Sopenharmony_ci    {{al, r11, r3, ASR, r5}, false, al, "al r11 r3 ASR r5", "al_r11_r3_ASR_r5"},
279b8021494Sopenharmony_ci    {{al, r6, r1, LSL, r4}, false, al, "al r6 r1 LSL r4", "al_r6_r1_LSL_r4"},
280b8021494Sopenharmony_ci    {{al, r4, r12, ROR, r9}, false, al, "al r4 r12 ROR r9", "al_r4_r12_ROR_r9"},
281b8021494Sopenharmony_ci    {{al, r9, r4, LSR, r6}, false, al, "al r9 r4 LSR r6", "al_r9_r4_LSR_r6"},
282b8021494Sopenharmony_ci    {{al, r11, r6, LSL, r13},
283b8021494Sopenharmony_ci     false,
284b8021494Sopenharmony_ci     al,
285b8021494Sopenharmony_ci     "al r11 r6 LSL r13",
286b8021494Sopenharmony_ci     "al_r11_r6_LSL_r13"},
287b8021494Sopenharmony_ci    {{al, r12, r10, ROR, r0},
288b8021494Sopenharmony_ci     false,
289b8021494Sopenharmony_ci     al,
290b8021494Sopenharmony_ci     "al r12 r10 ROR r0",
291b8021494Sopenharmony_ci     "al_r12_r10_ROR_r0"},
292b8021494Sopenharmony_ci    {{al, r3, r9, ASR, r14}, false, al, "al r3 r9 ASR r14", "al_r3_r9_ASR_r14"},
293b8021494Sopenharmony_ci    {{al, r7, r14, ASR, r5}, false, al, "al r7 r14 ASR r5", "al_r7_r14_ASR_r5"},
294b8021494Sopenharmony_ci    {{al, r2, r3, ASR, r10}, false, al, "al r2 r3 ASR r10", "al_r2_r3_ASR_r10"},
295b8021494Sopenharmony_ci    {{al, r9, r7, ASR, r14}, false, al, "al r9 r7 ASR r14", "al_r9_r7_ASR_r14"},
296b8021494Sopenharmony_ci    {{al, r4, r14, ROR, r3}, false, al, "al r4 r14 ROR r3", "al_r4_r14_ROR_r3"},
297b8021494Sopenharmony_ci    {{al, r4, r10, ROR, r6}, false, al, "al r4 r10 ROR r6", "al_r4_r10_ROR_r6"},
298b8021494Sopenharmony_ci    {{al, r5, r6, ASR, r8}, false, al, "al r5 r6 ASR r8", "al_r5_r6_ASR_r8"},
299b8021494Sopenharmony_ci    {{al, r5, r8, ASR, r10}, false, al, "al r5 r8 ASR r10", "al_r5_r8_ASR_r10"},
300b8021494Sopenharmony_ci    {{al, r9, r14, LSR, r9}, false, al, "al r9 r14 LSR r9", "al_r9_r14_LSR_r9"},
301b8021494Sopenharmony_ci    {{al, r14, r6, LSR, r4}, false, al, "al r14 r6 LSR r4", "al_r14_r6_LSR_r4"},
302b8021494Sopenharmony_ci    {{al, r9, r10, ROR, r2}, false, al, "al r9 r10 ROR r2", "al_r9_r10_ROR_r2"},
303b8021494Sopenharmony_ci    {{al, r0, r11, LSR, r11},
304b8021494Sopenharmony_ci     false,
305b8021494Sopenharmony_ci     al,
306b8021494Sopenharmony_ci     "al r0 r11 LSR r11",
307b8021494Sopenharmony_ci     "al_r0_r11_LSR_r11"},
308b8021494Sopenharmony_ci    {{al, r9, r9, ROR, r13}, false, al, "al r9 r9 ROR r13", "al_r9_r9_ROR_r13"},
309b8021494Sopenharmony_ci    {{al, r11, r9, ASR, r4}, false, al, "al r11 r9 ASR r4", "al_r11_r9_ASR_r4"},
310b8021494Sopenharmony_ci    {{al, r8, r13, ASR, r11},
311b8021494Sopenharmony_ci     false,
312b8021494Sopenharmony_ci     al,
313b8021494Sopenharmony_ci     "al r8 r13 ASR r11",
314b8021494Sopenharmony_ci     "al_r8_r13_ASR_r11"},
315b8021494Sopenharmony_ci    {{al, r2, r8, ASR, r13}, false, al, "al r2 r8 ASR r13", "al_r2_r8_ASR_r13"},
316b8021494Sopenharmony_ci    {{al, r4, r1, ROR, r9}, false, al, "al r4 r1 ROR r9", "al_r4_r1_ROR_r9"},
317b8021494Sopenharmony_ci    {{al, r7, r1, LSL, r2}, false, al, "al r7 r1 LSL r2", "al_r7_r1_LSL_r2"},
318b8021494Sopenharmony_ci    {{al, r0, r14, ASR, r12},
319b8021494Sopenharmony_ci     false,
320b8021494Sopenharmony_ci     al,
321b8021494Sopenharmony_ci     "al r0 r14 ASR r12",
322b8021494Sopenharmony_ci     "al_r0_r14_ASR_r12"},
323b8021494Sopenharmony_ci    {{al, r3, r13, ASR, r0}, false, al, "al r3 r13 ASR r0", "al_r3_r13_ASR_r0"},
324b8021494Sopenharmony_ci    {{al, r10, r4, LSR, r0}, false, al, "al r10 r4 LSR r0", "al_r10_r4_LSR_r0"},
325b8021494Sopenharmony_ci    {{al, r10, r14, ASR, r11},
326b8021494Sopenharmony_ci     false,
327b8021494Sopenharmony_ci     al,
328b8021494Sopenharmony_ci     "al r10 r14 ASR r11",
329b8021494Sopenharmony_ci     "al_r10_r14_ASR_r11"},
330b8021494Sopenharmony_ci    {{al, r12, r3, ROR, r2}, false, al, "al r12 r3 ROR r2", "al_r12_r3_ROR_r2"},
331b8021494Sopenharmony_ci    {{al, r14, r5, LSR, r8}, false, al, "al r14 r5 LSR r8", "al_r14_r5_LSR_r8"},
332b8021494Sopenharmony_ci    {{al, r2, r12, ASR, r0}, false, al, "al r2 r12 ASR r0", "al_r2_r12_ASR_r0"},
333b8021494Sopenharmony_ci    {{al, r4, r8, ROR, r3}, false, al, "al r4 r8 ROR r3", "al_r4_r8_ROR_r3"},
334b8021494Sopenharmony_ci    {{al, r11, r6, ASR, r3}, false, al, "al r11 r6 ASR r3", "al_r11_r6_ASR_r3"},
335b8021494Sopenharmony_ci    {{al, r12, r0, LSR, r1}, false, al, "al r12 r0 LSR r1", "al_r12_r0_LSR_r1"},
336b8021494Sopenharmony_ci    {{al, r11, r3, ASR, r9}, false, al, "al r11 r3 ASR r9", "al_r11_r3_ASR_r9"},
337b8021494Sopenharmony_ci    {{al, r12, r5, LSR, r5}, false, al, "al r12 r5 LSR r5", "al_r12_r5_LSR_r5"},
338b8021494Sopenharmony_ci    {{al, r4, r14, LSL, r11},
339b8021494Sopenharmony_ci     false,
340b8021494Sopenharmony_ci     al,
341b8021494Sopenharmony_ci     "al r4 r14 LSL r11",
342b8021494Sopenharmony_ci     "al_r4_r14_LSL_r11"},
343b8021494Sopenharmony_ci    {{al, r4, r1, LSR, r6}, false, al, "al r4 r1 LSR r6", "al_r4_r1_LSR_r6"},
344b8021494Sopenharmony_ci    {{al, r14, r7, ROR, r5}, false, al, "al r14 r7 ROR r5", "al_r14_r7_ROR_r5"},
345b8021494Sopenharmony_ci    {{al, r11, r2, LSR, r1}, false, al, "al r11 r2 LSR r1", "al_r11_r2_LSR_r1"},
346b8021494Sopenharmony_ci    {{al, r4, r1, LSL, r13}, false, al, "al r4 r1 LSL r13", "al_r4_r1_LSL_r13"},
347b8021494Sopenharmony_ci    {{al, r10, r7, ROR, r4}, false, al, "al r10 r7 ROR r4", "al_r10_r7_ROR_r4"},
348b8021494Sopenharmony_ci    {{al, r1, r14, ROR, r4}, false, al, "al r1 r14 ROR r4", "al_r1_r14_ROR_r4"},
349b8021494Sopenharmony_ci    {{al, r14, r10, LSR, r11},
350b8021494Sopenharmony_ci     false,
351b8021494Sopenharmony_ci     al,
352b8021494Sopenharmony_ci     "al r14 r10 LSR r11",
353b8021494Sopenharmony_ci     "al_r14_r10_LSR_r11"},
354b8021494Sopenharmony_ci    {{al, r2, r9, LSR, r8}, false, al, "al r2 r9 LSR r8", "al_r2_r9_LSR_r8"},
355b8021494Sopenharmony_ci    {{al, r3, r10, LSR, r1}, false, al, "al r3 r10 LSR r1", "al_r3_r10_LSR_r1"},
356b8021494Sopenharmony_ci    {{al, r2, r6, LSL, r11}, false, al, "al r2 r6 LSL r11", "al_r2_r6_LSL_r11"},
357b8021494Sopenharmony_ci    {{al, r14, r1, LSR, r9}, false, al, "al r14 r1 LSR r9", "al_r14_r1_LSR_r9"},
358b8021494Sopenharmony_ci    {{al, r6, r1, LSR, r5}, false, al, "al r6 r1 LSR r5", "al_r6_r1_LSR_r5"},
359b8021494Sopenharmony_ci    {{al, r13, r10, ASR, r3},
360b8021494Sopenharmony_ci     false,
361b8021494Sopenharmony_ci     al,
362b8021494Sopenharmony_ci     "al r13 r10 ASR r3",
363b8021494Sopenharmony_ci     "al_r13_r10_ASR_r3"},
364b8021494Sopenharmony_ci    {{al, r11, r11, LSL, r2},
365b8021494Sopenharmony_ci     false,
366b8021494Sopenharmony_ci     al,
367b8021494Sopenharmony_ci     "al r11 r11 LSL r2",
368b8021494Sopenharmony_ci     "al_r11_r11_LSL_r2"},
369b8021494Sopenharmony_ci    {{al, r13, r4, LSL, r11},
370b8021494Sopenharmony_ci     false,
371b8021494Sopenharmony_ci     al,
372b8021494Sopenharmony_ci     "al r13 r4 LSL r11",
373b8021494Sopenharmony_ci     "al_r13_r4_LSL_r11"},
374b8021494Sopenharmony_ci    {{al, r9, r6, LSL, r9}, false, al, "al r9 r6 LSL r9", "al_r9_r6_LSL_r9"},
375b8021494Sopenharmony_ci    {{al, r12, r1, LSR, r6}, false, al, "al r12 r1 LSR r6", "al_r12_r1_LSR_r6"},
376b8021494Sopenharmony_ci    {{al, r5, r3, LSL, r7}, false, al, "al r5 r3 LSL r7", "al_r5_r3_LSL_r7"},
377b8021494Sopenharmony_ci    {{al, r5, r13, LSL, r5}, false, al, "al r5 r13 LSL r5", "al_r5_r13_LSL_r5"},
378b8021494Sopenharmony_ci    {{al, r11, r6, LSL, r7}, false, al, "al r11 r6 LSL r7", "al_r11_r6_LSL_r7"},
379b8021494Sopenharmony_ci    {{al, r1, r11, LSR, r4}, false, al, "al r1 r11 LSR r4", "al_r1_r11_LSR_r4"},
380b8021494Sopenharmony_ci    {{al, r12, r10, ROR, r10},
381b8021494Sopenharmony_ci     false,
382b8021494Sopenharmony_ci     al,
383b8021494Sopenharmony_ci     "al r12 r10 ROR r10",
384b8021494Sopenharmony_ci     "al_r12_r10_ROR_r10"},
385b8021494Sopenharmony_ci    {{al, r9, r10, LSR, r2}, false, al, "al r9 r10 LSR r2", "al_r9_r10_LSR_r2"},
386b8021494Sopenharmony_ci    {{al, r2, r4, LSL, r2}, false, al, "al r2 r4 LSL r2", "al_r2_r4_LSL_r2"},
387b8021494Sopenharmony_ci    {{al, r5, r11, ROR, r3}, false, al, "al r5 r11 ROR r3", "al_r5_r11_ROR_r3"},
388b8021494Sopenharmony_ci    {{al, r10, r5, ASR, r11},
389b8021494Sopenharmony_ci     false,
390b8021494Sopenharmony_ci     al,
391b8021494Sopenharmony_ci     "al r10 r5 ASR r11",
392b8021494Sopenharmony_ci     "al_r10_r5_ASR_r11"},
393b8021494Sopenharmony_ci    {{al, r11, r9, LSL, r12},
394b8021494Sopenharmony_ci     false,
395b8021494Sopenharmony_ci     al,
396b8021494Sopenharmony_ci     "al r11 r9 LSL r12",
397b8021494Sopenharmony_ci     "al_r11_r9_LSL_r12"},
398b8021494Sopenharmony_ci    {{al, r4, r13, LSR, r6}, false, al, "al r4 r13 LSR r6", "al_r4_r13_LSR_r6"},
399b8021494Sopenharmony_ci    {{al, r2, r11, ROR, r8}, false, al, "al r2 r11 ROR r8", "al_r2_r11_ROR_r8"},
400b8021494Sopenharmony_ci    {{al, r9, r1, LSR, r3}, false, al, "al r9 r1 LSR r3", "al_r9_r1_LSR_r3"},
401b8021494Sopenharmony_ci    {{al, r5, r8, LSR, r2}, false, al, "al r5 r8 LSR r2", "al_r5_r8_LSR_r2"},
402b8021494Sopenharmony_ci    {{al, r4, r14, ROR, r10},
403b8021494Sopenharmony_ci     false,
404b8021494Sopenharmony_ci     al,
405b8021494Sopenharmony_ci     "al r4 r14 ROR r10",
406b8021494Sopenharmony_ci     "al_r4_r14_ROR_r10"},
407b8021494Sopenharmony_ci    {{al, r13, r0, ROR, r0}, false, al, "al r13 r0 ROR r0", "al_r13_r0_ROR_r0"},
408b8021494Sopenharmony_ci    {{al, r2, r10, ROR, r7}, false, al, "al r2 r10 ROR r7", "al_r2_r10_ROR_r7"},
409b8021494Sopenharmony_ci    {{al, r9, r11, LSR, r12},
410b8021494Sopenharmony_ci     false,
411b8021494Sopenharmony_ci     al,
412b8021494Sopenharmony_ci     "al r9 r11 LSR r12",
413b8021494Sopenharmony_ci     "al_r9_r11_LSR_r12"},
414b8021494Sopenharmony_ci    {{al, r3, r4, ASR, r9}, false, al, "al r3 r4 ASR r9", "al_r3_r4_ASR_r9"},
415b8021494Sopenharmony_ci    {{al, r14, r5, LSR, r13},
416b8021494Sopenharmony_ci     false,
417b8021494Sopenharmony_ci     al,
418b8021494Sopenharmony_ci     "al r14 r5 LSR r13",
419b8021494Sopenharmony_ci     "al_r14_r5_LSR_r13"},
420b8021494Sopenharmony_ci    {{al, r14, r14, ASR, r5},
421b8021494Sopenharmony_ci     false,
422b8021494Sopenharmony_ci     al,
423b8021494Sopenharmony_ci     "al r14 r14 ASR r5",
424b8021494Sopenharmony_ci     "al_r14_r14_ASR_r5"},
425b8021494Sopenharmony_ci    {{al, r0, r8, LSL, r8}, false, al, "al r0 r8 LSL r8", "al_r0_r8_LSL_r8"},
426b8021494Sopenharmony_ci    {{al, r12, r6, ASR, r13},
427b8021494Sopenharmony_ci     false,
428b8021494Sopenharmony_ci     al,
429b8021494Sopenharmony_ci     "al r12 r6 ASR r13",
430b8021494Sopenharmony_ci     "al_r12_r6_ASR_r13"},
431b8021494Sopenharmony_ci    {{al, r4, r2, ASR, r4}, false, al, "al r4 r2 ASR r4", "al_r4_r2_ASR_r4"},
432b8021494Sopenharmony_ci    {{al, r6, r6, ASR, r7}, false, al, "al r6 r6 ASR r7", "al_r6_r6_ASR_r7"},
433b8021494Sopenharmony_ci    {{al, r9, r7, LSR, r8}, false, al, "al r9 r7 LSR r8", "al_r9_r7_LSR_r8"},
434b8021494Sopenharmony_ci    {{al, r5, r9, ASR, r8}, false, al, "al r5 r9 ASR r8", "al_r5_r9_ASR_r8"},
435b8021494Sopenharmony_ci    {{al, r8, r10, ROR, r6}, false, al, "al r8 r10 ROR r6", "al_r8_r10_ROR_r6"},
436b8021494Sopenharmony_ci    {{al, r13, r2, LSL, r9}, false, al, "al r13 r2 LSL r9", "al_r13_r2_LSL_r9"},
437b8021494Sopenharmony_ci    {{al, r6, r3, ASR, r7}, false, al, "al r6 r3 ASR r7", "al_r6_r3_ASR_r7"},
438b8021494Sopenharmony_ci    {{al, r12, r4, ROR, r6}, false, al, "al r12 r4 ROR r6", "al_r12_r4_ROR_r6"},
439b8021494Sopenharmony_ci    {{al, r7, r2, ROR, r8}, false, al, "al r7 r2 ROR r8", "al_r7_r2_ROR_r8"},
440b8021494Sopenharmony_ci    {{al, r4, r6, ASR, r2}, false, al, "al r4 r6 ASR r2", "al_r4_r6_ASR_r2"},
441b8021494Sopenharmony_ci    {{al, r5, r6, LSL, r7}, false, al, "al r5 r6 LSL r7", "al_r5_r6_LSL_r7"},
442b8021494Sopenharmony_ci    {{al, r13, r1, ROR, r12},
443b8021494Sopenharmony_ci     false,
444b8021494Sopenharmony_ci     al,
445b8021494Sopenharmony_ci     "al r13 r1 ROR r12",
446b8021494Sopenharmony_ci     "al_r13_r1_ROR_r12"},
447b8021494Sopenharmony_ci    {{al, r12, r8, LSL, r0}, false, al, "al r12 r8 LSL r0", "al_r12_r8_LSL_r0"},
448b8021494Sopenharmony_ci    {{al, r2, r13, ASR, r13},
449b8021494Sopenharmony_ci     false,
450b8021494Sopenharmony_ci     al,
451b8021494Sopenharmony_ci     "al r2 r13 ASR r13",
452b8021494Sopenharmony_ci     "al_r2_r13_ASR_r13"},
453b8021494Sopenharmony_ci    {{al, r1, r6, ROR, r3}, false, al, "al r1 r6 ROR r3", "al_r1_r6_ROR_r3"},
454b8021494Sopenharmony_ci    {{al, r14, r2, LSR, r9}, false, al, "al r14 r2 LSR r9", "al_r14_r2_LSR_r9"},
455b8021494Sopenharmony_ci    {{al, r5, r7, ASR, r9}, false, al, "al r5 r7 ASR r9", "al_r5_r7_ASR_r9"},
456b8021494Sopenharmony_ci    {{al, r11, r4, ROR, r5}, false, al, "al r11 r4 ROR r5", "al_r11_r4_ROR_r5"},
457b8021494Sopenharmony_ci    {{al, r7, r9, LSR, r1}, false, al, "al r7 r9 LSR r1", "al_r7_r9_LSR_r1"},
458b8021494Sopenharmony_ci    {{al, r4, r3, ROR, r4}, false, al, "al r4 r3 ROR r4", "al_r4_r3_ROR_r4"},
459b8021494Sopenharmony_ci    {{al, r0, r4, ASR, r13}, false, al, "al r0 r4 ASR r13", "al_r0_r4_ASR_r13"},
460b8021494Sopenharmony_ci    {{al, r10, r10, LSR, r14},
461b8021494Sopenharmony_ci     false,
462b8021494Sopenharmony_ci     al,
463b8021494Sopenharmony_ci     "al r10 r10 LSR r14",
464b8021494Sopenharmony_ci     "al_r10_r10_LSR_r14"},
465b8021494Sopenharmony_ci    {{al, r0, r6, ASR, r7}, false, al, "al r0 r6 ASR r7", "al_r0_r6_ASR_r7"},
466b8021494Sopenharmony_ci    {{al, r2, r4, ROR, r7}, false, al, "al r2 r4 ROR r7", "al_r2_r4_ROR_r7"},
467b8021494Sopenharmony_ci    {{al, r14, r4, LSR, r13},
468b8021494Sopenharmony_ci     false,
469b8021494Sopenharmony_ci     al,
470b8021494Sopenharmony_ci     "al r14 r4 LSR r13",
471b8021494Sopenharmony_ci     "al_r14_r4_LSR_r13"},
472b8021494Sopenharmony_ci    {{al, r9, r3, LSL, r2}, false, al, "al r9 r3 LSL r2", "al_r9_r3_LSL_r2"},
473b8021494Sopenharmony_ci    {{al, r9, r3, LSL, r0}, false, al, "al r9 r3 LSL r0", "al_r9_r3_LSL_r0"},
474b8021494Sopenharmony_ci    {{al, r3, r13, ASR, r3}, false, al, "al r3 r13 ASR r3", "al_r3_r13_ASR_r3"},
475b8021494Sopenharmony_ci    {{al, r10, r12, ASR, r3},
476b8021494Sopenharmony_ci     false,
477b8021494Sopenharmony_ci     al,
478b8021494Sopenharmony_ci     "al r10 r12 ASR r3",
479b8021494Sopenharmony_ci     "al_r10_r12_ASR_r3"},
480b8021494Sopenharmony_ci    {{al, r13, r7, LSR, r6}, false, al, "al r13 r7 LSR r6", "al_r13_r7_LSR_r6"},
481b8021494Sopenharmony_ci    {{al, r6, r14, ASR, r11},
482b8021494Sopenharmony_ci     false,
483b8021494Sopenharmony_ci     al,
484b8021494Sopenharmony_ci     "al r6 r14 ASR r11",
485b8021494Sopenharmony_ci     "al_r6_r14_ASR_r11"},
486b8021494Sopenharmony_ci    {{al, r10, r1, ASR, r14},
487b8021494Sopenharmony_ci     false,
488b8021494Sopenharmony_ci     al,
489b8021494Sopenharmony_ci     "al r10 r1 ASR r14",
490b8021494Sopenharmony_ci     "al_r10_r1_ASR_r14"},
491b8021494Sopenharmony_ci    {{al, r7, r0, LSL, r3}, false, al, "al r7 r0 LSL r3", "al_r7_r0_LSL_r3"},
492b8021494Sopenharmony_ci    {{al, r4, r8, LSL, r6}, false, al, "al r4 r8 LSL r6", "al_r4_r8_LSL_r6"},
493b8021494Sopenharmony_ci    {{al, r3, r7, LSL, r2}, false, al, "al r3 r7 LSL r2", "al_r3_r7_LSL_r2"},
494b8021494Sopenharmony_ci    {{al, r13, r10, LSR, r11},
495b8021494Sopenharmony_ci     false,
496b8021494Sopenharmony_ci     al,
497b8021494Sopenharmony_ci     "al r13 r10 LSR r11",
498b8021494Sopenharmony_ci     "al_r13_r10_LSR_r11"},
499b8021494Sopenharmony_ci    {{al, r1, r13, ROR, r11},
500b8021494Sopenharmony_ci     false,
501b8021494Sopenharmony_ci     al,
502b8021494Sopenharmony_ci     "al r1 r13 ROR r11",
503b8021494Sopenharmony_ci     "al_r1_r13_ROR_r11"},
504b8021494Sopenharmony_ci    {{al, r0, r10, LSR, r8}, false, al, "al r0 r10 LSR r8", "al_r0_r10_LSR_r8"},
505b8021494Sopenharmony_ci    {{al, r10, r3, ASR, r4}, false, al, "al r10 r3 ASR r4", "al_r10_r3_ASR_r4"},
506b8021494Sopenharmony_ci    {{al, r0, r2, LSR, r8}, false, al, "al r0 r2 LSR r8", "al_r0_r2_LSR_r8"},
507b8021494Sopenharmony_ci    {{al, r8, r0, LSL, r4}, false, al, "al r8 r0 LSL r4", "al_r8_r0_LSL_r4"},
508b8021494Sopenharmony_ci    {{al, r11, r8, ASR, r8}, false, al, "al r11 r8 ASR r8", "al_r11_r8_ASR_r8"},
509b8021494Sopenharmony_ci    {{al, r11, r7, ASR, r10},
510b8021494Sopenharmony_ci     false,
511b8021494Sopenharmony_ci     al,
512b8021494Sopenharmony_ci     "al r11 r7 ASR r10",
513b8021494Sopenharmony_ci     "al_r11_r7_ASR_r10"},
514b8021494Sopenharmony_ci    {{al, r10, r12, ROR, r0},
515b8021494Sopenharmony_ci     false,
516b8021494Sopenharmony_ci     al,
517b8021494Sopenharmony_ci     "al r10 r12 ROR r0",
518b8021494Sopenharmony_ci     "al_r10_r12_ROR_r0"},
519b8021494Sopenharmony_ci    {{al, r8, r5, LSR, r9}, false, al, "al r8 r5 LSR r9", "al_r8_r5_LSR_r9"},
520b8021494Sopenharmony_ci    {{al, r12, r3, ROR, r4}, false, al, "al r12 r3 ROR r4", "al_r12_r3_ROR_r4"},
521b8021494Sopenharmony_ci    {{al, r11, r2, LSR, r13},
522b8021494Sopenharmony_ci     false,
523b8021494Sopenharmony_ci     al,
524b8021494Sopenharmony_ci     "al r11 r2 LSR r13",
525b8021494Sopenharmony_ci     "al_r11_r2_LSR_r13"},
526b8021494Sopenharmony_ci    {{al, r13, r6, ROR, r2}, false, al, "al r13 r6 ROR r2", "al_r13_r6_ROR_r2"},
527b8021494Sopenharmony_ci    {{al, r2, r1, ASR, r10}, false, al, "al r2 r1 ASR r10", "al_r2_r1_ASR_r10"},
528b8021494Sopenharmony_ci    {{al, r9, r1, ROR, r3}, false, al, "al r9 r1 ROR r3", "al_r9_r1_ROR_r3"},
529b8021494Sopenharmony_ci    {{al, r14, r9, ASR, r4}, false, al, "al r14 r9 ASR r4", "al_r14_r9_ASR_r4"},
530b8021494Sopenharmony_ci    {{al, r14, r13, ASR, r9},
531b8021494Sopenharmony_ci     false,
532b8021494Sopenharmony_ci     al,
533b8021494Sopenharmony_ci     "al r14 r13 ASR r9",
534b8021494Sopenharmony_ci     "al_r14_r13_ASR_r9"},
535b8021494Sopenharmony_ci    {{al, r10, r13, LSR, r7},
536b8021494Sopenharmony_ci     false,
537b8021494Sopenharmony_ci     al,
538b8021494Sopenharmony_ci     "al r10 r13 LSR r7",
539b8021494Sopenharmony_ci     "al_r10_r13_LSR_r7"},
540b8021494Sopenharmony_ci    {{al, r5, r9, ROR, r10}, false, al, "al r5 r9 ROR r10", "al_r5_r9_ROR_r10"},
541b8021494Sopenharmony_ci    {{al, r13, r3, ASR, r4}, false, al, "al r13 r3 ASR r4", "al_r13_r3_ASR_r4"},
542b8021494Sopenharmony_ci    {{al, r11, r7, LSL, r10},
543b8021494Sopenharmony_ci     false,
544b8021494Sopenharmony_ci     al,
545b8021494Sopenharmony_ci     "al r11 r7 LSL r10",
546b8021494Sopenharmony_ci     "al_r11_r7_LSL_r10"},
547b8021494Sopenharmony_ci    {{al, r2, r6, LSR, r14}, false, al, "al r2 r6 LSR r14", "al_r2_r6_LSR_r14"},
548b8021494Sopenharmony_ci    {{al, r8, r4, LSR, r10}, false, al, "al r8 r4 LSR r10", "al_r8_r4_LSR_r10"},
549b8021494Sopenharmony_ci    {{al, r5, r13, LSL, r11},
550b8021494Sopenharmony_ci     false,
551b8021494Sopenharmony_ci     al,
552b8021494Sopenharmony_ci     "al r5 r13 LSL r11",
553b8021494Sopenharmony_ci     "al_r5_r13_LSL_r11"},
554b8021494Sopenharmony_ci    {{al, r7, r10, ASR, r8}, false, al, "al r7 r10 ASR r8", "al_r7_r10_ASR_r8"},
555b8021494Sopenharmony_ci    {{al, r0, r4, LSR, r14}, false, al, "al r0 r4 LSR r14", "al_r0_r4_LSR_r14"},
556b8021494Sopenharmony_ci    {{al, r0, r5, ASR, r8}, false, al, "al r0 r5 ASR r8", "al_r0_r5_ASR_r8"},
557b8021494Sopenharmony_ci    {{al, r13, r13, ASR, r8},
558b8021494Sopenharmony_ci     false,
559b8021494Sopenharmony_ci     al,
560b8021494Sopenharmony_ci     "al r13 r13 ASR r8",
561b8021494Sopenharmony_ci     "al_r13_r13_ASR_r8"},
562b8021494Sopenharmony_ci    {{al, r10, r8, LSR, r0}, false, al, "al r10 r8 LSR r0", "al_r10_r8_LSR_r0"},
563b8021494Sopenharmony_ci    {{al, r8, r8, LSR, r8}, false, al, "al r8 r8 LSR r8", "al_r8_r8_LSR_r8"},
564b8021494Sopenharmony_ci    {{al, r4, r12, LSL, r0}, false, al, "al r4 r12 LSL r0", "al_r4_r12_LSL_r0"},
565b8021494Sopenharmony_ci    {{al, r3, r1, LSR, r11}, false, al, "al r3 r1 LSR r11", "al_r3_r1_LSR_r11"},
566b8021494Sopenharmony_ci    {{al, r8, r8, ROR, r3}, false, al, "al r8 r8 ROR r3", "al_r8_r8_ROR_r3"},
567b8021494Sopenharmony_ci    {{al, r10, r13, ASR, r14},
568b8021494Sopenharmony_ci     false,
569b8021494Sopenharmony_ci     al,
570b8021494Sopenharmony_ci     "al r10 r13 ASR r14",
571b8021494Sopenharmony_ci     "al_r10_r13_ASR_r14"},
572b8021494Sopenharmony_ci    {{al, r3, r0, ROR, r4}, false, al, "al r3 r0 ROR r4", "al_r3_r0_ROR_r4"},
573b8021494Sopenharmony_ci    {{al, r13, r0, LSL, r4}, false, al, "al r13 r0 LSL r4", "al_r13_r0_LSL_r4"},
574b8021494Sopenharmony_ci    {{al, r12, r13, LSR, r4},
575b8021494Sopenharmony_ci     false,
576b8021494Sopenharmony_ci     al,
577b8021494Sopenharmony_ci     "al r12 r13 LSR r4",
578b8021494Sopenharmony_ci     "al_r12_r13_LSR_r4"},
579b8021494Sopenharmony_ci    {{al, r7, r6, ASR, r13}, false, al, "al r7 r6 ASR r13", "al_r7_r6_ASR_r13"},
580b8021494Sopenharmony_ci    {{al, r3, r11, LSR, r5}, false, al, "al r3 r11 LSR r5", "al_r3_r11_LSR_r5"},
581b8021494Sopenharmony_ci    {{al, r1, r1, LSR, r1}, false, al, "al r1 r1 LSR r1", "al_r1_r1_LSR_r1"},
582b8021494Sopenharmony_ci    {{al, r2, r14, ROR, r14},
583b8021494Sopenharmony_ci     false,
584b8021494Sopenharmony_ci     al,
585b8021494Sopenharmony_ci     "al r2 r14 ROR r14",
586b8021494Sopenharmony_ci     "al_r2_r14_ROR_r14"},
587b8021494Sopenharmony_ci    {{al, r5, r10, LSL, r1}, false, al, "al r5 r10 LSL r1", "al_r5_r10_LSL_r1"},
588b8021494Sopenharmony_ci    {{al, r14, r8, ROR, r4}, false, al, "al r14 r8 ROR r4", "al_r14_r8_ROR_r4"},
589b8021494Sopenharmony_ci    {{al, r8, r3, LSL, r6}, false, al, "al r8 r3 LSL r6", "al_r8_r3_LSL_r6"},
590b8021494Sopenharmony_ci    {{al, r9, r4, ROR, r1}, false, al, "al r9 r4 ROR r1", "al_r9_r4_ROR_r1"},
591b8021494Sopenharmony_ci    {{al, r9, r13, ROR, r12},
592b8021494Sopenharmony_ci     false,
593b8021494Sopenharmony_ci     al,
594b8021494Sopenharmony_ci     "al r9 r13 ROR r12",
595b8021494Sopenharmony_ci     "al_r9_r13_ROR_r12"},
596b8021494Sopenharmony_ci    {{al, r14, r9, ASR, r3}, false, al, "al r14 r9 ASR r3", "al_r14_r9_ASR_r3"},
597b8021494Sopenharmony_ci    {{al, r1, r4, ASR, r4}, false, al, "al r1 r4 ASR r4", "al_r1_r4_ASR_r4"},
598b8021494Sopenharmony_ci    {{al, r3, r9, ROR, r10}, false, al, "al r3 r9 ROR r10", "al_r3_r9_ROR_r10"},
599b8021494Sopenharmony_ci    {{al, r7, r11, LSR, r14},
600b8021494Sopenharmony_ci     false,
601b8021494Sopenharmony_ci     al,
602b8021494Sopenharmony_ci     "al r7 r11 LSR r14",
603b8021494Sopenharmony_ci     "al_r7_r11_LSR_r14"},
604b8021494Sopenharmony_ci    {{al, r11, r11, ASR, r7},
605b8021494Sopenharmony_ci     false,
606b8021494Sopenharmony_ci     al,
607b8021494Sopenharmony_ci     "al r11 r11 ASR r7",
608b8021494Sopenharmony_ci     "al_r11_r11_ASR_r7"},
609b8021494Sopenharmony_ci    {{al, r1, r1, LSL, r9}, false, al, "al r1 r1 LSL r9", "al_r1_r1_LSL_r9"},
610b8021494Sopenharmony_ci    {{al, r1, r6, LSL, r12}, false, al, "al r1 r6 LSL r12", "al_r1_r6_LSL_r12"},
611b8021494Sopenharmony_ci    {{al, r14, r10, ROR, r8},
612b8021494Sopenharmony_ci     false,
613b8021494Sopenharmony_ci     al,
614b8021494Sopenharmony_ci     "al r14 r10 ROR r8",
615b8021494Sopenharmony_ci     "al_r14_r10_ROR_r8"},
616b8021494Sopenharmony_ci    {{al, r5, r8, ASR, r2}, false, al, "al r5 r8 ASR r2", "al_r5_r8_ASR_r2"},
617b8021494Sopenharmony_ci    {{al, r2, r6, LSL, r8}, false, al, "al r2 r6 LSL r8", "al_r2_r6_LSL_r8"},
618b8021494Sopenharmony_ci    {{al, r11, r13, ROR, r1},
619b8021494Sopenharmony_ci     false,
620b8021494Sopenharmony_ci     al,
621b8021494Sopenharmony_ci     "al r11 r13 ROR r1",
622b8021494Sopenharmony_ci     "al_r11_r13_ROR_r1"},
623b8021494Sopenharmony_ci    {{al, r11, r4, ASR, r3}, false, al, "al r11 r4 ASR r3", "al_r11_r4_ASR_r3"},
624b8021494Sopenharmony_ci    {{al, r8, r0, LSR, r5}, false, al, "al r8 r0 LSR r5", "al_r8_r0_LSR_r5"},
625b8021494Sopenharmony_ci    {{al, r7, r6, LSL, r7}, false, al, "al r7 r6 LSL r7", "al_r7_r6_LSL_r7"},
626b8021494Sopenharmony_ci    {{al, r2, r6, LSR, r3}, false, al, "al r2 r6 LSR r3", "al_r2_r6_LSR_r3"},
627b8021494Sopenharmony_ci    {{al, r5, r4, ASR, r0}, false, al, "al r5 r4 ASR r0", "al_r5_r4_ASR_r0"},
628b8021494Sopenharmony_ci    {{al, r12, r4, ASR, r1}, false, al, "al r12 r4 ASR r1", "al_r12_r4_ASR_r1"},
629b8021494Sopenharmony_ci    {{al, r5, r11, ASR, r12},
630b8021494Sopenharmony_ci     false,
631b8021494Sopenharmony_ci     al,
632b8021494Sopenharmony_ci     "al r5 r11 ASR r12",
633b8021494Sopenharmony_ci     "al_r5_r11_ASR_r12"},
634b8021494Sopenharmony_ci    {{al, r2, r14, ASR, r2}, false, al, "al r2 r14 ASR r2", "al_r2_r14_ASR_r2"},
635b8021494Sopenharmony_ci    {{al, r11, r0, ASR, r13},
636b8021494Sopenharmony_ci     false,
637b8021494Sopenharmony_ci     al,
638b8021494Sopenharmony_ci     "al r11 r0 ASR r13",
639b8021494Sopenharmony_ci     "al_r11_r0_ASR_r13"},
640b8021494Sopenharmony_ci    {{al, r2, r11, LSR, r7}, false, al, "al r2 r11 LSR r7", "al_r2_r11_LSR_r7"},
641b8021494Sopenharmony_ci    {{al, r3, r2, LSL, r10}, false, al, "al r3 r2 LSL r10", "al_r3_r2_LSL_r10"},
642b8021494Sopenharmony_ci    {{al, r9, r12, ROR, r10},
643b8021494Sopenharmony_ci     false,
644b8021494Sopenharmony_ci     al,
645b8021494Sopenharmony_ci     "al r9 r12 ROR r10",
646b8021494Sopenharmony_ci     "al_r9_r12_ROR_r10"},
647b8021494Sopenharmony_ci    {{al, r7, r14, ASR, r7}, false, al, "al r7 r14 ASR r7", "al_r7_r14_ASR_r7"},
648b8021494Sopenharmony_ci    {{al, r2, r10, ROR, r4}, false, al, "al r2 r10 ROR r4", "al_r2_r10_ROR_r4"},
649b8021494Sopenharmony_ci    {{al, r14, r6, LSL, r14},
650b8021494Sopenharmony_ci     false,
651b8021494Sopenharmony_ci     al,
652b8021494Sopenharmony_ci     "al r14 r6 LSL r14",
653b8021494Sopenharmony_ci     "al_r14_r6_LSL_r14"},
654b8021494Sopenharmony_ci    {{al, r1, r10, LSL, r10},
655b8021494Sopenharmony_ci     false,
656b8021494Sopenharmony_ci     al,
657b8021494Sopenharmony_ci     "al r1 r10 LSL r10",
658b8021494Sopenharmony_ci     "al_r1_r10_LSL_r10"},
659b8021494Sopenharmony_ci    {{al, r5, r8, LSR, r3}, false, al, "al r5 r8 LSR r3", "al_r5_r8_LSR_r3"},
660b8021494Sopenharmony_ci    {{al, r11, r6, ASR, r1}, false, al, "al r11 r6 ASR r1", "al_r11_r6_ASR_r1"},
661b8021494Sopenharmony_ci    {{al, r11, r1, ROR, r1}, false, al, "al r11 r1 ROR r1", "al_r11_r1_ROR_r1"},
662b8021494Sopenharmony_ci    {{al, r5, r6, LSL, r9}, false, al, "al r5 r6 LSL r9", "al_r5_r6_LSL_r9"},
663b8021494Sopenharmony_ci    {{al, r9, r0, LSL, r0}, false, al, "al r9 r0 LSL r0", "al_r9_r0_LSL_r0"},
664b8021494Sopenharmony_ci    {{al, r1, r12, LSL, r4}, false, al, "al r1 r12 LSL r4", "al_r1_r12_LSL_r4"},
665b8021494Sopenharmony_ci    {{al, r14, r4, LSR, r10},
666b8021494Sopenharmony_ci     false,
667b8021494Sopenharmony_ci     al,
668b8021494Sopenharmony_ci     "al r14 r4 LSR r10",
669b8021494Sopenharmony_ci     "al_r14_r4_LSR_r10"},
670b8021494Sopenharmony_ci    {{al, r6, r2, LSL, r5}, false, al, "al r6 r2 LSL r5", "al_r6_r2_LSL_r5"},
671b8021494Sopenharmony_ci    {{al, r7, r9, ROR, r6}, false, al, "al r7 r9 ROR r6", "al_r7_r9_ROR_r6"},
672b8021494Sopenharmony_ci    {{al, r14, r8, ROR, r0}, false, al, "al r14 r8 ROR r0", "al_r14_r8_ROR_r0"},
673b8021494Sopenharmony_ci    {{al, r10, r3, LSR, r4}, false, al, "al r10 r3 LSR r4", "al_r10_r3_LSR_r4"},
674b8021494Sopenharmony_ci    {{al, r4, r0, ASR, r10}, false, al, "al r4 r0 ASR r10", "al_r4_r0_ASR_r10"},
675b8021494Sopenharmony_ci    {{al, r10, r2, LSL, r0}, false, al, "al r10 r2 LSL r0", "al_r10_r2_LSL_r0"},
676b8021494Sopenharmony_ci    {{al, r1, r14, LSR, r7}, false, al, "al r1 r14 LSR r7", "al_r1_r14_LSR_r7"},
677b8021494Sopenharmony_ci    {{al, r7, r0, LSR, r3}, false, al, "al r7 r0 LSR r3", "al_r7_r0_LSR_r3"},
678b8021494Sopenharmony_ci    {{al, r10, r11, LSR, r3},
679b8021494Sopenharmony_ci     false,
680b8021494Sopenharmony_ci     al,
681b8021494Sopenharmony_ci     "al r10 r11 LSR r3",
682b8021494Sopenharmony_ci     "al_r10_r11_LSR_r3"},
683b8021494Sopenharmony_ci    {{al, r7, r8, ROR, r12}, false, al, "al r7 r8 ROR r12", "al_r7_r8_ROR_r12"},
684b8021494Sopenharmony_ci    {{al, r10, r5, LSL, r5}, false, al, "al r10 r5 LSL r5", "al_r10_r5_LSL_r5"},
685b8021494Sopenharmony_ci    {{al, r11, r11, ROR, r12},
686b8021494Sopenharmony_ci     false,
687b8021494Sopenharmony_ci     al,
688b8021494Sopenharmony_ci     "al r11 r11 ROR r12",
689b8021494Sopenharmony_ci     "al_r11_r11_ROR_r12"},
690b8021494Sopenharmony_ci    {{al, r2, r7, ASR, r6}, false, al, "al r2 r7 ASR r6", "al_r2_r7_ASR_r6"},
691b8021494Sopenharmony_ci    {{al, r8, r6, LSR, r14}, false, al, "al r8 r6 LSR r14", "al_r8_r6_LSR_r14"},
692b8021494Sopenharmony_ci    {{al, r9, r13, ASR, r3}, false, al, "al r9 r13 ASR r3", "al_r9_r13_ASR_r3"},
693b8021494Sopenharmony_ci    {{al, r11, r6, LSR, r5}, false, al, "al r11 r6 LSR r5", "al_r11_r6_LSR_r5"},
694b8021494Sopenharmony_ci    {{al, r4, r11, ROR, r1}, false, al, "al r4 r11 ROR r1", "al_r4_r11_ROR_r1"},
695b8021494Sopenharmony_ci    {{al, r2, r10, ROR, r5}, false, al, "al r2 r10 ROR r5", "al_r2_r10_ROR_r5"},
696b8021494Sopenharmony_ci    {{al, r11, r10, LSL, r10},
697b8021494Sopenharmony_ci     false,
698b8021494Sopenharmony_ci     al,
699b8021494Sopenharmony_ci     "al r11 r10 LSL r10",
700b8021494Sopenharmony_ci     "al_r11_r10_LSL_r10"},
701b8021494Sopenharmony_ci    {{al, r0, r2, ROR, r4}, false, al, "al r0 r2 ROR r4", "al_r0_r2_ROR_r4"},
702b8021494Sopenharmony_ci    {{al, r0, r0, LSL, r7}, false, al, "al r0 r0 LSL r7", "al_r0_r0_LSL_r7"},
703b8021494Sopenharmony_ci    {{al, r12, r2, ASR, r11},
704b8021494Sopenharmony_ci     false,
705b8021494Sopenharmony_ci     al,
706b8021494Sopenharmony_ci     "al r12 r2 ASR r11",
707b8021494Sopenharmony_ci     "al_r12_r2_ASR_r11"},
708b8021494Sopenharmony_ci    {{al, r10, r2, ASR, r0}, false, al, "al r10 r2 ASR r0", "al_r10_r2_ASR_r0"},
709b8021494Sopenharmony_ci    {{al, r14, r1, LSL, r0}, false, al, "al r14 r1 LSL r0", "al_r14_r1_LSL_r0"},
710b8021494Sopenharmony_ci    {{al, r8, r3, LSL, r12}, false, al, "al r8 r3 LSL r12", "al_r8_r3_LSL_r12"},
711b8021494Sopenharmony_ci    {{al, r6, r14, ROR, r10},
712b8021494Sopenharmony_ci     false,
713b8021494Sopenharmony_ci     al,
714b8021494Sopenharmony_ci     "al r6 r14 ROR r10",
715b8021494Sopenharmony_ci     "al_r6_r14_ROR_r10"},
716b8021494Sopenharmony_ci    {{al, r13, r0, LSL, r3}, false, al, "al r13 r0 LSL r3", "al_r13_r0_LSL_r3"},
717b8021494Sopenharmony_ci    {{al, r13, r6, ROR, r0}, false, al, "al r13 r6 ROR r0", "al_r13_r6_ROR_r0"},
718b8021494Sopenharmony_ci    {{al, r3, r14, LSL, r11},
719b8021494Sopenharmony_ci     false,
720b8021494Sopenharmony_ci     al,
721b8021494Sopenharmony_ci     "al r3 r14 LSL r11",
722b8021494Sopenharmony_ci     "al_r3_r14_LSL_r11"},
723b8021494Sopenharmony_ci    {{al, r1, r4, LSR, r1}, false, al, "al r1 r4 LSR r1", "al_r1_r4_LSR_r1"},
724b8021494Sopenharmony_ci    {{al, r6, r1, LSR, r1}, false, al, "al r6 r1 LSR r1", "al_r6_r1_LSR_r1"},
725b8021494Sopenharmony_ci    {{al, r14, r8, ASR, r14},
726b8021494Sopenharmony_ci     false,
727b8021494Sopenharmony_ci     al,
728b8021494Sopenharmony_ci     "al r14 r8 ASR r14",
729b8021494Sopenharmony_ci     "al_r14_r8_ASR_r14"},
730b8021494Sopenharmony_ci    {{al, r3, r14, LSL, r12},
731b8021494Sopenharmony_ci     false,
732b8021494Sopenharmony_ci     al,
733b8021494Sopenharmony_ci     "al r3 r14 LSL r12",
734b8021494Sopenharmony_ci     "al_r3_r14_LSL_r12"},
735b8021494Sopenharmony_ci    {{al, r8, r9, LSR, r7}, false, al, "al r8 r9 LSR r7", "al_r8_r9_LSR_r7"},
736b8021494Sopenharmony_ci    {{al, r1, r6, LSL, r9}, false, al, "al r1 r6 LSL r9", "al_r1_r6_LSL_r9"},
737b8021494Sopenharmony_ci    {{al, r11, r14, ROR, r6},
738b8021494Sopenharmony_ci     false,
739b8021494Sopenharmony_ci     al,
740b8021494Sopenharmony_ci     "al r11 r14 ROR r6",
741b8021494Sopenharmony_ci     "al_r11_r14_ROR_r6"},
742b8021494Sopenharmony_ci    {{al, r2, r3, ROR, r2}, false, al, "al r2 r3 ROR r2", "al_r2_r3_ROR_r2"},
743b8021494Sopenharmony_ci    {{al, r13, r12, ASR, r3},
744b8021494Sopenharmony_ci     false,
745b8021494Sopenharmony_ci     al,
746b8021494Sopenharmony_ci     "al r13 r12 ASR r3",
747b8021494Sopenharmony_ci     "al_r13_r12_ASR_r3"},
748b8021494Sopenharmony_ci    {{al, r1, r14, ASR, r11},
749b8021494Sopenharmony_ci     false,
750b8021494Sopenharmony_ci     al,
751b8021494Sopenharmony_ci     "al r1 r14 ASR r11",
752b8021494Sopenharmony_ci     "al_r1_r14_ASR_r11"},
753b8021494Sopenharmony_ci    {{al, r14, r6, LSR, r3}, false, al, "al r14 r6 LSR r3", "al_r14_r6_LSR_r3"},
754b8021494Sopenharmony_ci    {{al, r11, r8, LSR, r11},
755b8021494Sopenharmony_ci     false,
756b8021494Sopenharmony_ci     al,
757b8021494Sopenharmony_ci     "al r11 r8 LSR r11",
758b8021494Sopenharmony_ci     "al_r11_r8_LSR_r11"},
759b8021494Sopenharmony_ci    {{al, r0, r4, LSL, r10}, false, al, "al r0 r4 LSL r10", "al_r0_r4_LSL_r10"},
760b8021494Sopenharmony_ci    {{al, r1, r4, LSL, r13}, false, al, "al r1 r4 LSL r13", "al_r1_r4_LSL_r13"},
761b8021494Sopenharmony_ci    {{al, r4, r4, LSR, r6}, false, al, "al r4 r4 LSR r6", "al_r4_r4_LSR_r6"},
762b8021494Sopenharmony_ci    {{al, r3, r5, LSR, r8}, false, al, "al r3 r5 LSR r8", "al_r3_r5_LSR_r8"},
763b8021494Sopenharmony_ci    {{al, r7, r8, LSL, r11}, false, al, "al r7 r8 LSL r11", "al_r7_r8_LSL_r11"},
764b8021494Sopenharmony_ci    {{al, r12, r6, ROR, r7}, false, al, "al r12 r6 ROR r7", "al_r12_r6_ROR_r7"},
765b8021494Sopenharmony_ci    {{al, r14, r11, ASR, r14},
766b8021494Sopenharmony_ci     false,
767b8021494Sopenharmony_ci     al,
768b8021494Sopenharmony_ci     "al r14 r11 ASR r14",
769b8021494Sopenharmony_ci     "al_r14_r11_ASR_r14"},
770b8021494Sopenharmony_ci    {{al, r3, r10, LSL, r5}, false, al, "al r3 r10 LSL r5", "al_r3_r10_LSL_r5"},
771b8021494Sopenharmony_ci    {{al, r4, r7, ASR, r7}, false, al, "al r4 r7 ASR r7", "al_r4_r7_ASR_r7"},
772b8021494Sopenharmony_ci    {{al, r8, r8, LSL, r14}, false, al, "al r8 r8 LSL r14", "al_r8_r8_LSL_r14"},
773b8021494Sopenharmony_ci    {{al, r0, r5, LSL, r13}, false, al, "al r0 r5 LSL r13", "al_r0_r5_LSL_r13"},
774b8021494Sopenharmony_ci    {{al, r7, r13, LSL, r14},
775b8021494Sopenharmony_ci     false,
776b8021494Sopenharmony_ci     al,
777b8021494Sopenharmony_ci     "al r7 r13 LSL r14",
778b8021494Sopenharmony_ci     "al_r7_r13_LSL_r14"},
779b8021494Sopenharmony_ci    {{al, r13, r12, LSL, r5},
780b8021494Sopenharmony_ci     false,
781b8021494Sopenharmony_ci     al,
782b8021494Sopenharmony_ci     "al r13 r12 LSL r5",
783b8021494Sopenharmony_ci     "al_r13_r12_LSL_r5"},
784b8021494Sopenharmony_ci    {{al, r7, r2, LSR, r13}, false, al, "al r7 r2 LSR r13", "al_r7_r2_LSR_r13"},
785b8021494Sopenharmony_ci    {{al, r14, r1, LSR, r4}, false, al, "al r14 r1 LSR r4", "al_r14_r1_LSR_r4"},
786b8021494Sopenharmony_ci    {{al, r5, r1, ROR, r2}, false, al, "al r5 r1 ROR r2", "al_r5_r1_ROR_r2"},
787b8021494Sopenharmony_ci    {{al, r10, r6, LSL, r4}, false, al, "al r10 r6 LSL r4", "al_r10_r6_LSL_r4"},
788b8021494Sopenharmony_ci    {{al, r6, r10, ROR, r10},
789b8021494Sopenharmony_ci     false,
790b8021494Sopenharmony_ci     al,
791b8021494Sopenharmony_ci     "al r6 r10 ROR r10",
792b8021494Sopenharmony_ci     "al_r6_r10_ROR_r10"},
793b8021494Sopenharmony_ci    {{al, r5, r12, ROR, r3}, false, al, "al r5 r12 ROR r3", "al_r5_r12_ROR_r3"},
794b8021494Sopenharmony_ci    {{al, r9, r5, ROR, r4}, false, al, "al r9 r5 ROR r4", "al_r9_r5_ROR_r4"},
795b8021494Sopenharmony_ci    {{al, r10, r7, LSR, r11},
796b8021494Sopenharmony_ci     false,
797b8021494Sopenharmony_ci     al,
798b8021494Sopenharmony_ci     "al r10 r7 LSR r11",
799b8021494Sopenharmony_ci     "al_r10_r7_LSR_r11"},
800b8021494Sopenharmony_ci    {{al, r14, r9, LSL, r6}, false, al, "al r14 r9 LSL r6", "al_r14_r9_LSL_r6"},
801b8021494Sopenharmony_ci    {{al, r2, r3, ASR, r9}, false, al, "al r2 r3 ASR r9", "al_r2_r3_ASR_r9"},
802b8021494Sopenharmony_ci    {{al, r1, r14, ROR, r9}, false, al, "al r1 r14 ROR r9", "al_r1_r14_ROR_r9"},
803b8021494Sopenharmony_ci    {{al, r11, r2, LSR, r5}, false, al, "al r11 r2 LSR r5", "al_r11_r2_LSR_r5"},
804b8021494Sopenharmony_ci    {{al, r3, r5, LSR, r2}, false, al, "al r3 r5 LSR r2", "al_r3_r5_LSR_r2"},
805b8021494Sopenharmony_ci    {{al, r6, r5, ASR, r0}, false, al, "al r6 r5 ASR r0", "al_r6_r5_ASR_r0"},
806b8021494Sopenharmony_ci    {{al, r9, r9, LSR, r0}, false, al, "al r9 r9 LSR r0", "al_r9_r9_LSR_r0"},
807b8021494Sopenharmony_ci    {{al, r6, r5, LSR, r7}, false, al, "al r6 r5 LSR r7", "al_r6_r5_LSR_r7"},
808b8021494Sopenharmony_ci    {{al, r5, r2, ROR, r10}, false, al, "al r5 r2 ROR r10", "al_r5_r2_ROR_r10"},
809b8021494Sopenharmony_ci    {{al, r14, r0, ROR, r6}, false, al, "al r14 r0 ROR r6", "al_r14_r0_ROR_r6"},
810b8021494Sopenharmony_ci    {{al, r14, r8, LSR, r12},
811b8021494Sopenharmony_ci     false,
812b8021494Sopenharmony_ci     al,
813b8021494Sopenharmony_ci     "al r14 r8 LSR r12",
814b8021494Sopenharmony_ci     "al_r14_r8_LSR_r12"},
815b8021494Sopenharmony_ci    {{al, r8, r0, LSL, r2}, false, al, "al r8 r0 LSL r2", "al_r8_r0_LSL_r2"},
816b8021494Sopenharmony_ci    {{al, r9, r11, LSL, r3}, false, al, "al r9 r11 LSL r3", "al_r9_r11_LSL_r3"},
817b8021494Sopenharmony_ci    {{al, r6, r2, LSL, r12}, false, al, "al r6 r2 LSL r12", "al_r6_r2_LSL_r12"},
818b8021494Sopenharmony_ci    {{al, r6, r3, LSL, r6}, false, al, "al r6 r3 LSL r6", "al_r6_r3_LSL_r6"},
819b8021494Sopenharmony_ci    {{al, r3, r11, ROR, r7}, false, al, "al r3 r11 ROR r7", "al_r3_r11_ROR_r7"},
820b8021494Sopenharmony_ci    {{al, r10, r1, LSL, r13},
821b8021494Sopenharmony_ci     false,
822b8021494Sopenharmony_ci     al,
823b8021494Sopenharmony_ci     "al r10 r1 LSL r13",
824b8021494Sopenharmony_ci     "al_r10_r1_LSL_r13"},
825b8021494Sopenharmony_ci    {{al, r0, r8, ASR, r3}, false, al, "al r0 r8 ASR r3", "al_r0_r8_ASR_r3"},
826b8021494Sopenharmony_ci    {{al, r8, r9, LSL, r10}, false, al, "al r8 r9 LSL r10", "al_r8_r9_LSL_r10"},
827b8021494Sopenharmony_ci    {{al, r0, r11, ROR, r7}, false, al, "al r0 r11 ROR r7", "al_r0_r11_ROR_r7"},
828b8021494Sopenharmony_ci    {{al, r12, r5, LSL, r13},
829b8021494Sopenharmony_ci     false,
830b8021494Sopenharmony_ci     al,
831b8021494Sopenharmony_ci     "al r12 r5 LSL r13",
832b8021494Sopenharmony_ci     "al_r12_r5_LSL_r13"},
833b8021494Sopenharmony_ci    {{al, r6, r12, LSL, r13},
834b8021494Sopenharmony_ci     false,
835b8021494Sopenharmony_ci     al,
836b8021494Sopenharmony_ci     "al r6 r12 LSL r13",
837b8021494Sopenharmony_ci     "al_r6_r12_LSL_r13"},
838b8021494Sopenharmony_ci    {{al, r5, r0, ROR, r1}, false, al, "al r5 r0 ROR r1", "al_r5_r0_ROR_r1"},
839b8021494Sopenharmony_ci    {{al, r5, r6, ROR, r3}, false, al, "al r5 r6 ROR r3", "al_r5_r6_ROR_r3"},
840b8021494Sopenharmony_ci    {{al, r13, r2, ASR, r12},
841b8021494Sopenharmony_ci     false,
842b8021494Sopenharmony_ci     al,
843b8021494Sopenharmony_ci     "al r13 r2 ASR r12",
844b8021494Sopenharmony_ci     "al_r13_r2_ASR_r12"},
845b8021494Sopenharmony_ci    {{al, r14, r7, ROR, r4}, false, al, "al r14 r7 ROR r4", "al_r14_r7_ROR_r4"},
846b8021494Sopenharmony_ci    {{al, r14, r2, ASR, r9}, false, al, "al r14 r2 ASR r9", "al_r14_r2_ASR_r9"},
847b8021494Sopenharmony_ci    {{al, r11, r12, LSR, r6},
848b8021494Sopenharmony_ci     false,
849b8021494Sopenharmony_ci     al,
850b8021494Sopenharmony_ci     "al r11 r12 LSR r6",
851b8021494Sopenharmony_ci     "al_r11_r12_LSR_r6"},
852b8021494Sopenharmony_ci    {{al, r11, r7, ROR, r5}, false, al, "al r11 r7 ROR r5", "al_r11_r7_ROR_r5"},
853b8021494Sopenharmony_ci    {{al, r5, r6, LSR, r13}, false, al, "al r5 r6 LSR r13", "al_r5_r6_LSR_r13"},
854b8021494Sopenharmony_ci    {{al, r4, r10, ASR, r11},
855b8021494Sopenharmony_ci     false,
856b8021494Sopenharmony_ci     al,
857b8021494Sopenharmony_ci     "al r4 r10 ASR r11",
858b8021494Sopenharmony_ci     "al_r4_r10_ASR_r11"},
859b8021494Sopenharmony_ci    {{al, r8, r9, ROR, r2}, false, al, "al r8 r9 ROR r2", "al_r8_r9_ROR_r2"},
860b8021494Sopenharmony_ci    {{al, r7, r2, LSL, r7}, false, al, "al r7 r2 LSL r7", "al_r7_r2_LSL_r7"},
861b8021494Sopenharmony_ci    {{al, r6, r0, LSR, r1}, false, al, "al r6 r0 LSR r1", "al_r6_r0_LSR_r1"},
862b8021494Sopenharmony_ci    {{al, r0, r3, ASR, r4}, false, al, "al r0 r3 ASR r4", "al_r0_r3_ASR_r4"},
863b8021494Sopenharmony_ci    {{al, r2, r3, ASR, r12}, false, al, "al r2 r3 ASR r12", "al_r2_r3_ASR_r12"},
864b8021494Sopenharmony_ci    {{al, r11, r6, LSL, r5}, false, al, "al r11 r6 LSL r5", "al_r11_r6_LSL_r5"},
865b8021494Sopenharmony_ci    {{al, r9, r7, LSL, r11}, false, al, "al r9 r7 LSL r11", "al_r9_r7_LSL_r11"},
866b8021494Sopenharmony_ci    {{al, r2, r1, LSR, r13}, false, al, "al r2 r1 LSR r13", "al_r2_r1_LSR_r13"},
867b8021494Sopenharmony_ci    {{al, r3, r8, ROR, r2}, false, al, "al r3 r8 ROR r2", "al_r3_r8_ROR_r2"},
868b8021494Sopenharmony_ci    {{al, r0, r6, LSR, r5}, false, al, "al r0 r6 LSR r5", "al_r0_r6_LSR_r5"},
869b8021494Sopenharmony_ci    {{al, r6, r8, ASR, r4}, false, al, "al r6 r8 ASR r4", "al_r6_r8_ASR_r4"},
870b8021494Sopenharmony_ci    {{al, r12, r3, LSL, r3}, false, al, "al r12 r3 LSL r3", "al_r12_r3_LSL_r3"},
871b8021494Sopenharmony_ci    {{al, r2, r7, ASR, r5}, false, al, "al r2 r7 ASR r5", "al_r2_r7_ASR_r5"},
872b8021494Sopenharmony_ci    {{al, r14, r10, LSL, r6},
873b8021494Sopenharmony_ci     false,
874b8021494Sopenharmony_ci     al,
875b8021494Sopenharmony_ci     "al r14 r10 LSL r6",
876b8021494Sopenharmony_ci     "al_r14_r10_LSL_r6"},
877b8021494Sopenharmony_ci    {{al, r1, r3, LSR, r6}, false, al, "al r1 r3 LSR r6", "al_r1_r3_LSR_r6"},
878b8021494Sopenharmony_ci    {{al, r8, r8, ROR, r14}, false, al, "al r8 r8 ROR r14", "al_r8_r8_ROR_r14"},
879b8021494Sopenharmony_ci    {{al, r7, r6, LSL, r0}, false, al, "al r7 r6 LSL r0", "al_r7_r6_LSL_r0"},
880b8021494Sopenharmony_ci    {{al, r11, r6, LSR, r14},
881b8021494Sopenharmony_ci     false,
882b8021494Sopenharmony_ci     al,
883b8021494Sopenharmony_ci     "al r11 r6 LSR r14",
884b8021494Sopenharmony_ci     "al_r11_r6_LSR_r14"},
885b8021494Sopenharmony_ci    {{al, r8, r3, ROR, r3}, false, al, "al r8 r3 ROR r3", "al_r8_r3_ROR_r3"},
886b8021494Sopenharmony_ci    {{al, r6, r0, LSR, r7}, false, al, "al r6 r0 LSR r7", "al_r6_r0_LSR_r7"},
887b8021494Sopenharmony_ci    {{al, r2, r2, ASR, r0}, false, al, "al r2 r2 ASR r0", "al_r2_r2_ASR_r0"},
888b8021494Sopenharmony_ci    {{al, r14, r8, LSL, r2}, false, al, "al r14 r8 LSL r2", "al_r14_r8_LSL_r2"},
889b8021494Sopenharmony_ci    {{al, r14, r8, LSR, r1}, false, al, "al r14 r8 LSR r1", "al_r14_r8_LSR_r1"},
890b8021494Sopenharmony_ci    {{al, r10, r2, ROR, r11},
891b8021494Sopenharmony_ci     false,
892b8021494Sopenharmony_ci     al,
893b8021494Sopenharmony_ci     "al r10 r2 ROR r11",
894b8021494Sopenharmony_ci     "al_r10_r2_ROR_r11"},
895b8021494Sopenharmony_ci    {{al, r9, r9, ASR, r6}, false, al, "al r9 r9 ASR r6", "al_r9_r9_ASR_r6"},
896b8021494Sopenharmony_ci    {{al, r8, r13, LSL, r10},
897b8021494Sopenharmony_ci     false,
898b8021494Sopenharmony_ci     al,
899b8021494Sopenharmony_ci     "al r8 r13 LSL r10",
900b8021494Sopenharmony_ci     "al_r8_r13_LSL_r10"},
901b8021494Sopenharmony_ci    {{al, r14, r11, ROR, r3},
902b8021494Sopenharmony_ci     false,
903b8021494Sopenharmony_ci     al,
904b8021494Sopenharmony_ci     "al r14 r11 ROR r3",
905b8021494Sopenharmony_ci     "al_r14_r11_ROR_r3"},
906b8021494Sopenharmony_ci    {{al, r4, r6, ROR, r10}, false, al, "al r4 r6 ROR r10", "al_r4_r6_ROR_r10"},
907b8021494Sopenharmony_ci    {{al, r7, r1, LSR, r4}, false, al, "al r7 r1 LSR r4", "al_r7_r1_LSR_r4"},
908b8021494Sopenharmony_ci    {{al, r12, r8, ROR, r10},
909b8021494Sopenharmony_ci     false,
910b8021494Sopenharmony_ci     al,
911b8021494Sopenharmony_ci     "al r12 r8 ROR r10",
912b8021494Sopenharmony_ci     "al_r12_r8_ROR_r10"},
913b8021494Sopenharmony_ci    {{al, r3, r8, LSL, r12}, false, al, "al r3 r8 LSL r12", "al_r3_r8_LSL_r12"},
914b8021494Sopenharmony_ci    {{al, r1, r1, LSR, r8}, false, al, "al r1 r1 LSR r8", "al_r1_r1_LSR_r8"},
915b8021494Sopenharmony_ci    {{al, r0, r11, ASR, r0}, false, al, "al r0 r11 ASR r0", "al_r0_r11_ASR_r0"},
916b8021494Sopenharmony_ci    {{al, r7, r6, ROR, r7}, false, al, "al r7 r6 ROR r7", "al_r7_r6_ROR_r7"},
917b8021494Sopenharmony_ci    {{al, r8, r7, LSL, r2}, false, al, "al r8 r7 LSL r2", "al_r8_r7_LSL_r2"},
918b8021494Sopenharmony_ci    {{al, r7, r1, ASR, r6}, false, al, "al r7 r1 ASR r6", "al_r7_r1_ASR_r6"},
919b8021494Sopenharmony_ci    {{al, r5, r7, ROR, r12}, false, al, "al r5 r7 ROR r12", "al_r5_r7_ROR_r12"},
920b8021494Sopenharmony_ci    {{al, r10, r13, LSR, r9},
921b8021494Sopenharmony_ci     false,
922b8021494Sopenharmony_ci     al,
923b8021494Sopenharmony_ci     "al r10 r13 LSR r9",
924b8021494Sopenharmony_ci     "al_r10_r13_LSR_r9"},
925b8021494Sopenharmony_ci    {{al, r11, r4, ROR, r6}, false, al, "al r11 r4 ROR r6", "al_r11_r4_ROR_r6"},
926b8021494Sopenharmony_ci    {{al, r6, r11, LSR, r4}, false, al, "al r6 r11 LSR r4", "al_r6_r11_LSR_r4"},
927b8021494Sopenharmony_ci    {{al, r7, r2, ASR, r6}, false, al, "al r7 r2 ASR r6", "al_r7_r2_ASR_r6"},
928b8021494Sopenharmony_ci    {{al, r3, r13, ROR, r9}, false, al, "al r3 r13 ROR r9", "al_r3_r13_ROR_r9"},
929b8021494Sopenharmony_ci    {{al, r0, r1, ASR, r4}, false, al, "al r0 r1 ASR r4", "al_r0_r1_ASR_r4"},
930b8021494Sopenharmony_ci    {{al, r6, r12, LSR, r9}, false, al, "al r6 r12 LSR r9", "al_r6_r12_LSR_r9"},
931b8021494Sopenharmony_ci    {{al, r1, r9, ROR, r9}, false, al, "al r1 r9 ROR r9", "al_r1_r9_ROR_r9"},
932b8021494Sopenharmony_ci    {{al, r9, r0, ROR, r12}, false, al, "al r9 r0 ROR r12", "al_r9_r0_ROR_r12"},
933b8021494Sopenharmony_ci    {{al, r14, r9, ROR, r8}, false, al, "al r14 r9 ROR r8", "al_r14_r9_ROR_r8"},
934b8021494Sopenharmony_ci    {{al, r13, r6, LSL, r4}, false, al, "al r13 r6 LSL r4", "al_r13_r6_LSL_r4"},
935b8021494Sopenharmony_ci    {{al, r2, r5, ROR, r2}, false, al, "al r2 r5 ROR r2", "al_r2_r5_ROR_r2"},
936b8021494Sopenharmony_ci    {{al, r3, r4, LSR, r6}, false, al, "al r3 r4 LSR r6", "al_r3_r4_LSR_r6"},
937b8021494Sopenharmony_ci    {{al, r0, r14, ROR, r2}, false, al, "al r0 r14 ROR r2", "al_r0_r14_ROR_r2"},
938b8021494Sopenharmony_ci    {{al, r8, r13, ASR, r9}, false, al, "al r8 r13 ASR r9", "al_r8_r13_ASR_r9"},
939b8021494Sopenharmony_ci    {{al, r1, r11, ROR, r4}, false, al, "al r1 r11 ROR r4", "al_r1_r11_ROR_r4"},
940b8021494Sopenharmony_ci    {{al, r1, r12, LSL, r2}, false, al, "al r1 r12 LSL r2", "al_r1_r12_LSL_r2"},
941b8021494Sopenharmony_ci    {{al, r12, r9, ROR, r7}, false, al, "al r12 r9 ROR r7", "al_r12_r9_ROR_r7"},
942b8021494Sopenharmony_ci    {{al, r1, r13, ROR, r3}, false, al, "al r1 r13 ROR r3", "al_r1_r13_ROR_r3"},
943b8021494Sopenharmony_ci    {{al, r0, r14, ASR, r8}, false, al, "al r0 r14 ASR r8", "al_r0_r14_ASR_r8"},
944b8021494Sopenharmony_ci    {{al, r13, r13, ASR, r13},
945b8021494Sopenharmony_ci     false,
946b8021494Sopenharmony_ci     al,
947b8021494Sopenharmony_ci     "al r13 r13 ASR r13",
948b8021494Sopenharmony_ci     "al_r13_r13_ASR_r13"},
949b8021494Sopenharmony_ci    {{al, r3, r4, ASR, r1}, false, al, "al r3 r4 ASR r1", "al_r3_r4_ASR_r1"},
950b8021494Sopenharmony_ci    {{al, r6, r0, ASR, r10}, false, al, "al r6 r0 ASR r10", "al_r6_r0_ASR_r10"},
951b8021494Sopenharmony_ci    {{al, r12, r8, ROR, r4}, false, al, "al r12 r8 ROR r4", "al_r12_r8_ROR_r4"},
952b8021494Sopenharmony_ci    {{al, r1, r12, ASR, r10},
953b8021494Sopenharmony_ci     false,
954b8021494Sopenharmony_ci     al,
955b8021494Sopenharmony_ci     "al r1 r12 ASR r10",
956b8021494Sopenharmony_ci     "al_r1_r12_ASR_r10"},
957b8021494Sopenharmony_ci    {{al, r8, r11, ROR, r8}, false, al, "al r8 r11 ROR r8", "al_r8_r11_ROR_r8"},
958b8021494Sopenharmony_ci    {{al, r3, r3, LSL, r13}, false, al, "al r3 r3 LSL r13", "al_r3_r3_LSL_r13"},
959b8021494Sopenharmony_ci    {{al, r6, r6, ASR, r1}, false, al, "al r6 r6 ASR r1", "al_r6_r6_ASR_r1"},
960b8021494Sopenharmony_ci    {{al, r4, r10, LSR, r12},
961b8021494Sopenharmony_ci     false,
962b8021494Sopenharmony_ci     al,
963b8021494Sopenharmony_ci     "al r4 r10 LSR r12",
964b8021494Sopenharmony_ci     "al_r4_r10_LSR_r12"},
965b8021494Sopenharmony_ci    {{al, r7, r0, ASR, r11}, false, al, "al r7 r0 ASR r11", "al_r7_r0_ASR_r11"},
966b8021494Sopenharmony_ci    {{al, r10, r11, LSR, r7},
967b8021494Sopenharmony_ci     false,
968b8021494Sopenharmony_ci     al,
969b8021494Sopenharmony_ci     "al r10 r11 LSR r7",
970b8021494Sopenharmony_ci     "al_r10_r11_LSR_r7"},
971b8021494Sopenharmony_ci    {{al, r14, r3, ROR, r0}, false, al, "al r14 r3 ROR r0", "al_r14_r3_ROR_r0"},
972b8021494Sopenharmony_ci    {{al, r8, r1, ASR, r2}, false, al, "al r8 r1 ASR r2", "al_r8_r1_ASR_r2"},
973b8021494Sopenharmony_ci    {{al, r14, r3, ASR, r13},
974b8021494Sopenharmony_ci     false,
975b8021494Sopenharmony_ci     al,
976b8021494Sopenharmony_ci     "al r14 r3 ASR r13",
977b8021494Sopenharmony_ci     "al_r14_r3_ASR_r13"},
978b8021494Sopenharmony_ci    {{al, r9, r1, ROR, r10}, false, al, "al r9 r1 ROR r10", "al_r9_r1_ROR_r10"},
979b8021494Sopenharmony_ci    {{al, r1, r9, LSL, r1}, false, al, "al r1 r9 LSL r1", "al_r1_r9_LSL_r1"},
980b8021494Sopenharmony_ci    {{al, r14, r2, ROR, r6}, false, al, "al r14 r2 ROR r6", "al_r14_r2_ROR_r6"},
981b8021494Sopenharmony_ci    {{al, r8, r6, ASR, r5}, false, al, "al r8 r6 ASR r5", "al_r8_r6_ASR_r5"},
982b8021494Sopenharmony_ci    {{al, r13, r10, ROR, r9},
983b8021494Sopenharmony_ci     false,
984b8021494Sopenharmony_ci     al,
985b8021494Sopenharmony_ci     "al r13 r10 ROR r9",
986b8021494Sopenharmony_ci     "al_r13_r10_ROR_r9"},
987b8021494Sopenharmony_ci    {{al, r6, r10, ASR, r4}, false, al, "al r6 r10 ASR r4", "al_r6_r10_ASR_r4"},
988b8021494Sopenharmony_ci    {{al, r7, r14, ASR, r11},
989b8021494Sopenharmony_ci     false,
990b8021494Sopenharmony_ci     al,
991b8021494Sopenharmony_ci     "al r7 r14 ASR r11",
992b8021494Sopenharmony_ci     "al_r7_r14_ASR_r11"},
993b8021494Sopenharmony_ci    {{al, r4, r8, LSL, r7}, false, al, "al r4 r8 LSL r7", "al_r4_r8_LSL_r7"},
994b8021494Sopenharmony_ci    {{al, r10, r6, ASR, r12},
995b8021494Sopenharmony_ci     false,
996b8021494Sopenharmony_ci     al,
997b8021494Sopenharmony_ci     "al r10 r6 ASR r12",
998b8021494Sopenharmony_ci     "al_r10_r6_ASR_r12"},
999b8021494Sopenharmony_ci    {{al, r12, r6, ASR, r0}, false, al, "al r12 r6 ASR r0", "al_r12_r6_ASR_r0"},
1000b8021494Sopenharmony_ci    {{al, r3, r5, LSR, r4}, false, al, "al r3 r5 LSR r4", "al_r3_r5_LSR_r4"},
1001b8021494Sopenharmony_ci    {{al, r5, r11, ASR, r11},
1002b8021494Sopenharmony_ci     false,
1003b8021494Sopenharmony_ci     al,
1004b8021494Sopenharmony_ci     "al r5 r11 ASR r11",
1005b8021494Sopenharmony_ci     "al_r5_r11_ASR_r11"},
1006b8021494Sopenharmony_ci    {{al, r8, r7, LSL, r9}, false, al, "al r8 r7 LSL r9", "al_r8_r7_LSL_r9"},
1007b8021494Sopenharmony_ci    {{al, r13, r8, LSR, r10},
1008b8021494Sopenharmony_ci     false,
1009b8021494Sopenharmony_ci     al,
1010b8021494Sopenharmony_ci     "al r13 r8 LSR r10",
1011b8021494Sopenharmony_ci     "al_r13_r8_LSR_r10"},
1012b8021494Sopenharmony_ci    {{al, r13, r1, ROR, r7}, false, al, "al r13 r1 ROR r7", "al_r13_r1_ROR_r7"},
1013b8021494Sopenharmony_ci    {{al, r11, r6, LSL, r11},
1014b8021494Sopenharmony_ci     false,
1015b8021494Sopenharmony_ci     al,
1016b8021494Sopenharmony_ci     "al r11 r6 LSL r11",
1017b8021494Sopenharmony_ci     "al_r11_r6_LSL_r11"},
1018b8021494Sopenharmony_ci    {{al, r8, r4, ROR, r9}, false, al, "al r8 r4 ROR r9", "al_r8_r4_ROR_r9"},
1019b8021494Sopenharmony_ci    {{al, r6, r12, LSL, r0}, false, al, "al r6 r12 LSL r0", "al_r6_r12_LSL_r0"},
1020b8021494Sopenharmony_ci    {{al, r7, r4, LSR, r6}, false, al, "al r7 r4 LSR r6", "al_r7_r4_LSR_r6"},
1021b8021494Sopenharmony_ci    {{al, r3, r7, ROR, r8}, false, al, "al r3 r7 ROR r8", "al_r3_r7_ROR_r8"},
1022b8021494Sopenharmony_ci    {{al, r0, r10, ASR, r11},
1023b8021494Sopenharmony_ci     false,
1024b8021494Sopenharmony_ci     al,
1025b8021494Sopenharmony_ci     "al r0 r10 ASR r11",
1026b8021494Sopenharmony_ci     "al_r0_r10_ASR_r11"},
1027b8021494Sopenharmony_ci    {{al, r2, r8, ASR, r9}, false, al, "al r2 r8 ASR r9", "al_r2_r8_ASR_r9"},
1028b8021494Sopenharmony_ci    {{al, r10, r3, ASR, r9}, false, al, "al r10 r3 ASR r9", "al_r10_r3_ASR_r9"},
1029b8021494Sopenharmony_ci    {{al, r7, r5, ROR, r13}, false, al, "al r7 r5 ROR r13", "al_r7_r5_ROR_r13"},
1030b8021494Sopenharmony_ci    {{al, r11, r4, LSR, r11},
1031b8021494Sopenharmony_ci     false,
1032b8021494Sopenharmony_ci     al,
1033b8021494Sopenharmony_ci     "al r11 r4 LSR r11",
1034b8021494Sopenharmony_ci     "al_r11_r4_LSR_r11"},
1035b8021494Sopenharmony_ci    {{al, r1, r9, ASR, r13}, false, al, "al r1 r9 ASR r13", "al_r1_r9_ASR_r13"},
1036b8021494Sopenharmony_ci    {{al, r5, r9, LSL, r10}, false, al, "al r5 r9 LSL r10", "al_r5_r9_LSL_r10"},
1037b8021494Sopenharmony_ci    {{al, r3, r12, LSL, r5}, false, al, "al r3 r12 LSL r5", "al_r3_r12_LSL_r5"},
1038b8021494Sopenharmony_ci    {{al, r8, r2, LSR, r0}, false, al, "al r8 r2 LSR r0", "al_r8_r2_LSR_r0"},
1039b8021494Sopenharmony_ci    {{al, r2, r2, LSL, r7}, false, al, "al r2 r2 LSL r7", "al_r2_r2_LSL_r7"},
1040b8021494Sopenharmony_ci    {{al, r8, r11, LSL, r3}, false, al, "al r8 r11 LSL r3", "al_r8_r11_LSL_r3"},
1041b8021494Sopenharmony_ci    {{al, r0, r13, ASR, r13},
1042b8021494Sopenharmony_ci     false,
1043b8021494Sopenharmony_ci     al,
1044b8021494Sopenharmony_ci     "al r0 r13 ASR r13",
1045b8021494Sopenharmony_ci     "al_r0_r13_ASR_r13"},
1046b8021494Sopenharmony_ci    {{al, r14, r6, LSR, r2}, false, al, "al r14 r6 LSR r2", "al_r14_r6_LSR_r2"},
1047b8021494Sopenharmony_ci    {{al, r3, r5, ROR, r9}, false, al, "al r3 r5 ROR r9", "al_r3_r5_ROR_r9"},
1048b8021494Sopenharmony_ci    {{al, r13, r12, LSR, r10},
1049b8021494Sopenharmony_ci     false,
1050b8021494Sopenharmony_ci     al,
1051b8021494Sopenharmony_ci     "al r13 r12 LSR r10",
1052b8021494Sopenharmony_ci     "al_r13_r12_LSR_r10"},
1053b8021494Sopenharmony_ci    {{al, r1, r3, LSL, r10}, false, al, "al r1 r3 LSL r10", "al_r1_r3_LSL_r10"},
1054b8021494Sopenharmony_ci    {{al, r2, r7, LSL, r7}, false, al, "al r2 r7 LSL r7", "al_r2_r7_LSL_r7"},
1055b8021494Sopenharmony_ci    {{al, r10, r13, LSL, r10},
1056b8021494Sopenharmony_ci     false,
1057b8021494Sopenharmony_ci     al,
1058b8021494Sopenharmony_ci     "al r10 r13 LSL r10",
1059b8021494Sopenharmony_ci     "al_r10_r13_LSL_r10"},
1060b8021494Sopenharmony_ci    {{al, r2, r2, ROR, r1}, false, al, "al r2 r2 ROR r1", "al_r2_r2_ROR_r1"},
1061b8021494Sopenharmony_ci    {{al, r6, r3, ROR, r1}, false, al, "al r6 r3 ROR r1", "al_r6_r3_ROR_r1"},
1062b8021494Sopenharmony_ci    {{al, r12, r1, LSL, r4}, false, al, "al r12 r1 LSL r4", "al_r12_r1_LSL_r4"},
1063b8021494Sopenharmony_ci    {{al, r3, r13, LSR, r3}, false, al, "al r3 r13 LSR r3", "al_r3_r13_LSR_r3"},
1064b8021494Sopenharmony_ci    {{al, r10, r10, ROR, r10},
1065b8021494Sopenharmony_ci     false,
1066b8021494Sopenharmony_ci     al,
1067b8021494Sopenharmony_ci     "al r10 r10 ROR r10",
1068b8021494Sopenharmony_ci     "al_r10_r10_ROR_r10"},
1069b8021494Sopenharmony_ci    {{al, r0, r11, LSL, r5}, false, al, "al r0 r11 LSL r5", "al_r0_r11_LSL_r5"},
1070b8021494Sopenharmony_ci    {{al, r4, r9, ASR, r10}, false, al, "al r4 r9 ASR r10", "al_r4_r9_ASR_r10"},
1071b8021494Sopenharmony_ci    {{al, r2, r3, ASR, r5}, false, al, "al r2 r3 ASR r5", "al_r2_r3_ASR_r5"},
1072b8021494Sopenharmony_ci    {{al, r1, r1, LSR, r0}, false, al, "al r1 r1 LSR r0", "al_r1_r1_LSR_r0"},
1073b8021494Sopenharmony_ci    {{al, r8, r9, LSL, r4}, false, al, "al r8 r9 LSL r4", "al_r8_r9_LSL_r4"},
1074b8021494Sopenharmony_ci    {{al, r4, r13, ROR, r6}, false, al, "al r4 r13 ROR r6", "al_r4_r13_ROR_r6"},
1075b8021494Sopenharmony_ci    {{al, r3, r10, LSL, r8}, false, al, "al r3 r10 LSL r8", "al_r3_r10_LSL_r8"},
1076b8021494Sopenharmony_ci    {{al, r10, r11, LSL, r11},
1077b8021494Sopenharmony_ci     false,
1078b8021494Sopenharmony_ci     al,
1079b8021494Sopenharmony_ci     "al r10 r11 LSL r11",
1080b8021494Sopenharmony_ci     "al_r10_r11_LSL_r11"},
1081b8021494Sopenharmony_ci    {{al, r9, r2, ASR, r1}, false, al, "al r9 r2 ASR r1", "al_r9_r2_ASR_r1"},
1082b8021494Sopenharmony_ci    {{al, r9, r4, ROR, r6}, false, al, "al r9 r4 ROR r6", "al_r9_r4_ROR_r6"},
1083b8021494Sopenharmony_ci    {{al, r11, r2, ROR, r5}, false, al, "al r11 r2 ROR r5", "al_r11_r2_ROR_r5"},
1084b8021494Sopenharmony_ci    {{al, r13, r13, LSL, r13},
1085b8021494Sopenharmony_ci     false,
1086b8021494Sopenharmony_ci     al,
1087b8021494Sopenharmony_ci     "al r13 r13 LSL r13",
1088b8021494Sopenharmony_ci     "al_r13_r13_LSL_r13"},
1089b8021494Sopenharmony_ci    {{al, r12, r7, LSL, r7}, false, al, "al r12 r7 LSL r7", "al_r12_r7_LSL_r7"},
1090b8021494Sopenharmony_ci    {{al, r6, r1, LSL, r8}, false, al, "al r6 r1 LSL r8", "al_r6_r1_LSL_r8"},
1091b8021494Sopenharmony_ci    {{al, r14, r5, ASR, r3}, false, al, "al r14 r5 ASR r3", "al_r14_r5_ASR_r3"},
1092b8021494Sopenharmony_ci    {{al, r10, r2, ROR, r6}, false, al, "al r10 r2 ROR r6", "al_r10_r2_ROR_r6"},
1093b8021494Sopenharmony_ci    {{al, r9, r3, ASR, r3}, false, al, "al r9 r3 ASR r3", "al_r9_r3_ASR_r3"},
1094b8021494Sopenharmony_ci    {{al, r11, r11, LSL, r11},
1095b8021494Sopenharmony_ci     false,
1096b8021494Sopenharmony_ci     al,
1097b8021494Sopenharmony_ci     "al r11 r11 LSL r11",
1098b8021494Sopenharmony_ci     "al_r11_r11_LSL_r11"},
1099b8021494Sopenharmony_ci    {{al, r0, r10, ASR, r14},
1100b8021494Sopenharmony_ci     false,
1101b8021494Sopenharmony_ci     al,
1102b8021494Sopenharmony_ci     "al r0 r10 ASR r14",
1103b8021494Sopenharmony_ci     "al_r0_r10_ASR_r14"},
1104b8021494Sopenharmony_ci    {{al, r5, r6, ROR, r1}, false, al, "al r5 r6 ROR r1", "al_r5_r6_ROR_r1"},
1105b8021494Sopenharmony_ci    {{al, r11, r8, ASR, r9}, false, al, "al r11 r8 ASR r9", "al_r11_r8_ASR_r9"},
1106b8021494Sopenharmony_ci    {{al, r11, r7, ROR, r6}, false, al, "al r11 r7 ROR r6", "al_r11_r7_ROR_r6"},
1107b8021494Sopenharmony_ci    {{al, r2, r12, ASR, r10},
1108b8021494Sopenharmony_ci     false,
1109b8021494Sopenharmony_ci     al,
1110b8021494Sopenharmony_ci     "al r2 r12 ASR r10",
1111b8021494Sopenharmony_ci     "al_r2_r12_ASR_r10"},
1112b8021494Sopenharmony_ci    {{al, r12, r1, ASR, r12},
1113b8021494Sopenharmony_ci     false,
1114b8021494Sopenharmony_ci     al,
1115b8021494Sopenharmony_ci     "al r12 r1 ASR r12",
1116b8021494Sopenharmony_ci     "al_r12_r1_ASR_r12"},
1117b8021494Sopenharmony_ci    {{al, r8, r11, LSR, r6}, false, al, "al r8 r11 LSR r6", "al_r8_r11_LSR_r6"},
1118b8021494Sopenharmony_ci    {{al, r12, r14, LSR, r13},
1119b8021494Sopenharmony_ci     false,
1120b8021494Sopenharmony_ci     al,
1121b8021494Sopenharmony_ci     "al r12 r14 LSR r13",
1122b8021494Sopenharmony_ci     "al_r12_r14_LSR_r13"},
1123b8021494Sopenharmony_ci    {{al, r0, r2, ASR, r6}, false, al, "al r0 r2 ASR r6", "al_r0_r2_ASR_r6"},
1124b8021494Sopenharmony_ci    {{al, r1, r7, ASR, r4}, false, al, "al r1 r7 ASR r4", "al_r1_r7_ASR_r4"},
1125b8021494Sopenharmony_ci    {{al, r6, r8, LSR, r8}, false, al, "al r6 r8 LSR r8", "al_r6_r8_LSR_r8"},
1126b8021494Sopenharmony_ci    {{al, r2, r8, LSL, r3}, false, al, "al r2 r8 LSL r3", "al_r2_r8_LSL_r3"},
1127b8021494Sopenharmony_ci    {{al, r2, r7, LSR, r0}, false, al, "al r2 r7 LSR r0", "al_r2_r7_LSR_r0"},
1128b8021494Sopenharmony_ci    {{al, r2, r9, ASR, r4}, false, al, "al r2 r9 ASR r4", "al_r2_r9_ASR_r4"},
1129b8021494Sopenharmony_ci    {{al, r9, r9, ASR, r7}, false, al, "al r9 r9 ASR r7", "al_r9_r9_ASR_r7"},
1130b8021494Sopenharmony_ci    {{al, r12, r9, LSR, r8}, false, al, "al r12 r9 LSR r8", "al_r12_r9_LSR_r8"},
1131b8021494Sopenharmony_ci    {{al, r6, r2, LSL, r10}, false, al, "al r6 r2 LSL r10", "al_r6_r2_LSL_r10"},
1132b8021494Sopenharmony_ci    {{al, r0, r11, LSL, r11},
1133b8021494Sopenharmony_ci     false,
1134b8021494Sopenharmony_ci     al,
1135b8021494Sopenharmony_ci     "al r0 r11 LSL r11",
1136b8021494Sopenharmony_ci     "al_r0_r11_LSL_r11"},
1137b8021494Sopenharmony_ci    {{al, r5, r5, LSL, r14}, false, al, "al r5 r5 LSL r14", "al_r5_r5_LSL_r14"},
1138b8021494Sopenharmony_ci    {{al, r11, r14, ASR, r14},
1139b8021494Sopenharmony_ci     false,
1140b8021494Sopenharmony_ci     al,
1141b8021494Sopenharmony_ci     "al r11 r14 ASR r14",
1142b8021494Sopenharmony_ci     "al_r11_r14_ASR_r14"},
1143b8021494Sopenharmony_ci    {{al, r1, r14, ASR, r2}, false, al, "al r1 r14 ASR r2", "al_r1_r14_ASR_r2"},
1144b8021494Sopenharmony_ci    {{al, r4, r5, LSL, r0}, false, al, "al r4 r5 LSL r0", "al_r4_r5_LSL_r0"},
1145b8021494Sopenharmony_ci    {{al, r12, r5, ROR, r6}, false, al, "al r12 r5 ROR r6", "al_r12_r5_ROR_r6"},
1146b8021494Sopenharmony_ci    {{al, r4, r11, LSR, r4}, false, al, "al r4 r11 LSR r4", "al_r4_r11_LSR_r4"},
1147b8021494Sopenharmony_ci    {{al, r8, r13, LSL, r7}, false, al, "al r8 r13 LSL r7", "al_r8_r13_LSL_r7"},
1148b8021494Sopenharmony_ci    {{al, r2, r14, LSL, r7}, false, al, "al r2 r14 LSL r7", "al_r2_r14_LSL_r7"},
1149b8021494Sopenharmony_ci    {{al, r11, r9, ROR, r8}, false, al, "al r11 r9 ROR r8", "al_r11_r9_ROR_r8"},
1150b8021494Sopenharmony_ci    {{al, r8, r8, LSL, r2}, false, al, "al r8 r8 LSL r2", "al_r8_r8_LSL_r2"},
1151b8021494Sopenharmony_ci    {{al, r9, r10, LSR, r11},
1152b8021494Sopenharmony_ci     false,
1153b8021494Sopenharmony_ci     al,
1154b8021494Sopenharmony_ci     "al r9 r10 LSR r11",
1155b8021494Sopenharmony_ci     "al_r9_r10_LSR_r11"},
1156b8021494Sopenharmony_ci    {{al, r13, r7, LSL, r5}, false, al, "al r13 r7 LSL r5", "al_r13_r7_LSL_r5"},
1157b8021494Sopenharmony_ci    {{al, r11, r0, ROR, r13},
1158b8021494Sopenharmony_ci     false,
1159b8021494Sopenharmony_ci     al,
1160b8021494Sopenharmony_ci     "al r11 r0 ROR r13",
1161b8021494Sopenharmony_ci     "al_r11_r0_ROR_r13"},
1162b8021494Sopenharmony_ci    {{al, r13, r8, ASR, r1}, false, al, "al r13 r8 ASR r1", "al_r13_r8_ASR_r1"},
1163b8021494Sopenharmony_ci    {{al, r5, r9, ROR, r2}, false, al, "al r5 r9 ROR r2", "al_r5_r9_ROR_r2"},
1164b8021494Sopenharmony_ci    {{al, r9, r10, ROR, r5}, false, al, "al r9 r10 ROR r5", "al_r9_r10_ROR_r5"},
1165b8021494Sopenharmony_ci    {{al, r9, r2, LSL, r2}, false, al, "al r9 r2 LSL r2", "al_r9_r2_LSL_r2"},
1166b8021494Sopenharmony_ci    {{al, r1, r2, LSL, r4}, false, al, "al r1 r2 LSL r4", "al_r1_r2_LSL_r4"},
1167b8021494Sopenharmony_ci    {{al, r14, r5, LSL, r6}, false, al, "al r14 r5 LSL r6", "al_r14_r5_LSL_r6"},
1168b8021494Sopenharmony_ci    {{al, r7, r13, LSR, r1}, false, al, "al r7 r13 LSR r1", "al_r7_r13_LSR_r1"},
1169b8021494Sopenharmony_ci    {{al, r8, r2, ROR, r8}, false, al, "al r8 r2 ROR r8", "al_r8_r2_ROR_r8"},
1170b8021494Sopenharmony_ci    {{al, r11, r14, LSL, r10},
1171b8021494Sopenharmony_ci     false,
1172b8021494Sopenharmony_ci     al,
1173b8021494Sopenharmony_ci     "al r11 r14 LSL r10",
1174b8021494Sopenharmony_ci     "al_r11_r14_LSL_r10"},
1175b8021494Sopenharmony_ci    {{al, r8, r3, LSR, r1}, false, al, "al r8 r3 LSR r1", "al_r8_r3_LSR_r1"},
1176b8021494Sopenharmony_ci    {{al, r4, r14, ROR, r5}, false, al, "al r4 r14 ROR r5", "al_r4_r14_ROR_r5"},
1177b8021494Sopenharmony_ci    {{al, r6, r14, LSL, r0}, false, al, "al r6 r14 LSL r0", "al_r6_r14_LSL_r0"},
1178b8021494Sopenharmony_ci    {{al, r9, r12, ASR, r2}, false, al, "al r9 r12 ASR r2", "al_r9_r12_ASR_r2"},
1179b8021494Sopenharmony_ci    {{al, r3, r10, ROR, r6}, false, al, "al r3 r10 ROR r6", "al_r3_r10_ROR_r6"},
1180b8021494Sopenharmony_ci    {{al, r13, r6, ROR, r13},
1181b8021494Sopenharmony_ci     false,
1182b8021494Sopenharmony_ci     al,
1183b8021494Sopenharmony_ci     "al r13 r6 ROR r13",
1184b8021494Sopenharmony_ci     "al_r13_r6_ROR_r13"},
1185b8021494Sopenharmony_ci    {{al, r2, r6, ROR, r0}, false, al, "al r2 r6 ROR r0", "al_r2_r6_ROR_r0"},
1186b8021494Sopenharmony_ci    {{al, r0, r2, LSR, r13}, false, al, "al r0 r2 LSR r13", "al_r0_r2_LSR_r13"},
1187b8021494Sopenharmony_ci    {{al, r2, r8, ROR, r7}, false, al, "al r2 r8 ROR r7", "al_r2_r8_ROR_r7"},
1188b8021494Sopenharmony_ci    {{al, r0, r12, ROR, r7}, false, al, "al r0 r12 ROR r7", "al_r0_r12_ROR_r7"},
1189b8021494Sopenharmony_ci    {{al, r7, r12, ASR, r12},
1190b8021494Sopenharmony_ci     false,
1191b8021494Sopenharmony_ci     al,
1192b8021494Sopenharmony_ci     "al r7 r12 ASR r12",
1193b8021494Sopenharmony_ci     "al_r7_r12_ASR_r12"},
1194b8021494Sopenharmony_ci    {{al, r7, r8, ASR, r14}, false, al, "al r7 r8 ASR r14", "al_r7_r8_ASR_r14"},
1195b8021494Sopenharmony_ci    {{al, r6, r8, LSL, r10}, false, al, "al r6 r8 LSL r10", "al_r6_r8_LSL_r10"},
1196b8021494Sopenharmony_ci    {{al, r4, r3, LSL, r10}, false, al, "al r4 r3 LSL r10", "al_r4_r3_LSL_r10"},
1197b8021494Sopenharmony_ci    {{al, r9, r12, ASR, r12},
1198b8021494Sopenharmony_ci     false,
1199b8021494Sopenharmony_ci     al,
1200b8021494Sopenharmony_ci     "al r9 r12 ASR r12",
1201b8021494Sopenharmony_ci     "al_r9_r12_ASR_r12"},
1202b8021494Sopenharmony_ci    {{al, r14, r13, ASR, r8},
1203b8021494Sopenharmony_ci     false,
1204b8021494Sopenharmony_ci     al,
1205b8021494Sopenharmony_ci     "al r14 r13 ASR r8",
1206b8021494Sopenharmony_ci     "al_r14_r13_ASR_r8"},
1207b8021494Sopenharmony_ci    {{al, r12, r11, LSL, r5},
1208b8021494Sopenharmony_ci     false,
1209b8021494Sopenharmony_ci     al,
1210b8021494Sopenharmony_ci     "al r12 r11 LSL r5",
1211b8021494Sopenharmony_ci     "al_r12_r11_LSL_r5"},
1212b8021494Sopenharmony_ci    {{al, r8, r7, ASR, r11}, false, al, "al r8 r7 ASR r11", "al_r8_r7_ASR_r11"},
1213b8021494Sopenharmony_ci    {{al, r14, r2, ROR, r2}, false, al, "al r14 r2 ROR r2", "al_r14_r2_ROR_r2"},
1214b8021494Sopenharmony_ci    {{al, r12, r1, ROR, r3}, false, al, "al r12 r1 ROR r3", "al_r12_r1_ROR_r3"},
1215b8021494Sopenharmony_ci    {{al, r2, r8, LSR, r14}, false, al, "al r2 r8 LSR r14", "al_r2_r8_LSR_r14"},
1216b8021494Sopenharmony_ci    {{al, r10, r14, ASR, r14},
1217b8021494Sopenharmony_ci     false,
1218b8021494Sopenharmony_ci     al,
1219b8021494Sopenharmony_ci     "al r10 r14 ASR r14",
1220b8021494Sopenharmony_ci     "al_r10_r14_ASR_r14"},
1221b8021494Sopenharmony_ci    {{al, r4, r6, ASR, r8}, false, al, "al r4 r6 ASR r8", "al_r4_r6_ASR_r8"},
1222b8021494Sopenharmony_ci    {{al, r9, r0, ASR, r5}, false, al, "al r9 r0 ASR r5", "al_r9_r0_ASR_r5"},
1223b8021494Sopenharmony_ci    {{al, r5, r13, ASR, r3}, false, al, "al r5 r13 ASR r3", "al_r5_r13_ASR_r3"},
1224b8021494Sopenharmony_ci    {{al, r11, r6, LSR, r13},
1225b8021494Sopenharmony_ci     false,
1226b8021494Sopenharmony_ci     al,
1227b8021494Sopenharmony_ci     "al r11 r6 LSR r13",
1228b8021494Sopenharmony_ci     "al_r11_r6_LSR_r13"},
1229b8021494Sopenharmony_ci    {{al, r2, r8, ROR, r3}, false, al, "al r2 r8 ROR r3", "al_r2_r8_ROR_r3"},
1230b8021494Sopenharmony_ci    {{al, r12, r8, LSL, r2}, false, al, "al r12 r8 LSL r2", "al_r12_r8_LSL_r2"},
1231b8021494Sopenharmony_ci    {{al, r5, r1, ROR, r8}, false, al, "al r5 r1 ROR r8", "al_r5_r1_ROR_r8"},
1232b8021494Sopenharmony_ci    {{al, r10, r14, LSL, r10},
1233b8021494Sopenharmony_ci     false,
1234b8021494Sopenharmony_ci     al,
1235b8021494Sopenharmony_ci     "al r10 r14 LSL r10",
1236b8021494Sopenharmony_ci     "al_r10_r14_LSL_r10"},
1237b8021494Sopenharmony_ci    {{al, r10, r5, ASR, r5}, false, al, "al r10 r5 ASR r5", "al_r10_r5_ASR_r5"},
1238b8021494Sopenharmony_ci    {{al, r12, r13, LSR, r14},
1239b8021494Sopenharmony_ci     false,
1240b8021494Sopenharmony_ci     al,
1241b8021494Sopenharmony_ci     "al r12 r13 LSR r14",
1242b8021494Sopenharmony_ci     "al_r12_r13_LSR_r14"},
1243b8021494Sopenharmony_ci    {{al, r7, r0, ROR, r2}, false, al, "al r7 r0 ROR r2", "al_r7_r0_ROR_r2"},
1244b8021494Sopenharmony_ci    {{al, r3, r2, LSL, r6}, false, al, "al r3 r2 LSL r6", "al_r3_r2_LSL_r6"},
1245b8021494Sopenharmony_ci    {{al, r8, r12, LSL, r9}, false, al, "al r8 r12 LSL r9", "al_r8_r12_LSL_r9"},
1246b8021494Sopenharmony_ci    {{al, r7, r14, ROR, r2}, false, al, "al r7 r14 ROR r2", "al_r7_r14_ROR_r2"},
1247b8021494Sopenharmony_ci    {{al, r1, r0, ROR, r9}, false, al, "al r1 r0 ROR r9", "al_r1_r0_ROR_r9"},
1248b8021494Sopenharmony_ci    {{al, r11, r9, LSL, r11},
1249b8021494Sopenharmony_ci     false,
1250b8021494Sopenharmony_ci     al,
1251b8021494Sopenharmony_ci     "al r11 r9 LSL r11",
1252b8021494Sopenharmony_ci     "al_r11_r9_LSL_r11"},
1253b8021494Sopenharmony_ci    {{al, r2, r14, ROR, r2}, false, al, "al r2 r14 ROR r2", "al_r2_r14_ROR_r2"},
1254b8021494Sopenharmony_ci    {{al, r11, r2, LSL, r8}, false, al, "al r11 r2 LSL r8", "al_r11_r2_LSL_r8"},
1255b8021494Sopenharmony_ci    {{al, r12, r13, LSL, r9},
1256b8021494Sopenharmony_ci     false,
1257b8021494Sopenharmony_ci     al,
1258b8021494Sopenharmony_ci     "al r12 r13 LSL r9",
1259b8021494Sopenharmony_ci     "al_r12_r13_LSL_r9"},
1260b8021494Sopenharmony_ci    {{al, r8, r10, ROR, r9}, false, al, "al r8 r10 ROR r9", "al_r8_r10_ROR_r9"},
1261b8021494Sopenharmony_ci    {{al, r12, r4, ASR, r7}, false, al, "al r12 r4 ASR r7", "al_r12_r4_ASR_r7"},
1262b8021494Sopenharmony_ci    {{al, r7, r1, LSL, r6}, false, al, "al r7 r1 LSL r6", "al_r7_r1_LSL_r6"},
1263b8021494Sopenharmony_ci    {{al, r2, r2, LSL, r6}, false, al, "al r2 r2 LSL r6", "al_r2_r2_LSL_r6"},
1264b8021494Sopenharmony_ci    {{al, r14, r14, ASR, r13},
1265b8021494Sopenharmony_ci     false,
1266b8021494Sopenharmony_ci     al,
1267b8021494Sopenharmony_ci     "al r14 r14 ASR r13",
1268b8021494Sopenharmony_ci     "al_r14_r14_ASR_r13"},
1269b8021494Sopenharmony_ci    {{al, r14, r10, ROR, r4},
1270b8021494Sopenharmony_ci     false,
1271b8021494Sopenharmony_ci     al,
1272b8021494Sopenharmony_ci     "al r14 r10 ROR r4",
1273b8021494Sopenharmony_ci     "al_r14_r10_ROR_r4"},
1274b8021494Sopenharmony_ci    {{al, r2, r8, ROR, r6}, false, al, "al r2 r8 ROR r6", "al_r2_r8_ROR_r6"},
1275b8021494Sopenharmony_ci    {{al, r8, r6, ROR, r8}, false, al, "al r8 r6 ROR r8", "al_r8_r6_ROR_r8"},
1276b8021494Sopenharmony_ci    {{al, r13, r12, LSL, r11},
1277b8021494Sopenharmony_ci     false,
1278b8021494Sopenharmony_ci     al,
1279b8021494Sopenharmony_ci     "al r13 r12 LSL r11",
1280b8021494Sopenharmony_ci     "al_r13_r12_LSL_r11"},
1281b8021494Sopenharmony_ci    {{al, r11, r6, LSL, r10},
1282b8021494Sopenharmony_ci     false,
1283b8021494Sopenharmony_ci     al,
1284b8021494Sopenharmony_ci     "al r11 r6 LSL r10",
1285b8021494Sopenharmony_ci     "al_r11_r6_LSL_r10"},
1286b8021494Sopenharmony_ci    {{al, r11, r3, ASR, r12},
1287b8021494Sopenharmony_ci     false,
1288b8021494Sopenharmony_ci     al,
1289b8021494Sopenharmony_ci     "al r11 r3 ASR r12",
1290b8021494Sopenharmony_ci     "al_r11_r3_ASR_r12"},
1291b8021494Sopenharmony_ci    {{al, r13, r7, ROR, r3}, false, al, "al r13 r7 ROR r3", "al_r13_r7_ROR_r3"},
1292b8021494Sopenharmony_ci    {{al, r4, r7, LSR, r2}, false, al, "al r4 r7 LSR r2", "al_r4_r7_LSR_r2"},
1293b8021494Sopenharmony_ci    {{al, r3, r0, ROR, r7}, false, al, "al r3 r0 ROR r7", "al_r3_r0_ROR_r7"},
1294b8021494Sopenharmony_ci    {{al, r0, r6, LSL, r9}, false, al, "al r0 r6 LSL r9", "al_r0_r6_LSL_r9"},
1295b8021494Sopenharmony_ci    {{al, r13, r12, ASR, r4},
1296b8021494Sopenharmony_ci     false,
1297b8021494Sopenharmony_ci     al,
1298b8021494Sopenharmony_ci     "al r13 r12 ASR r4",
1299b8021494Sopenharmony_ci     "al_r13_r12_ASR_r4"},
1300b8021494Sopenharmony_ci    {{al, r1, r7, ROR, r9}, false, al, "al r1 r7 ROR r9", "al_r1_r7_ROR_r9"},
1301b8021494Sopenharmony_ci    {{al, r6, r9, ROR, r11}, false, al, "al r6 r9 ROR r11", "al_r6_r9_ROR_r11"},
1302b8021494Sopenharmony_ci    {{al, r9, r8, ROR, r0}, false, al, "al r9 r8 ROR r0", "al_r9_r8_ROR_r0"},
1303b8021494Sopenharmony_ci    {{al, r2, r11, LSR, r6}, false, al, "al r2 r11 LSR r6", "al_r2_r11_LSR_r6"},
1304b8021494Sopenharmony_ci    {{al, r10, r14, ASR, r1},
1305b8021494Sopenharmony_ci     false,
1306b8021494Sopenharmony_ci     al,
1307b8021494Sopenharmony_ci     "al r10 r14 ASR r1",
1308b8021494Sopenharmony_ci     "al_r10_r14_ASR_r1"},
1309b8021494Sopenharmony_ci    {{al, r7, r2, ROR, r0}, false, al, "al r7 r2 ROR r0", "al_r7_r2_ROR_r0"},
1310b8021494Sopenharmony_ci    {{al, r9, r4, ASR, r10}, false, al, "al r9 r4 ASR r10", "al_r9_r4_ASR_r10"},
1311b8021494Sopenharmony_ci    {{al, r11, r14, ROR, r13},
1312b8021494Sopenharmony_ci     false,
1313b8021494Sopenharmony_ci     al,
1314b8021494Sopenharmony_ci     "al r11 r14 ROR r13",
1315b8021494Sopenharmony_ci     "al_r11_r14_ROR_r13"},
1316b8021494Sopenharmony_ci    {{al, r9, r2, ASR, r8}, false, al, "al r9 r2 ASR r8", "al_r9_r2_ASR_r8"},
1317b8021494Sopenharmony_ci    {{al, r6, r8, LSR, r0}, false, al, "al r6 r8 LSR r0", "al_r6_r8_LSR_r0"},
1318b8021494Sopenharmony_ci    {{al, r4, r6, ASR, r1}, false, al, "al r4 r6 ASR r1", "al_r4_r6_ASR_r1"},
1319b8021494Sopenharmony_ci    {{al, r7, r12, LSR, r11},
1320b8021494Sopenharmony_ci     false,
1321b8021494Sopenharmony_ci     al,
1322b8021494Sopenharmony_ci     "al r7 r12 LSR r11",
1323b8021494Sopenharmony_ci     "al_r7_r12_LSR_r11"},
1324b8021494Sopenharmony_ci    {{al, r2, r2, LSL, r14}, false, al, "al r2 r2 LSL r14", "al_r2_r2_LSL_r14"},
1325b8021494Sopenharmony_ci    {{al, r10, r0, ASR, r3}, false, al, "al r10 r0 ASR r3", "al_r10_r0_ASR_r3"},
1326b8021494Sopenharmony_ci    {{al, r14, r13, LSL, r12},
1327b8021494Sopenharmony_ci     false,
1328b8021494Sopenharmony_ci     al,
1329b8021494Sopenharmony_ci     "al r14 r13 LSL r12",
1330b8021494Sopenharmony_ci     "al_r14_r13_LSL_r12"},
1331b8021494Sopenharmony_ci    {{al, r7, r1, ASR, r10}, false, al, "al r7 r1 ASR r10", "al_r7_r1_ASR_r10"},
1332b8021494Sopenharmony_ci    {{al, r9, r13, LSL, r4}, false, al, "al r9 r13 LSL r4", "al_r9_r13_LSL_r4"},
1333b8021494Sopenharmony_ci    {{al, r2, r9, ASR, r13}, false, al, "al r2 r9 ASR r13", "al_r2_r9_ASR_r13"},
1334b8021494Sopenharmony_ci    {{al, r9, r11, LSL, r0}, false, al, "al r9 r11 LSL r0", "al_r9_r11_LSL_r0"},
1335b8021494Sopenharmony_ci    {{al, r4, r12, LSR, r0}, false, al, "al r4 r12 LSR r0", "al_r4_r12_LSR_r0"},
1336b8021494Sopenharmony_ci    {{al, r8, r13, ROR, r14},
1337b8021494Sopenharmony_ci     false,
1338b8021494Sopenharmony_ci     al,
1339b8021494Sopenharmony_ci     "al r8 r13 ROR r14",
1340b8021494Sopenharmony_ci     "al_r8_r13_ROR_r14"},
1341b8021494Sopenharmony_ci    {{al, r0, r10, LSL, r14},
1342b8021494Sopenharmony_ci     false,
1343b8021494Sopenharmony_ci     al,
1344b8021494Sopenharmony_ci     "al r0 r10 LSL r14",
1345b8021494Sopenharmony_ci     "al_r0_r10_LSL_r14"},
1346b8021494Sopenharmony_ci    {{al, r0, r2, ASR, r9}, false, al, "al r0 r2 ASR r9", "al_r0_r2_ASR_r9"},
1347b8021494Sopenharmony_ci    {{al, r14, r11, ASR, r5},
1348b8021494Sopenharmony_ci     false,
1349b8021494Sopenharmony_ci     al,
1350b8021494Sopenharmony_ci     "al r14 r11 ASR r5",
1351b8021494Sopenharmony_ci     "al_r14_r11_ASR_r5"},
1352b8021494Sopenharmony_ci    {{al, r8, r9, ROR, r4}, false, al, "al r8 r9 ROR r4", "al_r8_r9_ROR_r4"},
1353b8021494Sopenharmony_ci    {{al, r8, r10, ASR, r8}, false, al, "al r8 r10 ASR r8", "al_r8_r10_ASR_r8"},
1354b8021494Sopenharmony_ci    {{al, r2, r8, ASR, r4}, false, al, "al r2 r8 ASR r4", "al_r2_r8_ASR_r4"},
1355b8021494Sopenharmony_ci    {{al, r2, r0, ROR, r6}, false, al, "al r2 r0 ROR r6", "al_r2_r0_ROR_r6"},
1356b8021494Sopenharmony_ci    {{al, r13, r10, LSL, r7},
1357b8021494Sopenharmony_ci     false,
1358b8021494Sopenharmony_ci     al,
1359b8021494Sopenharmony_ci     "al r13 r10 LSL r7",
1360b8021494Sopenharmony_ci     "al_r13_r10_LSL_r7"},
1361b8021494Sopenharmony_ci    {{al, r3, r9, ROR, r8}, false, al, "al r3 r9 ROR r8", "al_r3_r9_ROR_r8"},
1362b8021494Sopenharmony_ci    {{al, r13, r11, ASR, r10},
1363b8021494Sopenharmony_ci     false,
1364b8021494Sopenharmony_ci     al,
1365b8021494Sopenharmony_ci     "al r13 r11 ASR r10",
1366b8021494Sopenharmony_ci     "al_r13_r11_ASR_r10"},
1367b8021494Sopenharmony_ci    {{al, r1, r6, ASR, r7}, false, al, "al r1 r6 ASR r7", "al_r1_r6_ASR_r7"},
1368b8021494Sopenharmony_ci    {{al, r9, r13, ROR, r3}, false, al, "al r9 r13 ROR r3", "al_r9_r13_ROR_r3"},
1369b8021494Sopenharmony_ci    {{al, r14, r8, ASR, r10},
1370b8021494Sopenharmony_ci     false,
1371b8021494Sopenharmony_ci     al,
1372b8021494Sopenharmony_ci     "al r14 r8 ASR r10",
1373b8021494Sopenharmony_ci     "al_r14_r8_ASR_r10"},
1374b8021494Sopenharmony_ci    {{al, r1, r2, ASR, r12}, false, al, "al r1 r2 ASR r12", "al_r1_r2_ASR_r12"},
1375b8021494Sopenharmony_ci    {{al, r14, r0, LSR, r10},
1376b8021494Sopenharmony_ci     false,
1377b8021494Sopenharmony_ci     al,
1378b8021494Sopenharmony_ci     "al r14 r0 LSR r10",
1379b8021494Sopenharmony_ci     "al_r14_r0_LSR_r10"},
1380b8021494Sopenharmony_ci    {{al, r2, r11, ASR, r8}, false, al, "al r2 r11 ASR r8", "al_r2_r11_ASR_r8"},
1381b8021494Sopenharmony_ci    {{al, r0, r3, LSL, r2}, false, al, "al r0 r3 LSL r2", "al_r0_r3_LSL_r2"},
1382b8021494Sopenharmony_ci    {{al, r2, r13, LSL, r5}, false, al, "al r2 r13 LSL r5", "al_r2_r13_LSL_r5"},
1383b8021494Sopenharmony_ci    {{al, r4, r2, ASR, r6}, false, al, "al r4 r2 ASR r6", "al_r4_r2_ASR_r6"},
1384b8021494Sopenharmony_ci    {{al, r7, r7, ASR, r4}, false, al, "al r7 r7 ASR r4", "al_r7_r7_ASR_r4"},
1385b8021494Sopenharmony_ci    {{al, r11, r1, LSL, r2}, false, al, "al r11 r1 LSL r2", "al_r11_r1_LSL_r2"},
1386b8021494Sopenharmony_ci    {{al, r6, r13, LSL, r6}, false, al, "al r6 r13 LSL r6", "al_r6_r13_LSL_r6"},
1387b8021494Sopenharmony_ci    {{al, r13, r4, LSL, r9}, false, al, "al r13 r4 LSL r9", "al_r13_r4_LSL_r9"},
1388b8021494Sopenharmony_ci    {{al, r0, r7, ASR, r9}, false, al, "al r0 r7 ASR r9", "al_r0_r7_ASR_r9"},
1389b8021494Sopenharmony_ci    {{al, r13, r7, ASR, r9}, false, al, "al r13 r7 ASR r9", "al_r13_r7_ASR_r9"},
1390b8021494Sopenharmony_ci    {{al, r12, r10, ROR, r6},
1391b8021494Sopenharmony_ci     false,
1392b8021494Sopenharmony_ci     al,
1393b8021494Sopenharmony_ci     "al r12 r10 ROR r6",
1394b8021494Sopenharmony_ci     "al_r12_r10_ROR_r6"},
1395b8021494Sopenharmony_ci    {{al, r8, r9, LSL, r12}, false, al, "al r8 r9 LSL r12", "al_r8_r9_LSL_r12"},
1396b8021494Sopenharmony_ci    {{al, r12, r14, LSR, r1},
1397b8021494Sopenharmony_ci     false,
1398b8021494Sopenharmony_ci     al,
1399b8021494Sopenharmony_ci     "al r12 r14 LSR r1",
1400b8021494Sopenharmony_ci     "al_r12_r14_LSR_r1"},
1401b8021494Sopenharmony_ci    {{al, r1, r5, LSL, r1}, false, al, "al r1 r5 LSL r1", "al_r1_r5_LSL_r1"},
1402b8021494Sopenharmony_ci    {{al, r0, r14, ROR, r8}, false, al, "al r0 r14 ROR r8", "al_r0_r14_ROR_r8"},
1403b8021494Sopenharmony_ci    {{al, r8, r1, ASR, r3}, false, al, "al r8 r1 ASR r3", "al_r8_r1_ASR_r3"},
1404b8021494Sopenharmony_ci    {{al, r13, r8, LSL, r1}, false, al, "al r13 r8 LSL r1", "al_r13_r8_LSL_r1"},
1405b8021494Sopenharmony_ci    {{al, r7, r6, LSL, r2}, false, al, "al r7 r6 LSL r2", "al_r7_r6_LSL_r2"},
1406b8021494Sopenharmony_ci    {{al, r7, r7, ASR, r6}, false, al, "al r7 r7 ASR r6", "al_r7_r7_ASR_r6"},
1407b8021494Sopenharmony_ci    {{al, r5, r11, LSR, r10},
1408b8021494Sopenharmony_ci     false,
1409b8021494Sopenharmony_ci     al,
1410b8021494Sopenharmony_ci     "al r5 r11 LSR r10",
1411b8021494Sopenharmony_ci     "al_r5_r11_LSR_r10"},
1412b8021494Sopenharmony_ci    {{al, r7, r2, ASR, r7}, false, al, "al r7 r2 ASR r7", "al_r7_r2_ASR_r7"},
1413b8021494Sopenharmony_ci    {{al, r3, r4, LSL, r10}, false, al, "al r3 r4 LSL r10", "al_r3_r4_LSL_r10"},
1414b8021494Sopenharmony_ci    {{al, r12, r14, LSL, r5},
1415b8021494Sopenharmony_ci     false,
1416b8021494Sopenharmony_ci     al,
1417b8021494Sopenharmony_ci     "al r12 r14 LSL r5",
1418b8021494Sopenharmony_ci     "al_r12_r14_LSL_r5"},
1419b8021494Sopenharmony_ci    {{al, r2, r3, ROR, r8}, false, al, "al r2 r3 ROR r8", "al_r2_r3_ROR_r8"},
1420b8021494Sopenharmony_ci    {{al, r6, r7, LSL, r14}, false, al, "al r6 r7 LSL r14", "al_r6_r7_LSL_r14"},
1421b8021494Sopenharmony_ci    {{al, r14, r11, ASR, r10},
1422b8021494Sopenharmony_ci     false,
1423b8021494Sopenharmony_ci     al,
1424b8021494Sopenharmony_ci     "al r14 r11 ASR r10",
1425b8021494Sopenharmony_ci     "al_r14_r11_ASR_r10"},
1426b8021494Sopenharmony_ci    {{al, r9, r9, ASR, r3}, false, al, "al r9 r9 ASR r3", "al_r9_r9_ASR_r3"},
1427b8021494Sopenharmony_ci    {{al, r3, r1, ROR, r8}, false, al, "al r3 r1 ROR r8", "al_r3_r1_ROR_r8"},
1428b8021494Sopenharmony_ci    {{al, r0, r9, LSL, r0}, false, al, "al r0 r9 LSL r0", "al_r0_r9_LSL_r0"},
1429b8021494Sopenharmony_ci    {{al, r2, r0, ROR, r13}, false, al, "al r2 r0 ROR r13", "al_r2_r0_ROR_r13"},
1430b8021494Sopenharmony_ci    {{al, r8, r10, LSR, r13},
1431b8021494Sopenharmony_ci     false,
1432b8021494Sopenharmony_ci     al,
1433b8021494Sopenharmony_ci     "al r8 r10 LSR r13",
1434b8021494Sopenharmony_ci     "al_r8_r10_LSR_r13"},
1435b8021494Sopenharmony_ci    {{al, r13, r13, LSR, r13},
1436b8021494Sopenharmony_ci     false,
1437b8021494Sopenharmony_ci     al,
1438b8021494Sopenharmony_ci     "al r13 r13 LSR r13",
1439b8021494Sopenharmony_ci     "al_r13_r13_LSR_r13"},
1440b8021494Sopenharmony_ci    {{al, r0, r3, LSL, r4}, false, al, "al r0 r3 LSL r4", "al_r0_r3_LSL_r4"},
1441b8021494Sopenharmony_ci    {{al, r14, r4, LSL, r14},
1442b8021494Sopenharmony_ci     false,
1443b8021494Sopenharmony_ci     al,
1444b8021494Sopenharmony_ci     "al r14 r4 LSL r14",
1445b8021494Sopenharmony_ci     "al_r14_r4_LSL_r14"},
1446b8021494Sopenharmony_ci    {{al, r8, r4, ROR, r11}, false, al, "al r8 r4 ROR r11", "al_r8_r4_ROR_r11"},
1447b8021494Sopenharmony_ci    {{al, r6, r8, ROR, r7}, false, al, "al r6 r8 ROR r7", "al_r6_r8_ROR_r7"},
1448b8021494Sopenharmony_ci    {{al, r4, r14, ROR, r9}, false, al, "al r4 r14 ROR r9", "al_r4_r14_ROR_r9"},
1449b8021494Sopenharmony_ci    {{al, r8, r12, ASR, r9}, false, al, "al r8 r12 ASR r9", "al_r8_r12_ASR_r9"},
1450b8021494Sopenharmony_ci    {{al, r14, r12, ROR, r11},
1451b8021494Sopenharmony_ci     false,
1452b8021494Sopenharmony_ci     al,
1453b8021494Sopenharmony_ci     "al r14 r12 ROR r11",
1454b8021494Sopenharmony_ci     "al_r14_r12_ROR_r11"},
1455b8021494Sopenharmony_ci    {{al, r11, r10, ASR, r11},
1456b8021494Sopenharmony_ci     false,
1457b8021494Sopenharmony_ci     al,
1458b8021494Sopenharmony_ci     "al r11 r10 ASR r11",
1459b8021494Sopenharmony_ci     "al_r11_r10_ASR_r11"},
1460b8021494Sopenharmony_ci    {{al, r1, r11, ROR, r7}, false, al, "al r1 r11 ROR r7", "al_r1_r11_ROR_r7"},
1461b8021494Sopenharmony_ci    {{al, r9, r3, ROR, r8}, false, al, "al r9 r3 ROR r8", "al_r9_r3_ROR_r8"},
1462b8021494Sopenharmony_ci    {{al, r2, r12, LSL, r10},
1463b8021494Sopenharmony_ci     false,
1464b8021494Sopenharmony_ci     al,
1465b8021494Sopenharmony_ci     "al r2 r12 LSL r10",
1466b8021494Sopenharmony_ci     "al_r2_r12_LSL_r10"},
1467b8021494Sopenharmony_ci    {{al, r12, r14, LSL, r10},
1468b8021494Sopenharmony_ci     false,
1469b8021494Sopenharmony_ci     al,
1470b8021494Sopenharmony_ci     "al r12 r14 LSL r10",
1471b8021494Sopenharmony_ci     "al_r12_r14_LSL_r10"},
1472b8021494Sopenharmony_ci    {{al, r7, r11, LSL, r0}, false, al, "al r7 r11 LSL r0", "al_r7_r11_LSL_r0"},
1473b8021494Sopenharmony_ci    {{al, r14, r9, ROR, r13},
1474b8021494Sopenharmony_ci     false,
1475b8021494Sopenharmony_ci     al,
1476b8021494Sopenharmony_ci     "al r14 r9 ROR r13",
1477b8021494Sopenharmony_ci     "al_r14_r9_ROR_r13"},
1478b8021494Sopenharmony_ci    {{al, r5, r7, ROR, r13}, false, al, "al r5 r7 ROR r13", "al_r5_r7_ROR_r13"},
1479b8021494Sopenharmony_ci    {{al, r2, r14, ASR, r11},
1480b8021494Sopenharmony_ci     false,
1481b8021494Sopenharmony_ci     al,
1482b8021494Sopenharmony_ci     "al r2 r14 ASR r11",
1483b8021494Sopenharmony_ci     "al_r2_r14_ASR_r11"},
1484b8021494Sopenharmony_ci    {{al, r12, r0, ROR, r9}, false, al, "al r12 r0 ROR r9", "al_r12_r0_ROR_r9"},
1485b8021494Sopenharmony_ci    {{al, r5, r2, LSR, r6}, false, al, "al r5 r2 LSR r6", "al_r5_r2_LSR_r6"},
1486b8021494Sopenharmony_ci    {{al, r2, r14, LSL, r10},
1487b8021494Sopenharmony_ci     false,
1488b8021494Sopenharmony_ci     al,
1489b8021494Sopenharmony_ci     "al r2 r14 LSL r10",
1490b8021494Sopenharmony_ci     "al_r2_r14_LSL_r10"},
1491b8021494Sopenharmony_ci    {{al, r1, r9, LSL, r3}, false, al, "al r1 r9 LSL r3", "al_r1_r9_LSL_r3"},
1492b8021494Sopenharmony_ci    {{al, r2, r4, ROR, r12}, false, al, "al r2 r4 ROR r12", "al_r2_r4_ROR_r12"},
1493b8021494Sopenharmony_ci    {{al, r0, r1, ASR, r3}, false, al, "al r0 r1 ASR r3", "al_r0_r1_ASR_r3"},
1494b8021494Sopenharmony_ci    {{al, r5, r13, LSR, r10},
1495b8021494Sopenharmony_ci     false,
1496b8021494Sopenharmony_ci     al,
1497b8021494Sopenharmony_ci     "al r5 r13 LSR r10",
1498b8021494Sopenharmony_ci     "al_r5_r13_LSR_r10"},
1499b8021494Sopenharmony_ci    {{al, r9, r1, ASR, r3}, false, al, "al r9 r1 ASR r3", "al_r9_r1_ASR_r3"},
1500b8021494Sopenharmony_ci    {{al, r9, r2, ASR, r11}, false, al, "al r9 r2 ASR r11", "al_r9_r2_ASR_r11"},
1501b8021494Sopenharmony_ci    {{al, r4, r11, LSL, r12},
1502b8021494Sopenharmony_ci     false,
1503b8021494Sopenharmony_ci     al,
1504b8021494Sopenharmony_ci     "al r4 r11 LSL r12",
1505b8021494Sopenharmony_ci     "al_r4_r11_LSL_r12"},
1506b8021494Sopenharmony_ci    {{al, r12, r5, LSL, r10},
1507b8021494Sopenharmony_ci     false,
1508b8021494Sopenharmony_ci     al,
1509b8021494Sopenharmony_ci     "al r12 r5 LSL r10",
1510b8021494Sopenharmony_ci     "al_r12_r5_LSL_r10"},
1511b8021494Sopenharmony_ci    {{al, r10, r14, LSL, r0},
1512b8021494Sopenharmony_ci     false,
1513b8021494Sopenharmony_ci     al,
1514b8021494Sopenharmony_ci     "al r10 r14 LSL r0",
1515b8021494Sopenharmony_ci     "al_r10_r14_LSL_r0"},
1516b8021494Sopenharmony_ci    {{al, r12, r4, LSR, r10},
1517b8021494Sopenharmony_ci     false,
1518b8021494Sopenharmony_ci     al,
1519b8021494Sopenharmony_ci     "al r12 r4 LSR r10",
1520b8021494Sopenharmony_ci     "al_r12_r4_LSR_r10"},
1521b8021494Sopenharmony_ci    {{al, r8, r10, ROR, r13},
1522b8021494Sopenharmony_ci     false,
1523b8021494Sopenharmony_ci     al,
1524b8021494Sopenharmony_ci     "al r8 r10 ROR r13",
1525b8021494Sopenharmony_ci     "al_r8_r10_ROR_r13"},
1526b8021494Sopenharmony_ci    {{al, r8, r10, LSR, r4}, false, al, "al r8 r10 LSR r4", "al_r8_r10_LSR_r4"},
1527b8021494Sopenharmony_ci    {{al, r8, r1, ASR, r11}, false, al, "al r8 r1 ASR r11", "al_r8_r1_ASR_r11"},
1528b8021494Sopenharmony_ci    {{al, r2, r13, LSL, r1}, false, al, "al r2 r13 LSL r1", "al_r2_r13_LSL_r1"},
1529b8021494Sopenharmony_ci    {{al, r14, r0, LSR, r13},
1530b8021494Sopenharmony_ci     false,
1531b8021494Sopenharmony_ci     al,
1532b8021494Sopenharmony_ci     "al r14 r0 LSR r13",
1533b8021494Sopenharmony_ci     "al_r14_r0_LSR_r13"},
1534b8021494Sopenharmony_ci    {{al, r1, r8, LSL, r2}, false, al, "al r1 r8 LSL r2", "al_r1_r8_LSL_r2"},
1535b8021494Sopenharmony_ci    {{al, r0, r10, LSL, r3}, false, al, "al r0 r10 LSL r3", "al_r0_r10_LSL_r3"},
1536b8021494Sopenharmony_ci    {{al, r3, r13, ROR, r2}, false, al, "al r3 r13 ROR r2", "al_r3_r13_ROR_r2"},
1537b8021494Sopenharmony_ci    {{al, r14, r5, ASR, r6}, false, al, "al r14 r5 ASR r6", "al_r14_r5_ASR_r6"},
1538b8021494Sopenharmony_ci    {{al, r12, r6, ROR, r14},
1539b8021494Sopenharmony_ci     false,
1540b8021494Sopenharmony_ci     al,
1541b8021494Sopenharmony_ci     "al r12 r6 ROR r14",
1542b8021494Sopenharmony_ci     "al_r12_r6_ROR_r14"},
1543b8021494Sopenharmony_ci    {{al, r0, r9, LSR, r1}, false, al, "al r0 r9 LSR r1", "al_r0_r9_LSR_r1"},
1544b8021494Sopenharmony_ci    {{al, r1, r0, ROR, r2}, false, al, "al r1 r0 ROR r2", "al_r1_r0_ROR_r2"},
1545b8021494Sopenharmony_ci    {{al, r2, r3, LSL, r3}, false, al, "al r2 r3 LSL r3", "al_r2_r3_LSL_r3"},
1546b8021494Sopenharmony_ci    {{al, r7, r2, ROR, r1}, false, al, "al r7 r2 ROR r1", "al_r7_r2_ROR_r1"},
1547b8021494Sopenharmony_ci    {{al, r11, r13, ROR, r2},
1548b8021494Sopenharmony_ci     false,
1549b8021494Sopenharmony_ci     al,
1550b8021494Sopenharmony_ci     "al r11 r13 ROR r2",
1551b8021494Sopenharmony_ci     "al_r11_r13_ROR_r2"},
1552b8021494Sopenharmony_ci    {{al, r11, r9, ROR, r3}, false, al, "al r11 r9 ROR r3", "al_r11_r9_ROR_r3"},
1553b8021494Sopenharmony_ci    {{al, r0, r8, ROR, r7}, false, al, "al r0 r8 ROR r7", "al_r0_r8_ROR_r7"},
1554b8021494Sopenharmony_ci    {{al, r13, r13, ROR, r3},
1555b8021494Sopenharmony_ci     false,
1556b8021494Sopenharmony_ci     al,
1557b8021494Sopenharmony_ci     "al r13 r13 ROR r3",
1558b8021494Sopenharmony_ci     "al_r13_r13_ROR_r3"},
1559b8021494Sopenharmony_ci    {{al, r1, r12, LSR, r1}, false, al, "al r1 r12 LSR r1", "al_r1_r12_LSR_r1"},
1560b8021494Sopenharmony_ci    {{al, r10, r4, ROR, r5}, false, al, "al r10 r4 ROR r5", "al_r10_r4_ROR_r5"},
1561b8021494Sopenharmony_ci    {{al, r5, r2, ROR, r3}, false, al, "al r5 r2 ROR r3", "al_r5_r2_ROR_r3"},
1562b8021494Sopenharmony_ci    {{al, r11, r7, ASR, r12},
1563b8021494Sopenharmony_ci     false,
1564b8021494Sopenharmony_ci     al,
1565b8021494Sopenharmony_ci     "al r11 r7 ASR r12",
1566b8021494Sopenharmony_ci     "al_r11_r7_ASR_r12"},
1567b8021494Sopenharmony_ci    {{al, r3, r10, LSR, r14},
1568b8021494Sopenharmony_ci     false,
1569b8021494Sopenharmony_ci     al,
1570b8021494Sopenharmony_ci     "al r3 r10 LSR r14",
1571b8021494Sopenharmony_ci     "al_r3_r10_LSR_r14"},
1572b8021494Sopenharmony_ci    {{al, r8, r8, LSR, r6}, false, al, "al r8 r8 LSR r6", "al_r8_r8_LSR_r6"},
1573b8021494Sopenharmony_ci    {{al, r13, r4, ROR, r7}, false, al, "al r13 r4 ROR r7", "al_r13_r4_ROR_r7"},
1574b8021494Sopenharmony_ci    {{al, r3, r11, ASR, r10},
1575b8021494Sopenharmony_ci     false,
1576b8021494Sopenharmony_ci     al,
1577b8021494Sopenharmony_ci     "al r3 r11 ASR r10",
1578b8021494Sopenharmony_ci     "al_r3_r11_ASR_r10"},
1579b8021494Sopenharmony_ci    {{al, r10, r12, LSL, r14},
1580b8021494Sopenharmony_ci     false,
1581b8021494Sopenharmony_ci     al,
1582b8021494Sopenharmony_ci     "al r10 r12 LSL r14",
1583b8021494Sopenharmony_ci     "al_r10_r12_LSL_r14"},
1584b8021494Sopenharmony_ci    {{al, r5, r12, LSL, r12},
1585b8021494Sopenharmony_ci     false,
1586b8021494Sopenharmony_ci     al,
1587b8021494Sopenharmony_ci     "al r5 r12 LSL r12",
1588b8021494Sopenharmony_ci     "al_r5_r12_LSL_r12"},
1589b8021494Sopenharmony_ci    {{al, r3, r13, LSR, r8}, false, al, "al r3 r13 LSR r8", "al_r3_r13_LSR_r8"},
1590b8021494Sopenharmony_ci    {{al, r10, r3, LSR, r9}, false, al, "al r10 r3 LSR r9", "al_r10_r3_LSR_r9"},
1591b8021494Sopenharmony_ci    {{al, r1, r2, LSR, r12}, false, al, "al r1 r2 LSR r12", "al_r1_r2_LSR_r12"},
1592b8021494Sopenharmony_ci    {{al, r8, r12, LSL, r2}, false, al, "al r8 r12 LSL r2", "al_r8_r12_LSL_r2"},
1593b8021494Sopenharmony_ci    {{al, r3, r9, LSR, r14}, false, al, "al r3 r9 LSR r14", "al_r3_r9_LSR_r14"},
1594b8021494Sopenharmony_ci    {{al, r9, r8, LSL, r3}, false, al, "al r9 r8 LSL r3", "al_r9_r8_LSL_r3"},
1595b8021494Sopenharmony_ci    {{al, r12, r4, LSR, r4}, false, al, "al r12 r4 LSR r4", "al_r12_r4_LSR_r4"},
1596b8021494Sopenharmony_ci    {{al, r9, r13, LSL, r1}, false, al, "al r9 r13 LSL r1", "al_r9_r13_LSL_r1"},
1597b8021494Sopenharmony_ci    {{al, r11, r5, LSL, r1}, false, al, "al r11 r5 LSL r1", "al_r11_r5_LSL_r1"},
1598b8021494Sopenharmony_ci    {{al, r0, r8, ROR, r13}, false, al, "al r0 r8 ROR r13", "al_r0_r8_ROR_r13"},
1599b8021494Sopenharmony_ci    {{al, r0, r8, LSR, r13}, false, al, "al r0 r8 LSR r13", "al_r0_r8_LSR_r13"},
1600b8021494Sopenharmony_ci    {{al, r10, r13, LSL, r13},
1601b8021494Sopenharmony_ci     false,
1602b8021494Sopenharmony_ci     al,
1603b8021494Sopenharmony_ci     "al r10 r13 LSL r13",
1604b8021494Sopenharmony_ci     "al_r10_r13_LSL_r13"},
1605b8021494Sopenharmony_ci    {{al, r14, r8, ROR, r8}, false, al, "al r14 r8 ROR r8", "al_r14_r8_ROR_r8"},
1606b8021494Sopenharmony_ci    {{al, r5, r10, LSL, r8}, false, al, "al r5 r10 LSL r8", "al_r5_r10_LSL_r8"},
1607b8021494Sopenharmony_ci    {{al, r0, r9, LSR, r14}, false, al, "al r0 r9 LSR r14", "al_r0_r9_LSR_r14"},
1608b8021494Sopenharmony_ci    {{al, r3, r2, LSL, r12}, false, al, "al r3 r2 LSL r12", "al_r3_r2_LSL_r12"},
1609b8021494Sopenharmony_ci    {{al, r7, r8, ROR, r2}, false, al, "al r7 r8 ROR r2", "al_r7_r8_ROR_r2"},
1610b8021494Sopenharmony_ci    {{al, r8, r8, ASR, r12}, false, al, "al r8 r8 ASR r12", "al_r8_r8_ASR_r12"},
1611b8021494Sopenharmony_ci    {{al, r8, r2, ASR, r2}, false, al, "al r8 r2 ASR r2", "al_r8_r2_ASR_r2"},
1612b8021494Sopenharmony_ci    {{al, r5, r14, LSR, r12},
1613b8021494Sopenharmony_ci     false,
1614b8021494Sopenharmony_ci     al,
1615b8021494Sopenharmony_ci     "al r5 r14 LSR r12",
1616b8021494Sopenharmony_ci     "al_r5_r14_LSR_r12"},
1617b8021494Sopenharmony_ci    {{al, r5, r10, ASR, r9}, false, al, "al r5 r10 ASR r9", "al_r5_r10_ASR_r9"},
1618b8021494Sopenharmony_ci    {{al, r7, r1, LSR, r13}, false, al, "al r7 r1 LSR r13", "al_r7_r1_LSR_r13"},
1619b8021494Sopenharmony_ci    {{al, r5, r7, ROR, r14}, false, al, "al r5 r7 ROR r14", "al_r5_r7_ROR_r14"},
1620b8021494Sopenharmony_ci    {{al, r6, r0, ROR, r3}, false, al, "al r6 r0 ROR r3", "al_r6_r0_ROR_r3"},
1621b8021494Sopenharmony_ci    {{al, r5, r13, ASR, r11},
1622b8021494Sopenharmony_ci     false,
1623b8021494Sopenharmony_ci     al,
1624b8021494Sopenharmony_ci     "al r5 r13 ASR r11",
1625b8021494Sopenharmony_ci     "al_r5_r13_ASR_r11"},
1626b8021494Sopenharmony_ci    {{al, r8, r0, ROR, r8}, false, al, "al r8 r0 ROR r8", "al_r8_r0_ROR_r8"},
1627b8021494Sopenharmony_ci    {{al, r10, r11, LSR, r11},
1628b8021494Sopenharmony_ci     false,
1629b8021494Sopenharmony_ci     al,
1630b8021494Sopenharmony_ci     "al r10 r11 LSR r11",
1631b8021494Sopenharmony_ci     "al_r10_r11_LSR_r11"},
1632b8021494Sopenharmony_ci    {{al, r2, r8, LSL, r13}, false, al, "al r2 r8 LSL r13", "al_r2_r8_LSL_r13"},
1633b8021494Sopenharmony_ci    {{al, r14, r8, LSL, r4}, false, al, "al r14 r8 LSL r4", "al_r14_r8_LSL_r4"},
1634b8021494Sopenharmony_ci    {{al, r3, r1, ASR, r3}, false, al, "al r3 r1 ASR r3", "al_r3_r1_ASR_r3"},
1635b8021494Sopenharmony_ci    {{al, r13, r12, LSR, r14},
1636b8021494Sopenharmony_ci     false,
1637b8021494Sopenharmony_ci     al,
1638b8021494Sopenharmony_ci     "al r13 r12 LSR r14",
1639b8021494Sopenharmony_ci     "al_r13_r12_LSR_r14"},
1640b8021494Sopenharmony_ci    {{al, r4, r2, ROR, r7}, false, al, "al r4 r2 ROR r7", "al_r4_r2_ROR_r7"},
1641b8021494Sopenharmony_ci    {{al, r13, r2, ASR, r6}, false, al, "al r13 r2 ASR r6", "al_r13_r2_ASR_r6"},
1642b8021494Sopenharmony_ci    {{al, r9, r8, LSR, r3}, false, al, "al r9 r8 LSR r3", "al_r9_r8_LSR_r3"},
1643b8021494Sopenharmony_ci    {{al, r9, r2, LSL, r9}, false, al, "al r9 r2 LSL r9", "al_r9_r2_LSL_r9"},
1644b8021494Sopenharmony_ci    {{al, r8, r14, ASR, r5}, false, al, "al r8 r14 ASR r5", "al_r8_r14_ASR_r5"},
1645b8021494Sopenharmony_ci    {{al, r14, r11, LSR, r12},
1646b8021494Sopenharmony_ci     false,
1647b8021494Sopenharmony_ci     al,
1648b8021494Sopenharmony_ci     "al r14 r11 LSR r12",
1649b8021494Sopenharmony_ci     "al_r14_r11_LSR_r12"},
1650b8021494Sopenharmony_ci    {{al, r0, r3, LSL, r1}, false, al, "al r0 r3 LSL r1", "al_r0_r3_LSL_r1"},
1651b8021494Sopenharmony_ci    {{al, r8, r14, LSL, r8}, false, al, "al r8 r14 LSL r8", "al_r8_r14_LSL_r8"},
1652b8021494Sopenharmony_ci    {{al, r13, r14, LSR, r13},
1653b8021494Sopenharmony_ci     false,
1654b8021494Sopenharmony_ci     al,
1655b8021494Sopenharmony_ci     "al r13 r14 LSR r13",
1656b8021494Sopenharmony_ci     "al_r13_r14_LSR_r13"},
1657b8021494Sopenharmony_ci    {{al, r2, r13, ROR, r11},
1658b8021494Sopenharmony_ci     false,
1659b8021494Sopenharmony_ci     al,
1660b8021494Sopenharmony_ci     "al r2 r13 ROR r11",
1661b8021494Sopenharmony_ci     "al_r2_r13_ROR_r11"},
1662b8021494Sopenharmony_ci    {{al, r9, r12, ROR, r7}, false, al, "al r9 r12 ROR r7", "al_r9_r12_ROR_r7"},
1663b8021494Sopenharmony_ci    {{al, r7, r2, ROR, r11}, false, al, "al r7 r2 ROR r11", "al_r7_r2_ROR_r11"},
1664b8021494Sopenharmony_ci    {{al, r12, r1, ASR, r1}, false, al, "al r12 r1 ASR r1", "al_r12_r1_ASR_r1"},
1665b8021494Sopenharmony_ci    {{al, r8, r9, ASR, r2}, false, al, "al r8 r9 ASR r2", "al_r8_r9_ASR_r2"},
1666b8021494Sopenharmony_ci    {{al, r11, r1, LSR, r10},
1667b8021494Sopenharmony_ci     false,
1668b8021494Sopenharmony_ci     al,
1669b8021494Sopenharmony_ci     "al r11 r1 LSR r10",
1670b8021494Sopenharmony_ci     "al_r11_r1_LSR_r10"},
1671b8021494Sopenharmony_ci    {{al, r1, r8, LSR, r8}, false, al, "al r1 r8 LSR r8", "al_r1_r8_LSR_r8"},
1672b8021494Sopenharmony_ci    {{al, r10, r2, ROR, r4}, false, al, "al r10 r2 ROR r4", "al_r10_r2_ROR_r4"},
1673b8021494Sopenharmony_ci    {{al, r0, r10, LSL, r8}, false, al, "al r0 r10 LSL r8", "al_r0_r10_LSL_r8"},
1674b8021494Sopenharmony_ci    {{al, r1, r13, LSR, r8}, false, al, "al r1 r13 LSR r8", "al_r1_r13_LSR_r8"},
1675b8021494Sopenharmony_ci    {{al, r8, r5, ASR, r13}, false, al, "al r8 r5 ASR r13", "al_r8_r5_ASR_r13"},
1676b8021494Sopenharmony_ci    {{al, r7, r10, LSR, r6}, false, al, "al r7 r10 LSR r6", "al_r7_r10_LSR_r6"},
1677b8021494Sopenharmony_ci    {{al, r9, r6, ASR, r5}, false, al, "al r9 r6 ASR r5", "al_r9_r6_ASR_r5"},
1678b8021494Sopenharmony_ci    {{al, r8, r7, ASR, r8}, false, al, "al r8 r7 ASR r8", "al_r8_r7_ASR_r8"},
1679b8021494Sopenharmony_ci    {{al, r3, r12, ROR, r7}, false, al, "al r3 r12 ROR r7", "al_r3_r12_ROR_r7"},
1680b8021494Sopenharmony_ci    {{al, r8, r13, LSL, r1}, false, al, "al r8 r13 LSL r1", "al_r8_r13_LSL_r1"},
1681b8021494Sopenharmony_ci    {{al, r7, r7, ROR, r11}, false, al, "al r7 r7 ROR r11", "al_r7_r7_ROR_r11"},
1682b8021494Sopenharmony_ci    {{al, r12, r5, LSL, r4}, false, al, "al r12 r5 LSL r4", "al_r12_r5_LSL_r4"},
1683b8021494Sopenharmony_ci    {{al, r8, r5, LSL, r11}, false, al, "al r8 r5 LSL r11", "al_r8_r5_LSL_r11"},
1684b8021494Sopenharmony_ci    {{al, r4, r6, ASR, r10}, false, al, "al r4 r6 ASR r10", "al_r4_r6_ASR_r10"},
1685b8021494Sopenharmony_ci    {{al, r13, r5, ASR, r6}, false, al, "al r13 r5 ASR r6", "al_r13_r5_ASR_r6"},
1686b8021494Sopenharmony_ci    {{al, r5, r6, LSL, r12}, false, al, "al r5 r6 LSL r12", "al_r5_r6_LSL_r12"},
1687b8021494Sopenharmony_ci    {{al, r13, r1, ASR, r8}, false, al, "al r13 r1 ASR r8", "al_r13_r1_ASR_r8"},
1688b8021494Sopenharmony_ci    {{al, r7, r10, ROR, r1}, false, al, "al r7 r10 ROR r1", "al_r7_r10_ROR_r1"},
1689b8021494Sopenharmony_ci    {{al, r13, r4, ASR, r4}, false, al, "al r13 r4 ASR r4", "al_r13_r4_ASR_r4"},
1690b8021494Sopenharmony_ci    {{al, r6, r13, LSR, r8}, false, al, "al r6 r13 LSR r8", "al_r6_r13_LSR_r8"},
1691b8021494Sopenharmony_ci    {{al, r2, r13, ROR, r3}, false, al, "al r2 r13 ROR r3", "al_r2_r13_ROR_r3"},
1692b8021494Sopenharmony_ci    {{al, r0, r9, ASR, r0}, false, al, "al r0 r9 ASR r0", "al_r0_r9_ASR_r0"},
1693b8021494Sopenharmony_ci    {{al, r1, r4, LSR, r9}, false, al, "al r1 r4 LSR r9", "al_r1_r4_LSR_r9"},
1694b8021494Sopenharmony_ci    {{al, r6, r3, ROR, r7}, false, al, "al r6 r3 ROR r7", "al_r6_r3_ROR_r7"},
1695b8021494Sopenharmony_ci    {{al, r14, r4, LSR, r1}, false, al, "al r14 r4 LSR r1", "al_r14_r4_LSR_r1"},
1696b8021494Sopenharmony_ci    {{al, r13, r14, LSL, r2},
1697b8021494Sopenharmony_ci     false,
1698b8021494Sopenharmony_ci     al,
1699b8021494Sopenharmony_ci     "al r13 r14 LSL r2",
1700b8021494Sopenharmony_ci     "al_r13_r14_LSL_r2"},
1701b8021494Sopenharmony_ci    {{al, r14, r2, LSL, r6}, false, al, "al r14 r2 LSL r6", "al_r14_r2_LSL_r6"},
1702b8021494Sopenharmony_ci    {{al, r5, r4, ROR, r12}, false, al, "al r5 r4 ROR r12", "al_r5_r4_ROR_r12"},
1703b8021494Sopenharmony_ci    {{al, r11, r10, ROR, r7},
1704b8021494Sopenharmony_ci     false,
1705b8021494Sopenharmony_ci     al,
1706b8021494Sopenharmony_ci     "al r11 r10 ROR r7",
1707b8021494Sopenharmony_ci     "al_r11_r10_ROR_r7"},
1708b8021494Sopenharmony_ci    {{al, r5, r11, ROR, r1}, false, al, "al r5 r11 ROR r1", "al_r5_r11_ROR_r1"},
1709b8021494Sopenharmony_ci    {{al, r13, r11, LSL, r11},
1710b8021494Sopenharmony_ci     false,
1711b8021494Sopenharmony_ci     al,
1712b8021494Sopenharmony_ci     "al r13 r11 LSL r11",
1713b8021494Sopenharmony_ci     "al_r13_r11_LSL_r11"},
1714b8021494Sopenharmony_ci    {{al, r12, r1, ROR, r5}, false, al, "al r12 r1 ROR r5", "al_r12_r1_ROR_r5"},
1715b8021494Sopenharmony_ci    {{al, r3, r7, LSL, r7}, false, al, "al r3 r7 LSL r7", "al_r3_r7_LSL_r7"},
1716b8021494Sopenharmony_ci    {{al, r14, r0, ROR, r9}, false, al, "al r14 r0 ROR r9", "al_r14_r0_ROR_r9"},
1717b8021494Sopenharmony_ci    {{al, r3, r2, ASR, r7}, false, al, "al r3 r2 ASR r7", "al_r3_r2_ASR_r7"},
1718b8021494Sopenharmony_ci    {{al, r0, r6, ASR, r6}, false, al, "al r0 r6 ASR r6", "al_r0_r6_ASR_r6"},
1719b8021494Sopenharmony_ci    {{al, r11, r5, LSR, r4}, false, al, "al r11 r5 LSR r4", "al_r11_r5_LSR_r4"},
1720b8021494Sopenharmony_ci    {{al, r1, r12, ROR, r6}, false, al, "al r1 r12 ROR r6", "al_r1_r12_ROR_r6"},
1721b8021494Sopenharmony_ci    {{al, r1, r9, ROR, r2}, false, al, "al r1 r9 ROR r2", "al_r1_r9_ROR_r2"},
1722b8021494Sopenharmony_ci    {{al, r1, r13, ASR, r4}, false, al, "al r1 r13 ASR r4", "al_r1_r13_ASR_r4"},
1723b8021494Sopenharmony_ci    {{al, r10, r3, ROR, r5}, false, al, "al r10 r3 ROR r5", "al_r10_r3_ROR_r5"},
1724b8021494Sopenharmony_ci    {{al, r0, r4, LSL, r9}, false, al, "al r0 r4 LSL r9", "al_r0_r4_LSL_r9"},
1725b8021494Sopenharmony_ci    {{al, r1, r4, LSR, r10}, false, al, "al r1 r4 LSR r10", "al_r1_r4_LSR_r10"},
1726b8021494Sopenharmony_ci    {{al, r12, r11, LSR, r4},
1727b8021494Sopenharmony_ci     false,
1728b8021494Sopenharmony_ci     al,
1729b8021494Sopenharmony_ci     "al r12 r11 LSR r4",
1730b8021494Sopenharmony_ci     "al_r12_r11_LSR_r4"},
1731b8021494Sopenharmony_ci    {{al, r5, r11, LSL, r1}, false, al, "al r5 r11 LSL r1", "al_r5_r11_LSL_r1"},
1732b8021494Sopenharmony_ci    {{al, r8, r9, LSR, r8}, false, al, "al r8 r9 LSR r8", "al_r8_r9_LSR_r8"},
1733b8021494Sopenharmony_ci    {{al, r1, r12, ASR, r14},
1734b8021494Sopenharmony_ci     false,
1735b8021494Sopenharmony_ci     al,
1736b8021494Sopenharmony_ci     "al r1 r12 ASR r14",
1737b8021494Sopenharmony_ci     "al_r1_r12_ASR_r14"},
1738b8021494Sopenharmony_ci    {{al, r7, r9, ASR, r10}, false, al, "al r7 r9 ASR r10", "al_r7_r9_ASR_r10"},
1739b8021494Sopenharmony_ci    {{al, r9, r0, ROR, r7}, false, al, "al r9 r0 ROR r7", "al_r9_r0_ROR_r7"},
1740b8021494Sopenharmony_ci    {{al, r9, r5, ASR, r11}, false, al, "al r9 r5 ASR r11", "al_r9_r5_ASR_r11"},
1741b8021494Sopenharmony_ci    {{al, r11, r11, ROR, r2},
1742b8021494Sopenharmony_ci     false,
1743b8021494Sopenharmony_ci     al,
1744b8021494Sopenharmony_ci     "al r11 r11 ROR r2",
1745b8021494Sopenharmony_ci     "al_r11_r11_ROR_r2"},
1746b8021494Sopenharmony_ci    {{al, r3, r10, ASR, r2}, false, al, "al r3 r10 ASR r2", "al_r3_r10_ASR_r2"},
1747b8021494Sopenharmony_ci    {{al, r10, r11, LSL, r9},
1748b8021494Sopenharmony_ci     false,
1749b8021494Sopenharmony_ci     al,
1750b8021494Sopenharmony_ci     "al r10 r11 LSL r9",
1751b8021494Sopenharmony_ci     "al_r10_r11_LSL_r9"},
1752b8021494Sopenharmony_ci    {{al, r8, r1, ASR, r8}, false, al, "al r8 r1 ASR r8", "al_r8_r1_ASR_r8"},
1753b8021494Sopenharmony_ci    {{al, r13, r5, LSL, r13},
1754b8021494Sopenharmony_ci     false,
1755b8021494Sopenharmony_ci     al,
1756b8021494Sopenharmony_ci     "al r13 r5 LSL r13",
1757b8021494Sopenharmony_ci     "al_r13_r5_LSL_r13"},
1758b8021494Sopenharmony_ci    {{al, r11, r0, ROR, r11},
1759b8021494Sopenharmony_ci     false,
1760b8021494Sopenharmony_ci     al,
1761b8021494Sopenharmony_ci     "al r11 r0 ROR r11",
1762b8021494Sopenharmony_ci     "al_r11_r0_ROR_r11"},
1763b8021494Sopenharmony_ci    {{al, r4, r4, ROR, r14}, false, al, "al r4 r4 ROR r14", "al_r4_r4_ROR_r14"},
1764b8021494Sopenharmony_ci    {{al, r0, r7, ASR, r2}, false, al, "al r0 r7 ASR r2", "al_r0_r7_ASR_r2"},
1765b8021494Sopenharmony_ci    {{al, r11, r12, LSL, r5},
1766b8021494Sopenharmony_ci     false,
1767b8021494Sopenharmony_ci     al,
1768b8021494Sopenharmony_ci     "al r11 r12 LSL r5",
1769b8021494Sopenharmony_ci     "al_r11_r12_LSL_r5"},
1770b8021494Sopenharmony_ci    {{al, r10, r12, LSL, r4},
1771b8021494Sopenharmony_ci     false,
1772b8021494Sopenharmony_ci     al,
1773b8021494Sopenharmony_ci     "al r10 r12 LSL r4",
1774b8021494Sopenharmony_ci     "al_r10_r12_LSL_r4"},
1775b8021494Sopenharmony_ci    {{al, r0, r13, LSR, r4}, false, al, "al r0 r13 LSR r4", "al_r0_r13_LSR_r4"},
1776b8021494Sopenharmony_ci    {{al, r4, r9, ROR, r6}, false, al, "al r4 r9 ROR r6", "al_r4_r9_ROR_r6"},
1777b8021494Sopenharmony_ci    {{al, r1, r8, LSR, r4}, false, al, "al r1 r8 LSR r4", "al_r1_r8_LSR_r4"},
1778b8021494Sopenharmony_ci    {{al, r8, r8, ASR, r4}, false, al, "al r8 r8 ASR r4", "al_r8_r8_ASR_r4"},
1779b8021494Sopenharmony_ci    {{al, r12, r12, ROR, r6},
1780b8021494Sopenharmony_ci     false,
1781b8021494Sopenharmony_ci     al,
1782b8021494Sopenharmony_ci     "al r12 r12 ROR r6",
1783b8021494Sopenharmony_ci     "al_r12_r12_ROR_r6"},
1784b8021494Sopenharmony_ci    {{al, r4, r5, LSL, r2}, false, al, "al r4 r5 LSL r2", "al_r4_r5_LSL_r2"},
1785b8021494Sopenharmony_ci    {{al, r5, r1, LSR, r5}, false, al, "al r5 r1 LSR r5", "al_r5_r1_LSR_r5"},
1786b8021494Sopenharmony_ci    {{al, r14, r0, LSL, r0}, false, al, "al r14 r0 LSL r0", "al_r14_r0_LSL_r0"},
1787b8021494Sopenharmony_ci    {{al, r13, r7, ASR, r2}, false, al, "al r13 r7 ASR r2", "al_r13_r7_ASR_r2"},
1788b8021494Sopenharmony_ci    {{al, r6, r10, LSL, r10},
1789b8021494Sopenharmony_ci     false,
1790b8021494Sopenharmony_ci     al,
1791b8021494Sopenharmony_ci     "al r6 r10 LSL r10",
1792b8021494Sopenharmony_ci     "al_r6_r10_LSL_r10"},
1793b8021494Sopenharmony_ci    {{al, r1, r11, ASR, r0}, false, al, "al r1 r11 ASR r0", "al_r1_r11_ASR_r0"},
1794b8021494Sopenharmony_ci    {{al, r5, r10, LSL, r9}, false, al, "al r5 r10 LSL r9", "al_r5_r10_LSL_r9"},
1795b8021494Sopenharmony_ci    {{al, r6, r13, ASR, r10},
1796b8021494Sopenharmony_ci     false,
1797b8021494Sopenharmony_ci     al,
1798b8021494Sopenharmony_ci     "al r6 r13 ASR r10",
1799b8021494Sopenharmony_ci     "al_r6_r13_ASR_r10"},
1800b8021494Sopenharmony_ci    {{al, r2, r13, LSR, r3}, false, al, "al r2 r13 LSR r3", "al_r2_r13_LSR_r3"},
1801b8021494Sopenharmony_ci    {{al, r13, r8, LSR, r14},
1802b8021494Sopenharmony_ci     false,
1803b8021494Sopenharmony_ci     al,
1804b8021494Sopenharmony_ci     "al r13 r8 LSR r14",
1805b8021494Sopenharmony_ci     "al_r13_r8_LSR_r14"},
1806b8021494Sopenharmony_ci    {{al, r10, r10, LSL, r0},
1807b8021494Sopenharmony_ci     false,
1808b8021494Sopenharmony_ci     al,
1809b8021494Sopenharmony_ci     "al r10 r10 LSL r0",
1810b8021494Sopenharmony_ci     "al_r10_r10_LSL_r0"},
1811b8021494Sopenharmony_ci    {{al, r6, r14, ASR, r8}, false, al, "al r6 r14 ASR r8", "al_r6_r14_ASR_r8"},
1812b8021494Sopenharmony_ci    {{al, r1, r6, ROR, r4}, false, al, "al r1 r6 ROR r4", "al_r1_r6_ROR_r4"},
1813b8021494Sopenharmony_ci    {{al, r9, r4, ROR, r11}, false, al, "al r9 r4 ROR r11", "al_r9_r4_ROR_r11"},
1814b8021494Sopenharmony_ci    {{al, r2, r1, ROR, r0}, false, al, "al r2 r1 ROR r0", "al_r2_r1_ROR_r0"},
1815b8021494Sopenharmony_ci    {{al, r10, r1, LSL, r1}, false, al, "al r10 r1 LSL r1", "al_r10_r1_LSL_r1"},
1816b8021494Sopenharmony_ci    {{al, r3, r0, LSR, r9}, false, al, "al r3 r0 LSR r9", "al_r3_r0_LSR_r9"},
1817b8021494Sopenharmony_ci    {{al, r0, r13, ROR, r6}, false, al, "al r0 r13 ROR r6", "al_r0_r13_ROR_r6"},
1818b8021494Sopenharmony_ci    {{al, r2, r0, ASR, r9}, false, al, "al r2 r0 ASR r9", "al_r2_r0_ASR_r9"},
1819b8021494Sopenharmony_ci    {{al, r5, r4, ROR, r1}, false, al, "al r5 r4 ROR r1", "al_r5_r4_ROR_r1"},
1820b8021494Sopenharmony_ci    {{al, r0, r10, LSL, r9}, false, al, "al r0 r10 LSL r9", "al_r0_r10_LSL_r9"},
1821b8021494Sopenharmony_ci    {{al, r8, r13, ASR, r7}, false, al, "al r8 r13 ASR r7", "al_r8_r13_ASR_r7"},
1822b8021494Sopenharmony_ci    {{al, r5, r11, ROR, r6}, false, al, "al r5 r11 ROR r6", "al_r5_r11_ROR_r6"},
1823b8021494Sopenharmony_ci    {{al, r1, r3, ASR, r3}, false, al, "al r1 r3 ASR r3", "al_r1_r3_ASR_r3"},
1824b8021494Sopenharmony_ci    {{al, r6, r14, LSR, r0}, false, al, "al r6 r14 LSR r0", "al_r6_r14_LSR_r0"},
1825b8021494Sopenharmony_ci    {{al, r1, r0, ASR, r14}, false, al, "al r1 r0 ASR r14", "al_r1_r0_ASR_r14"},
1826b8021494Sopenharmony_ci    {{al, r12, r13, ASR, r12},
1827b8021494Sopenharmony_ci     false,
1828b8021494Sopenharmony_ci     al,
1829b8021494Sopenharmony_ci     "al r12 r13 ASR r12",
1830b8021494Sopenharmony_ci     "al_r12_r13_ASR_r12"},
1831b8021494Sopenharmony_ci    {{al, r9, r7, ROR, r9}, false, al, "al r9 r7 ROR r9", "al_r9_r7_ROR_r9"},
1832b8021494Sopenharmony_ci    {{al, r14, r10, LSR, r14},
1833b8021494Sopenharmony_ci     false,
1834b8021494Sopenharmony_ci     al,
1835b8021494Sopenharmony_ci     "al r14 r10 LSR r14",
1836b8021494Sopenharmony_ci     "al_r14_r10_LSR_r14"},
1837b8021494Sopenharmony_ci    {{al, r6, r14, ROR, r2}, false, al, "al r6 r14 ROR r2", "al_r6_r14_ROR_r2"},
1838b8021494Sopenharmony_ci    {{al, r6, r11, LSR, r6}, false, al, "al r6 r11 LSR r6", "al_r6_r11_LSR_r6"},
1839b8021494Sopenharmony_ci    {{al, r11, r10, LSR, r5},
1840b8021494Sopenharmony_ci     false,
1841b8021494Sopenharmony_ci     al,
1842b8021494Sopenharmony_ci     "al r11 r10 LSR r5",
1843b8021494Sopenharmony_ci     "al_r11_r10_LSR_r5"},
1844b8021494Sopenharmony_ci    {{al, r4, r11, LSR, r12},
1845b8021494Sopenharmony_ci     false,
1846b8021494Sopenharmony_ci     al,
1847b8021494Sopenharmony_ci     "al r4 r11 LSR r12",
1848b8021494Sopenharmony_ci     "al_r4_r11_LSR_r12"},
1849b8021494Sopenharmony_ci    {{al, r14, r14, ROR, r11},
1850b8021494Sopenharmony_ci     false,
1851b8021494Sopenharmony_ci     al,
1852b8021494Sopenharmony_ci     "al r14 r14 ROR r11",
1853b8021494Sopenharmony_ci     "al_r14_r14_ROR_r11"},
1854b8021494Sopenharmony_ci    {{al, r5, r3, ASR, r14}, false, al, "al r5 r3 ASR r14", "al_r5_r3_ASR_r14"},
1855b8021494Sopenharmony_ci    {{al, r2, r4, ASR, r12}, false, al, "al r2 r4 ASR r12", "al_r2_r4_ASR_r12"},
1856b8021494Sopenharmony_ci    {{al, r11, r3, LSL, r1}, false, al, "al r11 r3 LSL r1", "al_r11_r3_LSL_r1"},
1857b8021494Sopenharmony_ci    {{al, r4, r7, LSR, r13}, false, al, "al r4 r7 LSR r13", "al_r4_r7_LSR_r13"},
1858b8021494Sopenharmony_ci    {{al, r4, r9, ASR, r1}, false, al, "al r4 r9 ASR r1", "al_r4_r9_ASR_r1"},
1859b8021494Sopenharmony_ci    {{al, r13, r11, ROR, r13},
1860b8021494Sopenharmony_ci     false,
1861b8021494Sopenharmony_ci     al,
1862b8021494Sopenharmony_ci     "al r13 r11 ROR r13",
1863b8021494Sopenharmony_ci     "al_r13_r11_ROR_r13"},
1864b8021494Sopenharmony_ci    {{al, r9, r9, LSL, r12}, false, al, "al r9 r9 LSL r12", "al_r9_r9_LSL_r12"},
1865b8021494Sopenharmony_ci    {{al, r6, r11, ROR, r14},
1866b8021494Sopenharmony_ci     false,
1867b8021494Sopenharmony_ci     al,
1868b8021494Sopenharmony_ci     "al r6 r11 ROR r14",
1869b8021494Sopenharmony_ci     "al_r6_r11_ROR_r14"},
1870b8021494Sopenharmony_ci    {{al, r12, r2, ROR, r1}, false, al, "al r12 r2 ROR r1", "al_r12_r2_ROR_r1"},
1871b8021494Sopenharmony_ci    {{al, r7, r0, ROR, r3}, false, al, "al r7 r0 ROR r3", "al_r7_r0_ROR_r3"},
1872b8021494Sopenharmony_ci    {{al, r1, r0, LSL, r13}, false, al, "al r1 r0 LSL r13", "al_r1_r0_LSL_r13"},
1873b8021494Sopenharmony_ci    {{al, r14, r11, ROR, r7},
1874b8021494Sopenharmony_ci     false,
1875b8021494Sopenharmony_ci     al,
1876b8021494Sopenharmony_ci     "al r14 r11 ROR r7",
1877b8021494Sopenharmony_ci     "al_r14_r11_ROR_r7"},
1878b8021494Sopenharmony_ci    {{al, r6, r12, LSR, r10},
1879b8021494Sopenharmony_ci     false,
1880b8021494Sopenharmony_ci     al,
1881b8021494Sopenharmony_ci     "al r6 r12 LSR r10",
1882b8021494Sopenharmony_ci     "al_r6_r12_LSR_r10"},
1883b8021494Sopenharmony_ci    {{al, r8, r6, ROR, r2}, false, al, "al r8 r6 ROR r2", "al_r8_r6_ROR_r2"},
1884b8021494Sopenharmony_ci    {{al, r5, r0, LSR, r1}, false, al, "al r5 r0 LSR r1", "al_r5_r0_LSR_r1"},
1885b8021494Sopenharmony_ci    {{al, r8, r10, ASR, r3}, false, al, "al r8 r10 ASR r3", "al_r8_r10_ASR_r3"},
1886b8021494Sopenharmony_ci    {{al, r5, r1, ROR, r6}, false, al, "al r5 r1 ROR r6", "al_r5_r1_ROR_r6"},
1887b8021494Sopenharmony_ci    {{al, r6, r14, ASR, r1}, false, al, "al r6 r14 ASR r1", "al_r6_r14_ASR_r1"},
1888b8021494Sopenharmony_ci    {{al, r5, r13, ASR, r6}, false, al, "al r5 r13 ASR r6", "al_r5_r13_ASR_r6"},
1889b8021494Sopenharmony_ci    {{al, r1, r14, ASR, r10},
1890b8021494Sopenharmony_ci     false,
1891b8021494Sopenharmony_ci     al,
1892b8021494Sopenharmony_ci     "al r1 r14 ASR r10",
1893b8021494Sopenharmony_ci     "al_r1_r14_ASR_r10"},
1894b8021494Sopenharmony_ci    {{al, r9, r1, LSR, r11}, false, al, "al r9 r1 LSR r11", "al_r9_r1_LSR_r11"},
1895b8021494Sopenharmony_ci    {{al, r6, r0, LSR, r13}, false, al, "al r6 r0 LSR r13", "al_r6_r0_LSR_r13"},
1896b8021494Sopenharmony_ci    {{al, r2, r12, LSL, r12},
1897b8021494Sopenharmony_ci     false,
1898b8021494Sopenharmony_ci     al,
1899b8021494Sopenharmony_ci     "al r2 r12 LSL r12",
1900b8021494Sopenharmony_ci     "al_r2_r12_LSL_r12"},
1901b8021494Sopenharmony_ci    {{al, r0, r0, LSR, r7}, false, al, "al r0 r0 LSR r7", "al_r0_r0_LSR_r7"},
1902b8021494Sopenharmony_ci    {{al, r3, r10, LSR, r10},
1903b8021494Sopenharmony_ci     false,
1904b8021494Sopenharmony_ci     al,
1905b8021494Sopenharmony_ci     "al r3 r10 LSR r10",
1906b8021494Sopenharmony_ci     "al_r3_r10_LSR_r10"},
1907b8021494Sopenharmony_ci    {{al, r6, r6, ASR, r4}, false, al, "al r6 r6 ASR r4", "al_r6_r6_ASR_r4"},
1908b8021494Sopenharmony_ci    {{al, r2, r13, ASR, r1}, false, al, "al r2 r13 ASR r1", "al_r2_r13_ASR_r1"},
1909b8021494Sopenharmony_ci    {{al, r12, r8, LSR, r7}, false, al, "al r12 r8 LSR r7", "al_r12_r8_LSR_r7"},
1910b8021494Sopenharmony_ci    {{al, r11, r14, ROR, r14},
1911b8021494Sopenharmony_ci     false,
1912b8021494Sopenharmony_ci     al,
1913b8021494Sopenharmony_ci     "al r11 r14 ROR r14",
1914b8021494Sopenharmony_ci     "al_r11_r14_ROR_r14"},
1915b8021494Sopenharmony_ci    {{al, r13, r2, ROR, r13},
1916b8021494Sopenharmony_ci     false,
1917b8021494Sopenharmony_ci     al,
1918b8021494Sopenharmony_ci     "al r13 r2 ROR r13",
1919b8021494Sopenharmony_ci     "al_r13_r2_ROR_r13"},
1920b8021494Sopenharmony_ci    {{al, r12, r9, LSL, r4}, false, al, "al r12 r9 LSL r4", "al_r12_r9_LSL_r4"},
1921b8021494Sopenharmony_ci    {{al, r12, r11, LSL, r14},
1922b8021494Sopenharmony_ci     false,
1923b8021494Sopenharmony_ci     al,
1924b8021494Sopenharmony_ci     "al r12 r11 LSL r14",
1925b8021494Sopenharmony_ci     "al_r12_r11_LSL_r14"},
1926b8021494Sopenharmony_ci    {{al, r9, r10, LSR, r7}, false, al, "al r9 r10 LSR r7", "al_r9_r10_LSR_r7"},
1927b8021494Sopenharmony_ci    {{al, r7, r11, LSL, r4}, false, al, "al r7 r11 LSL r4", "al_r7_r11_LSL_r4"},
1928b8021494Sopenharmony_ci    {{al, r4, r7, LSL, r5}, false, al, "al r4 r7 LSL r5", "al_r4_r7_LSL_r5"},
1929b8021494Sopenharmony_ci    {{al, r0, r9, ROR, r12}, false, al, "al r0 r9 ROR r12", "al_r0_r9_ROR_r12"},
1930b8021494Sopenharmony_ci    {{al, r12, r0, LSL, r5}, false, al, "al r12 r0 LSL r5", "al_r12_r0_LSL_r5"},
1931b8021494Sopenharmony_ci    {{al, r0, r13, LSR, r1}, false, al, "al r0 r13 LSR r1", "al_r0_r13_LSR_r1"},
1932b8021494Sopenharmony_ci    {{al, r10, r11, LSR, r4},
1933b8021494Sopenharmony_ci     false,
1934b8021494Sopenharmony_ci     al,
1935b8021494Sopenharmony_ci     "al r10 r11 LSR r4",
1936b8021494Sopenharmony_ci     "al_r10_r11_LSR_r4"},
1937b8021494Sopenharmony_ci    {{al, r1, r2, LSR, r13}, false, al, "al r1 r2 LSR r13", "al_r1_r2_LSR_r13"},
1938b8021494Sopenharmony_ci    {{al, r0, r0, ROR, r3}, false, al, "al r0 r0 ROR r3", "al_r0_r0_ROR_r3"},
1939b8021494Sopenharmony_ci    {{al, r13, r7, LSL, r3}, false, al, "al r13 r7 LSL r3", "al_r13_r7_LSL_r3"},
1940b8021494Sopenharmony_ci    {{al, r9, r10, LSL, r7}, false, al, "al r9 r10 LSL r7", "al_r9_r10_LSL_r7"},
1941b8021494Sopenharmony_ci    {{al, r6, r11, LSL, r9}, false, al, "al r6 r11 LSL r9", "al_r6_r11_LSL_r9"},
1942b8021494Sopenharmony_ci    {{al, r12, r14, ASR, r0},
1943b8021494Sopenharmony_ci     false,
1944b8021494Sopenharmony_ci     al,
1945b8021494Sopenharmony_ci     "al r12 r14 ASR r0",
1946b8021494Sopenharmony_ci     "al_r12_r14_ASR_r0"},
1947b8021494Sopenharmony_ci    {{al, r2, r12, ROR, r13},
1948b8021494Sopenharmony_ci     false,
1949b8021494Sopenharmony_ci     al,
1950b8021494Sopenharmony_ci     "al r2 r12 ROR r13",
1951b8021494Sopenharmony_ci     "al_r2_r12_ROR_r13"},
1952b8021494Sopenharmony_ci    {{al, r1, r13, LSL, r9}, false, al, "al r1 r13 LSL r9", "al_r1_r13_LSL_r9"},
1953b8021494Sopenharmony_ci    {{al, r13, r12, LSR, r11},
1954b8021494Sopenharmony_ci     false,
1955b8021494Sopenharmony_ci     al,
1956b8021494Sopenharmony_ci     "al r13 r12 LSR r11",
1957b8021494Sopenharmony_ci     "al_r13_r12_LSR_r11"},
1958b8021494Sopenharmony_ci    {{al, r10, r2, ASR, r3}, false, al, "al r10 r2 ASR r3", "al_r10_r2_ASR_r3"},
1959b8021494Sopenharmony_ci    {{al, r2, r4, LSL, r14}, false, al, "al r2 r4 LSL r14", "al_r2_r4_LSL_r14"},
1960b8021494Sopenharmony_ci    {{al, r9, r9, LSL, r2}, false, al, "al r9 r9 LSL r2", "al_r9_r9_LSL_r2"},
1961b8021494Sopenharmony_ci    {{al, r6, r10, ASR, r12},
1962b8021494Sopenharmony_ci     false,
1963b8021494Sopenharmony_ci     al,
1964b8021494Sopenharmony_ci     "al r6 r10 ASR r12",
1965b8021494Sopenharmony_ci     "al_r6_r10_ASR_r12"},
1966b8021494Sopenharmony_ci    {{al, r2, r7, ROR, r0}, false, al, "al r2 r7 ROR r0", "al_r2_r7_ROR_r0"},
1967b8021494Sopenharmony_ci    {{al, r1, r12, ROR, r1}, false, al, "al r1 r12 ROR r1", "al_r1_r12_ROR_r1"},
1968b8021494Sopenharmony_ci    {{al, r5, r10, LSR, r6}, false, al, "al r5 r10 LSR r6", "al_r5_r10_LSR_r6"},
1969b8021494Sopenharmony_ci    {{al, r2, r7, ROR, r4}, false, al, "al r2 r7 ROR r4", "al_r2_r7_ROR_r4"},
1970b8021494Sopenharmony_ci    {{al, r8, r5, ROR, r7}, false, al, "al r8 r5 ROR r7", "al_r8_r5_ROR_r7"},
1971b8021494Sopenharmony_ci    {{al, r11, r9, LSR, r14},
1972b8021494Sopenharmony_ci     false,
1973b8021494Sopenharmony_ci     al,
1974b8021494Sopenharmony_ci     "al r11 r9 LSR r14",
1975b8021494Sopenharmony_ci     "al_r11_r9_LSR_r14"},
1976b8021494Sopenharmony_ci    {{al, r3, r1, ASR, r8}, false, al, "al r3 r1 ASR r8", "al_r3_r1_ASR_r8"},
1977b8021494Sopenharmony_ci    {{al, r4, r1, ROR, r14}, false, al, "al r4 r1 ROR r14", "al_r4_r1_ROR_r14"},
1978b8021494Sopenharmony_ci    {{al, r7, r12, ROR, r12},
1979b8021494Sopenharmony_ci     false,
1980b8021494Sopenharmony_ci     al,
1981b8021494Sopenharmony_ci     "al r7 r12 ROR r12",
1982b8021494Sopenharmony_ci     "al_r7_r12_ROR_r12"},
1983b8021494Sopenharmony_ci    {{al, r9, r1, LSR, r4}, false, al, "al r9 r1 LSR r4", "al_r9_r1_LSR_r4"},
1984b8021494Sopenharmony_ci    {{al, r4, r13, ROR, r11},
1985b8021494Sopenharmony_ci     false,
1986b8021494Sopenharmony_ci     al,
1987b8021494Sopenharmony_ci     "al r4 r13 ROR r11",
1988b8021494Sopenharmony_ci     "al_r4_r13_ROR_r11"},
1989b8021494Sopenharmony_ci    {{al, r3, r2, ROR, r10}, false, al, "al r3 r2 ROR r10", "al_r3_r2_ROR_r10"},
1990b8021494Sopenharmony_ci    {{al, r14, r4, ASR, r4}, false, al, "al r14 r4 ASR r4", "al_r14_r4_ASR_r4"},
1991b8021494Sopenharmony_ci    {{al, r10, r14, LSR, r1},
1992b8021494Sopenharmony_ci     false,
1993b8021494Sopenharmony_ci     al,
1994b8021494Sopenharmony_ci     "al r10 r14 LSR r1",
1995b8021494Sopenharmony_ci     "al_r10_r14_LSR_r1"},
1996b8021494Sopenharmony_ci    {{al, r0, r7, ROR, r8}, false, al, "al r0 r7 ROR r8", "al_r0_r7_ROR_r8"},
1997b8021494Sopenharmony_ci    {{al, r0, r0, LSL, r11}, false, al, "al r0 r0 LSL r11", "al_r0_r0_LSL_r11"},
1998b8021494Sopenharmony_ci    {{al, r1, r0, ROR, r3}, false, al, "al r1 r0 ROR r3", "al_r1_r0_ROR_r3"},
1999b8021494Sopenharmony_ci    {{al, r8, r0, ASR, r13}, false, al, "al r8 r0 ASR r13", "al_r8_r0_ASR_r13"},
2000b8021494Sopenharmony_ci    {{al, r1, r0, LSR, r1}, false, al, "al r1 r0 LSR r1", "al_r1_r0_LSR_r1"},
2001b8021494Sopenharmony_ci    {{al, r2, r10, LSR, r5}, false, al, "al r2 r10 LSR r5", "al_r2_r10_LSR_r5"},
2002b8021494Sopenharmony_ci    {{al, r14, r14, ASR, r1},
2003b8021494Sopenharmony_ci     false,
2004b8021494Sopenharmony_ci     al,
2005b8021494Sopenharmony_ci     "al r14 r14 ASR r1",
2006b8021494Sopenharmony_ci     "al_r14_r14_ASR_r1"},
2007b8021494Sopenharmony_ci    {{al, r9, r7, ASR, r0}, false, al, "al r9 r7 ASR r0", "al_r9_r7_ASR_r0"},
2008b8021494Sopenharmony_ci    {{al, r9, r2, LSL, r1}, false, al, "al r9 r2 LSL r1", "al_r9_r2_LSL_r1"},
2009b8021494Sopenharmony_ci    {{al, r12, r2, LSL, r13},
2010b8021494Sopenharmony_ci     false,
2011b8021494Sopenharmony_ci     al,
2012b8021494Sopenharmony_ci     "al r12 r2 LSL r13",
2013b8021494Sopenharmony_ci     "al_r12_r2_LSL_r13"},
2014b8021494Sopenharmony_ci    {{al, r12, r12, LSL, r3},
2015b8021494Sopenharmony_ci     false,
2016b8021494Sopenharmony_ci     al,
2017b8021494Sopenharmony_ci     "al r12 r12 LSL r3",
2018b8021494Sopenharmony_ci     "al_r12_r12_LSL_r3"},
2019b8021494Sopenharmony_ci    {{al, r12, r6, LSR, r14},
2020b8021494Sopenharmony_ci     false,
2021b8021494Sopenharmony_ci     al,
2022b8021494Sopenharmony_ci     "al r12 r6 LSR r14",
2023b8021494Sopenharmony_ci     "al_r12_r6_LSR_r14"},
2024b8021494Sopenharmony_ci    {{al, r2, r4, LSL, r4}, false, al, "al r2 r4 LSL r4", "al_r2_r4_LSL_r4"},
2025b8021494Sopenharmony_ci    {{al, r11, r9, LSR, r13},
2026b8021494Sopenharmony_ci     false,
2027b8021494Sopenharmony_ci     al,
2028b8021494Sopenharmony_ci     "al r11 r9 LSR r13",
2029b8021494Sopenharmony_ci     "al_r11_r9_LSR_r13"},
2030b8021494Sopenharmony_ci    {{al, r12, r0, ROR, r14},
2031b8021494Sopenharmony_ci     false,
2032b8021494Sopenharmony_ci     al,
2033b8021494Sopenharmony_ci     "al r12 r0 ROR r14",
2034b8021494Sopenharmony_ci     "al_r12_r0_ROR_r14"},
2035b8021494Sopenharmony_ci    {{al, r14, r8, LSL, r5}, false, al, "al r14 r8 LSL r5", "al_r14_r8_LSL_r5"},
2036b8021494Sopenharmony_ci    {{al, r6, r12, ASR, r12},
2037b8021494Sopenharmony_ci     false,
2038b8021494Sopenharmony_ci     al,
2039b8021494Sopenharmony_ci     "al r6 r12 ASR r12",
2040b8021494Sopenharmony_ci     "al_r6_r12_ASR_r12"},
2041b8021494Sopenharmony_ci    {{al, r5, r14, ROR, r3}, false, al, "al r5 r14 ROR r3", "al_r5_r14_ROR_r3"},
2042b8021494Sopenharmony_ci    {{al, r10, r7, LSR, r14},
2043b8021494Sopenharmony_ci     false,
2044b8021494Sopenharmony_ci     al,
2045b8021494Sopenharmony_ci     "al r10 r7 LSR r14",
2046b8021494Sopenharmony_ci     "al_r10_r7_LSR_r14"},
2047b8021494Sopenharmony_ci    {{al, r12, r5, LSL, r0}, false, al, "al r12 r5 LSL r0", "al_r12_r5_LSL_r0"},
2048b8021494Sopenharmony_ci    {{al, r6, r8, ASR, r14}, false, al, "al r6 r8 ASR r14", "al_r6_r8_ASR_r14"},
2049b8021494Sopenharmony_ci    {{al, r10, r7, ROR, r11},
2050b8021494Sopenharmony_ci     false,
2051b8021494Sopenharmony_ci     al,
2052b8021494Sopenharmony_ci     "al r10 r7 ROR r11",
2053b8021494Sopenharmony_ci     "al_r10_r7_ROR_r11"},
2054b8021494Sopenharmony_ci    {{al, r0, r0, LSL, r6}, false, al, "al r0 r0 LSL r6", "al_r0_r0_LSL_r6"},
2055b8021494Sopenharmony_ci    {{al, r1, r3, LSR, r13}, false, al, "al r1 r3 LSR r13", "al_r1_r3_LSR_r13"},
2056b8021494Sopenharmony_ci    {{al, r10, r9, ROR, r1}, false, al, "al r10 r9 ROR r1", "al_r10_r9_ROR_r1"},
2057b8021494Sopenharmony_ci    {{al, r2, r4, LSL, r6}, false, al, "al r2 r4 LSL r6", "al_r2_r4_LSL_r6"},
2058b8021494Sopenharmony_ci    {{al, r13, r11, ROR, r12},
2059b8021494Sopenharmony_ci     false,
2060b8021494Sopenharmony_ci     al,
2061b8021494Sopenharmony_ci     "al r13 r11 ROR r12",
2062b8021494Sopenharmony_ci     "al_r13_r11_ROR_r12"},
2063b8021494Sopenharmony_ci    {{al, r1, r1, LSL, r1}, false, al, "al r1 r1 LSL r1", "al_r1_r1_LSL_r1"},
2064b8021494Sopenharmony_ci    {{al, r0, r7, ASR, r0}, false, al, "al r0 r7 ASR r0", "al_r0_r7_ASR_r0"},
2065b8021494Sopenharmony_ci    {{al, r10, r9, LSL, r9}, false, al, "al r10 r9 LSL r9", "al_r10_r9_LSL_r9"},
2066b8021494Sopenharmony_ci    {{al, r8, r10, LSR, r12},
2067b8021494Sopenharmony_ci     false,
2068b8021494Sopenharmony_ci     al,
2069b8021494Sopenharmony_ci     "al r8 r10 LSR r12",
2070b8021494Sopenharmony_ci     "al_r8_r10_LSR_r12"},
2071b8021494Sopenharmony_ci    {{al, r1, r1, ROR, r0}, false, al, "al r1 r1 ROR r0", "al_r1_r1_ROR_r0"},
2072b8021494Sopenharmony_ci    {{al, r3, r6, LSR, r8}, false, al, "al r3 r6 LSR r8", "al_r3_r6_LSR_r8"},
2073b8021494Sopenharmony_ci    {{al, r4, r1, LSL, r10}, false, al, "al r4 r1 LSL r10", "al_r4_r1_LSL_r10"},
2074b8021494Sopenharmony_ci    {{al, r0, r9, ASR, r13}, false, al, "al r0 r9 ASR r13", "al_r0_r9_ASR_r13"},
2075b8021494Sopenharmony_ci    {{al, r5, r8, ROR, r13}, false, al, "al r5 r8 ROR r13", "al_r5_r8_ROR_r13"},
2076b8021494Sopenharmony_ci    {{al, r5, r0, ROR, r0}, false, al, "al r5 r0 ROR r0", "al_r5_r0_ROR_r0"},
2077b8021494Sopenharmony_ci    {{al, r2, r5, ASR, r6}, false, al, "al r2 r5 ASR r6", "al_r2_r5_ASR_r6"},
2078b8021494Sopenharmony_ci    {{al, r4, r10, ROR, r10},
2079b8021494Sopenharmony_ci     false,
2080b8021494Sopenharmony_ci     al,
2081b8021494Sopenharmony_ci     "al r4 r10 ROR r10",
2082b8021494Sopenharmony_ci     "al_r4_r10_ROR_r10"},
2083b8021494Sopenharmony_ci    {{al, r10, r2, LSL, r11},
2084b8021494Sopenharmony_ci     false,
2085b8021494Sopenharmony_ci     al,
2086b8021494Sopenharmony_ci     "al r10 r2 LSL r11",
2087b8021494Sopenharmony_ci     "al_r10_r2_LSL_r11"},
2088b8021494Sopenharmony_ci    {{al, r8, r13, LSR, r12},
2089b8021494Sopenharmony_ci     false,
2090b8021494Sopenharmony_ci     al,
2091b8021494Sopenharmony_ci     "al r8 r13 LSR r12",
2092b8021494Sopenharmony_ci     "al_r8_r13_LSR_r12"},
2093b8021494Sopenharmony_ci    {{al, r7, r7, ASR, r2}, false, al, "al r7 r7 ASR r2", "al_r7_r7_ASR_r2"},
2094b8021494Sopenharmony_ci    {{al, r11, r2, LSR, r11},
2095b8021494Sopenharmony_ci     false,
2096b8021494Sopenharmony_ci     al,
2097b8021494Sopenharmony_ci     "al r11 r2 LSR r11",
2098b8021494Sopenharmony_ci     "al_r11_r2_LSR_r11"},
2099b8021494Sopenharmony_ci    {{al, r11, r7, LSR, r5}, false, al, "al r11 r7 LSR r5", "al_r11_r7_LSR_r5"},
2100b8021494Sopenharmony_ci    {{al, r5, r10, LSL, r4}, false, al, "al r5 r10 LSL r4", "al_r5_r10_LSL_r4"},
2101b8021494Sopenharmony_ci    {{al, r10, r13, ROR, r13},
2102b8021494Sopenharmony_ci     false,
2103b8021494Sopenharmony_ci     al,
2104b8021494Sopenharmony_ci     "al r10 r13 ROR r13",
2105b8021494Sopenharmony_ci     "al_r10_r13_ROR_r13"},
2106b8021494Sopenharmony_ci    {{al, r10, r11, ROR, r11},
2107b8021494Sopenharmony_ci     false,
2108b8021494Sopenharmony_ci     al,
2109b8021494Sopenharmony_ci     "al r10 r11 ROR r11",
2110b8021494Sopenharmony_ci     "al_r10_r11_ROR_r11"},
2111b8021494Sopenharmony_ci    {{al, r12, r11, ASR, r13},
2112b8021494Sopenharmony_ci     false,
2113b8021494Sopenharmony_ci     al,
2114b8021494Sopenharmony_ci     "al r12 r11 ASR r13",
2115b8021494Sopenharmony_ci     "al_r12_r11_ASR_r13"},
2116b8021494Sopenharmony_ci    {{al, r9, r3, ASR, r0}, false, al, "al r9 r3 ASR r0", "al_r9_r3_ASR_r0"},
2117b8021494Sopenharmony_ci    {{al, r3, r8, ASR, r2}, false, al, "al r3 r8 ASR r2", "al_r3_r8_ASR_r2"},
2118b8021494Sopenharmony_ci    {{al, r11, r11, LSR, r13},
2119b8021494Sopenharmony_ci     false,
2120b8021494Sopenharmony_ci     al,
2121b8021494Sopenharmony_ci     "al r11 r11 LSR r13",
2122b8021494Sopenharmony_ci     "al_r11_r11_LSR_r13"},
2123b8021494Sopenharmony_ci    {{al, r4, r9, ASR, r9}, false, al, "al r4 r9 ASR r9", "al_r4_r9_ASR_r9"},
2124b8021494Sopenharmony_ci    {{al, r1, r13, LSL, r12},
2125b8021494Sopenharmony_ci     false,
2126b8021494Sopenharmony_ci     al,
2127b8021494Sopenharmony_ci     "al r1 r13 LSL r12",
2128b8021494Sopenharmony_ci     "al_r1_r13_LSL_r12"},
2129b8021494Sopenharmony_ci    {{al, r7, r7, ROR, r4}, false, al, "al r7 r7 ROR r4", "al_r7_r7_ROR_r4"},
2130b8021494Sopenharmony_ci    {{al, r7, r6, LSL, r3}, false, al, "al r7 r6 LSL r3", "al_r7_r6_LSL_r3"},
2131b8021494Sopenharmony_ci    {{al, r12, r12, ASR, r7},
2132b8021494Sopenharmony_ci     false,
2133b8021494Sopenharmony_ci     al,
2134b8021494Sopenharmony_ci     "al r12 r12 ASR r7",
2135b8021494Sopenharmony_ci     "al_r12_r12_ASR_r7"},
2136b8021494Sopenharmony_ci    {{al, r0, r13, LSR, r8}, false, al, "al r0 r13 LSR r8", "al_r0_r13_LSR_r8"},
2137b8021494Sopenharmony_ci    {{al, r6, r3, ROR, r6}, false, al, "al r6 r3 ROR r6", "al_r6_r3_ROR_r6"},
2138b8021494Sopenharmony_ci    {{al, r0, r7, ROR, r9}, false, al, "al r0 r7 ROR r9", "al_r0_r7_ROR_r9"},
2139b8021494Sopenharmony_ci    {{al, r9, r3, ROR, r13}, false, al, "al r9 r3 ROR r13", "al_r9_r3_ROR_r13"},
2140b8021494Sopenharmony_ci    {{al, r3, r8, LSR, r4}, false, al, "al r3 r8 LSR r4", "al_r3_r8_LSR_r4"},
2141b8021494Sopenharmony_ci    {{al, r5, r10, ROR, r4},
2142b8021494Sopenharmony_ci     false,
2143b8021494Sopenharmony_ci     al,
2144b8021494Sopenharmony_ci     "al r5 r10 ROR r4",
2145b8021494Sopenharmony_ci     "al_r5_r10_ROR_"
2146b8021494Sopenharmony_ci     "r4"}};
2147b8021494Sopenharmony_ci
2148b8021494Sopenharmony_ci// These headers each contain an array of `TestResult` with the reference output
2149b8021494Sopenharmony_ci// values. The reference arrays are names `kReference{mnemonic}`.
2150b8021494Sopenharmony_ci#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-mov-t32.h"
2151b8021494Sopenharmony_ci#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-movs-t32.h"
2152b8021494Sopenharmony_ci
2153b8021494Sopenharmony_ci
2154b8021494Sopenharmony_ci// The maximum number of errors to report in detail for each test.
2155b8021494Sopenharmony_ciconst unsigned kErrorReportLimit = 8;
2156b8021494Sopenharmony_ci
2157b8021494Sopenharmony_citypedef void (MacroAssembler::*Fn)(Condition cond,
2158b8021494Sopenharmony_ci                                   Register rd,
2159b8021494Sopenharmony_ci                                   const Operand& op);
2160b8021494Sopenharmony_ci
2161b8021494Sopenharmony_civoid TestHelper(Fn instruction,
2162b8021494Sopenharmony_ci                const char* mnemonic,
2163b8021494Sopenharmony_ci                const TestResult reference[]) {
2164b8021494Sopenharmony_ci  unsigned total_error_count = 0;
2165b8021494Sopenharmony_ci  MacroAssembler masm(BUF_SIZE);
2166b8021494Sopenharmony_ci
2167b8021494Sopenharmony_ci  masm.UseT32();
2168b8021494Sopenharmony_ci
2169b8021494Sopenharmony_ci  for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
2170b8021494Sopenharmony_ci    // Values to pass to the macro-assembler.
2171b8021494Sopenharmony_ci    Condition cond = kTests[i].operands.cond;
2172b8021494Sopenharmony_ci    Register rd = kTests[i].operands.rd;
2173b8021494Sopenharmony_ci    Register rn = kTests[i].operands.rn;
2174b8021494Sopenharmony_ci    ShiftType shift = kTests[i].operands.shift;
2175b8021494Sopenharmony_ci    Register rs = kTests[i].operands.rs;
2176b8021494Sopenharmony_ci    Operand op(rn, shift, rs);
2177b8021494Sopenharmony_ci
2178b8021494Sopenharmony_ci    int32_t start = masm.GetCursorOffset();
2179b8021494Sopenharmony_ci    {
2180b8021494Sopenharmony_ci      // We never generate more that 4 bytes, as IT instructions are only
2181b8021494Sopenharmony_ci      // allowed for narrow encodings.
2182b8021494Sopenharmony_ci      ExactAssemblyScope scope(&masm, 4, ExactAssemblyScope::kMaximumSize);
2183b8021494Sopenharmony_ci      if (kTests[i].in_it_block) {
2184b8021494Sopenharmony_ci        masm.it(kTests[i].it_condition);
2185b8021494Sopenharmony_ci      }
2186b8021494Sopenharmony_ci      (masm.*instruction)(cond, rd, op);
2187b8021494Sopenharmony_ci    }
2188b8021494Sopenharmony_ci    int32_t end = masm.GetCursorOffset();
2189b8021494Sopenharmony_ci
2190b8021494Sopenharmony_ci    const byte* result_ptr =
2191b8021494Sopenharmony_ci        masm.GetBuffer()->GetOffsetAddress<const byte*>(start);
2192b8021494Sopenharmony_ci    VIXL_ASSERT(start < end);
2193b8021494Sopenharmony_ci    uint32_t result_size = end - start;
2194b8021494Sopenharmony_ci
2195b8021494Sopenharmony_ci    if (Test::generate_test_trace()) {
2196b8021494Sopenharmony_ci      // Print the result bytes.
2197b8021494Sopenharmony_ci      printf("const byte kInstruction_%s_%s[] = {\n",
2198b8021494Sopenharmony_ci             mnemonic,
2199b8021494Sopenharmony_ci             kTests[i].identifier);
2200b8021494Sopenharmony_ci      for (uint32_t j = 0; j < result_size; j++) {
2201b8021494Sopenharmony_ci        if (j == 0) {
2202b8021494Sopenharmony_ci          printf("  0x%02" PRIx8, result_ptr[j]);
2203b8021494Sopenharmony_ci        } else {
2204b8021494Sopenharmony_ci          printf(", 0x%02" PRIx8, result_ptr[j]);
2205b8021494Sopenharmony_ci        }
2206b8021494Sopenharmony_ci      }
2207b8021494Sopenharmony_ci      // This comment is meant to be used by external tools to validate
2208b8021494Sopenharmony_ci      // the encoding. We can parse the comment to figure out what
2209b8021494Sopenharmony_ci      // instruction this corresponds to.
2210b8021494Sopenharmony_ci      if (kTests[i].in_it_block) {
2211b8021494Sopenharmony_ci        printf(" // It %s; %s %s\n};\n",
2212b8021494Sopenharmony_ci               kTests[i].it_condition.GetName(),
2213b8021494Sopenharmony_ci               mnemonic,
2214b8021494Sopenharmony_ci               kTests[i].operands_description);
2215b8021494Sopenharmony_ci      } else {
2216b8021494Sopenharmony_ci        printf(" // %s %s\n};\n", mnemonic, kTests[i].operands_description);
2217b8021494Sopenharmony_ci      }
2218b8021494Sopenharmony_ci    } else {
2219b8021494Sopenharmony_ci      // Check we've emitted the exact same encoding as present in the
2220b8021494Sopenharmony_ci      // trace file. Only print up to `kErrorReportLimit` errors.
2221b8021494Sopenharmony_ci      if (((result_size != reference[i].size) ||
2222b8021494Sopenharmony_ci           (memcmp(result_ptr, reference[i].encoding, reference[i].size) !=
2223b8021494Sopenharmony_ci            0)) &&
2224b8021494Sopenharmony_ci          (++total_error_count <= kErrorReportLimit)) {
2225b8021494Sopenharmony_ci        printf("Error when testing \"%s\" with operands \"%s\":\n",
2226b8021494Sopenharmony_ci               mnemonic,
2227b8021494Sopenharmony_ci               kTests[i].operands_description);
2228b8021494Sopenharmony_ci        printf("  Expected: ");
2229b8021494Sopenharmony_ci        for (uint32_t j = 0; j < reference[i].size; j++) {
2230b8021494Sopenharmony_ci          if (j == 0) {
2231b8021494Sopenharmony_ci            printf("0x%02" PRIx8, reference[i].encoding[j]);
2232b8021494Sopenharmony_ci          } else {
2233b8021494Sopenharmony_ci            printf(", 0x%02" PRIx8, reference[i].encoding[j]);
2234b8021494Sopenharmony_ci          }
2235b8021494Sopenharmony_ci        }
2236b8021494Sopenharmony_ci        printf("\n");
2237b8021494Sopenharmony_ci        printf("  Found:    ");
2238b8021494Sopenharmony_ci        for (uint32_t j = 0; j < result_size; j++) {
2239b8021494Sopenharmony_ci          if (j == 0) {
2240b8021494Sopenharmony_ci            printf("0x%02" PRIx8, result_ptr[j]);
2241b8021494Sopenharmony_ci          } else {
2242b8021494Sopenharmony_ci            printf(", 0x%02" PRIx8, result_ptr[j]);
2243b8021494Sopenharmony_ci          }
2244b8021494Sopenharmony_ci        }
2245b8021494Sopenharmony_ci        printf("\n");
2246b8021494Sopenharmony_ci      }
2247b8021494Sopenharmony_ci    }
2248b8021494Sopenharmony_ci  }
2249b8021494Sopenharmony_ci
2250b8021494Sopenharmony_ci  masm.FinalizeCode();
2251b8021494Sopenharmony_ci
2252b8021494Sopenharmony_ci  if (Test::generate_test_trace()) {
2253b8021494Sopenharmony_ci    // Finalize the trace file by writing the final `TestResult` array
2254b8021494Sopenharmony_ci    // which links all generated instruction encodings.
2255b8021494Sopenharmony_ci    printf("const TestResult kReference%s[] = {\n", mnemonic);
2256b8021494Sopenharmony_ci    for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
2257b8021494Sopenharmony_ci      printf("  {\n");
2258b8021494Sopenharmony_ci      printf("    ARRAY_SIZE(kInstruction_%s_%s),\n",
2259b8021494Sopenharmony_ci             mnemonic,
2260b8021494Sopenharmony_ci             kTests[i].identifier);
2261b8021494Sopenharmony_ci      printf("    kInstruction_%s_%s,\n", mnemonic, kTests[i].identifier);
2262b8021494Sopenharmony_ci      printf("  },\n");
2263b8021494Sopenharmony_ci    }
2264b8021494Sopenharmony_ci    printf("};\n");
2265b8021494Sopenharmony_ci  } else {
2266b8021494Sopenharmony_ci    if (total_error_count > kErrorReportLimit) {
2267b8021494Sopenharmony_ci      printf("%u other errors follow.\n",
2268b8021494Sopenharmony_ci             total_error_count - kErrorReportLimit);
2269b8021494Sopenharmony_ci    }
2270b8021494Sopenharmony_ci    // Crash if the test failed.
2271b8021494Sopenharmony_ci    VIXL_CHECK(total_error_count == 0);
2272b8021494Sopenharmony_ci  }
2273b8021494Sopenharmony_ci}
2274b8021494Sopenharmony_ci
2275b8021494Sopenharmony_ci// Instantiate tests for each instruction in the list.
2276b8021494Sopenharmony_ci#define TEST(mnemonic)                                                      \
2277b8021494Sopenharmony_ci  void Test_##mnemonic() {                                                  \
2278b8021494Sopenharmony_ci    TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic); \
2279b8021494Sopenharmony_ci  }                                                                         \
2280b8021494Sopenharmony_ci  Test test_##mnemonic(                                                     \
2281b8021494Sopenharmony_ci      "AARCH32_ASSEMBLER_COND_RD_OPERAND_RN_SHIFT_RS_" #mnemonic "_T32",    \
2282b8021494Sopenharmony_ci      &Test_##mnemonic);
2283b8021494Sopenharmony_ciFOREACH_INSTRUCTION(TEST)
2284b8021494Sopenharmony_ci#undef TEST
2285b8021494Sopenharmony_ci
2286b8021494Sopenharmony_ci}  // namespace
2287b8021494Sopenharmony_ci#endif
2288b8021494Sopenharmony_ci
2289b8021494Sopenharmony_ci}  // namespace aarch32
2290b8021494Sopenharmony_ci}  // namespace vixl
2291