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(cmn)                       \
53b8021494Sopenharmony_ci  M(cmp)                       \
54b8021494Sopenharmony_ci  M(mov)                       \
55b8021494Sopenharmony_ci  M(movs)                      \
56b8021494Sopenharmony_ci  M(mvn)                       \
57b8021494Sopenharmony_ci  M(mvns)                      \
58b8021494Sopenharmony_ci  M(teq)                       \
59b8021494Sopenharmony_ci  M(tst)
60b8021494Sopenharmony_ci
61b8021494Sopenharmony_ci
62b8021494Sopenharmony_ci// The following definitions are defined again in each generated test, therefore
63b8021494Sopenharmony_ci// we need to place them in an anonymous namespace. It expresses that they are
64b8021494Sopenharmony_ci// local to this file only, and the compiler is not allowed to share these types
65b8021494Sopenharmony_ci// across test files during template instantiation. Specifically, `Operands` has
66b8021494Sopenharmony_ci// various layouts across generated tests so it absolutely cannot be shared.
67b8021494Sopenharmony_ci
68b8021494Sopenharmony_ci#ifdef VIXL_INCLUDE_TARGET_A32
69b8021494Sopenharmony_cinamespace {
70b8021494Sopenharmony_ci
71b8021494Sopenharmony_ci// Values to be passed to the assembler to produce the instruction under test.
72b8021494Sopenharmony_cistruct Operands {
73b8021494Sopenharmony_ci  Condition cond;
74b8021494Sopenharmony_ci  Register rd;
75b8021494Sopenharmony_ci  Register rn;
76b8021494Sopenharmony_ci  ShiftType shift;
77b8021494Sopenharmony_ci  Register rs;
78b8021494Sopenharmony_ci};
79b8021494Sopenharmony_ci
80b8021494Sopenharmony_ci// This structure contains all data needed to test one specific
81b8021494Sopenharmony_ci// instruction.
82b8021494Sopenharmony_cistruct TestData {
83b8021494Sopenharmony_ci  // The `operands` field represents what to pass to the assembler to
84b8021494Sopenharmony_ci  // produce the instruction.
85b8021494Sopenharmony_ci  Operands operands;
86b8021494Sopenharmony_ci  // True if we need to generate an IT instruction for this test to be valid.
87b8021494Sopenharmony_ci  bool in_it_block;
88b8021494Sopenharmony_ci  // The condition to give the IT instruction, this will be set to "al" by
89b8021494Sopenharmony_ci  // default.
90b8021494Sopenharmony_ci  Condition it_condition;
91b8021494Sopenharmony_ci  // Description of the operands, used for error reporting.
92b8021494Sopenharmony_ci  const char* operands_description;
93b8021494Sopenharmony_ci  // Unique identifier, used for generating traces.
94b8021494Sopenharmony_ci  const char* identifier;
95b8021494Sopenharmony_ci};
96b8021494Sopenharmony_ci
97b8021494Sopenharmony_cistruct TestResult {
98b8021494Sopenharmony_ci  size_t size;
99b8021494Sopenharmony_ci  const byte* encoding;
100b8021494Sopenharmony_ci};
101b8021494Sopenharmony_ci
102b8021494Sopenharmony_ci// Each element of this array produce one instruction encoding.
103b8021494Sopenharmony_ciconst TestData kTests[] = {
104b8021494Sopenharmony_ci    {{gt, r13, r11, LSL, r12},
105b8021494Sopenharmony_ci     false,
106b8021494Sopenharmony_ci     al,
107b8021494Sopenharmony_ci     "gt r13 r11 LSL r12",
108b8021494Sopenharmony_ci     "gt_r13_r11_LSL_r12"},
109b8021494Sopenharmony_ci    {{gt, r12, r4, LSR, r6}, false, al, "gt r12 r4 LSR r6", "gt_r12_r4_LSR_r6"},
110b8021494Sopenharmony_ci    {{ge, r11, r13, ROR, r2},
111b8021494Sopenharmony_ci     false,
112b8021494Sopenharmony_ci     al,
113b8021494Sopenharmony_ci     "ge r11 r13 ROR r2",
114b8021494Sopenharmony_ci     "ge_r11_r13_ROR_r2"},
115b8021494Sopenharmony_ci    {{hi, r9, r8, ASR, r10}, false, al, "hi r9 r8 ASR r10", "hi_r9_r8_ASR_r10"},
116b8021494Sopenharmony_ci    {{al, r9, r10, LSL, r4}, false, al, "al r9 r10 LSL r4", "al_r9_r10_LSL_r4"},
117b8021494Sopenharmony_ci    {{gt, r4, r11, LSR, r4}, false, al, "gt r4 r11 LSR r4", "gt_r4_r11_LSR_r4"},
118b8021494Sopenharmony_ci    {{vc, r4, r6, ASR, r11}, false, al, "vc r4 r6 ASR r11", "vc_r4_r6_ASR_r11"},
119b8021494Sopenharmony_ci    {{mi, r9, r14, LSR, r9}, false, al, "mi r9 r14 LSR r9", "mi_r9_r14_LSR_r9"},
120b8021494Sopenharmony_ci    {{ne, r5, r10, LSR, r8}, false, al, "ne r5 r10 LSR r8", "ne_r5_r10_LSR_r8"},
121b8021494Sopenharmony_ci    {{eq, r3, r0, ROR, r11}, false, al, "eq r3 r0 ROR r11", "eq_r3_r0_ROR_r11"},
122b8021494Sopenharmony_ci    {{gt, r9, r11, LSL, r12},
123b8021494Sopenharmony_ci     false,
124b8021494Sopenharmony_ci     al,
125b8021494Sopenharmony_ci     "gt r9 r11 LSL r12",
126b8021494Sopenharmony_ci     "gt_r9_r11_LSL_r12"},
127b8021494Sopenharmony_ci    {{ge, r14, r6, ROR, r13},
128b8021494Sopenharmony_ci     false,
129b8021494Sopenharmony_ci     al,
130b8021494Sopenharmony_ci     "ge r14 r6 ROR r13",
131b8021494Sopenharmony_ci     "ge_r14_r6_ROR_r13"},
132b8021494Sopenharmony_ci    {{vc, r14, r14, LSR, r11},
133b8021494Sopenharmony_ci     false,
134b8021494Sopenharmony_ci     al,
135b8021494Sopenharmony_ci     "vc r14 r14 LSR r11",
136b8021494Sopenharmony_ci     "vc_r14_r14_LSR_r11"},
137b8021494Sopenharmony_ci    {{cc, r6, r3, LSL, r2}, false, al, "cc r6 r3 LSL r2", "cc_r6_r3_LSL_r2"},
138b8021494Sopenharmony_ci    {{ge, r4, r6, ROR, r7}, false, al, "ge r4 r6 ROR r7", "ge_r4_r6_ROR_r7"},
139b8021494Sopenharmony_ci    {{vs, r13, r3, LSR, r12},
140b8021494Sopenharmony_ci     false,
141b8021494Sopenharmony_ci     al,
142b8021494Sopenharmony_ci     "vs r13 r3 LSR r12",
143b8021494Sopenharmony_ci     "vs_r13_r3_LSR_r12"},
144b8021494Sopenharmony_ci    {{ge, r8, r11, LSR, r13},
145b8021494Sopenharmony_ci     false,
146b8021494Sopenharmony_ci     al,
147b8021494Sopenharmony_ci     "ge r8 r11 LSR r13",
148b8021494Sopenharmony_ci     "ge_r8_r11_LSR_r13"},
149b8021494Sopenharmony_ci    {{cc, r5, r0, LSR, r10}, false, al, "cc r5 r0 LSR r10", "cc_r5_r0_LSR_r10"},
150b8021494Sopenharmony_ci    {{lt, r7, r12, ASR, r7}, false, al, "lt r7 r12 ASR r7", "lt_r7_r12_ASR_r7"},
151b8021494Sopenharmony_ci    {{cc, r14, r1, LSR, r14},
152b8021494Sopenharmony_ci     false,
153b8021494Sopenharmony_ci     al,
154b8021494Sopenharmony_ci     "cc r14 r1 LSR r14",
155b8021494Sopenharmony_ci     "cc_r14_r1_LSR_r14"},
156b8021494Sopenharmony_ci    {{vs, r10, r1, LSR, r1}, false, al, "vs r10 r1 LSR r1", "vs_r10_r1_LSR_r1"},
157b8021494Sopenharmony_ci    {{lt, r5, r0, ASR, r2}, false, al, "lt r5 r0 ASR r2", "lt_r5_r0_ASR_r2"},
158b8021494Sopenharmony_ci    {{ne, r6, r3, LSL, r2}, false, al, "ne r6 r3 LSL r2", "ne_r6_r3_LSL_r2"},
159b8021494Sopenharmony_ci    {{vs, r5, r5, LSL, r13}, false, al, "vs r5 r5 LSL r13", "vs_r5_r5_LSL_r13"},
160b8021494Sopenharmony_ci    {{hi, r9, r11, ROR, r13},
161b8021494Sopenharmony_ci     false,
162b8021494Sopenharmony_ci     al,
163b8021494Sopenharmony_ci     "hi r9 r11 ROR r13",
164b8021494Sopenharmony_ci     "hi_r9_r11_ROR_r13"},
165b8021494Sopenharmony_ci    {{vs, r0, r2, LSL, r6}, false, al, "vs r0 r2 LSL r6", "vs_r0_r2_LSL_r6"},
166b8021494Sopenharmony_ci    {{le, r7, r1, ASR, r0}, false, al, "le r7 r1 ASR r0", "le_r7_r1_ASR_r0"},
167b8021494Sopenharmony_ci    {{ge, r2, r12, LSL, r10},
168b8021494Sopenharmony_ci     false,
169b8021494Sopenharmony_ci     al,
170b8021494Sopenharmony_ci     "ge r2 r12 LSL r10",
171b8021494Sopenharmony_ci     "ge_r2_r12_LSL_r10"},
172b8021494Sopenharmony_ci    {{vc, r14, r1, ASR, r9}, false, al, "vc r14 r1 ASR r9", "vc_r14_r1_ASR_r9"},
173b8021494Sopenharmony_ci    {{lt, r5, r1, ROR, r5}, false, al, "lt r5 r1 ROR r5", "lt_r5_r1_ROR_r5"},
174b8021494Sopenharmony_ci    {{eq, r5, r12, ROR, r0}, false, al, "eq r5 r12 ROR r0", "eq_r5_r12_ROR_r0"},
175b8021494Sopenharmony_ci    {{pl, r7, r7, ASR, r9}, false, al, "pl r7 r7 ASR r9", "pl_r7_r7_ASR_r9"},
176b8021494Sopenharmony_ci    {{eq, r3, r10, LSR, r9}, false, al, "eq r3 r10 LSR r9", "eq_r3_r10_LSR_r9"},
177b8021494Sopenharmony_ci    {{ge, r0, r5, LSR, r13}, false, al, "ge r0 r5 LSR r13", "ge_r0_r5_LSR_r13"},
178b8021494Sopenharmony_ci    {{cc, r13, r1, ASR, r6}, false, al, "cc r13 r1 ASR r6", "cc_r13_r1_ASR_r6"},
179b8021494Sopenharmony_ci    {{cs, r12, r3, ASR, r12},
180b8021494Sopenharmony_ci     false,
181b8021494Sopenharmony_ci     al,
182b8021494Sopenharmony_ci     "cs r12 r3 ASR r12",
183b8021494Sopenharmony_ci     "cs_r12_r3_ASR_r12"},
184b8021494Sopenharmony_ci    {{al, r12, r10, ROR, r0},
185b8021494Sopenharmony_ci     false,
186b8021494Sopenharmony_ci     al,
187b8021494Sopenharmony_ci     "al r12 r10 ROR r0",
188b8021494Sopenharmony_ci     "al_r12_r10_ROR_r0"},
189b8021494Sopenharmony_ci    {{al, r6, r13, LSL, r0}, false, al, "al r6 r13 LSL r0", "al_r6_r13_LSL_r0"},
190b8021494Sopenharmony_ci    {{cc, r14, r14, ROR, r0},
191b8021494Sopenharmony_ci     false,
192b8021494Sopenharmony_ci     al,
193b8021494Sopenharmony_ci     "cc r14 r14 ROR r0",
194b8021494Sopenharmony_ci     "cc_r14_r14_ROR_r0"},
195b8021494Sopenharmony_ci    {{ge, r2, r14, ROR, r9}, false, al, "ge r2 r14 ROR r9", "ge_r2_r14_ROR_r9"},
196b8021494Sopenharmony_ci    {{hi, r5, r10, LSL, r8}, false, al, "hi r5 r10 LSL r8", "hi_r5_r10_LSL_r8"},
197b8021494Sopenharmony_ci    {{ge, r13, r5, LSL, r7}, false, al, "ge r13 r5 LSL r7", "ge_r13_r5_LSL_r7"},
198b8021494Sopenharmony_ci    {{cc, r12, r10, ASR, r4},
199b8021494Sopenharmony_ci     false,
200b8021494Sopenharmony_ci     al,
201b8021494Sopenharmony_ci     "cc r12 r10 ASR r4",
202b8021494Sopenharmony_ci     "cc_r12_r10_ASR_r4"},
203b8021494Sopenharmony_ci    {{ls, r12, r3, LSL, r7}, false, al, "ls r12 r3 LSL r7", "ls_r12_r3_LSL_r7"},
204b8021494Sopenharmony_ci    {{cs, r2, r9, ASR, r8}, false, al, "cs r2 r9 ASR r8", "cs_r2_r9_ASR_r8"},
205b8021494Sopenharmony_ci    {{vs, r1, r5, LSR, r1}, false, al, "vs r1 r5 LSR r1", "vs_r1_r5_LSR_r1"},
206b8021494Sopenharmony_ci    {{cs, r7, r14, ASR, r9}, false, al, "cs r7 r14 ASR r9", "cs_r7_r14_ASR_r9"},
207b8021494Sopenharmony_ci    {{hi, r6, r10, ASR, r0}, false, al, "hi r6 r10 ASR r0", "hi_r6_r10_ASR_r0"},
208b8021494Sopenharmony_ci    {{pl, r13, r8, ASR, r13},
209b8021494Sopenharmony_ci     false,
210b8021494Sopenharmony_ci     al,
211b8021494Sopenharmony_ci     "pl r13 r8 ASR r13",
212b8021494Sopenharmony_ci     "pl_r13_r8_ASR_r13"},
213b8021494Sopenharmony_ci    {{vs, r1, r0, ROR, r2}, false, al, "vs r1 r0 ROR r2", "vs_r1_r0_ROR_r2"},
214b8021494Sopenharmony_ci    {{lt, r14, r0, LSL, r10},
215b8021494Sopenharmony_ci     false,
216b8021494Sopenharmony_ci     al,
217b8021494Sopenharmony_ci     "lt r14 r0 LSL r10",
218b8021494Sopenharmony_ci     "lt_r14_r0_LSL_r10"},
219b8021494Sopenharmony_ci    {{ls, r8, r12, ROR, r14},
220b8021494Sopenharmony_ci     false,
221b8021494Sopenharmony_ci     al,
222b8021494Sopenharmony_ci     "ls r8 r12 ROR r14",
223b8021494Sopenharmony_ci     "ls_r8_r12_ROR_r14"},
224b8021494Sopenharmony_ci    {{al, r11, r2, LSL, r0}, false, al, "al r11 r2 LSL r0", "al_r11_r2_LSL_r0"},
225b8021494Sopenharmony_ci    {{mi, r0, r8, LSR, r7}, false, al, "mi r0 r8 LSR r7", "mi_r0_r8_LSR_r7"},
226b8021494Sopenharmony_ci    {{cc, r3, r5, LSL, r9}, false, al, "cc r3 r5 LSL r9", "cc_r3_r5_LSL_r9"},
227b8021494Sopenharmony_ci    {{vc, r14, r4, ROR, r4}, false, al, "vc r14 r4 ROR r4", "vc_r14_r4_ROR_r4"},
228b8021494Sopenharmony_ci    {{cs, r1, r8, LSR, r7}, false, al, "cs r1 r8 LSR r7", "cs_r1_r8_LSR_r7"},
229b8021494Sopenharmony_ci    {{ls, r6, r5, ASR, r13}, false, al, "ls r6 r5 ASR r13", "ls_r6_r5_ASR_r13"},
230b8021494Sopenharmony_ci    {{pl, r0, r12, LSR, r5}, false, al, "pl r0 r12 LSR r5", "pl_r0_r12_LSR_r5"},
231b8021494Sopenharmony_ci    {{lt, r9, r7, ROR, r2}, false, al, "lt r9 r7 ROR r2", "lt_r9_r7_ROR_r2"},
232b8021494Sopenharmony_ci    {{ne, r6, r13, ASR, r13},
233b8021494Sopenharmony_ci     false,
234b8021494Sopenharmony_ci     al,
235b8021494Sopenharmony_ci     "ne r6 r13 ASR r13",
236b8021494Sopenharmony_ci     "ne_r6_r13_ASR_r13"},
237b8021494Sopenharmony_ci    {{cc, r9, r1, LSR, r5}, false, al, "cc r9 r1 LSR r5", "cc_r9_r1_LSR_r5"},
238b8021494Sopenharmony_ci    {{ls, r8, r0, ROR, r10}, false, al, "ls r8 r0 ROR r10", "ls_r8_r0_ROR_r10"},
239b8021494Sopenharmony_ci    {{mi, r9, r8, LSR, r2}, false, al, "mi r9 r8 LSR r2", "mi_r9_r8_LSR_r2"},
240b8021494Sopenharmony_ci    {{pl, r10, r14, ROR, r8},
241b8021494Sopenharmony_ci     false,
242b8021494Sopenharmony_ci     al,
243b8021494Sopenharmony_ci     "pl r10 r14 ROR r8",
244b8021494Sopenharmony_ci     "pl_r10_r14_ROR_r8"},
245b8021494Sopenharmony_ci    {{hi, r4, r6, ROR, r10}, false, al, "hi r4 r6 ROR r10", "hi_r4_r6_ROR_r10"},
246b8021494Sopenharmony_ci    {{vc, r0, r8, ROR, r10}, false, al, "vc r0 r8 ROR r10", "vc_r0_r8_ROR_r10"},
247b8021494Sopenharmony_ci    {{ne, r0, r4, LSR, r11}, false, al, "ne r0 r4 LSR r11", "ne_r0_r4_LSR_r11"},
248b8021494Sopenharmony_ci    {{pl, r0, r13, ROR, r14},
249b8021494Sopenharmony_ci     false,
250b8021494Sopenharmony_ci     al,
251b8021494Sopenharmony_ci     "pl r0 r13 ROR r14",
252b8021494Sopenharmony_ci     "pl_r0_r13_ROR_r14"},
253b8021494Sopenharmony_ci    {{ne, r5, r6, LSL, r5}, false, al, "ne r5 r6 LSL r5", "ne_r5_r6_LSL_r5"},
254b8021494Sopenharmony_ci    {{ge, r8, r3, ROR, r14}, false, al, "ge r8 r3 ROR r14", "ge_r8_r3_ROR_r14"},
255b8021494Sopenharmony_ci    {{ne, r8, r7, LSL, r10}, false, al, "ne r8 r7 LSL r10", "ne_r8_r7_LSL_r10"},
256b8021494Sopenharmony_ci    {{eq, r13, r9, ROR, r13},
257b8021494Sopenharmony_ci     false,
258b8021494Sopenharmony_ci     al,
259b8021494Sopenharmony_ci     "eq r13 r9 ROR r13",
260b8021494Sopenharmony_ci     "eq_r13_r9_ROR_r13"},
261b8021494Sopenharmony_ci    {{eq, r10, r8, ROR, r14},
262b8021494Sopenharmony_ci     false,
263b8021494Sopenharmony_ci     al,
264b8021494Sopenharmony_ci     "eq r10 r8 ROR r14",
265b8021494Sopenharmony_ci     "eq_r10_r8_ROR_r14"},
266b8021494Sopenharmony_ci    {{mi, r1, r8, ROR, r9}, false, al, "mi r1 r8 ROR r9", "mi_r1_r8_ROR_r9"},
267b8021494Sopenharmony_ci    {{le, r10, r8, ROR, r10},
268b8021494Sopenharmony_ci     false,
269b8021494Sopenharmony_ci     al,
270b8021494Sopenharmony_ci     "le r10 r8 ROR r10",
271b8021494Sopenharmony_ci     "le_r10_r8_ROR_r10"},
272b8021494Sopenharmony_ci    {{le, r7, r2, LSR, r11}, false, al, "le r7 r2 LSR r11", "le_r7_r2_LSR_r11"},
273b8021494Sopenharmony_ci    {{le, r11, r9, LSL, r11},
274b8021494Sopenharmony_ci     false,
275b8021494Sopenharmony_ci     al,
276b8021494Sopenharmony_ci     "le r11 r9 LSL r11",
277b8021494Sopenharmony_ci     "le_r11_r9_LSL_r11"},
278b8021494Sopenharmony_ci    {{cc, r5, r5, LSR, r4}, false, al, "cc r5 r5 LSR r4", "cc_r5_r5_LSR_r4"},
279b8021494Sopenharmony_ci    {{al, r9, r5, LSL, r8}, false, al, "al r9 r5 LSL r8", "al_r9_r5_LSL_r8"},
280b8021494Sopenharmony_ci    {{cs, r7, r14, LSL, r8}, false, al, "cs r7 r14 LSL r8", "cs_r7_r14_LSL_r8"},
281b8021494Sopenharmony_ci    {{vc, r9, r9, LSR, r7}, false, al, "vc r9 r9 LSR r7", "vc_r9_r9_LSR_r7"},
282b8021494Sopenharmony_ci    {{al, r13, r9, LSL, r1}, false, al, "al r13 r9 LSL r1", "al_r13_r9_LSL_r1"},
283b8021494Sopenharmony_ci    {{cc, r8, r4, LSR, r14}, false, al, "cc r8 r4 LSR r14", "cc_r8_r4_LSR_r14"},
284b8021494Sopenharmony_ci    {{cc, r14, r3, LSL, r10},
285b8021494Sopenharmony_ci     false,
286b8021494Sopenharmony_ci     al,
287b8021494Sopenharmony_ci     "cc r14 r3 LSL r10",
288b8021494Sopenharmony_ci     "cc_r14_r3_LSL_r10"},
289b8021494Sopenharmony_ci    {{ge, r8, r6, ROR, r14}, false, al, "ge r8 r6 ROR r14", "ge_r8_r6_ROR_r14"},
290b8021494Sopenharmony_ci    {{le, r4, r5, ASR, r5}, false, al, "le r4 r5 ASR r5", "le_r4_r5_ASR_r5"},
291b8021494Sopenharmony_ci    {{vc, r4, r8, LSR, r6}, false, al, "vc r4 r8 LSR r6", "vc_r4_r8_LSR_r6"},
292b8021494Sopenharmony_ci    {{vc, r9, r8, ROR, r14}, false, al, "vc r9 r8 ROR r14", "vc_r9_r8_ROR_r14"},
293b8021494Sopenharmony_ci    {{ne, r7, r5, LSL, r11}, false, al, "ne r7 r5 LSL r11", "ne_r7_r5_LSL_r11"},
294b8021494Sopenharmony_ci    {{vs, r12, r12, ASR, r8},
295b8021494Sopenharmony_ci     false,
296b8021494Sopenharmony_ci     al,
297b8021494Sopenharmony_ci     "vs r12 r12 ASR r8",
298b8021494Sopenharmony_ci     "vs_r12_r12_ASR_r8"},
299b8021494Sopenharmony_ci    {{pl, r2, r14, ASR, r7}, false, al, "pl r2 r14 ASR r7", "pl_r2_r14_ASR_r7"},
300b8021494Sopenharmony_ci    {{cc, r7, r10, ASR, r9}, false, al, "cc r7 r10 ASR r9", "cc_r7_r10_ASR_r9"},
301b8021494Sopenharmony_ci    {{ne, r7, r10, LSL, r11},
302b8021494Sopenharmony_ci     false,
303b8021494Sopenharmony_ci     al,
304b8021494Sopenharmony_ci     "ne r7 r10 LSL r11",
305b8021494Sopenharmony_ci     "ne_r7_r10_LSL_r11"},
306b8021494Sopenharmony_ci    {{vs, r13, r14, ROR, r0},
307b8021494Sopenharmony_ci     false,
308b8021494Sopenharmony_ci     al,
309b8021494Sopenharmony_ci     "vs r13 r14 ROR r0",
310b8021494Sopenharmony_ci     "vs_r13_r14_ROR_r0"},
311b8021494Sopenharmony_ci    {{gt, r4, r12, LSL, r6}, false, al, "gt r4 r12 LSL r6", "gt_r4_r12_LSL_r6"},
312b8021494Sopenharmony_ci    {{ge, r14, r6, ROR, r11},
313b8021494Sopenharmony_ci     false,
314b8021494Sopenharmony_ci     al,
315b8021494Sopenharmony_ci     "ge r14 r6 ROR r11",
316b8021494Sopenharmony_ci     "ge_r14_r6_ROR_r11"},
317b8021494Sopenharmony_ci    {{pl, r2, r14, ASR, r0}, false, al, "pl r2 r14 ASR r0", "pl_r2_r14_ASR_r0"},
318b8021494Sopenharmony_ci    {{gt, r7, r6, LSL, r11}, false, al, "gt r7 r6 LSL r11", "gt_r7_r6_LSL_r11"},
319b8021494Sopenharmony_ci    {{cc, r11, r9, LSL, r11},
320b8021494Sopenharmony_ci     false,
321b8021494Sopenharmony_ci     al,
322b8021494Sopenharmony_ci     "cc r11 r9 LSL r11",
323b8021494Sopenharmony_ci     "cc_r11_r9_LSL_r11"},
324b8021494Sopenharmony_ci    {{ne, r1, r5, ROR, r8}, false, al, "ne r1 r5 ROR r8", "ne_r1_r5_ROR_r8"},
325b8021494Sopenharmony_ci    {{cs, r6, r2, ROR, r6}, false, al, "cs r6 r2 ROR r6", "cs_r6_r2_ROR_r6"},
326b8021494Sopenharmony_ci    {{vc, r1, r14, LSL, r11},
327b8021494Sopenharmony_ci     false,
328b8021494Sopenharmony_ci     al,
329b8021494Sopenharmony_ci     "vc r1 r14 LSL r11",
330b8021494Sopenharmony_ci     "vc_r1_r14_LSL_r11"},
331b8021494Sopenharmony_ci    {{cc, r10, r13, LSL, r11},
332b8021494Sopenharmony_ci     false,
333b8021494Sopenharmony_ci     al,
334b8021494Sopenharmony_ci     "cc r10 r13 LSL r11",
335b8021494Sopenharmony_ci     "cc_r10_r13_LSL_r11"},
336b8021494Sopenharmony_ci    {{mi, r12, r10, ROR, r5},
337b8021494Sopenharmony_ci     false,
338b8021494Sopenharmony_ci     al,
339b8021494Sopenharmony_ci     "mi r12 r10 ROR r5",
340b8021494Sopenharmony_ci     "mi_r12_r10_ROR_r5"},
341b8021494Sopenharmony_ci    {{ls, r2, r11, LSL, r3}, false, al, "ls r2 r11 LSL r3", "ls_r2_r11_LSL_r3"},
342b8021494Sopenharmony_ci    {{lt, r6, r13, LSL, r12},
343b8021494Sopenharmony_ci     false,
344b8021494Sopenharmony_ci     al,
345b8021494Sopenharmony_ci     "lt r6 r13 LSL r12",
346b8021494Sopenharmony_ci     "lt_r6_r13_LSL_r12"},
347b8021494Sopenharmony_ci    {{eq, r2, r14, ASR, r5}, false, al, "eq r2 r14 ASR r5", "eq_r2_r14_ASR_r5"},
348b8021494Sopenharmony_ci    {{eq, r0, r14, LSR, r5}, false, al, "eq r0 r14 LSR r5", "eq_r0_r14_LSR_r5"},
349b8021494Sopenharmony_ci    {{ls, r7, r11, LSL, r1}, false, al, "ls r7 r11 LSL r1", "ls_r7_r11_LSL_r1"},
350b8021494Sopenharmony_ci    {{vs, r14, r13, LSR, r14},
351b8021494Sopenharmony_ci     false,
352b8021494Sopenharmony_ci     al,
353b8021494Sopenharmony_ci     "vs r14 r13 LSR r14",
354b8021494Sopenharmony_ci     "vs_r14_r13_LSR_r14"},
355b8021494Sopenharmony_ci    {{vs, r13, r10, ASR, r3},
356b8021494Sopenharmony_ci     false,
357b8021494Sopenharmony_ci     al,
358b8021494Sopenharmony_ci     "vs r13 r10 ASR r3",
359b8021494Sopenharmony_ci     "vs_r13_r10_ASR_r3"},
360b8021494Sopenharmony_ci    {{gt, r5, r4, LSL, r2}, false, al, "gt r5 r4 LSL r2", "gt_r5_r4_LSL_r2"},
361b8021494Sopenharmony_ci    {{hi, r5, r12, LSR, r10},
362b8021494Sopenharmony_ci     false,
363b8021494Sopenharmony_ci     al,
364b8021494Sopenharmony_ci     "hi r5 r12 LSR r10",
365b8021494Sopenharmony_ci     "hi_r5_r12_LSR_r10"},
366b8021494Sopenharmony_ci    {{mi, r11, r7, ROR, r11},
367b8021494Sopenharmony_ci     false,
368b8021494Sopenharmony_ci     al,
369b8021494Sopenharmony_ci     "mi r11 r7 ROR r11",
370b8021494Sopenharmony_ci     "mi_r11_r7_ROR_r11"},
371b8021494Sopenharmony_ci    {{ne, r10, r7, ROR, r9}, false, al, "ne r10 r7 ROR r9", "ne_r10_r7_ROR_r9"},
372b8021494Sopenharmony_ci    {{ls, r8, r6, ASR, r10}, false, al, "ls r8 r6 ASR r10", "ls_r8_r6_ASR_r10"},
373b8021494Sopenharmony_ci    {{vc, r7, r10, ROR, r9}, false, al, "vc r7 r10 ROR r9", "vc_r7_r10_ROR_r9"},
374b8021494Sopenharmony_ci    {{mi, r8, r3, LSR, r3}, false, al, "mi r8 r3 LSR r3", "mi_r8_r3_LSR_r3"},
375b8021494Sopenharmony_ci    {{lt, r8, r2, ROR, r12}, false, al, "lt r8 r2 ROR r12", "lt_r8_r2_ROR_r12"},
376b8021494Sopenharmony_ci    {{le, r10, r14, LSL, r11},
377b8021494Sopenharmony_ci     false,
378b8021494Sopenharmony_ci     al,
379b8021494Sopenharmony_ci     "le r10 r14 LSL r11",
380b8021494Sopenharmony_ci     "le_r10_r14_LSL_r11"},
381b8021494Sopenharmony_ci    {{pl, r6, r6, LSR, r5}, false, al, "pl r6 r6 LSR r5", "pl_r6_r6_LSR_r5"},
382b8021494Sopenharmony_ci    {{cc, r8, r4, ROR, r2}, false, al, "cc r8 r4 ROR r2", "cc_r8_r4_ROR_r2"},
383b8021494Sopenharmony_ci    {{al, r7, r6, ASR, r2}, false, al, "al r7 r6 ASR r2", "al_r7_r6_ASR_r2"},
384b8021494Sopenharmony_ci    {{ne, r2, r13, ASR, r8}, false, al, "ne r2 r13 ASR r8", "ne_r2_r13_ASR_r8"},
385b8021494Sopenharmony_ci    {{ne, r1, r5, ROR, r12}, false, al, "ne r1 r5 ROR r12", "ne_r1_r5_ROR_r12"},
386b8021494Sopenharmony_ci    {{lt, r10, r6, ROR, r8}, false, al, "lt r10 r6 ROR r8", "lt_r10_r6_ROR_r8"},
387b8021494Sopenharmony_ci    {{cs, r2, r7, LSL, r0}, false, al, "cs r2 r7 LSL r0", "cs_r2_r7_LSL_r0"},
388b8021494Sopenharmony_ci    {{ne, r3, r2, ASR, r4}, false, al, "ne r3 r2 ASR r4", "ne_r3_r2_ASR_r4"},
389b8021494Sopenharmony_ci    {{mi, r4, r1, LSR, r0}, false, al, "mi r4 r1 LSR r0", "mi_r4_r1_LSR_r0"},
390b8021494Sopenharmony_ci    {{lt, r1, r6, LSL, r10}, false, al, "lt r1 r6 LSL r10", "lt_r1_r6_LSL_r10"},
391b8021494Sopenharmony_ci    {{gt, r6, r9, LSL, r13}, false, al, "gt r6 r9 LSL r13", "gt_r6_r9_LSL_r13"},
392b8021494Sopenharmony_ci    {{vc, r5, r2, LSL, r13}, false, al, "vc r5 r2 LSL r13", "vc_r5_r2_LSL_r13"},
393b8021494Sopenharmony_ci    {{ne, r11, r8, ROR, r5}, false, al, "ne r11 r8 ROR r5", "ne_r11_r8_ROR_r5"},
394b8021494Sopenharmony_ci    {{eq, r10, r2, ROR, r12},
395b8021494Sopenharmony_ci     false,
396b8021494Sopenharmony_ci     al,
397b8021494Sopenharmony_ci     "eq r10 r2 ROR r12",
398b8021494Sopenharmony_ci     "eq_r10_r2_ROR_r12"},
399b8021494Sopenharmony_ci    {{ge, r0, r5, LSR, r12}, false, al, "ge r0 r5 LSR r12", "ge_r0_r5_LSR_r12"},
400b8021494Sopenharmony_ci    {{vs, r5, r13, ROR, r9}, false, al, "vs r5 r13 ROR r9", "vs_r5_r13_ROR_r9"},
401b8021494Sopenharmony_ci    {{gt, r0, r6, ASR, r9}, false, al, "gt r0 r6 ASR r9", "gt_r0_r6_ASR_r9"},
402b8021494Sopenharmony_ci    {{hi, r6, r0, LSR, r9}, false, al, "hi r6 r0 LSR r9", "hi_r6_r0_LSR_r9"},
403b8021494Sopenharmony_ci    {{lt, r7, r4, ASR, r9}, false, al, "lt r7 r4 ASR r9", "lt_r7_r4_ASR_r9"},
404b8021494Sopenharmony_ci    {{ge, r5, r0, ROR, r2}, false, al, "ge r5 r0 ROR r2", "ge_r5_r0_ROR_r2"},
405b8021494Sopenharmony_ci    {{ls, r10, r11, ROR, r7},
406b8021494Sopenharmony_ci     false,
407b8021494Sopenharmony_ci     al,
408b8021494Sopenharmony_ci     "ls r10 r11 ROR r7",
409b8021494Sopenharmony_ci     "ls_r10_r11_ROR_r7"},
410b8021494Sopenharmony_ci    {{cs, r7, r1, ASR, r13}, false, al, "cs r7 r1 ASR r13", "cs_r7_r1_ASR_r13"},
411b8021494Sopenharmony_ci    {{pl, r3, r9, ASR, r11}, false, al, "pl r3 r9 ASR r11", "pl_r3_r9_ASR_r11"},
412b8021494Sopenharmony_ci    {{ne, r13, r5, LSR, r2}, false, al, "ne r13 r5 LSR r2", "ne_r13_r5_LSR_r2"},
413b8021494Sopenharmony_ci    {{vc, r5, r8, ASR, r6}, false, al, "vc r5 r8 ASR r6", "vc_r5_r8_ASR_r6"},
414b8021494Sopenharmony_ci    {{ge, r8, r11, ROR, r13},
415b8021494Sopenharmony_ci     false,
416b8021494Sopenharmony_ci     al,
417b8021494Sopenharmony_ci     "ge r8 r11 ROR r13",
418b8021494Sopenharmony_ci     "ge_r8_r11_ROR_r13"},
419b8021494Sopenharmony_ci    {{lt, r0, r10, LSR, r5}, false, al, "lt r0 r10 LSR r5", "lt_r0_r10_LSR_r5"},
420b8021494Sopenharmony_ci    {{vc, r8, r1, ASR, r11}, false, al, "vc r8 r1 ASR r11", "vc_r8_r1_ASR_r11"},
421b8021494Sopenharmony_ci    {{pl, r11, r9, ASR, r9}, false, al, "pl r11 r9 ASR r9", "pl_r11_r9_ASR_r9"},
422b8021494Sopenharmony_ci    {{ls, r3, r1, LSL, r11}, false, al, "ls r3 r1 LSL r11", "ls_r3_r1_LSL_r11"},
423b8021494Sopenharmony_ci    {{hi, r8, r12, ASR, r7}, false, al, "hi r8 r12 ASR r7", "hi_r8_r12_ASR_r7"},
424b8021494Sopenharmony_ci    {{ne, r10, r12, LSR, r9},
425b8021494Sopenharmony_ci     false,
426b8021494Sopenharmony_ci     al,
427b8021494Sopenharmony_ci     "ne r10 r12 LSR r9",
428b8021494Sopenharmony_ci     "ne_r10_r12_LSR_r9"},
429b8021494Sopenharmony_ci    {{ge, r12, r4, ASR, r14},
430b8021494Sopenharmony_ci     false,
431b8021494Sopenharmony_ci     al,
432b8021494Sopenharmony_ci     "ge r12 r4 ASR r14",
433b8021494Sopenharmony_ci     "ge_r12_r4_ASR_r14"},
434b8021494Sopenharmony_ci    {{mi, r6, r2, ROR, r1}, false, al, "mi r6 r2 ROR r1", "mi_r6_r2_ROR_r1"},
435b8021494Sopenharmony_ci    {{ls, r13, r13, LSL, r0},
436b8021494Sopenharmony_ci     false,
437b8021494Sopenharmony_ci     al,
438b8021494Sopenharmony_ci     "ls r13 r13 LSL r0",
439b8021494Sopenharmony_ci     "ls_r13_r13_LSL_r0"},
440b8021494Sopenharmony_ci    {{eq, r8, r10, LSR, r0}, false, al, "eq r8 r10 LSR r0", "eq_r8_r10_LSR_r0"},
441b8021494Sopenharmony_ci    {{gt, r5, r0, ROR, r14}, false, al, "gt r5 r0 ROR r14", "gt_r5_r0_ROR_r14"},
442b8021494Sopenharmony_ci    {{vs, r3, r4, ROR, r3}, false, al, "vs r3 r4 ROR r3", "vs_r3_r4_ROR_r3"},
443b8021494Sopenharmony_ci    {{lt, r5, r13, LSL, r6}, false, al, "lt r5 r13 LSL r6", "lt_r5_r13_LSL_r6"},
444b8021494Sopenharmony_ci    {{cc, r5, r1, ASR, r13}, false, al, "cc r5 r1 ASR r13", "cc_r5_r1_ASR_r13"},
445b8021494Sopenharmony_ci    {{lt, r11, r3, ROR, r7}, false, al, "lt r11 r3 ROR r7", "lt_r11_r3_ROR_r7"},
446b8021494Sopenharmony_ci    {{cs, r12, r2, LSR, r4}, false, al, "cs r12 r2 LSR r4", "cs_r12_r2_LSR_r4"},
447b8021494Sopenharmony_ci    {{vc, r3, r12, LSL, r4}, false, al, "vc r3 r12 LSL r4", "vc_r3_r12_LSL_r4"},
448b8021494Sopenharmony_ci    {{hi, r14, r9, LSL, r5}, false, al, "hi r14 r9 LSL r5", "hi_r14_r9_LSL_r5"},
449b8021494Sopenharmony_ci    {{ls, r10, r4, LSR, r5}, false, al, "ls r10 r4 LSR r5", "ls_r10_r4_LSR_r5"},
450b8021494Sopenharmony_ci    {{ne, r11, r14, ROR, r14},
451b8021494Sopenharmony_ci     false,
452b8021494Sopenharmony_ci     al,
453b8021494Sopenharmony_ci     "ne r11 r14 ROR r14",
454b8021494Sopenharmony_ci     "ne_r11_r14_ROR_r14"},
455b8021494Sopenharmony_ci    {{vc, r11, r12, ASR, r7},
456b8021494Sopenharmony_ci     false,
457b8021494Sopenharmony_ci     al,
458b8021494Sopenharmony_ci     "vc r11 r12 ASR r7",
459b8021494Sopenharmony_ci     "vc_r11_r12_ASR_r7"},
460b8021494Sopenharmony_ci    {{cc, r7, r0, LSR, r3}, false, al, "cc r7 r0 LSR r3", "cc_r7_r0_LSR_r3"},
461b8021494Sopenharmony_ci    {{cs, r1, r8, LSR, r3}, false, al, "cs r1 r8 LSR r3", "cs_r1_r8_LSR_r3"},
462b8021494Sopenharmony_ci    {{mi, r7, r6, LSL, r13}, false, al, "mi r7 r6 LSL r13", "mi_r7_r6_LSL_r13"},
463b8021494Sopenharmony_ci    {{hi, r10, r3, ROR, r7}, false, al, "hi r10 r3 ROR r7", "hi_r10_r3_ROR_r7"},
464b8021494Sopenharmony_ci    {{vs, r2, r11, LSR, r13},
465b8021494Sopenharmony_ci     false,
466b8021494Sopenharmony_ci     al,
467b8021494Sopenharmony_ci     "vs r2 r11 LSR r13",
468b8021494Sopenharmony_ci     "vs_r2_r11_LSR_r13"},
469b8021494Sopenharmony_ci    {{eq, r12, r14, LSL, r2},
470b8021494Sopenharmony_ci     false,
471b8021494Sopenharmony_ci     al,
472b8021494Sopenharmony_ci     "eq r12 r14 LSL r2",
473b8021494Sopenharmony_ci     "eq_r12_r14_LSL_r2"},
474b8021494Sopenharmony_ci    {{vs, r14, r13, LSL, r6},
475b8021494Sopenharmony_ci     false,
476b8021494Sopenharmony_ci     al,
477b8021494Sopenharmony_ci     "vs r14 r13 LSL r6",
478b8021494Sopenharmony_ci     "vs_r14_r13_LSL_r6"},
479b8021494Sopenharmony_ci    {{cs, r1, r0, LSL, r10}, false, al, "cs r1 r0 LSL r10", "cs_r1_r0_LSL_r10"},
480b8021494Sopenharmony_ci    {{ge, r2, r14, LSR, r10},
481b8021494Sopenharmony_ci     false,
482b8021494Sopenharmony_ci     al,
483b8021494Sopenharmony_ci     "ge r2 r14 LSR r10",
484b8021494Sopenharmony_ci     "ge_r2_r14_LSR_r10"},
485b8021494Sopenharmony_ci    {{mi, r14, r10, ROR, r0},
486b8021494Sopenharmony_ci     false,
487b8021494Sopenharmony_ci     al,
488b8021494Sopenharmony_ci     "mi r14 r10 ROR r0",
489b8021494Sopenharmony_ci     "mi_r14_r10_ROR_r0"},
490b8021494Sopenharmony_ci    {{eq, r8, r4, ROR, r4}, false, al, "eq r8 r4 ROR r4", "eq_r8_r4_ROR_r4"},
491b8021494Sopenharmony_ci    {{gt, r4, r9, LSR, r3}, false, al, "gt r4 r9 LSR r3", "gt_r4_r9_LSR_r3"},
492b8021494Sopenharmony_ci    {{ls, r13, r0, ASR, r5}, false, al, "ls r13 r0 ASR r5", "ls_r13_r0_ASR_r5"},
493b8021494Sopenharmony_ci    {{ge, r3, r13, ASR, r12},
494b8021494Sopenharmony_ci     false,
495b8021494Sopenharmony_ci     al,
496b8021494Sopenharmony_ci     "ge r3 r13 ASR r12",
497b8021494Sopenharmony_ci     "ge_r3_r13_ASR_r12"},
498b8021494Sopenharmony_ci    {{vc, r9, r7, LSR, r12}, false, al, "vc r9 r7 LSR r12", "vc_r9_r7_LSR_r12"},
499b8021494Sopenharmony_ci    {{al, r1, r0, LSL, r8}, false, al, "al r1 r0 LSL r8", "al_r1_r0_LSL_r8"},
500b8021494Sopenharmony_ci    {{ls, r11, r7, ROR, r5}, false, al, "ls r11 r7 ROR r5", "ls_r11_r7_ROR_r5"},
501b8021494Sopenharmony_ci    {{vs, r11, r8, LSR, r13},
502b8021494Sopenharmony_ci     false,
503b8021494Sopenharmony_ci     al,
504b8021494Sopenharmony_ci     "vs r11 r8 LSR r13",
505b8021494Sopenharmony_ci     "vs_r11_r8_LSR_r13"},
506b8021494Sopenharmony_ci    {{le, r6, r5, LSR, r3}, false, al, "le r6 r5 LSR r3", "le_r6_r5_LSR_r3"},
507b8021494Sopenharmony_ci    {{cs, r4, r1, LSL, r7}, false, al, "cs r4 r1 LSL r7", "cs_r4_r1_LSL_r7"},
508b8021494Sopenharmony_ci    {{lt, r4, r9, LSL, r2}, false, al, "lt r4 r9 LSL r2", "lt_r4_r9_LSL_r2"},
509b8021494Sopenharmony_ci    {{mi, r12, r1, LSR, r10},
510b8021494Sopenharmony_ci     false,
511b8021494Sopenharmony_ci     al,
512b8021494Sopenharmony_ci     "mi r12 r1 LSR r10",
513b8021494Sopenharmony_ci     "mi_r12_r1_LSR_r10"},
514b8021494Sopenharmony_ci    {{al, r14, r2, LSR, r3}, false, al, "al r14 r2 LSR r3", "al_r14_r2_LSR_r3"},
515b8021494Sopenharmony_ci    {{al, r11, r9, LSL, r4}, false, al, "al r11 r9 LSL r4", "al_r11_r9_LSL_r4"},
516b8021494Sopenharmony_ci    {{hi, r4, r4, ROR, r3}, false, al, "hi r4 r4 ROR r3", "hi_r4_r4_ROR_r3"},
517b8021494Sopenharmony_ci    {{al, r3, r5, ROR, r6}, false, al, "al r3 r5 ROR r6", "al_r3_r5_ROR_r6"},
518b8021494Sopenharmony_ci    {{al, r8, r4, LSR, r7}, false, al, "al r8 r4 LSR r7", "al_r8_r4_LSR_r7"},
519b8021494Sopenharmony_ci    {{vs, r7, r5, LSL, r6}, false, al, "vs r7 r5 LSL r6", "vs_r7_r5_LSL_r6"},
520b8021494Sopenharmony_ci    {{ls, r6, r2, LSL, r8}, false, al, "ls r6 r2 LSL r8", "ls_r6_r2_LSL_r8"},
521b8021494Sopenharmony_ci    {{pl, r4, r12, LSL, r6}, false, al, "pl r4 r12 LSL r6", "pl_r4_r12_LSL_r6"},
522b8021494Sopenharmony_ci    {{ge, r8, r12, LSR, r4}, false, al, "ge r8 r12 LSR r4", "ge_r8_r12_LSR_r4"},
523b8021494Sopenharmony_ci    {{le, r11, r1, ROR, r9}, false, al, "le r11 r1 ROR r9", "le_r11_r1_ROR_r9"},
524b8021494Sopenharmony_ci    {{hi, r1, r13, LSR, r9}, false, al, "hi r1 r13 LSR r9", "hi_r1_r13_LSR_r9"},
525b8021494Sopenharmony_ci    {{cc, r3, r0, LSR, r1}, false, al, "cc r3 r0 LSR r1", "cc_r3_r0_LSR_r1"},
526b8021494Sopenharmony_ci    {{ge, r10, r11, ROR, r0},
527b8021494Sopenharmony_ci     false,
528b8021494Sopenharmony_ci     al,
529b8021494Sopenharmony_ci     "ge r10 r11 ROR r0",
530b8021494Sopenharmony_ci     "ge_r10_r11_ROR_r0"},
531b8021494Sopenharmony_ci    {{pl, r6, r5, ROR, r3}, false, al, "pl r6 r5 ROR r3", "pl_r6_r5_ROR_r3"},
532b8021494Sopenharmony_ci    {{cs, r10, r1, LSR, r12},
533b8021494Sopenharmony_ci     false,
534b8021494Sopenharmony_ci     al,
535b8021494Sopenharmony_ci     "cs r10 r1 LSR r12",
536b8021494Sopenharmony_ci     "cs_r10_r1_LSR_r12"},
537b8021494Sopenharmony_ci    {{ne, r10, r4, LSR, r1}, false, al, "ne r10 r4 LSR r1", "ne_r10_r4_LSR_r1"},
538b8021494Sopenharmony_ci    {{vs, r5, r1, LSL, r7}, false, al, "vs r5 r1 LSL r7", "vs_r5_r1_LSL_r7"},
539b8021494Sopenharmony_ci    {{ge, r10, r2, LSL, r4}, false, al, "ge r10 r2 LSL r4", "ge_r10_r2_LSL_r4"},
540b8021494Sopenharmony_ci    {{vc, r3, r1, ASR, r2}, false, al, "vc r3 r1 ASR r2", "vc_r3_r1_ASR_r2"},
541b8021494Sopenharmony_ci    {{ls, r2, r3, ASR, r14}, false, al, "ls r2 r3 ASR r14", "ls_r2_r3_ASR_r14"},
542b8021494Sopenharmony_ci    {{vs, r1, r1, LSL, r7}, false, al, "vs r1 r1 LSL r7", "vs_r1_r1_LSL_r7"},
543b8021494Sopenharmony_ci    {{gt, r2, r1, LSL, r14}, false, al, "gt r2 r1 LSL r14", "gt_r2_r1_LSL_r14"},
544b8021494Sopenharmony_ci    {{al, r11, r12, ROR, r7},
545b8021494Sopenharmony_ci     false,
546b8021494Sopenharmony_ci     al,
547b8021494Sopenharmony_ci     "al r11 r12 ROR r7",
548b8021494Sopenharmony_ci     "al_r11_r12_ROR_r7"},
549b8021494Sopenharmony_ci    {{eq, r2, r12, LSL, r10},
550b8021494Sopenharmony_ci     false,
551b8021494Sopenharmony_ci     al,
552b8021494Sopenharmony_ci     "eq r2 r12 LSL r10",
553b8021494Sopenharmony_ci     "eq_r2_r12_LSL_r10"},
554b8021494Sopenharmony_ci    {{ls, r7, r2, LSR, r7}, false, al, "ls r7 r2 LSR r7", "ls_r7_r2_LSR_r7"},
555b8021494Sopenharmony_ci    {{ne, r9, r5, ROR, r12}, false, al, "ne r9 r5 ROR r12", "ne_r9_r5_ROR_r12"},
556b8021494Sopenharmony_ci    {{ge, r13, r8, LSR, r12},
557b8021494Sopenharmony_ci     false,
558b8021494Sopenharmony_ci     al,
559b8021494Sopenharmony_ci     "ge r13 r8 LSR r12",
560b8021494Sopenharmony_ci     "ge_r13_r8_LSR_r12"},
561b8021494Sopenharmony_ci    {{ls, r12, r11, ROR, r9},
562b8021494Sopenharmony_ci     false,
563b8021494Sopenharmony_ci     al,
564b8021494Sopenharmony_ci     "ls r12 r11 ROR r9",
565b8021494Sopenharmony_ci     "ls_r12_r11_ROR_r9"},
566b8021494Sopenharmony_ci    {{cc, r13, r5, LSL, r8}, false, al, "cc r13 r5 LSL r8", "cc_r13_r5_LSL_r8"},
567b8021494Sopenharmony_ci    {{ne, r7, r12, LSL, r7}, false, al, "ne r7 r12 LSL r7", "ne_r7_r12_LSL_r7"},
568b8021494Sopenharmony_ci    {{ge, r6, r13, ROR, r2}, false, al, "ge r6 r13 ROR r2", "ge_r6_r13_ROR_r2"},
569b8021494Sopenharmony_ci    {{ne, r8, r7, ROR, r6}, false, al, "ne r8 r7 ROR r6", "ne_r8_r7_ROR_r6"},
570b8021494Sopenharmony_ci    {{cc, r7, r10, ROR, r0}, false, al, "cc r7 r10 ROR r0", "cc_r7_r10_ROR_r0"},
571b8021494Sopenharmony_ci    {{le, r5, r5, ASR, r5}, false, al, "le r5 r5 ASR r5", "le_r5_r5_ASR_r5"},
572b8021494Sopenharmony_ci    {{hi, r14, r7, ROR, r0}, false, al, "hi r14 r7 ROR r0", "hi_r14_r7_ROR_r0"},
573b8021494Sopenharmony_ci    {{vs, r9, r3, LSL, r11}, false, al, "vs r9 r3 LSL r11", "vs_r9_r3_LSL_r11"},
574b8021494Sopenharmony_ci    {{ls, r0, r5, LSL, r11}, false, al, "ls r0 r5 LSL r11", "ls_r0_r5_LSL_r11"},
575b8021494Sopenharmony_ci    {{ne, r12, r3, LSL, r14},
576b8021494Sopenharmony_ci     false,
577b8021494Sopenharmony_ci     al,
578b8021494Sopenharmony_ci     "ne r12 r3 LSL r14",
579b8021494Sopenharmony_ci     "ne_r12_r3_LSL_r14"},
580b8021494Sopenharmony_ci    {{lt, r12, r12, ROR, r4},
581b8021494Sopenharmony_ci     false,
582b8021494Sopenharmony_ci     al,
583b8021494Sopenharmony_ci     "lt r12 r12 ROR r4",
584b8021494Sopenharmony_ci     "lt_r12_r12_ROR_r4"},
585b8021494Sopenharmony_ci    {{gt, r13, r10, LSR, r3},
586b8021494Sopenharmony_ci     false,
587b8021494Sopenharmony_ci     al,
588b8021494Sopenharmony_ci     "gt r13 r10 LSR r3",
589b8021494Sopenharmony_ci     "gt_r13_r10_LSR_r3"},
590b8021494Sopenharmony_ci    {{ls, r11, r2, ASR, r10},
591b8021494Sopenharmony_ci     false,
592b8021494Sopenharmony_ci     al,
593b8021494Sopenharmony_ci     "ls r11 r2 ASR r10",
594b8021494Sopenharmony_ci     "ls_r11_r2_ASR_r10"},
595b8021494Sopenharmony_ci    {{vc, r7, r8, ASR, r13}, false, al, "vc r7 r8 ASR r13", "vc_r7_r8_ASR_r13"},
596b8021494Sopenharmony_ci    {{eq, r8, r3, LSR, r13}, false, al, "eq r8 r3 LSR r13", "eq_r8_r3_LSR_r13"},
597b8021494Sopenharmony_ci    {{mi, r10, r6, LSL, r8}, false, al, "mi r10 r6 LSL r8", "mi_r10_r6_LSL_r8"},
598b8021494Sopenharmony_ci    {{le, r11, r11, LSR, r1},
599b8021494Sopenharmony_ci     false,
600b8021494Sopenharmony_ci     al,
601b8021494Sopenharmony_ci     "le r11 r11 LSR r1",
602b8021494Sopenharmony_ci     "le_r11_r11_LSR_r1"},
603b8021494Sopenharmony_ci    {{vc, r11, r2, ROR, r13},
604b8021494Sopenharmony_ci     false,
605b8021494Sopenharmony_ci     al,
606b8021494Sopenharmony_ci     "vc r11 r2 ROR r13",
607b8021494Sopenharmony_ci     "vc_r11_r2_ROR_r13"},
608b8021494Sopenharmony_ci    {{vs, r8, r9, ASR, r2}, false, al, "vs r8 r9 ASR r2", "vs_r8_r9_ASR_r2"},
609b8021494Sopenharmony_ci    {{pl, r11, r11, ASR, r13},
610b8021494Sopenharmony_ci     false,
611b8021494Sopenharmony_ci     al,
612b8021494Sopenharmony_ci     "pl r11 r11 ASR r13",
613b8021494Sopenharmony_ci     "pl_r11_r11_ASR_r13"},
614b8021494Sopenharmony_ci    {{mi, r14, r1, LSL, r7}, false, al, "mi r14 r1 LSL r7", "mi_r14_r1_LSL_r7"},
615b8021494Sopenharmony_ci    {{mi, r7, r7, LSR, r6}, false, al, "mi r7 r7 LSR r6", "mi_r7_r7_LSR_r6"},
616b8021494Sopenharmony_ci    {{eq, r5, r13, LSR, r8}, false, al, "eq r5 r13 LSR r8", "eq_r5_r13_LSR_r8"},
617b8021494Sopenharmony_ci    {{cs, r8, r7, ASR, r0}, false, al, "cs r8 r7 ASR r0", "cs_r8_r7_ASR_r0"},
618b8021494Sopenharmony_ci    {{pl, r8, r4, LSL, r5}, false, al, "pl r8 r4 LSL r5", "pl_r8_r4_LSL_r5"},
619b8021494Sopenharmony_ci    {{pl, r1, r6, ROR, r2}, false, al, "pl r1 r6 ROR r2", "pl_r1_r6_ROR_r2"},
620b8021494Sopenharmony_ci    {{cc, r13, r14, ASR, r0},
621b8021494Sopenharmony_ci     false,
622b8021494Sopenharmony_ci     al,
623b8021494Sopenharmony_ci     "cc r13 r14 ASR r0",
624b8021494Sopenharmony_ci     "cc_r13_r14_ASR_r0"},
625b8021494Sopenharmony_ci    {{al, r3, r12, LSL, r3}, false, al, "al r3 r12 LSL r3", "al_r3_r12_LSL_r3"},
626b8021494Sopenharmony_ci    {{vs, r12, r10, LSL, r14},
627b8021494Sopenharmony_ci     false,
628b8021494Sopenharmony_ci     al,
629b8021494Sopenharmony_ci     "vs r12 r10 LSL r14",
630b8021494Sopenharmony_ci     "vs_r12_r10_LSL_r14"},
631b8021494Sopenharmony_ci    {{lt, r8, r3, ASR, r0}, false, al, "lt r8 r3 ASR r0", "lt_r8_r3_ASR_r0"},
632b8021494Sopenharmony_ci    {{pl, r0, r13, LSL, r2}, false, al, "pl r0 r13 LSL r2", "pl_r0_r13_LSL_r2"},
633b8021494Sopenharmony_ci    {{gt, r8, r2, LSL, r4}, false, al, "gt r8 r2 LSL r4", "gt_r8_r2_LSL_r4"},
634b8021494Sopenharmony_ci    {{mi, r13, r0, LSL, r8}, false, al, "mi r13 r0 LSL r8", "mi_r13_r0_LSL_r8"},
635b8021494Sopenharmony_ci    {{eq, r1, r10, LSL, r14},
636b8021494Sopenharmony_ci     false,
637b8021494Sopenharmony_ci     al,
638b8021494Sopenharmony_ci     "eq r1 r10 LSL r14",
639b8021494Sopenharmony_ci     "eq_r1_r10_LSL_r14"},
640b8021494Sopenharmony_ci    {{hi, r8, r11, ASR, r10},
641b8021494Sopenharmony_ci     false,
642b8021494Sopenharmony_ci     al,
643b8021494Sopenharmony_ci     "hi r8 r11 ASR r10",
644b8021494Sopenharmony_ci     "hi_r8_r11_ASR_r10"},
645b8021494Sopenharmony_ci    {{ne, r11, r9, ASR, r0}, false, al, "ne r11 r9 ASR r0", "ne_r11_r9_ASR_r0"},
646b8021494Sopenharmony_ci    {{cc, r0, r13, ROR, r5}, false, al, "cc r0 r13 ROR r5", "cc_r0_r13_ROR_r5"},
647b8021494Sopenharmony_ci    {{ge, r13, r7, ROR, r5}, false, al, "ge r13 r7 ROR r5", "ge_r13_r7_ROR_r5"},
648b8021494Sopenharmony_ci    {{eq, r4, r5, LSL, r2}, false, al, "eq r4 r5 LSL r2", "eq_r4_r5_LSL_r2"},
649b8021494Sopenharmony_ci    {{ge, r5, r12, ASR, r3}, false, al, "ge r5 r12 ASR r3", "ge_r5_r12_ASR_r3"},
650b8021494Sopenharmony_ci    {{ge, r9, r7, ROR, r6}, false, al, "ge r9 r7 ROR r6", "ge_r9_r7_ROR_r6"},
651b8021494Sopenharmony_ci    {{cc, r2, r2, LSR, r0}, false, al, "cc r2 r2 LSR r0", "cc_r2_r2_LSR_r0"},
652b8021494Sopenharmony_ci    {{cs, r9, r7, ASR, r11}, false, al, "cs r9 r7 ASR r11", "cs_r9_r7_ASR_r11"},
653b8021494Sopenharmony_ci    {{al, r10, r6, ASR, r10},
654b8021494Sopenharmony_ci     false,
655b8021494Sopenharmony_ci     al,
656b8021494Sopenharmony_ci     "al r10 r6 ASR r10",
657b8021494Sopenharmony_ci     "al_r10_r6_ASR_r10"},
658b8021494Sopenharmony_ci    {{ls, r13, r10, LSL, r10},
659b8021494Sopenharmony_ci     false,
660b8021494Sopenharmony_ci     al,
661b8021494Sopenharmony_ci     "ls r13 r10 LSL r10",
662b8021494Sopenharmony_ci     "ls_r13_r10_LSL_r10"},
663b8021494Sopenharmony_ci    {{ne, r14, r13, ASR, r8},
664b8021494Sopenharmony_ci     false,
665b8021494Sopenharmony_ci     al,
666b8021494Sopenharmony_ci     "ne r14 r13 ASR r8",
667b8021494Sopenharmony_ci     "ne_r14_r13_ASR_r8"},
668b8021494Sopenharmony_ci    {{lt, r12, r3, ROR, r10},
669b8021494Sopenharmony_ci     false,
670b8021494Sopenharmony_ci     al,
671b8021494Sopenharmony_ci     "lt r12 r3 ROR r10",
672b8021494Sopenharmony_ci     "lt_r12_r3_ROR_r10"},
673b8021494Sopenharmony_ci    {{al, r12, r8, ROR, r8}, false, al, "al r12 r8 ROR r8", "al_r12_r8_ROR_r8"},
674b8021494Sopenharmony_ci    {{ls, r5, r8, ASR, r8}, false, al, "ls r5 r8 ASR r8", "ls_r5_r8_ASR_r8"},
675b8021494Sopenharmony_ci    {{mi, r13, r11, LSR, r2},
676b8021494Sopenharmony_ci     false,
677b8021494Sopenharmony_ci     al,
678b8021494Sopenharmony_ci     "mi r13 r11 LSR r2",
679b8021494Sopenharmony_ci     "mi_r13_r11_LSR_r2"},
680b8021494Sopenharmony_ci    {{le, r7, r10, ROR, r1}, false, al, "le r7 r10 ROR r1", "le_r7_r10_ROR_r1"},
681b8021494Sopenharmony_ci    {{ne, r5, r2, LSL, r11}, false, al, "ne r5 r2 LSL r11", "ne_r5_r2_LSL_r11"},
682b8021494Sopenharmony_ci    {{ne, r14, r7, LSL, r10},
683b8021494Sopenharmony_ci     false,
684b8021494Sopenharmony_ci     al,
685b8021494Sopenharmony_ci     "ne r14 r7 LSL r10",
686b8021494Sopenharmony_ci     "ne_r14_r7_LSL_r10"},
687b8021494Sopenharmony_ci    {{al, r0, r1, LSR, r14}, false, al, "al r0 r1 LSR r14", "al_r0_r1_LSR_r14"},
688b8021494Sopenharmony_ci    {{mi, r5, r9, LSR, r11}, false, al, "mi r5 r9 LSR r11", "mi_r5_r9_LSR_r11"},
689b8021494Sopenharmony_ci    {{eq, r8, r3, LSR, r11}, false, al, "eq r8 r3 LSR r11", "eq_r8_r3_LSR_r11"},
690b8021494Sopenharmony_ci    {{eq, r4, r14, LSR, r11},
691b8021494Sopenharmony_ci     false,
692b8021494Sopenharmony_ci     al,
693b8021494Sopenharmony_ci     "eq r4 r14 LSR r11",
694b8021494Sopenharmony_ci     "eq_r4_r14_LSR_r11"},
695b8021494Sopenharmony_ci    {{le, r0, r7, LSL, r11}, false, al, "le r0 r7 LSL r11", "le_r0_r7_LSL_r11"},
696b8021494Sopenharmony_ci    {{le, r2, r2, LSL, r10}, false, al, "le r2 r2 LSL r10", "le_r2_r2_LSL_r10"},
697b8021494Sopenharmony_ci    {{le, r3, r5, ROR, r0}, false, al, "le r3 r5 ROR r0", "le_r3_r5_ROR_r0"},
698b8021494Sopenharmony_ci    {{mi, r8, r10, LSL, r10},
699b8021494Sopenharmony_ci     false,
700b8021494Sopenharmony_ci     al,
701b8021494Sopenharmony_ci     "mi r8 r10 LSL r10",
702b8021494Sopenharmony_ci     "mi_r8_r10_LSL_r10"},
703b8021494Sopenharmony_ci    {{ls, r11, r7, ROR, r8}, false, al, "ls r11 r7 ROR r8", "ls_r11_r7_ROR_r8"},
704b8021494Sopenharmony_ci    {{hi, r14, r11, LSR, r7},
705b8021494Sopenharmony_ci     false,
706b8021494Sopenharmony_ci     al,
707b8021494Sopenharmony_ci     "hi r14 r11 LSR r7",
708b8021494Sopenharmony_ci     "hi_r14_r11_LSR_r7"},
709b8021494Sopenharmony_ci    {{mi, r10, r2, LSR, r1}, false, al, "mi r10 r2 LSR r1", "mi_r10_r2_LSR_r1"},
710b8021494Sopenharmony_ci    {{le, r3, r14, ASR, r10},
711b8021494Sopenharmony_ci     false,
712b8021494Sopenharmony_ci     al,
713b8021494Sopenharmony_ci     "le r3 r14 ASR r10",
714b8021494Sopenharmony_ci     "le_r3_r14_ASR_r10"},
715b8021494Sopenharmony_ci    {{vs, r3, r11, ROR, r2}, false, al, "vs r3 r11 ROR r2", "vs_r3_r11_ROR_r2"},
716b8021494Sopenharmony_ci    {{lt, r2, r8, ASR, r2}, false, al, "lt r2 r8 ASR r2", "lt_r2_r8_ASR_r2"},
717b8021494Sopenharmony_ci    {{pl, r7, r4, ROR, r6}, false, al, "pl r7 r4 ROR r6", "pl_r7_r4_ROR_r6"},
718b8021494Sopenharmony_ci    {{al, r7, r12, ASR, r12},
719b8021494Sopenharmony_ci     false,
720b8021494Sopenharmony_ci     al,
721b8021494Sopenharmony_ci     "al r7 r12 ASR r12",
722b8021494Sopenharmony_ci     "al_r7_r12_ASR_r12"},
723b8021494Sopenharmony_ci    {{ge, r8, r9, ROR, r0}, false, al, "ge r8 r9 ROR r0", "ge_r8_r9_ROR_r0"},
724b8021494Sopenharmony_ci    {{mi, r9, r5, LSL, r7}, false, al, "mi r9 r5 LSL r7", "mi_r9_r5_LSL_r7"},
725b8021494Sopenharmony_ci    {{cs, r4, r13, LSL, r9}, false, al, "cs r4 r13 LSL r9", "cs_r4_r13_LSL_r9"},
726b8021494Sopenharmony_ci    {{eq, r5, r3, LSR, r1}, false, al, "eq r5 r3 LSR r1", "eq_r5_r3_LSR_r1"},
727b8021494Sopenharmony_ci    {{lt, r6, r14, LSR, r5}, false, al, "lt r6 r14 LSR r5", "lt_r6_r14_LSR_r5"},
728b8021494Sopenharmony_ci    {{eq, r11, r9, LSL, r11},
729b8021494Sopenharmony_ci     false,
730b8021494Sopenharmony_ci     al,
731b8021494Sopenharmony_ci     "eq r11 r9 LSL r11",
732b8021494Sopenharmony_ci     "eq_r11_r9_LSL_r11"},
733b8021494Sopenharmony_ci    {{cs, r4, r0, ROR, r0}, false, al, "cs r4 r0 ROR r0", "cs_r4_r0_ROR_r0"},
734b8021494Sopenharmony_ci    {{pl, r11, r13, LSL, r4},
735b8021494Sopenharmony_ci     false,
736b8021494Sopenharmony_ci     al,
737b8021494Sopenharmony_ci     "pl r11 r13 LSL r4",
738b8021494Sopenharmony_ci     "pl_r11_r13_LSL_r4"},
739b8021494Sopenharmony_ci    {{al, r1, r2, LSR, r7}, false, al, "al r1 r2 LSR r7", "al_r1_r2_LSR_r7"},
740b8021494Sopenharmony_ci    {{mi, r7, r2, ROR, r2}, false, al, "mi r7 r2 ROR r2", "mi_r7_r2_ROR_r2"},
741b8021494Sopenharmony_ci    {{ls, r2, r10, LSL, r10},
742b8021494Sopenharmony_ci     false,
743b8021494Sopenharmony_ci     al,
744b8021494Sopenharmony_ci     "ls r2 r10 LSL r10",
745b8021494Sopenharmony_ci     "ls_r2_r10_LSL_r10"},
746b8021494Sopenharmony_ci    {{cs, r11, r8, LSL, r3}, false, al, "cs r11 r8 LSL r3", "cs_r11_r8_LSL_r3"},
747b8021494Sopenharmony_ci    {{cc, r11, r5, ROR, r1}, false, al, "cc r11 r5 ROR r1", "cc_r11_r5_ROR_r1"},
748b8021494Sopenharmony_ci    {{le, r11, r0, ASR, r12},
749b8021494Sopenharmony_ci     false,
750b8021494Sopenharmony_ci     al,
751b8021494Sopenharmony_ci     "le r11 r0 ASR r12",
752b8021494Sopenharmony_ci     "le_r11_r0_ASR_r12"},
753b8021494Sopenharmony_ci    {{pl, r5, r8, LSL, r6}, false, al, "pl r5 r8 LSL r6", "pl_r5_r8_LSL_r6"},
754b8021494Sopenharmony_ci    {{ls, r9, r13, LSL, r10},
755b8021494Sopenharmony_ci     false,
756b8021494Sopenharmony_ci     al,
757b8021494Sopenharmony_ci     "ls r9 r13 LSL r10",
758b8021494Sopenharmony_ci     "ls_r9_r13_LSL_r10"},
759b8021494Sopenharmony_ci    {{ge, r14, r5, LSL, r10},
760b8021494Sopenharmony_ci     false,
761b8021494Sopenharmony_ci     al,
762b8021494Sopenharmony_ci     "ge r14 r5 LSL r10",
763b8021494Sopenharmony_ci     "ge_r14_r5_LSL_r10"},
764b8021494Sopenharmony_ci    {{vs, r8, r10, ASR, r2}, false, al, "vs r8 r10 ASR r2", "vs_r8_r10_ASR_r2"},
765b8021494Sopenharmony_ci    {{vs, r11, r11, LSR, r4},
766b8021494Sopenharmony_ci     false,
767b8021494Sopenharmony_ci     al,
768b8021494Sopenharmony_ci     "vs r11 r11 LSR r4",
769b8021494Sopenharmony_ci     "vs_r11_r11_LSR_r4"},
770b8021494Sopenharmony_ci    {{ls, r7, r0, ASR, r7}, false, al, "ls r7 r0 ASR r7", "ls_r7_r0_ASR_r7"},
771b8021494Sopenharmony_ci    {{cc, r10, r5, ASR, r13},
772b8021494Sopenharmony_ci     false,
773b8021494Sopenharmony_ci     al,
774b8021494Sopenharmony_ci     "cc r10 r5 ASR r13",
775b8021494Sopenharmony_ci     "cc_r10_r5_ASR_r13"},
776b8021494Sopenharmony_ci    {{hi, r12, r13, ROR, r5},
777b8021494Sopenharmony_ci     false,
778b8021494Sopenharmony_ci     al,
779b8021494Sopenharmony_ci     "hi r12 r13 ROR r5",
780b8021494Sopenharmony_ci     "hi_r12_r13_ROR_r5"},
781b8021494Sopenharmony_ci    {{le, r12, r14, LSR, r5},
782b8021494Sopenharmony_ci     false,
783b8021494Sopenharmony_ci     al,
784b8021494Sopenharmony_ci     "le r12 r14 LSR r5",
785b8021494Sopenharmony_ci     "le_r12_r14_LSR_r5"},
786b8021494Sopenharmony_ci    {{le, r0, r0, LSL, r14}, false, al, "le r0 r0 LSL r14", "le_r0_r0_LSL_r14"},
787b8021494Sopenharmony_ci    {{ge, r3, r7, ROR, r14}, false, al, "ge r3 r7 ROR r14", "ge_r3_r7_ROR_r14"},
788b8021494Sopenharmony_ci    {{eq, r3, r1, LSL, r8}, false, al, "eq r3 r1 LSL r8", "eq_r3_r1_LSL_r8"},
789b8021494Sopenharmony_ci    {{lt, r7, r1, LSR, r11}, false, al, "lt r7 r1 LSR r11", "lt_r7_r1_LSR_r11"},
790b8021494Sopenharmony_ci    {{ls, r0, r10, ROR, r11},
791b8021494Sopenharmony_ci     false,
792b8021494Sopenharmony_ci     al,
793b8021494Sopenharmony_ci     "ls r0 r10 ROR r11",
794b8021494Sopenharmony_ci     "ls_r0_r10_ROR_r11"},
795b8021494Sopenharmony_ci    {{le, r0, r1, LSL, r8}, false, al, "le r0 r1 LSL r8", "le_r0_r1_LSL_r8"},
796b8021494Sopenharmony_ci    {{mi, r13, r3, LSR, r8}, false, al, "mi r13 r3 LSR r8", "mi_r13_r3_LSR_r8"},
797b8021494Sopenharmony_ci    {{ls, r9, r6, LSR, r0}, false, al, "ls r9 r6 LSR r0", "ls_r9_r6_LSR_r0"},
798b8021494Sopenharmony_ci    {{mi, r11, r6, LSR, r3}, false, al, "mi r11 r6 LSR r3", "mi_r11_r6_LSR_r3"},
799b8021494Sopenharmony_ci    {{lt, r11, r6, LSL, r14},
800b8021494Sopenharmony_ci     false,
801b8021494Sopenharmony_ci     al,
802b8021494Sopenharmony_ci     "lt r11 r6 LSL r14",
803b8021494Sopenharmony_ci     "lt_r11_r6_LSL_r14"},
804b8021494Sopenharmony_ci    {{pl, r4, r14, ROR, r5}, false, al, "pl r4 r14 ROR r5", "pl_r4_r14_ROR_r5"},
805b8021494Sopenharmony_ci    {{eq, r7, r6, LSR, r6}, false, al, "eq r7 r6 LSR r6", "eq_r7_r6_LSR_r6"},
806b8021494Sopenharmony_ci    {{hi, r11, r7, ASR, r8}, false, al, "hi r11 r7 ASR r8", "hi_r11_r7_ASR_r8"},
807b8021494Sopenharmony_ci    {{al, r7, r14, ASR, r14},
808b8021494Sopenharmony_ci     false,
809b8021494Sopenharmony_ci     al,
810b8021494Sopenharmony_ci     "al r7 r14 ASR r14",
811b8021494Sopenharmony_ci     "al_r7_r14_ASR_r14"},
812b8021494Sopenharmony_ci    {{cc, r3, r1, ASR, r10}, false, al, "cc r3 r1 ASR r10", "cc_r3_r1_ASR_r10"},
813b8021494Sopenharmony_ci    {{pl, r9, r3, ROR, r2}, false, al, "pl r9 r3 ROR r2", "pl_r9_r3_ROR_r2"},
814b8021494Sopenharmony_ci    {{vc, r6, r9, LSR, r14}, false, al, "vc r6 r9 LSR r14", "vc_r6_r9_LSR_r14"},
815b8021494Sopenharmony_ci    {{le, r3, r14, ASR, r7}, false, al, "le r3 r14 ASR r7", "le_r3_r14_ASR_r7"},
816b8021494Sopenharmony_ci    {{le, r12, r14, ROR, r14},
817b8021494Sopenharmony_ci     false,
818b8021494Sopenharmony_ci     al,
819b8021494Sopenharmony_ci     "le r12 r14 ROR r14",
820b8021494Sopenharmony_ci     "le_r12_r14_ROR_r14"},
821b8021494Sopenharmony_ci    {{pl, r7, r11, ASR, r9}, false, al, "pl r7 r11 ASR r9", "pl_r7_r11_ASR_r9"},
822b8021494Sopenharmony_ci    {{le, r1, r12, ASR, r4}, false, al, "le r1 r12 ASR r4", "le_r1_r12_ASR_r4"},
823b8021494Sopenharmony_ci    {{eq, r7, r12, ASR, r6}, false, al, "eq r7 r12 ASR r6", "eq_r7_r12_ASR_r6"},
824b8021494Sopenharmony_ci    {{mi, r12, r12, ROR, r14},
825b8021494Sopenharmony_ci     false,
826b8021494Sopenharmony_ci     al,
827b8021494Sopenharmony_ci     "mi r12 r12 ROR r14",
828b8021494Sopenharmony_ci     "mi_r12_r12_ROR_r14"},
829b8021494Sopenharmony_ci    {{pl, r1, r3, ROR, r3}, false, al, "pl r1 r3 ROR r3", "pl_r1_r3_ROR_r3"},
830b8021494Sopenharmony_ci    {{hi, r1, r12, ASR, r2}, false, al, "hi r1 r12 ASR r2", "hi_r1_r12_ASR_r2"},
831b8021494Sopenharmony_ci    {{ls, r7, r5, LSR, r14}, false, al, "ls r7 r5 LSR r14", "ls_r7_r5_LSR_r14"},
832b8021494Sopenharmony_ci    {{al, r6, r6, LSR, r2}, false, al, "al r6 r6 LSR r2", "al_r6_r6_LSR_r2"},
833b8021494Sopenharmony_ci    {{al, r8, r3, ROR, r13}, false, al, "al r8 r3 ROR r13", "al_r8_r3_ROR_r13"},
834b8021494Sopenharmony_ci    {{ls, r12, r14, LSL, r11},
835b8021494Sopenharmony_ci     false,
836b8021494Sopenharmony_ci     al,
837b8021494Sopenharmony_ci     "ls r12 r14 LSL r11",
838b8021494Sopenharmony_ci     "ls_r12_r14_LSL_r11"},
839b8021494Sopenharmony_ci    {{ne, r9, r9, ROR, r1}, false, al, "ne r9 r9 ROR r1", "ne_r9_r9_ROR_r1"},
840b8021494Sopenharmony_ci    {{hi, r9, r13, ROR, r1}, false, al, "hi r9 r13 ROR r1", "hi_r9_r13_ROR_r1"},
841b8021494Sopenharmony_ci    {{vc, r10, r13, ASR, r13},
842b8021494Sopenharmony_ci     false,
843b8021494Sopenharmony_ci     al,
844b8021494Sopenharmony_ci     "vc r10 r13 ASR r13",
845b8021494Sopenharmony_ci     "vc_r10_r13_ASR_r13"},
846b8021494Sopenharmony_ci    {{al, r13, r13, ROR, r7},
847b8021494Sopenharmony_ci     false,
848b8021494Sopenharmony_ci     al,
849b8021494Sopenharmony_ci     "al r13 r13 ROR r7",
850b8021494Sopenharmony_ci     "al_r13_r13_ROR_r7"},
851b8021494Sopenharmony_ci    {{ls, r0, r14, LSL, r10},
852b8021494Sopenharmony_ci     false,
853b8021494Sopenharmony_ci     al,
854b8021494Sopenharmony_ci     "ls r0 r14 LSL r10",
855b8021494Sopenharmony_ci     "ls_r0_r14_LSL_r10"},
856b8021494Sopenharmony_ci    {{vc, r9, r14, ROR, r11},
857b8021494Sopenharmony_ci     false,
858b8021494Sopenharmony_ci     al,
859b8021494Sopenharmony_ci     "vc r9 r14 ROR r11",
860b8021494Sopenharmony_ci     "vc_r9_r14_ROR_r11"},
861b8021494Sopenharmony_ci    {{vc, r10, r3, LSR, r14},
862b8021494Sopenharmony_ci     false,
863b8021494Sopenharmony_ci     al,
864b8021494Sopenharmony_ci     "vc r10 r3 LSR r14",
865b8021494Sopenharmony_ci     "vc_r10_r3_LSR_r14"},
866b8021494Sopenharmony_ci    {{cc, r11, r14, LSR, r3},
867b8021494Sopenharmony_ci     false,
868b8021494Sopenharmony_ci     al,
869b8021494Sopenharmony_ci     "cc r11 r14 LSR r3",
870b8021494Sopenharmony_ci     "cc_r11_r14_LSR_r3"},
871b8021494Sopenharmony_ci    {{ge, r1, r2, LSL, r1}, false, al, "ge r1 r2 LSL r1", "ge_r1_r2_LSL_r1"},
872b8021494Sopenharmony_ci    {{al, r10, r8, LSR, r5}, false, al, "al r10 r8 LSR r5", "al_r10_r8_LSR_r5"},
873b8021494Sopenharmony_ci    {{vs, r2, r5, ASR, r8}, false, al, "vs r2 r5 ASR r8", "vs_r2_r5_ASR_r8"},
874b8021494Sopenharmony_ci    {{cs, r10, r5, LSL, r11},
875b8021494Sopenharmony_ci     false,
876b8021494Sopenharmony_ci     al,
877b8021494Sopenharmony_ci     "cs r10 r5 LSL r11",
878b8021494Sopenharmony_ci     "cs_r10_r5_LSL_r11"},
879b8021494Sopenharmony_ci    {{gt, r9, r0, LSR, r6}, false, al, "gt r9 r0 LSR r6", "gt_r9_r0_LSR_r6"},
880b8021494Sopenharmony_ci    {{le, r8, r2, ROR, r0}, false, al, "le r8 r2 ROR r0", "le_r8_r2_ROR_r0"},
881b8021494Sopenharmony_ci    {{cc, r0, r9, ASR, r4}, false, al, "cc r0 r9 ASR r4", "cc_r0_r9_ASR_r4"},
882b8021494Sopenharmony_ci    {{pl, r7, r4, ASR, r4}, false, al, "pl r7 r4 ASR r4", "pl_r7_r4_ASR_r4"},
883b8021494Sopenharmony_ci    {{cs, r6, r5, ASR, r6}, false, al, "cs r6 r5 ASR r6", "cs_r6_r5_ASR_r6"},
884b8021494Sopenharmony_ci    {{al, r14, r6, LSL, r2}, false, al, "al r14 r6 LSL r2", "al_r14_r6_LSL_r2"},
885b8021494Sopenharmony_ci    {{pl, r11, r14, ASR, r4},
886b8021494Sopenharmony_ci     false,
887b8021494Sopenharmony_ci     al,
888b8021494Sopenharmony_ci     "pl r11 r14 ASR r4",
889b8021494Sopenharmony_ci     "pl_r11_r14_ASR_r4"},
890b8021494Sopenharmony_ci    {{pl, r4, r9, LSL, r10}, false, al, "pl r4 r9 LSL r10", "pl_r4_r9_LSL_r10"},
891b8021494Sopenharmony_ci    {{le, r7, r1, ROR, r8}, false, al, "le r7 r1 ROR r8", "le_r7_r1_ROR_r8"},
892b8021494Sopenharmony_ci    {{al, r3, r1, LSR, r10}, false, al, "al r3 r1 LSR r10", "al_r3_r1_LSR_r10"},
893b8021494Sopenharmony_ci    {{ge, r8, r14, LSL, r11},
894b8021494Sopenharmony_ci     false,
895b8021494Sopenharmony_ci     al,
896b8021494Sopenharmony_ci     "ge r8 r14 LSL r11",
897b8021494Sopenharmony_ci     "ge_r8_r14_LSL_r11"},
898b8021494Sopenharmony_ci    {{le, r11, r5, LSL, r2}, false, al, "le r11 r5 LSL r2", "le_r11_r5_LSL_r2"},
899b8021494Sopenharmony_ci    {{le, r13, r2, ROR, r0}, false, al, "le r13 r2 ROR r0", "le_r13_r2_ROR_r0"},
900b8021494Sopenharmony_ci    {{eq, r4, r13, ASR, r10},
901b8021494Sopenharmony_ci     false,
902b8021494Sopenharmony_ci     al,
903b8021494Sopenharmony_ci     "eq r4 r13 ASR r10",
904b8021494Sopenharmony_ci     "eq_r4_r13_ASR_r10"},
905b8021494Sopenharmony_ci    {{lt, r14, r5, ASR, r14},
906b8021494Sopenharmony_ci     false,
907b8021494Sopenharmony_ci     al,
908b8021494Sopenharmony_ci     "lt r14 r5 ASR r14",
909b8021494Sopenharmony_ci     "lt_r14_r5_ASR_r14"},
910b8021494Sopenharmony_ci    {{gt, r2, r6, ASR, r12}, false, al, "gt r2 r6 ASR r12", "gt_r2_r6_ASR_r12"},
911b8021494Sopenharmony_ci    {{gt, r9, r1, ASR, r8}, false, al, "gt r9 r1 ASR r8", "gt_r9_r1_ASR_r8"},
912b8021494Sopenharmony_ci    {{vs, r11, r6, LSL, r13},
913b8021494Sopenharmony_ci     false,
914b8021494Sopenharmony_ci     al,
915b8021494Sopenharmony_ci     "vs r11 r6 LSL r13",
916b8021494Sopenharmony_ci     "vs_r11_r6_LSL_r13"},
917b8021494Sopenharmony_ci    {{ge, r2, r13, LSL, r3}, false, al, "ge r2 r13 LSL r3", "ge_r2_r13_LSL_r3"},
918b8021494Sopenharmony_ci    {{hi, r4, r1, ROR, r14}, false, al, "hi r4 r1 ROR r14", "hi_r4_r1_ROR_r14"},
919b8021494Sopenharmony_ci    {{gt, r8, r13, LSL, r2}, false, al, "gt r8 r13 LSL r2", "gt_r8_r13_LSL_r2"},
920b8021494Sopenharmony_ci    {{pl, r13, r1, LSR, r3}, false, al, "pl r13 r1 LSR r3", "pl_r13_r1_LSR_r3"},
921b8021494Sopenharmony_ci    {{cc, r13, r6, LSL, r10},
922b8021494Sopenharmony_ci     false,
923b8021494Sopenharmony_ci     al,
924b8021494Sopenharmony_ci     "cc r13 r6 LSL r10",
925b8021494Sopenharmony_ci     "cc_r13_r6_LSL_r10"},
926b8021494Sopenharmony_ci    {{ls, r10, r1, LSR, r1}, false, al, "ls r10 r1 LSR r1", "ls_r10_r1_LSR_r1"},
927b8021494Sopenharmony_ci    {{hi, r12, r2, LSR, r12},
928b8021494Sopenharmony_ci     false,
929b8021494Sopenharmony_ci     al,
930b8021494Sopenharmony_ci     "hi r12 r2 LSR r12",
931b8021494Sopenharmony_ci     "hi_r12_r2_LSR_r12"},
932b8021494Sopenharmony_ci    {{ge, r1, r1, ROR, r12}, false, al, "ge r1 r1 ROR r12", "ge_r1_r1_ROR_r12"},
933b8021494Sopenharmony_ci    {{vc, r12, r0, LSL, r10},
934b8021494Sopenharmony_ci     false,
935b8021494Sopenharmony_ci     al,
936b8021494Sopenharmony_ci     "vc r12 r0 LSL r10",
937b8021494Sopenharmony_ci     "vc_r12_r0_LSL_r10"},
938b8021494Sopenharmony_ci    {{eq, r5, r8, ROR, r7}, false, al, "eq r5 r8 ROR r7", "eq_r5_r8_ROR_r7"},
939b8021494Sopenharmony_ci    {{cc, r5, r1, LSR, r1}, false, al, "cc r5 r1 LSR r1", "cc_r5_r1_LSR_r1"},
940b8021494Sopenharmony_ci    {{pl, r7, r14, ASR, r4}, false, al, "pl r7 r14 ASR r4", "pl_r7_r14_ASR_r4"},
941b8021494Sopenharmony_ci    {{ge, r0, r5, LSR, r4}, false, al, "ge r0 r5 LSR r4", "ge_r0_r5_LSR_r4"},
942b8021494Sopenharmony_ci    {{ge, r3, r10, LSL, r11},
943b8021494Sopenharmony_ci     false,
944b8021494Sopenharmony_ci     al,
945b8021494Sopenharmony_ci     "ge r3 r10 LSL r11",
946b8021494Sopenharmony_ci     "ge_r3_r10_LSL_r11"},
947b8021494Sopenharmony_ci    {{cs, r13, r11, LSL, r9},
948b8021494Sopenharmony_ci     false,
949b8021494Sopenharmony_ci     al,
950b8021494Sopenharmony_ci     "cs r13 r11 LSL r9",
951b8021494Sopenharmony_ci     "cs_r13_r11_LSL_r9"},
952b8021494Sopenharmony_ci    {{hi, r11, r14, LSL, r10},
953b8021494Sopenharmony_ci     false,
954b8021494Sopenharmony_ci     al,
955b8021494Sopenharmony_ci     "hi r11 r14 LSL r10",
956b8021494Sopenharmony_ci     "hi_r11_r14_LSL_r10"},
957b8021494Sopenharmony_ci    {{mi, r7, r5, ROR, r7}, false, al, "mi r7 r5 ROR r7", "mi_r7_r5_ROR_r7"},
958b8021494Sopenharmony_ci    {{ls, r1, r10, ROR, r13},
959b8021494Sopenharmony_ci     false,
960b8021494Sopenharmony_ci     al,
961b8021494Sopenharmony_ci     "ls r1 r10 ROR r13",
962b8021494Sopenharmony_ci     "ls_r1_r10_ROR_r13"},
963b8021494Sopenharmony_ci    {{mi, r10, r10, LSR, r12},
964b8021494Sopenharmony_ci     false,
965b8021494Sopenharmony_ci     al,
966b8021494Sopenharmony_ci     "mi r10 r10 LSR r12",
967b8021494Sopenharmony_ci     "mi_r10_r10_LSR_r12"},
968b8021494Sopenharmony_ci    {{le, r14, r7, LSR, r11},
969b8021494Sopenharmony_ci     false,
970b8021494Sopenharmony_ci     al,
971b8021494Sopenharmony_ci     "le r14 r7 LSR r11",
972b8021494Sopenharmony_ci     "le_r14_r7_LSR_r11"},
973b8021494Sopenharmony_ci    {{al, r3, r12, LSR, r14},
974b8021494Sopenharmony_ci     false,
975b8021494Sopenharmony_ci     al,
976b8021494Sopenharmony_ci     "al r3 r12 LSR r14",
977b8021494Sopenharmony_ci     "al_r3_r12_LSR_r14"},
978b8021494Sopenharmony_ci    {{vs, r1, r3, ROR, r1}, false, al, "vs r1 r3 ROR r1", "vs_r1_r3_ROR_r1"},
979b8021494Sopenharmony_ci    {{ge, r4, r10, LSL, r13},
980b8021494Sopenharmony_ci     false,
981b8021494Sopenharmony_ci     al,
982b8021494Sopenharmony_ci     "ge r4 r10 LSL r13",
983b8021494Sopenharmony_ci     "ge_r4_r10_LSL_r13"},
984b8021494Sopenharmony_ci    {{cs, r4, r3, LSL, r13}, false, al, "cs r4 r3 LSL r13", "cs_r4_r3_LSL_r13"},
985b8021494Sopenharmony_ci    {{ge, r9, r5, ASR, r11}, false, al, "ge r9 r5 ASR r11", "ge_r9_r5_ASR_r11"},
986b8021494Sopenharmony_ci    {{pl, r12, r4, ROR, r14},
987b8021494Sopenharmony_ci     false,
988b8021494Sopenharmony_ci     al,
989b8021494Sopenharmony_ci     "pl r12 r4 ROR r14",
990b8021494Sopenharmony_ci     "pl_r12_r4_ROR_r14"},
991b8021494Sopenharmony_ci    {{mi, r11, r5, LSR, r3}, false, al, "mi r11 r5 LSR r3", "mi_r11_r5_LSR_r3"},
992b8021494Sopenharmony_ci    {{mi, r13, r5, LSR, r4}, false, al, "mi r13 r5 LSR r4", "mi_r13_r5_LSR_r4"},
993b8021494Sopenharmony_ci    {{ls, r13, r0, ASR, r14},
994b8021494Sopenharmony_ci     false,
995b8021494Sopenharmony_ci     al,
996b8021494Sopenharmony_ci     "ls r13 r0 ASR r14",
997b8021494Sopenharmony_ci     "ls_r13_r0_ASR_r14"},
998b8021494Sopenharmony_ci    {{cc, r1, r9, ROR, r8}, false, al, "cc r1 r9 ROR r8", "cc_r1_r9_ROR_r8"},
999b8021494Sopenharmony_ci    {{mi, r2, r9, LSL, r7}, false, al, "mi r2 r9 LSL r7", "mi_r2_r9_LSL_r7"},
1000b8021494Sopenharmony_ci    {{gt, r12, r13, LSR, r1},
1001b8021494Sopenharmony_ci     false,
1002b8021494Sopenharmony_ci     al,
1003b8021494Sopenharmony_ci     "gt r12 r13 LSR r1",
1004b8021494Sopenharmony_ci     "gt_r12_r13_LSR_r1"},
1005b8021494Sopenharmony_ci    {{le, r6, r3, LSL, r9}, false, al, "le r6 r3 LSL r9", "le_r6_r3_LSL_r9"},
1006b8021494Sopenharmony_ci    {{hi, r11, r2, LSR, r6}, false, al, "hi r11 r2 LSR r6", "hi_r11_r2_LSR_r6"},
1007b8021494Sopenharmony_ci    {{vc, r2, r7, ROR, r10}, false, al, "vc r2 r7 ROR r10", "vc_r2_r7_ROR_r10"},
1008b8021494Sopenharmony_ci    {{ge, r1, r1, ASR, r9}, false, al, "ge r1 r1 ASR r9", "ge_r1_r1_ASR_r9"},
1009b8021494Sopenharmony_ci    {{le, r8, r14, ROR, r2}, false, al, "le r8 r14 ROR r2", "le_r8_r14_ROR_r2"},
1010b8021494Sopenharmony_ci    {{cs, r5, r4, LSR, r12}, false, al, "cs r5 r4 LSR r12", "cs_r5_r4_LSR_r12"},
1011b8021494Sopenharmony_ci    {{ne, r6, r7, ASR, r10}, false, al, "ne r6 r7 ASR r10", "ne_r6_r7_ASR_r10"},
1012b8021494Sopenharmony_ci    {{lt, r8, r3, LSL, r7}, false, al, "lt r8 r3 LSL r7", "lt_r8_r3_LSL_r7"},
1013b8021494Sopenharmony_ci    {{ls, r6, r2, LSL, r6}, false, al, "ls r6 r2 LSL r6", "ls_r6_r2_LSL_r6"},
1014b8021494Sopenharmony_ci    {{hi, r6, r3, ROR, r1}, false, al, "hi r6 r3 ROR r1", "hi_r6_r3_ROR_r1"},
1015b8021494Sopenharmony_ci    {{le, r10, r9, LSL, r14},
1016b8021494Sopenharmony_ci     false,
1017b8021494Sopenharmony_ci     al,
1018b8021494Sopenharmony_ci     "le r10 r9 LSL r14",
1019b8021494Sopenharmony_ci     "le_r10_r9_LSL_r14"},
1020b8021494Sopenharmony_ci    {{le, r5, r6, ROR, r11}, false, al, "le r5 r6 ROR r11", "le_r5_r6_ROR_r11"},
1021b8021494Sopenharmony_ci    {{ne, r7, r12, ASR, r7}, false, al, "ne r7 r12 ASR r7", "ne_r7_r12_ASR_r7"},
1022b8021494Sopenharmony_ci    {{gt, r11, r5, ASR, r1}, false, al, "gt r11 r5 ASR r1", "gt_r11_r5_ASR_r1"},
1023b8021494Sopenharmony_ci    {{al, r9, r4, ROR, r10}, false, al, "al r9 r4 ROR r10", "al_r9_r4_ROR_r10"},
1024b8021494Sopenharmony_ci    {{vc, r5, r9, ROR, r12}, false, al, "vc r5 r9 ROR r12", "vc_r5_r9_ROR_r12"},
1025b8021494Sopenharmony_ci    {{hi, r1, r0, LSR, r3}, false, al, "hi r1 r0 LSR r3", "hi_r1_r0_LSR_r3"},
1026b8021494Sopenharmony_ci    {{mi, r2, r12, ROR, r8}, false, al, "mi r2 r12 ROR r8", "mi_r2_r12_ROR_r8"},
1027b8021494Sopenharmony_ci    {{eq, r14, r9, ROR, r10},
1028b8021494Sopenharmony_ci     false,
1029b8021494Sopenharmony_ci     al,
1030b8021494Sopenharmony_ci     "eq r14 r9 ROR r10",
1031b8021494Sopenharmony_ci     "eq_r14_r9_ROR_r10"},
1032b8021494Sopenharmony_ci    {{le, r8, r13, LSL, r1}, false, al, "le r8 r13 LSL r1", "le_r8_r13_LSL_r1"},
1033b8021494Sopenharmony_ci    {{ne, r13, r4, ROR, r4}, false, al, "ne r13 r4 ROR r4", "ne_r13_r4_ROR_r4"},
1034b8021494Sopenharmony_ci    {{ge, r4, r13, ROR, r14},
1035b8021494Sopenharmony_ci     false,
1036b8021494Sopenharmony_ci     al,
1037b8021494Sopenharmony_ci     "ge r4 r13 ROR r14",
1038b8021494Sopenharmony_ci     "ge_r4_r13_ROR_r14"},
1039b8021494Sopenharmony_ci    {{vc, r10, r10, LSL, r1},
1040b8021494Sopenharmony_ci     false,
1041b8021494Sopenharmony_ci     al,
1042b8021494Sopenharmony_ci     "vc r10 r10 LSL r1",
1043b8021494Sopenharmony_ci     "vc_r10_r10_LSL_r1"},
1044b8021494Sopenharmony_ci    {{gt, r10, r2, ROR, r10},
1045b8021494Sopenharmony_ci     false,
1046b8021494Sopenharmony_ci     al,
1047b8021494Sopenharmony_ci     "gt r10 r2 ROR r10",
1048b8021494Sopenharmony_ci     "gt_r10_r2_ROR_r10"},
1049b8021494Sopenharmony_ci    {{eq, r3, r10, ROR, r12},
1050b8021494Sopenharmony_ci     false,
1051b8021494Sopenharmony_ci     al,
1052b8021494Sopenharmony_ci     "eq r3 r10 ROR r12",
1053b8021494Sopenharmony_ci     "eq_r3_r10_ROR_r12"},
1054b8021494Sopenharmony_ci    {{pl, r8, r8, ASR, r14}, false, al, "pl r8 r8 ASR r14", "pl_r8_r8_ASR_r14"},
1055b8021494Sopenharmony_ci    {{hi, r6, r11, LSR, r0}, false, al, "hi r6 r11 LSR r0", "hi_r6_r11_LSR_r0"},
1056b8021494Sopenharmony_ci    {{pl, r2, r13, LSR, r13},
1057b8021494Sopenharmony_ci     false,
1058b8021494Sopenharmony_ci     al,
1059b8021494Sopenharmony_ci     "pl r2 r13 LSR r13",
1060b8021494Sopenharmony_ci     "pl_r2_r13_LSR_r13"},
1061b8021494Sopenharmony_ci    {{cs, r3, r1, ASR, r4}, false, al, "cs r3 r1 ASR r4", "cs_r3_r1_ASR_r4"},
1062b8021494Sopenharmony_ci    {{ge, r13, r8, ROR, r5}, false, al, "ge r13 r8 ROR r5", "ge_r13_r8_ROR_r5"},
1063b8021494Sopenharmony_ci    {{ne, r3, r9, ASR, r10}, false, al, "ne r3 r9 ASR r10", "ne_r3_r9_ASR_r10"},
1064b8021494Sopenharmony_ci    {{cc, r6, r12, ASR, r9}, false, al, "cc r6 r12 ASR r9", "cc_r6_r12_ASR_r9"},
1065b8021494Sopenharmony_ci    {{cc, r10, r8, LSR, r10},
1066b8021494Sopenharmony_ci     false,
1067b8021494Sopenharmony_ci     al,
1068b8021494Sopenharmony_ci     "cc r10 r8 LSR r10",
1069b8021494Sopenharmony_ci     "cc_r10_r8_LSR_r10"},
1070b8021494Sopenharmony_ci    {{vc, r7, r0, ASR, r7}, false, al, "vc r7 r0 ASR r7", "vc_r7_r0_ASR_r7"},
1071b8021494Sopenharmony_ci    {{lt, r2, r5, LSL, r2}, false, al, "lt r2 r5 LSL r2", "lt_r2_r5_LSL_r2"},
1072b8021494Sopenharmony_ci    {{gt, r13, r1, ASR, r8}, false, al, "gt r13 r1 ASR r8", "gt_r13_r1_ASR_r8"},
1073b8021494Sopenharmony_ci    {{hi, r11, r14, LSR, r0},
1074b8021494Sopenharmony_ci     false,
1075b8021494Sopenharmony_ci     al,
1076b8021494Sopenharmony_ci     "hi r11 r14 LSR r0",
1077b8021494Sopenharmony_ci     "hi_r11_r14_LSR_r0"},
1078b8021494Sopenharmony_ci    {{ls, r3, r2, LSL, r2}, false, al, "ls r3 r2 LSL r2", "ls_r3_r2_LSL_r2"},
1079b8021494Sopenharmony_ci    {{mi, r5, r2, ROR, r13}, false, al, "mi r5 r2 ROR r13", "mi_r5_r2_ROR_r13"},
1080b8021494Sopenharmony_ci    {{ne, r14, r2, ASR, r0}, false, al, "ne r14 r2 ASR r0", "ne_r14_r2_ASR_r0"},
1081b8021494Sopenharmony_ci    {{pl, r4, r8, LSL, r2}, false, al, "pl r4 r8 LSL r2", "pl_r4_r8_LSL_r2"},
1082b8021494Sopenharmony_ci    {{ge, r8, r10, LSR, r13},
1083b8021494Sopenharmony_ci     false,
1084b8021494Sopenharmony_ci     al,
1085b8021494Sopenharmony_ci     "ge r8 r10 LSR r13",
1086b8021494Sopenharmony_ci     "ge_r8_r10_LSR_r13"},
1087b8021494Sopenharmony_ci    {{mi, r14, r14, ASR, r12},
1088b8021494Sopenharmony_ci     false,
1089b8021494Sopenharmony_ci     al,
1090b8021494Sopenharmony_ci     "mi r14 r14 ASR r12",
1091b8021494Sopenharmony_ci     "mi_r14_r14_ASR_r12"},
1092b8021494Sopenharmony_ci    {{ge, r3, r1, LSL, r9}, false, al, "ge r3 r1 LSL r9", "ge_r3_r1_LSL_r9"},
1093b8021494Sopenharmony_ci    {{mi, r12, r4, ASR, r6}, false, al, "mi r12 r4 ASR r6", "mi_r12_r4_ASR_r6"},
1094b8021494Sopenharmony_ci    {{le, r1, r4, LSL, r6}, false, al, "le r1 r4 LSL r6", "le_r1_r4_LSL_r6"},
1095b8021494Sopenharmony_ci    {{ge, r14, r9, ROR, r7}, false, al, "ge r14 r9 ROR r7", "ge_r14_r9_ROR_r7"},
1096b8021494Sopenharmony_ci    {{gt, r6, r14, LSL, r7}, false, al, "gt r6 r14 LSL r7", "gt_r6_r14_LSL_r7"},
1097b8021494Sopenharmony_ci    {{vc, r12, r7, ASR, r3}, false, al, "vc r12 r7 ASR r3", "vc_r12_r7_ASR_r3"},
1098b8021494Sopenharmony_ci    {{ne, r7, r5, ROR, r0}, false, al, "ne r7 r5 ROR r0", "ne_r7_r5_ROR_r0"},
1099b8021494Sopenharmony_ci    {{ne, r13, r2, ROR, r12},
1100b8021494Sopenharmony_ci     false,
1101b8021494Sopenharmony_ci     al,
1102b8021494Sopenharmony_ci     "ne r13 r2 ROR r12",
1103b8021494Sopenharmony_ci     "ne_r13_r2_ROR_r12"},
1104b8021494Sopenharmony_ci    {{cc, r9, r2, ASR, r10}, false, al, "cc r9 r2 ASR r10", "cc_r9_r2_ASR_r10"},
1105b8021494Sopenharmony_ci    {{ls, r7, r6, LSR, r5}, false, al, "ls r7 r6 LSR r5", "ls_r7_r6_LSR_r5"},
1106b8021494Sopenharmony_ci    {{gt, r14, r1, ASR, r12},
1107b8021494Sopenharmony_ci     false,
1108b8021494Sopenharmony_ci     al,
1109b8021494Sopenharmony_ci     "gt r14 r1 ASR r12",
1110b8021494Sopenharmony_ci     "gt_r14_r1_ASR_r12"},
1111b8021494Sopenharmony_ci    {{vs, r11, r4, ROR, r4}, false, al, "vs r11 r4 ROR r4", "vs_r11_r4_ROR_r4"},
1112b8021494Sopenharmony_ci    {{le, r13, r13, ROR, r14},
1113b8021494Sopenharmony_ci     false,
1114b8021494Sopenharmony_ci     al,
1115b8021494Sopenharmony_ci     "le r13 r13 ROR r14",
1116b8021494Sopenharmony_ci     "le_r13_r13_ROR_r14"},
1117b8021494Sopenharmony_ci    {{eq, r12, r3, LSR, r2}, false, al, "eq r12 r3 LSR r2", "eq_r12_r3_LSR_r2"},
1118b8021494Sopenharmony_ci    {{vs, r9, r14, LSL, r1}, false, al, "vs r9 r14 LSL r1", "vs_r9_r14_LSL_r1"},
1119b8021494Sopenharmony_ci    {{le, r8, r9, LSL, r9}, false, al, "le r8 r9 LSL r9", "le_r8_r9_LSL_r9"},
1120b8021494Sopenharmony_ci    {{ne, r2, r13, ROR, r12},
1121b8021494Sopenharmony_ci     false,
1122b8021494Sopenharmony_ci     al,
1123b8021494Sopenharmony_ci     "ne r2 r13 ROR r12",
1124b8021494Sopenharmony_ci     "ne_r2_r13_ROR_r12"},
1125b8021494Sopenharmony_ci    {{eq, r0, r14, ROR, r14},
1126b8021494Sopenharmony_ci     false,
1127b8021494Sopenharmony_ci     al,
1128b8021494Sopenharmony_ci     "eq r0 r14 ROR r14",
1129b8021494Sopenharmony_ci     "eq_r0_r14_ROR_r14"},
1130b8021494Sopenharmony_ci    {{cc, r8, r0, ROR, r9}, false, al, "cc r8 r0 ROR r9", "cc_r8_r0_ROR_r9"},
1131b8021494Sopenharmony_ci    {{gt, r11, r0, LSR, r9}, false, al, "gt r11 r0 LSR r9", "gt_r11_r0_LSR_r9"},
1132b8021494Sopenharmony_ci    {{vc, r1, r8, LSL, r4}, false, al, "vc r1 r8 LSL r4", "vc_r1_r8_LSL_r4"},
1133b8021494Sopenharmony_ci    {{ne, r4, r4, ROR, r3}, false, al, "ne r4 r4 ROR r3", "ne_r4_r4_ROR_r3"},
1134b8021494Sopenharmony_ci    {{cs, r12, r6, LSR, r0}, false, al, "cs r12 r6 LSR r0", "cs_r12_r6_LSR_r0"},
1135b8021494Sopenharmony_ci    {{pl, r8, r14, ROR, r7}, false, al, "pl r8 r14 ROR r7", "pl_r8_r14_ROR_r7"},
1136b8021494Sopenharmony_ci    {{hi, r7, r11, LSR, r14},
1137b8021494Sopenharmony_ci     false,
1138b8021494Sopenharmony_ci     al,
1139b8021494Sopenharmony_ci     "hi r7 r11 LSR r14",
1140b8021494Sopenharmony_ci     "hi_r7_r11_LSR_r14"},
1141b8021494Sopenharmony_ci    {{vs, r1, r9, ASR, r14}, false, al, "vs r1 r9 ASR r14", "vs_r1_r9_ASR_r14"},
1142b8021494Sopenharmony_ci    {{ge, r11, r4, LSR, r14},
1143b8021494Sopenharmony_ci     false,
1144b8021494Sopenharmony_ci     al,
1145b8021494Sopenharmony_ci     "ge r11 r4 LSR r14",
1146b8021494Sopenharmony_ci     "ge_r11_r4_LSR_r14"},
1147b8021494Sopenharmony_ci    {{gt, r9, r13, LSL, r0}, false, al, "gt r9 r13 LSL r0", "gt_r9_r13_LSL_r0"},
1148b8021494Sopenharmony_ci    {{cc, r11, r1, LSR, r7}, false, al, "cc r11 r1 LSR r7", "cc_r11_r1_LSR_r7"},
1149b8021494Sopenharmony_ci    {{al, r14, r7, ROR, r12},
1150b8021494Sopenharmony_ci     false,
1151b8021494Sopenharmony_ci     al,
1152b8021494Sopenharmony_ci     "al r14 r7 ROR r12",
1153b8021494Sopenharmony_ci     "al_r14_r7_ROR_r12"},
1154b8021494Sopenharmony_ci    {{vc, r11, r5, ROR, r1}, false, al, "vc r11 r5 ROR r1", "vc_r11_r5_ROR_r1"},
1155b8021494Sopenharmony_ci    {{eq, r14, r9, ROR, r2}, false, al, "eq r14 r9 ROR r2", "eq_r14_r9_ROR_r2"},
1156b8021494Sopenharmony_ci    {{eq, r6, r10, LSR, r8}, false, al, "eq r6 r10 LSR r8", "eq_r6_r10_LSR_r8"},
1157b8021494Sopenharmony_ci    {{cc, r5, r7, LSL, r10}, false, al, "cc r5 r7 LSL r10", "cc_r5_r7_LSL_r10"},
1158b8021494Sopenharmony_ci    {{vc, r0, r6, ROR, r5}, false, al, "vc r0 r6 ROR r5", "vc_r0_r6_ROR_r5"},
1159b8021494Sopenharmony_ci    {{ls, r3, r2, ASR, r5}, false, al, "ls r3 r2 ASR r5", "ls_r3_r2_ASR_r5"},
1160b8021494Sopenharmony_ci    {{eq, r0, r5, LSL, r13}, false, al, "eq r0 r5 LSL r13", "eq_r0_r5_LSL_r13"},
1161b8021494Sopenharmony_ci    {{hi, r3, r2, ASR, r2}, false, al, "hi r3 r2 ASR r2", "hi_r3_r2_ASR_r2"},
1162b8021494Sopenharmony_ci    {{vs, r6, r1, ASR, r1}, false, al, "vs r6 r1 ASR r1", "vs_r6_r1_ASR_r1"},
1163b8021494Sopenharmony_ci    {{al, r7, r6, ASR, r11}, false, al, "al r7 r6 ASR r11", "al_r7_r6_ASR_r11"},
1164b8021494Sopenharmony_ci    {{al, r0, r7, LSR, r6}, false, al, "al r0 r7 LSR r6", "al_r0_r7_LSR_r6"},
1165b8021494Sopenharmony_ci    {{vc, r6, r11, LSL, r13},
1166b8021494Sopenharmony_ci     false,
1167b8021494Sopenharmony_ci     al,
1168b8021494Sopenharmony_ci     "vc r6 r11 LSL r13",
1169b8021494Sopenharmony_ci     "vc_r6_r11_LSL_r13"},
1170b8021494Sopenharmony_ci    {{mi, r11, r0, LSR, r11},
1171b8021494Sopenharmony_ci     false,
1172b8021494Sopenharmony_ci     al,
1173b8021494Sopenharmony_ci     "mi r11 r0 LSR r11",
1174b8021494Sopenharmony_ci     "mi_r11_r0_LSR_r11"},
1175b8021494Sopenharmony_ci    {{ne, r10, r10, ROR, r7},
1176b8021494Sopenharmony_ci     false,
1177b8021494Sopenharmony_ci     al,
1178b8021494Sopenharmony_ci     "ne r10 r10 ROR r7",
1179b8021494Sopenharmony_ci     "ne_r10_r10_ROR_r7"},
1180b8021494Sopenharmony_ci    {{eq, r9, r10, ROR, r8}, false, al, "eq r9 r10 ROR r8", "eq_r9_r10_ROR_r8"},
1181b8021494Sopenharmony_ci    {{vc, r0, r11, ROR, r6}, false, al, "vc r0 r11 ROR r6", "vc_r0_r11_ROR_r6"},
1182b8021494Sopenharmony_ci    {{eq, r3, r2, LSR, r10}, false, al, "eq r3 r2 LSR r10", "eq_r3_r2_LSR_r10"},
1183b8021494Sopenharmony_ci    {{gt, r13, r4, LSR, r7}, false, al, "gt r13 r4 LSR r7", "gt_r13_r4_LSR_r7"},
1184b8021494Sopenharmony_ci    {{lt, r1, r12, LSR, r11},
1185b8021494Sopenharmony_ci     false,
1186b8021494Sopenharmony_ci     al,
1187b8021494Sopenharmony_ci     "lt r1 r12 LSR r11",
1188b8021494Sopenharmony_ci     "lt_r1_r12_LSR_r11"},
1189b8021494Sopenharmony_ci    {{cs, r12, r7, LSR, r4}, false, al, "cs r12 r7 LSR r4", "cs_r12_r7_LSR_r4"},
1190b8021494Sopenharmony_ci    {{cc, r1, r13, ASR, r13},
1191b8021494Sopenharmony_ci     false,
1192b8021494Sopenharmony_ci     al,
1193b8021494Sopenharmony_ci     "cc r1 r13 ASR r13",
1194b8021494Sopenharmony_ci     "cc_r1_r13_ASR_r13"},
1195b8021494Sopenharmony_ci    {{mi, r4, r9, LSL, r0}, false, al, "mi r4 r9 LSL r0", "mi_r4_r9_LSL_r0"},
1196b8021494Sopenharmony_ci    {{gt, r14, r7, ROR, r0}, false, al, "gt r14 r7 ROR r0", "gt_r14_r7_ROR_r0"},
1197b8021494Sopenharmony_ci    {{gt, r1, r0, ASR, r6}, false, al, "gt r1 r0 ASR r6", "gt_r1_r0_ASR_r6"},
1198b8021494Sopenharmony_ci    {{ne, r14, r10, ASR, r10},
1199b8021494Sopenharmony_ci     false,
1200b8021494Sopenharmony_ci     al,
1201b8021494Sopenharmony_ci     "ne r14 r10 ASR r10",
1202b8021494Sopenharmony_ci     "ne_r14_r10_ASR_r10"},
1203b8021494Sopenharmony_ci    {{pl, r14, r9, LSR, r8}, false, al, "pl r14 r9 LSR r8", "pl_r14_r9_LSR_r8"},
1204b8021494Sopenharmony_ci    {{vs, r3, r7, LSL, r6}, false, al, "vs r3 r7 LSL r6", "vs_r3_r7_LSL_r6"},
1205b8021494Sopenharmony_ci    {{lt, r12, r0, LSL, r3}, false, al, "lt r12 r0 LSL r3", "lt_r12_r0_LSL_r3"},
1206b8021494Sopenharmony_ci    {{hi, r5, r11, ROR, r13},
1207b8021494Sopenharmony_ci     false,
1208b8021494Sopenharmony_ci     al,
1209b8021494Sopenharmony_ci     "hi r5 r11 ROR r13",
1210b8021494Sopenharmony_ci     "hi_r5_r11_ROR_r13"},
1211b8021494Sopenharmony_ci    {{vc, r5, r2, LSR, r2}, false, al, "vc r5 r2 LSR r2", "vc_r5_r2_LSR_r2"},
1212b8021494Sopenharmony_ci    {{le, r13, r8, ROR, r0}, false, al, "le r13 r8 ROR r0", "le_r13_r8_ROR_r0"},
1213b8021494Sopenharmony_ci    {{cc, r13, r9, LSL, r10},
1214b8021494Sopenharmony_ci     false,
1215b8021494Sopenharmony_ci     al,
1216b8021494Sopenharmony_ci     "cc r13 r9 LSL r10",
1217b8021494Sopenharmony_ci     "cc_r13_r9_LSL_r10"},
1218b8021494Sopenharmony_ci    {{ne, r0, r3, ASR, r9}, false, al, "ne r0 r3 ASR r9", "ne_r0_r3_ASR_r9"},
1219b8021494Sopenharmony_ci    {{mi, r0, r8, ASR, r10}, false, al, "mi r0 r8 ASR r10", "mi_r0_r8_ASR_r10"},
1220b8021494Sopenharmony_ci    {{cc, r4, r4, ASR, r4}, false, al, "cc r4 r4 ASR r4", "cc_r4_r4_ASR_r4"},
1221b8021494Sopenharmony_ci    {{vc, r5, r10, LSL, r11},
1222b8021494Sopenharmony_ci     false,
1223b8021494Sopenharmony_ci     al,
1224b8021494Sopenharmony_ci     "vc r5 r10 LSL r11",
1225b8021494Sopenharmony_ci     "vc_r5_r10_LSL_r11"},
1226b8021494Sopenharmony_ci    {{gt, r11, r10, ROR, r2},
1227b8021494Sopenharmony_ci     false,
1228b8021494Sopenharmony_ci     al,
1229b8021494Sopenharmony_ci     "gt r11 r10 ROR r2",
1230b8021494Sopenharmony_ci     "gt_r11_r10_ROR_r2"},
1231b8021494Sopenharmony_ci    {{ne, r5, r5, LSR, r11}, false, al, "ne r5 r5 LSR r11", "ne_r5_r5_LSR_r11"},
1232b8021494Sopenharmony_ci    {{ne, r6, r11, LSR, r13},
1233b8021494Sopenharmony_ci     false,
1234b8021494Sopenharmony_ci     al,
1235b8021494Sopenharmony_ci     "ne r6 r11 LSR r13",
1236b8021494Sopenharmony_ci     "ne_r6_r11_LSR_r13"},
1237b8021494Sopenharmony_ci    {{lt, r3, r1, ROR, r1}, false, al, "lt r3 r1 ROR r1", "lt_r3_r1_ROR_r1"},
1238b8021494Sopenharmony_ci    {{cc, r1, r14, ASR, r12},
1239b8021494Sopenharmony_ci     false,
1240b8021494Sopenharmony_ci     al,
1241b8021494Sopenharmony_ci     "cc r1 r14 ASR r12",
1242b8021494Sopenharmony_ci     "cc_r1_r14_ASR_r12"},
1243b8021494Sopenharmony_ci    {{mi, r2, r10, ROR, r10},
1244b8021494Sopenharmony_ci     false,
1245b8021494Sopenharmony_ci     al,
1246b8021494Sopenharmony_ci     "mi r2 r10 ROR r10",
1247b8021494Sopenharmony_ci     "mi_r2_r10_ROR_r10"},
1248b8021494Sopenharmony_ci    {{eq, r5, r8, ROR, r10}, false, al, "eq r5 r8 ROR r10", "eq_r5_r8_ROR_r10"},
1249b8021494Sopenharmony_ci    {{al, r3, r9, LSL, r2}, false, al, "al r3 r9 LSL r2", "al_r3_r9_LSL_r2"},
1250b8021494Sopenharmony_ci    {{cs, r1, r14, LSR, r7}, false, al, "cs r1 r14 LSR r7", "cs_r1_r14_LSR_r7"},
1251b8021494Sopenharmony_ci    {{cc, r14, r9, ROR, r1}, false, al, "cc r14 r9 ROR r1", "cc_r14_r9_ROR_r1"},
1252b8021494Sopenharmony_ci    {{al, r3, r8, ROR, r10}, false, al, "al r3 r8 ROR r10", "al_r3_r8_ROR_r10"},
1253b8021494Sopenharmony_ci    {{vs, r2, r10, ASR, r5}, false, al, "vs r2 r10 ASR r5", "vs_r2_r10_ASR_r5"},
1254b8021494Sopenharmony_ci    {{al, r7, r8, ROR, r11}, false, al, "al r7 r8 ROR r11", "al_r7_r8_ROR_r11"},
1255b8021494Sopenharmony_ci    {{cc, r11, r12, ASR, r13},
1256b8021494Sopenharmony_ci     false,
1257b8021494Sopenharmony_ci     al,
1258b8021494Sopenharmony_ci     "cc r11 r12 ASR r13",
1259b8021494Sopenharmony_ci     "cc_r11_r12_ASR_r13"},
1260b8021494Sopenharmony_ci    {{cs, r2, r7, LSR, r12}, false, al, "cs r2 r7 LSR r12", "cs_r2_r7_LSR_r12"},
1261b8021494Sopenharmony_ci    {{vs, r7, r4, ROR, r14}, false, al, "vs r7 r4 ROR r14", "vs_r7_r4_ROR_r14"},
1262b8021494Sopenharmony_ci    {{ne, r12, r1, ROR, r3}, false, al, "ne r12 r1 ROR r3", "ne_r12_r1_ROR_r3"},
1263b8021494Sopenharmony_ci    {{ne, r5, r11, LSL, r2}, false, al, "ne r5 r11 LSL r2", "ne_r5_r11_LSL_r2"},
1264b8021494Sopenharmony_ci    {{cc, r5, r12, ASR, r13},
1265b8021494Sopenharmony_ci     false,
1266b8021494Sopenharmony_ci     al,
1267b8021494Sopenharmony_ci     "cc r5 r12 ASR r13",
1268b8021494Sopenharmony_ci     "cc_r5_r12_ASR_r13"},
1269b8021494Sopenharmony_ci    {{gt, r8, r0, LSL, r14}, false, al, "gt r8 r0 LSL r14", "gt_r8_r0_LSL_r14"},
1270b8021494Sopenharmony_ci    {{cc, r5, r4, LSR, r12}, false, al, "cc r5 r4 LSR r12", "cc_r5_r4_LSR_r12"},
1271b8021494Sopenharmony_ci    {{ge, r6, r7, LSR, r14}, false, al, "ge r6 r7 LSR r14", "ge_r6_r7_LSR_r14"},
1272b8021494Sopenharmony_ci    {{vs, r2, r0, LSL, r13}, false, al, "vs r2 r0 LSL r13", "vs_r2_r0_LSL_r13"},
1273b8021494Sopenharmony_ci    {{gt, r7, r8, LSL, r0}, false, al, "gt r7 r8 LSL r0", "gt_r7_r8_LSL_r0"},
1274b8021494Sopenharmony_ci    {{ne, r3, r11, ROR, r8}, false, al, "ne r3 r11 ROR r8", "ne_r3_r11_ROR_r8"},
1275b8021494Sopenharmony_ci    {{ne, r0, r8, LSR, r4}, false, al, "ne r0 r8 LSR r4", "ne_r0_r8_LSR_r4"},
1276b8021494Sopenharmony_ci    {{eq, r1, r14, ASR, r13},
1277b8021494Sopenharmony_ci     false,
1278b8021494Sopenharmony_ci     al,
1279b8021494Sopenharmony_ci     "eq r1 r14 ASR r13",
1280b8021494Sopenharmony_ci     "eq_r1_r14_ASR_r13"},
1281b8021494Sopenharmony_ci    {{pl, r13, r10, LSL, r4},
1282b8021494Sopenharmony_ci     false,
1283b8021494Sopenharmony_ci     al,
1284b8021494Sopenharmony_ci     "pl r13 r10 LSL r4",
1285b8021494Sopenharmony_ci     "pl_r13_r10_LSL_r4"},
1286b8021494Sopenharmony_ci    {{mi, r12, r14, LSL, r11},
1287b8021494Sopenharmony_ci     false,
1288b8021494Sopenharmony_ci     al,
1289b8021494Sopenharmony_ci     "mi r12 r14 LSL r11",
1290b8021494Sopenharmony_ci     "mi_r12_r14_LSL_r11"},
1291b8021494Sopenharmony_ci    {{vc, r6, r4, LSL, r7}, false, al, "vc r6 r4 LSL r7", "vc_r6_r4_LSL_r7"},
1292b8021494Sopenharmony_ci    {{ge, r7, r8, LSR, r0}, false, al, "ge r7 r8 LSR r0", "ge_r7_r8_LSR_r0"},
1293b8021494Sopenharmony_ci    {{ls, r2, r12, LSR, r6}, false, al, "ls r2 r12 LSR r6", "ls_r2_r12_LSR_r6"},
1294b8021494Sopenharmony_ci    {{lt, r0, r13, LSL, r1}, false, al, "lt r0 r13 LSL r1", "lt_r0_r13_LSL_r1"},
1295b8021494Sopenharmony_ci    {{vs, r5, r7, LSR, r0}, false, al, "vs r5 r7 LSR r0", "vs_r5_r7_LSR_r0"},
1296b8021494Sopenharmony_ci    {{ne, r10, r8, ROR, r4}, false, al, "ne r10 r8 ROR r4", "ne_r10_r8_ROR_r4"},
1297b8021494Sopenharmony_ci    {{vc, r4, r1, LSL, r7}, false, al, "vc r4 r1 LSL r7", "vc_r4_r1_LSL_r7"},
1298b8021494Sopenharmony_ci    {{mi, r14, r1, ROR, r10},
1299b8021494Sopenharmony_ci     false,
1300b8021494Sopenharmony_ci     al,
1301b8021494Sopenharmony_ci     "mi r14 r1 ROR r10",
1302b8021494Sopenharmony_ci     "mi_r14_r1_ROR_r10"},
1303b8021494Sopenharmony_ci    {{le, r4, r5, LSL, r12}, false, al, "le r4 r5 LSL r12", "le_r4_r5_LSL_r12"},
1304b8021494Sopenharmony_ci    {{cs, r9, r3, ROR, r10}, false, al, "cs r9 r3 ROR r10", "cs_r9_r3_ROR_r10"},
1305b8021494Sopenharmony_ci    {{al, r5, r9, ROR, r7}, false, al, "al r5 r9 ROR r7", "al_r5_r9_ROR_r7"},
1306b8021494Sopenharmony_ci    {{cs, r14, r14, ROR, r1},
1307b8021494Sopenharmony_ci     false,
1308b8021494Sopenharmony_ci     al,
1309b8021494Sopenharmony_ci     "cs r14 r14 ROR r1",
1310b8021494Sopenharmony_ci     "cs_r14_r14_ROR_r1"},
1311b8021494Sopenharmony_ci    {{vc, r5, r11, LSR, r1}, false, al, "vc r5 r11 LSR r1", "vc_r5_r11_LSR_r1"},
1312b8021494Sopenharmony_ci    {{hi, r12, r7, ASR, r3}, false, al, "hi r12 r7 ASR r3", "hi_r12_r7_ASR_r3"},
1313b8021494Sopenharmony_ci    {{gt, r13, r3, LSL, r10},
1314b8021494Sopenharmony_ci     false,
1315b8021494Sopenharmony_ci     al,
1316b8021494Sopenharmony_ci     "gt r13 r3 LSL r10",
1317b8021494Sopenharmony_ci     "gt_r13_r3_LSL_r10"},
1318b8021494Sopenharmony_ci    {{pl, r12, r14, ASR, r14},
1319b8021494Sopenharmony_ci     false,
1320b8021494Sopenharmony_ci     al,
1321b8021494Sopenharmony_ci     "pl r12 r14 ASR r14",
1322b8021494Sopenharmony_ci     "pl_r12_r14_ASR_r14"},
1323b8021494Sopenharmony_ci    {{al, r3, r1, ROR, r6}, false, al, "al r3 r1 ROR r6", "al_r3_r1_ROR_r6"},
1324b8021494Sopenharmony_ci    {{le, r13, r2, ROR, r9}, false, al, "le r13 r2 ROR r9", "le_r13_r2_ROR_r9"},
1325b8021494Sopenharmony_ci    {{cs, r12, r4, LSL, r9}, false, al, "cs r12 r4 LSL r9", "cs_r12_r4_LSL_r9"},
1326b8021494Sopenharmony_ci    {{gt, r4, r7, ASR, r14}, false, al, "gt r4 r7 ASR r14", "gt_r4_r7_ASR_r14"},
1327b8021494Sopenharmony_ci    {{vc, r13, r1, ROR, r10},
1328b8021494Sopenharmony_ci     false,
1329b8021494Sopenharmony_ci     al,
1330b8021494Sopenharmony_ci     "vc r13 r1 ROR r10",
1331b8021494Sopenharmony_ci     "vc_r13_r1_ROR_r10"},
1332b8021494Sopenharmony_ci    {{ls, r10, r12, LSR, r1},
1333b8021494Sopenharmony_ci     false,
1334b8021494Sopenharmony_ci     al,
1335b8021494Sopenharmony_ci     "ls r10 r12 LSR r1",
1336b8021494Sopenharmony_ci     "ls_r10_r12_LSR_r1"},
1337b8021494Sopenharmony_ci    {{hi, r8, r0, LSL, r0}, false, al, "hi r8 r0 LSL r0", "hi_r8_r0_LSL_r0"},
1338b8021494Sopenharmony_ci    {{al, r4, r9, LSL, r0}, false, al, "al r4 r9 LSL r0", "al_r4_r9_LSL_r0"},
1339b8021494Sopenharmony_ci    {{eq, r12, r10, LSL, r14},
1340b8021494Sopenharmony_ci     false,
1341b8021494Sopenharmony_ci     al,
1342b8021494Sopenharmony_ci     "eq r12 r10 LSL r14",
1343b8021494Sopenharmony_ci     "eq_r12_r10_LSL_r14"},
1344b8021494Sopenharmony_ci    {{le, r4, r9, LSL, r12}, false, al, "le r4 r9 LSL r12", "le_r4_r9_LSL_r12"},
1345b8021494Sopenharmony_ci    {{cc, r1, r6, ASR, r14}, false, al, "cc r1 r6 ASR r14", "cc_r1_r6_ASR_r14"},
1346b8021494Sopenharmony_ci    {{pl, r3, r7, ASR, r2}, false, al, "pl r3 r7 ASR r2", "pl_r3_r7_ASR_r2"},
1347b8021494Sopenharmony_ci    {{eq, r14, r9, ROR, r0}, false, al, "eq r14 r9 ROR r0", "eq_r14_r9_ROR_r0"},
1348b8021494Sopenharmony_ci    {{hi, r8, r6, LSR, r5}, false, al, "hi r8 r6 LSR r5", "hi_r8_r6_LSR_r5"},
1349b8021494Sopenharmony_ci    {{hi, r10, r1, LSL, r0}, false, al, "hi r10 r1 LSL r0", "hi_r10_r1_LSL_r0"},
1350b8021494Sopenharmony_ci    {{ls, r0, r13, LSR, r0}, false, al, "ls r0 r13 LSR r0", "ls_r0_r13_LSR_r0"},
1351b8021494Sopenharmony_ci    {{vs, r10, r7, ROR, r7}, false, al, "vs r10 r7 ROR r7", "vs_r10_r7_ROR_r7"},
1352b8021494Sopenharmony_ci    {{eq, r1, r3, LSR, r6}, false, al, "eq r1 r3 LSR r6", "eq_r1_r3_LSR_r6"},
1353b8021494Sopenharmony_ci    {{eq, r8, r6, ASR, r0}, false, al, "eq r8 r6 ASR r0", "eq_r8_r6_ASR_r0"},
1354b8021494Sopenharmony_ci    {{eq, r2, r5, LSR, r10}, false, al, "eq r2 r5 LSR r10", "eq_r2_r5_LSR_r10"},
1355b8021494Sopenharmony_ci    {{al, r0, r4, LSL, r13}, false, al, "al r0 r4 LSL r13", "al_r0_r4_LSL_r13"},
1356b8021494Sopenharmony_ci    {{ge, r0, r12, ROR, r2}, false, al, "ge r0 r12 ROR r2", "ge_r0_r12_ROR_r2"},
1357b8021494Sopenharmony_ci    {{le, r0, r13, ROR, r4}, false, al, "le r0 r13 ROR r4", "le_r0_r13_ROR_r4"},
1358b8021494Sopenharmony_ci    {{ge, r3, r11, ASR, r6}, false, al, "ge r3 r11 ASR r6", "ge_r3_r11_ASR_r6"},
1359b8021494Sopenharmony_ci    {{ne, r7, r11, ROR, r0}, false, al, "ne r7 r11 ROR r0", "ne_r7_r11_ROR_r0"},
1360b8021494Sopenharmony_ci    {{hi, r14, r5, ASR, r0}, false, al, "hi r14 r5 ASR r0", "hi_r14_r5_ASR_r0"},
1361b8021494Sopenharmony_ci    {{cs, r12, r9, LSL, r2}, false, al, "cs r12 r9 LSL r2", "cs_r12_r9_LSL_r2"},
1362b8021494Sopenharmony_ci    {{cs, r12, r8, ASR, r10},
1363b8021494Sopenharmony_ci     false,
1364b8021494Sopenharmony_ci     al,
1365b8021494Sopenharmony_ci     "cs r12 r8 ASR r10",
1366b8021494Sopenharmony_ci     "cs_r12_r8_ASR_r10"},
1367b8021494Sopenharmony_ci    {{cc, r0, r2, LSR, r13}, false, al, "cc r0 r2 LSR r13", "cc_r0_r2_LSR_r13"},
1368b8021494Sopenharmony_ci    {{cc, r5, r0, LSR, r4}, false, al, "cc r5 r0 LSR r4", "cc_r5_r0_LSR_r4"},
1369b8021494Sopenharmony_ci    {{ne, r10, r14, ROR, r3},
1370b8021494Sopenharmony_ci     false,
1371b8021494Sopenharmony_ci     al,
1372b8021494Sopenharmony_ci     "ne r10 r14 ROR r3",
1373b8021494Sopenharmony_ci     "ne_r10_r14_ROR_r3"},
1374b8021494Sopenharmony_ci    {{hi, r5, r1, LSL, r10}, false, al, "hi r5 r1 LSL r10", "hi_r5_r1_LSL_r10"},
1375b8021494Sopenharmony_ci    {{lt, r14, r12, LSR, r13},
1376b8021494Sopenharmony_ci     false,
1377b8021494Sopenharmony_ci     al,
1378b8021494Sopenharmony_ci     "lt r14 r12 LSR r13",
1379b8021494Sopenharmony_ci     "lt_r14_r12_LSR_r13"},
1380b8021494Sopenharmony_ci    {{hi, r14, r9, LSR, r5}, false, al, "hi r14 r9 LSR r5", "hi_r14_r9_LSR_r5"},
1381b8021494Sopenharmony_ci    {{cc, r4, r4, LSR, r3}, false, al, "cc r4 r4 LSR r3", "cc_r4_r4_LSR_r3"},
1382b8021494Sopenharmony_ci    {{hi, r9, r4, ROR, r13}, false, al, "hi r9 r4 ROR r13", "hi_r9_r4_ROR_r13"},
1383b8021494Sopenharmony_ci    {{cc, r7, r6, ASR, r0}, false, al, "cc r7 r6 ASR r0", "cc_r7_r6_ASR_r0"},
1384b8021494Sopenharmony_ci    {{ne, r6, r12, ROR, r8}, false, al, "ne r6 r12 ROR r8", "ne_r6_r12_ROR_r8"},
1385b8021494Sopenharmony_ci    {{cc, r4, r1, LSL, r9}, false, al, "cc r4 r1 LSL r9", "cc_r4_r1_LSL_r9"},
1386b8021494Sopenharmony_ci    {{ls, r6, r10, LSR, r9}, false, al, "ls r6 r10 LSR r9", "ls_r6_r10_LSR_r9"},
1387b8021494Sopenharmony_ci    {{ge, r13, r6, ASR, r4}, false, al, "ge r13 r6 ASR r4", "ge_r13_r6_ASR_r4"},
1388b8021494Sopenharmony_ci    {{pl, r0, r6, ROR, r12}, false, al, "pl r0 r6 ROR r12", "pl_r0_r6_ROR_r12"},
1389b8021494Sopenharmony_ci    {{eq, r13, r2, LSL, r6}, false, al, "eq r13 r2 LSL r6", "eq_r13_r2_LSL_r6"},
1390b8021494Sopenharmony_ci    {{vc, r5, r14, LSR, r2}, false, al, "vc r5 r14 LSR r2", "vc_r5_r14_LSR_r2"},
1391b8021494Sopenharmony_ci    {{ls, r3, r7, LSL, r14}, false, al, "ls r3 r7 LSL r14", "ls_r3_r7_LSL_r14"},
1392b8021494Sopenharmony_ci    {{le, r13, r7, ROR, r1}, false, al, "le r13 r7 ROR r1", "le_r13_r7_ROR_r1"},
1393b8021494Sopenharmony_ci    {{ge, r6, r1, ROR, r2}, false, al, "ge r6 r1 ROR r2", "ge_r6_r1_ROR_r2"},
1394b8021494Sopenharmony_ci    {{le, r5, r13, LSL, r8}, false, al, "le r5 r13 LSL r8", "le_r5_r13_LSL_r8"},
1395b8021494Sopenharmony_ci    {{eq, r13, r14, ROR, r6},
1396b8021494Sopenharmony_ci     false,
1397b8021494Sopenharmony_ci     al,
1398b8021494Sopenharmony_ci     "eq r13 r14 ROR r6",
1399b8021494Sopenharmony_ci     "eq_r13_r14_ROR_r6"},
1400b8021494Sopenharmony_ci    {{vs, r10, r9, ASR, r2}, false, al, "vs r10 r9 ASR r2", "vs_r10_r9_ASR_r2"},
1401b8021494Sopenharmony_ci    {{ls, r7, r10, LSL, r10},
1402b8021494Sopenharmony_ci     false,
1403b8021494Sopenharmony_ci     al,
1404b8021494Sopenharmony_ci     "ls r7 r10 LSL r10",
1405b8021494Sopenharmony_ci     "ls_r7_r10_LSL_r10"},
1406b8021494Sopenharmony_ci    {{mi, r0, r8, LSL, r13}, false, al, "mi r0 r8 LSL r13", "mi_r0_r8_LSL_r13"},
1407b8021494Sopenharmony_ci    {{cc, r6, r5, ROR, r6}, false, al, "cc r6 r5 ROR r6", "cc_r6_r5_ROR_r6"},
1408b8021494Sopenharmony_ci    {{cc, r5, r14, ASR, r9}, false, al, "cc r5 r14 ASR r9", "cc_r5_r14_ASR_r9"},
1409b8021494Sopenharmony_ci    {{ge, r8, r3, ROR, r4}, false, al, "ge r8 r3 ROR r4", "ge_r8_r3_ROR_r4"},
1410b8021494Sopenharmony_ci    {{ge, r4, r3, ROR, r0}, false, al, "ge r4 r3 ROR r0", "ge_r4_r3_ROR_r0"},
1411b8021494Sopenharmony_ci    {{lt, r12, r13, ROR, r5},
1412b8021494Sopenharmony_ci     false,
1413b8021494Sopenharmony_ci     al,
1414b8021494Sopenharmony_ci     "lt r12 r13 ROR r5",
1415b8021494Sopenharmony_ci     "lt_r12_r13_ROR_r5"},
1416b8021494Sopenharmony_ci    {{cs, r14, r14, LSL, r8},
1417b8021494Sopenharmony_ci     false,
1418b8021494Sopenharmony_ci     al,
1419b8021494Sopenharmony_ci     "cs r14 r14 LSL r8",
1420b8021494Sopenharmony_ci     "cs_r14_r14_LSL_r8"},
1421b8021494Sopenharmony_ci    {{mi, r6, r3, ASR, r12}, false, al, "mi r6 r3 ASR r12", "mi_r6_r3_ASR_r12"},
1422b8021494Sopenharmony_ci    {{gt, r2, r1, ASR, r3}, false, al, "gt r2 r1 ASR r3", "gt_r2_r1_ASR_r3"},
1423b8021494Sopenharmony_ci    {{vc, r14, r14, LSL, r11},
1424b8021494Sopenharmony_ci     false,
1425b8021494Sopenharmony_ci     al,
1426b8021494Sopenharmony_ci     "vc r14 r14 LSL r11",
1427b8021494Sopenharmony_ci     "vc_r14_r14_LSL_r11"},
1428b8021494Sopenharmony_ci    {{pl, r12, r14, ASR, r5},
1429b8021494Sopenharmony_ci     false,
1430b8021494Sopenharmony_ci     al,
1431b8021494Sopenharmony_ci     "pl r12 r14 ASR r5",
1432b8021494Sopenharmony_ci     "pl_r12_r14_ASR_r5"},
1433b8021494Sopenharmony_ci    {{cs, r7, r12, LSL, r14},
1434b8021494Sopenharmony_ci     false,
1435b8021494Sopenharmony_ci     al,
1436b8021494Sopenharmony_ci     "cs r7 r12 LSL r14",
1437b8021494Sopenharmony_ci     "cs_r7_r12_LSL_r14"},
1438b8021494Sopenharmony_ci    {{eq, r3, r1, LSR, r3}, false, al, "eq r3 r1 LSR r3", "eq_r3_r1_LSR_r3"},
1439b8021494Sopenharmony_ci    {{cs, r6, r7, ASR, r12}, false, al, "cs r6 r7 ASR r12", "cs_r6_r7_ASR_r12"},
1440b8021494Sopenharmony_ci    {{le, r6, r4, ROR, r4}, false, al, "le r6 r4 ROR r4", "le_r6_r4_ROR_r4"},
1441b8021494Sopenharmony_ci    {{hi, r1, r6, LSR, r4}, false, al, "hi r1 r6 LSR r4", "hi_r1_r6_LSR_r4"},
1442b8021494Sopenharmony_ci    {{mi, r6, r3, ASR, r4}, false, al, "mi r6 r3 ASR r4", "mi_r6_r3_ASR_r4"},
1443b8021494Sopenharmony_ci    {{vs, r9, r10, ASR, r12},
1444b8021494Sopenharmony_ci     false,
1445b8021494Sopenharmony_ci     al,
1446b8021494Sopenharmony_ci     "vs r9 r10 ASR r12",
1447b8021494Sopenharmony_ci     "vs_r9_r10_ASR_r12"},
1448b8021494Sopenharmony_ci    {{cc, r9, r10, LSL, r1}, false, al, "cc r9 r10 LSL r1", "cc_r9_r10_LSL_r1"},
1449b8021494Sopenharmony_ci    {{ls, r12, r9, ASR, r4}, false, al, "ls r12 r9 ASR r4", "ls_r12_r9_ASR_r4"},
1450b8021494Sopenharmony_ci    {{vc, r10, r7, ASR, r12},
1451b8021494Sopenharmony_ci     false,
1452b8021494Sopenharmony_ci     al,
1453b8021494Sopenharmony_ci     "vc r10 r7 ASR r12",
1454b8021494Sopenharmony_ci     "vc_r10_r7_ASR_r12"},
1455b8021494Sopenharmony_ci    {{cs, r8, r1, LSR, r5}, false, al, "cs r8 r1 LSR r5", "cs_r8_r1_LSR_r5"},
1456b8021494Sopenharmony_ci    {{eq, r10, r10, ASR, r4},
1457b8021494Sopenharmony_ci     false,
1458b8021494Sopenharmony_ci     al,
1459b8021494Sopenharmony_ci     "eq r10 r10 ASR r4",
1460b8021494Sopenharmony_ci     "eq_r10_r10_ASR_r4"},
1461b8021494Sopenharmony_ci    {{ls, r7, r7, LSL, r5}, false, al, "ls r7 r7 LSL r5", "ls_r7_r7_LSL_r5"},
1462b8021494Sopenharmony_ci    {{vs, r8, r11, ROR, r12},
1463b8021494Sopenharmony_ci     false,
1464b8021494Sopenharmony_ci     al,
1465b8021494Sopenharmony_ci     "vs r8 r11 ROR r12",
1466b8021494Sopenharmony_ci     "vs_r8_r11_ROR_r12"},
1467b8021494Sopenharmony_ci    {{vs, r7, r6, ASR, r4}, false, al, "vs r7 r6 ASR r4", "vs_r7_r6_ASR_r4"},
1468b8021494Sopenharmony_ci    {{ge, r5, r3, LSL, r6}, false, al, "ge r5 r3 LSL r6", "ge_r5_r3_LSL_r6"},
1469b8021494Sopenharmony_ci    {{vc, r5, r5, LSL, r12}, false, al, "vc r5 r5 LSL r12", "vc_r5_r5_LSL_r12"},
1470b8021494Sopenharmony_ci    {{le, r0, r13, LSL, r12},
1471b8021494Sopenharmony_ci     false,
1472b8021494Sopenharmony_ci     al,
1473b8021494Sopenharmony_ci     "le r0 r13 LSL r12",
1474b8021494Sopenharmony_ci     "le_r0_r13_LSL_r12"},
1475b8021494Sopenharmony_ci    {{ls, r4, r0, ASR, r11}, false, al, "ls r4 r0 ASR r11", "ls_r4_r0_ASR_r11"},
1476b8021494Sopenharmony_ci    {{ge, r3, r7, ASR, r5}, false, al, "ge r3 r7 ASR r5", "ge_r3_r7_ASR_r5"},
1477b8021494Sopenharmony_ci    {{ge, r11, r4, ROR, r11},
1478b8021494Sopenharmony_ci     false,
1479b8021494Sopenharmony_ci     al,
1480b8021494Sopenharmony_ci     "ge r11 r4 ROR r11",
1481b8021494Sopenharmony_ci     "ge_r11_r4_ROR_r11"},
1482b8021494Sopenharmony_ci    {{al, r6, r7, ROR, r7}, false, al, "al r6 r7 ROR r7", "al_r6_r7_ROR_r7"},
1483b8021494Sopenharmony_ci    {{gt, r4, r4, LSR, r6}, false, al, "gt r4 r4 LSR r6", "gt_r4_r4_LSR_r6"},
1484b8021494Sopenharmony_ci    {{pl, r14, r2, LSR, r1}, false, al, "pl r14 r2 LSR r1", "pl_r14_r2_LSR_r1"},
1485b8021494Sopenharmony_ci    {{le, r10, r9, ROR, r9}, false, al, "le r10 r9 ROR r9", "le_r10_r9_ROR_r9"},
1486b8021494Sopenharmony_ci    {{ne, r5, r3, ASR, r2}, false, al, "ne r5 r3 ASR r2", "ne_r5_r3_ASR_r2"},
1487b8021494Sopenharmony_ci    {{lt, r12, r4, LSL, r11},
1488b8021494Sopenharmony_ci     false,
1489b8021494Sopenharmony_ci     al,
1490b8021494Sopenharmony_ci     "lt r12 r4 LSL r11",
1491b8021494Sopenharmony_ci     "lt_r12_r4_LSL_r11"},
1492b8021494Sopenharmony_ci    {{mi, r1, r1, LSR, r13}, false, al, "mi r1 r1 LSR r13", "mi_r1_r1_LSR_r13"},
1493b8021494Sopenharmony_ci    {{hi, r7, r4, ROR, r9}, false, al, "hi r7 r4 ROR r9", "hi_r7_r4_ROR_r9"},
1494b8021494Sopenharmony_ci    {{lt, r8, r14, LSR, r10},
1495b8021494Sopenharmony_ci     false,
1496b8021494Sopenharmony_ci     al,
1497b8021494Sopenharmony_ci     "lt r8 r14 LSR r10",
1498b8021494Sopenharmony_ci     "lt_r8_r14_LSR_r10"},
1499b8021494Sopenharmony_ci    {{ge, r7, r5, ROR, r11}, false, al, "ge r7 r5 ROR r11", "ge_r7_r5_ROR_r11"},
1500b8021494Sopenharmony_ci    {{ls, r12, r14, LSL, r7},
1501b8021494Sopenharmony_ci     false,
1502b8021494Sopenharmony_ci     al,
1503b8021494Sopenharmony_ci     "ls r12 r14 LSL r7",
1504b8021494Sopenharmony_ci     "ls_r12_r14_LSL_r7"},
1505b8021494Sopenharmony_ci    {{hi, r14, r0, LSL, r3}, false, al, "hi r14 r0 LSL r3", "hi_r14_r0_LSL_r3"},
1506b8021494Sopenharmony_ci    {{ge, r8, r10, ROR, r2}, false, al, "ge r8 r10 ROR r2", "ge_r8_r10_ROR_r2"},
1507b8021494Sopenharmony_ci    {{hi, r6, r3, LSR, r0}, false, al, "hi r6 r3 LSR r0", "hi_r6_r3_LSR_r0"},
1508b8021494Sopenharmony_ci    {{ls, r4, r1, ROR, r3}, false, al, "ls r4 r1 ROR r3", "ls_r4_r1_ROR_r3"},
1509b8021494Sopenharmony_ci    {{ls, r9, r13, ASR, r1}, false, al, "ls r9 r13 ASR r1", "ls_r9_r13_ASR_r1"},
1510b8021494Sopenharmony_ci    {{lt, r10, r1, LSR, r5}, false, al, "lt r10 r1 LSR r5", "lt_r10_r1_LSR_r5"},
1511b8021494Sopenharmony_ci    {{vc, r10, r13, ASR, r3},
1512b8021494Sopenharmony_ci     false,
1513b8021494Sopenharmony_ci     al,
1514b8021494Sopenharmony_ci     "vc r10 r13 ASR r3",
1515b8021494Sopenharmony_ci     "vc_r10_r13_ASR_r3"},
1516b8021494Sopenharmony_ci    {{gt, r1, r0, LSR, r9}, false, al, "gt r1 r0 LSR r9", "gt_r1_r0_LSR_r9"},
1517b8021494Sopenharmony_ci    {{vs, r13, r11, LSL, r14},
1518b8021494Sopenharmony_ci     false,
1519b8021494Sopenharmony_ci     al,
1520b8021494Sopenharmony_ci     "vs r13 r11 LSL r14",
1521b8021494Sopenharmony_ci     "vs_r13_r11_LSL_r14"},
1522b8021494Sopenharmony_ci    {{eq, r4, r7, LSL, r9}, false, al, "eq r4 r7 LSL r9", "eq_r4_r7_LSL_r9"},
1523b8021494Sopenharmony_ci    {{lt, r14, r9, LSL, r13},
1524b8021494Sopenharmony_ci     false,
1525b8021494Sopenharmony_ci     al,
1526b8021494Sopenharmony_ci     "lt r14 r9 LSL r13",
1527b8021494Sopenharmony_ci     "lt_r14_r9_LSL_r13"},
1528b8021494Sopenharmony_ci    {{le, r8, r8, ASR, r0}, false, al, "le r8 r8 ASR r0", "le_r8_r8_ASR_r0"},
1529b8021494Sopenharmony_ci    {{vs, r14, r9, LSR, r3}, false, al, "vs r14 r9 LSR r3", "vs_r14_r9_LSR_r3"},
1530b8021494Sopenharmony_ci    {{al, r10, r6, ROR, r13},
1531b8021494Sopenharmony_ci     false,
1532b8021494Sopenharmony_ci     al,
1533b8021494Sopenharmony_ci     "al r10 r6 ROR r13",
1534b8021494Sopenharmony_ci     "al_r10_r6_ROR_r13"},
1535b8021494Sopenharmony_ci    {{vs, r5, r2, ROR, r7}, false, al, "vs r5 r2 ROR r7", "vs_r5_r2_ROR_r7"},
1536b8021494Sopenharmony_ci    {{vs, r14, r12, ROR, r14},
1537b8021494Sopenharmony_ci     false,
1538b8021494Sopenharmony_ci     al,
1539b8021494Sopenharmony_ci     "vs r14 r12 ROR r14",
1540b8021494Sopenharmony_ci     "vs_r14_r12_ROR_r14"},
1541b8021494Sopenharmony_ci    {{lt, r11, r2, ASR, r0}, false, al, "lt r11 r2 ASR r0", "lt_r11_r2_ASR_r0"},
1542b8021494Sopenharmony_ci    {{vc, r3, r2, LSL, r9}, false, al, "vc r3 r2 LSL r9", "vc_r3_r2_LSL_r9"},
1543b8021494Sopenharmony_ci    {{hi, r14, r4, LSL, r2}, false, al, "hi r14 r4 LSL r2", "hi_r14_r4_LSL_r2"},
1544b8021494Sopenharmony_ci    {{gt, r8, r9, ASR, r0}, false, al, "gt r8 r9 ASR r0", "gt_r8_r9_ASR_r0"},
1545b8021494Sopenharmony_ci    {{gt, r4, r4, LSL, r11}, false, al, "gt r4 r4 LSL r11", "gt_r4_r4_LSL_r11"},
1546b8021494Sopenharmony_ci    {{cc, r5, r14, LSL, r9}, false, al, "cc r5 r14 LSL r9", "cc_r5_r14_LSL_r9"},
1547b8021494Sopenharmony_ci    {{lt, r10, r10, ASR, r5},
1548b8021494Sopenharmony_ci     false,
1549b8021494Sopenharmony_ci     al,
1550b8021494Sopenharmony_ci     "lt r10 r10 ASR r5",
1551b8021494Sopenharmony_ci     "lt_r10_r10_ASR_r5"},
1552b8021494Sopenharmony_ci    {{eq, r1, r12, LSR, r7}, false, al, "eq r1 r12 LSR r7", "eq_r1_r12_LSR_r7"},
1553b8021494Sopenharmony_ci    {{eq, r11, r9, ROR, r7}, false, al, "eq r11 r9 ROR r7", "eq_r11_r9_ROR_r7"},
1554b8021494Sopenharmony_ci    {{gt, r5, r7, ASR, r6}, false, al, "gt r5 r7 ASR r6", "gt_r5_r7_ASR_r6"},
1555b8021494Sopenharmony_ci    {{cc, r7, r2, LSL, r13}, false, al, "cc r7 r2 LSL r13", "cc_r7_r2_LSL_r13"},
1556b8021494Sopenharmony_ci    {{cs, r12, r12, LSL, r4},
1557b8021494Sopenharmony_ci     false,
1558b8021494Sopenharmony_ci     al,
1559b8021494Sopenharmony_ci     "cs r12 r12 LSL r4",
1560b8021494Sopenharmony_ci     "cs_r12_r12_LSL_r4"},
1561b8021494Sopenharmony_ci    {{ls, r4, r4, ROR, r7}, false, al, "ls r4 r4 ROR r7", "ls_r4_r4_ROR_r7"},
1562b8021494Sopenharmony_ci    {{al, r13, r8, ASR, r10},
1563b8021494Sopenharmony_ci     false,
1564b8021494Sopenharmony_ci     al,
1565b8021494Sopenharmony_ci     "al r13 r8 ASR r10",
1566b8021494Sopenharmony_ci     "al_r13_r8_ASR_r10"},
1567b8021494Sopenharmony_ci    {{cs, r1, r0, ASR, r1}, false, al, "cs r1 r0 ASR r1", "cs_r1_r0_ASR_r1"},
1568b8021494Sopenharmony_ci    {{ne, r6, r7, LSL, r0}, false, al, "ne r6 r7 LSL r0", "ne_r6_r7_LSL_r0"},
1569b8021494Sopenharmony_ci    {{cc, r5, r13, LSR, r9}, false, al, "cc r5 r13 LSR r9", "cc_r5_r13_LSR_r9"},
1570b8021494Sopenharmony_ci    {{cc, r9, r6, LSL, r14}, false, al, "cc r9 r6 LSL r14", "cc_r9_r6_LSL_r14"},
1571b8021494Sopenharmony_ci    {{al, r12, r13, ASR, r2},
1572b8021494Sopenharmony_ci     false,
1573b8021494Sopenharmony_ci     al,
1574b8021494Sopenharmony_ci     "al r12 r13 ASR r2",
1575b8021494Sopenharmony_ci     "al_r12_r13_ASR_r2"},
1576b8021494Sopenharmony_ci    {{gt, r0, r6, LSR, r6}, false, al, "gt r0 r6 LSR r6", "gt_r0_r6_LSR_r6"},
1577b8021494Sopenharmony_ci    {{al, r6, r10, ROR, r10},
1578b8021494Sopenharmony_ci     false,
1579b8021494Sopenharmony_ci     al,
1580b8021494Sopenharmony_ci     "al r6 r10 ROR r10",
1581b8021494Sopenharmony_ci     "al_r6_r10_ROR_r10"},
1582b8021494Sopenharmony_ci    {{lt, r4, r13, LSL, r6}, false, al, "lt r4 r13 LSL r6", "lt_r4_r13_LSL_r6"},
1583b8021494Sopenharmony_ci    {{hi, r12, r0, LSL, r10},
1584b8021494Sopenharmony_ci     false,
1585b8021494Sopenharmony_ci     al,
1586b8021494Sopenharmony_ci     "hi r12 r0 LSL r10",
1587b8021494Sopenharmony_ci     "hi_r12_r0_LSL_r10"},
1588b8021494Sopenharmony_ci    {{ge, r5, r9, ROR, r11}, false, al, "ge r5 r9 ROR r11", "ge_r5_r9_ROR_r11"},
1589b8021494Sopenharmony_ci    {{ge, r4, r5, ASR, r10}, false, al, "ge r4 r5 ASR r10", "ge_r4_r5_ASR_r10"},
1590b8021494Sopenharmony_ci    {{al, r0, r5, LSL, r11}, false, al, "al r0 r5 LSL r11", "al_r0_r5_LSL_r11"},
1591b8021494Sopenharmony_ci    {{mi, r6, r3, LSR, r8}, false, al, "mi r6 r3 LSR r8", "mi_r6_r3_LSR_r8"},
1592b8021494Sopenharmony_ci    {{gt, r2, r6, LSR, r6}, false, al, "gt r2 r6 LSR r6", "gt_r2_r6_LSR_r6"},
1593b8021494Sopenharmony_ci    {{le, r7, r3, ROR, r10}, false, al, "le r7 r3 ROR r10", "le_r7_r3_ROR_r10"},
1594b8021494Sopenharmony_ci    {{vs, r8, r5, LSR, r13}, false, al, "vs r8 r5 LSR r13", "vs_r8_r5_LSR_r13"},
1595b8021494Sopenharmony_ci    {{al, r10, r7, ASR, r14},
1596b8021494Sopenharmony_ci     false,
1597b8021494Sopenharmony_ci     al,
1598b8021494Sopenharmony_ci     "al r10 r7 ASR r14",
1599b8021494Sopenharmony_ci     "al_r10_r7_ASR_r14"},
1600b8021494Sopenharmony_ci    {{lt, r10, r11, LSL, r5},
1601b8021494Sopenharmony_ci     false,
1602b8021494Sopenharmony_ci     al,
1603b8021494Sopenharmony_ci     "lt r10 r11 LSL r5",
1604b8021494Sopenharmony_ci     "lt_r10_r11_LSL_r5"},
1605b8021494Sopenharmony_ci    {{lt, r11, r3, LSR, r4}, false, al, "lt r11 r3 LSR r4", "lt_r11_r3_LSR_r4"},
1606b8021494Sopenharmony_ci    {{vc, r11, r10, LSR, r8},
1607b8021494Sopenharmony_ci     false,
1608b8021494Sopenharmony_ci     al,
1609b8021494Sopenharmony_ci     "vc r11 r10 LSR r8",
1610b8021494Sopenharmony_ci     "vc_r11_r10_LSR_r8"},
1611b8021494Sopenharmony_ci    {{cs, r11, r5, LSL, r9}, false, al, "cs r11 r5 LSL r9", "cs_r11_r5_LSL_r9"},
1612b8021494Sopenharmony_ci    {{cs, r6, r5, LSR, r7}, false, al, "cs r6 r5 LSR r7", "cs_r6_r5_LSR_r7"},
1613b8021494Sopenharmony_ci    {{lt, r7, r7, ASR, r1}, false, al, "lt r7 r7 ASR r1", "lt_r7_r7_ASR_r1"},
1614b8021494Sopenharmony_ci    {{cc, r7, r4, ROR, r7}, false, al, "cc r7 r4 ROR r7", "cc_r7_r4_ROR_r7"},
1615b8021494Sopenharmony_ci    {{ls, r8, r12, LSR, r9}, false, al, "ls r8 r12 LSR r9", "ls_r8_r12_LSR_r9"},
1616b8021494Sopenharmony_ci    {{le, r5, r13, ROR, r11},
1617b8021494Sopenharmony_ci     false,
1618b8021494Sopenharmony_ci     al,
1619b8021494Sopenharmony_ci     "le r5 r13 ROR r11",
1620b8021494Sopenharmony_ci     "le_r5_r13_ROR_r11"},
1621b8021494Sopenharmony_ci    {{eq, r4, r5, ROR, r12}, false, al, "eq r4 r5 ROR r12", "eq_r4_r5_ROR_r12"},
1622b8021494Sopenharmony_ci    {{ls, r0, r0, LSL, r1}, false, al, "ls r0 r0 LSL r1", "ls_r0_r0_LSL_r1"},
1623b8021494Sopenharmony_ci    {{ge, r7, r2, ROR, r9}, false, al, "ge r7 r2 ROR r9", "ge_r7_r2_ROR_r9"},
1624b8021494Sopenharmony_ci    {{cc, r5, r6, LSR, r12}, false, al, "cc r5 r6 LSR r12", "cc_r5_r6_LSR_r12"},
1625b8021494Sopenharmony_ci    {{cs, r7, r4, ASR, r10}, false, al, "cs r7 r4 ASR r10", "cs_r7_r4_ASR_r10"},
1626b8021494Sopenharmony_ci    {{al, r5, r4, ROR, r14}, false, al, "al r5 r4 ROR r14", "al_r5_r4_ROR_r14"},
1627b8021494Sopenharmony_ci    {{eq, r7, r3, ROR, r12}, false, al, "eq r7 r3 ROR r12", "eq_r7_r3_ROR_r12"},
1628b8021494Sopenharmony_ci    {{cc, r9, r4, LSL, r14}, false, al, "cc r9 r4 LSL r14", "cc_r9_r4_LSL_r14"},
1629b8021494Sopenharmony_ci    {{le, r5, r2, ASR, r13}, false, al, "le r5 r2 ASR r13", "le_r5_r2_ASR_r13"},
1630b8021494Sopenharmony_ci    {{eq, r14, r12, ROR, r4},
1631b8021494Sopenharmony_ci     false,
1632b8021494Sopenharmony_ci     al,
1633b8021494Sopenharmony_ci     "eq r14 r12 ROR r4",
1634b8021494Sopenharmony_ci     "eq_r14_r12_ROR_r4"},
1635b8021494Sopenharmony_ci    {{eq, r5, r2, ASR, r8}, false, al, "eq r5 r2 ASR r8", "eq_r5_r2_ASR_r8"},
1636b8021494Sopenharmony_ci    {{gt, r12, r5, LSR, r7}, false, al, "gt r12 r5 LSR r7", "gt_r12_r5_LSR_r7"},
1637b8021494Sopenharmony_ci    {{cc, r11, r14, ROR, r1},
1638b8021494Sopenharmony_ci     false,
1639b8021494Sopenharmony_ci     al,
1640b8021494Sopenharmony_ci     "cc r11 r14 ROR r1",
1641b8021494Sopenharmony_ci     "cc_r11_r14_ROR_r1"},
1642b8021494Sopenharmony_ci    {{ge, r0, r11, LSL, r9}, false, al, "ge r0 r11 LSL r9", "ge_r0_r11_LSL_r9"},
1643b8021494Sopenharmony_ci    {{ls, r4, r4, ROR, r0}, false, al, "ls r4 r4 ROR r0", "ls_r4_r4_ROR_r0"},
1644b8021494Sopenharmony_ci    {{cs, r7, r9, ROR, r10}, false, al, "cs r7 r9 ROR r10", "cs_r7_r9_ROR_r10"},
1645b8021494Sopenharmony_ci    {{le, r9, r4, LSR, r5}, false, al, "le r9 r4 LSR r5", "le_r9_r4_LSR_r5"},
1646b8021494Sopenharmony_ci    {{ls, r1, r4, LSL, r10}, false, al, "ls r1 r4 LSL r10", "ls_r1_r4_LSL_r10"},
1647b8021494Sopenharmony_ci    {{lt, r9, r13, LSL, r2}, false, al, "lt r9 r13 LSL r2", "lt_r9_r13_LSL_r2"},
1648b8021494Sopenharmony_ci    {{vs, r13, r6, ROR, r13},
1649b8021494Sopenharmony_ci     false,
1650b8021494Sopenharmony_ci     al,
1651b8021494Sopenharmony_ci     "vs r13 r6 ROR r13",
1652b8021494Sopenharmony_ci     "vs_r13_r6_ROR_r13"},
1653b8021494Sopenharmony_ci    {{cs, r4, r0, LSL, r9}, false, al, "cs r4 r0 LSL r9", "cs_r4_r0_LSL_r9"},
1654b8021494Sopenharmony_ci    {{le, r8, r13, LSR, r14},
1655b8021494Sopenharmony_ci     false,
1656b8021494Sopenharmony_ci     al,
1657b8021494Sopenharmony_ci     "le r8 r13 LSR r14",
1658b8021494Sopenharmony_ci     "le_r8_r13_LSR_r14"},
1659b8021494Sopenharmony_ci    {{al, r9, r7, LSL, r10}, false, al, "al r9 r7 LSL r10", "al_r9_r7_LSL_r10"},
1660b8021494Sopenharmony_ci    {{mi, r6, r8, LSL, r2}, false, al, "mi r6 r8 LSL r2", "mi_r6_r8_LSL_r2"},
1661b8021494Sopenharmony_ci    {{ne, r6, r5, ASR, r5}, false, al, "ne r6 r5 ASR r5", "ne_r6_r5_ASR_r5"},
1662b8021494Sopenharmony_ci    {{ls, r1, r8, LSR, r12}, false, al, "ls r1 r8 LSR r12", "ls_r1_r8_LSR_r12"},
1663b8021494Sopenharmony_ci    {{cs, r9, r7, LSL, r10}, false, al, "cs r9 r7 LSL r10", "cs_r9_r7_LSL_r10"},
1664b8021494Sopenharmony_ci    {{cc, r3, r0, ROR, r2}, false, al, "cc r3 r0 ROR r2", "cc_r3_r0_ROR_r2"},
1665b8021494Sopenharmony_ci    {{vc, r5, r6, ASR, r11}, false, al, "vc r5 r6 ASR r11", "vc_r5_r6_ASR_r11"},
1666b8021494Sopenharmony_ci    {{le, r11, r9, ROR, r10},
1667b8021494Sopenharmony_ci     false,
1668b8021494Sopenharmony_ci     al,
1669b8021494Sopenharmony_ci     "le r11 r9 ROR r10",
1670b8021494Sopenharmony_ci     "le_r11_r9_ROR_r10"},
1671b8021494Sopenharmony_ci    {{gt, r4, r10, ROR, r13},
1672b8021494Sopenharmony_ci     false,
1673b8021494Sopenharmony_ci     al,
1674b8021494Sopenharmony_ci     "gt r4 r10 ROR r13",
1675b8021494Sopenharmony_ci     "gt_r4_r10_ROR_r13"},
1676b8021494Sopenharmony_ci    {{lt, r13, r14, LSL, r11},
1677b8021494Sopenharmony_ci     false,
1678b8021494Sopenharmony_ci     al,
1679b8021494Sopenharmony_ci     "lt r13 r14 LSL r11",
1680b8021494Sopenharmony_ci     "lt_r13_r14_LSL_r11"},
1681b8021494Sopenharmony_ci    {{ls, r10, r8, LSL, r11},
1682b8021494Sopenharmony_ci     false,
1683b8021494Sopenharmony_ci     al,
1684b8021494Sopenharmony_ci     "ls r10 r8 LSL r11",
1685b8021494Sopenharmony_ci     "ls_r10_r8_LSL_r11"},
1686b8021494Sopenharmony_ci    {{gt, r7, r9, ROR, r12}, false, al, "gt r7 r9 ROR r12", "gt_r7_r9_ROR_r12"},
1687b8021494Sopenharmony_ci    {{le, r11, r8, LSR, r0}, false, al, "le r11 r8 LSR r0", "le_r11_r8_LSR_r0"},
1688b8021494Sopenharmony_ci    {{vs, r3, r1, LSR, r3}, false, al, "vs r3 r1 LSR r3", "vs_r3_r1_LSR_r3"},
1689b8021494Sopenharmony_ci    {{cs, r14, r13, ROR, r5},
1690b8021494Sopenharmony_ci     false,
1691b8021494Sopenharmony_ci     al,
1692b8021494Sopenharmony_ci     "cs r14 r13 ROR r5",
1693b8021494Sopenharmony_ci     "cs_r14_r13_ROR_r5"},
1694b8021494Sopenharmony_ci    {{pl, r1, r0, LSL, r6}, false, al, "pl r1 r0 LSL r6", "pl_r1_r0_LSL_r6"},
1695b8021494Sopenharmony_ci    {{hi, r13, r8, ROR, r12},
1696b8021494Sopenharmony_ci     false,
1697b8021494Sopenharmony_ci     al,
1698b8021494Sopenharmony_ci     "hi r13 r8 ROR r12",
1699b8021494Sopenharmony_ci     "hi_r13_r8_ROR_r12"},
1700b8021494Sopenharmony_ci    {{vc, r6, r7, LSR, r0}, false, al, "vc r6 r7 LSR r0", "vc_r6_r7_LSR_r0"},
1701b8021494Sopenharmony_ci    {{gt, r4, r10, LSL, r4}, false, al, "gt r4 r10 LSL r4", "gt_r4_r10_LSL_r4"},
1702b8021494Sopenharmony_ci    {{ge, r4, r12, LSR, r7}, false, al, "ge r4 r12 LSR r7", "ge_r4_r12_LSR_r7"},
1703b8021494Sopenharmony_ci    {{pl, r1, r8, LSR, r3}, false, al, "pl r1 r8 LSR r3", "pl_r1_r8_LSR_r3"},
1704b8021494Sopenharmony_ci    {{hi, r0, r0, ASR, r7}, false, al, "hi r0 r0 ASR r7", "hi_r0_r0_ASR_r7"},
1705b8021494Sopenharmony_ci    {{cs, r0, r7, ROR, r12}, false, al, "cs r0 r7 ROR r12", "cs_r0_r7_ROR_r12"},
1706b8021494Sopenharmony_ci    {{eq, r10, r9, LSR, r0}, false, al, "eq r10 r9 LSR r0", "eq_r10_r9_LSR_r0"},
1707b8021494Sopenharmony_ci    {{cc, r5, r10, ROR, r10},
1708b8021494Sopenharmony_ci     false,
1709b8021494Sopenharmony_ci     al,
1710b8021494Sopenharmony_ci     "cc r5 r10 ROR r10",
1711b8021494Sopenharmony_ci     "cc_r5_r10_ROR_r10"},
1712b8021494Sopenharmony_ci    {{cs, r0, r14, ROR, r8}, false, al, "cs r0 r14 ROR r8", "cs_r0_r14_ROR_r8"},
1713b8021494Sopenharmony_ci    {{eq, r14, r11, LSR, r5},
1714b8021494Sopenharmony_ci     false,
1715b8021494Sopenharmony_ci     al,
1716b8021494Sopenharmony_ci     "eq r14 r11 LSR r5",
1717b8021494Sopenharmony_ci     "eq_r14_r11_LSR_r5"},
1718b8021494Sopenharmony_ci    {{le, r14, r4, LSR, r12},
1719b8021494Sopenharmony_ci     false,
1720b8021494Sopenharmony_ci     al,
1721b8021494Sopenharmony_ci     "le r14 r4 LSR r12",
1722b8021494Sopenharmony_ci     "le_r14_r4_LSR_r12"},
1723b8021494Sopenharmony_ci    {{lt, r10, r8, LSL, r10},
1724b8021494Sopenharmony_ci     false,
1725b8021494Sopenharmony_ci     al,
1726b8021494Sopenharmony_ci     "lt r10 r8 LSL r10",
1727b8021494Sopenharmony_ci     "lt_r10_r8_LSL_r10"},
1728b8021494Sopenharmony_ci    {{le, r13, r4, LSR, r0}, false, al, "le r13 r4 LSR r0", "le_r13_r4_LSR_r0"},
1729b8021494Sopenharmony_ci    {{vc, r9, r9, LSL, r14}, false, al, "vc r9 r9 LSL r14", "vc_r9_r9_LSL_r14"},
1730b8021494Sopenharmony_ci    {{vs, r1, r2, LSR, r7}, false, al, "vs r1 r2 LSR r7", "vs_r1_r2_LSR_r7"},
1731b8021494Sopenharmony_ci    {{al, r14, r4, ROR, r4}, false, al, "al r14 r4 ROR r4", "al_r14_r4_ROR_r4"},
1732b8021494Sopenharmony_ci    {{vs, r10, r6, ROR, r10},
1733b8021494Sopenharmony_ci     false,
1734b8021494Sopenharmony_ci     al,
1735b8021494Sopenharmony_ci     "vs r10 r6 ROR r10",
1736b8021494Sopenharmony_ci     "vs_r10_r6_ROR_r10"},
1737b8021494Sopenharmony_ci    {{cc, r11, r13, LSL, r11},
1738b8021494Sopenharmony_ci     false,
1739b8021494Sopenharmony_ci     al,
1740b8021494Sopenharmony_ci     "cc r11 r13 LSL r11",
1741b8021494Sopenharmony_ci     "cc_r11_r13_LSL_r11"},
1742b8021494Sopenharmony_ci    {{lt, r4, r9, ROR, r2}, false, al, "lt r4 r9 ROR r2", "lt_r4_r9_ROR_r2"},
1743b8021494Sopenharmony_ci    {{gt, r4, r12, ASR, r8}, false, al, "gt r4 r12 ASR r8", "gt_r4_r12_ASR_r8"},
1744b8021494Sopenharmony_ci    {{hi, r3, r6, LSR, r14}, false, al, "hi r3 r6 LSR r14", "hi_r3_r6_LSR_r14"},
1745b8021494Sopenharmony_ci    {{vs, r11, r6, LSL, r5}, false, al, "vs r11 r6 LSL r5", "vs_r11_r6_LSL_r5"},
1746b8021494Sopenharmony_ci    {{ne, r14, r12, LSR, r9},
1747b8021494Sopenharmony_ci     false,
1748b8021494Sopenharmony_ci     al,
1749b8021494Sopenharmony_ci     "ne r14 r12 LSR r9",
1750b8021494Sopenharmony_ci     "ne_r14_r12_LSR_r9"},
1751b8021494Sopenharmony_ci    {{cc, r12, r5, ROR, r0}, false, al, "cc r12 r5 ROR r0", "cc_r12_r5_ROR_r0"},
1752b8021494Sopenharmony_ci    {{al, r11, r1, ASR, r14},
1753b8021494Sopenharmony_ci     false,
1754b8021494Sopenharmony_ci     al,
1755b8021494Sopenharmony_ci     "al r11 r1 ASR r14",
1756b8021494Sopenharmony_ci     "al_r11_r1_ASR_r14"},
1757b8021494Sopenharmony_ci    {{ge, r9, r1, LSR, r12}, false, al, "ge r9 r1 LSR r12", "ge_r9_r1_LSR_r12"},
1758b8021494Sopenharmony_ci    {{pl, r12, r1, LSR, r11},
1759b8021494Sopenharmony_ci     false,
1760b8021494Sopenharmony_ci     al,
1761b8021494Sopenharmony_ci     "pl r12 r1 LSR r11",
1762b8021494Sopenharmony_ci     "pl_r12_r1_LSR_r11"},
1763b8021494Sopenharmony_ci    {{pl, r0, r1, ROR, r4}, false, al, "pl r0 r1 ROR r4", "pl_r0_r1_ROR_r4"},
1764b8021494Sopenharmony_ci    {{mi, r10, r12, ROR, r10},
1765b8021494Sopenharmony_ci     false,
1766b8021494Sopenharmony_ci     al,
1767b8021494Sopenharmony_ci     "mi r10 r12 ROR r10",
1768b8021494Sopenharmony_ci     "mi_r10_r12_ROR_r10"},
1769b8021494Sopenharmony_ci    {{cs, r4, r5, ASR, r0}, false, al, "cs r4 r5 ASR r0", "cs_r4_r5_ASR_r0"},
1770b8021494Sopenharmony_ci    {{lt, r6, r3, ASR, r11}, false, al, "lt r6 r3 ASR r11", "lt_r6_r3_ASR_r11"},
1771b8021494Sopenharmony_ci    {{cs, r5, r13, ASR, r6}, false, al, "cs r5 r13 ASR r6", "cs_r5_r13_ASR_r6"},
1772b8021494Sopenharmony_ci    {{vs, r10, r3, LSR, r10},
1773b8021494Sopenharmony_ci     false,
1774b8021494Sopenharmony_ci     al,
1775b8021494Sopenharmony_ci     "vs r10 r3 LSR r10",
1776b8021494Sopenharmony_ci     "vs_r10_r3_LSR_r10"},
1777b8021494Sopenharmony_ci    {{vc, r5, r12, LSR, r8}, false, al, "vc r5 r12 LSR r8", "vc_r5_r12_LSR_r8"},
1778b8021494Sopenharmony_ci    {{al, r3, r10, ROR, r8}, false, al, "al r3 r10 ROR r8", "al_r3_r10_ROR_r8"},
1779b8021494Sopenharmony_ci    {{vc, r11, r4, ASR, r0}, false, al, "vc r11 r4 ASR r0", "vc_r11_r4_ASR_r0"},
1780b8021494Sopenharmony_ci    {{ge, r10, r1, LSL, r11},
1781b8021494Sopenharmony_ci     false,
1782b8021494Sopenharmony_ci     al,
1783b8021494Sopenharmony_ci     "ge r10 r1 LSL r11",
1784b8021494Sopenharmony_ci     "ge_r10_r1_LSL_r11"},
1785b8021494Sopenharmony_ci    {{eq, r1, r3, LSR, r8}, false, al, "eq r1 r3 LSR r8", "eq_r1_r3_LSR_r8"},
1786b8021494Sopenharmony_ci    {{vc, r14, r4, LSL, r9}, false, al, "vc r14 r4 LSL r9", "vc_r14_r4_LSL_r9"},
1787b8021494Sopenharmony_ci    {{gt, r2, r0, ROR, r3}, false, al, "gt r2 r0 ROR r3", "gt_r2_r0_ROR_r3"},
1788b8021494Sopenharmony_ci    {{mi, r10, r3, LSR, r4}, false, al, "mi r10 r3 LSR r4", "mi_r10_r3_LSR_r4"},
1789b8021494Sopenharmony_ci    {{vs, r7, r9, ROR, r13}, false, al, "vs r7 r9 ROR r13", "vs_r7_r9_ROR_r13"},
1790b8021494Sopenharmony_ci    {{eq, r4, r3, LSR, r1}, false, al, "eq r4 r3 LSR r1", "eq_r4_r3_LSR_r1"},
1791b8021494Sopenharmony_ci    {{mi, r7, r0, LSL, r0}, false, al, "mi r7 r0 LSL r0", "mi_r7_r0_LSL_r0"},
1792b8021494Sopenharmony_ci    {{ls, r11, r6, LSR, r11},
1793b8021494Sopenharmony_ci     false,
1794b8021494Sopenharmony_ci     al,
1795b8021494Sopenharmony_ci     "ls r11 r6 LSR r11",
1796b8021494Sopenharmony_ci     "ls_r11_r6_LSR_r11"},
1797b8021494Sopenharmony_ci    {{al, r8, r4, LSL, r12}, false, al, "al r8 r4 LSL r12", "al_r8_r4_LSL_r12"},
1798b8021494Sopenharmony_ci    {{pl, r7, r13, LSR, r8}, false, al, "pl r7 r13 LSR r8", "pl_r7_r13_LSR_r8"},
1799b8021494Sopenharmony_ci    {{eq, r4, r4, LSR, r13}, false, al, "eq r4 r4 LSR r13", "eq_r4_r4_LSR_r13"},
1800b8021494Sopenharmony_ci    {{eq, r3, r4, ROR, r6}, false, al, "eq r3 r4 ROR r6", "eq_r3_r4_ROR_r6"},
1801b8021494Sopenharmony_ci    {{ne, r8, r11, LSR, r14},
1802b8021494Sopenharmony_ci     false,
1803b8021494Sopenharmony_ci     al,
1804b8021494Sopenharmony_ci     "ne r8 r11 LSR r14",
1805b8021494Sopenharmony_ci     "ne_r8_r11_LSR_r14"},
1806b8021494Sopenharmony_ci    {{ge, r12, r7, LSL, r1}, false, al, "ge r12 r7 LSL r1", "ge_r12_r7_LSL_r1"},
1807b8021494Sopenharmony_ci    {{gt, r12, r7, LSL, r14},
1808b8021494Sopenharmony_ci     false,
1809b8021494Sopenharmony_ci     al,
1810b8021494Sopenharmony_ci     "gt r12 r7 LSL r14",
1811b8021494Sopenharmony_ci     "gt_r12_r7_LSL_r14"},
1812b8021494Sopenharmony_ci    {{ne, r14, r13, LSR, r2},
1813b8021494Sopenharmony_ci     false,
1814b8021494Sopenharmony_ci     al,
1815b8021494Sopenharmony_ci     "ne r14 r13 LSR r2",
1816b8021494Sopenharmony_ci     "ne_r14_r13_LSR_r2"},
1817b8021494Sopenharmony_ci    {{ne, r14, r2, LSR, r14},
1818b8021494Sopenharmony_ci     false,
1819b8021494Sopenharmony_ci     al,
1820b8021494Sopenharmony_ci     "ne r14 r2 LSR r14",
1821b8021494Sopenharmony_ci     "ne_r14_r2_LSR_r14"},
1822b8021494Sopenharmony_ci    {{vs, r14, r5, ROR, r1}, false, al, "vs r14 r5 ROR r1", "vs_r14_r5_ROR_r1"},
1823b8021494Sopenharmony_ci    {{ne, r2, r6, ROR, r4}, false, al, "ne r2 r6 ROR r4", "ne_r2_r6_ROR_r4"},
1824b8021494Sopenharmony_ci    {{lt, r4, r11, ROR, r13},
1825b8021494Sopenharmony_ci     false,
1826b8021494Sopenharmony_ci     al,
1827b8021494Sopenharmony_ci     "lt r4 r11 ROR r13",
1828b8021494Sopenharmony_ci     "lt_r4_r11_ROR_r13"},
1829b8021494Sopenharmony_ci    {{pl, r9, r3, ASR, r2}, false, al, "pl r9 r3 ASR r2", "pl_r9_r3_ASR_r2"},
1830b8021494Sopenharmony_ci    {{cs, r5, r5, LSR, r2}, false, al, "cs r5 r5 LSR r2", "cs_r5_r5_LSR_r2"},
1831b8021494Sopenharmony_ci    {{cc, r3, r1, ASR, r5}, false, al, "cc r3 r1 ASR r5", "cc_r3_r1_ASR_r5"},
1832b8021494Sopenharmony_ci    {{ne, r0, r10, LSL, r1}, false, al, "ne r0 r10 LSL r1", "ne_r0_r10_LSL_r1"},
1833b8021494Sopenharmony_ci    {{pl, r5, r9, LSR, r0}, false, al, "pl r5 r9 LSR r0", "pl_r5_r9_LSR_r0"},
1834b8021494Sopenharmony_ci    {{gt, r11, r7, LSL, r11},
1835b8021494Sopenharmony_ci     false,
1836b8021494Sopenharmony_ci     al,
1837b8021494Sopenharmony_ci     "gt r11 r7 LSL r11",
1838b8021494Sopenharmony_ci     "gt_r11_r7_LSL_r11"},
1839b8021494Sopenharmony_ci    {{al, r5, r13, LSR, r0}, false, al, "al r5 r13 LSR r0", "al_r5_r13_LSR_r0"},
1840b8021494Sopenharmony_ci    {{al, r0, r6, ROR, r9}, false, al, "al r0 r6 ROR r9", "al_r0_r6_ROR_r9"},
1841b8021494Sopenharmony_ci    {{cc, r1, r1, LSR, r11}, false, al, "cc r1 r1 LSR r11", "cc_r1_r1_LSR_r11"},
1842b8021494Sopenharmony_ci    {{cs, r5, r5, ASR, r3}, false, al, "cs r5 r5 ASR r3", "cs_r5_r5_ASR_r3"},
1843b8021494Sopenharmony_ci    {{lt, r4, r5, ASR, r3}, false, al, "lt r4 r5 ASR r3", "lt_r4_r5_ASR_r3"},
1844b8021494Sopenharmony_ci    {{mi, r2, r5, LSL, r5}, false, al, "mi r2 r5 LSL r5", "mi_r2_r5_LSL_r5"},
1845b8021494Sopenharmony_ci    {{al, r5, r3, ASR, r1}, false, al, "al r5 r3 ASR r1", "al_r5_r3_ASR_r1"},
1846b8021494Sopenharmony_ci    {{gt, r8, r2, LSR, r3}, false, al, "gt r8 r2 LSR r3", "gt_r8_r2_LSR_r3"},
1847b8021494Sopenharmony_ci    {{ne, r5, r0, ASR, r3}, false, al, "ne r5 r0 ASR r3", "ne_r5_r0_ASR_r3"},
1848b8021494Sopenharmony_ci    {{ge, r12, r14, LSR, r6},
1849b8021494Sopenharmony_ci     false,
1850b8021494Sopenharmony_ci     al,
1851b8021494Sopenharmony_ci     "ge r12 r14 LSR r6",
1852b8021494Sopenharmony_ci     "ge_r12_r14_LSR_r6"},
1853b8021494Sopenharmony_ci    {{al, r13, r7, ASR, r10},
1854b8021494Sopenharmony_ci     false,
1855b8021494Sopenharmony_ci     al,
1856b8021494Sopenharmony_ci     "al r13 r7 ASR r10",
1857b8021494Sopenharmony_ci     "al_r13_r7_ASR_r10"},
1858b8021494Sopenharmony_ci    {{vs, r5, r12, ASR, r3}, false, al, "vs r5 r12 ASR r3", "vs_r5_r12_ASR_r3"},
1859b8021494Sopenharmony_ci    {{vc, r10, r10, ROR, r8},
1860b8021494Sopenharmony_ci     false,
1861b8021494Sopenharmony_ci     al,
1862b8021494Sopenharmony_ci     "vc r10 r10 ROR r8",
1863b8021494Sopenharmony_ci     "vc_r10_r10_ROR_r8"},
1864b8021494Sopenharmony_ci    {{vc, r4, r4, ASR, r4}, false, al, "vc r4 r4 ASR r4", "vc_r4_r4_ASR_r4"},
1865b8021494Sopenharmony_ci    {{hi, r1, r1, LSR, r3}, false, al, "hi r1 r1 LSR r3", "hi_r1_r1_LSR_r3"},
1866b8021494Sopenharmony_ci    {{ge, r14, r8, LSR, r8}, false, al, "ge r14 r8 LSR r8", "ge_r14_r8_LSR_r8"},
1867b8021494Sopenharmony_ci    {{le, r5, r5, LSL, r1}, false, al, "le r5 r5 LSL r1", "le_r5_r5_LSL_r1"},
1868b8021494Sopenharmony_ci    {{vc, r2, r8, LSL, r8}, false, al, "vc r2 r8 LSL r8", "vc_r2_r8_LSL_r8"},
1869b8021494Sopenharmony_ci    {{hi, r0, r6, LSL, r5}, false, al, "hi r0 r6 LSL r5", "hi_r0_r6_LSL_r5"},
1870b8021494Sopenharmony_ci    {{le, r8, r7, LSR, r3}, false, al, "le r8 r7 LSR r3", "le_r8_r7_LSR_r3"},
1871b8021494Sopenharmony_ci    {{cc, r10, r4, LSR, r4}, false, al, "cc r10 r4 LSR r4", "cc_r10_r4_LSR_r4"},
1872b8021494Sopenharmony_ci    {{cc, r5, r9, LSL, r7}, false, al, "cc r5 r9 LSL r7", "cc_r5_r9_LSL_r7"},
1873b8021494Sopenharmony_ci    {{lt, r1, r14, ROR, r13},
1874b8021494Sopenharmony_ci     false,
1875b8021494Sopenharmony_ci     al,
1876b8021494Sopenharmony_ci     "lt r1 r14 ROR r13",
1877b8021494Sopenharmony_ci     "lt_r1_r14_ROR_r13"},
1878b8021494Sopenharmony_ci    {{mi, r9, r9, ROR, r10}, false, al, "mi r9 r9 ROR r10", "mi_r9_r9_ROR_r10"},
1879b8021494Sopenharmony_ci    {{cc, r0, r5, ROR, r7}, false, al, "cc r0 r5 ROR r7", "cc_r0_r5_ROR_r7"},
1880b8021494Sopenharmony_ci    {{vs, r6, r5, LSR, r10}, false, al, "vs r6 r5 LSR r10", "vs_r6_r5_LSR_r10"},
1881b8021494Sopenharmony_ci    {{pl, r14, r13, ASR, r4},
1882b8021494Sopenharmony_ci     false,
1883b8021494Sopenharmony_ci     al,
1884b8021494Sopenharmony_ci     "pl r14 r13 ASR r4",
1885b8021494Sopenharmony_ci     "pl_r14_r13_ASR_r4"},
1886b8021494Sopenharmony_ci    {{ne, r7, r9, LSL, r11}, false, al, "ne r7 r9 LSL r11", "ne_r7_r9_LSL_r11"},
1887b8021494Sopenharmony_ci    {{ne, r13, r3, ROR, r9}, false, al, "ne r13 r3 ROR r9", "ne_r13_r3_ROR_r9"},
1888b8021494Sopenharmony_ci    {{mi, r6, r13, ROR, r5}, false, al, "mi r6 r13 ROR r5", "mi_r6_r13_ROR_r5"},
1889b8021494Sopenharmony_ci    {{vc, r10, r0, ASR, r6}, false, al, "vc r10 r0 ASR r6", "vc_r10_r0_ASR_r6"},
1890b8021494Sopenharmony_ci    {{ge, r5, r4, LSR, r12}, false, al, "ge r5 r4 LSR r12", "ge_r5_r4_LSR_r12"},
1891b8021494Sopenharmony_ci    {{vc, r10, r3, LSR, r8}, false, al, "vc r10 r3 LSR r8", "vc_r10_r3_LSR_r8"},
1892b8021494Sopenharmony_ci    {{hi, r8, r1, LSR, r7}, false, al, "hi r8 r1 LSR r7", "hi_r8_r1_LSR_r7"},
1893b8021494Sopenharmony_ci    {{al, r3, r6, ASR, r11}, false, al, "al r3 r6 ASR r11", "al_r3_r6_ASR_r11"},
1894b8021494Sopenharmony_ci    {{cc, r1, r5, ASR, r0}, false, al, "cc r1 r5 ASR r0", "cc_r1_r5_ASR_r0"},
1895b8021494Sopenharmony_ci    {{mi, r11, r3, LSR, r8}, false, al, "mi r11 r3 LSR r8", "mi_r11_r3_LSR_r8"},
1896b8021494Sopenharmony_ci    {{gt, r4, r8, ASR, r12}, false, al, "gt r4 r8 ASR r12", "gt_r4_r8_ASR_r12"},
1897b8021494Sopenharmony_ci    {{hi, r0, r8, ROR, r10}, false, al, "hi r0 r8 ROR r10", "hi_r0_r8_ROR_r10"},
1898b8021494Sopenharmony_ci    {{gt, r14, r8, LSR, r9}, false, al, "gt r14 r8 LSR r9", "gt_r14_r8_LSR_r9"},
1899b8021494Sopenharmony_ci    {{pl, r14, r13, LSR, r9},
1900b8021494Sopenharmony_ci     false,
1901b8021494Sopenharmony_ci     al,
1902b8021494Sopenharmony_ci     "pl r14 r13 LSR r9",
1903b8021494Sopenharmony_ci     "pl_r14_r13_LSR_r9"},
1904b8021494Sopenharmony_ci    {{cs, r11, r0, LSR, r8}, false, al, "cs r11 r0 LSR r8", "cs_r11_r0_LSR_r8"},
1905b8021494Sopenharmony_ci    {{cs, r10, r3, LSR, r4}, false, al, "cs r10 r3 LSR r4", "cs_r10_r3_LSR_r4"},
1906b8021494Sopenharmony_ci    {{ge, r9, r0, ASR, r3}, false, al, "ge r9 r0 ASR r3", "ge_r9_r0_ASR_r3"},
1907b8021494Sopenharmony_ci    {{eq, r12, r14, LSL, r9},
1908b8021494Sopenharmony_ci     false,
1909b8021494Sopenharmony_ci     al,
1910b8021494Sopenharmony_ci     "eq r12 r14 LSL r9",
1911b8021494Sopenharmony_ci     "eq_r12_r14_LSL_r9"},
1912b8021494Sopenharmony_ci    {{eq, r2, r11, ASR, r8}, false, al, "eq r2 r11 ASR r8", "eq_r2_r11_ASR_r8"},
1913b8021494Sopenharmony_ci    {{le, r9, r12, ASR, r4}, false, al, "le r9 r12 ASR r4", "le_r9_r12_ASR_r4"},
1914b8021494Sopenharmony_ci    {{lt, r6, r12, LSL, r0}, false, al, "lt r6 r12 LSL r0", "lt_r6_r12_LSL_r0"},
1915b8021494Sopenharmony_ci    {{vc, r14, r4, ROR, r6}, false, al, "vc r14 r4 ROR r6", "vc_r14_r4_ROR_r6"},
1916b8021494Sopenharmony_ci    {{hi, r6, r1, LSL, r8}, false, al, "hi r6 r1 LSL r8", "hi_r6_r1_LSL_r8"},
1917b8021494Sopenharmony_ci    {{le, r10, r12, ROR, r14},
1918b8021494Sopenharmony_ci     false,
1919b8021494Sopenharmony_ci     al,
1920b8021494Sopenharmony_ci     "le r10 r12 ROR r14",
1921b8021494Sopenharmony_ci     "le_r10_r12_ROR_r14"},
1922b8021494Sopenharmony_ci    {{ls, r9, r1, ROR, r5}, false, al, "ls r9 r1 ROR r5", "ls_r9_r1_ROR_r5"},
1923b8021494Sopenharmony_ci    {{mi, r3, r5, LSL, r9}, false, al, "mi r3 r5 LSL r9", "mi_r3_r5_LSL_r9"},
1924b8021494Sopenharmony_ci    {{hi, r5, r4, LSR, r10}, false, al, "hi r5 r4 LSR r10", "hi_r5_r4_LSR_r10"},
1925b8021494Sopenharmony_ci    {{ge, r2, r5, LSR, r9}, false, al, "ge r2 r5 LSR r9", "ge_r2_r5_LSR_r9"},
1926b8021494Sopenharmony_ci    {{ge, r11, r14, LSL, r9},
1927b8021494Sopenharmony_ci     false,
1928b8021494Sopenharmony_ci     al,
1929b8021494Sopenharmony_ci     "ge r11 r14 LSL r9",
1930b8021494Sopenharmony_ci     "ge_r11_r14_LSL_r9"},
1931b8021494Sopenharmony_ci    {{vc, r7, r2, LSR, r6}, false, al, "vc r7 r2 LSR r6", "vc_r7_r2_LSR_r6"},
1932b8021494Sopenharmony_ci    {{ls, r12, r1, ASR, r6}, false, al, "ls r12 r1 ASR r6", "ls_r12_r1_ASR_r6"},
1933b8021494Sopenharmony_ci    {{cs, r3, r2, ROR, r4}, false, al, "cs r3 r2 ROR r4", "cs_r3_r2_ROR_r4"},
1934b8021494Sopenharmony_ci    {{lt, r13, r14, ROR, r7},
1935b8021494Sopenharmony_ci     false,
1936b8021494Sopenharmony_ci     al,
1937b8021494Sopenharmony_ci     "lt r13 r14 ROR r7",
1938b8021494Sopenharmony_ci     "lt_r13_r14_ROR_r7"},
1939b8021494Sopenharmony_ci    {{le, r13, r9, LSR, r2}, false, al, "le r13 r9 LSR r2", "le_r13_r9_LSR_r2"},
1940b8021494Sopenharmony_ci    {{ls, r0, r4, LSL, r8}, false, al, "ls r0 r4 LSL r8", "ls_r0_r4_LSL_r8"},
1941b8021494Sopenharmony_ci    {{pl, r14, r5, ROR, r5}, false, al, "pl r14 r5 ROR r5", "pl_r14_r5_ROR_r5"},
1942b8021494Sopenharmony_ci    {{le, r7, r8, ASR, r13}, false, al, "le r7 r8 ASR r13", "le_r7_r8_ASR_r13"},
1943b8021494Sopenharmony_ci    {{vc, r4, r5, ASR, r5}, false, al, "vc r4 r5 ASR r5", "vc_r4_r5_ASR_r5"},
1944b8021494Sopenharmony_ci    {{gt, r14, r2, ROR, r3}, false, al, "gt r14 r2 ROR r3", "gt_r14_r2_ROR_r3"},
1945b8021494Sopenharmony_ci    {{eq, r13, r12, LSL, r5},
1946b8021494Sopenharmony_ci     false,
1947b8021494Sopenharmony_ci     al,
1948b8021494Sopenharmony_ci     "eq r13 r12 LSL r5",
1949b8021494Sopenharmony_ci     "eq_r13_r12_LSL_r5"},
1950b8021494Sopenharmony_ci    {{pl, r5, r12, LSR, r2}, false, al, "pl r5 r12 LSR r2", "pl_r5_r12_LSR_r2"},
1951b8021494Sopenharmony_ci    {{cc, r4, r13, ROR, r14},
1952b8021494Sopenharmony_ci     false,
1953b8021494Sopenharmony_ci     al,
1954b8021494Sopenharmony_ci     "cc r4 r13 ROR r14",
1955b8021494Sopenharmony_ci     "cc_r4_r13_ROR_r14"},
1956b8021494Sopenharmony_ci    {{ne, r10, r9, LSL, r9}, false, al, "ne r10 r9 LSL r9", "ne_r10_r9_LSL_r9"},
1957b8021494Sopenharmony_ci    {{eq, r1, r1, ROR, r14}, false, al, "eq r1 r1 ROR r14", "eq_r1_r1_ROR_r14"},
1958b8021494Sopenharmony_ci    {{eq, r13, r0, LSL, r13},
1959b8021494Sopenharmony_ci     false,
1960b8021494Sopenharmony_ci     al,
1961b8021494Sopenharmony_ci     "eq r13 r0 LSL r13",
1962b8021494Sopenharmony_ci     "eq_r13_r0_LSL_r13"},
1963b8021494Sopenharmony_ci    {{vc, r0, r11, ASR, r3}, false, al, "vc r0 r11 ASR r3", "vc_r0_r11_ASR_r3"},
1964b8021494Sopenharmony_ci    {{vc, r1, r4, LSR, r3}, false, al, "vc r1 r4 LSR r3", "vc_r1_r4_LSR_r3"},
1965b8021494Sopenharmony_ci    {{cc, r8, r3, ASR, r12}, false, al, "cc r8 r3 ASR r12", "cc_r8_r3_ASR_r12"},
1966b8021494Sopenharmony_ci    {{vs, r3, r10, LSL, r4}, false, al, "vs r3 r10 LSL r4", "vs_r3_r10_LSL_r4"},
1967b8021494Sopenharmony_ci    {{gt, r10, r9, ASR, r10},
1968b8021494Sopenharmony_ci     false,
1969b8021494Sopenharmony_ci     al,
1970b8021494Sopenharmony_ci     "gt r10 r9 ASR r10",
1971b8021494Sopenharmony_ci     "gt_r10_r9_ASR_r10"},
1972b8021494Sopenharmony_ci    {{cc, r10, r2, LSL, r10},
1973b8021494Sopenharmony_ci     false,
1974b8021494Sopenharmony_ci     al,
1975b8021494Sopenharmony_ci     "cc r10 r2 LSL r10",
1976b8021494Sopenharmony_ci     "cc_r10_r2_LSL_r10"},
1977b8021494Sopenharmony_ci    {{cs, r0, r2, LSL, r1}, false, al, "cs r0 r2 LSL r1", "cs_r0_r2_LSL_r1"},
1978b8021494Sopenharmony_ci    {{hi, r14, r14, ASR, r13},
1979b8021494Sopenharmony_ci     false,
1980b8021494Sopenharmony_ci     al,
1981b8021494Sopenharmony_ci     "hi r14 r14 ASR r13",
1982b8021494Sopenharmony_ci     "hi_r14_r14_ASR_r13"},
1983b8021494Sopenharmony_ci    {{mi, r4, r3, LSL, r1}, false, al, "mi r4 r3 LSL r1", "mi_r4_r3_LSL_r1"},
1984b8021494Sopenharmony_ci    {{gt, r5, r14, ROR, r2}, false, al, "gt r5 r14 ROR r2", "gt_r5_r14_ROR_r2"},
1985b8021494Sopenharmony_ci    {{cc, r10, r13, ASR, r12},
1986b8021494Sopenharmony_ci     false,
1987b8021494Sopenharmony_ci     al,
1988b8021494Sopenharmony_ci     "cc r10 r13 ASR r12",
1989b8021494Sopenharmony_ci     "cc_r10_r13_ASR_r12"},
1990b8021494Sopenharmony_ci    {{cs, r2, r4, LSL, r12}, false, al, "cs r2 r4 LSL r12", "cs_r2_r4_LSL_r12"},
1991b8021494Sopenharmony_ci    {{vs, r4, r2, ROR, r11}, false, al, "vs r4 r2 ROR r11", "vs_r4_r2_ROR_r11"},
1992b8021494Sopenharmony_ci    {{cs, r1, r13, LSR, r7}, false, al, "cs r1 r13 LSR r7", "cs_r1_r13_LSR_r7"},
1993b8021494Sopenharmony_ci    {{al, r3, r6, ASR, r5}, false, al, "al r3 r6 ASR r5", "al_r3_r6_ASR_r5"},
1994b8021494Sopenharmony_ci    {{ge, r12, r4, LSL, r2}, false, al, "ge r12 r4 LSL r2", "ge_r12_r4_LSL_r2"},
1995b8021494Sopenharmony_ci    {{cc, r8, r13, ROR, r5}, false, al, "cc r8 r13 ROR r5", "cc_r8_r13_ROR_r5"},
1996b8021494Sopenharmony_ci    {{vc, r0, r10, LSL, r7}, false, al, "vc r0 r10 LSL r7", "vc_r0_r10_LSL_r7"},
1997b8021494Sopenharmony_ci    {{ge, r13, r0, LSL, r4}, false, al, "ge r13 r0 LSL r4", "ge_r13_r0_LSL_r4"},
1998b8021494Sopenharmony_ci    {{cc, r14, r12, LSL, r10},
1999b8021494Sopenharmony_ci     false,
2000b8021494Sopenharmony_ci     al,
2001b8021494Sopenharmony_ci     "cc r14 r12 LSL r10",
2002b8021494Sopenharmony_ci     "cc_r14_r12_LSL_r10"},
2003b8021494Sopenharmony_ci    {{mi, r9, r9, ASR, r9}, false, al, "mi r9 r9 ASR r9", "mi_r9_r9_ASR_r9"},
2004b8021494Sopenharmony_ci    {{al, r1, r13, ROR, r14},
2005b8021494Sopenharmony_ci     false,
2006b8021494Sopenharmony_ci     al,
2007b8021494Sopenharmony_ci     "al r1 r13 ROR r14",
2008b8021494Sopenharmony_ci     "al_r1_r13_ROR_r14"},
2009b8021494Sopenharmony_ci    {{ls, r5, r10, ROR, r1}, false, al, "ls r5 r10 ROR r1", "ls_r5_r10_ROR_r1"},
2010b8021494Sopenharmony_ci    {{mi, r7, r9, LSL, r7}, false, al, "mi r7 r9 LSL r7", "mi_r7_r9_LSL_r7"},
2011b8021494Sopenharmony_ci    {{ne, r11, r13, LSR, r5},
2012b8021494Sopenharmony_ci     false,
2013b8021494Sopenharmony_ci     al,
2014b8021494Sopenharmony_ci     "ne r11 r13 LSR r5",
2015b8021494Sopenharmony_ci     "ne_r11_r13_LSR_r5"},
2016b8021494Sopenharmony_ci    {{mi, r1, r6, ROR, r9}, false, al, "mi r1 r6 ROR r9", "mi_r1_r6_ROR_r9"},
2017b8021494Sopenharmony_ci    {{le, r1, r2, LSR, r2}, false, al, "le r1 r2 LSR r2", "le_r1_r2_LSR_r2"},
2018b8021494Sopenharmony_ci    {{vc, r12, r9, LSR, r6}, false, al, "vc r12 r9 LSR r6", "vc_r12_r9_LSR_r6"},
2019b8021494Sopenharmony_ci    {{cc, r11, r2, ROR, r9}, false, al, "cc r11 r2 ROR r9", "cc_r11_r2_ROR_r9"},
2020b8021494Sopenharmony_ci    {{mi, r6, r11, LSL, r10},
2021b8021494Sopenharmony_ci     false,
2022b8021494Sopenharmony_ci     al,
2023b8021494Sopenharmony_ci     "mi r6 r11 LSL r10",
2024b8021494Sopenharmony_ci     "mi_r6_r11_LSL_r10"},
2025b8021494Sopenharmony_ci    {{cc, r6, r1, ROR, r6}, false, al, "cc r6 r1 ROR r6", "cc_r6_r1_ROR_r6"},
2026b8021494Sopenharmony_ci    {{gt, r1, r13, LSL, r10},
2027b8021494Sopenharmony_ci     false,
2028b8021494Sopenharmony_ci     al,
2029b8021494Sopenharmony_ci     "gt r1 r13 LSL r10",
2030b8021494Sopenharmony_ci     "gt_r1_r13_LSL_r10"},
2031b8021494Sopenharmony_ci    {{eq, r10, r12, ROR, r11},
2032b8021494Sopenharmony_ci     false,
2033b8021494Sopenharmony_ci     al,
2034b8021494Sopenharmony_ci     "eq r10 r12 ROR r11",
2035b8021494Sopenharmony_ci     "eq_r10_r12_ROR_r11"},
2036b8021494Sopenharmony_ci    {{cs, r5, r7, LSL, r5}, false, al, "cs r5 r7 LSL r5", "cs_r5_r7_LSL_r5"},
2037b8021494Sopenharmony_ci    {{cs, r2, r14, ROR, r6}, false, al, "cs r2 r14 ROR r6", "cs_r2_r14_ROR_r6"},
2038b8021494Sopenharmony_ci    {{cc, r4, r6, ASR, r7}, false, al, "cc r4 r6 ASR r7", "cc_r4_r6_ASR_r7"},
2039b8021494Sopenharmony_ci    {{mi, r5, r3, ASR, r8}, false, al, "mi r5 r3 ASR r8", "mi_r5_r3_ASR_r8"},
2040b8021494Sopenharmony_ci    {{vs, r5, r0, LSR, r4}, false, al, "vs r5 r0 LSR r4", "vs_r5_r0_LSR_r4"},
2041b8021494Sopenharmony_ci    {{ge, r4, r7, ASR, r5}, false, al, "ge r4 r7 ASR r5", "ge_r4_r7_ASR_r5"},
2042b8021494Sopenharmony_ci    {{lt, r4, r9, ASR, r7}, false, al, "lt r4 r9 ASR r7", "lt_r4_r9_ASR_r7"},
2043b8021494Sopenharmony_ci    {{cs, r3, r13, ASR, r6}, false, al, "cs r3 r13 ASR r6", "cs_r3_r13_ASR_r6"},
2044b8021494Sopenharmony_ci    {{vs, r3, r7, LSR, r2}, false, al, "vs r3 r7 LSR r2", "vs_r3_r7_LSR_r2"},
2045b8021494Sopenharmony_ci    {{pl, r0, r3, ASR, r7}, false, al, "pl r0 r3 ASR r7", "pl_r0_r3_ASR_r7"},
2046b8021494Sopenharmony_ci    {{lt, r7, r10, LSL, r0}, false, al, "lt r7 r10 LSL r0", "lt_r7_r10_LSL_r0"},
2047b8021494Sopenharmony_ci    {{pl, r5, r1, LSR, r4}, false, al, "pl r5 r1 LSR r4", "pl_r5_r1_LSR_r4"},
2048b8021494Sopenharmony_ci    {{gt, r10, r7, LSL, r10},
2049b8021494Sopenharmony_ci     false,
2050b8021494Sopenharmony_ci     al,
2051b8021494Sopenharmony_ci     "gt r10 r7 LSL r10",
2052b8021494Sopenharmony_ci     "gt_r10_r7_LSL_r10"},
2053b8021494Sopenharmony_ci    {{ls, r14, r6, ROR, r0}, false, al, "ls r14 r6 ROR r0", "ls_r14_r6_ROR_r0"},
2054b8021494Sopenharmony_ci    {{le, r1, r5, ROR, r11}, false, al, "le r1 r5 ROR r11", "le_r1_r5_ROR_r11"},
2055b8021494Sopenharmony_ci    {{ls, r6, r14, LSL, r8}, false, al, "ls r6 r14 LSL r8", "ls_r6_r14_LSL_r8"},
2056b8021494Sopenharmony_ci    {{mi, r12, r11, LSL, r5},
2057b8021494Sopenharmony_ci     false,
2058b8021494Sopenharmony_ci     al,
2059b8021494Sopenharmony_ci     "mi r12 r11 LSL r5",
2060b8021494Sopenharmony_ci     "mi_r12_r11_LSL_r5"},
2061b8021494Sopenharmony_ci    {{le, r13, r5, ASR, r3}, false, al, "le r13 r5 ASR r3", "le_r13_r5_ASR_r3"},
2062b8021494Sopenharmony_ci    {{ls, r14, r10, ROR, r14},
2063b8021494Sopenharmony_ci     false,
2064b8021494Sopenharmony_ci     al,
2065b8021494Sopenharmony_ci     "ls r14 r10 ROR r14",
2066b8021494Sopenharmony_ci     "ls_r14_r10_ROR_r14"},
2067b8021494Sopenharmony_ci    {{eq, r5, r12, ASR, r5}, false, al, "eq r5 r12 ASR r5", "eq_r5_r12_ASR_r5"},
2068b8021494Sopenharmony_ci    {{gt, r14, r4, ASR, r14},
2069b8021494Sopenharmony_ci     false,
2070b8021494Sopenharmony_ci     al,
2071b8021494Sopenharmony_ci     "gt r14 r4 ASR r14",
2072b8021494Sopenharmony_ci     "gt_r14_r4_ASR_r14"},
2073b8021494Sopenharmony_ci    {{ls, r0, r5, ASR, r13}, false, al, "ls r0 r5 ASR r13", "ls_r0_r5_ASR_r13"},
2074b8021494Sopenharmony_ci    {{pl, r6, r4, LSR, r1}, false, al, "pl r6 r4 LSR r1", "pl_r6_r4_LSR_r1"},
2075b8021494Sopenharmony_ci    {{pl, r7, r11, ROR, r3}, false, al, "pl r7 r11 ROR r3", "pl_r7_r11_ROR_r3"},
2076b8021494Sopenharmony_ci    {{lt, r11, r9, ASR, r13},
2077b8021494Sopenharmony_ci     false,
2078b8021494Sopenharmony_ci     al,
2079b8021494Sopenharmony_ci     "lt r11 r9 ASR r13",
2080b8021494Sopenharmony_ci     "lt_r11_r9_ASR_r13"},
2081b8021494Sopenharmony_ci    {{cc, r3, r9, ASR, r4}, false, al, "cc r3 r9 ASR r4", "cc_r3_r9_ASR_r4"},
2082b8021494Sopenharmony_ci    {{eq, r2, r1, ASR, r7}, false, al, "eq r2 r1 ASR r7", "eq_r2_r1_ASR_r7"},
2083b8021494Sopenharmony_ci    {{le, r8, r10, ASR, r9}, false, al, "le r8 r10 ASR r9", "le_r8_r10_ASR_r9"},
2084b8021494Sopenharmony_ci    {{hi, r14, r2, LSL, r6}, false, al, "hi r14 r2 LSL r6", "hi_r14_r2_LSL_r6"},
2085b8021494Sopenharmony_ci    {{mi, r12, r4, LSR, r8}, false, al, "mi r12 r4 LSR r8", "mi_r12_r4_LSR_r8"},
2086b8021494Sopenharmony_ci    {{pl, r4, r1, ROR, r2}, false, al, "pl r4 r1 ROR r2", "pl_r4_r1_ROR_r2"},
2087b8021494Sopenharmony_ci    {{hi, r5, r9, ROR, r7}, false, al, "hi r5 r9 ROR r7", "hi_r5_r9_ROR_r7"},
2088b8021494Sopenharmony_ci    {{le, r4, r2, LSR, r1}, false, al, "le r4 r2 LSR r1", "le_r4_r2_LSR_r1"},
2089b8021494Sopenharmony_ci    {{al, r8, r1, ROR, r9}, false, al, "al r8 r1 ROR r9", "al_r8_r1_ROR_r9"},
2090b8021494Sopenharmony_ci    {{mi, r3, r6, ASR, r6}, false, al, "mi r3 r6 ASR r6", "mi_r3_r6_ASR_r6"},
2091b8021494Sopenharmony_ci    {{ls, r1, r12, LSR, r9}, false, al, "ls r1 r12 LSR r9", "ls_r1_r12_LSR_r9"},
2092b8021494Sopenharmony_ci    {{le, r13, r5, LSR, r13},
2093b8021494Sopenharmony_ci     false,
2094b8021494Sopenharmony_ci     al,
2095b8021494Sopenharmony_ci     "le r13 r5 LSR r13",
2096b8021494Sopenharmony_ci     "le_r13_r5_LSR_r13"},
2097b8021494Sopenharmony_ci    {{ne, r3, r12, ROR, r7}, false, al, "ne r3 r12 ROR r7", "ne_r3_r12_ROR_r7"},
2098b8021494Sopenharmony_ci    {{mi, r0, r9, LSR, r5}, false, al, "mi r0 r9 LSR r5", "mi_r0_r9_LSR_r5"},
2099b8021494Sopenharmony_ci    {{al, r4, r4, ROR, r3}, false, al, "al r4 r4 ROR r3", "al_r4_r4_ROR_r3"},
2100b8021494Sopenharmony_ci    {{cc, r1, r1, ASR, r3}, false, al, "cc r1 r1 ASR r3", "cc_r1_r1_ASR_r3"},
2101b8021494Sopenharmony_ci    {{lt, r12, r0, LSL, r10},
2102b8021494Sopenharmony_ci     false,
2103b8021494Sopenharmony_ci     al,
2104b8021494Sopenharmony_ci     "lt r12 r0 LSL r10",
2105b8021494Sopenharmony_ci     "lt_r12_r0_LSL_r10"},
2106b8021494Sopenharmony_ci    {{ge, r1, r10, LSL, r4}, false, al, "ge r1 r10 LSL r4", "ge_r1_r10_LSL_r4"},
2107b8021494Sopenharmony_ci    {{hi, r2, r7, LSL, r4}, false, al, "hi r2 r7 LSL r4", "hi_r2_r7_LSL_r4"},
2108b8021494Sopenharmony_ci    {{le, r1, r6, ASR, r13}, false, al, "le r1 r6 ASR r13", "le_r1_r6_ASR_r13"},
2109b8021494Sopenharmony_ci    {{eq, r0, r2, ROR, r8}, false, al, "eq r0 r2 ROR r8", "eq_r0_r2_ROR_r8"},
2110b8021494Sopenharmony_ci    {{vc, r6, r0, LSL, r8}, false, al, "vc r6 r0 LSL r8", "vc_r6_r0_LSL_r8"},
2111b8021494Sopenharmony_ci    {{hi, r11, r7, LSL, r5}, false, al, "hi r11 r7 LSL r5", "hi_r11_r7_LSL_r5"},
2112b8021494Sopenharmony_ci    {{ne, r0, r1, ASR, r2}, false, al, "ne r0 r1 ASR r2", "ne_r0_r1_ASR_r2"},
2113b8021494Sopenharmony_ci    {{gt, r7, r10, ROR, r8}, false, al, "gt r7 r10 ROR r8", "gt_r7_r10_ROR_r8"},
2114b8021494Sopenharmony_ci    {{vc, r5, r2, ASR, r8}, false, al, "vc r5 r2 ASR r8", "vc_r5_r2_ASR_r8"},
2115b8021494Sopenharmony_ci    {{ls, r4, r9, LSL, r14}, false, al, "ls r4 r9 LSL r14", "ls_r4_r9_LSL_r14"},
2116b8021494Sopenharmony_ci    {{vs, r4, r4, LSR, r5}, false, al, "vs r4 r4 LSR r5", "vs_r4_r4_LSR_r5"},
2117b8021494Sopenharmony_ci    {{hi, r4, r14, LSL, r13},
2118b8021494Sopenharmony_ci     false,
2119b8021494Sopenharmony_ci     al,
2120b8021494Sopenharmony_ci     "hi r4 r14 LSL r13",
2121b8021494Sopenharmony_ci     "hi_r4_r14_LSL_r13"},
2122b8021494Sopenharmony_ci    {{cc, r8, r11, ROR, r13},
2123b8021494Sopenharmony_ci     false,
2124b8021494Sopenharmony_ci     al,
2125b8021494Sopenharmony_ci     "cc r8 r11 ROR r13",
2126b8021494Sopenharmony_ci     "cc_r8_r11_ROR_r13"},
2127b8021494Sopenharmony_ci    {{ls, r2, r2, LSR, r14}, false, al, "ls r2 r2 LSR r14", "ls_r2_r2_LSR_r14"},
2128b8021494Sopenharmony_ci    {{lt, r1, r4, ROR, r12}, false, al, "lt r1 r4 ROR r12", "lt_r1_r4_ROR_r12"},
2129b8021494Sopenharmony_ci    {{mi, r2, r6, ROR, r14}, false, al, "mi r2 r6 ROR r14", "mi_r2_r6_ROR_r14"},
2130b8021494Sopenharmony_ci    {{hi, r7, r2, ASR, r9}, false, al, "hi r7 r2 ASR r9", "hi_r7_r2_ASR_r9"},
2131b8021494Sopenharmony_ci    {{le, r10, r14, ROR, r13},
2132b8021494Sopenharmony_ci     false,
2133b8021494Sopenharmony_ci     al,
2134b8021494Sopenharmony_ci     "le r10 r14 ROR r13",
2135b8021494Sopenharmony_ci     "le_r10_r14_ROR_r13"},
2136b8021494Sopenharmony_ci    {{vc, r7, r14, ASR, r11},
2137b8021494Sopenharmony_ci     false,
2138b8021494Sopenharmony_ci     al,
2139b8021494Sopenharmony_ci     "vc r7 r14 ASR r11",
2140b8021494Sopenharmony_ci     "vc_r7_r14_ASR_r11"},
2141b8021494Sopenharmony_ci    {{mi, r4, r5, ASR, r6}, false, al, "mi r4 r5 ASR r6", "mi_r4_r5_ASR_r6"},
2142b8021494Sopenharmony_ci    {{al, r11, r14, ROR, r9},
2143b8021494Sopenharmony_ci     false,
2144b8021494Sopenharmony_ci     al,
2145b8021494Sopenharmony_ci     "al r11 r14 ROR r9",
2146b8021494Sopenharmony_ci     "al_r11_r14_ROR_r9"},
2147b8021494Sopenharmony_ci    {{vc, r0, r10, ASR, r13},
2148b8021494Sopenharmony_ci     false,
2149b8021494Sopenharmony_ci     al,
2150b8021494Sopenharmony_ci     "vc r0 r10 ASR r13",
2151b8021494Sopenharmony_ci     "vc_r0_r10_ASR_r13"},
2152b8021494Sopenharmony_ci    {{al, r10, r2, ROR, r13},
2153b8021494Sopenharmony_ci     false,
2154b8021494Sopenharmony_ci     al,
2155b8021494Sopenharmony_ci     "al r10 r2 ROR r13",
2156b8021494Sopenharmony_ci     "al_r10_r2_ROR_r13"},
2157b8021494Sopenharmony_ci    {{hi, r9, r2, LSR, r9}, false, al, "hi r9 r2 LSR r9", "hi_r9_r2_LSR_r9"},
2158b8021494Sopenharmony_ci    {{gt, r2, r0, ASR, r10}, false, al, "gt r2 r0 ASR r10", "gt_r2_r0_ASR_r10"},
2159b8021494Sopenharmony_ci    {{hi, r4, r12, ASR, r13},
2160b8021494Sopenharmony_ci     false,
2161b8021494Sopenharmony_ci     al,
2162b8021494Sopenharmony_ci     "hi r4 r12 ASR r13",
2163b8021494Sopenharmony_ci     "hi_r4_r12_ASR_r13"},
2164b8021494Sopenharmony_ci    {{vc, r10, r14, ASR, r0},
2165b8021494Sopenharmony_ci     false,
2166b8021494Sopenharmony_ci     al,
2167b8021494Sopenharmony_ci     "vc r10 r14 ASR r0",
2168b8021494Sopenharmony_ci     "vc_r10_r14_ASR_r0"},
2169b8021494Sopenharmony_ci    {{ne, r13, r9, ASR, r4}, false, al, "ne r13 r9 ASR r4", "ne_r13_r9_ASR_r4"},
2170b8021494Sopenharmony_ci    {{eq, r5, r8, ROR, r5}, false, al, "eq r5 r8 ROR r5", "eq_r5_r8_ROR_r5"},
2171b8021494Sopenharmony_ci    {{lt, r0, r13, ROR, r3}, false, al, "lt r0 r13 ROR r3", "lt_r0_r13_ROR_r3"},
2172b8021494Sopenharmony_ci    {{hi, r0, r1, LSL, r1}, false, al, "hi r0 r1 LSL r1", "hi_r0_r1_LSL_r1"},
2173b8021494Sopenharmony_ci    {{pl, r13, r6, ASR, r10},
2174b8021494Sopenharmony_ci     false,
2175b8021494Sopenharmony_ci     al,
2176b8021494Sopenharmony_ci     "pl r13 r6 ASR r10",
2177b8021494Sopenharmony_ci     "pl_r13_r6_ASR_r10"},
2178b8021494Sopenharmony_ci    {{hi, r0, r4, LSR, r2}, false, al, "hi r0 r4 LSR r2", "hi_r0_r4_LSR_r2"},
2179b8021494Sopenharmony_ci    {{eq, r5, r3, ASR, r8}, false, al, "eq r5 r3 ASR r8", "eq_r5_r3_ASR_r8"},
2180b8021494Sopenharmony_ci    {{al, r1, r5, LSR, r4}, false, al, "al r1 r5 LSR r4", "al_r1_r5_LSR_r4"},
2181b8021494Sopenharmony_ci    {{eq, r8, r5, LSR, r14}, false, al, "eq r8 r5 LSR r14", "eq_r8_r5_LSR_r14"},
2182b8021494Sopenharmony_ci    {{ne, r12, r13, ROR, r0},
2183b8021494Sopenharmony_ci     false,
2184b8021494Sopenharmony_ci     al,
2185b8021494Sopenharmony_ci     "ne r12 r13 ROR r0",
2186b8021494Sopenharmony_ci     "ne_r12_r13_ROR_r0"},
2187b8021494Sopenharmony_ci    {{pl, r0, r2, ROR, r11}, false, al, "pl r0 r2 ROR r11", "pl_r0_r2_ROR_r11"},
2188b8021494Sopenharmony_ci    {{cs, r10, r6, ROR, r9}, false, al, "cs r10 r6 ROR r9", "cs_r10_r6_ROR_r9"},
2189b8021494Sopenharmony_ci    {{eq, r10, r4, ASR, r14},
2190b8021494Sopenharmony_ci     false,
2191b8021494Sopenharmony_ci     al,
2192b8021494Sopenharmony_ci     "eq r10 r4 ASR r14",
2193b8021494Sopenharmony_ci     "eq_r10_r4_ASR_r14"},
2194b8021494Sopenharmony_ci    {{ls, r9, r4, LSR, r14}, false, al, "ls r9 r4 LSR r14", "ls_r9_r4_LSR_r14"},
2195b8021494Sopenharmony_ci    {{cs, r14, r2, ROR, r5}, false, al, "cs r14 r2 ROR r5", "cs_r14_r2_ROR_r5"},
2196b8021494Sopenharmony_ci    {{vc, r9, r9, LSL, r7}, false, al, "vc r9 r9 LSL r7", "vc_r9_r9_LSL_r7"},
2197b8021494Sopenharmony_ci    {{mi, r7, r0, LSL, r4}, false, al, "mi r7 r0 LSL r4", "mi_r7_r0_LSL_r4"},
2198b8021494Sopenharmony_ci    {{cc, r2, r10, ASR, r7}, false, al, "cc r2 r10 ASR r7", "cc_r2_r10_ASR_r7"},
2199b8021494Sopenharmony_ci    {{cs, r5, r10, LSR, r9},
2200b8021494Sopenharmony_ci     false,
2201b8021494Sopenharmony_ci     al,
2202b8021494Sopenharmony_ci     "cs r5 r10 LSR r9",
2203b8021494Sopenharmony_ci     "cs_r5_r10_LSR_"
2204b8021494Sopenharmony_ci     "r9"}};
2205b8021494Sopenharmony_ci
2206b8021494Sopenharmony_ci// These headers each contain an array of `TestResult` with the reference output
2207b8021494Sopenharmony_ci// values. The reference arrays are names `kReference{mnemonic}`.
2208b8021494Sopenharmony_ci#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-cmn-a32.h"
2209b8021494Sopenharmony_ci#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-cmp-a32.h"
2210b8021494Sopenharmony_ci#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-mov-a32.h"
2211b8021494Sopenharmony_ci#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-movs-a32.h"
2212b8021494Sopenharmony_ci#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-mvn-a32.h"
2213b8021494Sopenharmony_ci#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-mvns-a32.h"
2214b8021494Sopenharmony_ci#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-teq-a32.h"
2215b8021494Sopenharmony_ci#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-tst-a32.h"
2216b8021494Sopenharmony_ci
2217b8021494Sopenharmony_ci
2218b8021494Sopenharmony_ci// The maximum number of errors to report in detail for each test.
2219b8021494Sopenharmony_ciconst unsigned kErrorReportLimit = 8;
2220b8021494Sopenharmony_ci
2221b8021494Sopenharmony_citypedef void (MacroAssembler::*Fn)(Condition cond,
2222b8021494Sopenharmony_ci                                   Register rd,
2223b8021494Sopenharmony_ci                                   const Operand& op);
2224b8021494Sopenharmony_ci
2225b8021494Sopenharmony_civoid TestHelper(Fn instruction,
2226b8021494Sopenharmony_ci                const char* mnemonic,
2227b8021494Sopenharmony_ci                const TestResult reference[]) {
2228b8021494Sopenharmony_ci  unsigned total_error_count = 0;
2229b8021494Sopenharmony_ci  MacroAssembler masm(BUF_SIZE);
2230b8021494Sopenharmony_ci
2231b8021494Sopenharmony_ci  masm.UseA32();
2232b8021494Sopenharmony_ci
2233b8021494Sopenharmony_ci  for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
2234b8021494Sopenharmony_ci    // Values to pass to the macro-assembler.
2235b8021494Sopenharmony_ci    Condition cond = kTests[i].operands.cond;
2236b8021494Sopenharmony_ci    Register rd = kTests[i].operands.rd;
2237b8021494Sopenharmony_ci    Register rn = kTests[i].operands.rn;
2238b8021494Sopenharmony_ci    ShiftType shift = kTests[i].operands.shift;
2239b8021494Sopenharmony_ci    Register rs = kTests[i].operands.rs;
2240b8021494Sopenharmony_ci    Operand op(rn, shift, rs);
2241b8021494Sopenharmony_ci
2242b8021494Sopenharmony_ci    int32_t start = masm.GetCursorOffset();
2243b8021494Sopenharmony_ci    {
2244b8021494Sopenharmony_ci      // We never generate more that 4 bytes, as IT instructions are only
2245b8021494Sopenharmony_ci      // allowed for narrow encodings.
2246b8021494Sopenharmony_ci      ExactAssemblyScope scope(&masm, 4, ExactAssemblyScope::kMaximumSize);
2247b8021494Sopenharmony_ci      if (kTests[i].in_it_block) {
2248b8021494Sopenharmony_ci        masm.it(kTests[i].it_condition);
2249b8021494Sopenharmony_ci      }
2250b8021494Sopenharmony_ci      (masm.*instruction)(cond, rd, op);
2251b8021494Sopenharmony_ci    }
2252b8021494Sopenharmony_ci    int32_t end = masm.GetCursorOffset();
2253b8021494Sopenharmony_ci
2254b8021494Sopenharmony_ci    const byte* result_ptr =
2255b8021494Sopenharmony_ci        masm.GetBuffer()->GetOffsetAddress<const byte*>(start);
2256b8021494Sopenharmony_ci    VIXL_ASSERT(start < end);
2257b8021494Sopenharmony_ci    uint32_t result_size = end - start;
2258b8021494Sopenharmony_ci
2259b8021494Sopenharmony_ci    if (Test::generate_test_trace()) {
2260b8021494Sopenharmony_ci      // Print the result bytes.
2261b8021494Sopenharmony_ci      printf("const byte kInstruction_%s_%s[] = {\n",
2262b8021494Sopenharmony_ci             mnemonic,
2263b8021494Sopenharmony_ci             kTests[i].identifier);
2264b8021494Sopenharmony_ci      for (uint32_t j = 0; j < result_size; j++) {
2265b8021494Sopenharmony_ci        if (j == 0) {
2266b8021494Sopenharmony_ci          printf("  0x%02" PRIx8, result_ptr[j]);
2267b8021494Sopenharmony_ci        } else {
2268b8021494Sopenharmony_ci          printf(", 0x%02" PRIx8, result_ptr[j]);
2269b8021494Sopenharmony_ci        }
2270b8021494Sopenharmony_ci      }
2271b8021494Sopenharmony_ci      // This comment is meant to be used by external tools to validate
2272b8021494Sopenharmony_ci      // the encoding. We can parse the comment to figure out what
2273b8021494Sopenharmony_ci      // instruction this corresponds to.
2274b8021494Sopenharmony_ci      if (kTests[i].in_it_block) {
2275b8021494Sopenharmony_ci        printf(" // It %s; %s %s\n};\n",
2276b8021494Sopenharmony_ci               kTests[i].it_condition.GetName(),
2277b8021494Sopenharmony_ci               mnemonic,
2278b8021494Sopenharmony_ci               kTests[i].operands_description);
2279b8021494Sopenharmony_ci      } else {
2280b8021494Sopenharmony_ci        printf(" // %s %s\n};\n", mnemonic, kTests[i].operands_description);
2281b8021494Sopenharmony_ci      }
2282b8021494Sopenharmony_ci    } else {
2283b8021494Sopenharmony_ci      // Check we've emitted the exact same encoding as present in the
2284b8021494Sopenharmony_ci      // trace file. Only print up to `kErrorReportLimit` errors.
2285b8021494Sopenharmony_ci      if (((result_size != reference[i].size) ||
2286b8021494Sopenharmony_ci           (memcmp(result_ptr, reference[i].encoding, reference[i].size) !=
2287b8021494Sopenharmony_ci            0)) &&
2288b8021494Sopenharmony_ci          (++total_error_count <= kErrorReportLimit)) {
2289b8021494Sopenharmony_ci        printf("Error when testing \"%s\" with operands \"%s\":\n",
2290b8021494Sopenharmony_ci               mnemonic,
2291b8021494Sopenharmony_ci               kTests[i].operands_description);
2292b8021494Sopenharmony_ci        printf("  Expected: ");
2293b8021494Sopenharmony_ci        for (uint32_t j = 0; j < reference[i].size; j++) {
2294b8021494Sopenharmony_ci          if (j == 0) {
2295b8021494Sopenharmony_ci            printf("0x%02" PRIx8, reference[i].encoding[j]);
2296b8021494Sopenharmony_ci          } else {
2297b8021494Sopenharmony_ci            printf(", 0x%02" PRIx8, reference[i].encoding[j]);
2298b8021494Sopenharmony_ci          }
2299b8021494Sopenharmony_ci        }
2300b8021494Sopenharmony_ci        printf("\n");
2301b8021494Sopenharmony_ci        printf("  Found:    ");
2302b8021494Sopenharmony_ci        for (uint32_t j = 0; j < result_size; j++) {
2303b8021494Sopenharmony_ci          if (j == 0) {
2304b8021494Sopenharmony_ci            printf("0x%02" PRIx8, result_ptr[j]);
2305b8021494Sopenharmony_ci          } else {
2306b8021494Sopenharmony_ci            printf(", 0x%02" PRIx8, result_ptr[j]);
2307b8021494Sopenharmony_ci          }
2308b8021494Sopenharmony_ci        }
2309b8021494Sopenharmony_ci        printf("\n");
2310b8021494Sopenharmony_ci      }
2311b8021494Sopenharmony_ci    }
2312b8021494Sopenharmony_ci  }
2313b8021494Sopenharmony_ci
2314b8021494Sopenharmony_ci  masm.FinalizeCode();
2315b8021494Sopenharmony_ci
2316b8021494Sopenharmony_ci  if (Test::generate_test_trace()) {
2317b8021494Sopenharmony_ci    // Finalize the trace file by writing the final `TestResult` array
2318b8021494Sopenharmony_ci    // which links all generated instruction encodings.
2319b8021494Sopenharmony_ci    printf("const TestResult kReference%s[] = {\n", mnemonic);
2320b8021494Sopenharmony_ci    for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
2321b8021494Sopenharmony_ci      printf("  {\n");
2322b8021494Sopenharmony_ci      printf("    ARRAY_SIZE(kInstruction_%s_%s),\n",
2323b8021494Sopenharmony_ci             mnemonic,
2324b8021494Sopenharmony_ci             kTests[i].identifier);
2325b8021494Sopenharmony_ci      printf("    kInstruction_%s_%s,\n", mnemonic, kTests[i].identifier);
2326b8021494Sopenharmony_ci      printf("  },\n");
2327b8021494Sopenharmony_ci    }
2328b8021494Sopenharmony_ci    printf("};\n");
2329b8021494Sopenharmony_ci  } else {
2330b8021494Sopenharmony_ci    if (total_error_count > kErrorReportLimit) {
2331b8021494Sopenharmony_ci      printf("%u other errors follow.\n",
2332b8021494Sopenharmony_ci             total_error_count - kErrorReportLimit);
2333b8021494Sopenharmony_ci    }
2334b8021494Sopenharmony_ci    // Crash if the test failed.
2335b8021494Sopenharmony_ci    VIXL_CHECK(total_error_count == 0);
2336b8021494Sopenharmony_ci  }
2337b8021494Sopenharmony_ci}
2338b8021494Sopenharmony_ci
2339b8021494Sopenharmony_ci// Instantiate tests for each instruction in the list.
2340b8021494Sopenharmony_ci#define TEST(mnemonic)                                                      \
2341b8021494Sopenharmony_ci  void Test_##mnemonic() {                                                  \
2342b8021494Sopenharmony_ci    TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic); \
2343b8021494Sopenharmony_ci  }                                                                         \
2344b8021494Sopenharmony_ci  Test test_##mnemonic(                                                     \
2345b8021494Sopenharmony_ci      "AARCH32_ASSEMBLER_COND_RD_OPERAND_RN_SHIFT_RS_" #mnemonic "_A32",    \
2346b8021494Sopenharmony_ci      &Test_##mnemonic);
2347b8021494Sopenharmony_ciFOREACH_INSTRUCTION(TEST)
2348b8021494Sopenharmony_ci#undef TEST
2349b8021494Sopenharmony_ci
2350b8021494Sopenharmony_ci}  // namespace
2351b8021494Sopenharmony_ci#endif
2352b8021494Sopenharmony_ci
2353b8021494Sopenharmony_ci}  // namespace aarch32
2354b8021494Sopenharmony_ci}  // namespace vixl
2355