1bf215546Sopenharmony_ci<!--
2bf215546Sopenharmony_ci  Copyright (C) 2020 Collabora Ltd.
3bf215546Sopenharmony_ci
4bf215546Sopenharmony_ci  Permission is hereby granted, free of charge, to any person obtaining a
5bf215546Sopenharmony_ci  copy of this software and associated documentation files (the "Software"),
6bf215546Sopenharmony_ci  to deal in the Software without restriction, including without limitation
7bf215546Sopenharmony_ci  the rights to use, copy, modify, merge, publish, distribute, sublicense,
8bf215546Sopenharmony_ci  and/or sell copies of the Software, and to permit persons to whom the
9bf215546Sopenharmony_ci  Software is furnished to do so, subject to the following conditions:
10bf215546Sopenharmony_ci
11bf215546Sopenharmony_ci  The above copyright notice and this permission notice (including the next
12bf215546Sopenharmony_ci  paragraph) shall be included in all copies or substantial portions of the
13bf215546Sopenharmony_ci  Software.
14bf215546Sopenharmony_ci
15bf215546Sopenharmony_ci  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16bf215546Sopenharmony_ci  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17bf215546Sopenharmony_ci  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18bf215546Sopenharmony_ci  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19bf215546Sopenharmony_ci  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20bf215546Sopenharmony_ci  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21bf215546Sopenharmony_ci  SOFTWARE.
22bf215546Sopenharmony_ci-->
23bf215546Sopenharmony_ci
24bf215546Sopenharmony_ci<bifrost>
25bf215546Sopenharmony_ci
26bf215546Sopenharmony_ci  <ins name="*ARSHIFT.i32" mask="0x7ff838" exact="0x335018">
27bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
28bf215546Sopenharmony_ci    <src start="3" mask="0x8"/>
29bf215546Sopenharmony_ci    <src start="6"/>
30bf215546Sopenharmony_ci    <mod name="lane2" start="9" size="2" default="b0">
31bf215546Sopenharmony_ci      <opt>b0</opt>
32bf215546Sopenharmony_ci      <opt>b1</opt>
33bf215546Sopenharmony_ci      <opt>b2</opt>
34bf215546Sopenharmony_ci      <opt>b3</opt>
35bf215546Sopenharmony_ci    </mod>
36bf215546Sopenharmony_ci  </ins>
37bf215546Sopenharmony_ci
38bf215546Sopenharmony_ci  <ins name="*ARSHIFT.v2i16">
39bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
40bf215546Sopenharmony_ci    <src start="3" mask="0x8"/>
41bf215546Sopenharmony_ci    <src start="6"/>
42bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b02">
43bf215546Sopenharmony_ci      <opt>b00</opt>
44bf215546Sopenharmony_ci      <opt>b11</opt>
45bf215546Sopenharmony_ci      <opt>b22</opt>
46bf215546Sopenharmony_ci      <opt>b33</opt>
47bf215546Sopenharmony_ci      <opt>b01</opt>
48bf215546Sopenharmony_ci      <opt>b23</opt>
49bf215546Sopenharmony_ci      <opt>b02</opt>
50bf215546Sopenharmony_ci    </mod>
51bf215546Sopenharmony_ci    <encoding mask="0x7ff838" exact="0x334818">
52bf215546Sopenharmony_ci      <or>
53bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
54bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
55bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
56bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
57bf215546Sopenharmony_ci      </or>
58bf215546Sopenharmony_ci      <derived start="9" size="2">
59bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
60bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
61bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
62bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
63bf215546Sopenharmony_ci      </derived>
64bf215546Sopenharmony_ci    </encoding>
65bf215546Sopenharmony_ci    <encoding mask="0x7ff838" exact="0x335818">
66bf215546Sopenharmony_ci      <or>
67bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
68bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
69bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
70bf215546Sopenharmony_ci      </or>
71bf215546Sopenharmony_ci      <derived start="9" size="2">
72bf215546Sopenharmony_ci        <reserved/>
73bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
74bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
75bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
76bf215546Sopenharmony_ci      </derived>
77bf215546Sopenharmony_ci    </encoding>
78bf215546Sopenharmony_ci  </ins>
79bf215546Sopenharmony_ci
80bf215546Sopenharmony_ci  <ins name="*ARSHIFT.v4i8">
81bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
82bf215546Sopenharmony_ci    <src start="3" mask="0x8"/>
83bf215546Sopenharmony_ci    <src start="6"/>
84bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b0123">
85bf215546Sopenharmony_ci      <opt>b0123</opt>
86bf215546Sopenharmony_ci      <opt>b0000</opt>
87bf215546Sopenharmony_ci      <opt>b1111</opt>
88bf215546Sopenharmony_ci      <opt>b2222</opt>
89bf215546Sopenharmony_ci      <opt>b3333</opt>
90bf215546Sopenharmony_ci    </mod>
91bf215546Sopenharmony_ci    <encoding mask="0x7ff838" exact="0x334018">
92bf215546Sopenharmony_ci      <neq left="lanes2" right="#b0123"/>
93bf215546Sopenharmony_ci      <derived start="9" size="2">
94bf215546Sopenharmony_ci        <eq left="lanes2" right="#b0000"/>
95bf215546Sopenharmony_ci        <eq left="lanes2" right="#b1111"/>
96bf215546Sopenharmony_ci        <eq left="lanes2" right="#b2222"/>
97bf215546Sopenharmony_ci        <eq left="lanes2" right="#b3333"/>
98bf215546Sopenharmony_ci      </derived>
99bf215546Sopenharmony_ci    </encoding>
100bf215546Sopenharmony_ci    <encoding mask="0x7ffe38" exact="0x335818">
101bf215546Sopenharmony_ci      <eq left="lanes2" right="#b0123"/>
102bf215546Sopenharmony_ci    </encoding>
103bf215546Sopenharmony_ci  </ins>
104bf215546Sopenharmony_ci
105bf215546Sopenharmony_ci  <ins name="*ARSHIFT_DOUBLE.i32" mask="0x7ff000" exact="0x33e000">
106bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
107bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
108bf215546Sopenharmony_ci    <src start="6"/>
109bf215546Sopenharmony_ci    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
110bf215546Sopenharmony_ci    <mod name="lane2" start="10" size="1" default="b0">
111bf215546Sopenharmony_ci      <opt>b0</opt>
112bf215546Sopenharmony_ci      <opt>b2</opt>
113bf215546Sopenharmony_ci    </mod>
114bf215546Sopenharmony_ci    <mod name="result_word" start="11" size="1" default="w0">
115bf215546Sopenharmony_ci      <opt>w0</opt>
116bf215546Sopenharmony_ci      <opt>w1</opt>
117bf215546Sopenharmony_ci    </mod>
118bf215546Sopenharmony_ci  </ins>
119bf215546Sopenharmony_ci
120bf215546Sopenharmony_ci  <ins name="*ATOM_C.i32" mask="0x7fe000" exact="0x2f4000" last="true" dests="0">
121bf215546Sopenharmony_ci    <src start="0" mask="0xf3"/>
122bf215546Sopenharmony_ci    <src start="3" mask="0xf3"/>
123bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
124bf215546Sopenharmony_ci    <mod name="atom_opc" start="9" size="4">
125bf215546Sopenharmony_ci      <reserved/>
126bf215546Sopenharmony_ci      <reserved/>
127bf215546Sopenharmony_ci      <opt>aadd</opt>
128bf215546Sopenharmony_ci      <reserved/>
129bf215546Sopenharmony_ci      <reserved/>
130bf215546Sopenharmony_ci      <reserved/>
131bf215546Sopenharmony_ci      <reserved/>
132bf215546Sopenharmony_ci      <reserved/>
133bf215546Sopenharmony_ci      <opt>asmin</opt>
134bf215546Sopenharmony_ci      <opt>asmax</opt>
135bf215546Sopenharmony_ci      <opt>aumin</opt>
136bf215546Sopenharmony_ci      <opt>aumax</opt>
137bf215546Sopenharmony_ci      <opt>aand</opt>
138bf215546Sopenharmony_ci      <opt>aor</opt>
139bf215546Sopenharmony_ci      <opt>axor</opt>
140bf215546Sopenharmony_ci    </mod>
141bf215546Sopenharmony_ci  </ins>
142bf215546Sopenharmony_ci
143bf215546Sopenharmony_ci  <ins name="*ATOM_C.i64" mask="0x7fe000" exact="0x2f0000" last="true" dests="0">
144bf215546Sopenharmony_ci    <src start="0" mask="0xf3"/>
145bf215546Sopenharmony_ci    <src start="3" mask="0xf3"/>
146bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
147bf215546Sopenharmony_ci    <mod name="atom_opc" start="9" size="4">
148bf215546Sopenharmony_ci      <opt>aaddu</opt>
149bf215546Sopenharmony_ci      <opt>aadds</opt>
150bf215546Sopenharmony_ci      <opt>aadd</opt>
151bf215546Sopenharmony_ci      <reserved/>
152bf215546Sopenharmony_ci      <reserved/>
153bf215546Sopenharmony_ci      <reserved/>
154bf215546Sopenharmony_ci      <reserved/>
155bf215546Sopenharmony_ci      <reserved/>
156bf215546Sopenharmony_ci      <opt>asmin</opt>
157bf215546Sopenharmony_ci      <opt>asmax</opt>
158bf215546Sopenharmony_ci      <opt>aumin</opt>
159bf215546Sopenharmony_ci      <opt>aumax</opt>
160bf215546Sopenharmony_ci      <opt>aand</opt>
161bf215546Sopenharmony_ci      <opt>aor</opt>
162bf215546Sopenharmony_ci      <opt>axor</opt>
163bf215546Sopenharmony_ci    </mod>
164bf215546Sopenharmony_ci  </ins>
165bf215546Sopenharmony_ci
166bf215546Sopenharmony_ci  <ins name="*ATOM_C1.i32" mask="0x7ffe00" exact="0x2f5e00" last="true" dests="0">
167bf215546Sopenharmony_ci    <src start="0" mask="0xf3"/>
168bf215546Sopenharmony_ci    <src start="3" mask="0xf3"/>
169bf215546Sopenharmony_ci    <mod name="atom_opc" start="6" size="3">
170bf215546Sopenharmony_ci      <opt>ainc</opt>
171bf215546Sopenharmony_ci      <opt>adec</opt>
172bf215546Sopenharmony_ci      <opt>aumax1</opt>
173bf215546Sopenharmony_ci      <opt>asmax1</opt>
174bf215546Sopenharmony_ci      <opt>aor1</opt>
175bf215546Sopenharmony_ci    </mod>
176bf215546Sopenharmony_ci  </ins>
177bf215546Sopenharmony_ci
178bf215546Sopenharmony_ci  <ins name="*ATOM_C1.i64" mask="0x7ffe00" exact="0x2f1e00" last="true" dests="0">
179bf215546Sopenharmony_ci    <src start="0" mask="0xf3"/>
180bf215546Sopenharmony_ci    <src start="3" mask="0xf3"/>
181bf215546Sopenharmony_ci    <mod name="atom_opc" start="6" size="3">
182bf215546Sopenharmony_ci      <opt>ainc</opt>
183bf215546Sopenharmony_ci      <opt>adec</opt>
184bf215546Sopenharmony_ci      <opt>aumax1</opt>
185bf215546Sopenharmony_ci      <opt>asmax1</opt>
186bf215546Sopenharmony_ci      <opt>aor1</opt>
187bf215546Sopenharmony_ci    </mod>
188bf215546Sopenharmony_ci  </ins>
189bf215546Sopenharmony_ci
190bf215546Sopenharmony_ci  <ins name="*ATOM_C1_RETURN.i32" mask="0x7ffe00" exact="0x2f7e00" last="true" dests="0">
191bf215546Sopenharmony_ci    <src start="0" mask="0xf3"/>
192bf215546Sopenharmony_ci    <src start="3" mask="0xf3"/>
193bf215546Sopenharmony_ci    <mod name="atom_opc" start="6" size="3">
194bf215546Sopenharmony_ci      <opt>ainc</opt>
195bf215546Sopenharmony_ci      <opt>adec</opt>
196bf215546Sopenharmony_ci      <opt>aumax1</opt>
197bf215546Sopenharmony_ci      <opt>asmax1</opt>
198bf215546Sopenharmony_ci      <opt>aor1</opt>
199bf215546Sopenharmony_ci    </mod>
200bf215546Sopenharmony_ci  </ins>
201bf215546Sopenharmony_ci
202bf215546Sopenharmony_ci  <ins name="*ATOM_C1_RETURN.i64" mask="0x7ffe00" exact="0x2f3e00" last="true" dests="0">
203bf215546Sopenharmony_ci    <src start="0" mask="0xf3"/>
204bf215546Sopenharmony_ci    <src start="3" mask="0xf3"/>
205bf215546Sopenharmony_ci    <mod name="atom_opc" start="6" size="3">
206bf215546Sopenharmony_ci      <opt>ainc</opt>
207bf215546Sopenharmony_ci      <opt>adec</opt>
208bf215546Sopenharmony_ci      <opt>aumax1</opt>
209bf215546Sopenharmony_ci      <opt>asmax1</opt>
210bf215546Sopenharmony_ci      <opt>aor1</opt>
211bf215546Sopenharmony_ci    </mod>
212bf215546Sopenharmony_ci  </ins>
213bf215546Sopenharmony_ci
214bf215546Sopenharmony_ci  <ins name="*ATOM_C_RETURN.i32" mask="0x7fe000" exact="0x2f6000" last="true" dests="0">
215bf215546Sopenharmony_ci    <src start="0" mask="0xf3"/>
216bf215546Sopenharmony_ci    <src start="3" mask="0xf3"/>
217bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
218bf215546Sopenharmony_ci    <mod name="atom_opc" start="9" size="4">
219bf215546Sopenharmony_ci      <reserved/>
220bf215546Sopenharmony_ci      <reserved/>
221bf215546Sopenharmony_ci      <opt>aadd</opt>
222bf215546Sopenharmony_ci      <reserved/>
223bf215546Sopenharmony_ci      <reserved/>
224bf215546Sopenharmony_ci      <reserved/>
225bf215546Sopenharmony_ci      <reserved/>
226bf215546Sopenharmony_ci      <reserved/>
227bf215546Sopenharmony_ci      <opt>asmin</opt>
228bf215546Sopenharmony_ci      <opt>asmax</opt>
229bf215546Sopenharmony_ci      <opt>aumin</opt>
230bf215546Sopenharmony_ci      <opt>aumax</opt>
231bf215546Sopenharmony_ci      <opt>aand</opt>
232bf215546Sopenharmony_ci      <opt>aor</opt>
233bf215546Sopenharmony_ci      <opt>axor</opt>
234bf215546Sopenharmony_ci    </mod>
235bf215546Sopenharmony_ci  </ins>
236bf215546Sopenharmony_ci
237bf215546Sopenharmony_ci  <ins name="*ATOM_C_RETURN.i64" mask="0x7fe000" exact="0x2f2000" last="true" dests="0">
238bf215546Sopenharmony_ci    <src start="0" mask="0xf3"/>
239bf215546Sopenharmony_ci    <src start="3" mask="0xf3"/>
240bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
241bf215546Sopenharmony_ci    <mod name="atom_opc" start="9" size="4">
242bf215546Sopenharmony_ci      <opt>aaddu</opt>
243bf215546Sopenharmony_ci      <opt>aadds</opt>
244bf215546Sopenharmony_ci      <opt>aadd</opt>
245bf215546Sopenharmony_ci      <reserved/>
246bf215546Sopenharmony_ci      <reserved/>
247bf215546Sopenharmony_ci      <reserved/>
248bf215546Sopenharmony_ci      <reserved/>
249bf215546Sopenharmony_ci      <reserved/>
250bf215546Sopenharmony_ci      <opt>asmin</opt>
251bf215546Sopenharmony_ci      <opt>asmax</opt>
252bf215546Sopenharmony_ci      <opt>aumin</opt>
253bf215546Sopenharmony_ci      <opt>aumax</opt>
254bf215546Sopenharmony_ci      <opt>aand</opt>
255bf215546Sopenharmony_ci      <opt>aor</opt>
256bf215546Sopenharmony_ci      <opt>axor</opt>
257bf215546Sopenharmony_ci    </mod>
258bf215546Sopenharmony_ci  </ins>
259bf215546Sopenharmony_ci
260bf215546Sopenharmony_ci  <ins name="*ATOM_POST.i32" mask="0x7ffc00" exact="0x6ee400">
261bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
262bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
263bf215546Sopenharmony_ci    <mod name="atom_opc" start="6" size="4">
264bf215546Sopenharmony_ci      <reserved/>
265bf215546Sopenharmony_ci      <reserved/>
266bf215546Sopenharmony_ci      <opt>aadd</opt>
267bf215546Sopenharmony_ci      <reserved/>
268bf215546Sopenharmony_ci      <reserved/>
269bf215546Sopenharmony_ci      <reserved/>
270bf215546Sopenharmony_ci      <reserved/>
271bf215546Sopenharmony_ci      <reserved/>
272bf215546Sopenharmony_ci      <opt>asmin</opt>
273bf215546Sopenharmony_ci      <opt>asmax</opt>
274bf215546Sopenharmony_ci      <opt>aumin</opt>
275bf215546Sopenharmony_ci      <opt>aumax</opt>
276bf215546Sopenharmony_ci      <opt>aand</opt>
277bf215546Sopenharmony_ci      <opt>aor</opt>
278bf215546Sopenharmony_ci      <opt>axor</opt>
279bf215546Sopenharmony_ci    </mod>
280bf215546Sopenharmony_ci  </ins>
281bf215546Sopenharmony_ci
282bf215546Sopenharmony_ci  <ins name="*ATOM_POST.i64" mask="0x7ffc00" exact="0x6ee000">
283bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
284bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
285bf215546Sopenharmony_ci    <mod name="atom_opc" start="6" size="4">
286bf215546Sopenharmony_ci      <opt>aaddu</opt>
287bf215546Sopenharmony_ci      <opt>aadds</opt>
288bf215546Sopenharmony_ci      <opt>aadd</opt>
289bf215546Sopenharmony_ci      <reserved/>
290bf215546Sopenharmony_ci      <reserved/>
291bf215546Sopenharmony_ci      <reserved/>
292bf215546Sopenharmony_ci      <reserved/>
293bf215546Sopenharmony_ci      <reserved/>
294bf215546Sopenharmony_ci      <opt>asmin</opt>
295bf215546Sopenharmony_ci      <opt>asmax</opt>
296bf215546Sopenharmony_ci      <opt>aumin</opt>
297bf215546Sopenharmony_ci      <opt>aumax</opt>
298bf215546Sopenharmony_ci      <opt>aand</opt>
299bf215546Sopenharmony_ci      <opt>aor</opt>
300bf215546Sopenharmony_ci      <opt>axor</opt>
301bf215546Sopenharmony_ci    </mod>
302bf215546Sopenharmony_ci  </ins>
303bf215546Sopenharmony_ci
304bf215546Sopenharmony_ci  <ins name="*ATOM_PRE.i64" mask="0x7fe000" exact="0x6ec000">
305bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
306bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
307bf215546Sopenharmony_ci    <src start="6"/>
308bf215546Sopenharmony_ci    <mod name="atom_opc" start="9" size="4">
309bf215546Sopenharmony_ci      <opt>aaddu</opt>
310bf215546Sopenharmony_ci      <opt>aadds</opt>
311bf215546Sopenharmony_ci      <opt>aadd</opt>
312bf215546Sopenharmony_ci      <reserved/>
313bf215546Sopenharmony_ci      <reserved/>
314bf215546Sopenharmony_ci      <reserved/>
315bf215546Sopenharmony_ci      <reserved/>
316bf215546Sopenharmony_ci      <reserved/>
317bf215546Sopenharmony_ci      <opt>asmin</opt>
318bf215546Sopenharmony_ci      <opt>asmax</opt>
319bf215546Sopenharmony_ci      <opt>aumin</opt>
320bf215546Sopenharmony_ci      <opt>aumax</opt>
321bf215546Sopenharmony_ci      <opt>aand</opt>
322bf215546Sopenharmony_ci      <opt>aor</opt>
323bf215546Sopenharmony_ci      <opt>axor</opt>
324bf215546Sopenharmony_ci    </mod>
325bf215546Sopenharmony_ci  </ins>
326bf215546Sopenharmony_ci
327bf215546Sopenharmony_ci  <ins name="*BITREV.i32" mask="0x7ffff8" exact="0x701fc0">
328bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
329bf215546Sopenharmony_ci  </ins>
330bf215546Sopenharmony_ci
331bf215546Sopenharmony_ci  <ins name="*CLZ.u32" mask="0x7ffff0" exact="0x701fd0">
332bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
333bf215546Sopenharmony_ci    <mod name="mask" start="3" size="1" opt="mask"/>
334bf215546Sopenharmony_ci  </ins>
335bf215546Sopenharmony_ci
336bf215546Sopenharmony_ci  <ins name="*CLZ.v2u16" mask="0x7fffc0" exact="0x701ec0">
337bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
338bf215546Sopenharmony_ci    <mod name="mask" start="3" size="1" opt="mask"/>
339bf215546Sopenharmony_ci    <mod name="swz0" start="4" size="2" default="h01">
340bf215546Sopenharmony_ci      <opt>h00</opt>
341bf215546Sopenharmony_ci      <opt>h10</opt>
342bf215546Sopenharmony_ci      <opt>h01</opt>
343bf215546Sopenharmony_ci      <opt>h11</opt>
344bf215546Sopenharmony_ci    </mod>
345bf215546Sopenharmony_ci  </ins>
346bf215546Sopenharmony_ci
347bf215546Sopenharmony_ci  <ins name="*CLZ.v4u8" mask="0x7ffff0" exact="0x701f90">
348bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
349bf215546Sopenharmony_ci    <mod name="mask" start="3" size="1" opt="mask"/>
350bf215546Sopenharmony_ci  </ins>
351bf215546Sopenharmony_ci
352bf215546Sopenharmony_ci  <ins name="*CSEL.f32" mask="0x7fc000" exact="0x2e0000">
353bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
354bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
355bf215546Sopenharmony_ci    <src start="6"/>
356bf215546Sopenharmony_ci    <src start="9"/>
357bf215546Sopenharmony_ci    <mod name="cmpf" size="3">
358bf215546Sopenharmony_ci      <opt>eq</opt>
359bf215546Sopenharmony_ci      <opt>gt</opt>
360bf215546Sopenharmony_ci      <opt>ge</opt>
361bf215546Sopenharmony_ci      <opt>ne</opt>
362bf215546Sopenharmony_ci      <opt>lt</opt>
363bf215546Sopenharmony_ci      <opt>le</opt>
364bf215546Sopenharmony_ci    </mod>
365bf215546Sopenharmony_ci    <derived start="12" size="2">
366bf215546Sopenharmony_ci      <eq left="cmpf" right="#eq"/>
367bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
368bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
369bf215546Sopenharmony_ci      <reserved/>
370bf215546Sopenharmony_ci    </derived>
371bf215546Sopenharmony_ci    <swap left="0" right="1">
372bf215546Sopenharmony_ci      <or>
373bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
374bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
375bf215546Sopenharmony_ci      </or>
376bf215546Sopenharmony_ci      <rewrite name="cmpf">
377bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
378bf215546Sopenharmony_ci        <map from="le" to="ge"/>
379bf215546Sopenharmony_ci      </rewrite>
380bf215546Sopenharmony_ci    </swap>
381bf215546Sopenharmony_ci    <swap left="2" right="3">
382bf215546Sopenharmony_ci      <eq left="cmpf" right="#ne"/>
383bf215546Sopenharmony_ci      <rewrite name="cmpf">
384bf215546Sopenharmony_ci        <map from="ne" to="eq"/>
385bf215546Sopenharmony_ci      </rewrite>
386bf215546Sopenharmony_ci    </swap>
387bf215546Sopenharmony_ci  </ins>
388bf215546Sopenharmony_ci
389bf215546Sopenharmony_ci  <ins name="*CSEL.i32" mask="0x7f8000" exact="0x2e0000">
390bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
391bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
392bf215546Sopenharmony_ci    <src start="6"/>
393bf215546Sopenharmony_ci    <src start="9"/>
394bf215546Sopenharmony_ci    <mod name="cmpf" size="1">
395bf215546Sopenharmony_ci      <opt>eq</opt>
396bf215546Sopenharmony_ci      <opt>ne</opt>
397bf215546Sopenharmony_ci    </mod>
398bf215546Sopenharmony_ci    <derived start="12" size="3">
399bf215546Sopenharmony_ci      <reserved/>
400bf215546Sopenharmony_ci      <reserved/>
401bf215546Sopenharmony_ci      <reserved/>
402bf215546Sopenharmony_ci      <eq left="cmpf" right="#eq"/>
403bf215546Sopenharmony_ci      <reserved/>
404bf215546Sopenharmony_ci      <reserved/>
405bf215546Sopenharmony_ci      <reserved/>
406bf215546Sopenharmony_ci      <reserved/>
407bf215546Sopenharmony_ci    </derived>
408bf215546Sopenharmony_ci    <swap left="2" right="3">
409bf215546Sopenharmony_ci      <eq left="cmpf" right="#ne"/>
410bf215546Sopenharmony_ci      <rewrite name="cmpf">
411bf215546Sopenharmony_ci        <map from="ne" to="eq"/>
412bf215546Sopenharmony_ci      </rewrite>
413bf215546Sopenharmony_ci    </swap>
414bf215546Sopenharmony_ci  </ins>
415bf215546Sopenharmony_ci
416bf215546Sopenharmony_ci  <ins name="*CSEL.s32" mask="0x7fe000" exact="0x2e4000">
417bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
418bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
419bf215546Sopenharmony_ci    <src start="6"/>
420bf215546Sopenharmony_ci    <src start="9"/>
421bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
422bf215546Sopenharmony_ci      <opt>gt</opt>
423bf215546Sopenharmony_ci      <opt>ge</opt>
424bf215546Sopenharmony_ci      <opt>lt</opt>
425bf215546Sopenharmony_ci      <opt>le</opt>
426bf215546Sopenharmony_ci    </mod>
427bf215546Sopenharmony_ci    <derived start="12" size="1">
428bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
429bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
430bf215546Sopenharmony_ci    </derived>
431bf215546Sopenharmony_ci    <swap left="0" right="1">
432bf215546Sopenharmony_ci      <or>
433bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
434bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
435bf215546Sopenharmony_ci      </or>
436bf215546Sopenharmony_ci      <rewrite name="cmpf">
437bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
438bf215546Sopenharmony_ci        <map from="le" to="ge"/>
439bf215546Sopenharmony_ci      </rewrite>
440bf215546Sopenharmony_ci    </swap>
441bf215546Sopenharmony_ci  </ins>
442bf215546Sopenharmony_ci
443bf215546Sopenharmony_ci  <ins name="*CSEL.u32" mask="0x7fe000" exact="0x2e6000">
444bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
445bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
446bf215546Sopenharmony_ci    <src start="6"/>
447bf215546Sopenharmony_ci    <src start="9"/>
448bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
449bf215546Sopenharmony_ci      <opt>gt</opt>
450bf215546Sopenharmony_ci      <opt>ge</opt>
451bf215546Sopenharmony_ci      <opt>lt</opt>
452bf215546Sopenharmony_ci      <opt>le</opt>
453bf215546Sopenharmony_ci    </mod>
454bf215546Sopenharmony_ci    <derived start="12" size="1">
455bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
456bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
457bf215546Sopenharmony_ci    </derived>
458bf215546Sopenharmony_ci    <swap left="0" right="1">
459bf215546Sopenharmony_ci      <or>
460bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
461bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
462bf215546Sopenharmony_ci      </or>
463bf215546Sopenharmony_ci      <rewrite name="cmpf">
464bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
465bf215546Sopenharmony_ci        <map from="le" to="ge"/>
466bf215546Sopenharmony_ci      </rewrite>
467bf215546Sopenharmony_ci    </swap>
468bf215546Sopenharmony_ci  </ins>
469bf215546Sopenharmony_ci
470bf215546Sopenharmony_ci  <ins name="*CSEL.v2f16" mask="0x7fc000" exact="0x6e0000">
471bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
472bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
473bf215546Sopenharmony_ci    <src start="6"/>
474bf215546Sopenharmony_ci    <src start="9"/>
475bf215546Sopenharmony_ci    <mod name="cmpf" size="3">
476bf215546Sopenharmony_ci      <opt>eq</opt>
477bf215546Sopenharmony_ci      <opt>gt</opt>
478bf215546Sopenharmony_ci      <opt>ge</opt>
479bf215546Sopenharmony_ci      <opt>ne</opt>
480bf215546Sopenharmony_ci      <opt>lt</opt>
481bf215546Sopenharmony_ci      <opt>le</opt>
482bf215546Sopenharmony_ci    </mod>
483bf215546Sopenharmony_ci    <derived start="12" size="2">
484bf215546Sopenharmony_ci      <eq left="cmpf" right="#eq"/>
485bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
486bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
487bf215546Sopenharmony_ci      <reserved/>
488bf215546Sopenharmony_ci    </derived>
489bf215546Sopenharmony_ci    <swap left="0" right="1">
490bf215546Sopenharmony_ci      <or>
491bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
492bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
493bf215546Sopenharmony_ci      </or>
494bf215546Sopenharmony_ci      <rewrite name="cmpf">
495bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
496bf215546Sopenharmony_ci        <map from="le" to="ge"/>
497bf215546Sopenharmony_ci      </rewrite>
498bf215546Sopenharmony_ci    </swap>
499bf215546Sopenharmony_ci    <swap left="2" right="3">
500bf215546Sopenharmony_ci      <eq left="cmpf" right="#ne"/>
501bf215546Sopenharmony_ci      <rewrite name="cmpf">
502bf215546Sopenharmony_ci        <map from="ne" to="eq"/>
503bf215546Sopenharmony_ci      </rewrite>
504bf215546Sopenharmony_ci    </swap>
505bf215546Sopenharmony_ci  </ins>
506bf215546Sopenharmony_ci
507bf215546Sopenharmony_ci  <ins name="*CSEL.v2i16" mask="0x7f8000" exact="0x6e0000">
508bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
509bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
510bf215546Sopenharmony_ci    <src start="6"/>
511bf215546Sopenharmony_ci    <src start="9"/>
512bf215546Sopenharmony_ci    <mod name="cmpf" size="1">
513bf215546Sopenharmony_ci      <opt>eq</opt>
514bf215546Sopenharmony_ci      <opt>ne</opt>
515bf215546Sopenharmony_ci    </mod>
516bf215546Sopenharmony_ci    <derived start="12" size="3">
517bf215546Sopenharmony_ci      <reserved/>
518bf215546Sopenharmony_ci      <reserved/>
519bf215546Sopenharmony_ci      <reserved/>
520bf215546Sopenharmony_ci      <eq left="cmpf" right="#eq"/>
521bf215546Sopenharmony_ci      <reserved/>
522bf215546Sopenharmony_ci      <reserved/>
523bf215546Sopenharmony_ci      <reserved/>
524bf215546Sopenharmony_ci      <reserved/>
525bf215546Sopenharmony_ci    </derived>
526bf215546Sopenharmony_ci    <swap left="2" right="3">
527bf215546Sopenharmony_ci      <eq left="cmpf" right="#ne"/>
528bf215546Sopenharmony_ci      <rewrite name="cmpf">
529bf215546Sopenharmony_ci        <map from="ne" to="eq"/>
530bf215546Sopenharmony_ci      </rewrite>
531bf215546Sopenharmony_ci    </swap>
532bf215546Sopenharmony_ci  </ins>
533bf215546Sopenharmony_ci
534bf215546Sopenharmony_ci  <ins name="*CSEL.v2s16" mask="0x7fe000" exact="0x6e4000">
535bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
536bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
537bf215546Sopenharmony_ci    <src start="6"/>
538bf215546Sopenharmony_ci    <src start="9"/>
539bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
540bf215546Sopenharmony_ci      <opt>gt</opt>
541bf215546Sopenharmony_ci      <opt>ge</opt>
542bf215546Sopenharmony_ci      <opt>lt</opt>
543bf215546Sopenharmony_ci      <opt>le</opt>
544bf215546Sopenharmony_ci    </mod>
545bf215546Sopenharmony_ci    <derived start="12" size="1">
546bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
547bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
548bf215546Sopenharmony_ci    </derived>
549bf215546Sopenharmony_ci    <swap left="0" right="1">
550bf215546Sopenharmony_ci      <or>
551bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
552bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
553bf215546Sopenharmony_ci      </or>
554bf215546Sopenharmony_ci      <rewrite name="cmpf">
555bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
556bf215546Sopenharmony_ci        <map from="le" to="ge"/>
557bf215546Sopenharmony_ci      </rewrite>
558bf215546Sopenharmony_ci    </swap>
559bf215546Sopenharmony_ci  </ins>
560bf215546Sopenharmony_ci
561bf215546Sopenharmony_ci  <ins name="*CSEL.v2u16" mask="0x7fe000" exact="0x6e6000">
562bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
563bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
564bf215546Sopenharmony_ci    <src start="6"/>
565bf215546Sopenharmony_ci    <src start="9"/>
566bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
567bf215546Sopenharmony_ci      <opt>gt</opt>
568bf215546Sopenharmony_ci      <opt>ge</opt>
569bf215546Sopenharmony_ci      <opt>lt</opt>
570bf215546Sopenharmony_ci      <opt>le</opt>
571bf215546Sopenharmony_ci    </mod>
572bf215546Sopenharmony_ci    <derived start="12" size="1">
573bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
574bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
575bf215546Sopenharmony_ci    </derived>
576bf215546Sopenharmony_ci    <swap left="0" right="1">
577bf215546Sopenharmony_ci      <or>
578bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
579bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
580bf215546Sopenharmony_ci      </or>
581bf215546Sopenharmony_ci      <rewrite name="cmpf">
582bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
583bf215546Sopenharmony_ci        <map from="le" to="ge"/>
584bf215546Sopenharmony_ci      </rewrite>
585bf215546Sopenharmony_ci    </swap>
586bf215546Sopenharmony_ci  </ins>
587bf215546Sopenharmony_ci
588bf215546Sopenharmony_ci  <ins name="*CUBEFACE1" mask="0x7ffc00" exact="0x706800">
589bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
590bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
591bf215546Sopenharmony_ci    <src start="6"/>
592bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
593bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
594bf215546Sopenharmony_ci    <mod name="neg2" size="1" opt="neg"/>
595bf215546Sopenharmony_ci    <derived start="9" size="1">
596bf215546Sopenharmony_ci      <and>
597bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
598bf215546Sopenharmony_ci        <eq left="neg1" right="#none"/>
599bf215546Sopenharmony_ci        <eq left="neg2" right="#none"/>
600bf215546Sopenharmony_ci      </and>
601bf215546Sopenharmony_ci      <and>
602bf215546Sopenharmony_ci        <eq left="neg0" right="#neg"/>
603bf215546Sopenharmony_ci        <eq left="neg1" right="#neg"/>
604bf215546Sopenharmony_ci        <eq left="neg2" right="#neg"/>
605bf215546Sopenharmony_ci      </and>
606bf215546Sopenharmony_ci    </derived>
607bf215546Sopenharmony_ci  </ins>
608bf215546Sopenharmony_ci
609bf215546Sopenharmony_ci  <ins name="*DTSEL_IMM" mask="0x7fffe0" exact="0x70f3e0">
610bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
611bf215546Sopenharmony_ci    <mod name="table" start="3" size="2">
612bf215546Sopenharmony_ci      <opt>attribute_1</opt>
613bf215546Sopenharmony_ci      <opt>attribute_2</opt>
614bf215546Sopenharmony_ci      <opt>none</opt> <!-- actually reserved, used as sentinel -->
615bf215546Sopenharmony_ci      <opt>flat</opt>
616bf215546Sopenharmony_ci    </mod>
617bf215546Sopenharmony_ci  </ins>
618bf215546Sopenharmony_ci
619bf215546Sopenharmony_ci  <ins name="*F16_TO_F32" mask="0x7ffff0" exact="0x700d10">
620bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
621bf215546Sopenharmony_ci    <mod name="lane0" start="3" size="1" default="h0">
622bf215546Sopenharmony_ci      <opt>h0</opt>
623bf215546Sopenharmony_ci      <opt>h1</opt>
624bf215546Sopenharmony_ci    </mod>
625bf215546Sopenharmony_ci  </ins>
626bf215546Sopenharmony_ci
627bf215546Sopenharmony_ci  <ins name="*FADD.f32" mask="0x7e0000" exact="0x2c0000">
628bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
629bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
630bf215546Sopenharmony_ci    <mod name="abs1" start="6" size="1" opt="abs"/>
631bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
632bf215546Sopenharmony_ci    <mod name="neg1" start="8" size="1" opt="neg"/>
633bf215546Sopenharmony_ci    <mod name="abs0" start="12" size="1" opt="abs"/>
634bf215546Sopenharmony_ci    <mod name="round" start="13" size="2">
635bf215546Sopenharmony_ci      <opt>none</opt>
636bf215546Sopenharmony_ci      <opt>rtp</opt>
637bf215546Sopenharmony_ci      <opt>rtn</opt>
638bf215546Sopenharmony_ci      <opt>rtz</opt>
639bf215546Sopenharmony_ci    </mod>
640bf215546Sopenharmony_ci    <mod name="clamp" start="15" size="2">
641bf215546Sopenharmony_ci      <opt>none</opt>
642bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
643bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
644bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
645bf215546Sopenharmony_ci    </mod>
646bf215546Sopenharmony_ci    <mod name="widen0" size="2">
647bf215546Sopenharmony_ci      <opt>none</opt>
648bf215546Sopenharmony_ci      <opt>h0</opt>
649bf215546Sopenharmony_ci      <opt>h1</opt>
650bf215546Sopenharmony_ci    </mod>
651bf215546Sopenharmony_ci    <mod name="widen1" size="2">
652bf215546Sopenharmony_ci      <opt>none</opt>
653bf215546Sopenharmony_ci      <opt>h0</opt>
654bf215546Sopenharmony_ci      <opt>h1</opt>
655bf215546Sopenharmony_ci    </mod>
656bf215546Sopenharmony_ci    <derived start="9" size="3">
657bf215546Sopenharmony_ci      <and>
658bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
659bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
660bf215546Sopenharmony_ci      </and>
661bf215546Sopenharmony_ci      <and>
662bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
663bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
664bf215546Sopenharmony_ci      </and>
665bf215546Sopenharmony_ci      <and>
666bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
667bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
668bf215546Sopenharmony_ci      </and>
669bf215546Sopenharmony_ci      <and>
670bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
671bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
672bf215546Sopenharmony_ci      </and>
673bf215546Sopenharmony_ci      <and>
674bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
675bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
676bf215546Sopenharmony_ci      </and>
677bf215546Sopenharmony_ci      <and>
678bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
679bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
680bf215546Sopenharmony_ci      </and>
681bf215546Sopenharmony_ci      <and>
682bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
683bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
684bf215546Sopenharmony_ci      </and>
685bf215546Sopenharmony_ci      <and>
686bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
687bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
688bf215546Sopenharmony_ci      </and>
689bf215546Sopenharmony_ci    </derived>
690bf215546Sopenharmony_ci    <swap left="0" right="1">
691bf215546Sopenharmony_ci      <and>
692bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
693bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
694bf215546Sopenharmony_ci      </and>
695bf215546Sopenharmony_ci    </swap>
696bf215546Sopenharmony_ci  </ins>
697bf215546Sopenharmony_ci
698bf215546Sopenharmony_ci  <ins name="*FADD.v2f16" mask="0x7e0000" exact="0x6c0000">
699bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
700bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
701bf215546Sopenharmony_ci    <mod name="abs0" size="1" opt="abs"/>
702bf215546Sopenharmony_ci    <mod name="abs1" size="1" opt="abs"/>
703bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
704bf215546Sopenharmony_ci    <mod name="neg1" start="8" size="1" opt="neg"/>
705bf215546Sopenharmony_ci    <mod name="swz0" start="9" size="2" default="h01">
706bf215546Sopenharmony_ci      <opt>h00</opt>
707bf215546Sopenharmony_ci      <opt>h10</opt>
708bf215546Sopenharmony_ci      <opt>h01</opt>
709bf215546Sopenharmony_ci      <opt>h11</opt>
710bf215546Sopenharmony_ci    </mod>
711bf215546Sopenharmony_ci    <mod name="swz1" start="11" size="2" default="h01">
712bf215546Sopenharmony_ci      <opt>h00</opt>
713bf215546Sopenharmony_ci      <opt>h10</opt>
714bf215546Sopenharmony_ci      <opt>h01</opt>
715bf215546Sopenharmony_ci      <opt>h11</opt>
716bf215546Sopenharmony_ci    </mod>
717bf215546Sopenharmony_ci    <mod name="round" start="13" size="2">
718bf215546Sopenharmony_ci      <opt>none</opt>
719bf215546Sopenharmony_ci      <opt>rtp</opt>
720bf215546Sopenharmony_ci      <opt>rtn</opt>
721bf215546Sopenharmony_ci      <opt>rtz</opt>
722bf215546Sopenharmony_ci    </mod>
723bf215546Sopenharmony_ci    <mod name="clamp" start="15" size="2">
724bf215546Sopenharmony_ci      <opt>none</opt>
725bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
726bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
727bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
728bf215546Sopenharmony_ci    </mod>
729bf215546Sopenharmony_ci    <derived start="6" size="1">
730bf215546Sopenharmony_ci      <or>
731bf215546Sopenharmony_ci        <and>
732bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
733bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
734bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
735bf215546Sopenharmony_ci        </and>
736bf215546Sopenharmony_ci        <and>
737bf215546Sopenharmony_ci          <eq left="abs0" right="#none"/>
738bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
739bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
740bf215546Sopenharmony_ci        </and>
741bf215546Sopenharmony_ci      </or>
742bf215546Sopenharmony_ci      <or>
743bf215546Sopenharmony_ci        <and>
744bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
745bf215546Sopenharmony_ci          <eq left="abs1" right="#abs"/>
746bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
747bf215546Sopenharmony_ci        </and>
748bf215546Sopenharmony_ci        <and>
749bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
750bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
751bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
752bf215546Sopenharmony_ci        </and>
753bf215546Sopenharmony_ci      </or>
754bf215546Sopenharmony_ci    </derived>
755bf215546Sopenharmony_ci    <swap left="0" right="1">
756bf215546Sopenharmony_ci      <or>
757bf215546Sopenharmony_ci        <and>
758bf215546Sopenharmony_ci          <eq left="abs0" right="#none"/>
759bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
760bf215546Sopenharmony_ci        </and>
761bf215546Sopenharmony_ci        <and>
762bf215546Sopenharmony_ci          <eq left="abs1" right="#abs"/>
763bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
764bf215546Sopenharmony_ci        </and>
765bf215546Sopenharmony_ci      </or>
766bf215546Sopenharmony_ci    </swap>
767bf215546Sopenharmony_ci  </ins>
768bf215546Sopenharmony_ci
769bf215546Sopenharmony_ci  <ins name="*FADD_LSCALE.f32" mask="0x7ffc00" exact="0x70f400">
770bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
771bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
772bf215546Sopenharmony_ci    <mod name="abs0" start="6" size="1" opt="abs"/>
773bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
774bf215546Sopenharmony_ci    <mod name="abs1" start="8" size="1" opt="abs"/>
775bf215546Sopenharmony_ci    <mod name="neg1" start="9" size="1" opt="neg"/>
776bf215546Sopenharmony_ci  </ins>
777bf215546Sopenharmony_ci
778bf215546Sopenharmony_ci  <ins name="*FCMP.f32" mask="0x7c0000" exact="0x240000">
779bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
780bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
781bf215546Sopenharmony_ci    <mod name="widen0" size="2">
782bf215546Sopenharmony_ci      <opt>none</opt>
783bf215546Sopenharmony_ci      <opt>h0</opt>
784bf215546Sopenharmony_ci      <opt>h1</opt>
785bf215546Sopenharmony_ci    </mod>
786bf215546Sopenharmony_ci    <mod name="widen1" size="2">
787bf215546Sopenharmony_ci      <opt>none</opt>
788bf215546Sopenharmony_ci      <opt>h0</opt>
789bf215546Sopenharmony_ci      <opt>h1</opt>
790bf215546Sopenharmony_ci    </mod>
791bf215546Sopenharmony_ci    <mod name="abs1" start="6" size="1" opt="abs"/>
792bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
793bf215546Sopenharmony_ci    <mod name="neg1" start="8" size="1" opt="neg"/>
794bf215546Sopenharmony_ci    <mod name="abs0" start="12" size="1" opt="abs"/>
795bf215546Sopenharmony_ci    <mod name="cmpf" start="13" size="3">
796bf215546Sopenharmony_ci      <opt>eq</opt>
797bf215546Sopenharmony_ci      <opt>gt</opt>
798bf215546Sopenharmony_ci      <opt>ge</opt>
799bf215546Sopenharmony_ci      <opt>ne</opt>
800bf215546Sopenharmony_ci      <opt>lt</opt>
801bf215546Sopenharmony_ci      <opt>le</opt>
802bf215546Sopenharmony_ci      <opt>gtlt</opt>
803bf215546Sopenharmony_ci      <opt>total</opt>
804bf215546Sopenharmony_ci    </mod>
805bf215546Sopenharmony_ci    <mod name="result_type" start="16" size="2" default="i1">
806bf215546Sopenharmony_ci      <opt>i1</opt>
807bf215546Sopenharmony_ci      <opt>f1</opt>
808bf215546Sopenharmony_ci      <opt>m1</opt>
809bf215546Sopenharmony_ci    </mod>
810bf215546Sopenharmony_ci    <derived start="9" size="3">
811bf215546Sopenharmony_ci      <and>
812bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
813bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
814bf215546Sopenharmony_ci      </and>
815bf215546Sopenharmony_ci      <and>
816bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
817bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
818bf215546Sopenharmony_ci      </and>
819bf215546Sopenharmony_ci      <and>
820bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
821bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
822bf215546Sopenharmony_ci      </and>
823bf215546Sopenharmony_ci      <and>
824bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
825bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
826bf215546Sopenharmony_ci      </and>
827bf215546Sopenharmony_ci      <and>
828bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
829bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
830bf215546Sopenharmony_ci      </and>
831bf215546Sopenharmony_ci      <and>
832bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
833bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
834bf215546Sopenharmony_ci      </and>
835bf215546Sopenharmony_ci      <and>
836bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
837bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
838bf215546Sopenharmony_ci      </and>
839bf215546Sopenharmony_ci      <and>
840bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
841bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
842bf215546Sopenharmony_ci      </and>
843bf215546Sopenharmony_ci    </derived>
844bf215546Sopenharmony_ci    <swap left="0" right="1">
845bf215546Sopenharmony_ci      <and>
846bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
847bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
848bf215546Sopenharmony_ci      </and>
849bf215546Sopenharmony_ci      <rewrite name="cmpf">
850bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
851bf215546Sopenharmony_ci        <map from="le" to="ge"/>
852bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
853bf215546Sopenharmony_ci        <map from="ge" to="le"/>
854bf215546Sopenharmony_ci      </rewrite>
855bf215546Sopenharmony_ci    </swap>
856bf215546Sopenharmony_ci  </ins>
857bf215546Sopenharmony_ci
858bf215546Sopenharmony_ci  <ins name="*FCMP.v2f16" mask="0x7c0000" exact="0x640000">
859bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
860bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
861bf215546Sopenharmony_ci    <mod name="abs0" size="1" opt="abs"/>
862bf215546Sopenharmony_ci    <mod name="abs1" size="1" opt="abs"/>
863bf215546Sopenharmony_ci    <mod name="cmpf" size="3">
864bf215546Sopenharmony_ci      <opt>eq</opt>
865bf215546Sopenharmony_ci      <opt>gt</opt>
866bf215546Sopenharmony_ci      <opt>ge</opt>
867bf215546Sopenharmony_ci      <opt>ne</opt>
868bf215546Sopenharmony_ci      <opt>lt</opt>
869bf215546Sopenharmony_ci      <opt>le</opt>
870bf215546Sopenharmony_ci      <opt>gtlt</opt>
871bf215546Sopenharmony_ci      <opt>total</opt>
872bf215546Sopenharmony_ci    </mod>
873bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
874bf215546Sopenharmony_ci    <mod name="neg1" start="8" size="1" opt="neg"/>
875bf215546Sopenharmony_ci    <mod name="swz0" start="9" size="2" default="h01">
876bf215546Sopenharmony_ci      <opt>h00</opt>
877bf215546Sopenharmony_ci      <opt>h10</opt>
878bf215546Sopenharmony_ci      <opt>h01</opt>
879bf215546Sopenharmony_ci      <opt>h11</opt>
880bf215546Sopenharmony_ci    </mod>
881bf215546Sopenharmony_ci    <mod name="swz1" start="11" size="2" default="h01">
882bf215546Sopenharmony_ci      <opt>h00</opt>
883bf215546Sopenharmony_ci      <opt>h10</opt>
884bf215546Sopenharmony_ci      <opt>h01</opt>
885bf215546Sopenharmony_ci      <opt>h11</opt>
886bf215546Sopenharmony_ci    </mod>
887bf215546Sopenharmony_ci    <mod name="result_type" start="16" size="2" default="i1">
888bf215546Sopenharmony_ci      <opt>i1</opt>
889bf215546Sopenharmony_ci      <opt>f1</opt>
890bf215546Sopenharmony_ci      <opt>m1</opt>
891bf215546Sopenharmony_ci    </mod>
892bf215546Sopenharmony_ci    <derived start="6" size="1">
893bf215546Sopenharmony_ci      <or>
894bf215546Sopenharmony_ci        <and>
895bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
896bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
897bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
898bf215546Sopenharmony_ci        </and>
899bf215546Sopenharmony_ci        <and>
900bf215546Sopenharmony_ci          <eq left="abs0" right="#none"/>
901bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
902bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
903bf215546Sopenharmony_ci        </and>
904bf215546Sopenharmony_ci      </or>
905bf215546Sopenharmony_ci      <or>
906bf215546Sopenharmony_ci        <and>
907bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
908bf215546Sopenharmony_ci          <eq left="abs1" right="#abs"/>
909bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
910bf215546Sopenharmony_ci        </and>
911bf215546Sopenharmony_ci        <and>
912bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
913bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
914bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
915bf215546Sopenharmony_ci        </and>
916bf215546Sopenharmony_ci      </or>
917bf215546Sopenharmony_ci    </derived>
918bf215546Sopenharmony_ci    <derived start="13" size="3">
919bf215546Sopenharmony_ci      <eq left="cmpf" right="#eq"/>
920bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
921bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
922bf215546Sopenharmony_ci      <eq left="cmpf" right="#ne"/>
923bf215546Sopenharmony_ci      <eq left="cmpf" right="#lt"/>
924bf215546Sopenharmony_ci      <eq left="cmpf" right="#le"/>
925bf215546Sopenharmony_ci      <eq left="cmpf" right="#gtlt"/>
926bf215546Sopenharmony_ci      <and>
927bf215546Sopenharmony_ci        <eq left="cmpf" right="#total"/>
928bf215546Sopenharmony_ci        <eq left="abs0" right="#none"/>
929bf215546Sopenharmony_ci        <eq left="abs1" right="#none"/>
930bf215546Sopenharmony_ci      </and>
931bf215546Sopenharmony_ci    </derived>
932bf215546Sopenharmony_ci    <swap left="0" right="1">
933bf215546Sopenharmony_ci      <or>
934bf215546Sopenharmony_ci        <and>
935bf215546Sopenharmony_ci          <eq left="abs0" right="#none"/>
936bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
937bf215546Sopenharmony_ci        </and>
938bf215546Sopenharmony_ci        <and>
939bf215546Sopenharmony_ci          <eq left="abs1" right="#abs"/>
940bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
941bf215546Sopenharmony_ci        </and>
942bf215546Sopenharmony_ci      </or>
943bf215546Sopenharmony_ci      <rewrite name="cmpf">
944bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
945bf215546Sopenharmony_ci        <map from="le" to="ge"/>
946bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
947bf215546Sopenharmony_ci        <map from="ge" to="le"/>
948bf215546Sopenharmony_ci      </rewrite>
949bf215546Sopenharmony_ci    </swap>
950bf215546Sopenharmony_ci  </ins>
951bf215546Sopenharmony_ci
952bf215546Sopenharmony_ci  <ins name="*FLSHIFT_DOUBLE.i32" mask="0x7ff800" exact="0x33f800">
953bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
954bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
955bf215546Sopenharmony_ci    <src start="6"/>
956bf215546Sopenharmony_ci    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
957bf215546Sopenharmony_ci    <mod name="lane2" start="10" size="1" default="b0">
958bf215546Sopenharmony_ci      <opt>b0</opt>
959bf215546Sopenharmony_ci      <opt>b2</opt>
960bf215546Sopenharmony_ci    </mod>
961bf215546Sopenharmony_ci  </ins>
962bf215546Sopenharmony_ci
963bf215546Sopenharmony_ci  <ins name="*FMA.f32" mask="0x600000" exact="0x0">
964bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
965bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
966bf215546Sopenharmony_ci    <src start="6"/>
967bf215546Sopenharmony_ci    <mod name="widen0" size="2">
968bf215546Sopenharmony_ci      <opt>none</opt>
969bf215546Sopenharmony_ci      <opt>h0</opt>
970bf215546Sopenharmony_ci      <opt>h1</opt>
971bf215546Sopenharmony_ci    </mod>
972bf215546Sopenharmony_ci    <mod name="widen1" size="2">
973bf215546Sopenharmony_ci      <opt>none</opt>
974bf215546Sopenharmony_ci      <opt>h0</opt>
975bf215546Sopenharmony_ci      <opt>h1</opt>
976bf215546Sopenharmony_ci    </mod>
977bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
978bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
979bf215546Sopenharmony_ci    <mod name="abs0" start="12" size="1" opt="abs"/>
980bf215546Sopenharmony_ci    <mod name="round" start="13" size="2">
981bf215546Sopenharmony_ci      <opt>none</opt>
982bf215546Sopenharmony_ci      <opt>rtp</opt>
983bf215546Sopenharmony_ci      <opt>rtn</opt>
984bf215546Sopenharmony_ci      <opt>rtz</opt>
985bf215546Sopenharmony_ci    </mod>
986bf215546Sopenharmony_ci    <mod name="clamp" start="15" size="2">
987bf215546Sopenharmony_ci      <opt>none</opt>
988bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
989bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
990bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
991bf215546Sopenharmony_ci    </mod>
992bf215546Sopenharmony_ci    <mod name="abs1" start="19" size="1" opt="abs"/>
993bf215546Sopenharmony_ci    <mod name="neg2" start="18" size="1" opt="neg"/>
994bf215546Sopenharmony_ci    <mod name="abs2" start="20" size="1" opt="abs"/>
995bf215546Sopenharmony_ci    <derived start="9" size="3">
996bf215546Sopenharmony_ci      <and>
997bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
998bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
999bf215546Sopenharmony_ci      </and>
1000bf215546Sopenharmony_ci      <and>
1001bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
1002bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
1003bf215546Sopenharmony_ci      </and>
1004bf215546Sopenharmony_ci      <and>
1005bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
1006bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
1007bf215546Sopenharmony_ci      </and>
1008bf215546Sopenharmony_ci      <and>
1009bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
1010bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
1011bf215546Sopenharmony_ci      </and>
1012bf215546Sopenharmony_ci      <and>
1013bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
1014bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
1015bf215546Sopenharmony_ci      </and>
1016bf215546Sopenharmony_ci      <and>
1017bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
1018bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
1019bf215546Sopenharmony_ci      </and>
1020bf215546Sopenharmony_ci      <and>
1021bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
1022bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
1023bf215546Sopenharmony_ci      </and>
1024bf215546Sopenharmony_ci      <and>
1025bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
1026bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
1027bf215546Sopenharmony_ci      </and>
1028bf215546Sopenharmony_ci    </derived>
1029bf215546Sopenharmony_ci    <derived start="17" size="1">
1030bf215546Sopenharmony_ci      <or>
1031bf215546Sopenharmony_ci        <and>
1032bf215546Sopenharmony_ci          <eq left="neg0" right="#none"/>
1033bf215546Sopenharmony_ci          <eq left="neg1" right="#none"/>
1034bf215546Sopenharmony_ci        </and>
1035bf215546Sopenharmony_ci        <and alias="true">
1036bf215546Sopenharmony_ci          <eq left="neg0" right="#neg"/>
1037bf215546Sopenharmony_ci          <eq left="neg1" right="#neg"/>
1038bf215546Sopenharmony_ci        </and>
1039bf215546Sopenharmony_ci      </or>
1040bf215546Sopenharmony_ci      <or>
1041bf215546Sopenharmony_ci        <and>
1042bf215546Sopenharmony_ci          <eq left="neg0" right="#none"/>
1043bf215546Sopenharmony_ci          <eq left="neg1" right="#neg"/>
1044bf215546Sopenharmony_ci        </and>
1045bf215546Sopenharmony_ci        <and alias="true">
1046bf215546Sopenharmony_ci          <eq left="neg0" right="#neg"/>
1047bf215546Sopenharmony_ci          <eq left="neg1" right="#none"/>
1048bf215546Sopenharmony_ci        </and>
1049bf215546Sopenharmony_ci      </or>
1050bf215546Sopenharmony_ci    </derived>
1051bf215546Sopenharmony_ci    <swap left="0" right="1">
1052bf215546Sopenharmony_ci      <and>
1053bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
1054bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
1055bf215546Sopenharmony_ci      </and>
1056bf215546Sopenharmony_ci    </swap>
1057bf215546Sopenharmony_ci  </ins>
1058bf215546Sopenharmony_ci
1059bf215546Sopenharmony_ci  <ins name="*FMA.v2f16" mask="0x600000" exact="0x400000">
1060bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1061bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1062bf215546Sopenharmony_ci    <src start="6"/>
1063bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
1064bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
1065bf215546Sopenharmony_ci    <mod name="swz0" start="9" size="2" default="h01">
1066bf215546Sopenharmony_ci      <opt>h00</opt>
1067bf215546Sopenharmony_ci      <opt>h10</opt>
1068bf215546Sopenharmony_ci      <opt>h01</opt>
1069bf215546Sopenharmony_ci      <opt>h11</opt>
1070bf215546Sopenharmony_ci    </mod>
1071bf215546Sopenharmony_ci    <mod name="swz1" start="11" size="2" default="h01">
1072bf215546Sopenharmony_ci      <opt>h00</opt>
1073bf215546Sopenharmony_ci      <opt>h10</opt>
1074bf215546Sopenharmony_ci      <opt>h01</opt>
1075bf215546Sopenharmony_ci      <opt>h11</opt>
1076bf215546Sopenharmony_ci    </mod>
1077bf215546Sopenharmony_ci    <mod name="round" start="13" size="2">
1078bf215546Sopenharmony_ci      <opt>none</opt>
1079bf215546Sopenharmony_ci      <opt>rtp</opt>
1080bf215546Sopenharmony_ci      <opt>rtn</opt>
1081bf215546Sopenharmony_ci      <opt>rtz</opt>
1082bf215546Sopenharmony_ci    </mod>
1083bf215546Sopenharmony_ci    <mod name="clamp" start="15" size="2">
1084bf215546Sopenharmony_ci      <opt>none</opt>
1085bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
1086bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
1087bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
1088bf215546Sopenharmony_ci    </mod>
1089bf215546Sopenharmony_ci    <mod name="neg2" start="18" size="1" opt="neg"/>
1090bf215546Sopenharmony_ci    <mod name="swz2" start="19" size="2" default="h01">
1091bf215546Sopenharmony_ci      <opt>h00</opt>
1092bf215546Sopenharmony_ci      <opt>h10</opt>
1093bf215546Sopenharmony_ci      <opt>h01</opt>
1094bf215546Sopenharmony_ci      <opt>h11</opt>
1095bf215546Sopenharmony_ci    </mod>
1096bf215546Sopenharmony_ci    <derived start="17" size="1">
1097bf215546Sopenharmony_ci      <or>
1098bf215546Sopenharmony_ci        <and>
1099bf215546Sopenharmony_ci          <eq left="neg0" right="#none"/>
1100bf215546Sopenharmony_ci          <eq left="neg1" right="#none"/>
1101bf215546Sopenharmony_ci        </and>
1102bf215546Sopenharmony_ci        <and alias="true">
1103bf215546Sopenharmony_ci          <eq left="neg0" right="#neg"/>
1104bf215546Sopenharmony_ci          <eq left="neg1" right="#neg"/>
1105bf215546Sopenharmony_ci        </and>
1106bf215546Sopenharmony_ci      </or>
1107bf215546Sopenharmony_ci      <or>
1108bf215546Sopenharmony_ci        <and>
1109bf215546Sopenharmony_ci          <eq left="neg0" right="#none"/>
1110bf215546Sopenharmony_ci          <eq left="neg1" right="#neg"/>
1111bf215546Sopenharmony_ci        </and>
1112bf215546Sopenharmony_ci        <and alias="true">
1113bf215546Sopenharmony_ci          <eq left="neg0" right="#neg"/>
1114bf215546Sopenharmony_ci          <eq left="neg1" right="#none"/>
1115bf215546Sopenharmony_ci        </and>
1116bf215546Sopenharmony_ci      </or>
1117bf215546Sopenharmony_ci    </derived>
1118bf215546Sopenharmony_ci  </ins>
1119bf215546Sopenharmony_ci
1120bf215546Sopenharmony_ci  <ins name="*FMA_RSCALE.f32" mask="0x7c0000" exact="0x280000">
1121bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1122bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1123bf215546Sopenharmony_ci    <src start="6"/>
1124bf215546Sopenharmony_ci    <src start="9"/>
1125bf215546Sopenharmony_ci    <mod name="round" size="1" opt="rtz"/>
1126bf215546Sopenharmony_ci    <mod name="clamp" size="2">
1127bf215546Sopenharmony_ci      <opt>none</opt>
1128bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
1129bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
1130bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
1131bf215546Sopenharmony_ci    </mod>
1132bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
1133bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
1134bf215546Sopenharmony_ci    <mod name="abs0" start="15" size="1" opt="abs"/>
1135bf215546Sopenharmony_ci    <mod name="neg2" start="17" size="1" opt="neg"/>
1136bf215546Sopenharmony_ci    <mod name="special" size="2">
1137bf215546Sopenharmony_ci      <opt>none</opt>
1138bf215546Sopenharmony_ci      <opt>n</opt>
1139bf215546Sopenharmony_ci      <opt>left</opt>
1140bf215546Sopenharmony_ci      <opt>scale16</opt>
1141bf215546Sopenharmony_ci    </mod>
1142bf215546Sopenharmony_ci    <derived start="16" size="1">
1143bf215546Sopenharmony_ci      <or>
1144bf215546Sopenharmony_ci        <and>
1145bf215546Sopenharmony_ci          <eq left="neg0" right="#none"/>
1146bf215546Sopenharmony_ci          <eq left="neg1" right="#none"/>
1147bf215546Sopenharmony_ci        </and>
1148bf215546Sopenharmony_ci        <and alias="true">
1149bf215546Sopenharmony_ci          <eq left="neg0" right="#neg"/>
1150bf215546Sopenharmony_ci          <eq left="neg1" right="#neg"/>
1151bf215546Sopenharmony_ci        </and>
1152bf215546Sopenharmony_ci      </or>
1153bf215546Sopenharmony_ci      <or>
1154bf215546Sopenharmony_ci        <and>
1155bf215546Sopenharmony_ci          <eq left="neg0" right="#none"/>
1156bf215546Sopenharmony_ci          <eq left="neg1" right="#neg"/>
1157bf215546Sopenharmony_ci        </and>
1158bf215546Sopenharmony_ci        <and alias="true">
1159bf215546Sopenharmony_ci          <eq left="neg0" right="#neg"/>
1160bf215546Sopenharmony_ci          <eq left="neg1" right="#none"/>
1161bf215546Sopenharmony_ci        </and>
1162bf215546Sopenharmony_ci      </or>
1163bf215546Sopenharmony_ci    </derived>
1164bf215546Sopenharmony_ci    <derived start="12" size="3">
1165bf215546Sopenharmony_ci      <and>
1166bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
1167bf215546Sopenharmony_ci        <eq left="special" right="#none"/>
1168bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1169bf215546Sopenharmony_ci      </and>
1170bf215546Sopenharmony_ci      <and>
1171bf215546Sopenharmony_ci        <eq left="clamp" right="#clamp_0_inf"/>
1172bf215546Sopenharmony_ci        <eq left="special" right="#none"/>
1173bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1174bf215546Sopenharmony_ci      </and>
1175bf215546Sopenharmony_ci      <and>
1176bf215546Sopenharmony_ci        <eq left="clamp" right="#clamp_m1_1"/>
1177bf215546Sopenharmony_ci        <eq left="special" right="#none"/>
1178bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1179bf215546Sopenharmony_ci      </and>
1180bf215546Sopenharmony_ci      <and>
1181bf215546Sopenharmony_ci        <eq left="clamp" right="#clamp_0_1"/>
1182bf215546Sopenharmony_ci        <eq left="special" right="#none"/>
1183bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1184bf215546Sopenharmony_ci      </and>
1185bf215546Sopenharmony_ci      <and>
1186bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
1187bf215546Sopenharmony_ci        <eq left="special" right="#n"/>
1188bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1189bf215546Sopenharmony_ci      </and>
1190bf215546Sopenharmony_ci      <and>
1191bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
1192bf215546Sopenharmony_ci        <eq left="special" right="#n"/>
1193bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
1194bf215546Sopenharmony_ci      </and>
1195bf215546Sopenharmony_ci      <and>
1196bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
1197bf215546Sopenharmony_ci        <eq left="special" right="#scale16"/>
1198bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1199bf215546Sopenharmony_ci      </and>
1200bf215546Sopenharmony_ci      <and>
1201bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
1202bf215546Sopenharmony_ci        <eq left="special" right="#left"/>
1203bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1204bf215546Sopenharmony_ci      </and>
1205bf215546Sopenharmony_ci    </derived>
1206bf215546Sopenharmony_ci  </ins>
1207bf215546Sopenharmony_ci
1208bf215546Sopenharmony_ci  <ins name="*FMA_RSCALE.v2f16" mask="0x7c0000" exact="0x680000">
1209bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1210bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1211bf215546Sopenharmony_ci    <src start="6"/>
1212bf215546Sopenharmony_ci    <src start="9"/>
1213bf215546Sopenharmony_ci    <mod name="round" size="1" opt="rtz"/>
1214bf215546Sopenharmony_ci    <mod name="clamp" size="2">
1215bf215546Sopenharmony_ci      <opt>none</opt>
1216bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
1217bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
1218bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
1219bf215546Sopenharmony_ci    </mod>
1220bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
1221bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
1222bf215546Sopenharmony_ci    <mod name="abs0" start="15" size="1" opt="abs"/>
1223bf215546Sopenharmony_ci    <mod name="neg2" start="17" size="1" opt="neg"/>
1224bf215546Sopenharmony_ci    <mod name="special" size="2">
1225bf215546Sopenharmony_ci      <opt>none</opt>
1226bf215546Sopenharmony_ci      <opt>n</opt>
1227bf215546Sopenharmony_ci      <opt>left</opt>
1228bf215546Sopenharmony_ci    </mod>
1229bf215546Sopenharmony_ci    <derived start="16" size="1">
1230bf215546Sopenharmony_ci      <or>
1231bf215546Sopenharmony_ci        <and>
1232bf215546Sopenharmony_ci          <eq left="neg0" right="#none"/>
1233bf215546Sopenharmony_ci          <eq left="neg1" right="#none"/>
1234bf215546Sopenharmony_ci        </and>
1235bf215546Sopenharmony_ci        <and alias="true">
1236bf215546Sopenharmony_ci          <eq left="neg0" right="#neg"/>
1237bf215546Sopenharmony_ci          <eq left="neg1" right="#neg"/>
1238bf215546Sopenharmony_ci        </and>
1239bf215546Sopenharmony_ci      </or>
1240bf215546Sopenharmony_ci      <or>
1241bf215546Sopenharmony_ci        <and>
1242bf215546Sopenharmony_ci          <eq left="neg0" right="#none"/>
1243bf215546Sopenharmony_ci          <eq left="neg1" right="#neg"/>
1244bf215546Sopenharmony_ci        </and>
1245bf215546Sopenharmony_ci        <and alias="true">
1246bf215546Sopenharmony_ci          <eq left="neg0" right="#neg"/>
1247bf215546Sopenharmony_ci          <eq left="neg1" right="#none"/>
1248bf215546Sopenharmony_ci        </and>
1249bf215546Sopenharmony_ci      </or>
1250bf215546Sopenharmony_ci    </derived>
1251bf215546Sopenharmony_ci    <derived start="12" size="3">
1252bf215546Sopenharmony_ci      <and>
1253bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
1254bf215546Sopenharmony_ci        <eq left="special" right="#none"/>
1255bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1256bf215546Sopenharmony_ci      </and>
1257bf215546Sopenharmony_ci      <and>
1258bf215546Sopenharmony_ci        <eq left="clamp" right="#clamp_0_inf"/>
1259bf215546Sopenharmony_ci        <eq left="special" right="#none"/>
1260bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1261bf215546Sopenharmony_ci      </and>
1262bf215546Sopenharmony_ci      <and>
1263bf215546Sopenharmony_ci        <eq left="clamp" right="#clamp_m1_1"/>
1264bf215546Sopenharmony_ci        <eq left="special" right="#none"/>
1265bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1266bf215546Sopenharmony_ci      </and>
1267bf215546Sopenharmony_ci      <and>
1268bf215546Sopenharmony_ci        <eq left="clamp" right="#clamp_0_1"/>
1269bf215546Sopenharmony_ci        <eq left="special" right="#none"/>
1270bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1271bf215546Sopenharmony_ci      </and>
1272bf215546Sopenharmony_ci      <and>
1273bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
1274bf215546Sopenharmony_ci        <eq left="special" right="#n"/>
1275bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1276bf215546Sopenharmony_ci      </and>
1277bf215546Sopenharmony_ci      <and>
1278bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
1279bf215546Sopenharmony_ci        <eq left="special" right="#n"/>
1280bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
1281bf215546Sopenharmony_ci      </and>
1282bf215546Sopenharmony_ci      <reserved/>
1283bf215546Sopenharmony_ci      <and>
1284bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
1285bf215546Sopenharmony_ci        <eq left="special" right="#left"/>
1286bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1287bf215546Sopenharmony_ci      </and>
1288bf215546Sopenharmony_ci    </derived>
1289bf215546Sopenharmony_ci  </ins>
1290bf215546Sopenharmony_ci
1291bf215546Sopenharmony_ci  <ins name="*FMUL_CSLICE" mask="0x7ffe00" exact="0x70d000">
1292bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1293bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1294bf215546Sopenharmony_ci    <mod name="lane0" start="6" size="1" default="h0">
1295bf215546Sopenharmony_ci      <opt>h0</opt>
1296bf215546Sopenharmony_ci      <opt>h1</opt>
1297bf215546Sopenharmony_ci    </mod>
1298bf215546Sopenharmony_ci    <mod name="abs0" start="7" size="1" opt="abs"/>
1299bf215546Sopenharmony_ci    <mod name="neg0" start="8" size="1" opt="neg"/>
1300bf215546Sopenharmony_ci  </ins>
1301bf215546Sopenharmony_ci
1302bf215546Sopenharmony_ci  <ins name="*FMUL_SLICE.f32" mask="0x7fffc0" exact="0x70cb40">
1303bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1304bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1305bf215546Sopenharmony_ci  </ins>
1306bf215546Sopenharmony_ci
1307bf215546Sopenharmony_ci  <ins name="*FREXPE.f32">
1308bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1309bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
1310bf215546Sopenharmony_ci    <mod name="sqrt" size="1" opt="sqrt"/>
1311bf215546Sopenharmony_ci    <mod name="log" size="1" opt="log"/>
1312bf215546Sopenharmony_ci    <mod name="widen0" start="3" size="2">
1313bf215546Sopenharmony_ci      <reserved/>
1314bf215546Sopenharmony_ci      <opt>none</opt>
1315bf215546Sopenharmony_ci      <opt>h0</opt>
1316bf215546Sopenharmony_ci      <opt>h1</opt>
1317bf215546Sopenharmony_ci    </mod>
1318bf215546Sopenharmony_ci    <encoding mask="0x7ffea0" exact="0x701c20">
1319bf215546Sopenharmony_ci      <eq left="log" right="#none"/>
1320bf215546Sopenharmony_ci      <copy name="neg0" start="6"/>
1321bf215546Sopenharmony_ci      <copy name="sqrt" start="8"/>
1322bf215546Sopenharmony_ci    </encoding>
1323bf215546Sopenharmony_ci    <encoding mask="0x7fffe0" exact="0x701e20">
1324bf215546Sopenharmony_ci      <and>
1325bf215546Sopenharmony_ci        <eq left="log" right="#log"/>
1326bf215546Sopenharmony_ci        <eq left="sqrt" right="#none"/>
1327bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
1328bf215546Sopenharmony_ci      </and>
1329bf215546Sopenharmony_ci    </encoding>
1330bf215546Sopenharmony_ci  </ins>
1331bf215546Sopenharmony_ci
1332bf215546Sopenharmony_ci  <ins name="*FREXPE.v2f16">
1333bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1334bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
1335bf215546Sopenharmony_ci    <mod name="sqrt" size="1" opt="sqrt"/>
1336bf215546Sopenharmony_ci    <mod name="log" size="1" opt="log"/>
1337bf215546Sopenharmony_ci    <mod name="swz0" start="3" size="2" default="h01">
1338bf215546Sopenharmony_ci      <opt>h00</opt>
1339bf215546Sopenharmony_ci      <opt>h10</opt>
1340bf215546Sopenharmony_ci      <opt>h01</opt>
1341bf215546Sopenharmony_ci      <opt>h11</opt>
1342bf215546Sopenharmony_ci    </mod>
1343bf215546Sopenharmony_ci    <encoding mask="0x7ffea0" exact="0x701c00">
1344bf215546Sopenharmony_ci      <eq left="log" right="#none"/>
1345bf215546Sopenharmony_ci      <copy name="neg0" start="6"/>
1346bf215546Sopenharmony_ci      <copy name="sqrt" start="8"/>
1347bf215546Sopenharmony_ci    </encoding>
1348bf215546Sopenharmony_ci    <encoding mask="0x7fffe0" exact="0x701e00">
1349bf215546Sopenharmony_ci      <and>
1350bf215546Sopenharmony_ci        <eq left="log" right="#log"/>
1351bf215546Sopenharmony_ci        <eq left="sqrt" right="#none"/>
1352bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
1353bf215546Sopenharmony_ci      </and>
1354bf215546Sopenharmony_ci    </encoding>
1355bf215546Sopenharmony_ci  </ins>
1356bf215546Sopenharmony_ci
1357bf215546Sopenharmony_ci  <ins name="*FREXPM.f32">
1358bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1359bf215546Sopenharmony_ci    <mod name="abs0" start="6" size="1" opt="abs"/>
1360bf215546Sopenharmony_ci    <mod name="sqrt" size="1" opt="sqrt"/>
1361bf215546Sopenharmony_ci    <mod name="log" size="1" opt="log"/>
1362bf215546Sopenharmony_ci    <mod name="widen0" start="3" size="2">
1363bf215546Sopenharmony_ci      <reserved/>
1364bf215546Sopenharmony_ci      <opt>none</opt>
1365bf215546Sopenharmony_ci      <opt>h0</opt>
1366bf215546Sopenharmony_ci      <opt>h1</opt>
1367bf215546Sopenharmony_ci    </mod>
1368bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
1369bf215546Sopenharmony_ci    <encoding mask="0x7fff20" exact="0x701b20">
1370bf215546Sopenharmony_ci      <and>
1371bf215546Sopenharmony_ci        <eq left="log" right="#none"/>
1372bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
1373bf215546Sopenharmony_ci      </and>
1374bf215546Sopenharmony_ci      <copy name="sqrt" start="7"/>
1375bf215546Sopenharmony_ci    </encoding>
1376bf215546Sopenharmony_ci    <encoding mask="0x7fff20" exact="0x701a20">
1377bf215546Sopenharmony_ci      <and>
1378bf215546Sopenharmony_ci        <eq left="log" right="#log"/>
1379bf215546Sopenharmony_ci        <eq left="sqrt" right="#none"/>
1380bf215546Sopenharmony_ci      </and>
1381bf215546Sopenharmony_ci      <copy name="neg0" start="7"/>
1382bf215546Sopenharmony_ci    </encoding>
1383bf215546Sopenharmony_ci  </ins>
1384bf215546Sopenharmony_ci
1385bf215546Sopenharmony_ci  <ins name="*FREXPM.v2f16">
1386bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1387bf215546Sopenharmony_ci    <mod name="abs0" start="6" size="1" opt="abs"/>
1388bf215546Sopenharmony_ci    <mod name="sqrt" size="1" opt="sqrt"/>
1389bf215546Sopenharmony_ci    <mod name="log" size="1" opt="log"/>
1390bf215546Sopenharmony_ci    <mod name="swz0" start="3" size="2" default="h01">
1391bf215546Sopenharmony_ci      <opt>h00</opt>
1392bf215546Sopenharmony_ci      <opt>h10</opt>
1393bf215546Sopenharmony_ci      <opt>h01</opt>
1394bf215546Sopenharmony_ci      <opt>h11</opt>
1395bf215546Sopenharmony_ci    </mod>
1396bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
1397bf215546Sopenharmony_ci    <encoding mask="0x7fff20" exact="0x701b00">
1398bf215546Sopenharmony_ci      <and>
1399bf215546Sopenharmony_ci        <eq left="log" right="#none"/>
1400bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
1401bf215546Sopenharmony_ci      </and>
1402bf215546Sopenharmony_ci      <copy name="sqrt" start="7"/>
1403bf215546Sopenharmony_ci    </encoding>
1404bf215546Sopenharmony_ci    <encoding mask="0x7fff20" exact="0x701a00">
1405bf215546Sopenharmony_ci      <and>
1406bf215546Sopenharmony_ci        <eq left="log" right="#log"/>
1407bf215546Sopenharmony_ci        <eq left="sqrt" right="#none"/>
1408bf215546Sopenharmony_ci      </and>
1409bf215546Sopenharmony_ci      <copy name="neg0" start="7"/>
1410bf215546Sopenharmony_ci    </encoding>
1411bf215546Sopenharmony_ci  </ins>
1412bf215546Sopenharmony_ci
1413bf215546Sopenharmony_ci  <ins name="*FROUND.f32">
1414bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1415bf215546Sopenharmony_ci    <mod name="abs0" start="7" size="1" opt="abs"/>
1416bf215546Sopenharmony_ci    <mod name="neg0" start="8" size="1" opt="neg"/>
1417bf215546Sopenharmony_ci    <mod name="widen0" start="3" size="2">
1418bf215546Sopenharmony_ci      <reserved/>
1419bf215546Sopenharmony_ci      <opt>none</opt>
1420bf215546Sopenharmony_ci      <opt>h0</opt>
1421bf215546Sopenharmony_ci      <opt>h1</opt>
1422bf215546Sopenharmony_ci    </mod>
1423bf215546Sopenharmony_ci    <mod name="round" size="3">
1424bf215546Sopenharmony_ci      <opt>none</opt>
1425bf215546Sopenharmony_ci      <opt>rtp</opt>
1426bf215546Sopenharmony_ci      <opt>rtn</opt>
1427bf215546Sopenharmony_ci      <opt>rtz</opt>
1428bf215546Sopenharmony_ci      <opt>rtna</opt>
1429bf215546Sopenharmony_ci    </mod>
1430bf215546Sopenharmony_ci    <encoding mask="0x7ff860" exact="0x70c020">
1431bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
1432bf215546Sopenharmony_ci      <derived start="9" size="2">
1433bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1434bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
1435bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
1436bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
1437bf215546Sopenharmony_ci      </derived>
1438bf215546Sopenharmony_ci    </encoding>
1439bf215546Sopenharmony_ci    <encoding mask="0x7ffe60" exact="0x707620">
1440bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
1441bf215546Sopenharmony_ci    </encoding>
1442bf215546Sopenharmony_ci  </ins>
1443bf215546Sopenharmony_ci
1444bf215546Sopenharmony_ci  <ins name="*FROUND.v2f16">
1445bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1446bf215546Sopenharmony_ci    <mod name="abs0" start="7" size="1" opt="abs"/>
1447bf215546Sopenharmony_ci    <mod name="neg0" start="8" size="1" opt="neg"/>
1448bf215546Sopenharmony_ci    <mod name="swz0" start="3" size="2" default="h01">
1449bf215546Sopenharmony_ci      <opt>h00</opt>
1450bf215546Sopenharmony_ci      <opt>h10</opt>
1451bf215546Sopenharmony_ci      <opt>h01</opt>
1452bf215546Sopenharmony_ci      <opt>h11</opt>
1453bf215546Sopenharmony_ci    </mod>
1454bf215546Sopenharmony_ci    <mod name="round" size="3">
1455bf215546Sopenharmony_ci      <opt>none</opt>
1456bf215546Sopenharmony_ci      <opt>rtp</opt>
1457bf215546Sopenharmony_ci      <opt>rtn</opt>
1458bf215546Sopenharmony_ci      <opt>rtz</opt>
1459bf215546Sopenharmony_ci      <opt>rtna</opt>
1460bf215546Sopenharmony_ci    </mod>
1461bf215546Sopenharmony_ci    <encoding mask="0x7ff860" exact="0x70c000">
1462bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
1463bf215546Sopenharmony_ci      <derived start="9" size="2">
1464bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
1465bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
1466bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
1467bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
1468bf215546Sopenharmony_ci      </derived>
1469bf215546Sopenharmony_ci    </encoding>
1470bf215546Sopenharmony_ci    <encoding mask="0x7ffe60" exact="0x707600">
1471bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
1472bf215546Sopenharmony_ci    </encoding>
1473bf215546Sopenharmony_ci  </ins>
1474bf215546Sopenharmony_ci
1475bf215546Sopenharmony_ci  <ins name="*FRSHIFT_DOUBLE.i32" mask="0x7ff800" exact="0x33f000">
1476bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1477bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1478bf215546Sopenharmony_ci    <src start="6"/>
1479bf215546Sopenharmony_ci    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
1480bf215546Sopenharmony_ci    <mod name="lane2" start="10" size="1" default="b0">
1481bf215546Sopenharmony_ci      <opt>b0</opt>
1482bf215546Sopenharmony_ci      <opt>b2</opt>
1483bf215546Sopenharmony_ci    </mod>
1484bf215546Sopenharmony_ci  </ins>
1485bf215546Sopenharmony_ci
1486bf215546Sopenharmony_ci  <ins name="*IADDC.i32" mask="0x7ffe00" exact="0x27fc00">
1487bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1488bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1489bf215546Sopenharmony_ci    <src start="6"/>
1490bf215546Sopenharmony_ci  </ins>
1491bf215546Sopenharmony_ci
1492bf215546Sopenharmony_ci  <ins name="*IDP.v4i8" mask="0x7ff9c0" exact="0x73e8c0">
1493bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1494bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1495bf215546Sopenharmony_ci    <mod name="sign0" start="9" size="1">
1496bf215546Sopenharmony_ci      <opt>zext</opt>
1497bf215546Sopenharmony_ci      <opt>sext</opt>
1498bf215546Sopenharmony_ci    </mod>
1499bf215546Sopenharmony_ci    <mod name="sign1" start="10" size="1">
1500bf215546Sopenharmony_ci      <opt>zext</opt>
1501bf215546Sopenharmony_ci      <opt>sext</opt>
1502bf215546Sopenharmony_ci    </mod>
1503bf215546Sopenharmony_ci  </ins>
1504bf215546Sopenharmony_ci
1505bf215546Sopenharmony_ci  <ins name="*IMUL.i32">
1506bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1507bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1508bf215546Sopenharmony_ci    <mod name="widen1" size="3">
1509bf215546Sopenharmony_ci      <opt>none</opt>
1510bf215546Sopenharmony_ci      <opt>h0</opt>
1511bf215546Sopenharmony_ci      <opt>h1</opt>
1512bf215546Sopenharmony_ci      <opt>b0</opt>
1513bf215546Sopenharmony_ci      <opt>b1</opt>
1514bf215546Sopenharmony_ci      <opt>b2</opt>
1515bf215546Sopenharmony_ci      <opt>b3</opt>
1516bf215546Sopenharmony_ci    </mod>
1517bf215546Sopenharmony_ci    <mod name="extend" size="2">
1518bf215546Sopenharmony_ci      <opt>none</opt>
1519bf215546Sopenharmony_ci      <opt>sext</opt>
1520bf215546Sopenharmony_ci      <opt>zext</opt>
1521bf215546Sopenharmony_ci    </mod>
1522bf215546Sopenharmony_ci    <encoding mask="0x7fffc0" exact="0x73c0c0">
1523bf215546Sopenharmony_ci      <and>
1524bf215546Sopenharmony_ci        <eq left="extend" right="#none"/>
1525bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
1526bf215546Sopenharmony_ci      </and>
1527bf215546Sopenharmony_ci    </encoding>
1528bf215546Sopenharmony_ci    <encoding mask="0x7ff9c0" exact="0x73c8c0">
1529bf215546Sopenharmony_ci      <and>
1530bf215546Sopenharmony_ci        <neq left="extend" right="#none"/>
1531bf215546Sopenharmony_ci        <or>
1532bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
1533bf215546Sopenharmony_ci          <eq left="widen1" right="#h1"/>
1534bf215546Sopenharmony_ci        </or>
1535bf215546Sopenharmony_ci      </and>
1536bf215546Sopenharmony_ci      <derived start="9" size="1">
1537bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
1538bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
1539bf215546Sopenharmony_ci      </derived>
1540bf215546Sopenharmony_ci      <derived start="10" size="1">
1541bf215546Sopenharmony_ci        <eq left="extend" right="#zext"/>
1542bf215546Sopenharmony_ci        <eq left="extend" right="#sext"/>
1543bf215546Sopenharmony_ci      </derived>
1544bf215546Sopenharmony_ci    </encoding>
1545bf215546Sopenharmony_ci    <encoding mask="0x7ff1c0" exact="0x73b0c0">
1546bf215546Sopenharmony_ci      <and>
1547bf215546Sopenharmony_ci        <neq left="extend" right="#none"/>
1548bf215546Sopenharmony_ci        <or>
1549bf215546Sopenharmony_ci          <eq left="widen1" right="#b0"/>
1550bf215546Sopenharmony_ci          <eq left="widen1" right="#b1"/>
1551bf215546Sopenharmony_ci          <eq left="widen1" right="#b2"/>
1552bf215546Sopenharmony_ci          <eq left="widen1" right="#b3"/>
1553bf215546Sopenharmony_ci        </or>
1554bf215546Sopenharmony_ci      </and>
1555bf215546Sopenharmony_ci      <derived start="9" size="2">
1556bf215546Sopenharmony_ci        <eq left="widen1" right="#b0"/>
1557bf215546Sopenharmony_ci        <eq left="widen1" right="#b1"/>
1558bf215546Sopenharmony_ci        <eq left="widen1" right="#b2"/>
1559bf215546Sopenharmony_ci        <eq left="widen1" right="#b3"/>
1560bf215546Sopenharmony_ci      </derived>
1561bf215546Sopenharmony_ci      <derived start="11" size="1">
1562bf215546Sopenharmony_ci        <eq left="extend" right="#zext"/>
1563bf215546Sopenharmony_ci        <eq left="extend" right="#sext"/>
1564bf215546Sopenharmony_ci      </derived>
1565bf215546Sopenharmony_ci    </encoding>
1566bf215546Sopenharmony_ci  </ins>
1567bf215546Sopenharmony_ci
1568bf215546Sopenharmony_ci  <ins name="*IMUL.v2i16" mask="0x7fe1c0" exact="0x7240c0">
1569bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1570bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1571bf215546Sopenharmony_ci    <mod name="swz0" start="9" size="2" default="h01">
1572bf215546Sopenharmony_ci      <opt>h00</opt>
1573bf215546Sopenharmony_ci      <opt>h10</opt>
1574bf215546Sopenharmony_ci      <opt>h01</opt>
1575bf215546Sopenharmony_ci      <opt>h11</opt>
1576bf215546Sopenharmony_ci    </mod>
1577bf215546Sopenharmony_ci    <mod name="swz1" start="11" size="2" default="h01">
1578bf215546Sopenharmony_ci      <opt>h00</opt>
1579bf215546Sopenharmony_ci      <opt>h10</opt>
1580bf215546Sopenharmony_ci      <opt>h01</opt>
1581bf215546Sopenharmony_ci      <opt>h11</opt>
1582bf215546Sopenharmony_ci    </mod>
1583bf215546Sopenharmony_ci  </ins>
1584bf215546Sopenharmony_ci
1585bf215546Sopenharmony_ci  <ins name="*IMUL.v4i8">
1586bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1587bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1588bf215546Sopenharmony_ci    <mod name="replicate0" size="3" default="b0123">
1589bf215546Sopenharmony_ci      <opt>b0123</opt>
1590bf215546Sopenharmony_ci    </mod>
1591bf215546Sopenharmony_ci    <mod name="replicate1" size="3" default="b0123">
1592bf215546Sopenharmony_ci      <opt>b0123</opt>
1593bf215546Sopenharmony_ci      <opt>b0000</opt>
1594bf215546Sopenharmony_ci      <opt>b1111</opt>
1595bf215546Sopenharmony_ci      <opt>b2222</opt>
1596bf215546Sopenharmony_ci      <opt>b3333</opt>
1597bf215546Sopenharmony_ci    </mod>
1598bf215546Sopenharmony_ci    <encoding mask="0x7fffc0" exact="0x73e0c0">
1599bf215546Sopenharmony_ci      <and>
1600bf215546Sopenharmony_ci        <eq left="replicate0" right="#b0123"/>
1601bf215546Sopenharmony_ci        <eq left="replicate1" right="#b0123"/>
1602bf215546Sopenharmony_ci      </and>
1603bf215546Sopenharmony_ci    </encoding>
1604bf215546Sopenharmony_ci    <encoding mask="0x7ff9c0" exact="0x7380c0">
1605bf215546Sopenharmony_ci      <and>
1606bf215546Sopenharmony_ci        <eq left="replicate0" right="#b0123"/>
1607bf215546Sopenharmony_ci        <neq left="replicate1" right="#b0123"/>
1608bf215546Sopenharmony_ci      </and>
1609bf215546Sopenharmony_ci      <derived start="9" size="2">
1610bf215546Sopenharmony_ci        <eq left="replicate1" right="#b0000"/>
1611bf215546Sopenharmony_ci        <eq left="replicate1" right="#b1111"/>
1612bf215546Sopenharmony_ci        <eq left="replicate1" right="#b2222"/>
1613bf215546Sopenharmony_ci        <eq left="replicate1" right="#b3333"/>
1614bf215546Sopenharmony_ci      </derived>
1615bf215546Sopenharmony_ci    </encoding>
1616bf215546Sopenharmony_ci  </ins>
1617bf215546Sopenharmony_ci
1618bf215546Sopenharmony_ci  <ins name="*IMULD" mask="0x7fff80" exact="0x70f100">
1619bf215546Sopenharmony_ci    <src start="0" mask="0x33"/>
1620bf215546Sopenharmony_ci    <src start="3" mask="0x33"/>
1621bf215546Sopenharmony_ci    <mod name="threads" start="6" size="1" default="odd">
1622bf215546Sopenharmony_ci      <opt>even</opt>
1623bf215546Sopenharmony_ci      <opt>odd</opt>
1624bf215546Sopenharmony_ci    </mod>
1625bf215546Sopenharmony_ci  </ins>
1626bf215546Sopenharmony_ci
1627bf215546Sopenharmony_ci  <ins name="*ISUBB.i32" mask="0x7ffe00" exact="0x27fe00">
1628bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1629bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1630bf215546Sopenharmony_ci    <src start="6"/>
1631bf215546Sopenharmony_ci  </ins>
1632bf215546Sopenharmony_ci
1633bf215546Sopenharmony_ci  <ins name="*JUMP_EX" mask="0x7ff000" exact="0x2eb000" last="true">
1634bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1635bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1636bf215546Sopenharmony_ci    <src start="6"/>
1637bf215546Sopenharmony_ci    <mod name="test_mode" start="9" size="1" default="z">
1638bf215546Sopenharmony_ci      <opt>z</opt>
1639bf215546Sopenharmony_ci      <opt>nz</opt>
1640bf215546Sopenharmony_ci    </mod>
1641bf215546Sopenharmony_ci    <mod name="stack_mode" start="10" size="2">
1642bf215546Sopenharmony_ci      <opt>return</opt>
1643bf215546Sopenharmony_ci      <opt>call</opt>
1644bf215546Sopenharmony_ci      <opt>none</opt>
1645bf215546Sopenharmony_ci      <opt>replace</opt>
1646bf215546Sopenharmony_ci    </mod>
1647bf215546Sopenharmony_ci  </ins>
1648bf215546Sopenharmony_ci
1649bf215546Sopenharmony_ci  <ins name="*LROT_DOUBLE.i32" mask="0x7ff000" exact="0x33b000">
1650bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1651bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1652bf215546Sopenharmony_ci    <src start="6"/>
1653bf215546Sopenharmony_ci    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
1654bf215546Sopenharmony_ci    <mod name="lane2" start="10" size="1" default="b0">
1655bf215546Sopenharmony_ci      <opt>b0</opt>
1656bf215546Sopenharmony_ci      <opt>b2</opt>
1657bf215546Sopenharmony_ci    </mod>
1658bf215546Sopenharmony_ci    <mod name="result_word" start="11" size="1" default="w0">
1659bf215546Sopenharmony_ci      <opt>w0</opt>
1660bf215546Sopenharmony_ci      <opt>w1</opt>
1661bf215546Sopenharmony_ci    </mod>
1662bf215546Sopenharmony_ci  </ins>
1663bf215546Sopenharmony_ci
1664bf215546Sopenharmony_ci  <ins name="*LSHIFT_AND.i32" mask="0x7f3800" exact="0x311000">
1665bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1666bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1667bf215546Sopenharmony_ci    <src start="6"/>
1668bf215546Sopenharmony_ci    <mod name="lane2" start="9" size="2" default="b0">
1669bf215546Sopenharmony_ci      <opt>b0</opt>
1670bf215546Sopenharmony_ci      <opt>b1</opt>
1671bf215546Sopenharmony_ci      <opt>b2</opt>
1672bf215546Sopenharmony_ci      <opt>b3</opt>
1673bf215546Sopenharmony_ci    </mod>
1674bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1" opt="not"/>
1675bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1">
1676bf215546Sopenharmony_ci      <opt>not</opt>
1677bf215546Sopenharmony_ci      <opt>none</opt>
1678bf215546Sopenharmony_ci    </mod>
1679bf215546Sopenharmony_ci  </ins>
1680bf215546Sopenharmony_ci
1681bf215546Sopenharmony_ci  <ins name="*LSHIFT_AND.v2i16">
1682bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1683bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1684bf215546Sopenharmony_ci    <src start="6"/>
1685bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b02">
1686bf215546Sopenharmony_ci      <opt>b00</opt>
1687bf215546Sopenharmony_ci      <opt>b11</opt>
1688bf215546Sopenharmony_ci      <opt>b22</opt>
1689bf215546Sopenharmony_ci      <opt>b33</opt>
1690bf215546Sopenharmony_ci      <opt>b01</opt>
1691bf215546Sopenharmony_ci      <opt>b23</opt>
1692bf215546Sopenharmony_ci      <opt>b02</opt>
1693bf215546Sopenharmony_ci    </mod>
1694bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1" opt="not"/>
1695bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1">
1696bf215546Sopenharmony_ci      <opt>not</opt>
1697bf215546Sopenharmony_ci      <opt>none</opt>
1698bf215546Sopenharmony_ci    </mod>
1699bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x310800">
1700bf215546Sopenharmony_ci      <or>
1701bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
1702bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
1703bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
1704bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
1705bf215546Sopenharmony_ci      </or>
1706bf215546Sopenharmony_ci      <derived start="9" size="2">
1707bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
1708bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
1709bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
1710bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
1711bf215546Sopenharmony_ci      </derived>
1712bf215546Sopenharmony_ci    </encoding>
1713bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x311800">
1714bf215546Sopenharmony_ci      <or>
1715bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
1716bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
1717bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
1718bf215546Sopenharmony_ci      </or>
1719bf215546Sopenharmony_ci      <derived start="9" size="2">
1720bf215546Sopenharmony_ci        <reserved/>
1721bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
1722bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
1723bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
1724bf215546Sopenharmony_ci      </derived>
1725bf215546Sopenharmony_ci    </encoding>
1726bf215546Sopenharmony_ci  </ins>
1727bf215546Sopenharmony_ci
1728bf215546Sopenharmony_ci  <ins name="*LSHIFT_AND.v4i8">
1729bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1730bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1731bf215546Sopenharmony_ci    <src start="6"/>
1732bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b0123">
1733bf215546Sopenharmony_ci      <opt>b0123</opt>
1734bf215546Sopenharmony_ci      <opt>b0000</opt>
1735bf215546Sopenharmony_ci      <opt>b1111</opt>
1736bf215546Sopenharmony_ci      <opt>b2222</opt>
1737bf215546Sopenharmony_ci      <opt>b3333</opt>
1738bf215546Sopenharmony_ci    </mod>
1739bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1" opt="not"/>
1740bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1">
1741bf215546Sopenharmony_ci      <opt>not</opt>
1742bf215546Sopenharmony_ci      <opt>none</opt>
1743bf215546Sopenharmony_ci    </mod>
1744bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x310000">
1745bf215546Sopenharmony_ci      <neq left="lanes2" right="#b0123"/>
1746bf215546Sopenharmony_ci      <derived start="9" size="2">
1747bf215546Sopenharmony_ci        <eq left="lanes2" right="#b0000"/>
1748bf215546Sopenharmony_ci        <eq left="lanes2" right="#b1111"/>
1749bf215546Sopenharmony_ci        <eq left="lanes2" right="#b2222"/>
1750bf215546Sopenharmony_ci        <eq left="lanes2" right="#b3333"/>
1751bf215546Sopenharmony_ci      </derived>
1752bf215546Sopenharmony_ci    </encoding>
1753bf215546Sopenharmony_ci    <encoding mask="0x7f3e00" exact="0x311800">
1754bf215546Sopenharmony_ci      <eq left="lanes2" right="#b0123"/>
1755bf215546Sopenharmony_ci    </encoding>
1756bf215546Sopenharmony_ci  </ins>
1757bf215546Sopenharmony_ci
1758bf215546Sopenharmony_ci  <ins name="*LSHIFT_DOUBLE.i32" mask="0x7ff000" exact="0x33c000">
1759bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1760bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1761bf215546Sopenharmony_ci    <src start="6"/>
1762bf215546Sopenharmony_ci    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
1763bf215546Sopenharmony_ci    <mod name="lane2" start="10" size="1" default="b0">
1764bf215546Sopenharmony_ci      <opt>b0</opt>
1765bf215546Sopenharmony_ci      <opt>b2</opt>
1766bf215546Sopenharmony_ci    </mod>
1767bf215546Sopenharmony_ci    <mod name="result_word" start="11" size="1" default="w0">
1768bf215546Sopenharmony_ci      <opt>w0</opt>
1769bf215546Sopenharmony_ci      <opt>w1</opt>
1770bf215546Sopenharmony_ci    </mod>
1771bf215546Sopenharmony_ci  </ins>
1772bf215546Sopenharmony_ci
1773bf215546Sopenharmony_ci  <ins name="*LSHIFT_OR.i32" mask="0x7f3800" exact="0x313000">
1774bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1775bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1776bf215546Sopenharmony_ci    <src start="6"/>
1777bf215546Sopenharmony_ci    <mod name="lane2" start="9" size="2" default="b0">
1778bf215546Sopenharmony_ci      <opt>b0</opt>
1779bf215546Sopenharmony_ci      <opt>b1</opt>
1780bf215546Sopenharmony_ci      <opt>b2</opt>
1781bf215546Sopenharmony_ci      <opt>b3</opt>
1782bf215546Sopenharmony_ci    </mod>
1783bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1">
1784bf215546Sopenharmony_ci      <opt>not</opt>
1785bf215546Sopenharmony_ci      <opt>none</opt>
1786bf215546Sopenharmony_ci    </mod>
1787bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1" opt="not"/>
1788bf215546Sopenharmony_ci  </ins>
1789bf215546Sopenharmony_ci
1790bf215546Sopenharmony_ci  <ins name="*LSHIFT_OR.v2i16">
1791bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1792bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1793bf215546Sopenharmony_ci    <src start="6"/>
1794bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b02">
1795bf215546Sopenharmony_ci      <opt>b00</opt>
1796bf215546Sopenharmony_ci      <opt>b11</opt>
1797bf215546Sopenharmony_ci      <opt>b22</opt>
1798bf215546Sopenharmony_ci      <opt>b33</opt>
1799bf215546Sopenharmony_ci      <opt>b01</opt>
1800bf215546Sopenharmony_ci      <opt>b23</opt>
1801bf215546Sopenharmony_ci      <opt>b02</opt>
1802bf215546Sopenharmony_ci    </mod>
1803bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1">
1804bf215546Sopenharmony_ci      <opt>not</opt>
1805bf215546Sopenharmony_ci      <opt>none</opt>
1806bf215546Sopenharmony_ci    </mod>
1807bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1" opt="not"/>
1808bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x312800">
1809bf215546Sopenharmony_ci      <or>
1810bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
1811bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
1812bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
1813bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
1814bf215546Sopenharmony_ci      </or>
1815bf215546Sopenharmony_ci      <derived start="9" size="2">
1816bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
1817bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
1818bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
1819bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
1820bf215546Sopenharmony_ci      </derived>
1821bf215546Sopenharmony_ci    </encoding>
1822bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x313800">
1823bf215546Sopenharmony_ci      <or>
1824bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
1825bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
1826bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
1827bf215546Sopenharmony_ci      </or>
1828bf215546Sopenharmony_ci      <derived start="9" size="2">
1829bf215546Sopenharmony_ci        <reserved/>
1830bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
1831bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
1832bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
1833bf215546Sopenharmony_ci      </derived>
1834bf215546Sopenharmony_ci    </encoding>
1835bf215546Sopenharmony_ci  </ins>
1836bf215546Sopenharmony_ci
1837bf215546Sopenharmony_ci  <ins name="*LSHIFT_OR.v4i8">
1838bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1839bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1840bf215546Sopenharmony_ci    <src start="6"/>
1841bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b0123">
1842bf215546Sopenharmony_ci      <opt>b0123</opt>
1843bf215546Sopenharmony_ci      <opt>b0000</opt>
1844bf215546Sopenharmony_ci      <opt>b1111</opt>
1845bf215546Sopenharmony_ci      <opt>b2222</opt>
1846bf215546Sopenharmony_ci      <opt>b3333</opt>
1847bf215546Sopenharmony_ci    </mod>
1848bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1">
1849bf215546Sopenharmony_ci      <opt>not</opt>
1850bf215546Sopenharmony_ci      <opt>none</opt>
1851bf215546Sopenharmony_ci    </mod>
1852bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1" opt="not"/>
1853bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x312000">
1854bf215546Sopenharmony_ci      <neq left="lanes2" right="#b0123"/>
1855bf215546Sopenharmony_ci      <derived start="9" size="2">
1856bf215546Sopenharmony_ci        <eq left="lanes2" right="#b0000"/>
1857bf215546Sopenharmony_ci        <eq left="lanes2" right="#b1111"/>
1858bf215546Sopenharmony_ci        <eq left="lanes2" right="#b2222"/>
1859bf215546Sopenharmony_ci        <eq left="lanes2" right="#b3333"/>
1860bf215546Sopenharmony_ci      </derived>
1861bf215546Sopenharmony_ci    </encoding>
1862bf215546Sopenharmony_ci    <encoding mask="0x7f3e00" exact="0x313800">
1863bf215546Sopenharmony_ci      <eq left="lanes2" right="#b0123"/>
1864bf215546Sopenharmony_ci    </encoding>
1865bf215546Sopenharmony_ci  </ins>
1866bf215546Sopenharmony_ci
1867bf215546Sopenharmony_ci  <ins name="*LSHIFT_XOR.i32" mask="0x7fd800" exact="0x325000">
1868bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1869bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1870bf215546Sopenharmony_ci    <src start="6"/>
1871bf215546Sopenharmony_ci    <mod name="lane2" start="9" size="2" default="b0">
1872bf215546Sopenharmony_ci      <opt>b0</opt>
1873bf215546Sopenharmony_ci      <opt>b1</opt>
1874bf215546Sopenharmony_ci      <opt>b2</opt>
1875bf215546Sopenharmony_ci      <opt>b3</opt>
1876bf215546Sopenharmony_ci    </mod>
1877bf215546Sopenharmony_ci    <mod name="not_result" start="13" size="1" opt="not"/>
1878bf215546Sopenharmony_ci  </ins>
1879bf215546Sopenharmony_ci
1880bf215546Sopenharmony_ci  <ins name="*LSHIFT_XOR.v2i16">
1881bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1882bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1883bf215546Sopenharmony_ci    <src start="6"/>
1884bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b02">
1885bf215546Sopenharmony_ci      <opt>b00</opt>
1886bf215546Sopenharmony_ci      <opt>b11</opt>
1887bf215546Sopenharmony_ci      <opt>b22</opt>
1888bf215546Sopenharmony_ci      <opt>b33</opt>
1889bf215546Sopenharmony_ci      <opt>b01</opt>
1890bf215546Sopenharmony_ci      <opt>b23</opt>
1891bf215546Sopenharmony_ci      <opt>b02</opt>
1892bf215546Sopenharmony_ci    </mod>
1893bf215546Sopenharmony_ci    <mod name="not_result" start="13" size="1" opt="not"/>
1894bf215546Sopenharmony_ci    <encoding mask="0x7fd800" exact="0x324800">
1895bf215546Sopenharmony_ci      <or>
1896bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
1897bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
1898bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
1899bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
1900bf215546Sopenharmony_ci      </or>
1901bf215546Sopenharmony_ci      <derived start="9" size="2">
1902bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
1903bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
1904bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
1905bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
1906bf215546Sopenharmony_ci      </derived>
1907bf215546Sopenharmony_ci    </encoding>
1908bf215546Sopenharmony_ci    <encoding mask="0x7fd800" exact="0x325800">
1909bf215546Sopenharmony_ci      <or>
1910bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
1911bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
1912bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
1913bf215546Sopenharmony_ci      </or>
1914bf215546Sopenharmony_ci      <derived start="9" size="2">
1915bf215546Sopenharmony_ci        <reserved/>
1916bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
1917bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
1918bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
1919bf215546Sopenharmony_ci      </derived>
1920bf215546Sopenharmony_ci    </encoding>
1921bf215546Sopenharmony_ci  </ins>
1922bf215546Sopenharmony_ci
1923bf215546Sopenharmony_ci  <ins name="*LSHIFT_XOR.v4i8">
1924bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1925bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1926bf215546Sopenharmony_ci    <src start="6"/>
1927bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b0123">
1928bf215546Sopenharmony_ci      <opt>b0123</opt>
1929bf215546Sopenharmony_ci      <opt>b0000</opt>
1930bf215546Sopenharmony_ci      <opt>b1111</opt>
1931bf215546Sopenharmony_ci      <opt>b2222</opt>
1932bf215546Sopenharmony_ci      <opt>b3333</opt>
1933bf215546Sopenharmony_ci    </mod>
1934bf215546Sopenharmony_ci    <mod name="not_result" start="13" size="1" opt="not"/>
1935bf215546Sopenharmony_ci    <encoding mask="0x7fd800" exact="0x324000">
1936bf215546Sopenharmony_ci      <neq left="lanes2" right="#b0123"/>
1937bf215546Sopenharmony_ci      <derived start="9" size="2">
1938bf215546Sopenharmony_ci        <eq left="lanes2" right="#b0000"/>
1939bf215546Sopenharmony_ci        <eq left="lanes2" right="#b1111"/>
1940bf215546Sopenharmony_ci        <eq left="lanes2" right="#b2222"/>
1941bf215546Sopenharmony_ci        <eq left="lanes2" right="#b3333"/>
1942bf215546Sopenharmony_ci      </derived>
1943bf215546Sopenharmony_ci    </encoding>
1944bf215546Sopenharmony_ci    <encoding mask="0x7fde00" exact="0x325800">
1945bf215546Sopenharmony_ci      <eq left="lanes2" right="#b0123"/>
1946bf215546Sopenharmony_ci    </encoding>
1947bf215546Sopenharmony_ci  </ins>
1948bf215546Sopenharmony_ci
1949bf215546Sopenharmony_ci  <ins name="*MKVEC.v2i16" mask="0x7fff00" exact="0x70f000">
1950bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1951bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1952bf215546Sopenharmony_ci    <mod name="lane0" start="6" size="1" default="h0">
1953bf215546Sopenharmony_ci      <opt>h0</opt>
1954bf215546Sopenharmony_ci      <opt>h1</opt>
1955bf215546Sopenharmony_ci    </mod>
1956bf215546Sopenharmony_ci    <mod name="lane1" start="7" size="1" default="h0">
1957bf215546Sopenharmony_ci      <opt>h0</opt>
1958bf215546Sopenharmony_ci      <opt>h1</opt>
1959bf215546Sopenharmony_ci    </mod>
1960bf215546Sopenharmony_ci  </ins>
1961bf215546Sopenharmony_ci
1962bf215546Sopenharmony_ci  <ins name="*MKVEC.v4i8" mask="0x7f0000" exact="0x710000">
1963bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1964bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
1965bf215546Sopenharmony_ci    <src start="6"/>
1966bf215546Sopenharmony_ci    <src start="9"/>
1967bf215546Sopenharmony_ci    <mod name="lane0" start="12" size="1" default="b0">
1968bf215546Sopenharmony_ci      <opt>b0</opt>
1969bf215546Sopenharmony_ci      <opt>b2</opt>
1970bf215546Sopenharmony_ci    </mod>
1971bf215546Sopenharmony_ci    <mod name="lane1" start="13" size="1" default="b0">
1972bf215546Sopenharmony_ci      <opt>b0</opt>
1973bf215546Sopenharmony_ci      <opt>b2</opt>
1974bf215546Sopenharmony_ci    </mod>
1975bf215546Sopenharmony_ci    <mod name="lane2" start="14" size="1" default="b0">
1976bf215546Sopenharmony_ci      <opt>b0</opt>
1977bf215546Sopenharmony_ci      <opt>b2</opt>
1978bf215546Sopenharmony_ci    </mod>
1979bf215546Sopenharmony_ci    <mod name="lane3" start="15" size="1" default="b0">
1980bf215546Sopenharmony_ci      <opt>b0</opt>
1981bf215546Sopenharmony_ci      <opt>b2</opt>
1982bf215546Sopenharmony_ci    </mod>
1983bf215546Sopenharmony_ci  </ins>
1984bf215546Sopenharmony_ci
1985bf215546Sopenharmony_ci  <ins name="*MOV.i32" mask="0x7ffff8" exact="0x701968">
1986bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1987bf215546Sopenharmony_ci  </ins>
1988bf215546Sopenharmony_ci
1989bf215546Sopenharmony_ci  <ins name="*NOP" mask="0x7fffff" exact="0x701963" dests="0"/>
1990bf215546Sopenharmony_ci
1991bf215546Sopenharmony_ci  <ins name="*POPCOUNT.i32" mask="0x7ffff8" exact="0x73c6d8">
1992bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1993bf215546Sopenharmony_ci  </ins>
1994bf215546Sopenharmony_ci
1995bf215546Sopenharmony_ci  <ins name="*QUIET.f32" mask="0x7ffff8" exact="0x701970">
1996bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
1997bf215546Sopenharmony_ci  </ins>
1998bf215546Sopenharmony_ci
1999bf215546Sopenharmony_ci  <ins name="*QUIET.v2f16" mask="0x7fffc8" exact="0x701900">
2000bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2001bf215546Sopenharmony_ci    <mod name="swz0" start="4" size="2" default="h01">
2002bf215546Sopenharmony_ci      <opt>h00</opt>
2003bf215546Sopenharmony_ci      <opt>h10</opt>
2004bf215546Sopenharmony_ci      <opt>h01</opt>
2005bf215546Sopenharmony_ci      <opt>h11</opt>
2006bf215546Sopenharmony_ci    </mod>
2007bf215546Sopenharmony_ci  </ins>
2008bf215546Sopenharmony_ci
2009bf215546Sopenharmony_ci  <ins name="*RROT_DOUBLE.i32" mask="0x7ff000" exact="0x33a000">
2010bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2011bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2012bf215546Sopenharmony_ci    <src start="6"/>
2013bf215546Sopenharmony_ci    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
2014bf215546Sopenharmony_ci    <mod name="lane2" start="10" size="1" default="b0">
2015bf215546Sopenharmony_ci      <opt>b0</opt>
2016bf215546Sopenharmony_ci      <opt>b2</opt>
2017bf215546Sopenharmony_ci    </mod>
2018bf215546Sopenharmony_ci    <mod name="result_word" start="11" size="1" default="w0">
2019bf215546Sopenharmony_ci      <opt>w0</opt>
2020bf215546Sopenharmony_ci      <opt>w1</opt>
2021bf215546Sopenharmony_ci    </mod>
2022bf215546Sopenharmony_ci  </ins>
2023bf215546Sopenharmony_ci
2024bf215546Sopenharmony_ci  <ins name="*RSHIFT_AND.i32" mask="0x7f3800" exact="0x301000">
2025bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2026bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2027bf215546Sopenharmony_ci    <src start="6"/>
2028bf215546Sopenharmony_ci    <mod name="lane2" start="9" size="2" default="b0">
2029bf215546Sopenharmony_ci      <opt>b0</opt>
2030bf215546Sopenharmony_ci      <opt>b1</opt>
2031bf215546Sopenharmony_ci      <opt>b2</opt>
2032bf215546Sopenharmony_ci      <opt>b3</opt>
2033bf215546Sopenharmony_ci    </mod>
2034bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1" opt="not"/>
2035bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1">
2036bf215546Sopenharmony_ci      <opt>not</opt>
2037bf215546Sopenharmony_ci      <opt>none</opt>
2038bf215546Sopenharmony_ci    </mod>
2039bf215546Sopenharmony_ci    <mod name="arithmetic" opt="arithmetic" size="1" start="1" pseudo="true"/>
2040bf215546Sopenharmony_ci  </ins>
2041bf215546Sopenharmony_ci
2042bf215546Sopenharmony_ci  <ins name="*RSHIFT_AND.v2i16">
2043bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2044bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2045bf215546Sopenharmony_ci    <src start="6"/>
2046bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b02">
2047bf215546Sopenharmony_ci      <opt>b00</opt>
2048bf215546Sopenharmony_ci      <opt>b11</opt>
2049bf215546Sopenharmony_ci      <opt>b22</opt>
2050bf215546Sopenharmony_ci      <opt>b33</opt>
2051bf215546Sopenharmony_ci      <opt>b01</opt>
2052bf215546Sopenharmony_ci      <opt>b23</opt>
2053bf215546Sopenharmony_ci      <opt>b02</opt>
2054bf215546Sopenharmony_ci    </mod>
2055bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1" opt="not"/>
2056bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1">
2057bf215546Sopenharmony_ci      <opt>not</opt>
2058bf215546Sopenharmony_ci      <opt>none</opt>
2059bf215546Sopenharmony_ci    </mod>
2060bf215546Sopenharmony_ci    <mod name="arithmetic" opt="arithmetic" size="1" start="1" pseudo="true"/>
2061bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x300800">
2062bf215546Sopenharmony_ci      <or>
2063bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
2064bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
2065bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
2066bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
2067bf215546Sopenharmony_ci      </or>
2068bf215546Sopenharmony_ci      <derived start="9" size="2">
2069bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
2070bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
2071bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
2072bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
2073bf215546Sopenharmony_ci      </derived>
2074bf215546Sopenharmony_ci    </encoding>
2075bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x301800">
2076bf215546Sopenharmony_ci      <or>
2077bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
2078bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
2079bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
2080bf215546Sopenharmony_ci      </or>
2081bf215546Sopenharmony_ci      <derived start="9" size="2">
2082bf215546Sopenharmony_ci        <reserved/>
2083bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
2084bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
2085bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
2086bf215546Sopenharmony_ci      </derived>
2087bf215546Sopenharmony_ci    </encoding>
2088bf215546Sopenharmony_ci  </ins>
2089bf215546Sopenharmony_ci
2090bf215546Sopenharmony_ci  <ins name="*RSHIFT_AND.v4i8">
2091bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2092bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2093bf215546Sopenharmony_ci    <src start="6"/>
2094bf215546Sopenharmony_ci    <mod name="arithmetic" opt="arithmetic" size="1" start="1" pseudo="true"/>
2095bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b0123">
2096bf215546Sopenharmony_ci      <opt>b0123</opt>
2097bf215546Sopenharmony_ci      <opt>b0000</opt>
2098bf215546Sopenharmony_ci      <opt>b1111</opt>
2099bf215546Sopenharmony_ci      <opt>b2222</opt>
2100bf215546Sopenharmony_ci      <opt>b3333</opt>
2101bf215546Sopenharmony_ci    </mod>
2102bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1" opt="not"/>
2103bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1">
2104bf215546Sopenharmony_ci      <opt>not</opt>
2105bf215546Sopenharmony_ci      <opt>none</opt>
2106bf215546Sopenharmony_ci    </mod>
2107bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x300000">
2108bf215546Sopenharmony_ci      <neq left="lanes2" right="#b0123"/>
2109bf215546Sopenharmony_ci      <derived start="9" size="2">
2110bf215546Sopenharmony_ci        <eq left="lanes2" right="#b0000"/>
2111bf215546Sopenharmony_ci        <eq left="lanes2" right="#b1111"/>
2112bf215546Sopenharmony_ci        <eq left="lanes2" right="#b2222"/>
2113bf215546Sopenharmony_ci        <eq left="lanes2" right="#b3333"/>
2114bf215546Sopenharmony_ci      </derived>
2115bf215546Sopenharmony_ci    </encoding>
2116bf215546Sopenharmony_ci    <encoding mask="0x7f3e00" exact="0x301800">
2117bf215546Sopenharmony_ci      <eq left="lanes2" right="#b0123"/>
2118bf215546Sopenharmony_ci    </encoding>
2119bf215546Sopenharmony_ci  </ins>
2120bf215546Sopenharmony_ci
2121bf215546Sopenharmony_ci  <ins name="*RSHIFT_DOUBLE.i32" mask="0x7ff000" exact="0x33d000">
2122bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2123bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2124bf215546Sopenharmony_ci    <src start="6"/>
2125bf215546Sopenharmony_ci    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
2126bf215546Sopenharmony_ci    <mod name="lane2" start="10" size="1" default="b0">
2127bf215546Sopenharmony_ci      <opt>b0</opt>
2128bf215546Sopenharmony_ci      <opt>b2</opt>
2129bf215546Sopenharmony_ci    </mod>
2130bf215546Sopenharmony_ci    <mod name="result_word" start="11" size="1" default="w0">
2131bf215546Sopenharmony_ci      <opt>w0</opt>
2132bf215546Sopenharmony_ci      <opt>w1</opt>
2133bf215546Sopenharmony_ci    </mod>
2134bf215546Sopenharmony_ci  </ins>
2135bf215546Sopenharmony_ci
2136bf215546Sopenharmony_ci  <ins name="*RSHIFT_OR.i32" mask="0x7f3800" exact="0x303000">
2137bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2138bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2139bf215546Sopenharmony_ci    <src start="6"/>
2140bf215546Sopenharmony_ci    <mod name="lane2" start="9" size="2" default="b0">
2141bf215546Sopenharmony_ci      <opt>b0</opt>
2142bf215546Sopenharmony_ci      <opt>b1</opt>
2143bf215546Sopenharmony_ci      <opt>b2</opt>
2144bf215546Sopenharmony_ci      <opt>b3</opt>
2145bf215546Sopenharmony_ci    </mod>
2146bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1">
2147bf215546Sopenharmony_ci      <opt>not</opt>
2148bf215546Sopenharmony_ci      <opt>none</opt>
2149bf215546Sopenharmony_ci    </mod>
2150bf215546Sopenharmony_ci    <mod name="arithmetic" opt="arithmetic" size="1" start="1" pseudo="true"/>
2151bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1" opt="not"/>
2152bf215546Sopenharmony_ci  </ins>
2153bf215546Sopenharmony_ci
2154bf215546Sopenharmony_ci  <ins name="*RSHIFT_OR.v2i16">
2155bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2156bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2157bf215546Sopenharmony_ci    <src start="6"/>
2158bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b02">
2159bf215546Sopenharmony_ci      <opt>b00</opt>
2160bf215546Sopenharmony_ci      <opt>b11</opt>
2161bf215546Sopenharmony_ci      <opt>b22</opt>
2162bf215546Sopenharmony_ci      <opt>b33</opt>
2163bf215546Sopenharmony_ci      <opt>b01</opt>
2164bf215546Sopenharmony_ci      <opt>b23</opt>
2165bf215546Sopenharmony_ci      <opt>b02</opt>
2166bf215546Sopenharmony_ci    </mod>
2167bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1">
2168bf215546Sopenharmony_ci      <opt>not</opt>
2169bf215546Sopenharmony_ci      <opt>none</opt>
2170bf215546Sopenharmony_ci    </mod>
2171bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1" opt="not"/>
2172bf215546Sopenharmony_ci    <mod name="arithmetic" opt="arithmetic" size="1" start="1" pseudo="true"/>
2173bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x302800">
2174bf215546Sopenharmony_ci      <or>
2175bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
2176bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
2177bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
2178bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
2179bf215546Sopenharmony_ci      </or>
2180bf215546Sopenharmony_ci      <derived start="9" size="2">
2181bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
2182bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
2183bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
2184bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
2185bf215546Sopenharmony_ci      </derived>
2186bf215546Sopenharmony_ci    </encoding>
2187bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x303800">
2188bf215546Sopenharmony_ci      <or>
2189bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
2190bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
2191bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
2192bf215546Sopenharmony_ci      </or>
2193bf215546Sopenharmony_ci      <derived start="9" size="2">
2194bf215546Sopenharmony_ci        <reserved/>
2195bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
2196bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
2197bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
2198bf215546Sopenharmony_ci      </derived>
2199bf215546Sopenharmony_ci    </encoding>
2200bf215546Sopenharmony_ci  </ins>
2201bf215546Sopenharmony_ci
2202bf215546Sopenharmony_ci  <ins name="*RSHIFT_OR.v4i8">
2203bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2204bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2205bf215546Sopenharmony_ci    <src start="6"/>
2206bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b0123">
2207bf215546Sopenharmony_ci      <opt>b0123</opt>
2208bf215546Sopenharmony_ci      <opt>b0000</opt>
2209bf215546Sopenharmony_ci      <opt>b1111</opt>
2210bf215546Sopenharmony_ci      <opt>b2222</opt>
2211bf215546Sopenharmony_ci      <opt>b3333</opt>
2212bf215546Sopenharmony_ci    </mod>
2213bf215546Sopenharmony_ci    <mod name="not1" start="14" size="1">
2214bf215546Sopenharmony_ci      <opt>not</opt>
2215bf215546Sopenharmony_ci      <opt>none</opt>
2216bf215546Sopenharmony_ci    </mod>
2217bf215546Sopenharmony_ci    <mod name="not_result" start="15" size="1" opt="not"/>
2218bf215546Sopenharmony_ci    <mod name="arithmetic" opt="arithmetic" size="1" start="1" pseudo="true"/>
2219bf215546Sopenharmony_ci    <encoding mask="0x7f3800" exact="0x302000">
2220bf215546Sopenharmony_ci      <neq left="lanes2" right="#b0123"/>
2221bf215546Sopenharmony_ci      <derived start="9" size="2">
2222bf215546Sopenharmony_ci        <eq left="lanes2" right="#b0000"/>
2223bf215546Sopenharmony_ci        <eq left="lanes2" right="#b1111"/>
2224bf215546Sopenharmony_ci        <eq left="lanes2" right="#b2222"/>
2225bf215546Sopenharmony_ci        <eq left="lanes2" right="#b3333"/>
2226bf215546Sopenharmony_ci      </derived>
2227bf215546Sopenharmony_ci    </encoding>
2228bf215546Sopenharmony_ci    <encoding mask="0x7f3e00" exact="0x303800">
2229bf215546Sopenharmony_ci      <eq left="lanes2" right="#b0123"/>
2230bf215546Sopenharmony_ci    </encoding>
2231bf215546Sopenharmony_ci  </ins>
2232bf215546Sopenharmony_ci
2233bf215546Sopenharmony_ci  <ins name="*RSHIFT_XOR.i32" mask="0x7fd800" exact="0x321000">
2234bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2235bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2236bf215546Sopenharmony_ci    <src start="6"/>
2237bf215546Sopenharmony_ci    <mod name="lane2" start="9" size="2" default="b0">
2238bf215546Sopenharmony_ci      <opt>b0</opt>
2239bf215546Sopenharmony_ci      <opt>b1</opt>
2240bf215546Sopenharmony_ci      <opt>b2</opt>
2241bf215546Sopenharmony_ci      <opt>b3</opt>
2242bf215546Sopenharmony_ci    </mod>
2243bf215546Sopenharmony_ci    <mod name="not_result" start="13" size="1" opt="not"/>
2244bf215546Sopenharmony_ci    <mod name="arithmetic" opt="arithmetic" size="1" start="1" pseudo="true"/>
2245bf215546Sopenharmony_ci  </ins>
2246bf215546Sopenharmony_ci
2247bf215546Sopenharmony_ci  <ins name="*RSHIFT_XOR.v2i16">
2248bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2249bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2250bf215546Sopenharmony_ci    <src start="6"/>
2251bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b02">
2252bf215546Sopenharmony_ci      <opt>b00</opt>
2253bf215546Sopenharmony_ci      <opt>b11</opt>
2254bf215546Sopenharmony_ci      <opt>b22</opt>
2255bf215546Sopenharmony_ci      <opt>b33</opt>
2256bf215546Sopenharmony_ci      <opt>b01</opt>
2257bf215546Sopenharmony_ci      <opt>b23</opt>
2258bf215546Sopenharmony_ci      <opt>b02</opt>
2259bf215546Sopenharmony_ci    </mod>
2260bf215546Sopenharmony_ci    <mod name="not_result" start="13" size="1" opt="not"/>
2261bf215546Sopenharmony_ci    <mod name="arithmetic" opt="arithmetic" size="1" start="1" pseudo="true"/>
2262bf215546Sopenharmony_ci    <encoding mask="0x7fd800" exact="0x320800">
2263bf215546Sopenharmony_ci      <or>
2264bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
2265bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
2266bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
2267bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
2268bf215546Sopenharmony_ci      </or>
2269bf215546Sopenharmony_ci      <derived start="9" size="2">
2270bf215546Sopenharmony_ci        <eq left="lanes2" right="#b00"/>
2271bf215546Sopenharmony_ci        <eq left="lanes2" right="#b11"/>
2272bf215546Sopenharmony_ci        <eq left="lanes2" right="#b22"/>
2273bf215546Sopenharmony_ci        <eq left="lanes2" right="#b33"/>
2274bf215546Sopenharmony_ci      </derived>
2275bf215546Sopenharmony_ci    </encoding>
2276bf215546Sopenharmony_ci    <encoding mask="0x7fd800" exact="0x321800">
2277bf215546Sopenharmony_ci      <or>
2278bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
2279bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
2280bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
2281bf215546Sopenharmony_ci      </or>
2282bf215546Sopenharmony_ci      <derived start="9" size="2">
2283bf215546Sopenharmony_ci        <reserved/>
2284bf215546Sopenharmony_ci        <eq left="lanes2" right="#b01"/>
2285bf215546Sopenharmony_ci        <eq left="lanes2" right="#b23"/>
2286bf215546Sopenharmony_ci        <eq left="lanes2" right="#b02"/>
2287bf215546Sopenharmony_ci      </derived>
2288bf215546Sopenharmony_ci    </encoding>
2289bf215546Sopenharmony_ci  </ins>
2290bf215546Sopenharmony_ci
2291bf215546Sopenharmony_ci  <ins name="*RSHIFT_XOR.v4i8">
2292bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2293bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2294bf215546Sopenharmony_ci    <src start="6"/>
2295bf215546Sopenharmony_ci    <mod name="lanes2" size="3" default="b0123">
2296bf215546Sopenharmony_ci      <opt>b0123</opt>
2297bf215546Sopenharmony_ci      <opt>b0000</opt>
2298bf215546Sopenharmony_ci      <opt>b1111</opt>
2299bf215546Sopenharmony_ci      <opt>b2222</opt>
2300bf215546Sopenharmony_ci      <opt>b3333</opt>
2301bf215546Sopenharmony_ci    </mod>
2302bf215546Sopenharmony_ci    <mod name="not_result" start="13" size="1" opt="not"/>
2303bf215546Sopenharmony_ci    <mod name="arithmetic" opt="arithmetic" size="1" start="1" pseudo="true"/>
2304bf215546Sopenharmony_ci    <encoding mask="0x7fd800" exact="0x320000">
2305bf215546Sopenharmony_ci      <neq left="lanes2" right="#b0123"/>
2306bf215546Sopenharmony_ci      <derived start="9" size="2">
2307bf215546Sopenharmony_ci        <eq left="lanes2" right="#b0000"/>
2308bf215546Sopenharmony_ci        <eq left="lanes2" right="#b1111"/>
2309bf215546Sopenharmony_ci        <eq left="lanes2" right="#b2222"/>
2310bf215546Sopenharmony_ci        <eq left="lanes2" right="#b3333"/>
2311bf215546Sopenharmony_ci      </derived>
2312bf215546Sopenharmony_ci    </encoding>
2313bf215546Sopenharmony_ci    <encoding mask="0x7fde00" exact="0x321800">
2314bf215546Sopenharmony_ci      <eq left="lanes2" right="#b0123"/>
2315bf215546Sopenharmony_ci    </encoding>
2316bf215546Sopenharmony_ci  </ins>
2317bf215546Sopenharmony_ci
2318bf215546Sopenharmony_ci  <ins name="*S16_TO_S32" mask="0x7fffe8" exact="0x700cc0">
2319bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2320bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="1" default="h0">
2321bf215546Sopenharmony_ci      <opt>h0</opt>
2322bf215546Sopenharmony_ci      <opt>h1</opt>
2323bf215546Sopenharmony_ci    </mod>
2324bf215546Sopenharmony_ci  </ins>
2325bf215546Sopenharmony_ci
2326bf215546Sopenharmony_ci  <ins name="*S8_TO_S32" mask="0x7fffc8" exact="0x700b40">
2327bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2328bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="2" default="b0">
2329bf215546Sopenharmony_ci      <opt>b0</opt>
2330bf215546Sopenharmony_ci      <opt>b1</opt>
2331bf215546Sopenharmony_ci      <opt>b2</opt>
2332bf215546Sopenharmony_ci      <opt>b3</opt>
2333bf215546Sopenharmony_ci    </mod>
2334bf215546Sopenharmony_ci  </ins>
2335bf215546Sopenharmony_ci
2336bf215546Sopenharmony_ci  <ins name="*SEG_ADD" mask="0x7fff40" exact="0x701500">
2337bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2338bf215546Sopenharmony_ci    <mod name="seg" start="3" size="3">
2339bf215546Sopenharmony_ci      <reserved/>
2340bf215546Sopenharmony_ci      <reserved/>
2341bf215546Sopenharmony_ci      <opt>wls</opt>
2342bf215546Sopenharmony_ci      <reserved/>
2343bf215546Sopenharmony_ci      <reserved/>
2344bf215546Sopenharmony_ci      <reserved/>
2345bf215546Sopenharmony_ci      <reserved/>
2346bf215546Sopenharmony_ci      <opt>tl</opt>
2347bf215546Sopenharmony_ci    </mod>
2348bf215546Sopenharmony_ci    <mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
2349bf215546Sopenharmony_ci  </ins>
2350bf215546Sopenharmony_ci
2351bf215546Sopenharmony_ci  <ins name="*SEG_SUB" mask="0x7fff40" exact="0x701540" unused="true">
2352bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2353bf215546Sopenharmony_ci    <mod name="seg" start="3" size="3">
2354bf215546Sopenharmony_ci      <reserved/>
2355bf215546Sopenharmony_ci      <reserved/>
2356bf215546Sopenharmony_ci      <opt>wls</opt>
2357bf215546Sopenharmony_ci      <reserved/>
2358bf215546Sopenharmony_ci      <reserved/>
2359bf215546Sopenharmony_ci      <reserved/>
2360bf215546Sopenharmony_ci      <reserved/>
2361bf215546Sopenharmony_ci      <opt>tl</opt>
2362bf215546Sopenharmony_ci    </mod>
2363bf215546Sopenharmony_ci    <mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
2364bf215546Sopenharmony_ci  </ins>
2365bf215546Sopenharmony_ci
2366bf215546Sopenharmony_ci  <ins name="*SHADDXL.i64" mask="0x7ffe00" exact="0x70e600">
2367bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2368bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2369bf215546Sopenharmony_ci    <immediate name="shift" start="6" size="3"/>
2370bf215546Sopenharmony_ci  </ins>
2371bf215546Sopenharmony_ci
2372bf215546Sopenharmony_ci  <ins name="*SHADDXL.s32" mask="0x7ff800" exact="0x70e800">
2373bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2374bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2375bf215546Sopenharmony_ci    <immediate name="shift" start="6" size="3"/>
2376bf215546Sopenharmony_ci    <mod name="lane1" start="9" size="2">
2377bf215546Sopenharmony_ci      <opt>h0</opt>
2378bf215546Sopenharmony_ci      <opt>h1</opt>
2379bf215546Sopenharmony_ci      <opt>none</opt>
2380bf215546Sopenharmony_ci    </mod>
2381bf215546Sopenharmony_ci  </ins>
2382bf215546Sopenharmony_ci
2383bf215546Sopenharmony_ci  <ins name="*SHADDXL.u32" mask="0x7ff800" exact="0x70e000">
2384bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2385bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2386bf215546Sopenharmony_ci    <immediate name="shift" start="6" size="3"/>
2387bf215546Sopenharmony_ci    <mod name="lane1" start="9" size="2">
2388bf215546Sopenharmony_ci      <opt>h0</opt>
2389bf215546Sopenharmony_ci      <opt>h1</opt>
2390bf215546Sopenharmony_ci      <opt>none</opt>
2391bf215546Sopenharmony_ci    </mod>
2392bf215546Sopenharmony_ci  </ins>
2393bf215546Sopenharmony_ci
2394bf215546Sopenharmony_ci  <ins name="*U16_TO_U32" mask="0x7fffe8" exact="0x700cc8">
2395bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2396bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="1" default="h0">
2397bf215546Sopenharmony_ci      <opt>h0</opt>
2398bf215546Sopenharmony_ci      <opt>h1</opt>
2399bf215546Sopenharmony_ci    </mod>
2400bf215546Sopenharmony_ci  </ins>
2401bf215546Sopenharmony_ci
2402bf215546Sopenharmony_ci  <ins name="*U8_TO_U32" mask="0x7fffc8" exact="0x700b48">
2403bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2404bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="2" default="b0">
2405bf215546Sopenharmony_ci      <opt>b0</opt>
2406bf215546Sopenharmony_ci      <opt>b1</opt>
2407bf215546Sopenharmony_ci      <opt>b2</opt>
2408bf215546Sopenharmony_ci      <opt>b3</opt>
2409bf215546Sopenharmony_ci    </mod>
2410bf215546Sopenharmony_ci  </ins>
2411bf215546Sopenharmony_ci
2412bf215546Sopenharmony_ci  <ins name="*V2F32_TO_V2F16" mask="0x7fe000" exact="0x6e8000">
2413bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2414bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2415bf215546Sopenharmony_ci    <mod name="abs0" size="1" opt="abs"/>
2416bf215546Sopenharmony_ci    <mod name="abs1" size="1" opt="abs"/>
2417bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
2418bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
2419bf215546Sopenharmony_ci    <mod name="clamp" start="8" size="2">
2420bf215546Sopenharmony_ci      <opt>none</opt>
2421bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
2422bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
2423bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
2424bf215546Sopenharmony_ci    </mod>
2425bf215546Sopenharmony_ci    <mod name="round" start="10" size="3">
2426bf215546Sopenharmony_ci      <opt>none</opt>
2427bf215546Sopenharmony_ci      <opt>rtp</opt>
2428bf215546Sopenharmony_ci      <opt>rtn</opt>
2429bf215546Sopenharmony_ci      <opt>rtz</opt>
2430bf215546Sopenharmony_ci      <opt>rtna</opt>
2431bf215546Sopenharmony_ci    </mod>
2432bf215546Sopenharmony_ci    <mod name="ftz" start="9" size="1" opt="ftz" pseudo="true"/>
2433bf215546Sopenharmony_ci    <derived start="6" size="1">
2434bf215546Sopenharmony_ci      <and>
2435bf215546Sopenharmony_ci        <eq left="abs0" right="#none"/>
2436bf215546Sopenharmony_ci        <eq left="abs1" right="#none"/>
2437bf215546Sopenharmony_ci      </and>
2438bf215546Sopenharmony_ci      <and>
2439bf215546Sopenharmony_ci        <eq left="abs0" right="#abs"/>
2440bf215546Sopenharmony_ci        <eq left="abs1" right="#abs"/>
2441bf215546Sopenharmony_ci      </and>
2442bf215546Sopenharmony_ci    </derived>
2443bf215546Sopenharmony_ci    <derived start="7" size="1">
2444bf215546Sopenharmony_ci      <and>
2445bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
2446bf215546Sopenharmony_ci        <eq left="neg1" right="#none"/>
2447bf215546Sopenharmony_ci      </and>
2448bf215546Sopenharmony_ci      <and>
2449bf215546Sopenharmony_ci        <eq left="neg0" right="#neg"/>
2450bf215546Sopenharmony_ci        <eq left="neg1" right="#neg"/>
2451bf215546Sopenharmony_ci      </and>
2452bf215546Sopenharmony_ci    </derived>
2453bf215546Sopenharmony_ci  </ins>
2454bf215546Sopenharmony_ci
2455bf215546Sopenharmony_ci  <ins name="*VN_ASST1.f16" mask="0x7ff000" exact="0x6eb000">
2456bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2457bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2458bf215546Sopenharmony_ci    <src start="6"/>
2459bf215546Sopenharmony_ci    <mod name="h" start="9" size="1" opt="h"/>
2460bf215546Sopenharmony_ci    <mod name="l" start="10" size="1" opt="l"/>
2461bf215546Sopenharmony_ci    <mod name="neg2" start="11" size="1" opt="neg"/>
2462bf215546Sopenharmony_ci  </ins>
2463bf215546Sopenharmony_ci
2464bf215546Sopenharmony_ci  <ins name="*VN_ASST1.f32" mask="0x7fe000" exact="0x27c000">
2465bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
2466bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
2467bf215546Sopenharmony_ci    <src start="6"/>
2468bf215546Sopenharmony_ci    <src start="9"/>
2469bf215546Sopenharmony_ci    <mod name="neg2" start="12" size="1" opt="neg"/>
2470bf215546Sopenharmony_ci  </ins>
2471bf215546Sopenharmony_ci
2472bf215546Sopenharmony_ci  <ins name="+ACMPSTORE.i32" staging="r=2" mask="0xffdc0" exact="0x648c0" message="atomic" dests="0">
2473bf215546Sopenharmony_ci    <src start="0"/>
2474bf215546Sopenharmony_ci    <src start="3"/>
2475bf215546Sopenharmony_ci    <mod name="seg" start="9" size="1" opt="wls"/>
2476bf215546Sopenharmony_ci  </ins>
2477bf215546Sopenharmony_ci
2478bf215546Sopenharmony_ci  <ins name="+ACMPSTORE.i64" staging="r=4" mask="0xffdc0" exact="0x64900" message="atomic" dests="0">
2479bf215546Sopenharmony_ci    <src start="0"/>
2480bf215546Sopenharmony_ci    <src start="3"/>
2481bf215546Sopenharmony_ci    <mod name="seg" start="9" size="1" opt="wls"/>
2482bf215546Sopenharmony_ci  </ins>
2483bf215546Sopenharmony_ci
2484bf215546Sopenharmony_ci  <ins name="+ACMPXCHG.i32" staging="rw=2" mask="0xffdc0" exact="0x644c0" message="atomic">
2485bf215546Sopenharmony_ci    <src start="0"/>
2486bf215546Sopenharmony_ci    <src start="3"/>
2487bf215546Sopenharmony_ci    <mod name="seg" start="9" size="1" opt="wls"/>
2488bf215546Sopenharmony_ci  </ins>
2489bf215546Sopenharmony_ci
2490bf215546Sopenharmony_ci  <ins name="+ACMPXCHG.i64" staging="rw=4" mask="0xffdc0" exact="0x64500" message="atomic">
2491bf215546Sopenharmony_ci    <src start="0"/>
2492bf215546Sopenharmony_ci    <src start="3"/>
2493bf215546Sopenharmony_ci    <mod name="seg" start="9" size="1" opt="wls"/>
2494bf215546Sopenharmony_ci  </ins>
2495bf215546Sopenharmony_ci
2496bf215546Sopenharmony_ci  <ins name="+ATEST" staging="w=1" mask="0xfff00" exact="0xc8f00" message="atest" table="true">
2497bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
2498bf215546Sopenharmony_ci    <src start="3" mask="0xf7"/>
2499bf215546Sopenharmony_ci    <mod name="widen1" start="6" size="2">
2500bf215546Sopenharmony_ci      <reserved/>
2501bf215546Sopenharmony_ci      <opt>none</opt>
2502bf215546Sopenharmony_ci      <opt>h0</opt>
2503bf215546Sopenharmony_ci      <opt>h1</opt>
2504bf215546Sopenharmony_ci    </mod>
2505bf215546Sopenharmony_ci  </ins>
2506bf215546Sopenharmony_ci
2507bf215546Sopenharmony_ci  <ins name="+ATOM_CX" staging="rw=sr_count" mask="0xffe00" exact="0xd7400" message="atomic">
2508bf215546Sopenharmony_ci    <src start="0"/>
2509bf215546Sopenharmony_ci    <src start="3"/>
2510bf215546Sopenharmony_ci    <src start="6"/>
2511bf215546Sopenharmony_ci    <!-- not actually encoded, but used for IR -->
2512bf215546Sopenharmony_ci    <immediate name="sr_count" size="4" pseudo="true"/>
2513bf215546Sopenharmony_ci  </ins>
2514bf215546Sopenharmony_ci
2515bf215546Sopenharmony_ci  <ins name="+AXCHG.i32" staging="rw=1" mask="0xffdc0" exact="0x640c0" message="atomic">
2516bf215546Sopenharmony_ci    <src start="0"/>
2517bf215546Sopenharmony_ci    <src start="3"/>
2518bf215546Sopenharmony_ci    <mod name="seg" start="9" size="1" opt="wls"/>
2519bf215546Sopenharmony_ci  </ins>
2520bf215546Sopenharmony_ci
2521bf215546Sopenharmony_ci  <ins name="+AXCHG.i64" staging="rw=2" mask="0xffdc0" exact="0x64100" message="atomic">
2522bf215546Sopenharmony_ci    <src start="0"/>
2523bf215546Sopenharmony_ci    <src start="3"/>
2524bf215546Sopenharmony_ci    <mod name="seg" start="9" size="1" opt="wls"/>
2525bf215546Sopenharmony_ci  </ins>
2526bf215546Sopenharmony_ci
2527bf215546Sopenharmony_ci  <ins name="+BARRIER" mask="0xfffff" exact="0xd7874" message="barrier" last="true" dests="0"/>
2528bf215546Sopenharmony_ci
2529bf215546Sopenharmony_ci  <ins name="+BLEND" staging="r=sr_count" mask="0xffe00" exact="0xca800" message="blend" last="true">
2530bf215546Sopenharmony_ci    <src start="0"/>
2531bf215546Sopenharmony_ci    <src start="3" mask="0xf7"/>
2532bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
2533bf215546Sopenharmony_ci    <!-- pseudo source for a dual source blend input -->
2534bf215546Sopenharmony_ci    <src start="9" pseudo="true"/>
2535bf215546Sopenharmony_ci    <!-- not actually encoded, but used for IR -->
2536bf215546Sopenharmony_ci    <immediate name="sr_count" size="4" pseudo="true"/>
2537bf215546Sopenharmony_ci    <immediate name="sr_count_2" size="4" pseudo="true"/>
2538bf215546Sopenharmony_ci    <mod name="register_format" size="4" pseudo="true">
2539bf215546Sopenharmony_ci      <opt>f16</opt>
2540bf215546Sopenharmony_ci      <opt>f32</opt>
2541bf215546Sopenharmony_ci      <opt>s32</opt>
2542bf215546Sopenharmony_ci      <opt>u32</opt>
2543bf215546Sopenharmony_ci      <opt>s16</opt>
2544bf215546Sopenharmony_ci      <opt>u16</opt>
2545bf215546Sopenharmony_ci      <opt>f64</opt>
2546bf215546Sopenharmony_ci      <opt>i64</opt>
2547bf215546Sopenharmony_ci      <opt>auto</opt>
2548bf215546Sopenharmony_ci    </mod>
2549bf215546Sopenharmony_ci  </ins>
2550bf215546Sopenharmony_ci
2551bf215546Sopenharmony_ci  <ins name="+BRANCH.f16" mask="0xf8000" exact="0x68000" last="true" dests="0">
2552bf215546Sopenharmony_ci    <src start="0"/>
2553bf215546Sopenharmony_ci    <src start="3"/>
2554bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
2555bf215546Sopenharmony_ci    <mod name="widen0" size="2">
2556bf215546Sopenharmony_ci      <opt>none</opt>
2557bf215546Sopenharmony_ci      <opt>h0</opt>
2558bf215546Sopenharmony_ci      <opt>h1</opt>
2559bf215546Sopenharmony_ci    </mod>
2560bf215546Sopenharmony_ci    <mod name="widen1" size="2">
2561bf215546Sopenharmony_ci      <opt>none</opt>
2562bf215546Sopenharmony_ci      <opt>h0</opt>
2563bf215546Sopenharmony_ci      <opt>h1</opt>
2564bf215546Sopenharmony_ci    </mod>
2565bf215546Sopenharmony_ci    <mod name="cmpf" size="3">
2566bf215546Sopenharmony_ci      <opt>eq</opt>
2567bf215546Sopenharmony_ci      <opt>gt</opt>
2568bf215546Sopenharmony_ci      <opt>ge</opt>
2569bf215546Sopenharmony_ci      <opt>ne</opt>
2570bf215546Sopenharmony_ci      <opt>lt</opt>
2571bf215546Sopenharmony_ci      <opt>le</opt>
2572bf215546Sopenharmony_ci    </mod>
2573bf215546Sopenharmony_ci    <derived start="12" size="3">
2574bf215546Sopenharmony_ci      <reserved/>
2575bf215546Sopenharmony_ci      <and>
2576bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
2577bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
2578bf215546Sopenharmony_ci      </and>
2579bf215546Sopenharmony_ci      <and>
2580bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
2581bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
2582bf215546Sopenharmony_ci      </and>
2583bf215546Sopenharmony_ci      <and>
2584bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
2585bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
2586bf215546Sopenharmony_ci        <or>
2587bf215546Sopenharmony_ci          <eq left="cmpf" right="#ne"/>
2588bf215546Sopenharmony_ci          <eq left="cmpf" right="#ge"/>
2589bf215546Sopenharmony_ci          <eq left="cmpf" right="#le"/>
2590bf215546Sopenharmony_ci        </or>
2591bf215546Sopenharmony_ci      </and>
2592bf215546Sopenharmony_ci      <and>
2593bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
2594bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
2595bf215546Sopenharmony_ci        <or>
2596bf215546Sopenharmony_ci          <eq left="cmpf" right="#eq"/>
2597bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
2598bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
2599bf215546Sopenharmony_ci        </or>
2600bf215546Sopenharmony_ci      </and>
2601bf215546Sopenharmony_ci      <reserved/>
2602bf215546Sopenharmony_ci      <reserved/>
2603bf215546Sopenharmony_ci      <reserved/>
2604bf215546Sopenharmony_ci    </derived>
2605bf215546Sopenharmony_ci    <derived start="9" size="3">
2606bf215546Sopenharmony_ci      <reserved/>
2607bf215546Sopenharmony_ci      <reserved/>
2608bf215546Sopenharmony_ci      <reserved/>
2609bf215546Sopenharmony_ci      <reserved/>
2610bf215546Sopenharmony_ci      <and alias="true">
2611bf215546Sopenharmony_ci        <eq left="widen0" right="widen1"/>
2612bf215546Sopenharmony_ci        <eq left="ordering" right="#eq"/>
2613bf215546Sopenharmony_ci        <or>
2614bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
2615bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
2616bf215546Sopenharmony_ci        </or>
2617bf215546Sopenharmony_ci      </and>
2618bf215546Sopenharmony_ci      <or>
2619bf215546Sopenharmony_ci        <and>
2620bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
2621bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
2622bf215546Sopenharmony_ci          <or>
2623bf215546Sopenharmony_ci            <eq left="cmpf" right="#eq"/>
2624bf215546Sopenharmony_ci            <eq left="cmpf" right="#ne"/>
2625bf215546Sopenharmony_ci          </or>
2626bf215546Sopenharmony_ci        </and>
2627bf215546Sopenharmony_ci        <and>
2628bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2629bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
2630bf215546Sopenharmony_ci          <eq left="cmpf" right="#eq"/>
2631bf215546Sopenharmony_ci        </and>
2632bf215546Sopenharmony_ci        <and>
2633bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2634bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
2635bf215546Sopenharmony_ci          <eq left="cmpf" right="#ne"/>
2636bf215546Sopenharmony_ci        </and>
2637bf215546Sopenharmony_ci      </or>
2638bf215546Sopenharmony_ci      <or>
2639bf215546Sopenharmony_ci        <and>
2640bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
2641bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
2642bf215546Sopenharmony_ci          <or>
2643bf215546Sopenharmony_ci            <eq left="cmpf" right="#gt"/>
2644bf215546Sopenharmony_ci            <eq left="cmpf" right="#ge"/>
2645bf215546Sopenharmony_ci          </or>
2646bf215546Sopenharmony_ci        </and>
2647bf215546Sopenharmony_ci        <and>
2648bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2649bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
2650bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
2651bf215546Sopenharmony_ci        </and>
2652bf215546Sopenharmony_ci        <and>
2653bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2654bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
2655bf215546Sopenharmony_ci          <eq left="cmpf" right="#ge"/>
2656bf215546Sopenharmony_ci        </and>
2657bf215546Sopenharmony_ci      </or>
2658bf215546Sopenharmony_ci      <or>
2659bf215546Sopenharmony_ci        <and>
2660bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
2661bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
2662bf215546Sopenharmony_ci          <or>
2663bf215546Sopenharmony_ci            <eq left="cmpf" right="#lt"/>
2664bf215546Sopenharmony_ci            <eq left="cmpf" right="#le"/>
2665bf215546Sopenharmony_ci          </or>
2666bf215546Sopenharmony_ci        </and>
2667bf215546Sopenharmony_ci        <and>
2668bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2669bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
2670bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
2671bf215546Sopenharmony_ci        </and>
2672bf215546Sopenharmony_ci        <and>
2673bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2674bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
2675bf215546Sopenharmony_ci          <eq left="cmpf" right="#le"/>
2676bf215546Sopenharmony_ci        </and>
2677bf215546Sopenharmony_ci        <and alias="true">
2678bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2679bf215546Sopenharmony_ci          <eq left="ordering" right="#eq"/>
2680bf215546Sopenharmony_ci          <eq left="cmpf" right="#eq"/>
2681bf215546Sopenharmony_ci        </and>
2682bf215546Sopenharmony_ci      </or>
2683bf215546Sopenharmony_ci    </derived>
2684bf215546Sopenharmony_ci    <swap left="0" right="1">
2685bf215546Sopenharmony_ci      <or>
2686bf215546Sopenharmony_ci        <and>
2687bf215546Sopenharmony_ci          <eq left="widen0" right="#h0"/>
2688bf215546Sopenharmony_ci          <eq left="widen1" right="#h1"/>
2689bf215546Sopenharmony_ci        </and>
2690bf215546Sopenharmony_ci        <and>
2691bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2692bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
2693bf215546Sopenharmony_ci          <or>
2694bf215546Sopenharmony_ci            <eq left="cmpf" right="#eq"/>
2695bf215546Sopenharmony_ci            <eq left="cmpf" right="#gt"/>
2696bf215546Sopenharmony_ci            <eq left="cmpf" right="#lt"/>
2697bf215546Sopenharmony_ci          </or>
2698bf215546Sopenharmony_ci        </and>
2699bf215546Sopenharmony_ci        <and>
2700bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2701bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
2702bf215546Sopenharmony_ci          <or>
2703bf215546Sopenharmony_ci            <eq left="cmpf" right="#ne"/>
2704bf215546Sopenharmony_ci            <eq left="cmpf" right="#ge"/>
2705bf215546Sopenharmony_ci            <eq left="cmpf" right="#le"/>
2706bf215546Sopenharmony_ci          </or>
2707bf215546Sopenharmony_ci        </and>
2708bf215546Sopenharmony_ci      </or>
2709bf215546Sopenharmony_ci      <rewrite name="cmpf">
2710bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
2711bf215546Sopenharmony_ci        <map from="le" to="ge"/>
2712bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
2713bf215546Sopenharmony_ci        <map from="ge" to="le"/>
2714bf215546Sopenharmony_ci      </rewrite>
2715bf215546Sopenharmony_ci    </swap>
2716bf215546Sopenharmony_ci  </ins>
2717bf215546Sopenharmony_ci
2718bf215546Sopenharmony_ci  <ins name="+BRANCH.f32" mask="0xf8000" exact="0x68000" last="true" dests="0">
2719bf215546Sopenharmony_ci    <src start="0"/>
2720bf215546Sopenharmony_ci    <src start="3"/>
2721bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
2722bf215546Sopenharmony_ci    <mod name="widen0" size="2">
2723bf215546Sopenharmony_ci      <opt>none</opt>
2724bf215546Sopenharmony_ci      <opt>h0</opt>
2725bf215546Sopenharmony_ci      <opt>h1</opt>
2726bf215546Sopenharmony_ci    </mod>
2727bf215546Sopenharmony_ci    <mod name="widen1" size="2">
2728bf215546Sopenharmony_ci      <opt>none</opt>
2729bf215546Sopenharmony_ci      <opt>h0</opt>
2730bf215546Sopenharmony_ci      <opt>h1</opt>
2731bf215546Sopenharmony_ci    </mod>
2732bf215546Sopenharmony_ci    <mod name="cmpf" size="3">
2733bf215546Sopenharmony_ci      <opt>eq</opt>
2734bf215546Sopenharmony_ci      <opt>gt</opt>
2735bf215546Sopenharmony_ci      <opt>ge</opt>
2736bf215546Sopenharmony_ci      <opt>ne</opt>
2737bf215546Sopenharmony_ci      <opt>lt</opt>
2738bf215546Sopenharmony_ci      <opt>le</opt>
2739bf215546Sopenharmony_ci    </mod>
2740bf215546Sopenharmony_ci    <derived start="12" size="3">
2741bf215546Sopenharmony_ci      <and>
2742bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
2743bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
2744bf215546Sopenharmony_ci      </and>
2745bf215546Sopenharmony_ci      <reserved/>
2746bf215546Sopenharmony_ci      <reserved/>
2747bf215546Sopenharmony_ci      <reserved/>
2748bf215546Sopenharmony_ci      <reserved/>
2749bf215546Sopenharmony_ci      <and>
2750bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
2751bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
2752bf215546Sopenharmony_ci      </and>
2753bf215546Sopenharmony_ci      <and>
2754bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
2755bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
2756bf215546Sopenharmony_ci      </and>
2757bf215546Sopenharmony_ci      <reserved/>
2758bf215546Sopenharmony_ci    </derived>
2759bf215546Sopenharmony_ci    <derived start="9" size="3">
2760bf215546Sopenharmony_ci      <reserved/>
2761bf215546Sopenharmony_ci      <and>
2762bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
2763bf215546Sopenharmony_ci        <neq left="widen1" right="#none"/>
2764bf215546Sopenharmony_ci        <eq left="cmpf" right="#ne"/>
2765bf215546Sopenharmony_ci      </and>
2766bf215546Sopenharmony_ci      <and>
2767bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
2768bf215546Sopenharmony_ci        <neq left="widen1" right="#none"/>
2769bf215546Sopenharmony_ci        <eq left="cmpf" right="#ge"/>
2770bf215546Sopenharmony_ci      </and>
2771bf215546Sopenharmony_ci      <and>
2772bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
2773bf215546Sopenharmony_ci        <neq left="widen1" right="#none"/>
2774bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
2775bf215546Sopenharmony_ci      </and>
2776bf215546Sopenharmony_ci      <and alias="true">
2777bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
2778bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
2779bf215546Sopenharmony_ci        <eq left="ordering" right="#eq"/>
2780bf215546Sopenharmony_ci        <or>
2781bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
2782bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
2783bf215546Sopenharmony_ci        </or>
2784bf215546Sopenharmony_ci      </and>
2785bf215546Sopenharmony_ci      <or>
2786bf215546Sopenharmony_ci        <and>
2787bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2788bf215546Sopenharmony_ci          <neq left="widen1" right="#none"/>
2789bf215546Sopenharmony_ci          <eq left="cmpf" right="#eq"/>
2790bf215546Sopenharmony_ci        </and>
2791bf215546Sopenharmony_ci        <and>
2792bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2793bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
2794bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
2795bf215546Sopenharmony_ci          <eq left="cmpf" right="#eq"/>
2796bf215546Sopenharmony_ci        </and>
2797bf215546Sopenharmony_ci        <and>
2798bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2799bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
2800bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
2801bf215546Sopenharmony_ci          <eq left="cmpf" right="#ne"/>
2802bf215546Sopenharmony_ci        </and>
2803bf215546Sopenharmony_ci      </or>
2804bf215546Sopenharmony_ci      <or>
2805bf215546Sopenharmony_ci        <and>
2806bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2807bf215546Sopenharmony_ci          <neq left="widen1" right="#none"/>
2808bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
2809bf215546Sopenharmony_ci        </and>
2810bf215546Sopenharmony_ci        <and>
2811bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2812bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
2813bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
2814bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
2815bf215546Sopenharmony_ci        </and>
2816bf215546Sopenharmony_ci        <and>
2817bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2818bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
2819bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
2820bf215546Sopenharmony_ci          <eq left="cmpf" right="#ge"/>
2821bf215546Sopenharmony_ci        </and>
2822bf215546Sopenharmony_ci      </or>
2823bf215546Sopenharmony_ci      <or>
2824bf215546Sopenharmony_ci        <and>
2825bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2826bf215546Sopenharmony_ci          <neq left="widen1" right="#none"/>
2827bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
2828bf215546Sopenharmony_ci        </and>
2829bf215546Sopenharmony_ci        <and>
2830bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2831bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
2832bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
2833bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
2834bf215546Sopenharmony_ci        </and>
2835bf215546Sopenharmony_ci        <and>
2836bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2837bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
2838bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
2839bf215546Sopenharmony_ci          <eq left="cmpf" right="#le"/>
2840bf215546Sopenharmony_ci        </and>
2841bf215546Sopenharmony_ci        <and alias="true">
2842bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2843bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
2844bf215546Sopenharmony_ci          <eq left="ordering" right="#eq"/>
2845bf215546Sopenharmony_ci          <eq left="cmpf" right="#eq"/>
2846bf215546Sopenharmony_ci        </and>
2847bf215546Sopenharmony_ci      </or>
2848bf215546Sopenharmony_ci    </derived>
2849bf215546Sopenharmony_ci    <swap left="0" right="1">
2850bf215546Sopenharmony_ci      <or>
2851bf215546Sopenharmony_ci        <and>
2852bf215546Sopenharmony_ci          <neq left="widen0" right="#none"/>
2853bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
2854bf215546Sopenharmony_ci        </and>
2855bf215546Sopenharmony_ci        <and>
2856bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2857bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
2858bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
2859bf215546Sopenharmony_ci          <or>
2860bf215546Sopenharmony_ci            <eq left="cmpf" right="#eq"/>
2861bf215546Sopenharmony_ci            <eq left="cmpf" right="#gt"/>
2862bf215546Sopenharmony_ci            <eq left="cmpf" right="#lt"/>
2863bf215546Sopenharmony_ci          </or>
2864bf215546Sopenharmony_ci        </and>
2865bf215546Sopenharmony_ci        <and>
2866bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
2867bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
2868bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
2869bf215546Sopenharmony_ci          <or>
2870bf215546Sopenharmony_ci            <eq left="cmpf" right="#ne"/>
2871bf215546Sopenharmony_ci            <eq left="cmpf" right="#ge"/>
2872bf215546Sopenharmony_ci            <eq left="cmpf" right="#le"/>
2873bf215546Sopenharmony_ci          </or>
2874bf215546Sopenharmony_ci        </and>
2875bf215546Sopenharmony_ci      </or>
2876bf215546Sopenharmony_ci      <rewrite name="cmpf">
2877bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
2878bf215546Sopenharmony_ci        <map from="le" to="ge"/>
2879bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
2880bf215546Sopenharmony_ci        <map from="ge" to="le"/>
2881bf215546Sopenharmony_ci      </rewrite>
2882bf215546Sopenharmony_ci    </swap>
2883bf215546Sopenharmony_ci  </ins>
2884bf215546Sopenharmony_ci
2885bf215546Sopenharmony_ci  <ins name="+BRANCH.i16" mask="0xf8000" exact="0x68000" last="true" dests="0">
2886bf215546Sopenharmony_ci    <src start="0"/>
2887bf215546Sopenharmony_ci    <src start="3"/>
2888bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
2889bf215546Sopenharmony_ci    <mod name="widen0" size="2">
2890bf215546Sopenharmony_ci      <opt>none</opt>
2891bf215546Sopenharmony_ci      <opt>h0</opt>
2892bf215546Sopenharmony_ci      <opt>h1</opt>
2893bf215546Sopenharmony_ci    </mod>
2894bf215546Sopenharmony_ci    <mod name="widen1" size="2">
2895bf215546Sopenharmony_ci      <opt>none</opt>
2896bf215546Sopenharmony_ci      <opt>h0</opt>
2897bf215546Sopenharmony_ci      <opt>h1</opt>
2898bf215546Sopenharmony_ci    </mod>
2899bf215546Sopenharmony_ci    <mod name="cmpf" size="1">
2900bf215546Sopenharmony_ci      <opt>eq</opt>
2901bf215546Sopenharmony_ci      <opt>ne</opt>
2902bf215546Sopenharmony_ci    </mod>
2903bf215546Sopenharmony_ci    <derived start="12" size="3">
2904bf215546Sopenharmony_ci      <reserved/>
2905bf215546Sopenharmony_ci      <and>
2906bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
2907bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
2908bf215546Sopenharmony_ci      </and>
2909bf215546Sopenharmony_ci      <and>
2910bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
2911bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
2912bf215546Sopenharmony_ci      </and>
2913bf215546Sopenharmony_ci      <and>
2914bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
2915bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
2916bf215546Sopenharmony_ci        <eq left="cmpf" right="#ne"/>
2917bf215546Sopenharmony_ci      </and>
2918bf215546Sopenharmony_ci      <and>
2919bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
2920bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
2921bf215546Sopenharmony_ci        <eq left="cmpf" right="#eq"/>
2922bf215546Sopenharmony_ci      </and>
2923bf215546Sopenharmony_ci      <reserved/>
2924bf215546Sopenharmony_ci      <reserved/>
2925bf215546Sopenharmony_ci      <reserved/>
2926bf215546Sopenharmony_ci    </derived>
2927bf215546Sopenharmony_ci    <derived start="9" size="3">
2928bf215546Sopenharmony_ci      <reserved/>
2929bf215546Sopenharmony_ci      <and alias="true">
2930bf215546Sopenharmony_ci        <eq left="widen0" right="widen1"/>
2931bf215546Sopenharmony_ci        <eq left="ordering" right="#eq"/>
2932bf215546Sopenharmony_ci        <eq left="cmpf" right="#eq"/>
2933bf215546Sopenharmony_ci      </and>
2934bf215546Sopenharmony_ci      <reserved/>
2935bf215546Sopenharmony_ci      <reserved/>
2936bf215546Sopenharmony_ci      <or>
2937bf215546Sopenharmony_ci        <and>
2938bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
2939bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
2940bf215546Sopenharmony_ci        </and>
2941bf215546Sopenharmony_ci        <and>
2942bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2943bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
2944bf215546Sopenharmony_ci          <eq left="cmpf" right="#eq"/>
2945bf215546Sopenharmony_ci        </and>
2946bf215546Sopenharmony_ci        <and>
2947bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2948bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
2949bf215546Sopenharmony_ci          <eq left="cmpf" right="#ne"/>
2950bf215546Sopenharmony_ci        </and>
2951bf215546Sopenharmony_ci      </or>
2952bf215546Sopenharmony_ci      <reserved/>
2953bf215546Sopenharmony_ci      <reserved/>
2954bf215546Sopenharmony_ci      <reserved/>
2955bf215546Sopenharmony_ci    </derived>
2956bf215546Sopenharmony_ci    <swap left="0" right="1">
2957bf215546Sopenharmony_ci      <or>
2958bf215546Sopenharmony_ci        <and>
2959bf215546Sopenharmony_ci          <eq left="widen0" right="#h0"/>
2960bf215546Sopenharmony_ci          <eq left="widen1" right="#h1"/>
2961bf215546Sopenharmony_ci        </and>
2962bf215546Sopenharmony_ci        <and>
2963bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2964bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
2965bf215546Sopenharmony_ci          <eq left="cmpf" right="#eq"/>
2966bf215546Sopenharmony_ci        </and>
2967bf215546Sopenharmony_ci        <and>
2968bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
2969bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
2970bf215546Sopenharmony_ci          <eq left="cmpf" right="#ne"/>
2971bf215546Sopenharmony_ci        </and>
2972bf215546Sopenharmony_ci      </or>
2973bf215546Sopenharmony_ci    </swap>
2974bf215546Sopenharmony_ci  </ins>
2975bf215546Sopenharmony_ci
2976bf215546Sopenharmony_ci  <ins name="+BRANCH.i32" mask="0xf8000" exact="0x68000" last="true" dests="0">
2977bf215546Sopenharmony_ci    <src start="0"/>
2978bf215546Sopenharmony_ci    <src start="3"/>
2979bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
2980bf215546Sopenharmony_ci    <mod name="widen0" size="2">
2981bf215546Sopenharmony_ci      <opt>none</opt>
2982bf215546Sopenharmony_ci      <opt>h0</opt>
2983bf215546Sopenharmony_ci      <opt>h1</opt>
2984bf215546Sopenharmony_ci    </mod>
2985bf215546Sopenharmony_ci    <mod name="widen1" size="2">
2986bf215546Sopenharmony_ci      <opt>none</opt>
2987bf215546Sopenharmony_ci      <opt>h0</opt>
2988bf215546Sopenharmony_ci      <opt>h1</opt>
2989bf215546Sopenharmony_ci    </mod>
2990bf215546Sopenharmony_ci    <mod name="cmpf" size="1">
2991bf215546Sopenharmony_ci      <opt>eq</opt>
2992bf215546Sopenharmony_ci      <opt>ne</opt>
2993bf215546Sopenharmony_ci    </mod>
2994bf215546Sopenharmony_ci    <derived start="12" size="3">
2995bf215546Sopenharmony_ci      <and>
2996bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
2997bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
2998bf215546Sopenharmony_ci      </and>
2999bf215546Sopenharmony_ci      <reserved/>
3000bf215546Sopenharmony_ci      <reserved/>
3001bf215546Sopenharmony_ci      <reserved/>
3002bf215546Sopenharmony_ci      <reserved/>
3003bf215546Sopenharmony_ci      <reserved/>
3004bf215546Sopenharmony_ci      <reserved/>
3005bf215546Sopenharmony_ci      <reserved/>
3006bf215546Sopenharmony_ci    </derived>
3007bf215546Sopenharmony_ci    <derived start="9" size="3">
3008bf215546Sopenharmony_ci      <reserved/>
3009bf215546Sopenharmony_ci      <and alias="true">
3010bf215546Sopenharmony_ci        <eq left="ordering" right="#eq"/>
3011bf215546Sopenharmony_ci        <eq left="cmpf" right="#eq"/>
3012bf215546Sopenharmony_ci      </and>
3013bf215546Sopenharmony_ci      <reserved/>
3014bf215546Sopenharmony_ci      <reserved/>
3015bf215546Sopenharmony_ci      <or>
3016bf215546Sopenharmony_ci        <and>
3017bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
3018bf215546Sopenharmony_ci          <eq left="cmpf" right="#eq"/>
3019bf215546Sopenharmony_ci        </and>
3020bf215546Sopenharmony_ci        <and>
3021bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
3022bf215546Sopenharmony_ci          <eq left="cmpf" right="#ne"/>
3023bf215546Sopenharmony_ci        </and>
3024bf215546Sopenharmony_ci      </or>
3025bf215546Sopenharmony_ci      <reserved/>
3026bf215546Sopenharmony_ci      <reserved/>
3027bf215546Sopenharmony_ci      <reserved/>
3028bf215546Sopenharmony_ci    </derived>
3029bf215546Sopenharmony_ci    <swap left="0" right="1">
3030bf215546Sopenharmony_ci      <or>
3031bf215546Sopenharmony_ci        <and>
3032bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
3033bf215546Sopenharmony_ci          <eq left="cmpf" right="#eq"/>
3034bf215546Sopenharmony_ci        </and>
3035bf215546Sopenharmony_ci        <and>
3036bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
3037bf215546Sopenharmony_ci          <eq left="cmpf" right="#ne"/>
3038bf215546Sopenharmony_ci        </and>
3039bf215546Sopenharmony_ci      </or>
3040bf215546Sopenharmony_ci    </swap>
3041bf215546Sopenharmony_ci  </ins>
3042bf215546Sopenharmony_ci
3043bf215546Sopenharmony_ci  <ins name="+BRANCH.s16" mask="0xf8000" exact="0x68000" last="true" dests="0">
3044bf215546Sopenharmony_ci    <src start="0"/>
3045bf215546Sopenharmony_ci    <src start="3"/>
3046bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3047bf215546Sopenharmony_ci    <mod name="widen0" size="2">
3048bf215546Sopenharmony_ci      <opt>none</opt>
3049bf215546Sopenharmony_ci      <opt>h0</opt>
3050bf215546Sopenharmony_ci      <opt>h1</opt>
3051bf215546Sopenharmony_ci    </mod>
3052bf215546Sopenharmony_ci    <mod name="widen1" size="2">
3053bf215546Sopenharmony_ci      <opt>none</opt>
3054bf215546Sopenharmony_ci      <opt>h0</opt>
3055bf215546Sopenharmony_ci      <opt>h1</opt>
3056bf215546Sopenharmony_ci    </mod>
3057bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
3058bf215546Sopenharmony_ci      <opt>gt</opt>
3059bf215546Sopenharmony_ci      <opt>ge</opt>
3060bf215546Sopenharmony_ci      <opt>lt</opt>
3061bf215546Sopenharmony_ci      <opt>le</opt>
3062bf215546Sopenharmony_ci    </mod>
3063bf215546Sopenharmony_ci    <derived start="12" size="3">
3064bf215546Sopenharmony_ci      <reserved/>
3065bf215546Sopenharmony_ci      <and>
3066bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
3067bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
3068bf215546Sopenharmony_ci      </and>
3069bf215546Sopenharmony_ci      <and>
3070bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
3071bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
3072bf215546Sopenharmony_ci      </and>
3073bf215546Sopenharmony_ci      <reserved/>
3074bf215546Sopenharmony_ci      <and>
3075bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
3076bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
3077bf215546Sopenharmony_ci      </and>
3078bf215546Sopenharmony_ci      <reserved/>
3079bf215546Sopenharmony_ci      <reserved/>
3080bf215546Sopenharmony_ci      <reserved/>
3081bf215546Sopenharmony_ci    </derived>
3082bf215546Sopenharmony_ci    <derived start="9" size="3">
3083bf215546Sopenharmony_ci      <or>
3084bf215546Sopenharmony_ci        <and>
3085bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
3086bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
3087bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
3088bf215546Sopenharmony_ci        </and>
3089bf215546Sopenharmony_ci        <and>
3090bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3091bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
3092bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
3093bf215546Sopenharmony_ci        </and>
3094bf215546Sopenharmony_ci      </or>
3095bf215546Sopenharmony_ci      <or>
3096bf215546Sopenharmony_ci        <and>
3097bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
3098bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
3099bf215546Sopenharmony_ci          <eq left="cmpf" right="#le"/>
3100bf215546Sopenharmony_ci        </and>
3101bf215546Sopenharmony_ci        <and>
3102bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3103bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
3104bf215546Sopenharmony_ci          <eq left="cmpf" right="#le"/>
3105bf215546Sopenharmony_ci        </and>
3106bf215546Sopenharmony_ci        <and alias="true">
3107bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3108bf215546Sopenharmony_ci          <eq left="ordering" right="#eq"/>
3109bf215546Sopenharmony_ci          <or>
3110bf215546Sopenharmony_ci            <eq left="cmpf" right="#le"/>
3111bf215546Sopenharmony_ci            <eq left="cmpf" right="#ge"/>
3112bf215546Sopenharmony_ci          </or>
3113bf215546Sopenharmony_ci        </and>
3114bf215546Sopenharmony_ci      </or>
3115bf215546Sopenharmony_ci      <or>
3116bf215546Sopenharmony_ci        <and>
3117bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
3118bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
3119bf215546Sopenharmony_ci          <eq left="cmpf" right="#ge"/>
3120bf215546Sopenharmony_ci        </and>
3121bf215546Sopenharmony_ci        <and>
3122bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3123bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
3124bf215546Sopenharmony_ci          <eq left="cmpf" right="#ge"/>
3125bf215546Sopenharmony_ci        </and>
3126bf215546Sopenharmony_ci      </or>
3127bf215546Sopenharmony_ci      <or>
3128bf215546Sopenharmony_ci        <and>
3129bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
3130bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
3131bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
3132bf215546Sopenharmony_ci        </and>
3133bf215546Sopenharmony_ci        <and>
3134bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3135bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
3136bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
3137bf215546Sopenharmony_ci        </and>
3138bf215546Sopenharmony_ci      </or>
3139bf215546Sopenharmony_ci      <and alias="true">
3140bf215546Sopenharmony_ci        <eq left="widen0" right="widen1"/>
3141bf215546Sopenharmony_ci        <eq left="ordering" right="#eq"/>
3142bf215546Sopenharmony_ci        <or>
3143bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
3144bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
3145bf215546Sopenharmony_ci        </or>
3146bf215546Sopenharmony_ci      </and>
3147bf215546Sopenharmony_ci      <reserved/>
3148bf215546Sopenharmony_ci      <reserved/>
3149bf215546Sopenharmony_ci      <reserved/>
3150bf215546Sopenharmony_ci    </derived>
3151bf215546Sopenharmony_ci    <swap left="0" right="1">
3152bf215546Sopenharmony_ci      <or>
3153bf215546Sopenharmony_ci        <and>
3154bf215546Sopenharmony_ci          <eq left="widen0" right="#h0"/>
3155bf215546Sopenharmony_ci          <eq left="widen1" right="#h1"/>
3156bf215546Sopenharmony_ci        </and>
3157bf215546Sopenharmony_ci        <and>
3158bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3159bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
3160bf215546Sopenharmony_ci        </and>
3161bf215546Sopenharmony_ci      </or>
3162bf215546Sopenharmony_ci      <rewrite name="cmpf">
3163bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
3164bf215546Sopenharmony_ci        <map from="le" to="ge"/>
3165bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
3166bf215546Sopenharmony_ci        <map from="ge" to="le"/>
3167bf215546Sopenharmony_ci      </rewrite>
3168bf215546Sopenharmony_ci    </swap>
3169bf215546Sopenharmony_ci  </ins>
3170bf215546Sopenharmony_ci
3171bf215546Sopenharmony_ci  <ins name="+BRANCH.s32" mask="0xf8000" exact="0x68000" last="true" dests="0">
3172bf215546Sopenharmony_ci    <src start="0"/>
3173bf215546Sopenharmony_ci    <src start="3"/>
3174bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3175bf215546Sopenharmony_ci    <mod name="widen0" size="2">
3176bf215546Sopenharmony_ci      <opt>none</opt>
3177bf215546Sopenharmony_ci      <opt>h0</opt>
3178bf215546Sopenharmony_ci      <opt>h1</opt>
3179bf215546Sopenharmony_ci    </mod>
3180bf215546Sopenharmony_ci    <mod name="widen1" size="2">
3181bf215546Sopenharmony_ci      <opt>none</opt>
3182bf215546Sopenharmony_ci      <opt>h0</opt>
3183bf215546Sopenharmony_ci      <opt>h1</opt>
3184bf215546Sopenharmony_ci    </mod>
3185bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
3186bf215546Sopenharmony_ci      <opt>gt</opt>
3187bf215546Sopenharmony_ci      <opt>ge</opt>
3188bf215546Sopenharmony_ci      <opt>lt</opt>
3189bf215546Sopenharmony_ci      <opt>le</opt>
3190bf215546Sopenharmony_ci    </mod>
3191bf215546Sopenharmony_ci    <derived start="12" size="3">
3192bf215546Sopenharmony_ci      <and>
3193bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
3194bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
3195bf215546Sopenharmony_ci      </and>
3196bf215546Sopenharmony_ci      <reserved/>
3197bf215546Sopenharmony_ci      <reserved/>
3198bf215546Sopenharmony_ci      <reserved/>
3199bf215546Sopenharmony_ci      <reserved/>
3200bf215546Sopenharmony_ci      <reserved/>
3201bf215546Sopenharmony_ci      <reserved/>
3202bf215546Sopenharmony_ci      <reserved/>
3203bf215546Sopenharmony_ci    </derived>
3204bf215546Sopenharmony_ci    <derived start="9" size="3">
3205bf215546Sopenharmony_ci      <and>
3206bf215546Sopenharmony_ci        <eq left="ordering" right="#lt"/>
3207bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
3208bf215546Sopenharmony_ci      </and>
3209bf215546Sopenharmony_ci      <or>
3210bf215546Sopenharmony_ci        <and>
3211bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
3212bf215546Sopenharmony_ci          <eq left="cmpf" right="#le"/>
3213bf215546Sopenharmony_ci        </and>
3214bf215546Sopenharmony_ci        <and alias="true">
3215bf215546Sopenharmony_ci          <eq left="ordering" right="#eq"/>
3216bf215546Sopenharmony_ci          <or>
3217bf215546Sopenharmony_ci            <eq left="cmpf" right="#le"/>
3218bf215546Sopenharmony_ci            <eq left="cmpf" right="#ge"/>
3219bf215546Sopenharmony_ci          </or>
3220bf215546Sopenharmony_ci        </and>
3221bf215546Sopenharmony_ci      </or>
3222bf215546Sopenharmony_ci      <and>
3223bf215546Sopenharmony_ci        <eq left="ordering" right="#lt"/>
3224bf215546Sopenharmony_ci        <eq left="cmpf" right="#ge"/>
3225bf215546Sopenharmony_ci      </and>
3226bf215546Sopenharmony_ci      <and>
3227bf215546Sopenharmony_ci        <eq left="ordering" right="#lt"/>
3228bf215546Sopenharmony_ci        <eq left="cmpf" right="#gt"/>
3229bf215546Sopenharmony_ci      </and>
3230bf215546Sopenharmony_ci      <and alias="true">
3231bf215546Sopenharmony_ci        <eq left="ordering" right="#eq"/>
3232bf215546Sopenharmony_ci        <or>
3233bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
3234bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
3235bf215546Sopenharmony_ci        </or>
3236bf215546Sopenharmony_ci      </and>
3237bf215546Sopenharmony_ci      <reserved/>
3238bf215546Sopenharmony_ci      <reserved/>
3239bf215546Sopenharmony_ci      <reserved/>
3240bf215546Sopenharmony_ci    </derived>
3241bf215546Sopenharmony_ci    <swap left="0" right="1">
3242bf215546Sopenharmony_ci      <eq left="ordering" right="#gt"/>
3243bf215546Sopenharmony_ci      <rewrite name="cmpf">
3244bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
3245bf215546Sopenharmony_ci        <map from="le" to="ge"/>
3246bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
3247bf215546Sopenharmony_ci        <map from="ge" to="le"/>
3248bf215546Sopenharmony_ci      </rewrite>
3249bf215546Sopenharmony_ci    </swap>
3250bf215546Sopenharmony_ci  </ins>
3251bf215546Sopenharmony_ci
3252bf215546Sopenharmony_ci  <ins name="+BRANCH.u16" mask="0xf8000" exact="0x68000" last="true" dests="0">
3253bf215546Sopenharmony_ci    <src start="0"/>
3254bf215546Sopenharmony_ci    <src start="3"/>
3255bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3256bf215546Sopenharmony_ci    <mod name="widen0" size="2">
3257bf215546Sopenharmony_ci      <opt>none</opt>
3258bf215546Sopenharmony_ci      <opt>h0</opt>
3259bf215546Sopenharmony_ci      <opt>h1</opt>
3260bf215546Sopenharmony_ci    </mod>
3261bf215546Sopenharmony_ci    <mod name="widen1" size="2">
3262bf215546Sopenharmony_ci      <opt>none</opt>
3263bf215546Sopenharmony_ci      <opt>h0</opt>
3264bf215546Sopenharmony_ci      <opt>h1</opt>
3265bf215546Sopenharmony_ci    </mod>
3266bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
3267bf215546Sopenharmony_ci      <opt>gt</opt>
3268bf215546Sopenharmony_ci      <opt>ge</opt>
3269bf215546Sopenharmony_ci      <opt>lt</opt>
3270bf215546Sopenharmony_ci      <opt>le</opt>
3271bf215546Sopenharmony_ci    </mod>
3272bf215546Sopenharmony_ci    <derived start="12" size="3">
3273bf215546Sopenharmony_ci      <reserved/>
3274bf215546Sopenharmony_ci      <and>
3275bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
3276bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
3277bf215546Sopenharmony_ci      </and>
3278bf215546Sopenharmony_ci      <and>
3279bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
3280bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
3281bf215546Sopenharmony_ci      </and>
3282bf215546Sopenharmony_ci      <and>
3283bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
3284bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
3285bf215546Sopenharmony_ci      </and>
3286bf215546Sopenharmony_ci      <reserved/>
3287bf215546Sopenharmony_ci      <reserved/>
3288bf215546Sopenharmony_ci      <reserved/>
3289bf215546Sopenharmony_ci      <reserved/>
3290bf215546Sopenharmony_ci    </derived>
3291bf215546Sopenharmony_ci    <derived start="9" size="3">
3292bf215546Sopenharmony_ci      <or>
3293bf215546Sopenharmony_ci        <and>
3294bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
3295bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
3296bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
3297bf215546Sopenharmony_ci        </and>
3298bf215546Sopenharmony_ci        <and>
3299bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3300bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
3301bf215546Sopenharmony_ci          <eq left="cmpf" right="#lt"/>
3302bf215546Sopenharmony_ci        </and>
3303bf215546Sopenharmony_ci      </or>
3304bf215546Sopenharmony_ci      <or>
3305bf215546Sopenharmony_ci        <and>
3306bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
3307bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
3308bf215546Sopenharmony_ci          <eq left="cmpf" right="#le"/>
3309bf215546Sopenharmony_ci        </and>
3310bf215546Sopenharmony_ci        <and>
3311bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3312bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
3313bf215546Sopenharmony_ci          <eq left="cmpf" right="#le"/>
3314bf215546Sopenharmony_ci        </and>
3315bf215546Sopenharmony_ci      </or>
3316bf215546Sopenharmony_ci      <or>
3317bf215546Sopenharmony_ci        <and>
3318bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
3319bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
3320bf215546Sopenharmony_ci          <eq left="cmpf" right="#ge"/>
3321bf215546Sopenharmony_ci        </and>
3322bf215546Sopenharmony_ci        <and>
3323bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3324bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
3325bf215546Sopenharmony_ci          <eq left="cmpf" right="#ge"/>
3326bf215546Sopenharmony_ci        </and>
3327bf215546Sopenharmony_ci      </or>
3328bf215546Sopenharmony_ci      <or>
3329bf215546Sopenharmony_ci        <and>
3330bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
3331bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
3332bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
3333bf215546Sopenharmony_ci        </and>
3334bf215546Sopenharmony_ci        <and>
3335bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3336bf215546Sopenharmony_ci          <neq left="ordering" right="#lt"/>
3337bf215546Sopenharmony_ci          <eq left="cmpf" right="#gt"/>
3338bf215546Sopenharmony_ci        </and>
3339bf215546Sopenharmony_ci      </or>
3340bf215546Sopenharmony_ci      <reserved/>
3341bf215546Sopenharmony_ci      <reserved/>
3342bf215546Sopenharmony_ci      <reserved/>
3343bf215546Sopenharmony_ci      <reserved/>
3344bf215546Sopenharmony_ci    </derived>
3345bf215546Sopenharmony_ci    <swap left="0" right="1">
3346bf215546Sopenharmony_ci      <or>
3347bf215546Sopenharmony_ci        <and>
3348bf215546Sopenharmony_ci          <eq left="widen0" right="#h0"/>
3349bf215546Sopenharmony_ci          <eq left="widen1" right="#h1"/>
3350bf215546Sopenharmony_ci        </and>
3351bf215546Sopenharmony_ci        <and>
3352bf215546Sopenharmony_ci          <eq left="widen0" right="widen1"/>
3353bf215546Sopenharmony_ci          <eq left="ordering" right="#lt"/>
3354bf215546Sopenharmony_ci        </and>
3355bf215546Sopenharmony_ci      </or>
3356bf215546Sopenharmony_ci      <rewrite name="cmpf">
3357bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
3358bf215546Sopenharmony_ci        <map from="le" to="ge"/>
3359bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
3360bf215546Sopenharmony_ci        <map from="ge" to="le"/>
3361bf215546Sopenharmony_ci      </rewrite>
3362bf215546Sopenharmony_ci    </swap>
3363bf215546Sopenharmony_ci  </ins>
3364bf215546Sopenharmony_ci
3365bf215546Sopenharmony_ci  <ins name="+BRANCH.u32" mask="0xf8000" exact="0x68000" last="true" dests="0">
3366bf215546Sopenharmony_ci    <src start="0"/>
3367bf215546Sopenharmony_ci    <src start="3"/>
3368bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3369bf215546Sopenharmony_ci    <mod name="widen0" size="2">
3370bf215546Sopenharmony_ci      <opt>none</opt>
3371bf215546Sopenharmony_ci      <opt>h0</opt>
3372bf215546Sopenharmony_ci      <opt>h1</opt>
3373bf215546Sopenharmony_ci    </mod>
3374bf215546Sopenharmony_ci    <mod name="widen1" size="2">
3375bf215546Sopenharmony_ci      <opt>none</opt>
3376bf215546Sopenharmony_ci      <opt>h0</opt>
3377bf215546Sopenharmony_ci      <opt>h1</opt>
3378bf215546Sopenharmony_ci    </mod>
3379bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
3380bf215546Sopenharmony_ci      <opt>gt</opt>
3381bf215546Sopenharmony_ci      <opt>ge</opt>
3382bf215546Sopenharmony_ci      <opt>lt</opt>
3383bf215546Sopenharmony_ci      <opt>le</opt>
3384bf215546Sopenharmony_ci    </mod>
3385bf215546Sopenharmony_ci    <derived start="12" size="3">
3386bf215546Sopenharmony_ci      <and>
3387bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
3388bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
3389bf215546Sopenharmony_ci      </and>
3390bf215546Sopenharmony_ci      <reserved/>
3391bf215546Sopenharmony_ci      <reserved/>
3392bf215546Sopenharmony_ci      <reserved/>
3393bf215546Sopenharmony_ci      <reserved/>
3394bf215546Sopenharmony_ci      <reserved/>
3395bf215546Sopenharmony_ci      <reserved/>
3396bf215546Sopenharmony_ci      <reserved/>
3397bf215546Sopenharmony_ci    </derived>
3398bf215546Sopenharmony_ci    <derived start="9" size="3">
3399bf215546Sopenharmony_ci      <and>
3400bf215546Sopenharmony_ci        <neq left="ordering" right="#lt"/>
3401bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
3402bf215546Sopenharmony_ci      </and>
3403bf215546Sopenharmony_ci      <and>
3404bf215546Sopenharmony_ci        <neq left="ordering" right="#lt"/>
3405bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
3406bf215546Sopenharmony_ci      </and>
3407bf215546Sopenharmony_ci      <and>
3408bf215546Sopenharmony_ci        <neq left="ordering" right="#lt"/>
3409bf215546Sopenharmony_ci        <eq left="cmpf" right="#ge"/>
3410bf215546Sopenharmony_ci      </and>
3411bf215546Sopenharmony_ci      <and>
3412bf215546Sopenharmony_ci        <neq left="ordering" right="#lt"/>
3413bf215546Sopenharmony_ci        <eq left="cmpf" right="#gt"/>
3414bf215546Sopenharmony_ci      </and>
3415bf215546Sopenharmony_ci      <reserved/>
3416bf215546Sopenharmony_ci      <reserved/>
3417bf215546Sopenharmony_ci      <reserved/>
3418bf215546Sopenharmony_ci      <reserved/>
3419bf215546Sopenharmony_ci    </derived>
3420bf215546Sopenharmony_ci    <swap left="0" right="1">
3421bf215546Sopenharmony_ci      <eq left="ordering" right="#lt"/>
3422bf215546Sopenharmony_ci      <rewrite name="cmpf">
3423bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
3424bf215546Sopenharmony_ci        <map from="le" to="ge"/>
3425bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
3426bf215546Sopenharmony_ci        <map from="ge" to="le"/>
3427bf215546Sopenharmony_ci      </rewrite>
3428bf215546Sopenharmony_ci    </swap>
3429bf215546Sopenharmony_ci  </ins>
3430bf215546Sopenharmony_ci
3431bf215546Sopenharmony_ci  <ins name="+BRANCHC.i16" mask="0xff830" exact="0x6f030" last="true" dests="0">
3432bf215546Sopenharmony_ci    <src start="0"/>
3433bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3434bf215546Sopenharmony_ci    <mod name="combine" start="10" size="1">
3435bf215546Sopenharmony_ci      <opt>any</opt>
3436bf215546Sopenharmony_ci      <opt>all</opt>
3437bf215546Sopenharmony_ci    </mod>
3438bf215546Sopenharmony_ci    <mod name="lane0" size="1" default="h0">
3439bf215546Sopenharmony_ci      <opt>h0</opt>
3440bf215546Sopenharmony_ci      <opt>h1</opt>
3441bf215546Sopenharmony_ci    </mod>
3442bf215546Sopenharmony_ci    <derived start="9" size="1">
3443bf215546Sopenharmony_ci      <eq left="lane0" right="#h0"/>
3444bf215546Sopenharmony_ci      <eq left="lane0" right="#h1"/>
3445bf215546Sopenharmony_ci    </derived>
3446bf215546Sopenharmony_ci    <derived start="3" size="1">
3447bf215546Sopenharmony_ci      <eq left="lane0" right="#h1"/>
3448bf215546Sopenharmony_ci      <eq left="lane0" right="#h0"/>
3449bf215546Sopenharmony_ci    </derived>
3450bf215546Sopenharmony_ci  </ins>
3451bf215546Sopenharmony_ci
3452bf215546Sopenharmony_ci  <ins name="+BRANCHC.i32" mask="0xffa38" exact="0x6f238" last="true" dests="0">
3453bf215546Sopenharmony_ci    <src start="0"/>
3454bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3455bf215546Sopenharmony_ci    <mod name="combine" start="10" size="1">
3456bf215546Sopenharmony_ci      <opt>any</opt>
3457bf215546Sopenharmony_ci      <opt>all</opt>
3458bf215546Sopenharmony_ci    </mod>
3459bf215546Sopenharmony_ci  </ins>
3460bf215546Sopenharmony_ci
3461bf215546Sopenharmony_ci  <ins name="+BRANCHZ.f16" mask="0xff000" exact="0x6f000" last="true" dests="0">
3462bf215546Sopenharmony_ci    <src start="0"/>
3463bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3464bf215546Sopenharmony_ci    <mod name="widen0" size="2">
3465bf215546Sopenharmony_ci      <opt>none</opt>
3466bf215546Sopenharmony_ci      <opt>h0</opt>
3467bf215546Sopenharmony_ci      <opt>h1</opt>
3468bf215546Sopenharmony_ci    </mod>
3469bf215546Sopenharmony_ci    <mod name="cmpf" size="3">
3470bf215546Sopenharmony_ci      <opt>eq</opt>
3471bf215546Sopenharmony_ci      <opt>gt</opt>
3472bf215546Sopenharmony_ci      <opt>ge</opt>
3473bf215546Sopenharmony_ci      <opt>ne</opt>
3474bf215546Sopenharmony_ci      <opt>lt</opt>
3475bf215546Sopenharmony_ci      <opt>le</opt>
3476bf215546Sopenharmony_ci    </mod>
3477bf215546Sopenharmony_ci    <derived start="4" size="2">
3478bf215546Sopenharmony_ci      <reserved/>
3479bf215546Sopenharmony_ci      <eq left="widen0" right="#h1"/>
3480bf215546Sopenharmony_ci      <eq left="widen0" right="#h0"/>
3481bf215546Sopenharmony_ci      <reserved/>
3482bf215546Sopenharmony_ci    </derived>
3483bf215546Sopenharmony_ci    <derived start="3" size="1">
3484bf215546Sopenharmony_ci      <or>
3485bf215546Sopenharmony_ci        <eq left="cmpf" right="#ne"/>
3486bf215546Sopenharmony_ci        <eq left="cmpf" right="#ge"/>
3487bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
3488bf215546Sopenharmony_ci      </or>
3489bf215546Sopenharmony_ci      <or>
3490bf215546Sopenharmony_ci        <eq left="cmpf" right="#eq"/>
3491bf215546Sopenharmony_ci        <eq left="cmpf" right="#gt"/>
3492bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
3493bf215546Sopenharmony_ci      </or>
3494bf215546Sopenharmony_ci    </derived>
3495bf215546Sopenharmony_ci    <derived start="9" size="3">
3496bf215546Sopenharmony_ci      <reserved/>
3497bf215546Sopenharmony_ci      <reserved/>
3498bf215546Sopenharmony_ci      <reserved/>
3499bf215546Sopenharmony_ci      <reserved/>
3500bf215546Sopenharmony_ci      <reserved/>
3501bf215546Sopenharmony_ci      <or>
3502bf215546Sopenharmony_ci        <eq left="cmpf" right="#ne"/>
3503bf215546Sopenharmony_ci        <eq left="cmpf" right="#eq"/>
3504bf215546Sopenharmony_ci      </or>
3505bf215546Sopenharmony_ci      <or>
3506bf215546Sopenharmony_ci        <eq left="cmpf" right="#ge"/>
3507bf215546Sopenharmony_ci        <eq left="cmpf" right="#gt"/>
3508bf215546Sopenharmony_ci      </or>
3509bf215546Sopenharmony_ci      <or>
3510bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
3511bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
3512bf215546Sopenharmony_ci      </or>
3513bf215546Sopenharmony_ci    </derived>
3514bf215546Sopenharmony_ci  </ins>
3515bf215546Sopenharmony_ci
3516bf215546Sopenharmony_ci  <ins name="+BRANCHZ.f32" mask="0xff030" exact="0x6f000" last="true" dests="0">
3517bf215546Sopenharmony_ci    <src start="0"/>
3518bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3519bf215546Sopenharmony_ci    <mod name="cmpf" size="3">
3520bf215546Sopenharmony_ci      <opt>eq</opt>
3521bf215546Sopenharmony_ci      <opt>gt</opt>
3522bf215546Sopenharmony_ci      <opt>ge</opt>
3523bf215546Sopenharmony_ci      <opt>ne</opt>
3524bf215546Sopenharmony_ci      <opt>lt</opt>
3525bf215546Sopenharmony_ci      <opt>le</opt>
3526bf215546Sopenharmony_ci    </mod>
3527bf215546Sopenharmony_ci    <derived start="3" size="1">
3528bf215546Sopenharmony_ci      <or>
3529bf215546Sopenharmony_ci        <eq left="cmpf" right="#ne"/>
3530bf215546Sopenharmony_ci        <eq left="cmpf" right="#ge"/>
3531bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
3532bf215546Sopenharmony_ci      </or>
3533bf215546Sopenharmony_ci      <or>
3534bf215546Sopenharmony_ci        <eq left="cmpf" right="#eq"/>
3535bf215546Sopenharmony_ci        <eq left="cmpf" right="#gt"/>
3536bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
3537bf215546Sopenharmony_ci      </or>
3538bf215546Sopenharmony_ci    </derived>
3539bf215546Sopenharmony_ci    <derived start="9" size="3">
3540bf215546Sopenharmony_ci      <reserved/>
3541bf215546Sopenharmony_ci      <reserved/>
3542bf215546Sopenharmony_ci      <reserved/>
3543bf215546Sopenharmony_ci      <reserved/>
3544bf215546Sopenharmony_ci      <reserved/>
3545bf215546Sopenharmony_ci      <or>
3546bf215546Sopenharmony_ci        <eq left="cmpf" right="#ne"/>
3547bf215546Sopenharmony_ci        <eq left="cmpf" right="#eq"/>
3548bf215546Sopenharmony_ci      </or>
3549bf215546Sopenharmony_ci      <or>
3550bf215546Sopenharmony_ci        <eq left="cmpf" right="#ge"/>
3551bf215546Sopenharmony_ci        <eq left="cmpf" right="#gt"/>
3552bf215546Sopenharmony_ci      </or>
3553bf215546Sopenharmony_ci      <or>
3554bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
3555bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
3556bf215546Sopenharmony_ci      </or>
3557bf215546Sopenharmony_ci    </derived>
3558bf215546Sopenharmony_ci  </ins>
3559bf215546Sopenharmony_ci
3560bf215546Sopenharmony_ci  <ins name="+BRANCHZ.i16" mask="0xffe00" exact="0x6f800" last="true" dests="0">
3561bf215546Sopenharmony_ci    <src start="0"/>
3562bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3563bf215546Sopenharmony_ci    <mod name="widen0" size="2">
3564bf215546Sopenharmony_ci      <opt>none</opt>
3565bf215546Sopenharmony_ci      <opt>h0</opt>
3566bf215546Sopenharmony_ci      <opt>h1</opt>
3567bf215546Sopenharmony_ci    </mod>
3568bf215546Sopenharmony_ci    <mod name="cmpf" size="1">
3569bf215546Sopenharmony_ci      <opt>eq</opt>
3570bf215546Sopenharmony_ci      <opt>ne</opt>
3571bf215546Sopenharmony_ci    </mod>
3572bf215546Sopenharmony_ci    <derived start="4" size="2">
3573bf215546Sopenharmony_ci      <reserved/>
3574bf215546Sopenharmony_ci      <eq left="widen0" right="#h1"/>
3575bf215546Sopenharmony_ci      <eq left="widen0" right="#h0"/>
3576bf215546Sopenharmony_ci      <reserved/>
3577bf215546Sopenharmony_ci    </derived>
3578bf215546Sopenharmony_ci    <derived start="3" size="1">
3579bf215546Sopenharmony_ci      <eq left="cmpf" right="#ne"/>
3580bf215546Sopenharmony_ci      <eq left="cmpf" right="#eq"/>
3581bf215546Sopenharmony_ci    </derived>
3582bf215546Sopenharmony_ci  </ins>
3583bf215546Sopenharmony_ci
3584bf215546Sopenharmony_ci  <ins name="+BRANCHZ.i32" mask="0xffe30" exact="0x6f800" last="true" dests="0">
3585bf215546Sopenharmony_ci    <src start="0"/>
3586bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3587bf215546Sopenharmony_ci    <mod name="cmpf" size="1">
3588bf215546Sopenharmony_ci      <opt>eq</opt>
3589bf215546Sopenharmony_ci      <opt>ne</opt>
3590bf215546Sopenharmony_ci    </mod>
3591bf215546Sopenharmony_ci    <derived start="3" size="1">
3592bf215546Sopenharmony_ci      <eq left="cmpf" right="#ne"/>
3593bf215546Sopenharmony_ci      <eq left="cmpf" right="#eq"/>
3594bf215546Sopenharmony_ci    </derived>
3595bf215546Sopenharmony_ci  </ins>
3596bf215546Sopenharmony_ci
3597bf215546Sopenharmony_ci  <ins name="+BRANCHZ.s16" mask="0xff008" exact="0x6f008" last="true" dests="0">
3598bf215546Sopenharmony_ci    <src start="0"/>
3599bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3600bf215546Sopenharmony_ci    <mod name="widen0" size="2">
3601bf215546Sopenharmony_ci      <opt>none</opt>
3602bf215546Sopenharmony_ci      <opt>h0</opt>
3603bf215546Sopenharmony_ci      <opt>h1</opt>
3604bf215546Sopenharmony_ci    </mod>
3605bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
3606bf215546Sopenharmony_ci      <opt>gt</opt>
3607bf215546Sopenharmony_ci      <opt>ge</opt>
3608bf215546Sopenharmony_ci      <opt>lt</opt>
3609bf215546Sopenharmony_ci      <opt>le</opt>
3610bf215546Sopenharmony_ci    </mod>
3611bf215546Sopenharmony_ci    <derived start="4" size="2">
3612bf215546Sopenharmony_ci      <reserved/>
3613bf215546Sopenharmony_ci      <eq left="widen0" right="#h1"/>
3614bf215546Sopenharmony_ci      <eq left="widen0" right="#h0"/>
3615bf215546Sopenharmony_ci      <reserved/>
3616bf215546Sopenharmony_ci    </derived>
3617bf215546Sopenharmony_ci    <derived start="9" size="3">
3618bf215546Sopenharmony_ci      <eq left="cmpf" right="#lt"/>
3619bf215546Sopenharmony_ci      <eq left="cmpf" right="#le"/>
3620bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
3621bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
3622bf215546Sopenharmony_ci      <reserved/>
3623bf215546Sopenharmony_ci      <reserved/>
3624bf215546Sopenharmony_ci      <reserved/>
3625bf215546Sopenharmony_ci      <reserved/>
3626bf215546Sopenharmony_ci    </derived>
3627bf215546Sopenharmony_ci  </ins>
3628bf215546Sopenharmony_ci
3629bf215546Sopenharmony_ci  <ins name="+BRANCHZ.s32" mask="0xff038" exact="0x6f008" last="true" dests="0">
3630bf215546Sopenharmony_ci    <src start="0"/>
3631bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3632bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
3633bf215546Sopenharmony_ci      <opt>gt</opt>
3634bf215546Sopenharmony_ci      <opt>ge</opt>
3635bf215546Sopenharmony_ci      <opt>lt</opt>
3636bf215546Sopenharmony_ci      <opt>le</opt>
3637bf215546Sopenharmony_ci    </mod>
3638bf215546Sopenharmony_ci    <derived start="9" size="3">
3639bf215546Sopenharmony_ci      <eq left="cmpf" right="#lt"/>
3640bf215546Sopenharmony_ci      <eq left="cmpf" right="#le"/>
3641bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
3642bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
3643bf215546Sopenharmony_ci      <reserved/>
3644bf215546Sopenharmony_ci      <reserved/>
3645bf215546Sopenharmony_ci      <reserved/>
3646bf215546Sopenharmony_ci      <reserved/>
3647bf215546Sopenharmony_ci    </derived>
3648bf215546Sopenharmony_ci  </ins>
3649bf215546Sopenharmony_ci
3650bf215546Sopenharmony_ci  <ins name="+BRANCHZ.u16" mask="0xff008" exact="0x6f000" last="true" dests="0">
3651bf215546Sopenharmony_ci    <src start="0"/>
3652bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3653bf215546Sopenharmony_ci    <mod name="widen0" size="2">
3654bf215546Sopenharmony_ci      <opt>none</opt>
3655bf215546Sopenharmony_ci      <opt>h0</opt>
3656bf215546Sopenharmony_ci      <opt>h1</opt>
3657bf215546Sopenharmony_ci    </mod>
3658bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
3659bf215546Sopenharmony_ci      <opt>gt</opt>
3660bf215546Sopenharmony_ci      <opt>ge</opt>
3661bf215546Sopenharmony_ci      <opt>lt</opt>
3662bf215546Sopenharmony_ci      <opt>le</opt>
3663bf215546Sopenharmony_ci    </mod>
3664bf215546Sopenharmony_ci    <derived start="4" size="2">
3665bf215546Sopenharmony_ci      <reserved/>
3666bf215546Sopenharmony_ci      <eq left="widen0" right="#h1"/>
3667bf215546Sopenharmony_ci      <eq left="widen0" right="#h0"/>
3668bf215546Sopenharmony_ci      <reserved/>
3669bf215546Sopenharmony_ci    </derived>
3670bf215546Sopenharmony_ci    <derived start="9" size="3">
3671bf215546Sopenharmony_ci      <eq left="cmpf" right="#lt"/>
3672bf215546Sopenharmony_ci      <eq left="cmpf" right="#le"/>
3673bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
3674bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
3675bf215546Sopenharmony_ci      <reserved/>
3676bf215546Sopenharmony_ci      <reserved/>
3677bf215546Sopenharmony_ci      <reserved/>
3678bf215546Sopenharmony_ci      <reserved/>
3679bf215546Sopenharmony_ci    </derived>
3680bf215546Sopenharmony_ci  </ins>
3681bf215546Sopenharmony_ci
3682bf215546Sopenharmony_ci  <ins name="+BRANCHZ.u32" mask="0xff038" exact="0x6f000" last="true" dests="0">
3683bf215546Sopenharmony_ci    <src start="0"/>
3684bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3685bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
3686bf215546Sopenharmony_ci      <opt>gt</opt>
3687bf215546Sopenharmony_ci      <opt>ge</opt>
3688bf215546Sopenharmony_ci      <opt>lt</opt>
3689bf215546Sopenharmony_ci      <opt>le</opt>
3690bf215546Sopenharmony_ci    </mod>
3691bf215546Sopenharmony_ci    <derived start="9" size="3">
3692bf215546Sopenharmony_ci      <eq left="cmpf" right="#lt"/>
3693bf215546Sopenharmony_ci      <eq left="cmpf" right="#le"/>
3694bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
3695bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
3696bf215546Sopenharmony_ci      <reserved/>
3697bf215546Sopenharmony_ci      <reserved/>
3698bf215546Sopenharmony_ci      <reserved/>
3699bf215546Sopenharmony_ci      <reserved/>
3700bf215546Sopenharmony_ci    </derived>
3701bf215546Sopenharmony_ci  </ins>
3702bf215546Sopenharmony_ci
3703bf215546Sopenharmony_ci  <ins name="+BRANCH_DIVERG" mask="0xffe3f" exact="0x6f83c" last="true" dests="0">
3704bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3705bf215546Sopenharmony_ci  </ins>
3706bf215546Sopenharmony_ci
3707bf215546Sopenharmony_ci  <ins name="+BRANCH_LOWBITS.f32" mask="0xffe38" exact="0x6fa38" last="true" dests="0">
3708bf215546Sopenharmony_ci    <src start="0"/>
3709bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3710bf215546Sopenharmony_ci  </ins>
3711bf215546Sopenharmony_ci
3712bf215546Sopenharmony_ci  <ins name="+BRANCH_NO_DIVERG" mask="0xffe3f" exact="0x6fa34" last="true" dests="0">
3713bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
3714bf215546Sopenharmony_ci  </ins>
3715bf215546Sopenharmony_ci
3716bf215546Sopenharmony_ci  <ins name="+CLPER_OLD.i32" mask="0xfffc0" exact="0x3f0c0">
3717bf215546Sopenharmony_ci    <src start="0" mask="0x7"/>
3718bf215546Sopenharmony_ci    <src start="3"/>
3719bf215546Sopenharmony_ci  </ins>
3720bf215546Sopenharmony_ci
3721bf215546Sopenharmony_ci  <ins name="+CLPER.i32" mask="0xfc000" exact="0x7c000">
3722bf215546Sopenharmony_ci    <src start="0" mask="0x7"/>
3723bf215546Sopenharmony_ci    <src start="3"/>
3724bf215546Sopenharmony_ci    <mod name="lane_op" start="6" size="2">
3725bf215546Sopenharmony_ci      <opt>none</opt>
3726bf215546Sopenharmony_ci      <opt>xor</opt>
3727bf215546Sopenharmony_ci      <opt>accumulate</opt>
3728bf215546Sopenharmony_ci      <opt>shift</opt>
3729bf215546Sopenharmony_ci    </mod>
3730bf215546Sopenharmony_ci    <mod name="subgroup" start="8" size="2">
3731bf215546Sopenharmony_ci      <opt>subgroup2</opt>
3732bf215546Sopenharmony_ci      <opt>subgroup4</opt>
3733bf215546Sopenharmony_ci      <opt>subgroup8</opt>
3734bf215546Sopenharmony_ci      <opt pseudo="true">subgroup16</opt> <!-- Only on Valhall -->
3735bf215546Sopenharmony_ci    </mod>
3736bf215546Sopenharmony_ci    <mod name="inactive_result" start="10" size="4">
3737bf215546Sopenharmony_ci      <opt>zero</opt>
3738bf215546Sopenharmony_ci      <opt>umax</opt>
3739bf215546Sopenharmony_ci      <opt>i1</opt>
3740bf215546Sopenharmony_ci      <opt>v2i1</opt>
3741bf215546Sopenharmony_ci      <opt>smin</opt>
3742bf215546Sopenharmony_ci      <opt>smax</opt>
3743bf215546Sopenharmony_ci      <opt>v2smin</opt>
3744bf215546Sopenharmony_ci      <opt>v2smax</opt>
3745bf215546Sopenharmony_ci      <opt>v4smin</opt>
3746bf215546Sopenharmony_ci      <opt>v4smax</opt>
3747bf215546Sopenharmony_ci      <opt>f1</opt>
3748bf215546Sopenharmony_ci      <opt>v2f1</opt>
3749bf215546Sopenharmony_ci      <opt>infn</opt>
3750bf215546Sopenharmony_ci      <opt>inf</opt>
3751bf215546Sopenharmony_ci      <opt>v2infn</opt>
3752bf215546Sopenharmony_ci      <opt>v2inf</opt>
3753bf215546Sopenharmony_ci    </mod>
3754bf215546Sopenharmony_ci  </ins>
3755bf215546Sopenharmony_ci
3756bf215546Sopenharmony_ci  <ins name="+CUBEFACE2" mask="0xffff8" exact="0x3de58">
3757bf215546Sopenharmony_ci    <src start="0"/>
3758bf215546Sopenharmony_ci  </ins>
3759bf215546Sopenharmony_ci
3760bf215546Sopenharmony_ci  <ins name="+CUBE_SSEL" mask="0xffc00" exact="0x3e000">
3761bf215546Sopenharmony_ci    <src start="0"/>
3762bf215546Sopenharmony_ci    <src start="3"/>
3763bf215546Sopenharmony_ci    <src start="6"/>
3764bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
3765bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
3766bf215546Sopenharmony_ci    <derived start="9" size="1">
3767bf215546Sopenharmony_ci      <and>
3768bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
3769bf215546Sopenharmony_ci        <eq left="neg1" right="#none"/>
3770bf215546Sopenharmony_ci      </and>
3771bf215546Sopenharmony_ci      <and>
3772bf215546Sopenharmony_ci        <eq left="neg0" right="#neg"/>
3773bf215546Sopenharmony_ci        <eq left="neg1" right="#neg"/>
3774bf215546Sopenharmony_ci      </and>
3775bf215546Sopenharmony_ci    </derived>
3776bf215546Sopenharmony_ci  </ins>
3777bf215546Sopenharmony_ci
3778bf215546Sopenharmony_ci  <ins name="+CUBE_TSEL" mask="0xffc00" exact="0x3e400">
3779bf215546Sopenharmony_ci    <src start="0"/>
3780bf215546Sopenharmony_ci    <src start="3"/>
3781bf215546Sopenharmony_ci    <src start="6"/>
3782bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
3783bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
3784bf215546Sopenharmony_ci    <derived start="9" size="1">
3785bf215546Sopenharmony_ci      <and>
3786bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
3787bf215546Sopenharmony_ci        <eq left="neg1" right="#none"/>
3788bf215546Sopenharmony_ci      </and>
3789bf215546Sopenharmony_ci      <and>
3790bf215546Sopenharmony_ci        <eq left="neg0" right="#neg"/>
3791bf215546Sopenharmony_ci        <eq left="neg1" right="#neg"/>
3792bf215546Sopenharmony_ci      </and>
3793bf215546Sopenharmony_ci    </derived>
3794bf215546Sopenharmony_ci  </ins>
3795bf215546Sopenharmony_ci
3796bf215546Sopenharmony_ci  <ins name="+DISCARD.f32" mask="0xff800" exact="0xc8800" dests="0">
3797bf215546Sopenharmony_ci    <src start="0"/>
3798bf215546Sopenharmony_ci    <src start="3"/>
3799bf215546Sopenharmony_ci    <mod name="cmpf" size="3">
3800bf215546Sopenharmony_ci      <opt>eq</opt>
3801bf215546Sopenharmony_ci      <opt>gt</opt>
3802bf215546Sopenharmony_ci      <opt>ge</opt>
3803bf215546Sopenharmony_ci      <opt>ne</opt>
3804bf215546Sopenharmony_ci      <opt>lt</opt>
3805bf215546Sopenharmony_ci      <opt>le</opt>
3806bf215546Sopenharmony_ci    </mod>
3807bf215546Sopenharmony_ci    <mod name="widen0" size="2">
3808bf215546Sopenharmony_ci      <opt>none</opt>
3809bf215546Sopenharmony_ci      <opt>h0</opt>
3810bf215546Sopenharmony_ci      <opt>h1</opt>
3811bf215546Sopenharmony_ci    </mod>
3812bf215546Sopenharmony_ci    <mod name="widen1" size="2">
3813bf215546Sopenharmony_ci      <opt>none</opt>
3814bf215546Sopenharmony_ci      <opt>h0</opt>
3815bf215546Sopenharmony_ci      <opt>h1</opt>
3816bf215546Sopenharmony_ci    </mod>
3817bf215546Sopenharmony_ci    <derived start="6" size="2">
3818bf215546Sopenharmony_ci      <eq left="cmpf" right="#eq"/>
3819bf215546Sopenharmony_ci      <eq left="cmpf" right="#ne"/>
3820bf215546Sopenharmony_ci      <eq left="cmpf" right="#lt"/>
3821bf215546Sopenharmony_ci      <eq left="cmpf" right="#le"/>
3822bf215546Sopenharmony_ci    </derived>
3823bf215546Sopenharmony_ci    <derived start="8" size="3">
3824bf215546Sopenharmony_ci      <and>
3825bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
3826bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
3827bf215546Sopenharmony_ci      </and>
3828bf215546Sopenharmony_ci      <and>
3829bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
3830bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
3831bf215546Sopenharmony_ci      </and>
3832bf215546Sopenharmony_ci      <and>
3833bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
3834bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
3835bf215546Sopenharmony_ci      </and>
3836bf215546Sopenharmony_ci      <and>
3837bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
3838bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
3839bf215546Sopenharmony_ci      </and>
3840bf215546Sopenharmony_ci      <and>
3841bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
3842bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
3843bf215546Sopenharmony_ci      </and>
3844bf215546Sopenharmony_ci      <reserved/>
3845bf215546Sopenharmony_ci      <reserved/>
3846bf215546Sopenharmony_ci      <reserved/>
3847bf215546Sopenharmony_ci    </derived>
3848bf215546Sopenharmony_ci    <swap left="0" right="1">
3849bf215546Sopenharmony_ci      <or>
3850bf215546Sopenharmony_ci        <eq left="cmpf" right="#gt"/>
3851bf215546Sopenharmony_ci        <eq left="cmpf" right="#ge"/>
3852bf215546Sopenharmony_ci      </or>
3853bf215546Sopenharmony_ci      <rewrite name="cmpf">
3854bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
3855bf215546Sopenharmony_ci        <map from="ge" to="le"/>
3856bf215546Sopenharmony_ci      </rewrite>
3857bf215546Sopenharmony_ci    </swap>
3858bf215546Sopenharmony_ci  </ins>
3859bf215546Sopenharmony_ci
3860bf215546Sopenharmony_ci  <ins name="+DOORBELL" mask="0xffff8" exact="0xd7860" unused="true" message="job_management" dests="0">
3861bf215546Sopenharmony_ci    <src start="0"/>
3862bf215546Sopenharmony_ci  </ins>
3863bf215546Sopenharmony_ci
3864bf215546Sopenharmony_ci  <ins name="+EUREKA" mask="0xffff8" exact="0xd7850" unused="true" message="job_management" dests="0">
3865bf215546Sopenharmony_ci    <src start="0"/>
3866bf215546Sopenharmony_ci  </ins>
3867bf215546Sopenharmony_ci
3868bf215546Sopenharmony_ci  <ins name="+F16_TO_F32" mask="0xffff0" exact="0x3cd10">
3869bf215546Sopenharmony_ci    <src start="0"/>
3870bf215546Sopenharmony_ci    <mod name="lane0" start="3" size="1" default="h0">
3871bf215546Sopenharmony_ci      <opt>h0</opt>
3872bf215546Sopenharmony_ci      <opt>h1</opt>
3873bf215546Sopenharmony_ci    </mod>
3874bf215546Sopenharmony_ci    <mod name="ftz" start="9" size="1" opt="ftz" pseudo="true"/>
3875bf215546Sopenharmony_ci  </ins>
3876bf215546Sopenharmony_ci
3877bf215546Sopenharmony_ci  <ins name="+F16_TO_S32">
3878bf215546Sopenharmony_ci    <src start="0"/>
3879bf215546Sopenharmony_ci    <mod name="round" size="3">
3880bf215546Sopenharmony_ci      <opt>none</opt>
3881bf215546Sopenharmony_ci      <opt>rtp</opt>
3882bf215546Sopenharmony_ci      <opt>rtn</opt>
3883bf215546Sopenharmony_ci      <opt>rtz</opt>
3884bf215546Sopenharmony_ci      <opt>rtna</opt>
3885bf215546Sopenharmony_ci    </mod>
3886bf215546Sopenharmony_ci    <mod name="lane0" size="1" default="h0">
3887bf215546Sopenharmony_ci      <opt>h0</opt>
3888bf215546Sopenharmony_ci      <opt>h1</opt>
3889bf215546Sopenharmony_ci    </mod>
3890bf215546Sopenharmony_ci    <encoding mask="0xfff48" exact="0x3c500">
3891bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
3892bf215546Sopenharmony_ci      <copy name="lane0" start="7"/>
3893bf215546Sopenharmony_ci      <derived start="4" size="2">
3894bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
3895bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
3896bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
3897bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
3898bf215546Sopenharmony_ci      </derived>
3899bf215546Sopenharmony_ci    </encoding>
3900bf215546Sopenharmony_ci    <encoding mask="0xfffd8" exact="0x3cc40">
3901bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
3902bf215546Sopenharmony_ci      <copy name="lane0" start="5"/>
3903bf215546Sopenharmony_ci    </encoding>
3904bf215546Sopenharmony_ci  </ins>
3905bf215546Sopenharmony_ci
3906bf215546Sopenharmony_ci  <ins name="+F16_TO_U32">
3907bf215546Sopenharmony_ci    <src start="0"/>
3908bf215546Sopenharmony_ci    <mod name="round" size="3">
3909bf215546Sopenharmony_ci      <opt>none</opt>
3910bf215546Sopenharmony_ci      <opt>rtp</opt>
3911bf215546Sopenharmony_ci      <opt>rtn</opt>
3912bf215546Sopenharmony_ci      <opt>rtz</opt>
3913bf215546Sopenharmony_ci      <opt>rtna</opt>
3914bf215546Sopenharmony_ci    </mod>
3915bf215546Sopenharmony_ci    <mod name="lane0" size="1" default="h0">
3916bf215546Sopenharmony_ci      <opt>h0</opt>
3917bf215546Sopenharmony_ci      <opt>h1</opt>
3918bf215546Sopenharmony_ci    </mod>
3919bf215546Sopenharmony_ci    <encoding mask="0xfff48" exact="0x3c508">
3920bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
3921bf215546Sopenharmony_ci      <copy name="lane0" start="7"/>
3922bf215546Sopenharmony_ci      <derived start="4" size="2">
3923bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
3924bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
3925bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
3926bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
3927bf215546Sopenharmony_ci      </derived>
3928bf215546Sopenharmony_ci    </encoding>
3929bf215546Sopenharmony_ci    <encoding mask="0xfffd8" exact="0x3cc48">
3930bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
3931bf215546Sopenharmony_ci      <copy name="lane0" start="5"/>
3932bf215546Sopenharmony_ci    </encoding>
3933bf215546Sopenharmony_ci  </ins>
3934bf215546Sopenharmony_ci
3935bf215546Sopenharmony_ci  <ins name="+F32_TO_S32">
3936bf215546Sopenharmony_ci    <src start="0"/>
3937bf215546Sopenharmony_ci    <mod name="round" size="3">
3938bf215546Sopenharmony_ci      <opt>none</opt>
3939bf215546Sopenharmony_ci      <opt>rtp</opt>
3940bf215546Sopenharmony_ci      <opt>rtn</opt>
3941bf215546Sopenharmony_ci      <opt>rtz</opt>
3942bf215546Sopenharmony_ci      <opt>rtna</opt>
3943bf215546Sopenharmony_ci    </mod>
3944bf215546Sopenharmony_ci    <encoding mask="0xfffc8" exact="0x3c980">
3945bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
3946bf215546Sopenharmony_ci      <derived start="4" size="2">
3947bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
3948bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
3949bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
3950bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
3951bf215546Sopenharmony_ci      </derived>
3952bf215546Sopenharmony_ci    </encoding>
3953bf215546Sopenharmony_ci    <encoding mask="0xffff8" exact="0x3cca0">
3954bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
3955bf215546Sopenharmony_ci    </encoding>
3956bf215546Sopenharmony_ci  </ins>
3957bf215546Sopenharmony_ci
3958bf215546Sopenharmony_ci  <ins name="+F32_TO_U32">
3959bf215546Sopenharmony_ci    <src start="0"/>
3960bf215546Sopenharmony_ci    <mod name="round" size="3">
3961bf215546Sopenharmony_ci      <opt>none</opt>
3962bf215546Sopenharmony_ci      <opt>rtp</opt>
3963bf215546Sopenharmony_ci      <opt>rtn</opt>
3964bf215546Sopenharmony_ci      <opt>rtz</opt>
3965bf215546Sopenharmony_ci      <opt>rtna</opt>
3966bf215546Sopenharmony_ci    </mod>
3967bf215546Sopenharmony_ci    <encoding mask="0xfffc8" exact="0x3c988">
3968bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
3969bf215546Sopenharmony_ci      <derived start="4" size="2">
3970bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
3971bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
3972bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
3973bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
3974bf215546Sopenharmony_ci      </derived>
3975bf215546Sopenharmony_ci    </encoding>
3976bf215546Sopenharmony_ci    <encoding mask="0xffff8" exact="0x3cca8">
3977bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
3978bf215546Sopenharmony_ci    </encoding>
3979bf215546Sopenharmony_ci  </ins>
3980bf215546Sopenharmony_ci
3981bf215546Sopenharmony_ci  <ins name="+FADD.f32">
3982bf215546Sopenharmony_ci    <src start="0"/>
3983bf215546Sopenharmony_ci    <src start="3"/>
3984bf215546Sopenharmony_ci    <mod name="round" size="3">
3985bf215546Sopenharmony_ci      <opt>none</opt>
3986bf215546Sopenharmony_ci      <opt>rtp</opt>
3987bf215546Sopenharmony_ci      <opt>rtn</opt>
3988bf215546Sopenharmony_ci      <opt>rtz</opt>
3989bf215546Sopenharmony_ci      <opt>rto</opt>
3990bf215546Sopenharmony_ci    </mod>
3991bf215546Sopenharmony_ci    <mod name="abs1" size="1" opt="abs"/>
3992bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
3993bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
3994bf215546Sopenharmony_ci    <mod name="clamp" size="2">
3995bf215546Sopenharmony_ci      <opt>none</opt>
3996bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
3997bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
3998bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
3999bf215546Sopenharmony_ci    </mod>
4000bf215546Sopenharmony_ci    <mod name="abs0" size="1" opt="abs"/>
4001bf215546Sopenharmony_ci    <mod name="widen0" size="2">
4002bf215546Sopenharmony_ci      <opt>none</opt>
4003bf215546Sopenharmony_ci      <opt>h0</opt>
4004bf215546Sopenharmony_ci      <opt>h1</opt>
4005bf215546Sopenharmony_ci    </mod>
4006bf215546Sopenharmony_ci    <mod name="widen1" size="2">
4007bf215546Sopenharmony_ci      <opt>none</opt>
4008bf215546Sopenharmony_ci      <opt>h0</opt>
4009bf215546Sopenharmony_ci      <opt>h1</opt>
4010bf215546Sopenharmony_ci    </mod>
4011bf215546Sopenharmony_ci    <encoding mask="0xf0000" exact="0x20000">
4012bf215546Sopenharmony_ci      <neq left="round" right="#rto"/>
4013bf215546Sopenharmony_ci      <copy name="abs1" start="6"/>
4014bf215546Sopenharmony_ci      <copy name="neg0" start="7"/>
4015bf215546Sopenharmony_ci      <copy name="neg1" start="8"/>
4016bf215546Sopenharmony_ci      <copy name="clamp" start="11"/>
4017bf215546Sopenharmony_ci      <copy name="abs0" start="15"/>
4018bf215546Sopenharmony_ci      <derived start="13" size="2">
4019bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
4020bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
4021bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
4022bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
4023bf215546Sopenharmony_ci      </derived>
4024bf215546Sopenharmony_ci      <derived start="9" size="2">
4025bf215546Sopenharmony_ci        <and>
4026bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
4027bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
4028bf215546Sopenharmony_ci        </and>
4029bf215546Sopenharmony_ci        <and>
4030bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
4031bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
4032bf215546Sopenharmony_ci        </and>
4033bf215546Sopenharmony_ci        <and>
4034bf215546Sopenharmony_ci          <eq left="widen0" right="#none"/>
4035bf215546Sopenharmony_ci          <eq left="widen1" right="#h1"/>
4036bf215546Sopenharmony_ci        </and>
4037bf215546Sopenharmony_ci        <and>
4038bf215546Sopenharmony_ci          <eq left="widen0" right="#h0"/>
4039bf215546Sopenharmony_ci          <eq left="widen1" right="#h0"/>
4040bf215546Sopenharmony_ci        </and>
4041bf215546Sopenharmony_ci      </derived>
4042bf215546Sopenharmony_ci    </encoding>
4043bf215546Sopenharmony_ci    <encoding mask="0xfffc0" exact="0x75200">
4044bf215546Sopenharmony_ci      <and>
4045bf215546Sopenharmony_ci        <eq left="round" right="#rto"/>
4046bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
4047bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
4048bf215546Sopenharmony_ci        <eq left="abs0" right="#none"/>
4049bf215546Sopenharmony_ci        <eq left="abs1" right="#none"/>
4050bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
4051bf215546Sopenharmony_ci        <eq left="neg1" right="#none"/>
4052bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
4053bf215546Sopenharmony_ci      </and>
4054bf215546Sopenharmony_ci    </encoding>
4055bf215546Sopenharmony_ci    <swap left="0" right="1">
4056bf215546Sopenharmony_ci      <or>
4057bf215546Sopenharmony_ci        <and>
4058bf215546Sopenharmony_ci          <eq left="widen0" right="#h0"/>
4059bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
4060bf215546Sopenharmony_ci        </and>
4061bf215546Sopenharmony_ci        <and>
4062bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
4063bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
4064bf215546Sopenharmony_ci        </and>
4065bf215546Sopenharmony_ci      </or>
4066bf215546Sopenharmony_ci    </swap>
4067bf215546Sopenharmony_ci  </ins>
4068bf215546Sopenharmony_ci
4069bf215546Sopenharmony_ci  <ins name="+FADD.v2f16" mask="0xf0000" exact="0xa0000">
4070bf215546Sopenharmony_ci    <src start="0"/>
4071bf215546Sopenharmony_ci    <src start="3"/>
4072bf215546Sopenharmony_ci    <mod name="abs1" start="6" size="1" opt="abs"/>
4073bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
4074bf215546Sopenharmony_ci    <mod name="neg1" start="8" size="1" opt="neg"/>
4075bf215546Sopenharmony_ci    <mod name="swz0" start="9" size="2" default="h01">
4076bf215546Sopenharmony_ci      <opt>h00</opt>
4077bf215546Sopenharmony_ci      <opt>h10</opt>
4078bf215546Sopenharmony_ci      <opt>h01</opt>
4079bf215546Sopenharmony_ci      <opt>h11</opt>
4080bf215546Sopenharmony_ci    </mod>
4081bf215546Sopenharmony_ci    <mod name="swz1" start="11" size="2" default="h01">
4082bf215546Sopenharmony_ci      <opt>h00</opt>
4083bf215546Sopenharmony_ci      <opt>h10</opt>
4084bf215546Sopenharmony_ci      <opt>h01</opt>
4085bf215546Sopenharmony_ci      <opt>h11</opt>
4086bf215546Sopenharmony_ci    </mod>
4087bf215546Sopenharmony_ci    <mod name="round" start="13" size="2">
4088bf215546Sopenharmony_ci      <opt>none</opt>
4089bf215546Sopenharmony_ci      <opt>rtp</opt>
4090bf215546Sopenharmony_ci      <opt>rtn</opt>
4091bf215546Sopenharmony_ci      <opt>rtz</opt>
4092bf215546Sopenharmony_ci    </mod>
4093bf215546Sopenharmony_ci    <mod name="abs0" start="15" size="1" opt="abs"/>
4094bf215546Sopenharmony_ci  </ins>
4095bf215546Sopenharmony_ci
4096bf215546Sopenharmony_ci  <ins name="+FADD_RSCALE.f32" mask="0xe8000" exact="0x88000">
4097bf215546Sopenharmony_ci    <src start="0"/>
4098bf215546Sopenharmony_ci    <src start="3"/>
4099bf215546Sopenharmony_ci    <src start="6"/>
4100bf215546Sopenharmony_ci    <mod name="clamp" size="1" opt="clamp_0_1"/>
4101bf215546Sopenharmony_ci    <mod name="special" size="1" opt="n"/>
4102bf215546Sopenharmony_ci    <mod name="round" size="3">
4103bf215546Sopenharmony_ci      <opt>none</opt>
4104bf215546Sopenharmony_ci      <opt>rtp</opt>
4105bf215546Sopenharmony_ci      <opt>rtn</opt>
4106bf215546Sopenharmony_ci      <opt>rtz</opt>
4107bf215546Sopenharmony_ci      <opt>rtna</opt>
4108bf215546Sopenharmony_ci    </mod>
4109bf215546Sopenharmony_ci    <mod name="abs1" start="12" size="1" opt="abs"/>
4110bf215546Sopenharmony_ci    <mod name="neg0" start="13" size="1" opt="neg"/>
4111bf215546Sopenharmony_ci    <mod name="neg1" start="14" size="1" opt="neg"/>
4112bf215546Sopenharmony_ci    <mod name="abs0" start="16" size="1" opt="abs"/>
4113bf215546Sopenharmony_ci    <derived start="9" size="3">
4114bf215546Sopenharmony_ci      <and>
4115bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
4116bf215546Sopenharmony_ci        <eq left="special" right="#none"/>
4117bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
4118bf215546Sopenharmony_ci      </and>
4119bf215546Sopenharmony_ci      <reserved/>
4120bf215546Sopenharmony_ci      <and>
4121bf215546Sopenharmony_ci        <eq left="clamp" right="#clamp_0_1"/>
4122bf215546Sopenharmony_ci        <eq left="special" right="#none"/>
4123bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
4124bf215546Sopenharmony_ci      </and>
4125bf215546Sopenharmony_ci      <and>
4126bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
4127bf215546Sopenharmony_ci        <eq left="special" right="#n"/>
4128bf215546Sopenharmony_ci        <eq left="round" right="#rtna"/>
4129bf215546Sopenharmony_ci      </and>
4130bf215546Sopenharmony_ci      <and>
4131bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
4132bf215546Sopenharmony_ci        <eq left="special" right="#n"/>
4133bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
4134bf215546Sopenharmony_ci      </and>
4135bf215546Sopenharmony_ci      <and>
4136bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
4137bf215546Sopenharmony_ci        <eq left="special" right="#n"/>
4138bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
4139bf215546Sopenharmony_ci      </and>
4140bf215546Sopenharmony_ci      <and>
4141bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
4142bf215546Sopenharmony_ci        <eq left="special" right="#n"/>
4143bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
4144bf215546Sopenharmony_ci      </and>
4145bf215546Sopenharmony_ci      <and>
4146bf215546Sopenharmony_ci        <eq left="clamp" right="#none"/>
4147bf215546Sopenharmony_ci        <eq left="special" right="#n"/>
4148bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
4149bf215546Sopenharmony_ci      </and>
4150bf215546Sopenharmony_ci    </derived>
4151bf215546Sopenharmony_ci  </ins>
4152bf215546Sopenharmony_ci
4153bf215546Sopenharmony_ci  <ins name="+FATAN_ASSIST.f16" mask="0xfff00" exact="0x67800" unused="true" table="true">
4154bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4155bf215546Sopenharmony_ci    <src start="3" mask="0xf7"/>
4156bf215546Sopenharmony_ci    <mod name="lane1" start="6" size="1" default="h0">
4157bf215546Sopenharmony_ci      <opt>h0</opt>
4158bf215546Sopenharmony_ci      <opt>h1</opt>
4159bf215546Sopenharmony_ci    </mod>
4160bf215546Sopenharmony_ci    <mod name="lane0" start="7" size="1" default="h0">
4161bf215546Sopenharmony_ci      <opt>h0</opt>
4162bf215546Sopenharmony_ci      <opt>h1</opt>
4163bf215546Sopenharmony_ci    </mod>
4164bf215546Sopenharmony_ci  </ins>
4165bf215546Sopenharmony_ci
4166bf215546Sopenharmony_ci  <ins name="+FATAN_ASSIST.f32" mask="0xfffc0" exact="0x67a00" unused="true" table="true">
4167bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4168bf215546Sopenharmony_ci    <src start="3" mask="0xf7"/>
4169bf215546Sopenharmony_ci  </ins>
4170bf215546Sopenharmony_ci
4171bf215546Sopenharmony_ci  <ins name="+FATAN_TABLE.f16" mask="0xfff00" exact="0x67900" unused="true" table="true">
4172bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4173bf215546Sopenharmony_ci    <src start="3" mask="0xf7"/>
4174bf215546Sopenharmony_ci    <mod name="lane1" start="6" size="1" default="h0">
4175bf215546Sopenharmony_ci      <opt>h0</opt>
4176bf215546Sopenharmony_ci      <opt>h1</opt>
4177bf215546Sopenharmony_ci    </mod>
4178bf215546Sopenharmony_ci    <mod name="lane0" start="7" size="1" default="h0">
4179bf215546Sopenharmony_ci      <opt>h0</opt>
4180bf215546Sopenharmony_ci      <opt>h1</opt>
4181bf215546Sopenharmony_ci    </mod>
4182bf215546Sopenharmony_ci  </ins>
4183bf215546Sopenharmony_ci
4184bf215546Sopenharmony_ci  <ins name="+FATAN_TABLE.f32" mask="0xfffc0" exact="0x67a40" unused="true" table="true">
4185bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4186bf215546Sopenharmony_ci    <src start="3" mask="0xf7"/>
4187bf215546Sopenharmony_ci  </ins>
4188bf215546Sopenharmony_ci
4189bf215546Sopenharmony_ci  <ins name="+FCMP.f32" mask="0xf0000" exact="0x30000">
4190bf215546Sopenharmony_ci    <src start="0"/>
4191bf215546Sopenharmony_ci    <src start="3"/>
4192bf215546Sopenharmony_ci    <mod name="widen0" size="2">
4193bf215546Sopenharmony_ci      <opt>none</opt>
4194bf215546Sopenharmony_ci      <opt>h0</opt>
4195bf215546Sopenharmony_ci      <opt>h1</opt>
4196bf215546Sopenharmony_ci    </mod>
4197bf215546Sopenharmony_ci    <mod name="widen1" size="2">
4198bf215546Sopenharmony_ci      <opt>none</opt>
4199bf215546Sopenharmony_ci      <opt>h0</opt>
4200bf215546Sopenharmony_ci      <opt>h1</opt>
4201bf215546Sopenharmony_ci    </mod>
4202bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
4203bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
4204bf215546Sopenharmony_ci    <mod name="cmpf" start="6" size="3">
4205bf215546Sopenharmony_ci      <opt>eq</opt>
4206bf215546Sopenharmony_ci      <opt>gt</opt>
4207bf215546Sopenharmony_ci      <opt>ge</opt>
4208bf215546Sopenharmony_ci      <opt>ne</opt>
4209bf215546Sopenharmony_ci      <opt>lt</opt>
4210bf215546Sopenharmony_ci      <opt>le</opt>
4211bf215546Sopenharmony_ci      <opt>gtlt</opt>
4212bf215546Sopenharmony_ci      <opt>total</opt>
4213bf215546Sopenharmony_ci    </mod>
4214bf215546Sopenharmony_ci    <mod name="abs0" start="11" size="1" opt="abs"/>
4215bf215546Sopenharmony_ci    <mod name="abs1" start="12" size="1" opt="abs"/>
4216bf215546Sopenharmony_ci    <mod name="result_type" start="14" size="2" default="i1">
4217bf215546Sopenharmony_ci      <opt>i1</opt>
4218bf215546Sopenharmony_ci      <opt>f1</opt>
4219bf215546Sopenharmony_ci      <opt>m1</opt>
4220bf215546Sopenharmony_ci    </mod>
4221bf215546Sopenharmony_ci    <derived start="9" size="2">
4222bf215546Sopenharmony_ci      <and>
4223bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
4224bf215546Sopenharmony_ci        <eq left="widen1" right="#none"/>
4225bf215546Sopenharmony_ci      </and>
4226bf215546Sopenharmony_ci      <and>
4227bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
4228bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
4229bf215546Sopenharmony_ci      </and>
4230bf215546Sopenharmony_ci      <and>
4231bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
4232bf215546Sopenharmony_ci        <eq left="widen1" right="#h1"/>
4233bf215546Sopenharmony_ci      </and>
4234bf215546Sopenharmony_ci      <and>
4235bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
4236bf215546Sopenharmony_ci        <eq left="widen1" right="#h0"/>
4237bf215546Sopenharmony_ci      </and>
4238bf215546Sopenharmony_ci    </derived>
4239bf215546Sopenharmony_ci    <derived start="13" size="1">
4240bf215546Sopenharmony_ci      <and>
4241bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
4242bf215546Sopenharmony_ci        <eq left="neg1" right="#none"/>
4243bf215546Sopenharmony_ci      </and>
4244bf215546Sopenharmony_ci      <and>
4245bf215546Sopenharmony_ci        <eq left="neg0" right="#neg"/>
4246bf215546Sopenharmony_ci        <eq left="neg1" right="#none"/>
4247bf215546Sopenharmony_ci      </and>
4248bf215546Sopenharmony_ci    </derived>
4249bf215546Sopenharmony_ci    <swap left="0" right="1">
4250bf215546Sopenharmony_ci      <or>
4251bf215546Sopenharmony_ci        <and>
4252bf215546Sopenharmony_ci          <eq left="neg0" right="#none"/>
4253bf215546Sopenharmony_ci          <eq left="neg1" right="#neg"/>
4254bf215546Sopenharmony_ci        </and>
4255bf215546Sopenharmony_ci        <and>
4256bf215546Sopenharmony_ci          <eq left="widen0" right="#h0"/>
4257bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
4258bf215546Sopenharmony_ci        </and>
4259bf215546Sopenharmony_ci        <and>
4260bf215546Sopenharmony_ci          <eq left="widen0" right="#h1"/>
4261bf215546Sopenharmony_ci          <eq left="widen1" right="#none"/>
4262bf215546Sopenharmony_ci        </and>
4263bf215546Sopenharmony_ci      </or>
4264bf215546Sopenharmony_ci      <rewrite name="cmpf">
4265bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
4266bf215546Sopenharmony_ci        <map from="le" to="ge"/>
4267bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
4268bf215546Sopenharmony_ci        <map from="ge" to="le"/>
4269bf215546Sopenharmony_ci      </rewrite>
4270bf215546Sopenharmony_ci    </swap>
4271bf215546Sopenharmony_ci  </ins>
4272bf215546Sopenharmony_ci
4273bf215546Sopenharmony_ci  <ins name="+FCMP.v2f16" mask="0xf0000" exact="0xb0000">
4274bf215546Sopenharmony_ci    <src start="0"/>
4275bf215546Sopenharmony_ci    <src start="3"/>
4276bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
4277bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
4278bf215546Sopenharmony_ci    <mod name="cmpf" start="6" size="3">
4279bf215546Sopenharmony_ci      <opt>eq</opt>
4280bf215546Sopenharmony_ci      <opt>gt</opt>
4281bf215546Sopenharmony_ci      <opt>ge</opt>
4282bf215546Sopenharmony_ci      <opt>ne</opt>
4283bf215546Sopenharmony_ci      <opt>lt</opt>
4284bf215546Sopenharmony_ci      <opt>le</opt>
4285bf215546Sopenharmony_ci      <opt>gtlt</opt>
4286bf215546Sopenharmony_ci      <opt>total</opt>
4287bf215546Sopenharmony_ci    </mod>
4288bf215546Sopenharmony_ci    <mod name="swz0" start="9" size="2" default="h01">
4289bf215546Sopenharmony_ci      <opt>h00</opt>
4290bf215546Sopenharmony_ci      <opt>h10</opt>
4291bf215546Sopenharmony_ci      <opt>h01</opt>
4292bf215546Sopenharmony_ci      <opt>h11</opt>
4293bf215546Sopenharmony_ci    </mod>
4294bf215546Sopenharmony_ci    <mod name="swz1" start="11" size="2" default="h01">
4295bf215546Sopenharmony_ci      <opt>h00</opt>
4296bf215546Sopenharmony_ci      <opt>h10</opt>
4297bf215546Sopenharmony_ci      <opt>h01</opt>
4298bf215546Sopenharmony_ci      <opt>h11</opt>
4299bf215546Sopenharmony_ci    </mod>
4300bf215546Sopenharmony_ci    <mod name="result_type" start="14" size="2" default="i1">
4301bf215546Sopenharmony_ci      <opt>i1</opt>
4302bf215546Sopenharmony_ci      <opt>f1</opt>
4303bf215546Sopenharmony_ci      <opt>m1</opt>
4304bf215546Sopenharmony_ci    </mod>
4305bf215546Sopenharmony_ci    <derived start="13" size="1">
4306bf215546Sopenharmony_ci      <and>
4307bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
4308bf215546Sopenharmony_ci        <eq left="neg1" right="#none"/>
4309bf215546Sopenharmony_ci      </and>
4310bf215546Sopenharmony_ci      <and>
4311bf215546Sopenharmony_ci        <eq left="neg0" right="#neg"/>
4312bf215546Sopenharmony_ci        <eq left="neg1" right="#none"/>
4313bf215546Sopenharmony_ci      </and>
4314bf215546Sopenharmony_ci    </derived>
4315bf215546Sopenharmony_ci    <swap left="0" right="1">
4316bf215546Sopenharmony_ci      <and>
4317bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
4318bf215546Sopenharmony_ci        <eq left="neg1" right="#neg"/>
4319bf215546Sopenharmony_ci      </and>
4320bf215546Sopenharmony_ci      <rewrite name="cmpf">
4321bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
4322bf215546Sopenharmony_ci        <map from="le" to="ge"/>
4323bf215546Sopenharmony_ci        <map from="gt" to="lt"/>
4324bf215546Sopenharmony_ci        <map from="ge" to="le"/>
4325bf215546Sopenharmony_ci      </rewrite>
4326bf215546Sopenharmony_ci    </swap>
4327bf215546Sopenharmony_ci  </ins>
4328bf215546Sopenharmony_ci
4329bf215546Sopenharmony_ci  <ins name="+FCOS_TABLE.u6" mask="0xfffe8" exact="0x67a88" table="true">
4330bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4331bf215546Sopenharmony_ci    <mod name="offset" start="4" size="1" opt="offset"/>
4332bf215546Sopenharmony_ci  </ins>
4333bf215546Sopenharmony_ci
4334bf215546Sopenharmony_ci  <ins name="+FEXP.f32" mask="0xfffc0" exact="0x66ac0" table="true">
4335bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4336bf215546Sopenharmony_ci    <src start="3" mask="0xf7"/>
4337bf215546Sopenharmony_ci  </ins>
4338bf215546Sopenharmony_ci
4339bf215546Sopenharmony_ci  <ins name="+FEXP_TABLE.u4" mask="0xfffe0" exact="0x67ac0" table="true">
4340bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4341bf215546Sopenharmony_ci    <mod name="adj" start="3" size="2">
4342bf215546Sopenharmony_ci      <opt>none</opt>
4343bf215546Sopenharmony_ci      <opt>small</opt>
4344bf215546Sopenharmony_ci      <opt>low</opt>
4345bf215546Sopenharmony_ci    </mod>
4346bf215546Sopenharmony_ci  </ins>
4347bf215546Sopenharmony_ci
4348bf215546Sopenharmony_ci  <ins name="+FLOGD.f32" mask="0xffff8" exact="0x66340" table="true">
4349bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4350bf215546Sopenharmony_ci  </ins>
4351bf215546Sopenharmony_ci
4352bf215546Sopenharmony_ci  <ins name="+FLOG_TABLE.f32" table="true">
4353bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4354bf215546Sopenharmony_ci    <mod name="widen0" size="2">
4355bf215546Sopenharmony_ci      <opt>none</opt>
4356bf215546Sopenharmony_ci      <opt>h0</opt>
4357bf215546Sopenharmony_ci      <opt>h1</opt>
4358bf215546Sopenharmony_ci    </mod>
4359bf215546Sopenharmony_ci    <mod name="mode" size="2">
4360bf215546Sopenharmony_ci      <opt>red</opt>
4361bf215546Sopenharmony_ci      <opt>base2</opt>
4362bf215546Sopenharmony_ci      <opt>natural</opt>
4363bf215546Sopenharmony_ci    </mod>
4364bf215546Sopenharmony_ci    <mod name="precision" size="2">
4365bf215546Sopenharmony_ci      <opt>none</opt>
4366bf215546Sopenharmony_ci      <opt>high</opt>
4367bf215546Sopenharmony_ci      <opt>low</opt>
4368bf215546Sopenharmony_ci    </mod>
4369bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
4370bf215546Sopenharmony_ci    <mod name="abs0" size="1" opt="abs"/>
4371bf215546Sopenharmony_ci    <mod name="divzero" size="1" opt="divzero"/>
4372bf215546Sopenharmony_ci    <encoding mask="0xfffc0" exact="0x67300">
4373bf215546Sopenharmony_ci      <and>
4374bf215546Sopenharmony_ci        <eq left="mode" right="#red"/>
4375bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
4376bf215546Sopenharmony_ci        <eq left="precision" right="#none"/>
4377bf215546Sopenharmony_ci      </and>
4378bf215546Sopenharmony_ci      <copy name="neg0" start="3"/>
4379bf215546Sopenharmony_ci      <copy name="abs0" start="4"/>
4380bf215546Sopenharmony_ci      <copy name="divzero" start="5"/>
4381bf215546Sopenharmony_ci    </encoding>
4382bf215546Sopenharmony_ci    <encoding mask="0xfff40" exact="0x67340">
4383bf215546Sopenharmony_ci      <and>
4384bf215546Sopenharmony_ci        <eq left="mode" right="#red"/>
4385bf215546Sopenharmony_ci        <neq left="widen0" right="#none"/>
4386bf215546Sopenharmony_ci        <eq left="precision" right="#none"/>
4387bf215546Sopenharmony_ci      </and>
4388bf215546Sopenharmony_ci      <copy name="neg0" start="3"/>
4389bf215546Sopenharmony_ci      <copy name="abs0" start="4"/>
4390bf215546Sopenharmony_ci      <copy name="divzero" start="5"/>
4391bf215546Sopenharmony_ci      <derived start="7" size="1">
4392bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
4393bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
4394bf215546Sopenharmony_ci      </derived>
4395bf215546Sopenharmony_ci    </encoding>
4396bf215546Sopenharmony_ci    <encoding mask="0xfffc0" exact="0x67b00">
4397bf215546Sopenharmony_ci      <and>
4398bf215546Sopenharmony_ci        <neq left="mode" right="#red"/>
4399bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
4400bf215546Sopenharmony_ci        <eq left="precision" right="#none"/>
4401bf215546Sopenharmony_ci        <eq left="divzero" right="#none"/>
4402bf215546Sopenharmony_ci      </and>
4403bf215546Sopenharmony_ci      <copy name="neg0" start="3"/>
4404bf215546Sopenharmony_ci      <copy name="abs0" start="4"/>
4405bf215546Sopenharmony_ci      <derived start="5" size="1">
4406bf215546Sopenharmony_ci        <eq left="mode" right="#base2"/>
4407bf215546Sopenharmony_ci        <eq left="mode" right="#natural"/>
4408bf215546Sopenharmony_ci      </derived>
4409bf215546Sopenharmony_ci    </encoding>
4410bf215546Sopenharmony_ci    <encoding mask="0xfff40" exact="0x67b40">
4411bf215546Sopenharmony_ci      <and>
4412bf215546Sopenharmony_ci        <neq left="mode" right="#red"/>
4413bf215546Sopenharmony_ci        <neq left="widen0" right="#none"/>
4414bf215546Sopenharmony_ci        <eq left="precision" right="#none"/>
4415bf215546Sopenharmony_ci        <eq left="divzero" right="#none"/>
4416bf215546Sopenharmony_ci      </and>
4417bf215546Sopenharmony_ci      <copy name="neg0" start="3"/>
4418bf215546Sopenharmony_ci      <copy name="abs0" start="4"/>
4419bf215546Sopenharmony_ci      <derived start="5" size="1">
4420bf215546Sopenharmony_ci        <eq left="mode" right="#base2"/>
4421bf215546Sopenharmony_ci        <eq left="mode" right="#natural"/>
4422bf215546Sopenharmony_ci      </derived>
4423bf215546Sopenharmony_ci      <derived start="7" size="1">
4424bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
4425bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
4426bf215546Sopenharmony_ci      </derived>
4427bf215546Sopenharmony_ci    </encoding>
4428bf215546Sopenharmony_ci    <encoding mask="0xfffe0" exact="0x67ae0">
4429bf215546Sopenharmony_ci      <and>
4430bf215546Sopenharmony_ci        <neq left="mode" right="#red"/>
4431bf215546Sopenharmony_ci        <eq left="widen0" right="#none"/>
4432bf215546Sopenharmony_ci        <neq left="precision" right="#none"/>
4433bf215546Sopenharmony_ci        <eq left="divzero" right="#none"/>
4434bf215546Sopenharmony_ci        <eq left="abs0" right="#none"/>
4435bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
4436bf215546Sopenharmony_ci      </and>
4437bf215546Sopenharmony_ci      <derived start="3" size="1">
4438bf215546Sopenharmony_ci        <eq left="mode" right="#natural"/>
4439bf215546Sopenharmony_ci        <eq left="mode" right="#base2"/>
4440bf215546Sopenharmony_ci      </derived>
4441bf215546Sopenharmony_ci      <derived start="4" size="1">
4442bf215546Sopenharmony_ci        <eq left="precision" right="#high"/>
4443bf215546Sopenharmony_ci        <eq left="precision" right="#low"/>
4444bf215546Sopenharmony_ci      </derived>
4445bf215546Sopenharmony_ci    </encoding>
4446bf215546Sopenharmony_ci  </ins>
4447bf215546Sopenharmony_ci
4448bf215546Sopenharmony_ci  <ins name="+FMAX.f32" mask="0xf0600" exact="0x0">
4449bf215546Sopenharmony_ci    <src start="0"/>
4450bf215546Sopenharmony_ci    <src start="3"/>
4451bf215546Sopenharmony_ci    <mod name="abs1" start="6" size="1" opt="abs"/>
4452bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
4453bf215546Sopenharmony_ci    <mod name="neg1" start="8" size="1" opt="neg"/>
4454bf215546Sopenharmony_ci    <mod name="clamp" start="11" size="2">
4455bf215546Sopenharmony_ci      <opt>none</opt>
4456bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
4457bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
4458bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
4459bf215546Sopenharmony_ci    </mod>
4460bf215546Sopenharmony_ci    <mod name="sem" start="13" size="2" default="nan_suppress">
4461bf215546Sopenharmony_ci      <opt>nan_suppress</opt>
4462bf215546Sopenharmony_ci      <opt>nan_propagate</opt>
4463bf215546Sopenharmony_ci      <opt>c</opt>
4464bf215546Sopenharmony_ci      <opt>inverse_c</opt>
4465bf215546Sopenharmony_ci    </mod>
4466bf215546Sopenharmony_ci    <mod name="abs0" start="15" size="1" opt="abs"/>
4467bf215546Sopenharmony_ci  </ins>
4468bf215546Sopenharmony_ci
4469bf215546Sopenharmony_ci  <ins name="+FMAX.v2f16" mask="0xf8000" exact="0x80000">
4470bf215546Sopenharmony_ci    <src start="0"/>
4471bf215546Sopenharmony_ci    <src start="3"/>
4472bf215546Sopenharmony_ci    <mod name="abs0" size="1" opt="abs"/>
4473bf215546Sopenharmony_ci    <mod name="abs1" size="1" opt="abs"/>
4474bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
4475bf215546Sopenharmony_ci    <mod name="neg1" start="8" size="1" opt="neg"/>
4476bf215546Sopenharmony_ci    <mod name="swz0" start="9" size="2" default="h01">
4477bf215546Sopenharmony_ci      <opt>h00</opt>
4478bf215546Sopenharmony_ci      <opt>h10</opt>
4479bf215546Sopenharmony_ci      <opt>h01</opt>
4480bf215546Sopenharmony_ci      <opt>h11</opt>
4481bf215546Sopenharmony_ci    </mod>
4482bf215546Sopenharmony_ci    <mod name="swz1" start="11" size="2" default="h01">
4483bf215546Sopenharmony_ci      <opt>h00</opt>
4484bf215546Sopenharmony_ci      <opt>h10</opt>
4485bf215546Sopenharmony_ci      <opt>h01</opt>
4486bf215546Sopenharmony_ci      <opt>h11</opt>
4487bf215546Sopenharmony_ci    </mod>
4488bf215546Sopenharmony_ci    <mod name="sem" start="13" size="2" default="nan_suppress">
4489bf215546Sopenharmony_ci      <opt>nan_suppress</opt>
4490bf215546Sopenharmony_ci      <opt>nan_propagate</opt>
4491bf215546Sopenharmony_ci      <opt>c</opt>
4492bf215546Sopenharmony_ci      <opt>inverse_c</opt>
4493bf215546Sopenharmony_ci    </mod>
4494bf215546Sopenharmony_ci    <derived start="6" size="1">
4495bf215546Sopenharmony_ci      <or>
4496bf215546Sopenharmony_ci        <and>
4497bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
4498bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
4499bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
4500bf215546Sopenharmony_ci        </and>
4501bf215546Sopenharmony_ci        <and>
4502bf215546Sopenharmony_ci          <eq left="abs0" right="#none"/>
4503bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
4504bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
4505bf215546Sopenharmony_ci        </and>
4506bf215546Sopenharmony_ci      </or>
4507bf215546Sopenharmony_ci      <or>
4508bf215546Sopenharmony_ci        <and>
4509bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
4510bf215546Sopenharmony_ci          <eq left="abs1" right="#abs"/>
4511bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
4512bf215546Sopenharmony_ci        </and>
4513bf215546Sopenharmony_ci        <and>
4514bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
4515bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
4516bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
4517bf215546Sopenharmony_ci        </and>
4518bf215546Sopenharmony_ci      </or>
4519bf215546Sopenharmony_ci    </derived>
4520bf215546Sopenharmony_ci    <swap left="0" right="1">
4521bf215546Sopenharmony_ci      <or>
4522bf215546Sopenharmony_ci        <and>
4523bf215546Sopenharmony_ci          <eq left="abs0" right="#none"/>
4524bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
4525bf215546Sopenharmony_ci        </and>
4526bf215546Sopenharmony_ci        <and>
4527bf215546Sopenharmony_ci          <eq left="abs1" right="#abs"/>
4528bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
4529bf215546Sopenharmony_ci        </and>
4530bf215546Sopenharmony_ci      </or>
4531bf215546Sopenharmony_ci      <rewrite name="sem">
4532bf215546Sopenharmony_ci        <map from="c" to="inverse_c"/>
4533bf215546Sopenharmony_ci        <map from="inverse_c" to="c"/>
4534bf215546Sopenharmony_ci      </rewrite>
4535bf215546Sopenharmony_ci    </swap>
4536bf215546Sopenharmony_ci  </ins>
4537bf215546Sopenharmony_ci
4538bf215546Sopenharmony_ci  <ins name="+FMIN.f32" mask="0xf0600" exact="0x10000">
4539bf215546Sopenharmony_ci    <src start="0"/>
4540bf215546Sopenharmony_ci    <src start="3"/>
4541bf215546Sopenharmony_ci    <mod name="abs1" start="6" size="1" opt="abs"/>
4542bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
4543bf215546Sopenharmony_ci    <mod name="neg1" start="8" size="1" opt="neg"/>
4544bf215546Sopenharmony_ci    <mod name="clamp" start="11" size="2">
4545bf215546Sopenharmony_ci      <opt>none</opt>
4546bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
4547bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
4548bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
4549bf215546Sopenharmony_ci    </mod>
4550bf215546Sopenharmony_ci    <mod name="sem" start="13" size="2" default="nan_suppress">
4551bf215546Sopenharmony_ci      <opt>nan_suppress</opt>
4552bf215546Sopenharmony_ci      <opt>nan_propagate</opt>
4553bf215546Sopenharmony_ci      <opt>c</opt>
4554bf215546Sopenharmony_ci      <opt>inverse_c</opt>
4555bf215546Sopenharmony_ci    </mod>
4556bf215546Sopenharmony_ci    <mod name="abs0" start="15" size="1" opt="abs"/>
4557bf215546Sopenharmony_ci  </ins>
4558bf215546Sopenharmony_ci
4559bf215546Sopenharmony_ci  <ins name="+FMIN.v2f16" mask="0xf8000" exact="0x90000">
4560bf215546Sopenharmony_ci    <src start="0"/>
4561bf215546Sopenharmony_ci    <src start="3"/>
4562bf215546Sopenharmony_ci    <mod name="abs0" size="1" opt="abs"/>
4563bf215546Sopenharmony_ci    <mod name="abs1" size="1" opt="abs"/>
4564bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
4565bf215546Sopenharmony_ci    <mod name="neg1" start="8" size="1" opt="neg"/>
4566bf215546Sopenharmony_ci    <mod name="swz0" start="9" size="2" default="h01">
4567bf215546Sopenharmony_ci      <opt>h00</opt>
4568bf215546Sopenharmony_ci      <opt>h10</opt>
4569bf215546Sopenharmony_ci      <opt>h01</opt>
4570bf215546Sopenharmony_ci      <opt>h11</opt>
4571bf215546Sopenharmony_ci    </mod>
4572bf215546Sopenharmony_ci    <mod name="swz1" start="11" size="2" default="h01">
4573bf215546Sopenharmony_ci      <opt>h00</opt>
4574bf215546Sopenharmony_ci      <opt>h10</opt>
4575bf215546Sopenharmony_ci      <opt>h01</opt>
4576bf215546Sopenharmony_ci      <opt>h11</opt>
4577bf215546Sopenharmony_ci    </mod>
4578bf215546Sopenharmony_ci    <mod name="sem" start="13" size="2" default="nan_suppress">
4579bf215546Sopenharmony_ci      <opt>nan_suppress</opt>
4580bf215546Sopenharmony_ci      <opt>nan_propagate</opt>
4581bf215546Sopenharmony_ci      <opt>c</opt>
4582bf215546Sopenharmony_ci      <opt>inverse_c</opt>
4583bf215546Sopenharmony_ci    </mod>
4584bf215546Sopenharmony_ci    <derived start="6" size="1">
4585bf215546Sopenharmony_ci      <or>
4586bf215546Sopenharmony_ci        <and>
4587bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
4588bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
4589bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
4590bf215546Sopenharmony_ci        </and>
4591bf215546Sopenharmony_ci        <and>
4592bf215546Sopenharmony_ci          <eq left="abs0" right="#none"/>
4593bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
4594bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
4595bf215546Sopenharmony_ci        </and>
4596bf215546Sopenharmony_ci      </or>
4597bf215546Sopenharmony_ci      <or>
4598bf215546Sopenharmony_ci        <and>
4599bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
4600bf215546Sopenharmony_ci          <eq left="abs1" right="#abs"/>
4601bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
4602bf215546Sopenharmony_ci        </and>
4603bf215546Sopenharmony_ci        <and>
4604bf215546Sopenharmony_ci          <eq left="abs0" right="#abs"/>
4605bf215546Sopenharmony_ci          <eq left="abs1" right="#none"/>
4606bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
4607bf215546Sopenharmony_ci        </and>
4608bf215546Sopenharmony_ci      </or>
4609bf215546Sopenharmony_ci    </derived>
4610bf215546Sopenharmony_ci    <swap left="0" right="1">
4611bf215546Sopenharmony_ci      <or>
4612bf215546Sopenharmony_ci        <and>
4613bf215546Sopenharmony_ci          <eq left="abs0" right="#none"/>
4614bf215546Sopenharmony_ci          <eq left="ordering" right="#gt"/>
4615bf215546Sopenharmony_ci        </and>
4616bf215546Sopenharmony_ci        <and>
4617bf215546Sopenharmony_ci          <eq left="abs1" right="#abs"/>
4618bf215546Sopenharmony_ci          <neq left="ordering" right="#gt"/>
4619bf215546Sopenharmony_ci        </and>
4620bf215546Sopenharmony_ci      </or>
4621bf215546Sopenharmony_ci      <rewrite name="sem">
4622bf215546Sopenharmony_ci        <map from="c" to="inverse_c"/>
4623bf215546Sopenharmony_ci        <map from="inverse_c" to="c"/>
4624bf215546Sopenharmony_ci      </rewrite>
4625bf215546Sopenharmony_ci    </swap>
4626bf215546Sopenharmony_ci  </ins>
4627bf215546Sopenharmony_ci
4628bf215546Sopenharmony_ci  <ins name="+FPCLASS.f16" mask="0xffff0" exact="0x67c40" table="true">
4629bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4630bf215546Sopenharmony_ci    <mod name="lane0" start="3" size="1" default="h0">
4631bf215546Sopenharmony_ci      <opt>h0</opt>
4632bf215546Sopenharmony_ci      <opt>h1</opt>
4633bf215546Sopenharmony_ci    </mod>
4634bf215546Sopenharmony_ci  </ins>
4635bf215546Sopenharmony_ci
4636bf215546Sopenharmony_ci  <ins name="+FPCLASS.f32" mask="0xffff8" exact="0x67c50" table="true">
4637bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4638bf215546Sopenharmony_ci  </ins>
4639bf215546Sopenharmony_ci
4640bf215546Sopenharmony_ci  <ins name="+FPOW_SC_APPLY" mask="0xfffc0" exact="0x75080">
4641bf215546Sopenharmony_ci    <src start="0"/>
4642bf215546Sopenharmony_ci    <src start="3"/>
4643bf215546Sopenharmony_ci  </ins>
4644bf215546Sopenharmony_ci
4645bf215546Sopenharmony_ci  <ins name="+FPOW_SC_DET.f16" table="true">
4646bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4647bf215546Sopenharmony_ci    <src start="3" mask="0xf7"/>
4648bf215546Sopenharmony_ci    <mod name="func" size="2">
4649bf215546Sopenharmony_ci      <opt>pow</opt>
4650bf215546Sopenharmony_ci      <opt>powr</opt>
4651bf215546Sopenharmony_ci      <opt>pown</opt>
4652bf215546Sopenharmony_ci      <opt>rootn</opt>
4653bf215546Sopenharmony_ci    </mod>
4654bf215546Sopenharmony_ci    <mod name="lane1" size="2">
4655bf215546Sopenharmony_ci      <opt>h0</opt>
4656bf215546Sopenharmony_ci      <opt>h1</opt>
4657bf215546Sopenharmony_ci      <opt>none</opt>
4658bf215546Sopenharmony_ci    </mod>
4659bf215546Sopenharmony_ci    <mod name="lane0" start="7" size="1" default="h0">
4660bf215546Sopenharmony_ci      <opt>h0</opt>
4661bf215546Sopenharmony_ci      <opt>h1</opt>
4662bf215546Sopenharmony_ci    </mod>
4663bf215546Sopenharmony_ci    <encoding mask="0xffe00" exact="0x67400">
4664bf215546Sopenharmony_ci      <or>
4665bf215546Sopenharmony_ci        <eq left="func" right="#pow"/>
4666bf215546Sopenharmony_ci        <eq left="func" right="#powr"/>
4667bf215546Sopenharmony_ci      </or>
4668bf215546Sopenharmony_ci      <derived start="6" size="1">
4669bf215546Sopenharmony_ci        <or>
4670bf215546Sopenharmony_ci          <eq alias="true" left="lane1" right="#none"/>
4671bf215546Sopenharmony_ci          <eq left="lane1" right="#h0"/>
4672bf215546Sopenharmony_ci        </or>
4673bf215546Sopenharmony_ci        <eq left="lane1" right="#h1"/>
4674bf215546Sopenharmony_ci      </derived>
4675bf215546Sopenharmony_ci      <derived start="8" size="1">
4676bf215546Sopenharmony_ci        <eq left="func" right="#pow"/>
4677bf215546Sopenharmony_ci        <eq left="func" right="#powr"/>
4678bf215546Sopenharmony_ci      </derived>
4679bf215546Sopenharmony_ci    </encoding>
4680bf215546Sopenharmony_ci    <encoding mask="0xffe40" exact="0x67600">
4681bf215546Sopenharmony_ci      <and>
4682bf215546Sopenharmony_ci        <or>
4683bf215546Sopenharmony_ci          <eq left="func" right="#pown"/>
4684bf215546Sopenharmony_ci          <eq left="func" right="#rootn"/>
4685bf215546Sopenharmony_ci        </or>
4686bf215546Sopenharmony_ci        <eq left="lane1" right="#none"/>
4687bf215546Sopenharmony_ci      </and>
4688bf215546Sopenharmony_ci      <derived start="8" size="1">
4689bf215546Sopenharmony_ci        <eq left="func" right="#pown"/>
4690bf215546Sopenharmony_ci        <eq left="func" right="#rootn"/>
4691bf215546Sopenharmony_ci      </derived>
4692bf215546Sopenharmony_ci    </encoding>
4693bf215546Sopenharmony_ci  </ins>
4694bf215546Sopenharmony_ci
4695bf215546Sopenharmony_ci  <ins name="+FPOW_SC_DET.f32" mask="0xffe40" exact="0x67640" table="true">
4696bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4697bf215546Sopenharmony_ci    <src start="3" mask="0xf7"/>
4698bf215546Sopenharmony_ci    <mod name="func" start="7" size="2">
4699bf215546Sopenharmony_ci      <opt>pow</opt>
4700bf215546Sopenharmony_ci      <opt>powr</opt>
4701bf215546Sopenharmony_ci      <opt>pown</opt>
4702bf215546Sopenharmony_ci      <opt>rootn</opt>
4703bf215546Sopenharmony_ci    </mod>
4704bf215546Sopenharmony_ci  </ins>
4705bf215546Sopenharmony_ci
4706bf215546Sopenharmony_ci  <ins name="+FRCBRT_APPROX_A.f32" unused="true" table="true">
4707bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4708bf215546Sopenharmony_ci    <mod name="widen0" size="2">
4709bf215546Sopenharmony_ci      <opt>none</opt>
4710bf215546Sopenharmony_ci      <opt>h0</opt>
4711bf215546Sopenharmony_ci      <opt>h1</opt>
4712bf215546Sopenharmony_ci    </mod>
4713bf215546Sopenharmony_ci    <mod name="neg0" start="3" size="1" opt="neg"/>
4714bf215546Sopenharmony_ci    <mod name="abs0" start="4" size="1" opt="abs"/>
4715bf215546Sopenharmony_ci    <mod name="divzero" start="5" size="1" opt="divzero"/>
4716bf215546Sopenharmony_ci    <encoding mask="0xfffc0" exact="0x67200">
4717bf215546Sopenharmony_ci      <eq left="widen0" right="#none"/>
4718bf215546Sopenharmony_ci    </encoding>
4719bf215546Sopenharmony_ci    <encoding mask="0xfff40" exact="0x67240">
4720bf215546Sopenharmony_ci      <neq left="widen0" right="#none"/>
4721bf215546Sopenharmony_ci      <derived start="7" size="1">
4722bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
4723bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
4724bf215546Sopenharmony_ci      </derived>
4725bf215546Sopenharmony_ci    </encoding>
4726bf215546Sopenharmony_ci  </ins>
4727bf215546Sopenharmony_ci
4728bf215546Sopenharmony_ci  <ins name="+FRCBRT_APPROX_B.f32" mask="0xffff8" exact="0x67ab0" unused="true" table="true">
4729bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4730bf215546Sopenharmony_ci  </ins>
4731bf215546Sopenharmony_ci
4732bf215546Sopenharmony_ci  <ins name="+FRCBRT_APPROX_C.f32" mask="0xffff8" exact="0x67ab8" unused="true" table="true">
4733bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4734bf215546Sopenharmony_ci  </ins>
4735bf215546Sopenharmony_ci
4736bf215546Sopenharmony_ci  <ins name="+FRCP.f16" mask="0xffec0" exact="0x67080" table="true">
4737bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4738bf215546Sopenharmony_ci    <mod name="neg0" start="3" size="1" opt="neg"/>
4739bf215546Sopenharmony_ci    <mod name="abs0" start="4" size="1" opt="abs"/>
4740bf215546Sopenharmony_ci    <mod name="divzero" start="5" size="1" opt="divzero"/>
4741bf215546Sopenharmony_ci    <mod name="lane0" start="8" size="1" default="h0">
4742bf215546Sopenharmony_ci      <opt>h0</opt>
4743bf215546Sopenharmony_ci      <opt>h1</opt>
4744bf215546Sopenharmony_ci    </mod>
4745bf215546Sopenharmony_ci  </ins>
4746bf215546Sopenharmony_ci
4747bf215546Sopenharmony_ci  <ins name="+FRCP.f32" mask="0xfffa0" exact="0x66000" table="true">
4748bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4749bf215546Sopenharmony_ci    <mod name="widen0" size="2">
4750bf215546Sopenharmony_ci      <opt>none</opt>
4751bf215546Sopenharmony_ci    </mod>
4752bf215546Sopenharmony_ci    <mod name="neg0" start="3" size="1" opt="neg"/>
4753bf215546Sopenharmony_ci    <mod name="abs0" start="4" size="1" opt="abs"/>
4754bf215546Sopenharmony_ci    <derived start="6" size="1">
4755bf215546Sopenharmony_ci      <eq left="widen0" right="#none"/>
4756bf215546Sopenharmony_ci      <reserved/>
4757bf215546Sopenharmony_ci    </derived>
4758bf215546Sopenharmony_ci  </ins>
4759bf215546Sopenharmony_ci
4760bf215546Sopenharmony_ci  <ins name="+FRCP_APPROX.f32" table="true">
4761bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4762bf215546Sopenharmony_ci    <mod name="widen0" size="2">
4763bf215546Sopenharmony_ci      <opt>none</opt>
4764bf215546Sopenharmony_ci      <opt>h0</opt>
4765bf215546Sopenharmony_ci      <opt>h1</opt>
4766bf215546Sopenharmony_ci    </mod>
4767bf215546Sopenharmony_ci    <mod name="neg0" start="3" size="1" opt="neg"/>
4768bf215546Sopenharmony_ci    <mod name="abs0" start="4" size="1" opt="abs"/>
4769bf215546Sopenharmony_ci    <mod name="divzero" start="5" size="1" opt="divzero"/>
4770bf215546Sopenharmony_ci    <encoding mask="0xfffc0" exact="0x67000">
4771bf215546Sopenharmony_ci      <eq left="widen0" right="#none"/>
4772bf215546Sopenharmony_ci    </encoding>
4773bf215546Sopenharmony_ci    <encoding mask="0xfff40" exact="0x67040">
4774bf215546Sopenharmony_ci      <neq left="widen0" right="#none"/>
4775bf215546Sopenharmony_ci      <derived start="7" size="1">
4776bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
4777bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
4778bf215546Sopenharmony_ci      </derived>
4779bf215546Sopenharmony_ci    </encoding>
4780bf215546Sopenharmony_ci  </ins>
4781bf215546Sopenharmony_ci
4782bf215546Sopenharmony_ci  <ins name="+FREXPE.f32">
4783bf215546Sopenharmony_ci    <src start="0"/>
4784bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
4785bf215546Sopenharmony_ci    <mod name="sqrt" size="1" opt="sqrt"/>
4786bf215546Sopenharmony_ci    <mod name="log" size="1" opt="log"/>
4787bf215546Sopenharmony_ci    <mod name="widen0" start="3" size="2">
4788bf215546Sopenharmony_ci      <reserved/>
4789bf215546Sopenharmony_ci      <opt>none</opt>
4790bf215546Sopenharmony_ci      <opt>h0</opt>
4791bf215546Sopenharmony_ci      <opt>h1</opt>
4792bf215546Sopenharmony_ci    </mod>
4793bf215546Sopenharmony_ci    <encoding mask="0xffea0" exact="0x3dc20">
4794bf215546Sopenharmony_ci      <eq left="log" right="#none"/>
4795bf215546Sopenharmony_ci      <copy name="neg0" start="6"/>
4796bf215546Sopenharmony_ci      <copy name="sqrt" start="8"/>
4797bf215546Sopenharmony_ci    </encoding>
4798bf215546Sopenharmony_ci    <encoding mask="0xfffe0" exact="0x3de20">
4799bf215546Sopenharmony_ci      <and>
4800bf215546Sopenharmony_ci        <eq left="log" right="#log"/>
4801bf215546Sopenharmony_ci        <eq left="sqrt" right="#none"/>
4802bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
4803bf215546Sopenharmony_ci      </and>
4804bf215546Sopenharmony_ci    </encoding>
4805bf215546Sopenharmony_ci  </ins>
4806bf215546Sopenharmony_ci
4807bf215546Sopenharmony_ci  <ins name="+FREXPE.v2f16">
4808bf215546Sopenharmony_ci    <src start="0"/>
4809bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
4810bf215546Sopenharmony_ci    <mod name="sqrt" size="1" opt="sqrt"/>
4811bf215546Sopenharmony_ci    <mod name="log" size="1" opt="log"/>
4812bf215546Sopenharmony_ci    <mod name="swz0" start="3" size="2" default="h01">
4813bf215546Sopenharmony_ci      <opt>h00</opt>
4814bf215546Sopenharmony_ci      <opt>h10</opt>
4815bf215546Sopenharmony_ci      <opt>h01</opt>
4816bf215546Sopenharmony_ci      <opt>h11</opt>
4817bf215546Sopenharmony_ci    </mod>
4818bf215546Sopenharmony_ci    <encoding mask="0xffea0" exact="0x3dc00">
4819bf215546Sopenharmony_ci      <eq left="log" right="#none"/>
4820bf215546Sopenharmony_ci      <copy name="neg0" start="6"/>
4821bf215546Sopenharmony_ci      <copy name="sqrt" start="8"/>
4822bf215546Sopenharmony_ci    </encoding>
4823bf215546Sopenharmony_ci    <encoding mask="0xfffe0" exact="0x3de00">
4824bf215546Sopenharmony_ci      <and>
4825bf215546Sopenharmony_ci        <eq left="log" right="#log"/>
4826bf215546Sopenharmony_ci        <eq left="sqrt" right="#none"/>
4827bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
4828bf215546Sopenharmony_ci      </and>
4829bf215546Sopenharmony_ci    </encoding>
4830bf215546Sopenharmony_ci  </ins>
4831bf215546Sopenharmony_ci
4832bf215546Sopenharmony_ci  <ins name="+FREXPM.f32">
4833bf215546Sopenharmony_ci    <src start="0"/>
4834bf215546Sopenharmony_ci    <mod name="abs0" start="6" size="1" opt="abs"/>
4835bf215546Sopenharmony_ci    <mod name="sqrt" size="1" opt="sqrt"/>
4836bf215546Sopenharmony_ci    <mod name="log" size="1" opt="log"/>
4837bf215546Sopenharmony_ci    <mod name="widen0" start="3" size="2">
4838bf215546Sopenharmony_ci      <reserved/>
4839bf215546Sopenharmony_ci      <opt>none</opt>
4840bf215546Sopenharmony_ci      <opt>h0</opt>
4841bf215546Sopenharmony_ci      <opt>h1</opt>
4842bf215546Sopenharmony_ci    </mod>
4843bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
4844bf215546Sopenharmony_ci    <encoding mask="0xfff20" exact="0x3db20">
4845bf215546Sopenharmony_ci      <and>
4846bf215546Sopenharmony_ci        <eq left="log" right="#none"/>
4847bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
4848bf215546Sopenharmony_ci      </and>
4849bf215546Sopenharmony_ci      <copy name="sqrt" start="7"/>
4850bf215546Sopenharmony_ci    </encoding>
4851bf215546Sopenharmony_ci    <encoding mask="0xfff20" exact="0x3da20">
4852bf215546Sopenharmony_ci      <and>
4853bf215546Sopenharmony_ci        <eq left="log" right="#log"/>
4854bf215546Sopenharmony_ci        <eq left="sqrt" right="#none"/>
4855bf215546Sopenharmony_ci      </and>
4856bf215546Sopenharmony_ci      <copy name="neg0" start="7"/>
4857bf215546Sopenharmony_ci    </encoding>
4858bf215546Sopenharmony_ci  </ins>
4859bf215546Sopenharmony_ci
4860bf215546Sopenharmony_ci  <ins name="+FREXPM.v2f16">
4861bf215546Sopenharmony_ci    <src start="0"/>
4862bf215546Sopenharmony_ci    <mod name="abs0" start="6" size="1" opt="abs"/>
4863bf215546Sopenharmony_ci    <mod name="sqrt" size="1" opt="sqrt"/>
4864bf215546Sopenharmony_ci    <mod name="log" size="1" opt="log"/>
4865bf215546Sopenharmony_ci    <mod name="swz0" start="3" size="2" default="h01">
4866bf215546Sopenharmony_ci      <opt>h00</opt>
4867bf215546Sopenharmony_ci      <opt>h10</opt>
4868bf215546Sopenharmony_ci      <opt>h01</opt>
4869bf215546Sopenharmony_ci      <opt>h11</opt>
4870bf215546Sopenharmony_ci    </mod>
4871bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
4872bf215546Sopenharmony_ci    <encoding mask="0xfff20" exact="0x3db00">
4873bf215546Sopenharmony_ci      <and>
4874bf215546Sopenharmony_ci        <eq left="log" right="#none"/>
4875bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
4876bf215546Sopenharmony_ci      </and>
4877bf215546Sopenharmony_ci      <copy name="sqrt" start="7"/>
4878bf215546Sopenharmony_ci    </encoding>
4879bf215546Sopenharmony_ci    <encoding mask="0xfff20" exact="0x3da00">
4880bf215546Sopenharmony_ci      <and>
4881bf215546Sopenharmony_ci        <eq left="log" right="#log"/>
4882bf215546Sopenharmony_ci        <eq left="sqrt" right="#none"/>
4883bf215546Sopenharmony_ci      </and>
4884bf215546Sopenharmony_ci      <copy name="neg0" start="7"/>
4885bf215546Sopenharmony_ci    </encoding>
4886bf215546Sopenharmony_ci  </ins>
4887bf215546Sopenharmony_ci
4888bf215546Sopenharmony_ci  <ins name="+FROUND.f32" mask="0xff860" exact="0x3e820">
4889bf215546Sopenharmony_ci    <src start="0"/>
4890bf215546Sopenharmony_ci    <mod name="abs0" start="7" size="1" opt="abs"/>
4891bf215546Sopenharmony_ci    <mod name="neg0" start="8" size="1" opt="neg"/>
4892bf215546Sopenharmony_ci    <mod name="widen0" start="3" size="2">
4893bf215546Sopenharmony_ci      <reserved/>
4894bf215546Sopenharmony_ci      <opt>none</opt>
4895bf215546Sopenharmony_ci      <opt>h0</opt>
4896bf215546Sopenharmony_ci      <opt>h1</opt>
4897bf215546Sopenharmony_ci    </mod>
4898bf215546Sopenharmony_ci    <mod name="round" start="9" size="2">
4899bf215546Sopenharmony_ci      <opt>none</opt>
4900bf215546Sopenharmony_ci      <opt>rtp</opt>
4901bf215546Sopenharmony_ci      <opt>rtn</opt>
4902bf215546Sopenharmony_ci      <opt>rtz</opt>
4903bf215546Sopenharmony_ci    </mod>
4904bf215546Sopenharmony_ci  </ins>
4905bf215546Sopenharmony_ci
4906bf215546Sopenharmony_ci  <ins name="+FROUND.v2f16" mask="0xff860" exact="0x3e800">
4907bf215546Sopenharmony_ci    <src start="0"/>
4908bf215546Sopenharmony_ci    <mod name="abs0" start="7" size="1" opt="abs"/>
4909bf215546Sopenharmony_ci    <mod name="neg0" start="8" size="1" opt="neg"/>
4910bf215546Sopenharmony_ci    <mod name="swz0" start="3" size="2" default="h01">
4911bf215546Sopenharmony_ci      <opt>h00</opt>
4912bf215546Sopenharmony_ci      <opt>h10</opt>
4913bf215546Sopenharmony_ci      <opt>h01</opt>
4914bf215546Sopenharmony_ci      <opt>h11</opt>
4915bf215546Sopenharmony_ci    </mod>
4916bf215546Sopenharmony_ci    <mod name="round" start="9" size="2">
4917bf215546Sopenharmony_ci      <opt>none</opt>
4918bf215546Sopenharmony_ci      <opt>rtp</opt>
4919bf215546Sopenharmony_ci      <opt>rtn</opt>
4920bf215546Sopenharmony_ci      <opt>rtz</opt>
4921bf215546Sopenharmony_ci    </mod>
4922bf215546Sopenharmony_ci  </ins>
4923bf215546Sopenharmony_ci
4924bf215546Sopenharmony_ci  <ins name="+FRSQ.f16" mask="0xffec0" exact="0x67280" table="true">
4925bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4926bf215546Sopenharmony_ci    <mod name="neg0" start="3" size="1" opt="neg"/>
4927bf215546Sopenharmony_ci    <mod name="abs0" start="4" size="1" opt="abs"/>
4928bf215546Sopenharmony_ci    <mod name="divzero" start="5" size="1" opt="divzero"/>
4929bf215546Sopenharmony_ci    <mod name="lane0" start="8" size="1" default="h0">
4930bf215546Sopenharmony_ci      <opt>h0</opt>
4931bf215546Sopenharmony_ci      <opt>h1</opt>
4932bf215546Sopenharmony_ci    </mod>
4933bf215546Sopenharmony_ci  </ins>
4934bf215546Sopenharmony_ci
4935bf215546Sopenharmony_ci  <ins name="+FRSQ.f32" mask="0xfffa0" exact="0x66100" table="true">
4936bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4937bf215546Sopenharmony_ci    <mod name="widen0" size="2">
4938bf215546Sopenharmony_ci      <opt>none</opt>
4939bf215546Sopenharmony_ci    </mod>
4940bf215546Sopenharmony_ci    <mod name="neg0" start="3" size="1" opt="neg"/>
4941bf215546Sopenharmony_ci    <mod name="abs0" start="4" size="1" opt="abs"/>
4942bf215546Sopenharmony_ci    <derived start="6" size="1">
4943bf215546Sopenharmony_ci      <eq left="widen0" right="#none"/>
4944bf215546Sopenharmony_ci      <reserved/>
4945bf215546Sopenharmony_ci    </derived>
4946bf215546Sopenharmony_ci  </ins>
4947bf215546Sopenharmony_ci
4948bf215546Sopenharmony_ci  <ins name="+FRSQ_APPROX.f32" table="true">
4949bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4950bf215546Sopenharmony_ci    <mod name="widen0" size="2">
4951bf215546Sopenharmony_ci      <opt>none</opt>
4952bf215546Sopenharmony_ci      <opt>h0</opt>
4953bf215546Sopenharmony_ci      <opt>h1</opt>
4954bf215546Sopenharmony_ci    </mod>
4955bf215546Sopenharmony_ci    <mod name="neg0" start="3" size="1" opt="neg"/>
4956bf215546Sopenharmony_ci    <mod name="abs0" start="4" size="1" opt="abs"/>
4957bf215546Sopenharmony_ci    <mod name="divzero" start="5" size="1" opt="divzero"/>
4958bf215546Sopenharmony_ci    <encoding mask="0xfffc0" exact="0x67100">
4959bf215546Sopenharmony_ci      <eq left="widen0" right="#none"/>
4960bf215546Sopenharmony_ci    </encoding>
4961bf215546Sopenharmony_ci    <encoding mask="0xfff40" exact="0x67140">
4962bf215546Sopenharmony_ci      <neq left="widen0" right="#none"/>
4963bf215546Sopenharmony_ci      <derived start="7" size="1">
4964bf215546Sopenharmony_ci        <eq left="widen0" right="#h0"/>
4965bf215546Sopenharmony_ci        <eq left="widen0" right="#h1"/>
4966bf215546Sopenharmony_ci      </derived>
4967bf215546Sopenharmony_ci    </encoding>
4968bf215546Sopenharmony_ci  </ins>
4969bf215546Sopenharmony_ci
4970bf215546Sopenharmony_ci  <ins name="+FSINCOS_OFFSET.u6" mask="0xffff0" exact="0x67aa0" table="true">
4971bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4972bf215546Sopenharmony_ci    <mod name="scale" start="3" size="1" opt="scale"/>
4973bf215546Sopenharmony_ci  </ins>
4974bf215546Sopenharmony_ci
4975bf215546Sopenharmony_ci  <ins name="+FSIN_TABLE.u6" mask="0xfffe8" exact="0x67a80" table="true">
4976bf215546Sopenharmony_ci    <src start="0" mask="0xf7"/>
4977bf215546Sopenharmony_ci    <mod name="offset" start="4" size="1" opt="offset"/>
4978bf215546Sopenharmony_ci  </ins>
4979bf215546Sopenharmony_ci
4980bf215546Sopenharmony_ci  <ins name="+HADD.s32" mask="0xfefc0" exact="0xbc640">
4981bf215546Sopenharmony_ci    <src start="0"/>
4982bf215546Sopenharmony_ci    <src start="3"/>
4983bf215546Sopenharmony_ci    <mod name="round" start="12" size="1" default="rtn">
4984bf215546Sopenharmony_ci      <opt>rtn</opt>
4985bf215546Sopenharmony_ci      <opt>rtp</opt>
4986bf215546Sopenharmony_ci    </mod>
4987bf215546Sopenharmony_ci  </ins>
4988bf215546Sopenharmony_ci
4989bf215546Sopenharmony_ci  <ins name="+HADD.u32" mask="0xfefc0" exact="0xbc6c0">
4990bf215546Sopenharmony_ci    <src start="0"/>
4991bf215546Sopenharmony_ci    <src start="3"/>
4992bf215546Sopenharmony_ci    <mod name="round" start="12" size="1" default="rtn">
4993bf215546Sopenharmony_ci      <opt>rtn</opt>
4994bf215546Sopenharmony_ci      <opt>rtp</opt>
4995bf215546Sopenharmony_ci    </mod>
4996bf215546Sopenharmony_ci  </ins>
4997bf215546Sopenharmony_ci
4998bf215546Sopenharmony_ci  <ins name="+HADD.v2s16" mask="0xfe9c0" exact="0xbc840">
4999bf215546Sopenharmony_ci    <src start="0"/>
5000bf215546Sopenharmony_ci    <src start="3"/>
5001bf215546Sopenharmony_ci    <mod name="round" start="12" size="1" default="rtn">
5002bf215546Sopenharmony_ci      <opt>rtn</opt>
5003bf215546Sopenharmony_ci      <opt>rtp</opt>
5004bf215546Sopenharmony_ci    </mod>
5005bf215546Sopenharmony_ci    <mod name="swap1" start="9" size="1" default="h01">
5006bf215546Sopenharmony_ci      <opt>h01</opt>
5007bf215546Sopenharmony_ci      <opt>h10</opt>
5008bf215546Sopenharmony_ci    </mod>
5009bf215546Sopenharmony_ci    <mod name="swap0" start="10" size="1" default="h01">
5010bf215546Sopenharmony_ci      <opt>h01</opt>
5011bf215546Sopenharmony_ci      <opt>h10</opt>
5012bf215546Sopenharmony_ci    </mod>
5013bf215546Sopenharmony_ci  </ins>
5014bf215546Sopenharmony_ci
5015bf215546Sopenharmony_ci  <ins name="+HADD.v2u16" mask="0xfe9c0" exact="0xbc8c0">
5016bf215546Sopenharmony_ci    <src start="0"/>
5017bf215546Sopenharmony_ci    <src start="3"/>
5018bf215546Sopenharmony_ci    <mod name="round" start="12" size="1" default="rtn">
5019bf215546Sopenharmony_ci      <opt>rtn</opt>
5020bf215546Sopenharmony_ci      <opt>rtp</opt>
5021bf215546Sopenharmony_ci    </mod>
5022bf215546Sopenharmony_ci    <mod name="swap1" start="9" size="1" default="h01">
5023bf215546Sopenharmony_ci      <opt>h01</opt>
5024bf215546Sopenharmony_ci      <opt>h10</opt>
5025bf215546Sopenharmony_ci    </mod>
5026bf215546Sopenharmony_ci    <mod name="swap0" start="10" size="1" default="h01">
5027bf215546Sopenharmony_ci      <opt>h01</opt>
5028bf215546Sopenharmony_ci      <opt>h10</opt>
5029bf215546Sopenharmony_ci    </mod>
5030bf215546Sopenharmony_ci  </ins>
5031bf215546Sopenharmony_ci
5032bf215546Sopenharmony_ci  <ins name="+HADD.v4s8" mask="0xfefc0" exact="0xbc440">
5033bf215546Sopenharmony_ci    <src start="0"/>
5034bf215546Sopenharmony_ci    <src start="3"/>
5035bf215546Sopenharmony_ci    <mod name="round" start="12" size="1" default="rtn">
5036bf215546Sopenharmony_ci      <opt>rtn</opt>
5037bf215546Sopenharmony_ci      <opt>rtp</opt>
5038bf215546Sopenharmony_ci    </mod>
5039bf215546Sopenharmony_ci  </ins>
5040bf215546Sopenharmony_ci
5041bf215546Sopenharmony_ci  <ins name="+HADD.v4u8" mask="0xfefc0" exact="0xbc4c0">
5042bf215546Sopenharmony_ci    <src start="0"/>
5043bf215546Sopenharmony_ci    <src start="3"/>
5044bf215546Sopenharmony_ci    <mod name="round" start="12" size="1" default="rtn">
5045bf215546Sopenharmony_ci      <opt>rtn</opt>
5046bf215546Sopenharmony_ci      <opt>rtp</opt>
5047bf215546Sopenharmony_ci    </mod>
5048bf215546Sopenharmony_ci  </ins>
5049bf215546Sopenharmony_ci
5050bf215546Sopenharmony_ci  <ins name="+IABS.s32" mask="0xffff8" exact="0x3dea0">
5051bf215546Sopenharmony_ci    <src start="0"/>
5052bf215546Sopenharmony_ci  </ins>
5053bf215546Sopenharmony_ci
5054bf215546Sopenharmony_ci  <ins name="+IABS.v2s16" mask="0xfffc8" exact="0x3de88">
5055bf215546Sopenharmony_ci    <src start="0"/>
5056bf215546Sopenharmony_ci    <mod name="swz0" start="4" size="2" default="h01">
5057bf215546Sopenharmony_ci      <opt>h00</opt>
5058bf215546Sopenharmony_ci      <opt>h10</opt>
5059bf215546Sopenharmony_ci      <opt>h01</opt>
5060bf215546Sopenharmony_ci      <opt>h11</opt>
5061bf215546Sopenharmony_ci    </mod>
5062bf215546Sopenharmony_ci  </ins>
5063bf215546Sopenharmony_ci
5064bf215546Sopenharmony_ci  <ins name="+IABS.v4s8" mask="0xffff8" exact="0x3deb0">
5065bf215546Sopenharmony_ci    <src start="0"/>
5066bf215546Sopenharmony_ci  </ins>
5067bf215546Sopenharmony_ci
5068bf215546Sopenharmony_ci  <ins name="+IADD.s32">
5069bf215546Sopenharmony_ci    <src start="0"/>
5070bf215546Sopenharmony_ci    <src start="3"/>
5071bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
5072bf215546Sopenharmony_ci    <mod name="lanes1" size="3">
5073bf215546Sopenharmony_ci      <opt>none</opt>
5074bf215546Sopenharmony_ci      <opt>h0</opt>
5075bf215546Sopenharmony_ci      <opt>h1</opt>
5076bf215546Sopenharmony_ci      <opt>b0</opt>
5077bf215546Sopenharmony_ci      <opt>b1</opt>
5078bf215546Sopenharmony_ci      <opt>b2</opt>
5079bf215546Sopenharmony_ci      <opt>b3</opt>
5080bf215546Sopenharmony_ci    </mod>
5081bf215546Sopenharmony_ci    <encoding mask="0xffec0" exact="0xbc600">
5082bf215546Sopenharmony_ci      <eq left="lanes1" right="#none"/>
5083bf215546Sopenharmony_ci    </encoding>
5084bf215546Sopenharmony_ci    <encoding mask="0xffcc0" exact="0xbec00">
5085bf215546Sopenharmony_ci      <or>
5086bf215546Sopenharmony_ci        <eq left="lanes1" right="#h0"/>
5087bf215546Sopenharmony_ci        <eq left="lanes1" right="#h1"/>
5088bf215546Sopenharmony_ci      </or>
5089bf215546Sopenharmony_ci      <derived start="9" size="1">
5090bf215546Sopenharmony_ci        <eq left="lanes1" right="#h0"/>
5091bf215546Sopenharmony_ci        <eq left="lanes1" right="#h1"/>
5092bf215546Sopenharmony_ci      </derived>
5093bf215546Sopenharmony_ci    </encoding>
5094bf215546Sopenharmony_ci    <encoding mask="0xff8c0" exact="0xbe000">
5095bf215546Sopenharmony_ci      <or>
5096bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0"/>
5097bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1"/>
5098bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2"/>
5099bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3"/>
5100bf215546Sopenharmony_ci      </or>
5101bf215546Sopenharmony_ci      <derived start="9" size="2">
5102bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0"/>
5103bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1"/>
5104bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2"/>
5105bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3"/>
5106bf215546Sopenharmony_ci      </derived>
5107bf215546Sopenharmony_ci    </encoding>
5108bf215546Sopenharmony_ci  </ins>
5109bf215546Sopenharmony_ci
5110bf215546Sopenharmony_ci  <ins name="+IADD.u32">
5111bf215546Sopenharmony_ci    <src start="0"/>
5112bf215546Sopenharmony_ci    <src start="3"/>
5113bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
5114bf215546Sopenharmony_ci    <mod name="lanes1" size="3">
5115bf215546Sopenharmony_ci      <opt>none</opt>
5116bf215546Sopenharmony_ci      <opt>h0</opt>
5117bf215546Sopenharmony_ci      <opt>h1</opt>
5118bf215546Sopenharmony_ci      <opt>b0</opt>
5119bf215546Sopenharmony_ci      <opt>b1</opt>
5120bf215546Sopenharmony_ci      <opt>b2</opt>
5121bf215546Sopenharmony_ci      <opt>b3</opt>
5122bf215546Sopenharmony_ci    </mod>
5123bf215546Sopenharmony_ci    <encoding mask="0xffe40" exact="0xbc600">
5124bf215546Sopenharmony_ci      <eq left="lanes1" right="#none"/>
5125bf215546Sopenharmony_ci      <derived start="7" size="1">
5126bf215546Sopenharmony_ci        <and alias="true">
5127bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
5128bf215546Sopenharmony_ci          <eq left="lanes1" right="#none"/>
5129bf215546Sopenharmony_ci        </and>
5130bf215546Sopenharmony_ci        <or>
5131bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
5132bf215546Sopenharmony_ci          <neq left="lanes1" right="#none"/>
5133bf215546Sopenharmony_ci        </or>
5134bf215546Sopenharmony_ci      </derived>
5135bf215546Sopenharmony_ci    </encoding>
5136bf215546Sopenharmony_ci    <encoding mask="0xffc40" exact="0xbec00">
5137bf215546Sopenharmony_ci      <or>
5138bf215546Sopenharmony_ci        <eq left="lanes1" right="#h0"/>
5139bf215546Sopenharmony_ci        <eq left="lanes1" right="#h1"/>
5140bf215546Sopenharmony_ci      </or>
5141bf215546Sopenharmony_ci      <derived start="7" size="1">
5142bf215546Sopenharmony_ci        <and alias="true">
5143bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
5144bf215546Sopenharmony_ci          <eq left="lanes1" right="#none"/>
5145bf215546Sopenharmony_ci        </and>
5146bf215546Sopenharmony_ci        <or>
5147bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
5148bf215546Sopenharmony_ci          <neq left="lanes1" right="#none"/>
5149bf215546Sopenharmony_ci        </or>
5150bf215546Sopenharmony_ci      </derived>
5151bf215546Sopenharmony_ci      <derived start="9" size="1">
5152bf215546Sopenharmony_ci        <eq left="lanes1" right="#h0"/>
5153bf215546Sopenharmony_ci        <eq left="lanes1" right="#h1"/>
5154bf215546Sopenharmony_ci      </derived>
5155bf215546Sopenharmony_ci    </encoding>
5156bf215546Sopenharmony_ci    <encoding mask="0xff840" exact="0xbe000">
5157bf215546Sopenharmony_ci      <or>
5158bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0"/>
5159bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1"/>
5160bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2"/>
5161bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3"/>
5162bf215546Sopenharmony_ci      </or>
5163bf215546Sopenharmony_ci      <derived start="7" size="1">
5164bf215546Sopenharmony_ci        <and alias="true">
5165bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
5166bf215546Sopenharmony_ci          <eq left="lanes1" right="#none"/>
5167bf215546Sopenharmony_ci        </and>
5168bf215546Sopenharmony_ci        <or>
5169bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
5170bf215546Sopenharmony_ci          <neq left="lanes1" right="#none"/>
5171bf215546Sopenharmony_ci        </or>
5172bf215546Sopenharmony_ci      </derived>
5173bf215546Sopenharmony_ci      <derived start="9" size="2">
5174bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0"/>
5175bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1"/>
5176bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2"/>
5177bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3"/>
5178bf215546Sopenharmony_ci      </derived>
5179bf215546Sopenharmony_ci    </encoding>
5180bf215546Sopenharmony_ci  </ins>
5181bf215546Sopenharmony_ci
5182bf215546Sopenharmony_ci  <ins name="+IADD.v2s16">
5183bf215546Sopenharmony_ci    <src start="0"/>
5184bf215546Sopenharmony_ci    <src start="3"/>
5185bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
5186bf215546Sopenharmony_ci    <mod name="lanes0" size="1" default="h01">
5187bf215546Sopenharmony_ci      <opt>h01</opt>
5188bf215546Sopenharmony_ci      <opt>h10</opt>
5189bf215546Sopenharmony_ci    </mod>
5190bf215546Sopenharmony_ci    <mod name="lanes1" size="3" default="h01">
5191bf215546Sopenharmony_ci      <opt>h01</opt>
5192bf215546Sopenharmony_ci      <opt>h10</opt>
5193bf215546Sopenharmony_ci      <opt>h00</opt>
5194bf215546Sopenharmony_ci      <opt>h11</opt>
5195bf215546Sopenharmony_ci      <opt>b01</opt>
5196bf215546Sopenharmony_ci      <opt>b23</opt>
5197bf215546Sopenharmony_ci    </mod>
5198bf215546Sopenharmony_ci    <encoding mask="0xff8c0" exact="0xbc800">
5199bf215546Sopenharmony_ci      <and>
5200bf215546Sopenharmony_ci        <or>
5201bf215546Sopenharmony_ci          <eq left="lanes0" right="#h01"/>
5202bf215546Sopenharmony_ci          <eq left="lanes0" right="#h10"/>
5203bf215546Sopenharmony_ci        </or>
5204bf215546Sopenharmony_ci        <or>
5205bf215546Sopenharmony_ci          <eq left="lanes1" right="#h01"/>
5206bf215546Sopenharmony_ci          <eq left="lanes1" right="#h10"/>
5207bf215546Sopenharmony_ci        </or>
5208bf215546Sopenharmony_ci      </and>
5209bf215546Sopenharmony_ci      <derived start="9" size="1">
5210bf215546Sopenharmony_ci        <eq left="lanes1" right="#h01"/>
5211bf215546Sopenharmony_ci        <eq left="lanes1" right="#h10"/>
5212bf215546Sopenharmony_ci      </derived>
5213bf215546Sopenharmony_ci      <derived start="10" size="1">
5214bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
5215bf215546Sopenharmony_ci        <eq left="lanes0" right="#h10"/>
5216bf215546Sopenharmony_ci      </derived>
5217bf215546Sopenharmony_ci    </encoding>
5218bf215546Sopenharmony_ci    <encoding mask="0xffcc0" exact="0xbec40">
5219bf215546Sopenharmony_ci      <and>
5220bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
5221bf215546Sopenharmony_ci        <or>
5222bf215546Sopenharmony_ci          <eq left="lanes1" right="#h00"/>
5223bf215546Sopenharmony_ci          <eq left="lanes1" right="#h11"/>
5224bf215546Sopenharmony_ci        </or>
5225bf215546Sopenharmony_ci      </and>
5226bf215546Sopenharmony_ci      <derived start="9" size="1">
5227bf215546Sopenharmony_ci        <eq left="lanes1" right="#h00"/>
5228bf215546Sopenharmony_ci        <eq left="lanes1" right="#h11"/>
5229bf215546Sopenharmony_ci      </derived>
5230bf215546Sopenharmony_ci    </encoding>
5231bf215546Sopenharmony_ci    <encoding mask="0xffcc0" exact="0xbe800">
5232bf215546Sopenharmony_ci      <and>
5233bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
5234bf215546Sopenharmony_ci        <or>
5235bf215546Sopenharmony_ci          <eq left="lanes1" right="#b01"/>
5236bf215546Sopenharmony_ci          <eq left="lanes1" right="#b23"/>
5237bf215546Sopenharmony_ci        </or>
5238bf215546Sopenharmony_ci      </and>
5239bf215546Sopenharmony_ci      <derived start="9" size="1">
5240bf215546Sopenharmony_ci        <eq left="lanes1" right="#b01"/>
5241bf215546Sopenharmony_ci        <eq left="lanes1" right="#b23"/>
5242bf215546Sopenharmony_ci      </derived>
5243bf215546Sopenharmony_ci    </encoding>
5244bf215546Sopenharmony_ci  </ins>
5245bf215546Sopenharmony_ci
5246bf215546Sopenharmony_ci  <ins name="+IADD.v2u16">
5247bf215546Sopenharmony_ci    <src start="0"/>
5248bf215546Sopenharmony_ci    <src start="3"/>
5249bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
5250bf215546Sopenharmony_ci    <mod name="lanes0" size="1" default="h01">
5251bf215546Sopenharmony_ci      <opt>h01</opt>
5252bf215546Sopenharmony_ci      <opt>h10</opt>
5253bf215546Sopenharmony_ci    </mod>
5254bf215546Sopenharmony_ci    <mod name="lanes1" size="3" default="h01">
5255bf215546Sopenharmony_ci      <opt>h01</opt>
5256bf215546Sopenharmony_ci      <opt>h10</opt>
5257bf215546Sopenharmony_ci      <opt>h00</opt>
5258bf215546Sopenharmony_ci      <opt>h11</opt>
5259bf215546Sopenharmony_ci      <opt>b01</opt>
5260bf215546Sopenharmony_ci      <opt>b23</opt>
5261bf215546Sopenharmony_ci    </mod>
5262bf215546Sopenharmony_ci    <encoding mask="0xff840" exact="0xbc800">
5263bf215546Sopenharmony_ci      <and>
5264bf215546Sopenharmony_ci        <or>
5265bf215546Sopenharmony_ci          <eq left="lanes0" right="#h01"/>
5266bf215546Sopenharmony_ci          <eq left="lanes0" right="#h10"/>
5267bf215546Sopenharmony_ci        </or>
5268bf215546Sopenharmony_ci        <or>
5269bf215546Sopenharmony_ci          <eq left="lanes1" right="#h01"/>
5270bf215546Sopenharmony_ci          <eq left="lanes1" right="#h10"/>
5271bf215546Sopenharmony_ci        </or>
5272bf215546Sopenharmony_ci      </and>
5273bf215546Sopenharmony_ci      <derived start="7" size="1">
5274bf215546Sopenharmony_ci        <and alias="true">
5275bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
5276bf215546Sopenharmony_ci          <neq left="lanes1" right="#b01"/>
5277bf215546Sopenharmony_ci          <neq left="lanes1" right="#b23"/>
5278bf215546Sopenharmony_ci        </and>
5279bf215546Sopenharmony_ci        <or>
5280bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
5281bf215546Sopenharmony_ci          <eq left="lanes1" right="#b01"/>
5282bf215546Sopenharmony_ci          <eq left="lanes1" right="#b23"/>
5283bf215546Sopenharmony_ci        </or>
5284bf215546Sopenharmony_ci      </derived>
5285bf215546Sopenharmony_ci      <derived start="9" size="1">
5286bf215546Sopenharmony_ci        <eq left="lanes1" right="#h01"/>
5287bf215546Sopenharmony_ci        <eq left="lanes1" right="#h10"/>
5288bf215546Sopenharmony_ci      </derived>
5289bf215546Sopenharmony_ci      <derived start="10" size="1">
5290bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
5291bf215546Sopenharmony_ci        <eq left="lanes0" right="#h10"/>
5292bf215546Sopenharmony_ci      </derived>
5293bf215546Sopenharmony_ci    </encoding>
5294bf215546Sopenharmony_ci    <encoding mask="0xffc40" exact="0xbec40">
5295bf215546Sopenharmony_ci      <and>
5296bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
5297bf215546Sopenharmony_ci        <or>
5298bf215546Sopenharmony_ci          <eq left="lanes1" right="#h00"/>
5299bf215546Sopenharmony_ci          <eq left="lanes1" right="#h11"/>
5300bf215546Sopenharmony_ci        </or>
5301bf215546Sopenharmony_ci      </and>
5302bf215546Sopenharmony_ci      <derived start="7" size="1">
5303bf215546Sopenharmony_ci        <and alias="true">
5304bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
5305bf215546Sopenharmony_ci          <neq left="lanes1" right="#b01"/>
5306bf215546Sopenharmony_ci          <neq left="lanes1" right="#b23"/>
5307bf215546Sopenharmony_ci        </and>
5308bf215546Sopenharmony_ci        <or>
5309bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
5310bf215546Sopenharmony_ci          <eq left="lanes1" right="#b01"/>
5311bf215546Sopenharmony_ci          <eq left="lanes1" right="#b23"/>
5312bf215546Sopenharmony_ci        </or>
5313bf215546Sopenharmony_ci      </derived>
5314bf215546Sopenharmony_ci      <derived start="9" size="1">
5315bf215546Sopenharmony_ci        <eq left="lanes1" right="#h00"/>
5316bf215546Sopenharmony_ci        <eq left="lanes1" right="#h11"/>
5317bf215546Sopenharmony_ci      </derived>
5318bf215546Sopenharmony_ci    </encoding>
5319bf215546Sopenharmony_ci    <encoding mask="0xffc40" exact="0xbe800">
5320bf215546Sopenharmony_ci      <and>
5321bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
5322bf215546Sopenharmony_ci        <or>
5323bf215546Sopenharmony_ci          <eq left="lanes1" right="#b01"/>
5324bf215546Sopenharmony_ci          <eq left="lanes1" right="#b23"/>
5325bf215546Sopenharmony_ci        </or>
5326bf215546Sopenharmony_ci      </and>
5327bf215546Sopenharmony_ci      <derived start="7" size="1">
5328bf215546Sopenharmony_ci        <and alias="true">
5329bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
5330bf215546Sopenharmony_ci          <neq left="lanes1" right="#b01"/>
5331bf215546Sopenharmony_ci          <neq left="lanes1" right="#b23"/>
5332bf215546Sopenharmony_ci        </and>
5333bf215546Sopenharmony_ci        <or>
5334bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
5335bf215546Sopenharmony_ci          <eq left="lanes1" right="#b01"/>
5336bf215546Sopenharmony_ci          <eq left="lanes1" right="#b23"/>
5337bf215546Sopenharmony_ci        </or>
5338bf215546Sopenharmony_ci      </derived>
5339bf215546Sopenharmony_ci      <derived start="9" size="1">
5340bf215546Sopenharmony_ci        <eq left="lanes1" right="#b01"/>
5341bf215546Sopenharmony_ci        <eq left="lanes1" right="#b23"/>
5342bf215546Sopenharmony_ci      </derived>
5343bf215546Sopenharmony_ci    </encoding>
5344bf215546Sopenharmony_ci  </ins>
5345bf215546Sopenharmony_ci
5346bf215546Sopenharmony_ci  <ins name="+IADD.v4s8">
5347bf215546Sopenharmony_ci    <src start="0"/>
5348bf215546Sopenharmony_ci    <src start="3"/>
5349bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
5350bf215546Sopenharmony_ci    <mod name="lanes0" size="3" default="b0123">
5351bf215546Sopenharmony_ci      <opt>b0123</opt>
5352bf215546Sopenharmony_ci    </mod>
5353bf215546Sopenharmony_ci    <mod name="lanes1" size="3" default="b0123">
5354bf215546Sopenharmony_ci      <opt>b0123</opt>
5355bf215546Sopenharmony_ci      <opt>b0000</opt>
5356bf215546Sopenharmony_ci      <opt>b1111</opt>
5357bf215546Sopenharmony_ci      <opt>b2222</opt>
5358bf215546Sopenharmony_ci      <opt>b3333</opt>
5359bf215546Sopenharmony_ci      <opt>b0101</opt>
5360bf215546Sopenharmony_ci      <opt>b2323</opt>
5361bf215546Sopenharmony_ci    </mod>
5362bf215546Sopenharmony_ci    <encoding mask="0xffec0" exact="0xbc400">
5363bf215546Sopenharmony_ci      <and>
5364bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
5365bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0123"/>
5366bf215546Sopenharmony_ci      </and>
5367bf215546Sopenharmony_ci    </encoding>
5368bf215546Sopenharmony_ci    <encoding mask="0xff8c0" exact="0xbe040">
5369bf215546Sopenharmony_ci      <and>
5370bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
5371bf215546Sopenharmony_ci        <or>
5372bf215546Sopenharmony_ci          <eq left="lanes1" right="#b0000"/>
5373bf215546Sopenharmony_ci          <eq left="lanes1" right="#b1111"/>
5374bf215546Sopenharmony_ci          <eq left="lanes1" right="#b2222"/>
5375bf215546Sopenharmony_ci          <eq left="lanes1" right="#b3333"/>
5376bf215546Sopenharmony_ci        </or>
5377bf215546Sopenharmony_ci      </and>
5378bf215546Sopenharmony_ci      <derived start="9" size="2">
5379bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0000"/>
5380bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1111"/>
5381bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2222"/>
5382bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3333"/>
5383bf215546Sopenharmony_ci      </derived>
5384bf215546Sopenharmony_ci    </encoding>
5385bf215546Sopenharmony_ci    <encoding mask="0xffcc0" exact="0xbe840">
5386bf215546Sopenharmony_ci      <and>
5387bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
5388bf215546Sopenharmony_ci        <or>
5389bf215546Sopenharmony_ci          <eq left="lanes1" right="#b0101"/>
5390bf215546Sopenharmony_ci          <eq left="lanes1" right="#b2323"/>
5391bf215546Sopenharmony_ci        </or>
5392bf215546Sopenharmony_ci      </and>
5393bf215546Sopenharmony_ci      <derived start="9" size="1">
5394bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0101"/>
5395bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2323"/>
5396bf215546Sopenharmony_ci      </derived>
5397bf215546Sopenharmony_ci    </encoding>
5398bf215546Sopenharmony_ci  </ins>
5399bf215546Sopenharmony_ci
5400bf215546Sopenharmony_ci  <ins name="+IADD.v4u8">
5401bf215546Sopenharmony_ci    <src start="0"/>
5402bf215546Sopenharmony_ci    <src start="3"/>
5403bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
5404bf215546Sopenharmony_ci    <mod name="lanes0" size="3" default="b0123">
5405bf215546Sopenharmony_ci      <opt>b0123</opt>
5406bf215546Sopenharmony_ci    </mod>
5407bf215546Sopenharmony_ci    <mod name="lanes1" size="3" default="b0123">
5408bf215546Sopenharmony_ci      <opt>b0123</opt>
5409bf215546Sopenharmony_ci      <opt>b0000</opt>
5410bf215546Sopenharmony_ci      <opt>b1111</opt>
5411bf215546Sopenharmony_ci      <opt>b2222</opt>
5412bf215546Sopenharmony_ci      <opt>b3333</opt>
5413bf215546Sopenharmony_ci      <opt>b0101</opt>
5414bf215546Sopenharmony_ci      <opt>b2323</opt>
5415bf215546Sopenharmony_ci    </mod>
5416bf215546Sopenharmony_ci    <encoding mask="0xffe40" exact="0xbc400">
5417bf215546Sopenharmony_ci      <and>
5418bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
5419bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0123"/>
5420bf215546Sopenharmony_ci      </and>
5421bf215546Sopenharmony_ci      <derived start="7" size="1">
5422bf215546Sopenharmony_ci        <eq alias="true" left="saturate" right="#none"/>
5423bf215546Sopenharmony_ci        <eq left="saturate" right="#sat"/>
5424bf215546Sopenharmony_ci      </derived>
5425bf215546Sopenharmony_ci    </encoding>
5426bf215546Sopenharmony_ci    <encoding mask="0xff840" exact="0xbe040">
5427bf215546Sopenharmony_ci      <and>
5428bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
5429bf215546Sopenharmony_ci        <or>
5430bf215546Sopenharmony_ci          <eq left="lanes1" right="#b0000"/>
5431bf215546Sopenharmony_ci          <eq left="lanes1" right="#b1111"/>
5432bf215546Sopenharmony_ci          <eq left="lanes1" right="#b2222"/>
5433bf215546Sopenharmony_ci          <eq left="lanes1" right="#b3333"/>
5434bf215546Sopenharmony_ci        </or>
5435bf215546Sopenharmony_ci      </and>
5436bf215546Sopenharmony_ci      <derived start="7" size="1">
5437bf215546Sopenharmony_ci        <eq alias="true" left="saturate" right="#none"/>
5438bf215546Sopenharmony_ci        <eq left="saturate" right="#sat"/>
5439bf215546Sopenharmony_ci      </derived>
5440bf215546Sopenharmony_ci      <derived start="9" size="2">
5441bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0000"/>
5442bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1111"/>
5443bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2222"/>
5444bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3333"/>
5445bf215546Sopenharmony_ci      </derived>
5446bf215546Sopenharmony_ci    </encoding>
5447bf215546Sopenharmony_ci    <encoding mask="0xffc40" exact="0xbe840">
5448bf215546Sopenharmony_ci      <and>
5449bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
5450bf215546Sopenharmony_ci        <or>
5451bf215546Sopenharmony_ci          <eq left="lanes1" right="#b0101"/>
5452bf215546Sopenharmony_ci          <eq left="lanes1" right="#b2323"/>
5453bf215546Sopenharmony_ci        </or>
5454bf215546Sopenharmony_ci      </and>
5455bf215546Sopenharmony_ci      <derived start="7" size="1">
5456bf215546Sopenharmony_ci        <eq alias="true" left="saturate" right="#none"/>
5457bf215546Sopenharmony_ci        <eq left="saturate" right="#sat"/>
5458bf215546Sopenharmony_ci      </derived>
5459bf215546Sopenharmony_ci      <derived start="9" size="1">
5460bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0101"/>
5461bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2323"/>
5462bf215546Sopenharmony_ci      </derived>
5463bf215546Sopenharmony_ci    </encoding>
5464bf215546Sopenharmony_ci  </ins>
5465bf215546Sopenharmony_ci
5466bf215546Sopenharmony_ci  <ins name="+ICMP.i32" mask="0xffb80" exact="0x7b300">
5467bf215546Sopenharmony_ci    <src start="0"/>
5468bf215546Sopenharmony_ci    <src start="3"/>
5469bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5470bf215546Sopenharmony_ci      <opt>i1</opt>
5471bf215546Sopenharmony_ci      <opt>m1</opt>
5472bf215546Sopenharmony_ci    </mod>
5473bf215546Sopenharmony_ci    <mod name="cmpf" start="6" size="1">
5474bf215546Sopenharmony_ci      <opt>eq</opt>
5475bf215546Sopenharmony_ci      <opt>ne</opt>
5476bf215546Sopenharmony_ci    </mod>
5477bf215546Sopenharmony_ci  </ins>
5478bf215546Sopenharmony_ci
5479bf215546Sopenharmony_ci  <ins name="+ICMP.s32" mask="0xffb80" exact="0x7b200">
5480bf215546Sopenharmony_ci    <src start="0"/>
5481bf215546Sopenharmony_ci    <src start="3"/>
5482bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5483bf215546Sopenharmony_ci      <opt>i1</opt>
5484bf215546Sopenharmony_ci      <opt>m1</opt>
5485bf215546Sopenharmony_ci    </mod>
5486bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
5487bf215546Sopenharmony_ci      <opt>gt</opt>
5488bf215546Sopenharmony_ci      <opt>ge</opt>
5489bf215546Sopenharmony_ci      <opt>lt</opt>
5490bf215546Sopenharmony_ci      <opt>le</opt>
5491bf215546Sopenharmony_ci    </mod>
5492bf215546Sopenharmony_ci    <derived start="6" size="1">
5493bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
5494bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
5495bf215546Sopenharmony_ci    </derived>
5496bf215546Sopenharmony_ci    <swap left="0" right="1">
5497bf215546Sopenharmony_ci      <or>
5498bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
5499bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
5500bf215546Sopenharmony_ci      </or>
5501bf215546Sopenharmony_ci      <rewrite name="cmpf">
5502bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
5503bf215546Sopenharmony_ci        <map from="le" to="ge"/>
5504bf215546Sopenharmony_ci      </rewrite>
5505bf215546Sopenharmony_ci    </swap>
5506bf215546Sopenharmony_ci  </ins>
5507bf215546Sopenharmony_ci
5508bf215546Sopenharmony_ci  <ins name="+ICMP.u32" mask="0xffb80" exact="0x7b280">
5509bf215546Sopenharmony_ci    <src start="0"/>
5510bf215546Sopenharmony_ci    <src start="3"/>
5511bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5512bf215546Sopenharmony_ci      <opt>i1</opt>
5513bf215546Sopenharmony_ci      <opt>m1</opt>
5514bf215546Sopenharmony_ci    </mod>
5515bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
5516bf215546Sopenharmony_ci      <opt>gt</opt>
5517bf215546Sopenharmony_ci      <opt>ge</opt>
5518bf215546Sopenharmony_ci      <opt>lt</opt>
5519bf215546Sopenharmony_ci      <opt>le</opt>
5520bf215546Sopenharmony_ci    </mod>
5521bf215546Sopenharmony_ci    <derived start="6" size="1">
5522bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
5523bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
5524bf215546Sopenharmony_ci    </derived>
5525bf215546Sopenharmony_ci    <swap left="0" right="1">
5526bf215546Sopenharmony_ci      <or>
5527bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
5528bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
5529bf215546Sopenharmony_ci      </or>
5530bf215546Sopenharmony_ci      <rewrite name="cmpf">
5531bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
5532bf215546Sopenharmony_ci        <map from="le" to="ge"/>
5533bf215546Sopenharmony_ci      </rewrite>
5534bf215546Sopenharmony_ci    </swap>
5535bf215546Sopenharmony_ci  </ins>
5536bf215546Sopenharmony_ci
5537bf215546Sopenharmony_ci  <ins name="+ICMP.v2i16" mask="0xff000" exact="0x7a000">
5538bf215546Sopenharmony_ci    <src start="0"/>
5539bf215546Sopenharmony_ci    <src start="3"/>
5540bf215546Sopenharmony_ci    <mod name="swz0" start="6" size="2" default="h01">
5541bf215546Sopenharmony_ci      <opt>h00</opt>
5542bf215546Sopenharmony_ci      <opt>h10</opt>
5543bf215546Sopenharmony_ci      <opt>h01</opt>
5544bf215546Sopenharmony_ci      <opt>h11</opt>
5545bf215546Sopenharmony_ci    </mod>
5546bf215546Sopenharmony_ci    <mod name="swz1" start="8" size="2" default="h01">
5547bf215546Sopenharmony_ci      <opt>h00</opt>
5548bf215546Sopenharmony_ci      <opt>h10</opt>
5549bf215546Sopenharmony_ci      <opt>h01</opt>
5550bf215546Sopenharmony_ci      <opt>h11</opt>
5551bf215546Sopenharmony_ci    </mod>
5552bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5553bf215546Sopenharmony_ci      <opt>i1</opt>
5554bf215546Sopenharmony_ci      <opt>m1</opt>
5555bf215546Sopenharmony_ci    </mod>
5556bf215546Sopenharmony_ci    <mod name="cmpf" start="11" size="1">
5557bf215546Sopenharmony_ci      <opt>eq</opt>
5558bf215546Sopenharmony_ci      <opt>ne</opt>
5559bf215546Sopenharmony_ci    </mod>
5560bf215546Sopenharmony_ci  </ins>
5561bf215546Sopenharmony_ci
5562bf215546Sopenharmony_ci  <ins name="+ICMP.v2s16" mask="0xfe800" exact="0x78000">
5563bf215546Sopenharmony_ci    <src start="0"/>
5564bf215546Sopenharmony_ci    <src start="3"/>
5565bf215546Sopenharmony_ci    <mod name="swz0" start="6" size="2" default="h01">
5566bf215546Sopenharmony_ci      <opt>h00</opt>
5567bf215546Sopenharmony_ci      <opt>h10</opt>
5568bf215546Sopenharmony_ci      <opt>h01</opt>
5569bf215546Sopenharmony_ci      <opt>h11</opt>
5570bf215546Sopenharmony_ci    </mod>
5571bf215546Sopenharmony_ci    <mod name="swz1" start="8" size="2" default="h01">
5572bf215546Sopenharmony_ci      <opt>h00</opt>
5573bf215546Sopenharmony_ci      <opt>h10</opt>
5574bf215546Sopenharmony_ci      <opt>h01</opt>
5575bf215546Sopenharmony_ci      <opt>h11</opt>
5576bf215546Sopenharmony_ci    </mod>
5577bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5578bf215546Sopenharmony_ci      <opt>i1</opt>
5579bf215546Sopenharmony_ci      <opt>m1</opt>
5580bf215546Sopenharmony_ci    </mod>
5581bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
5582bf215546Sopenharmony_ci      <opt>gt</opt>
5583bf215546Sopenharmony_ci      <opt>ge</opt>
5584bf215546Sopenharmony_ci      <opt>lt</opt>
5585bf215546Sopenharmony_ci      <opt>le</opt>
5586bf215546Sopenharmony_ci    </mod>
5587bf215546Sopenharmony_ci    <derived start="12" size="1">
5588bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
5589bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
5590bf215546Sopenharmony_ci    </derived>
5591bf215546Sopenharmony_ci    <swap left="0" right="1">
5592bf215546Sopenharmony_ci      <or>
5593bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
5594bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
5595bf215546Sopenharmony_ci      </or>
5596bf215546Sopenharmony_ci      <rewrite name="cmpf">
5597bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
5598bf215546Sopenharmony_ci        <map from="le" to="ge"/>
5599bf215546Sopenharmony_ci      </rewrite>
5600bf215546Sopenharmony_ci    </swap>
5601bf215546Sopenharmony_ci  </ins>
5602bf215546Sopenharmony_ci
5603bf215546Sopenharmony_ci  <ins name="+ICMP.v2u16" mask="0xfe800" exact="0x78800">
5604bf215546Sopenharmony_ci    <src start="0"/>
5605bf215546Sopenharmony_ci    <src start="3"/>
5606bf215546Sopenharmony_ci    <mod name="swz0" start="6" size="2" default="h01">
5607bf215546Sopenharmony_ci      <opt>h00</opt>
5608bf215546Sopenharmony_ci      <opt>h10</opt>
5609bf215546Sopenharmony_ci      <opt>h01</opt>
5610bf215546Sopenharmony_ci      <opt>h11</opt>
5611bf215546Sopenharmony_ci    </mod>
5612bf215546Sopenharmony_ci    <mod name="swz1" start="8" size="2" default="h01">
5613bf215546Sopenharmony_ci      <opt>h00</opt>
5614bf215546Sopenharmony_ci      <opt>h10</opt>
5615bf215546Sopenharmony_ci      <opt>h01</opt>
5616bf215546Sopenharmony_ci      <opt>h11</opt>
5617bf215546Sopenharmony_ci    </mod>
5618bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5619bf215546Sopenharmony_ci      <opt>i1</opt>
5620bf215546Sopenharmony_ci      <opt>m1</opt>
5621bf215546Sopenharmony_ci    </mod>
5622bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
5623bf215546Sopenharmony_ci      <opt>gt</opt>
5624bf215546Sopenharmony_ci      <opt>ge</opt>
5625bf215546Sopenharmony_ci      <opt>lt</opt>
5626bf215546Sopenharmony_ci      <opt>le</opt>
5627bf215546Sopenharmony_ci    </mod>
5628bf215546Sopenharmony_ci    <derived start="12" size="1">
5629bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
5630bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
5631bf215546Sopenharmony_ci    </derived>
5632bf215546Sopenharmony_ci    <swap left="0" right="1">
5633bf215546Sopenharmony_ci      <or>
5634bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
5635bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
5636bf215546Sopenharmony_ci      </or>
5637bf215546Sopenharmony_ci      <rewrite name="cmpf">
5638bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
5639bf215546Sopenharmony_ci        <map from="le" to="ge"/>
5640bf215546Sopenharmony_ci      </rewrite>
5641bf215546Sopenharmony_ci    </swap>
5642bf215546Sopenharmony_ci  </ins>
5643bf215546Sopenharmony_ci
5644bf215546Sopenharmony_ci  <ins name="+ICMP.v4i8" mask="0xffb80" exact="0x7b100">
5645bf215546Sopenharmony_ci    <src start="0"/>
5646bf215546Sopenharmony_ci    <src start="3"/>
5647bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5648bf215546Sopenharmony_ci      <opt>i1</opt>
5649bf215546Sopenharmony_ci      <opt>m1</opt>
5650bf215546Sopenharmony_ci    </mod>
5651bf215546Sopenharmony_ci    <mod name="cmpf" start="6" size="1">
5652bf215546Sopenharmony_ci      <opt>eq</opt>
5653bf215546Sopenharmony_ci      <opt>ne</opt>
5654bf215546Sopenharmony_ci    </mod>
5655bf215546Sopenharmony_ci  </ins>
5656bf215546Sopenharmony_ci
5657bf215546Sopenharmony_ci  <ins name="+ICMP.v4s8" mask="0xffb80" exact="0x7b000">
5658bf215546Sopenharmony_ci    <src start="0"/>
5659bf215546Sopenharmony_ci    <src start="3"/>
5660bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5661bf215546Sopenharmony_ci      <opt>i1</opt>
5662bf215546Sopenharmony_ci      <opt>m1</opt>
5663bf215546Sopenharmony_ci    </mod>
5664bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
5665bf215546Sopenharmony_ci      <opt>gt</opt>
5666bf215546Sopenharmony_ci      <opt>ge</opt>
5667bf215546Sopenharmony_ci      <opt>lt</opt>
5668bf215546Sopenharmony_ci      <opt>le</opt>
5669bf215546Sopenharmony_ci    </mod>
5670bf215546Sopenharmony_ci    <derived start="6" size="1">
5671bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
5672bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
5673bf215546Sopenharmony_ci    </derived>
5674bf215546Sopenharmony_ci    <swap left="0" right="1">
5675bf215546Sopenharmony_ci      <or>
5676bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
5677bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
5678bf215546Sopenharmony_ci      </or>
5679bf215546Sopenharmony_ci      <rewrite name="cmpf">
5680bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
5681bf215546Sopenharmony_ci        <map from="le" to="ge"/>
5682bf215546Sopenharmony_ci      </rewrite>
5683bf215546Sopenharmony_ci    </swap>
5684bf215546Sopenharmony_ci  </ins>
5685bf215546Sopenharmony_ci
5686bf215546Sopenharmony_ci  <ins name="+ICMP.v4u8" mask="0xffb80" exact="0x7b080">
5687bf215546Sopenharmony_ci    <src start="0"/>
5688bf215546Sopenharmony_ci    <src start="3"/>
5689bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5690bf215546Sopenharmony_ci      <opt>i1</opt>
5691bf215546Sopenharmony_ci      <opt>m1</opt>
5692bf215546Sopenharmony_ci    </mod>
5693bf215546Sopenharmony_ci    <mod name="cmpf" size="2">
5694bf215546Sopenharmony_ci      <opt>gt</opt>
5695bf215546Sopenharmony_ci      <opt>ge</opt>
5696bf215546Sopenharmony_ci      <opt>lt</opt>
5697bf215546Sopenharmony_ci      <opt>le</opt>
5698bf215546Sopenharmony_ci    </mod>
5699bf215546Sopenharmony_ci    <derived start="6" size="1">
5700bf215546Sopenharmony_ci      <eq left="cmpf" right="#gt"/>
5701bf215546Sopenharmony_ci      <eq left="cmpf" right="#ge"/>
5702bf215546Sopenharmony_ci    </derived>
5703bf215546Sopenharmony_ci    <swap left="0" right="1">
5704bf215546Sopenharmony_ci      <or>
5705bf215546Sopenharmony_ci        <eq left="cmpf" right="#lt"/>
5706bf215546Sopenharmony_ci        <eq left="cmpf" right="#le"/>
5707bf215546Sopenharmony_ci      </or>
5708bf215546Sopenharmony_ci      <rewrite name="cmpf">
5709bf215546Sopenharmony_ci        <map from="lt" to="gt"/>
5710bf215546Sopenharmony_ci        <map from="le" to="ge"/>
5711bf215546Sopenharmony_ci      </rewrite>
5712bf215546Sopenharmony_ci    </swap>
5713bf215546Sopenharmony_ci  </ins>
5714bf215546Sopenharmony_ci
5715bf215546Sopenharmony_ci  <ins name="+ICMPF.i32" mask="0xffe00" exact="0x7be00">
5716bf215546Sopenharmony_ci    <src start="0"/>
5717bf215546Sopenharmony_ci    <src start="3"/>
5718bf215546Sopenharmony_ci    <src start="6"/>
5719bf215546Sopenharmony_ci  </ins>
5720bf215546Sopenharmony_ci
5721bf215546Sopenharmony_ci  <ins name="+ICMPI.i32" mask="0xffb80" exact="0x7b900">
5722bf215546Sopenharmony_ci    <src start="0"/>
5723bf215546Sopenharmony_ci    <src start="3"/>
5724bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5725bf215546Sopenharmony_ci      <opt>i1</opt>
5726bf215546Sopenharmony_ci      <opt>m1</opt>
5727bf215546Sopenharmony_ci    </mod>
5728bf215546Sopenharmony_ci    <mod name="cmpf" start="6" size="1">
5729bf215546Sopenharmony_ci      <opt>eq</opt>
5730bf215546Sopenharmony_ci      <opt>ne</opt>
5731bf215546Sopenharmony_ci    </mod>
5732bf215546Sopenharmony_ci  </ins>
5733bf215546Sopenharmony_ci
5734bf215546Sopenharmony_ci  <ins name="+ICMPI.s32" mask="0xffb80" exact="0x7b800">
5735bf215546Sopenharmony_ci    <src start="0"/>
5736bf215546Sopenharmony_ci    <src start="3"/>
5737bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5738bf215546Sopenharmony_ci      <opt>i1</opt>
5739bf215546Sopenharmony_ci      <opt>m1</opt>
5740bf215546Sopenharmony_ci    </mod>
5741bf215546Sopenharmony_ci    <mod name="cmpf" start="6" size="1">
5742bf215546Sopenharmony_ci      <opt>gt</opt>
5743bf215546Sopenharmony_ci      <opt>ge</opt>
5744bf215546Sopenharmony_ci    </mod>
5745bf215546Sopenharmony_ci  </ins>
5746bf215546Sopenharmony_ci
5747bf215546Sopenharmony_ci  <ins name="+ICMPI.u32" mask="0xffb80" exact="0x7b880">
5748bf215546Sopenharmony_ci    <src start="0"/>
5749bf215546Sopenharmony_ci    <src start="3"/>
5750bf215546Sopenharmony_ci    <mod name="result_type" start="10" size="1" default="i1">
5751bf215546Sopenharmony_ci      <opt>i1</opt>
5752bf215546Sopenharmony_ci      <opt>m1</opt>
5753bf215546Sopenharmony_ci    </mod>
5754bf215546Sopenharmony_ci    <mod name="cmpf" start="6" size="1">
5755bf215546Sopenharmony_ci      <opt>gt</opt>
5756bf215546Sopenharmony_ci      <opt>ge</opt>
5757bf215546Sopenharmony_ci    </mod>
5758bf215546Sopenharmony_ci  </ins>
5759bf215546Sopenharmony_ci
5760bf215546Sopenharmony_ci  <ins name="+ICMPM.i32" mask="0xffe00" exact="0x7ba00">
5761bf215546Sopenharmony_ci    <src start="0"/>
5762bf215546Sopenharmony_ci    <src start="3"/>
5763bf215546Sopenharmony_ci    <src start="6"/>
5764bf215546Sopenharmony_ci  </ins>
5765bf215546Sopenharmony_ci
5766bf215546Sopenharmony_ci  <ins name="+ILOGB.f32" mask="0xfffe0" exact="0x3d9e0">
5767bf215546Sopenharmony_ci    <src start="0"/>
5768bf215546Sopenharmony_ci    <mod name="widen0" start="3" size="2">
5769bf215546Sopenharmony_ci      <reserved/>
5770bf215546Sopenharmony_ci      <opt>none</opt>
5771bf215546Sopenharmony_ci      <opt>h0</opt>
5772bf215546Sopenharmony_ci      <opt>h1</opt>
5773bf215546Sopenharmony_ci    </mod>
5774bf215546Sopenharmony_ci  </ins>
5775bf215546Sopenharmony_ci
5776bf215546Sopenharmony_ci  <ins name="+ILOGB.v2f16" mask="0xfffe0" exact="0x3d9c0">
5777bf215546Sopenharmony_ci    <src start="0"/>
5778bf215546Sopenharmony_ci    <mod name="swz0" start="3" size="2" default="h01">
5779bf215546Sopenharmony_ci      <opt>h00</opt>
5780bf215546Sopenharmony_ci      <opt>h10</opt>
5781bf215546Sopenharmony_ci      <opt>h01</opt>
5782bf215546Sopenharmony_ci      <opt>h11</opt>
5783bf215546Sopenharmony_ci    </mod>
5784bf215546Sopenharmony_ci  </ins>
5785bf215546Sopenharmony_ci
5786bf215546Sopenharmony_ci  <ins name="+IMOV_FMA" mask="0xffff7" exact="0xd7820">
5787bf215546Sopenharmony_ci    <mod name="threads" start="3" size="1" default="odd">
5788bf215546Sopenharmony_ci      <opt>even</opt>
5789bf215546Sopenharmony_ci      <opt>odd</opt>
5790bf215546Sopenharmony_ci    </mod>
5791bf215546Sopenharmony_ci  </ins>
5792bf215546Sopenharmony_ci
5793bf215546Sopenharmony_ci  <ins name="+ISUB.s32">
5794bf215546Sopenharmony_ci    <src start="0"/>
5795bf215546Sopenharmony_ci    <src start="3"/>
5796bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
5797bf215546Sopenharmony_ci    <mod name="lanes1" size="3">
5798bf215546Sopenharmony_ci      <opt>none</opt>
5799bf215546Sopenharmony_ci      <opt>h0</opt>
5800bf215546Sopenharmony_ci      <opt>h1</opt>
5801bf215546Sopenharmony_ci      <opt>b0</opt>
5802bf215546Sopenharmony_ci      <opt>b1</opt>
5803bf215546Sopenharmony_ci      <opt>b2</opt>
5804bf215546Sopenharmony_ci      <opt>b3</opt>
5805bf215546Sopenharmony_ci    </mod>
5806bf215546Sopenharmony_ci    <encoding mask="0xffec0" exact="0xbd600">
5807bf215546Sopenharmony_ci      <eq left="lanes1" right="#none"/>
5808bf215546Sopenharmony_ci    </encoding>
5809bf215546Sopenharmony_ci    <encoding mask="0xffcc0" exact="0xbfc00">
5810bf215546Sopenharmony_ci      <or>
5811bf215546Sopenharmony_ci        <eq left="lanes1" right="#h0"/>
5812bf215546Sopenharmony_ci        <eq left="lanes1" right="#h1"/>
5813bf215546Sopenharmony_ci      </or>
5814bf215546Sopenharmony_ci      <derived start="9" size="1">
5815bf215546Sopenharmony_ci        <eq left="lanes1" right="#h0"/>
5816bf215546Sopenharmony_ci        <eq left="lanes1" right="#h1"/>
5817bf215546Sopenharmony_ci      </derived>
5818bf215546Sopenharmony_ci    </encoding>
5819bf215546Sopenharmony_ci    <encoding mask="0xff8c0" exact="0xbf000">
5820bf215546Sopenharmony_ci      <or>
5821bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0"/>
5822bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1"/>
5823bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2"/>
5824bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3"/>
5825bf215546Sopenharmony_ci      </or>
5826bf215546Sopenharmony_ci      <derived start="9" size="2">
5827bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0"/>
5828bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1"/>
5829bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2"/>
5830bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3"/>
5831bf215546Sopenharmony_ci      </derived>
5832bf215546Sopenharmony_ci    </encoding>
5833bf215546Sopenharmony_ci  </ins>
5834bf215546Sopenharmony_ci
5835bf215546Sopenharmony_ci  <ins name="+ISUB.u32">
5836bf215546Sopenharmony_ci    <src start="0"/>
5837bf215546Sopenharmony_ci    <src start="3"/>
5838bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
5839bf215546Sopenharmony_ci    <mod name="lanes1" size="3">
5840bf215546Sopenharmony_ci      <opt>none</opt>
5841bf215546Sopenharmony_ci      <opt>h0</opt>
5842bf215546Sopenharmony_ci      <opt>h1</opt>
5843bf215546Sopenharmony_ci      <opt>b0</opt>
5844bf215546Sopenharmony_ci      <opt>b1</opt>
5845bf215546Sopenharmony_ci      <opt>b2</opt>
5846bf215546Sopenharmony_ci      <opt>b3</opt>
5847bf215546Sopenharmony_ci    </mod>
5848bf215546Sopenharmony_ci    <encoding mask="0xffe40" exact="0xbd600">
5849bf215546Sopenharmony_ci      <eq left="lanes1" right="#none"/>
5850bf215546Sopenharmony_ci      <derived start="7" size="1">
5851bf215546Sopenharmony_ci        <and alias="true">
5852bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
5853bf215546Sopenharmony_ci          <eq left="lanes1" right="#none"/>
5854bf215546Sopenharmony_ci        </and>
5855bf215546Sopenharmony_ci        <or>
5856bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
5857bf215546Sopenharmony_ci          <neq left="lanes1" right="#none"/>
5858bf215546Sopenharmony_ci        </or>
5859bf215546Sopenharmony_ci      </derived>
5860bf215546Sopenharmony_ci    </encoding>
5861bf215546Sopenharmony_ci    <encoding mask="0xffc40" exact="0xbfc00">
5862bf215546Sopenharmony_ci      <or>
5863bf215546Sopenharmony_ci        <eq left="lanes1" right="#h0"/>
5864bf215546Sopenharmony_ci        <eq left="lanes1" right="#h1"/>
5865bf215546Sopenharmony_ci      </or>
5866bf215546Sopenharmony_ci      <derived start="7" size="1">
5867bf215546Sopenharmony_ci        <and alias="true">
5868bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
5869bf215546Sopenharmony_ci          <eq left="lanes1" right="#none"/>
5870bf215546Sopenharmony_ci        </and>
5871bf215546Sopenharmony_ci        <or>
5872bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
5873bf215546Sopenharmony_ci          <neq left="lanes1" right="#none"/>
5874bf215546Sopenharmony_ci        </or>
5875bf215546Sopenharmony_ci      </derived>
5876bf215546Sopenharmony_ci      <derived start="9" size="1">
5877bf215546Sopenharmony_ci        <eq left="lanes1" right="#h0"/>
5878bf215546Sopenharmony_ci        <eq left="lanes1" right="#h1"/>
5879bf215546Sopenharmony_ci      </derived>
5880bf215546Sopenharmony_ci    </encoding>
5881bf215546Sopenharmony_ci    <encoding mask="0xff840" exact="0xbf000">
5882bf215546Sopenharmony_ci      <or>
5883bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0"/>
5884bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1"/>
5885bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2"/>
5886bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3"/>
5887bf215546Sopenharmony_ci      </or>
5888bf215546Sopenharmony_ci      <derived start="7" size="1">
5889bf215546Sopenharmony_ci        <and alias="true">
5890bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
5891bf215546Sopenharmony_ci          <eq left="lanes1" right="#none"/>
5892bf215546Sopenharmony_ci        </and>
5893bf215546Sopenharmony_ci        <or>
5894bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
5895bf215546Sopenharmony_ci          <neq left="lanes1" right="#none"/>
5896bf215546Sopenharmony_ci        </or>
5897bf215546Sopenharmony_ci      </derived>
5898bf215546Sopenharmony_ci      <derived start="9" size="2">
5899bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0"/>
5900bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1"/>
5901bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2"/>
5902bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3"/>
5903bf215546Sopenharmony_ci      </derived>
5904bf215546Sopenharmony_ci    </encoding>
5905bf215546Sopenharmony_ci  </ins>
5906bf215546Sopenharmony_ci
5907bf215546Sopenharmony_ci  <ins name="+ISUB.v2s16">
5908bf215546Sopenharmony_ci    <src start="0"/>
5909bf215546Sopenharmony_ci    <src start="3"/>
5910bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
5911bf215546Sopenharmony_ci    <mod name="lanes0" size="1" default="h01">
5912bf215546Sopenharmony_ci      <opt>h01</opt>
5913bf215546Sopenharmony_ci      <opt>h10</opt>
5914bf215546Sopenharmony_ci    </mod>
5915bf215546Sopenharmony_ci    <mod name="lanes1" size="3" default="h01">
5916bf215546Sopenharmony_ci      <opt>h01</opt>
5917bf215546Sopenharmony_ci      <opt>h10</opt>
5918bf215546Sopenharmony_ci      <opt>h00</opt>
5919bf215546Sopenharmony_ci      <opt>h11</opt>
5920bf215546Sopenharmony_ci      <opt>b01</opt>
5921bf215546Sopenharmony_ci      <opt>b23</opt>
5922bf215546Sopenharmony_ci    </mod>
5923bf215546Sopenharmony_ci    <encoding mask="0xff8c0" exact="0xbd800">
5924bf215546Sopenharmony_ci      <and>
5925bf215546Sopenharmony_ci        <or>
5926bf215546Sopenharmony_ci          <eq left="lanes0" right="#h01"/>
5927bf215546Sopenharmony_ci          <eq left="lanes0" right="#h10"/>
5928bf215546Sopenharmony_ci        </or>
5929bf215546Sopenharmony_ci        <or>
5930bf215546Sopenharmony_ci          <eq left="lanes1" right="#h01"/>
5931bf215546Sopenharmony_ci          <eq left="lanes1" right="#h10"/>
5932bf215546Sopenharmony_ci        </or>
5933bf215546Sopenharmony_ci      </and>
5934bf215546Sopenharmony_ci      <derived start="9" size="1">
5935bf215546Sopenharmony_ci        <eq left="lanes1" right="#h01"/>
5936bf215546Sopenharmony_ci        <eq left="lanes1" right="#h10"/>
5937bf215546Sopenharmony_ci      </derived>
5938bf215546Sopenharmony_ci      <derived start="10" size="1">
5939bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
5940bf215546Sopenharmony_ci        <eq left="lanes0" right="#h10"/>
5941bf215546Sopenharmony_ci      </derived>
5942bf215546Sopenharmony_ci    </encoding>
5943bf215546Sopenharmony_ci    <encoding mask="0xffcc0" exact="0xbfc40">
5944bf215546Sopenharmony_ci      <and>
5945bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
5946bf215546Sopenharmony_ci        <or>
5947bf215546Sopenharmony_ci          <eq left="lanes1" right="#h00"/>
5948bf215546Sopenharmony_ci          <eq left="lanes1" right="#h11"/>
5949bf215546Sopenharmony_ci        </or>
5950bf215546Sopenharmony_ci      </and>
5951bf215546Sopenharmony_ci      <derived start="9" size="1">
5952bf215546Sopenharmony_ci        <eq left="lanes1" right="#h00"/>
5953bf215546Sopenharmony_ci        <eq left="lanes1" right="#h11"/>
5954bf215546Sopenharmony_ci      </derived>
5955bf215546Sopenharmony_ci    </encoding>
5956bf215546Sopenharmony_ci    <encoding mask="0xffcc0" exact="0xbf800">
5957bf215546Sopenharmony_ci      <and>
5958bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
5959bf215546Sopenharmony_ci        <or>
5960bf215546Sopenharmony_ci          <eq left="lanes1" right="#b01"/>
5961bf215546Sopenharmony_ci          <eq left="lanes1" right="#b23"/>
5962bf215546Sopenharmony_ci        </or>
5963bf215546Sopenharmony_ci      </and>
5964bf215546Sopenharmony_ci      <derived start="9" size="1">
5965bf215546Sopenharmony_ci        <eq left="lanes1" right="#b01"/>
5966bf215546Sopenharmony_ci        <eq left="lanes1" right="#b23"/>
5967bf215546Sopenharmony_ci      </derived>
5968bf215546Sopenharmony_ci    </encoding>
5969bf215546Sopenharmony_ci  </ins>
5970bf215546Sopenharmony_ci
5971bf215546Sopenharmony_ci  <ins name="+ISUB.v2u16">
5972bf215546Sopenharmony_ci    <src start="0"/>
5973bf215546Sopenharmony_ci    <src start="3"/>
5974bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
5975bf215546Sopenharmony_ci    <mod name="lanes0" size="1" default="h01">
5976bf215546Sopenharmony_ci      <opt>h01</opt>
5977bf215546Sopenharmony_ci      <opt>h10</opt>
5978bf215546Sopenharmony_ci    </mod>
5979bf215546Sopenharmony_ci    <mod name="lanes1" size="3" default="h01">
5980bf215546Sopenharmony_ci      <opt>h01</opt>
5981bf215546Sopenharmony_ci      <opt>h10</opt>
5982bf215546Sopenharmony_ci      <opt>h00</opt>
5983bf215546Sopenharmony_ci      <opt>h11</opt>
5984bf215546Sopenharmony_ci      <opt>b01</opt>
5985bf215546Sopenharmony_ci      <opt>b23</opt>
5986bf215546Sopenharmony_ci    </mod>
5987bf215546Sopenharmony_ci    <encoding mask="0xff840" exact="0xbd800">
5988bf215546Sopenharmony_ci      <and>
5989bf215546Sopenharmony_ci        <or>
5990bf215546Sopenharmony_ci          <eq left="lanes0" right="#h01"/>
5991bf215546Sopenharmony_ci          <eq left="lanes0" right="#h10"/>
5992bf215546Sopenharmony_ci        </or>
5993bf215546Sopenharmony_ci        <or>
5994bf215546Sopenharmony_ci          <eq left="lanes1" right="#h01"/>
5995bf215546Sopenharmony_ci          <eq left="lanes1" right="#h10"/>
5996bf215546Sopenharmony_ci        </or>
5997bf215546Sopenharmony_ci      </and>
5998bf215546Sopenharmony_ci      <derived start="7" size="1">
5999bf215546Sopenharmony_ci        <and alias="true">
6000bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
6001bf215546Sopenharmony_ci          <neq left="lanes1" right="#b01"/>
6002bf215546Sopenharmony_ci          <neq left="lanes1" right="#b23"/>
6003bf215546Sopenharmony_ci        </and>
6004bf215546Sopenharmony_ci        <or>
6005bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
6006bf215546Sopenharmony_ci          <eq left="lanes1" right="#b01"/>
6007bf215546Sopenharmony_ci          <eq left="lanes1" right="#b23"/>
6008bf215546Sopenharmony_ci        </or>
6009bf215546Sopenharmony_ci      </derived>
6010bf215546Sopenharmony_ci      <derived start="9" size="1">
6011bf215546Sopenharmony_ci        <eq left="lanes1" right="#h01"/>
6012bf215546Sopenharmony_ci        <eq left="lanes1" right="#h10"/>
6013bf215546Sopenharmony_ci      </derived>
6014bf215546Sopenharmony_ci      <derived start="10" size="1">
6015bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
6016bf215546Sopenharmony_ci        <eq left="lanes0" right="#h10"/>
6017bf215546Sopenharmony_ci      </derived>
6018bf215546Sopenharmony_ci    </encoding>
6019bf215546Sopenharmony_ci    <encoding mask="0xffc40" exact="0xbfc40">
6020bf215546Sopenharmony_ci      <and>
6021bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
6022bf215546Sopenharmony_ci        <or>
6023bf215546Sopenharmony_ci          <eq left="lanes1" right="#h00"/>
6024bf215546Sopenharmony_ci          <eq left="lanes1" right="#h11"/>
6025bf215546Sopenharmony_ci        </or>
6026bf215546Sopenharmony_ci      </and>
6027bf215546Sopenharmony_ci      <derived start="7" size="1">
6028bf215546Sopenharmony_ci        <and alias="true">
6029bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
6030bf215546Sopenharmony_ci          <neq left="lanes1" right="#b01"/>
6031bf215546Sopenharmony_ci          <neq left="lanes1" right="#b23"/>
6032bf215546Sopenharmony_ci        </and>
6033bf215546Sopenharmony_ci        <or>
6034bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
6035bf215546Sopenharmony_ci          <eq left="lanes1" right="#b01"/>
6036bf215546Sopenharmony_ci          <eq left="lanes1" right="#b23"/>
6037bf215546Sopenharmony_ci        </or>
6038bf215546Sopenharmony_ci      </derived>
6039bf215546Sopenharmony_ci      <derived start="9" size="1">
6040bf215546Sopenharmony_ci        <eq left="lanes1" right="#h00"/>
6041bf215546Sopenharmony_ci        <eq left="lanes1" right="#h11"/>
6042bf215546Sopenharmony_ci      </derived>
6043bf215546Sopenharmony_ci    </encoding>
6044bf215546Sopenharmony_ci    <encoding mask="0xffc40" exact="0xbf800">
6045bf215546Sopenharmony_ci      <and>
6046bf215546Sopenharmony_ci        <eq left="lanes0" right="#h01"/>
6047bf215546Sopenharmony_ci        <or>
6048bf215546Sopenharmony_ci          <eq left="lanes1" right="#b01"/>
6049bf215546Sopenharmony_ci          <eq left="lanes1" right="#b23"/>
6050bf215546Sopenharmony_ci        </or>
6051bf215546Sopenharmony_ci      </and>
6052bf215546Sopenharmony_ci      <derived start="7" size="1">
6053bf215546Sopenharmony_ci        <and alias="true">
6054bf215546Sopenharmony_ci          <eq left="saturate" right="#none"/>
6055bf215546Sopenharmony_ci          <neq left="lanes1" right="#b01"/>
6056bf215546Sopenharmony_ci          <neq left="lanes1" right="#b23"/>
6057bf215546Sopenharmony_ci        </and>
6058bf215546Sopenharmony_ci        <or>
6059bf215546Sopenharmony_ci          <eq left="saturate" right="#sat"/>
6060bf215546Sopenharmony_ci          <eq left="lanes1" right="#b01"/>
6061bf215546Sopenharmony_ci          <eq left="lanes1" right="#b23"/>
6062bf215546Sopenharmony_ci        </or>
6063bf215546Sopenharmony_ci      </derived>
6064bf215546Sopenharmony_ci      <derived start="9" size="1">
6065bf215546Sopenharmony_ci        <eq left="lanes1" right="#b01"/>
6066bf215546Sopenharmony_ci        <eq left="lanes1" right="#b23"/>
6067bf215546Sopenharmony_ci      </derived>
6068bf215546Sopenharmony_ci    </encoding>
6069bf215546Sopenharmony_ci  </ins>
6070bf215546Sopenharmony_ci
6071bf215546Sopenharmony_ci  <ins name="+ISUB.v4s8">
6072bf215546Sopenharmony_ci    <src start="0"/>
6073bf215546Sopenharmony_ci    <src start="3"/>
6074bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
6075bf215546Sopenharmony_ci    <mod name="lanes0" size="3" default="b0123">
6076bf215546Sopenharmony_ci      <opt>b0123</opt>
6077bf215546Sopenharmony_ci    </mod>
6078bf215546Sopenharmony_ci    <mod name="lanes1" size="3" default="b0123">
6079bf215546Sopenharmony_ci      <opt>b0123</opt>
6080bf215546Sopenharmony_ci      <opt>b0000</opt>
6081bf215546Sopenharmony_ci      <opt>b1111</opt>
6082bf215546Sopenharmony_ci      <opt>b2222</opt>
6083bf215546Sopenharmony_ci      <opt>b3333</opt>
6084bf215546Sopenharmony_ci      <opt>b0101</opt>
6085bf215546Sopenharmony_ci      <opt>b2323</opt>
6086bf215546Sopenharmony_ci    </mod>
6087bf215546Sopenharmony_ci    <encoding mask="0xffec0" exact="0xbd400">
6088bf215546Sopenharmony_ci      <and>
6089bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
6090bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0123"/>
6091bf215546Sopenharmony_ci      </and>
6092bf215546Sopenharmony_ci    </encoding>
6093bf215546Sopenharmony_ci    <encoding mask="0xff8c0" exact="0xbf040">
6094bf215546Sopenharmony_ci      <and>
6095bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
6096bf215546Sopenharmony_ci        <or>
6097bf215546Sopenharmony_ci          <eq left="lanes1" right="#b0000"/>
6098bf215546Sopenharmony_ci          <eq left="lanes1" right="#b1111"/>
6099bf215546Sopenharmony_ci          <eq left="lanes1" right="#b2222"/>
6100bf215546Sopenharmony_ci          <eq left="lanes1" right="#b3333"/>
6101bf215546Sopenharmony_ci        </or>
6102bf215546Sopenharmony_ci      </and>
6103bf215546Sopenharmony_ci      <derived start="9" size="2">
6104bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0000"/>
6105bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1111"/>
6106bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2222"/>
6107bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3333"/>
6108bf215546Sopenharmony_ci      </derived>
6109bf215546Sopenharmony_ci    </encoding>
6110bf215546Sopenharmony_ci    <encoding mask="0xffcc0" exact="0xbf840">
6111bf215546Sopenharmony_ci      <and>
6112bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
6113bf215546Sopenharmony_ci        <or>
6114bf215546Sopenharmony_ci          <eq left="lanes1" right="#b0101"/>
6115bf215546Sopenharmony_ci          <eq left="lanes1" right="#b2323"/>
6116bf215546Sopenharmony_ci        </or>
6117bf215546Sopenharmony_ci      </and>
6118bf215546Sopenharmony_ci      <derived start="9" size="1">
6119bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0101"/>
6120bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2323"/>
6121bf215546Sopenharmony_ci      </derived>
6122bf215546Sopenharmony_ci    </encoding>
6123bf215546Sopenharmony_ci  </ins>
6124bf215546Sopenharmony_ci
6125bf215546Sopenharmony_ci  <ins name="+ISUB.v4u8">
6126bf215546Sopenharmony_ci    <src start="0"/>
6127bf215546Sopenharmony_ci    <src start="3"/>
6128bf215546Sopenharmony_ci    <mod name="saturate" start="8" size="1" opt="sat"/>
6129bf215546Sopenharmony_ci    <mod name="lanes0" size="3" default="b0123">
6130bf215546Sopenharmony_ci      <opt>b0123</opt>
6131bf215546Sopenharmony_ci    </mod>
6132bf215546Sopenharmony_ci    <mod name="lanes1" size="3" default="b0123">
6133bf215546Sopenharmony_ci      <opt>b0123</opt>
6134bf215546Sopenharmony_ci      <opt>b0000</opt>
6135bf215546Sopenharmony_ci      <opt>b1111</opt>
6136bf215546Sopenharmony_ci      <opt>b2222</opt>
6137bf215546Sopenharmony_ci      <opt>b3333</opt>
6138bf215546Sopenharmony_ci      <opt>b0101</opt>
6139bf215546Sopenharmony_ci      <opt>b2323</opt>
6140bf215546Sopenharmony_ci    </mod>
6141bf215546Sopenharmony_ci    <encoding mask="0xffe40" exact="0xbd400">
6142bf215546Sopenharmony_ci      <and>
6143bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
6144bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0123"/>
6145bf215546Sopenharmony_ci      </and>
6146bf215546Sopenharmony_ci      <derived start="7" size="1">
6147bf215546Sopenharmony_ci        <eq alias="true" left="saturate" right="#none"/>
6148bf215546Sopenharmony_ci        <eq left="saturate" right="#sat"/>
6149bf215546Sopenharmony_ci      </derived>
6150bf215546Sopenharmony_ci    </encoding>
6151bf215546Sopenharmony_ci    <encoding mask="0xff840" exact="0xbf040">
6152bf215546Sopenharmony_ci      <and>
6153bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
6154bf215546Sopenharmony_ci        <or>
6155bf215546Sopenharmony_ci          <eq left="lanes1" right="#b0000"/>
6156bf215546Sopenharmony_ci          <eq left="lanes1" right="#b1111"/>
6157bf215546Sopenharmony_ci          <eq left="lanes1" right="#b2222"/>
6158bf215546Sopenharmony_ci          <eq left="lanes1" right="#b3333"/>
6159bf215546Sopenharmony_ci        </or>
6160bf215546Sopenharmony_ci      </and>
6161bf215546Sopenharmony_ci      <derived start="7" size="1">
6162bf215546Sopenharmony_ci        <eq alias="true" left="saturate" right="#none"/>
6163bf215546Sopenharmony_ci        <eq left="saturate" right="#sat"/>
6164bf215546Sopenharmony_ci      </derived>
6165bf215546Sopenharmony_ci      <derived start="9" size="2">
6166bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0000"/>
6167bf215546Sopenharmony_ci        <eq left="lanes1" right="#b1111"/>
6168bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2222"/>
6169bf215546Sopenharmony_ci        <eq left="lanes1" right="#b3333"/>
6170bf215546Sopenharmony_ci      </derived>
6171bf215546Sopenharmony_ci    </encoding>
6172bf215546Sopenharmony_ci    <encoding mask="0xffc40" exact="0xbf840">
6173bf215546Sopenharmony_ci      <and>
6174bf215546Sopenharmony_ci        <eq left="lanes0" right="#b0123"/>
6175bf215546Sopenharmony_ci        <or>
6176bf215546Sopenharmony_ci          <eq left="lanes1" right="#b0101"/>
6177bf215546Sopenharmony_ci          <eq left="lanes1" right="#b2323"/>
6178bf215546Sopenharmony_ci        </or>
6179bf215546Sopenharmony_ci      </and>
6180bf215546Sopenharmony_ci      <derived start="7" size="1">
6181bf215546Sopenharmony_ci        <eq alias="true" left="saturate" right="#none"/>
6182bf215546Sopenharmony_ci        <eq left="saturate" right="#sat"/>
6183bf215546Sopenharmony_ci      </derived>
6184bf215546Sopenharmony_ci      <derived start="9" size="1">
6185bf215546Sopenharmony_ci        <eq left="lanes1" right="#b0101"/>
6186bf215546Sopenharmony_ci        <eq left="lanes1" right="#b2323"/>
6187bf215546Sopenharmony_ci      </derived>
6188bf215546Sopenharmony_ci    </encoding>
6189bf215546Sopenharmony_ci  </ins>
6190bf215546Sopenharmony_ci
6191bf215546Sopenharmony_ci  <ins name="+JUMP" mask="0xffe3f" exact="0x6fe34" last="true" dests="0">
6192bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
6193bf215546Sopenharmony_ci  </ins>
6194bf215546Sopenharmony_ci
6195bf215546Sopenharmony_ci  <ins name="+KABOOM" mask="0xffff8" exact="0xd7858" unused="true" message="job_management">
6196bf215546Sopenharmony_ci    <src start="0"/>
6197bf215546Sopenharmony_ci  </ins>
6198bf215546Sopenharmony_ci
6199bf215546Sopenharmony_ci  <ins name="+LDEXP.f32" mask="0xffe00" exact="0x74c00">
6200bf215546Sopenharmony_ci    <src start="0"/>
6201bf215546Sopenharmony_ci    <src start="3"/>
6202bf215546Sopenharmony_ci    <mod name="round" start="6" size="3">
6203bf215546Sopenharmony_ci      <opt>none</opt>
6204bf215546Sopenharmony_ci      <opt>rtp</opt>
6205bf215546Sopenharmony_ci      <opt>rtn</opt>
6206bf215546Sopenharmony_ci      <opt>rtz</opt>
6207bf215546Sopenharmony_ci      <opt>rtna</opt>
6208bf215546Sopenharmony_ci      <reserved/>
6209bf215546Sopenharmony_ci      <opt>inf</opt>
6210bf215546Sopenharmony_ci      <opt>inf0</opt>
6211bf215546Sopenharmony_ci    </mod>
6212bf215546Sopenharmony_ci  </ins>
6213bf215546Sopenharmony_ci
6214bf215546Sopenharmony_ci  <ins name="+LDEXP.v2f16" mask="0xffe00" exact="0x74e00">
6215bf215546Sopenharmony_ci    <src start="0"/>
6216bf215546Sopenharmony_ci    <src start="3"/>
6217bf215546Sopenharmony_ci    <mod name="round" start="6" size="3">
6218bf215546Sopenharmony_ci      <opt>none</opt>
6219bf215546Sopenharmony_ci      <opt>rtp</opt>
6220bf215546Sopenharmony_ci      <opt>rtn</opt>
6221bf215546Sopenharmony_ci      <opt>rtz</opt>
6222bf215546Sopenharmony_ci      <opt>rtna</opt>
6223bf215546Sopenharmony_ci      <reserved/>
6224bf215546Sopenharmony_ci      <opt>inf</opt>
6225bf215546Sopenharmony_ci      <opt>inf0</opt>
6226bf215546Sopenharmony_ci    </mod>
6227bf215546Sopenharmony_ci  </ins>
6228bf215546Sopenharmony_ci
6229bf215546Sopenharmony_ci  <ins name="+LD_ATTR" staging="w=format" message="attribute">
6230bf215546Sopenharmony_ci    <src start="0"/>
6231bf215546Sopenharmony_ci    <src start="3"/>
6232bf215546Sopenharmony_ci    <src start="6"/>
6233bf215546Sopenharmony_ci    <mod name="register_format" size="4">
6234bf215546Sopenharmony_ci      <opt>f16</opt>
6235bf215546Sopenharmony_ci      <opt>f32</opt>
6236bf215546Sopenharmony_ci      <opt>s32</opt>
6237bf215546Sopenharmony_ci      <opt>u32</opt>
6238bf215546Sopenharmony_ci      <opt>s16</opt>
6239bf215546Sopenharmony_ci      <opt>u16</opt>
6240bf215546Sopenharmony_ci      <opt>f64</opt>
6241bf215546Sopenharmony_ci      <opt>i64</opt>
6242bf215546Sopenharmony_ci      <opt>auto</opt>
6243bf215546Sopenharmony_ci    </mod>
6244bf215546Sopenharmony_ci    <mod name="vecsize" start="11" size="2">
6245bf215546Sopenharmony_ci      <opt>none</opt>
6246bf215546Sopenharmony_ci      <opt>v2</opt>
6247bf215546Sopenharmony_ci      <opt>v3</opt>
6248bf215546Sopenharmony_ci      <opt>v4</opt>
6249bf215546Sopenharmony_ci    </mod>
6250bf215546Sopenharmony_ci    <encoding mask="0xf0600" exact="0x40400">
6251bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
6252bf215546Sopenharmony_ci      <derived start="13" size="3">
6253bf215546Sopenharmony_ci        <eq left="register_format" right="#f16"/>
6254bf215546Sopenharmony_ci        <eq left="register_format" right="#f32"/>
6255bf215546Sopenharmony_ci        <eq left="register_format" right="#s32"/>
6256bf215546Sopenharmony_ci        <eq left="register_format" right="#u32"/>
6257bf215546Sopenharmony_ci        <eq left="register_format" right="#s16"/>
6258bf215546Sopenharmony_ci        <eq left="register_format" right="#u16"/>
6259bf215546Sopenharmony_ci        <eq left="register_format" right="#f64"/>
6260bf215546Sopenharmony_ci        <eq left="register_format" right="#i64"/>
6261bf215546Sopenharmony_ci      </derived>
6262bf215546Sopenharmony_ci    </encoding>
6263bf215546Sopenharmony_ci    <encoding mask="0xfe600" exact="0xc4400">
6264bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
6265bf215546Sopenharmony_ci    </encoding>
6266bf215546Sopenharmony_ci  </ins>
6267bf215546Sopenharmony_ci
6268bf215546Sopenharmony_ci  <ins name="+LD_ATTR_IMM" staging="w=format" message="attribute">
6269bf215546Sopenharmony_ci    <src start="0"/>
6270bf215546Sopenharmony_ci    <src start="3"/>
6271bf215546Sopenharmony_ci    <immediate name="attribute_index" start="6" size="4"/>
6272bf215546Sopenharmony_ci    <mod name="register_format" size="4">
6273bf215546Sopenharmony_ci      <opt>f16</opt>
6274bf215546Sopenharmony_ci      <opt>f32</opt>
6275bf215546Sopenharmony_ci      <opt>s32</opt>
6276bf215546Sopenharmony_ci      <opt>u32</opt>
6277bf215546Sopenharmony_ci      <opt>s16</opt>
6278bf215546Sopenharmony_ci      <opt>u16</opt>
6279bf215546Sopenharmony_ci      <opt>f64</opt>
6280bf215546Sopenharmony_ci      <opt>i64</opt>
6281bf215546Sopenharmony_ci      <opt>auto</opt>
6282bf215546Sopenharmony_ci    </mod>
6283bf215546Sopenharmony_ci    <mod name="vecsize" start="11" size="2">
6284bf215546Sopenharmony_ci      <opt>none</opt>
6285bf215546Sopenharmony_ci      <opt>v2</opt>
6286bf215546Sopenharmony_ci      <opt>v3</opt>
6287bf215546Sopenharmony_ci      <opt>v4</opt>
6288bf215546Sopenharmony_ci    </mod>
6289bf215546Sopenharmony_ci    <encoding mask="0xf0400" exact="0x40000">
6290bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
6291bf215546Sopenharmony_ci      <derived start="13" size="3">
6292bf215546Sopenharmony_ci        <eq left="register_format" right="#f16"/>
6293bf215546Sopenharmony_ci        <eq left="register_format" right="#f32"/>
6294bf215546Sopenharmony_ci        <eq left="register_format" right="#s32"/>
6295bf215546Sopenharmony_ci        <eq left="register_format" right="#u32"/>
6296bf215546Sopenharmony_ci        <eq left="register_format" right="#s16"/>
6297bf215546Sopenharmony_ci        <eq left="register_format" right="#u16"/>
6298bf215546Sopenharmony_ci        <eq left="register_format" right="#f64"/>
6299bf215546Sopenharmony_ci        <eq left="register_format" right="#i64"/>
6300bf215546Sopenharmony_ci      </derived>
6301bf215546Sopenharmony_ci    </encoding>
6302bf215546Sopenharmony_ci    <encoding mask="0xfe400" exact="0xc4000">
6303bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
6304bf215546Sopenharmony_ci    </encoding>
6305bf215546Sopenharmony_ci  </ins>
6306bf215546Sopenharmony_ci
6307bf215546Sopenharmony_ci  <ins name="+LD_ATTR_TEX" staging="w=format" message="attribute">
6308bf215546Sopenharmony_ci    <src start="0"/>
6309bf215546Sopenharmony_ci    <src start="3"/>
6310bf215546Sopenharmony_ci    <src start="6"/>
6311bf215546Sopenharmony_ci    <mod name="register_format" size="4">
6312bf215546Sopenharmony_ci      <opt>f16</opt>
6313bf215546Sopenharmony_ci      <opt>f32</opt>
6314bf215546Sopenharmony_ci      <opt>s32</opt>
6315bf215546Sopenharmony_ci      <opt>u32</opt>
6316bf215546Sopenharmony_ci      <opt>s16</opt>
6317bf215546Sopenharmony_ci      <opt>u16</opt>
6318bf215546Sopenharmony_ci      <opt>f64</opt>
6319bf215546Sopenharmony_ci      <opt>i64</opt>
6320bf215546Sopenharmony_ci      <opt>auto</opt>
6321bf215546Sopenharmony_ci    </mod>
6322bf215546Sopenharmony_ci    <mod name="vecsize" start="11" size="2">
6323bf215546Sopenharmony_ci      <opt>none</opt>
6324bf215546Sopenharmony_ci      <opt>v2</opt>
6325bf215546Sopenharmony_ci      <opt>v3</opt>
6326bf215546Sopenharmony_ci      <opt>v4</opt>
6327bf215546Sopenharmony_ci    </mod>
6328bf215546Sopenharmony_ci    <encoding mask="0xf0600" exact="0x40600">
6329bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
6330bf215546Sopenharmony_ci      <derived start="13" size="3">
6331bf215546Sopenharmony_ci        <eq left="register_format" right="#f16"/>
6332bf215546Sopenharmony_ci        <eq left="register_format" right="#f32"/>
6333bf215546Sopenharmony_ci        <eq left="register_format" right="#s32"/>
6334bf215546Sopenharmony_ci        <eq left="register_format" right="#u32"/>
6335bf215546Sopenharmony_ci        <eq left="register_format" right="#s16"/>
6336bf215546Sopenharmony_ci        <eq left="register_format" right="#u16"/>
6337bf215546Sopenharmony_ci        <eq left="register_format" right="#f64"/>
6338bf215546Sopenharmony_ci        <eq left="register_format" right="#i64"/>
6339bf215546Sopenharmony_ci      </derived>
6340bf215546Sopenharmony_ci    </encoding>
6341bf215546Sopenharmony_ci    <encoding mask="0xfe600" exact="0xc4600">
6342bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
6343bf215546Sopenharmony_ci    </encoding>
6344bf215546Sopenharmony_ci  </ins>
6345bf215546Sopenharmony_ci
6346bf215546Sopenharmony_ci  <ins name="+LD_CVT" staging="w=format" mask="0xff800" exact="0xc9000" message="load">
6347bf215546Sopenharmony_ci    <src start="0"/>
6348bf215546Sopenharmony_ci    <src start="3"/>
6349bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
6350bf215546Sopenharmony_ci    <mod name="register_format" size="4" pseudo="true">
6351bf215546Sopenharmony_ci      <opt>f16</opt>
6352bf215546Sopenharmony_ci      <opt>f32</opt>
6353bf215546Sopenharmony_ci      <opt>s32</opt>
6354bf215546Sopenharmony_ci      <opt>u32</opt>
6355bf215546Sopenharmony_ci      <opt>s16</opt>
6356bf215546Sopenharmony_ci      <opt>u16</opt>
6357bf215546Sopenharmony_ci      <opt>f64</opt>
6358bf215546Sopenharmony_ci      <opt>i64</opt>
6359bf215546Sopenharmony_ci    </mod>
6360bf215546Sopenharmony_ci    <mod name="vecsize" start="9" size="2">
6361bf215546Sopenharmony_ci      <opt>none</opt>
6362bf215546Sopenharmony_ci      <opt>v2</opt>
6363bf215546Sopenharmony_ci      <opt>v3</opt>
6364bf215546Sopenharmony_ci      <opt>v4</opt>
6365bf215546Sopenharmony_ci    </mod>
6366bf215546Sopenharmony_ci  </ins>
6367bf215546Sopenharmony_ci
6368bf215546Sopenharmony_ci  <ins name="+LD_GCLK.u64" staging="w=2" mask="0xffff8" exact="0xd7800" message="attribute">
6369bf215546Sopenharmony_ci    <mod name="source" start="0" size="3">
6370bf215546Sopenharmony_ci      <reserved/>
6371bf215546Sopenharmony_ci      <reserved/>
6372bf215546Sopenharmony_ci      <reserved/>
6373bf215546Sopenharmony_ci      <reserved/>
6374bf215546Sopenharmony_ci      <reserved/>
6375bf215546Sopenharmony_ci      <reserved/>
6376bf215546Sopenharmony_ci      <opt>system_timestamp</opt>
6377bf215546Sopenharmony_ci      <opt>cycle_counter</opt>
6378bf215546Sopenharmony_ci    </mod>
6379bf215546Sopenharmony_ci  </ins>
6380bf215546Sopenharmony_ci
6381bf215546Sopenharmony_ci  <ins name="+LD_TILE" staging="w=format" mask="0xff800" exact="0xcb000" message="tile">
6382bf215546Sopenharmony_ci    <src start="0"/>
6383bf215546Sopenharmony_ci    <src start="3"/>
6384bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
6385bf215546Sopenharmony_ci    <mod name="vecsize" start="9" size="2">
6386bf215546Sopenharmony_ci      <opt>none</opt>
6387bf215546Sopenharmony_ci      <opt>v2</opt>
6388bf215546Sopenharmony_ci      <opt>v3</opt>
6389bf215546Sopenharmony_ci      <opt>v4</opt>
6390bf215546Sopenharmony_ci    </mod>
6391bf215546Sopenharmony_ci    <mod name="register_format" size="3" pseudo="true">
6392bf215546Sopenharmony_ci      <opt>f32</opt>
6393bf215546Sopenharmony_ci      <opt>f16</opt>
6394bf215546Sopenharmony_ci      <opt>u32</opt>
6395bf215546Sopenharmony_ci      <opt>s32</opt>
6396bf215546Sopenharmony_ci    </mod>
6397bf215546Sopenharmony_ci  </ins>
6398bf215546Sopenharmony_ci
6399bf215546Sopenharmony_ci  <ins name="+LD_VAR" staging="w=format" message="varying">
6400bf215546Sopenharmony_ci    <src start="0"/>
6401bf215546Sopenharmony_ci    <src start="3"/>
6402bf215546Sopenharmony_ci    <mod name="vecsize" start="8" size="2">
6403bf215546Sopenharmony_ci      <opt>none</opt>
6404bf215546Sopenharmony_ci      <opt>v2</opt>
6405bf215546Sopenharmony_ci      <opt>v3</opt>
6406bf215546Sopenharmony_ci      <opt>v4</opt>
6407bf215546Sopenharmony_ci    </mod>
6408bf215546Sopenharmony_ci    <mod name="update" size="2">
6409bf215546Sopenharmony_ci      <opt>store</opt>
6410bf215546Sopenharmony_ci      <opt>retrieve</opt>
6411bf215546Sopenharmony_ci      <opt>conditional</opt>
6412bf215546Sopenharmony_ci      <opt>clobber</opt>
6413bf215546Sopenharmony_ci    </mod>
6414bf215546Sopenharmony_ci    <mod name="register_format" size="2">
6415bf215546Sopenharmony_ci      <opt>f32</opt>
6416bf215546Sopenharmony_ci      <opt>f16</opt>
6417bf215546Sopenharmony_ci      <opt>auto</opt>
6418bf215546Sopenharmony_ci    </mod>
6419bf215546Sopenharmony_ci    <mod name="sample" size="3">
6420bf215546Sopenharmony_ci      <opt>center</opt>
6421bf215546Sopenharmony_ci      <opt>centroid</opt>
6422bf215546Sopenharmony_ci      <opt>sample</opt>
6423bf215546Sopenharmony_ci      <opt>explicit</opt>
6424bf215546Sopenharmony_ci      <opt>none</opt>
6425bf215546Sopenharmony_ci    </mod>
6426bf215546Sopenharmony_ci    <encoding mask="0x7c0c0" exact="0x500c0">
6427bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
6428bf215546Sopenharmony_ci      <derived start="19" size="1">
6429bf215546Sopenharmony_ci        <eq left="register_format" right="#f32"/>
6430bf215546Sopenharmony_ci        <eq left="register_format" right="#f16"/>
6431bf215546Sopenharmony_ci      </derived>
6432bf215546Sopenharmony_ci      <derived start="10" size="4">
6433bf215546Sopenharmony_ci        <and>
6434bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6435bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6436bf215546Sopenharmony_ci        </and>
6437bf215546Sopenharmony_ci        <and>
6438bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6439bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6440bf215546Sopenharmony_ci        </and>
6441bf215546Sopenharmony_ci        <and>
6442bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6443bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6444bf215546Sopenharmony_ci        </and>
6445bf215546Sopenharmony_ci        <and>
6446bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6447bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6448bf215546Sopenharmony_ci        </and>
6449bf215546Sopenharmony_ci        <and>
6450bf215546Sopenharmony_ci          <eq left="sample" right="#none"/>
6451bf215546Sopenharmony_ci          <eq left="update" right="#retrieve"/>
6452bf215546Sopenharmony_ci        </and>
6453bf215546Sopenharmony_ci        <reserved/>
6454bf215546Sopenharmony_ci        <reserved/>
6455bf215546Sopenharmony_ci        <reserved/>
6456bf215546Sopenharmony_ci        <and>
6457bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6458bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6459bf215546Sopenharmony_ci        </and>
6460bf215546Sopenharmony_ci        <and>
6461bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6462bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6463bf215546Sopenharmony_ci        </and>
6464bf215546Sopenharmony_ci        <and>
6465bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6466bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6467bf215546Sopenharmony_ci        </and>
6468bf215546Sopenharmony_ci        <and>
6469bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6470bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6471bf215546Sopenharmony_ci        </and>
6472bf215546Sopenharmony_ci        <and>
6473bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6474bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6475bf215546Sopenharmony_ci        </and>
6476bf215546Sopenharmony_ci        <and>
6477bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6478bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6479bf215546Sopenharmony_ci        </and>
6480bf215546Sopenharmony_ci        <reserved/>
6481bf215546Sopenharmony_ci        <reserved/>
6482bf215546Sopenharmony_ci      </derived>
6483bf215546Sopenharmony_ci    </encoding>
6484bf215546Sopenharmony_ci    <encoding mask="0xfc0c0" exact="0xcc0c0">
6485bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
6486bf215546Sopenharmony_ci      <derived start="10" size="4">
6487bf215546Sopenharmony_ci        <and>
6488bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6489bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6490bf215546Sopenharmony_ci        </and>
6491bf215546Sopenharmony_ci        <and>
6492bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6493bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6494bf215546Sopenharmony_ci        </and>
6495bf215546Sopenharmony_ci        <and>
6496bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6497bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6498bf215546Sopenharmony_ci        </and>
6499bf215546Sopenharmony_ci        <and>
6500bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6501bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6502bf215546Sopenharmony_ci        </and>
6503bf215546Sopenharmony_ci        <and>
6504bf215546Sopenharmony_ci          <eq left="sample" right="#none"/>
6505bf215546Sopenharmony_ci          <eq left="update" right="#retrieve"/>
6506bf215546Sopenharmony_ci        </and>
6507bf215546Sopenharmony_ci        <reserved/>
6508bf215546Sopenharmony_ci        <reserved/>
6509bf215546Sopenharmony_ci        <reserved/>
6510bf215546Sopenharmony_ci        <and>
6511bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6512bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6513bf215546Sopenharmony_ci        </and>
6514bf215546Sopenharmony_ci        <and>
6515bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6516bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6517bf215546Sopenharmony_ci        </and>
6518bf215546Sopenharmony_ci        <and>
6519bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6520bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6521bf215546Sopenharmony_ci        </and>
6522bf215546Sopenharmony_ci        <and>
6523bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6524bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6525bf215546Sopenharmony_ci        </and>
6526bf215546Sopenharmony_ci        <and>
6527bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6528bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6529bf215546Sopenharmony_ci        </and>
6530bf215546Sopenharmony_ci        <and>
6531bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6532bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6533bf215546Sopenharmony_ci        </and>
6534bf215546Sopenharmony_ci        <reserved/>
6535bf215546Sopenharmony_ci        <reserved/>
6536bf215546Sopenharmony_ci      </derived>
6537bf215546Sopenharmony_ci    </encoding>
6538bf215546Sopenharmony_ci  </ins>
6539bf215546Sopenharmony_ci
6540bf215546Sopenharmony_ci  <ins name="+LD_VAR_FLAT" staging="w=format" message="varying">
6541bf215546Sopenharmony_ci    <src start="3"/>
6542bf215546Sopenharmony_ci    <mod name="vecsize" start="8" size="2">
6543bf215546Sopenharmony_ci      <opt>none</opt>
6544bf215546Sopenharmony_ci      <opt>v2</opt>
6545bf215546Sopenharmony_ci      <opt>v3</opt>
6546bf215546Sopenharmony_ci      <opt>v4</opt>
6547bf215546Sopenharmony_ci    </mod>
6548bf215546Sopenharmony_ci    <mod name="register_format" size="3">
6549bf215546Sopenharmony_ci      <opt>f32</opt>
6550bf215546Sopenharmony_ci      <opt>f16</opt>
6551bf215546Sopenharmony_ci      <opt>u32</opt>
6552bf215546Sopenharmony_ci      <opt>s32</opt>
6553bf215546Sopenharmony_ci      <opt>auto</opt>
6554bf215546Sopenharmony_ci    </mod>
6555bf215546Sopenharmony_ci    <mod name="function" start="0" size="3">
6556bf215546Sopenharmony_ci      <reserved/>
6557bf215546Sopenharmony_ci      <reserved/>
6558bf215546Sopenharmony_ci      <reserved/>
6559bf215546Sopenharmony_ci      <opt>none</opt>
6560bf215546Sopenharmony_ci      <reserved/>
6561bf215546Sopenharmony_ci      <reserved/>
6562bf215546Sopenharmony_ci      <opt>and</opt>
6563bf215546Sopenharmony_ci      <opt>or</opt>
6564bf215546Sopenharmony_ci    </mod>
6565bf215546Sopenharmony_ci    <encoding mask="0x7f8c0" exact="0x538c0">
6566bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
6567bf215546Sopenharmony_ci      <derived start="10" size="1">
6568bf215546Sopenharmony_ci        <or>
6569bf215546Sopenharmony_ci          <eq left="register_format" right="#f32"/>
6570bf215546Sopenharmony_ci          <eq left="register_format" right="#f16"/>
6571bf215546Sopenharmony_ci        </or>
6572bf215546Sopenharmony_ci        <or>
6573bf215546Sopenharmony_ci          <eq left="register_format" right="#u32"/>
6574bf215546Sopenharmony_ci          <eq left="register_format" right="#s32"/>
6575bf215546Sopenharmony_ci        </or>
6576bf215546Sopenharmony_ci      </derived>
6577bf215546Sopenharmony_ci      <derived start="19" size="1">
6578bf215546Sopenharmony_ci        <or>
6579bf215546Sopenharmony_ci          <eq left="register_format" right="#f32"/>
6580bf215546Sopenharmony_ci          <eq left="register_format" right="#u32"/>
6581bf215546Sopenharmony_ci        </or>
6582bf215546Sopenharmony_ci        <or>
6583bf215546Sopenharmony_ci          <eq left="register_format" right="#f16"/>
6584bf215546Sopenharmony_ci          <eq left="register_format" right="#s32"/>
6585bf215546Sopenharmony_ci        </or>
6586bf215546Sopenharmony_ci      </derived>
6587bf215546Sopenharmony_ci    </encoding>
6588bf215546Sopenharmony_ci    <encoding mask="0xffcc0" exact="0xcf8c0">
6589bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
6590bf215546Sopenharmony_ci    </encoding>
6591bf215546Sopenharmony_ci  </ins>
6592bf215546Sopenharmony_ci
6593bf215546Sopenharmony_ci  <ins name="+LD_VAR_FLAT_IMM" staging="w=format" message="varying">
6594bf215546Sopenharmony_ci    <immediate name="index" start="3" size="5"/>
6595bf215546Sopenharmony_ci    <mod name="vecsize" start="8" size="2">
6596bf215546Sopenharmony_ci      <opt>none</opt>
6597bf215546Sopenharmony_ci      <opt>v2</opt>
6598bf215546Sopenharmony_ci      <opt>v3</opt>
6599bf215546Sopenharmony_ci      <opt>v4</opt>
6600bf215546Sopenharmony_ci    </mod>
6601bf215546Sopenharmony_ci    <mod name="register_format" size="3">
6602bf215546Sopenharmony_ci      <opt>f32</opt>
6603bf215546Sopenharmony_ci      <opt>f16</opt>
6604bf215546Sopenharmony_ci      <opt>u32</opt>
6605bf215546Sopenharmony_ci      <opt>s32</opt>
6606bf215546Sopenharmony_ci      <opt>auto</opt>
6607bf215546Sopenharmony_ci    </mod>
6608bf215546Sopenharmony_ci    <mod name="function" start="0" size="3">
6609bf215546Sopenharmony_ci      <reserved/>
6610bf215546Sopenharmony_ci      <reserved/>
6611bf215546Sopenharmony_ci      <reserved/>
6612bf215546Sopenharmony_ci      <opt>none</opt>
6613bf215546Sopenharmony_ci      <reserved/>
6614bf215546Sopenharmony_ci      <reserved/>
6615bf215546Sopenharmony_ci      <opt>and</opt>
6616bf215546Sopenharmony_ci      <opt>or</opt>
6617bf215546Sopenharmony_ci    </mod>
6618bf215546Sopenharmony_ci    <encoding mask="0x7f800" exact="0x53800">
6619bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
6620bf215546Sopenharmony_ci      <derived start="10" size="1">
6621bf215546Sopenharmony_ci        <or>
6622bf215546Sopenharmony_ci          <eq left="register_format" right="#f32"/>
6623bf215546Sopenharmony_ci          <eq left="register_format" right="#f16"/>
6624bf215546Sopenharmony_ci        </or>
6625bf215546Sopenharmony_ci        <or>
6626bf215546Sopenharmony_ci          <eq left="register_format" right="#u32"/>
6627bf215546Sopenharmony_ci          <eq left="register_format" right="#s32"/>
6628bf215546Sopenharmony_ci        </or>
6629bf215546Sopenharmony_ci      </derived>
6630bf215546Sopenharmony_ci      <derived start="19" size="1">
6631bf215546Sopenharmony_ci        <or>
6632bf215546Sopenharmony_ci          <eq left="register_format" right="#f32"/>
6633bf215546Sopenharmony_ci          <eq left="register_format" right="#u32"/>
6634bf215546Sopenharmony_ci        </or>
6635bf215546Sopenharmony_ci        <or>
6636bf215546Sopenharmony_ci          <eq left="register_format" right="#f16"/>
6637bf215546Sopenharmony_ci          <eq left="register_format" right="#s32"/>
6638bf215546Sopenharmony_ci        </or>
6639bf215546Sopenharmony_ci      </derived>
6640bf215546Sopenharmony_ci    </encoding>
6641bf215546Sopenharmony_ci    <encoding mask="0xffc00" exact="0xcf800">
6642bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
6643bf215546Sopenharmony_ci    </encoding>
6644bf215546Sopenharmony_ci  </ins>
6645bf215546Sopenharmony_ci
6646bf215546Sopenharmony_ci  <ins name="+LD_VAR_IMM" staging="w=format" message="varying">
6647bf215546Sopenharmony_ci    <src start="0"/>
6648bf215546Sopenharmony_ci    <immediate name="index" start="3" size="5"/>
6649bf215546Sopenharmony_ci    <mod name="vecsize" start="8" size="2">
6650bf215546Sopenharmony_ci      <opt>none</opt>
6651bf215546Sopenharmony_ci      <opt>v2</opt>
6652bf215546Sopenharmony_ci      <opt>v3</opt>
6653bf215546Sopenharmony_ci      <opt>v4</opt>
6654bf215546Sopenharmony_ci    </mod>
6655bf215546Sopenharmony_ci    <mod name="update" size="2">
6656bf215546Sopenharmony_ci      <opt>store</opt>
6657bf215546Sopenharmony_ci      <opt>retrieve</opt>
6658bf215546Sopenharmony_ci      <opt>conditional</opt>
6659bf215546Sopenharmony_ci      <opt>clobber</opt>
6660bf215546Sopenharmony_ci    </mod>
6661bf215546Sopenharmony_ci    <mod name="register_format" size="2">
6662bf215546Sopenharmony_ci      <opt>f32</opt>
6663bf215546Sopenharmony_ci      <opt>f16</opt>
6664bf215546Sopenharmony_ci      <opt>auto</opt>
6665bf215546Sopenharmony_ci    </mod>
6666bf215546Sopenharmony_ci    <mod name="sample" size="3">
6667bf215546Sopenharmony_ci      <opt>center</opt>
6668bf215546Sopenharmony_ci      <opt>centroid</opt>
6669bf215546Sopenharmony_ci      <opt>sample</opt>
6670bf215546Sopenharmony_ci      <opt>explicit</opt>
6671bf215546Sopenharmony_ci      <opt>none</opt>
6672bf215546Sopenharmony_ci    </mod>
6673bf215546Sopenharmony_ci    <encoding mask="0x7c000" exact="0x50000">
6674bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
6675bf215546Sopenharmony_ci      <derived start="19" size="1">
6676bf215546Sopenharmony_ci        <eq left="register_format" right="#f32"/>
6677bf215546Sopenharmony_ci        <eq left="register_format" right="#f16"/>
6678bf215546Sopenharmony_ci      </derived>
6679bf215546Sopenharmony_ci      <derived start="10" size="4">
6680bf215546Sopenharmony_ci        <and>
6681bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6682bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6683bf215546Sopenharmony_ci        </and>
6684bf215546Sopenharmony_ci        <and>
6685bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6686bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6687bf215546Sopenharmony_ci        </and>
6688bf215546Sopenharmony_ci        <and>
6689bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6690bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6691bf215546Sopenharmony_ci        </and>
6692bf215546Sopenharmony_ci        <and>
6693bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6694bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6695bf215546Sopenharmony_ci        </and>
6696bf215546Sopenharmony_ci        <and>
6697bf215546Sopenharmony_ci          <eq left="sample" right="#none"/>
6698bf215546Sopenharmony_ci          <eq left="update" right="#retrieve"/>
6699bf215546Sopenharmony_ci        </and>
6700bf215546Sopenharmony_ci        <reserved/>
6701bf215546Sopenharmony_ci        <reserved/>
6702bf215546Sopenharmony_ci        <reserved/>
6703bf215546Sopenharmony_ci        <and>
6704bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6705bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6706bf215546Sopenharmony_ci        </and>
6707bf215546Sopenharmony_ci        <and>
6708bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6709bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6710bf215546Sopenharmony_ci        </and>
6711bf215546Sopenharmony_ci        <and>
6712bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6713bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6714bf215546Sopenharmony_ci        </and>
6715bf215546Sopenharmony_ci        <and>
6716bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6717bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6718bf215546Sopenharmony_ci        </and>
6719bf215546Sopenharmony_ci        <and>
6720bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6721bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6722bf215546Sopenharmony_ci        </and>
6723bf215546Sopenharmony_ci        <and>
6724bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6725bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6726bf215546Sopenharmony_ci        </and>
6727bf215546Sopenharmony_ci        <reserved/>
6728bf215546Sopenharmony_ci        <reserved/>
6729bf215546Sopenharmony_ci      </derived>
6730bf215546Sopenharmony_ci    </encoding>
6731bf215546Sopenharmony_ci    <encoding mask="0xfc000" exact="0xcc000">
6732bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
6733bf215546Sopenharmony_ci      <derived start="10" size="4">
6734bf215546Sopenharmony_ci        <and>
6735bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6736bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6737bf215546Sopenharmony_ci        </and>
6738bf215546Sopenharmony_ci        <and>
6739bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6740bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6741bf215546Sopenharmony_ci        </and>
6742bf215546Sopenharmony_ci        <and>
6743bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6744bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6745bf215546Sopenharmony_ci        </and>
6746bf215546Sopenharmony_ci        <and>
6747bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6748bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6749bf215546Sopenharmony_ci        </and>
6750bf215546Sopenharmony_ci        <and>
6751bf215546Sopenharmony_ci          <eq left="sample" right="#none"/>
6752bf215546Sopenharmony_ci          <eq left="update" right="#retrieve"/>
6753bf215546Sopenharmony_ci        </and>
6754bf215546Sopenharmony_ci        <reserved/>
6755bf215546Sopenharmony_ci        <reserved/>
6756bf215546Sopenharmony_ci        <reserved/>
6757bf215546Sopenharmony_ci        <and>
6758bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6759bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6760bf215546Sopenharmony_ci        </and>
6761bf215546Sopenharmony_ci        <and>
6762bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6763bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6764bf215546Sopenharmony_ci        </and>
6765bf215546Sopenharmony_ci        <and>
6766bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6767bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6768bf215546Sopenharmony_ci        </and>
6769bf215546Sopenharmony_ci        <and>
6770bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6771bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6772bf215546Sopenharmony_ci        </and>
6773bf215546Sopenharmony_ci        <and>
6774bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6775bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6776bf215546Sopenharmony_ci        </and>
6777bf215546Sopenharmony_ci        <and>
6778bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6779bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6780bf215546Sopenharmony_ci        </and>
6781bf215546Sopenharmony_ci        <reserved/>
6782bf215546Sopenharmony_ci        <reserved/>
6783bf215546Sopenharmony_ci      </derived>
6784bf215546Sopenharmony_ci    </encoding>
6785bf215546Sopenharmony_ci  </ins>
6786bf215546Sopenharmony_ci
6787bf215546Sopenharmony_ci  <ins name="+LD_VAR_SPECIAL" staging="w=format" message="varying">
6788bf215546Sopenharmony_ci    <src start="0"/>
6789bf215546Sopenharmony_ci    <mod name="varying_name" size="5">
6790bf215546Sopenharmony_ci      <opt>point</opt>
6791bf215546Sopenharmony_ci      <reserved/>
6792bf215546Sopenharmony_ci      <opt>frag_w</opt>
6793bf215546Sopenharmony_ci      <opt>frag_z</opt>
6794bf215546Sopenharmony_ci    </mod>
6795bf215546Sopenharmony_ci    <mod name="vecsize" size="2">
6796bf215546Sopenharmony_ci      <opt>none</opt>
6797bf215546Sopenharmony_ci      <opt>v2</opt>
6798bf215546Sopenharmony_ci      <opt>v3</opt>
6799bf215546Sopenharmony_ci      <opt>v4</opt>
6800bf215546Sopenharmony_ci    </mod>
6801bf215546Sopenharmony_ci    <mod name="update" size="2">
6802bf215546Sopenharmony_ci      <opt>store</opt>
6803bf215546Sopenharmony_ci      <opt>retrieve</opt>
6804bf215546Sopenharmony_ci      <opt>conditional</opt>
6805bf215546Sopenharmony_ci      <opt>clobber</opt>
6806bf215546Sopenharmony_ci    </mod>
6807bf215546Sopenharmony_ci    <mod name="register_format" size="2">
6808bf215546Sopenharmony_ci      <opt>f32</opt>
6809bf215546Sopenharmony_ci      <opt>f16</opt>
6810bf215546Sopenharmony_ci      <opt>auto</opt>
6811bf215546Sopenharmony_ci    </mod>
6812bf215546Sopenharmony_ci    <mod name="sample" size="3">
6813bf215546Sopenharmony_ci      <opt>center</opt>
6814bf215546Sopenharmony_ci      <opt>centroid</opt>
6815bf215546Sopenharmony_ci      <opt>sample</opt>
6816bf215546Sopenharmony_ci      <opt>explicit</opt>
6817bf215546Sopenharmony_ci      <opt>none</opt>
6818bf215546Sopenharmony_ci    </mod>
6819bf215546Sopenharmony_ci    <encoding mask="0x7c3e0" exact="0x500a0">
6820bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
6821bf215546Sopenharmony_ci      <derived start="3" size="2">
6822bf215546Sopenharmony_ci        <and>
6823bf215546Sopenharmony_ci          <eq left="varying_name" right="#point"/>
6824bf215546Sopenharmony_ci          <eq left="vecsize" right="#v2"/>
6825bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6826bf215546Sopenharmony_ci        </and>
6827bf215546Sopenharmony_ci        <reserved/>
6828bf215546Sopenharmony_ci        <and>
6829bf215546Sopenharmony_ci          <eq left="varying_name" right="#frag_w"/>
6830bf215546Sopenharmony_ci          <eq left="vecsize" right="#none"/>
6831bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6832bf215546Sopenharmony_ci        </and>
6833bf215546Sopenharmony_ci        <and>
6834bf215546Sopenharmony_ci          <eq left="varying_name" right="#frag_z"/>
6835bf215546Sopenharmony_ci          <eq left="vecsize" right="#none"/>
6836bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6837bf215546Sopenharmony_ci          <neq left="sample" right="#explicit"/>
6838bf215546Sopenharmony_ci          <neq left="register_format" right="#auto"/>
6839bf215546Sopenharmony_ci        </and>
6840bf215546Sopenharmony_ci      </derived>
6841bf215546Sopenharmony_ci      <derived start="19" size="1">
6842bf215546Sopenharmony_ci        <eq left="register_format" right="#f32"/>
6843bf215546Sopenharmony_ci        <eq left="register_format" right="#f16"/>
6844bf215546Sopenharmony_ci      </derived>
6845bf215546Sopenharmony_ci      <derived start="10" size="4">
6846bf215546Sopenharmony_ci        <and>
6847bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6848bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6849bf215546Sopenharmony_ci        </and>
6850bf215546Sopenharmony_ci        <and>
6851bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6852bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6853bf215546Sopenharmony_ci        </and>
6854bf215546Sopenharmony_ci        <and>
6855bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6856bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6857bf215546Sopenharmony_ci        </and>
6858bf215546Sopenharmony_ci        <and>
6859bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6860bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6861bf215546Sopenharmony_ci        </and>
6862bf215546Sopenharmony_ci        <and>
6863bf215546Sopenharmony_ci          <eq left="sample" right="#none"/>
6864bf215546Sopenharmony_ci          <eq left="update" right="#retrieve"/>
6865bf215546Sopenharmony_ci        </and>
6866bf215546Sopenharmony_ci        <reserved/>
6867bf215546Sopenharmony_ci        <reserved/>
6868bf215546Sopenharmony_ci        <reserved/>
6869bf215546Sopenharmony_ci        <and>
6870bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6871bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6872bf215546Sopenharmony_ci        </and>
6873bf215546Sopenharmony_ci        <and>
6874bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6875bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6876bf215546Sopenharmony_ci        </and>
6877bf215546Sopenharmony_ci        <and>
6878bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6879bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6880bf215546Sopenharmony_ci        </and>
6881bf215546Sopenharmony_ci        <and>
6882bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6883bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6884bf215546Sopenharmony_ci        </and>
6885bf215546Sopenharmony_ci        <and>
6886bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6887bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6888bf215546Sopenharmony_ci        </and>
6889bf215546Sopenharmony_ci        <and>
6890bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6891bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6892bf215546Sopenharmony_ci        </and>
6893bf215546Sopenharmony_ci        <reserved/>
6894bf215546Sopenharmony_ci        <reserved/>
6895bf215546Sopenharmony_ci      </derived>
6896bf215546Sopenharmony_ci    </encoding>
6897bf215546Sopenharmony_ci    <encoding mask="0xfc3e0" exact="0xcc0a0">
6898bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
6899bf215546Sopenharmony_ci      <derived start="3" size="2">
6900bf215546Sopenharmony_ci        <and>
6901bf215546Sopenharmony_ci          <eq left="varying_name" right="#point"/>
6902bf215546Sopenharmony_ci          <eq left="vecsize" right="#v2"/>
6903bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6904bf215546Sopenharmony_ci        </and>
6905bf215546Sopenharmony_ci        <reserved/>
6906bf215546Sopenharmony_ci        <and>
6907bf215546Sopenharmony_ci          <eq left="varying_name" right="#frag_w"/>
6908bf215546Sopenharmony_ci          <eq left="vecsize" right="#none"/>
6909bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6910bf215546Sopenharmony_ci        </and>
6911bf215546Sopenharmony_ci        <and>
6912bf215546Sopenharmony_ci          <eq left="varying_name" right="#frag_z"/>
6913bf215546Sopenharmony_ci          <eq left="vecsize" right="#none"/>
6914bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6915bf215546Sopenharmony_ci          <neq left="sample" right="#explicit"/>
6916bf215546Sopenharmony_ci          <neq left="register_format" right="#auto"/>
6917bf215546Sopenharmony_ci        </and>
6918bf215546Sopenharmony_ci      </derived>
6919bf215546Sopenharmony_ci      <derived start="10" size="4">
6920bf215546Sopenharmony_ci        <and>
6921bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6922bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6923bf215546Sopenharmony_ci        </and>
6924bf215546Sopenharmony_ci        <and>
6925bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6926bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6927bf215546Sopenharmony_ci        </and>
6928bf215546Sopenharmony_ci        <and>
6929bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6930bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6931bf215546Sopenharmony_ci        </and>
6932bf215546Sopenharmony_ci        <and>
6933bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6934bf215546Sopenharmony_ci          <eq left="update" right="#store"/>
6935bf215546Sopenharmony_ci        </and>
6936bf215546Sopenharmony_ci        <and>
6937bf215546Sopenharmony_ci          <eq left="sample" right="#none"/>
6938bf215546Sopenharmony_ci          <eq left="update" right="#retrieve"/>
6939bf215546Sopenharmony_ci        </and>
6940bf215546Sopenharmony_ci        <reserved/>
6941bf215546Sopenharmony_ci        <reserved/>
6942bf215546Sopenharmony_ci        <reserved/>
6943bf215546Sopenharmony_ci        <and>
6944bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6945bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6946bf215546Sopenharmony_ci        </and>
6947bf215546Sopenharmony_ci        <and>
6948bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6949bf215546Sopenharmony_ci          <eq left="update" right="#conditional"/>
6950bf215546Sopenharmony_ci        </and>
6951bf215546Sopenharmony_ci        <and>
6952bf215546Sopenharmony_ci          <eq left="sample" right="#center"/>
6953bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6954bf215546Sopenharmony_ci        </and>
6955bf215546Sopenharmony_ci        <and>
6956bf215546Sopenharmony_ci          <eq left="sample" right="#centroid"/>
6957bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6958bf215546Sopenharmony_ci        </and>
6959bf215546Sopenharmony_ci        <and>
6960bf215546Sopenharmony_ci          <eq left="sample" right="#sample"/>
6961bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6962bf215546Sopenharmony_ci        </and>
6963bf215546Sopenharmony_ci        <and>
6964bf215546Sopenharmony_ci          <eq left="sample" right="#explicit"/>
6965bf215546Sopenharmony_ci          <eq left="update" right="#clobber"/>
6966bf215546Sopenharmony_ci        </and>
6967bf215546Sopenharmony_ci        <reserved/>
6968bf215546Sopenharmony_ci        <reserved/>
6969bf215546Sopenharmony_ci      </derived>
6970bf215546Sopenharmony_ci    </encoding>
6971bf215546Sopenharmony_ci  </ins>
6972bf215546Sopenharmony_ci
6973bf215546Sopenharmony_ci  <ins name="+LEA_ATTR" staging="w=3" message="attribute">
6974bf215546Sopenharmony_ci    <src start="0"/>
6975bf215546Sopenharmony_ci    <src start="3"/>
6976bf215546Sopenharmony_ci    <src start="6"/>
6977bf215546Sopenharmony_ci    <mod name="register_format" size="4">
6978bf215546Sopenharmony_ci      <opt>f16</opt>
6979bf215546Sopenharmony_ci      <opt>f32</opt>
6980bf215546Sopenharmony_ci      <opt>s32</opt>
6981bf215546Sopenharmony_ci      <opt>u32</opt>
6982bf215546Sopenharmony_ci      <opt>s16</opt>
6983bf215546Sopenharmony_ci      <opt>u16</opt>
6984bf215546Sopenharmony_ci      <opt>f64</opt>
6985bf215546Sopenharmony_ci      <opt>i64</opt>
6986bf215546Sopenharmony_ci      <opt>auto</opt>
6987bf215546Sopenharmony_ci    </mod>
6988bf215546Sopenharmony_ci    <encoding mask="0xfc600" exact="0xc0400">
6989bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
6990bf215546Sopenharmony_ci      <derived start="11" size="3">
6991bf215546Sopenharmony_ci        <eq left="register_format" right="#f16"/>
6992bf215546Sopenharmony_ci        <eq left="register_format" right="#f32"/>
6993bf215546Sopenharmony_ci        <eq left="register_format" right="#s32"/>
6994bf215546Sopenharmony_ci        <eq left="register_format" right="#u32"/>
6995bf215546Sopenharmony_ci        <eq left="register_format" right="#s16"/>
6996bf215546Sopenharmony_ci        <eq left="register_format" right="#u16"/>
6997bf215546Sopenharmony_ci        <eq left="register_format" right="#f64"/>
6998bf215546Sopenharmony_ci        <eq left="register_format" right="#i64"/>
6999bf215546Sopenharmony_ci      </derived>
7000bf215546Sopenharmony_ci    </encoding>
7001bf215546Sopenharmony_ci    <encoding mask="0xffe00" exact="0xc8400">
7002bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
7003bf215546Sopenharmony_ci    </encoding>
7004bf215546Sopenharmony_ci  </ins>
7005bf215546Sopenharmony_ci
7006bf215546Sopenharmony_ci  <ins name="+LEA_ATTR_IMM" staging="w=3" message="attribute">
7007bf215546Sopenharmony_ci    <src start="0"/>
7008bf215546Sopenharmony_ci    <src start="3"/>
7009bf215546Sopenharmony_ci    <immediate name="attribute_index" start="6" size="4"/>
7010bf215546Sopenharmony_ci    <mod name="register_format" size="4">
7011bf215546Sopenharmony_ci      <opt>f16</opt>
7012bf215546Sopenharmony_ci      <opt>f32</opt>
7013bf215546Sopenharmony_ci      <opt>s32</opt>
7014bf215546Sopenharmony_ci      <opt>u32</opt>
7015bf215546Sopenharmony_ci      <opt>s16</opt>
7016bf215546Sopenharmony_ci      <opt>u16</opt>
7017bf215546Sopenharmony_ci      <opt>f64</opt>
7018bf215546Sopenharmony_ci      <opt>i64</opt>
7019bf215546Sopenharmony_ci      <opt>auto</opt>
7020bf215546Sopenharmony_ci    </mod>
7021bf215546Sopenharmony_ci    <encoding mask="0xfc400" exact="0xc0000">
7022bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
7023bf215546Sopenharmony_ci      <derived start="11" size="3">
7024bf215546Sopenharmony_ci        <eq left="register_format" right="#f16"/>
7025bf215546Sopenharmony_ci        <eq left="register_format" right="#f32"/>
7026bf215546Sopenharmony_ci        <eq left="register_format" right="#s32"/>
7027bf215546Sopenharmony_ci        <eq left="register_format" right="#u32"/>
7028bf215546Sopenharmony_ci        <eq left="register_format" right="#s16"/>
7029bf215546Sopenharmony_ci        <eq left="register_format" right="#u16"/>
7030bf215546Sopenharmony_ci        <eq left="register_format" right="#f64"/>
7031bf215546Sopenharmony_ci        <eq left="register_format" right="#i64"/>
7032bf215546Sopenharmony_ci      </derived>
7033bf215546Sopenharmony_ci    </encoding>
7034bf215546Sopenharmony_ci    <encoding mask="0xffc00" exact="0xc8000">
7035bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
7036bf215546Sopenharmony_ci    </encoding>
7037bf215546Sopenharmony_ci  </ins>
7038bf215546Sopenharmony_ci
7039bf215546Sopenharmony_ci  <ins name="+LEA_ATTR_TEX" staging="w=3" message="attribute">
7040bf215546Sopenharmony_ci    <src start="0"/>
7041bf215546Sopenharmony_ci    <src start="3"/>
7042bf215546Sopenharmony_ci    <src start="6"/>
7043bf215546Sopenharmony_ci    <mod name="register_format" size="4">
7044bf215546Sopenharmony_ci      <opt>f16</opt>
7045bf215546Sopenharmony_ci      <opt>f32</opt>
7046bf215546Sopenharmony_ci      <opt>s32</opt>
7047bf215546Sopenharmony_ci      <opt>u32</opt>
7048bf215546Sopenharmony_ci      <opt>s16</opt>
7049bf215546Sopenharmony_ci      <opt>u16</opt>
7050bf215546Sopenharmony_ci      <opt>f64</opt>
7051bf215546Sopenharmony_ci      <opt>i64</opt>
7052bf215546Sopenharmony_ci      <opt>auto</opt>
7053bf215546Sopenharmony_ci    </mod>
7054bf215546Sopenharmony_ci    <encoding mask="0xfc600" exact="0xc0600">
7055bf215546Sopenharmony_ci      <neq left="register_format" right="#auto"/>
7056bf215546Sopenharmony_ci      <derived start="11" size="3">
7057bf215546Sopenharmony_ci        <eq left="register_format" right="#f16"/>
7058bf215546Sopenharmony_ci        <eq left="register_format" right="#f32"/>
7059bf215546Sopenharmony_ci        <eq left="register_format" right="#s32"/>
7060bf215546Sopenharmony_ci        <eq left="register_format" right="#u32"/>
7061bf215546Sopenharmony_ci        <eq left="register_format" right="#s16"/>
7062bf215546Sopenharmony_ci        <eq left="register_format" right="#u16"/>
7063bf215546Sopenharmony_ci        <eq left="register_format" right="#f64"/>
7064bf215546Sopenharmony_ci        <eq left="register_format" right="#i64"/>
7065bf215546Sopenharmony_ci      </derived>
7066bf215546Sopenharmony_ci    </encoding>
7067bf215546Sopenharmony_ci    <encoding mask="0xffe00" exact="0xc8600">
7068bf215546Sopenharmony_ci      <eq left="register_format" right="#auto"/>
7069bf215546Sopenharmony_ci    </encoding>
7070bf215546Sopenharmony_ci  </ins>
7071bf215546Sopenharmony_ci
7072bf215546Sopenharmony_ci  <ins name="+LEA_TEX" staging="w=3" mask="0xff600" exact="0xd6600" message="attribute">
7073bf215546Sopenharmony_ci    <src start="0"/>
7074bf215546Sopenharmony_ci    <src start="3"/>
7075bf215546Sopenharmony_ci    <src start="6"/>
7076bf215546Sopenharmony_ci    <mod name="format" start="11" size="1">
7077bf215546Sopenharmony_ci      <opt>u16</opt>
7078bf215546Sopenharmony_ci      <opt>u32</opt>
7079bf215546Sopenharmony_ci    </mod>
7080bf215546Sopenharmony_ci  </ins>
7081bf215546Sopenharmony_ci
7082bf215546Sopenharmony_ci  <ins name="+LEA_TEX_IMM" staging="w=3" mask="0xff000" exact="0xd6000" message="attribute">
7083bf215546Sopenharmony_ci    <src start="0"/>
7084bf215546Sopenharmony_ci    <src start="3"/>
7085bf215546Sopenharmony_ci    <immediate name="texture_index" start="6" size="5"/>
7086bf215546Sopenharmony_ci    <mod name="format" start="11" size="1">
7087bf215546Sopenharmony_ci      <opt>u16</opt>
7088bf215546Sopenharmony_ci      <opt>u32</opt>
7089bf215546Sopenharmony_ci    </mod>
7090bf215546Sopenharmony_ci  </ins>
7091bf215546Sopenharmony_ci
7092bf215546Sopenharmony_ci  <ins name="+LOAD.i128" staging="w=4" mask="0xffe00" exact="0x61000" message="load">
7093bf215546Sopenharmony_ci    <src start="0"/>
7094bf215546Sopenharmony_ci    <src start="3"/>
7095bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7096bf215546Sopenharmony_ci      <reserved/>
7097bf215546Sopenharmony_ci      <opt>none</opt>
7098bf215546Sopenharmony_ci      <opt>wls</opt>
7099bf215546Sopenharmony_ci      <opt>stream</opt>
7100bf215546Sopenharmony_ci      <opt>ubo</opt>
7101bf215546Sopenharmony_ci      <reserved/>
7102bf215546Sopenharmony_ci      <reserved/>
7103bf215546Sopenharmony_ci      <opt>tl</opt>
7104bf215546Sopenharmony_ci    </mod>
7105bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7106bf215546Sopenharmony_ci  </ins>
7107bf215546Sopenharmony_ci
7108bf215546Sopenharmony_ci  <ins name="+LOAD.i16" staging="w=1" message="load">
7109bf215546Sopenharmony_ci    <src start="0"/>
7110bf215546Sopenharmony_ci    <src start="3"/>
7111bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7112bf215546Sopenharmony_ci      <reserved/>
7113bf215546Sopenharmony_ci      <opt>none</opt>
7114bf215546Sopenharmony_ci      <opt>wls</opt>
7115bf215546Sopenharmony_ci      <opt>stream</opt>
7116bf215546Sopenharmony_ci      <opt>ubo</opt>
7117bf215546Sopenharmony_ci      <reserved/>
7118bf215546Sopenharmony_ci      <reserved/>
7119bf215546Sopenharmony_ci      <opt>tl</opt>
7120bf215546Sopenharmony_ci    </mod>
7121bf215546Sopenharmony_ci    <mod name="lane_dest" size="2" default="h0">
7122bf215546Sopenharmony_ci      <opt>h0</opt>
7123bf215546Sopenharmony_ci      <opt>h1</opt>
7124bf215546Sopenharmony_ci      <opt>w0</opt>
7125bf215546Sopenharmony_ci      <opt>d0</opt>
7126bf215546Sopenharmony_ci    </mod>
7127bf215546Sopenharmony_ci    <mod name="extend" size="2">
7128bf215546Sopenharmony_ci      <opt>none</opt>
7129bf215546Sopenharmony_ci      <opt>sext</opt>
7130bf215546Sopenharmony_ci      <opt>zext</opt>
7131bf215546Sopenharmony_ci    </mod>
7132bf215546Sopenharmony_ci    <encoding mask="0xffc00" exact="0x60800">
7133bf215546Sopenharmony_ci      <and>
7134bf215546Sopenharmony_ci        <eq left="extend" right="#none"/>
7135bf215546Sopenharmony_ci        <or>
7136bf215546Sopenharmony_ci          <eq left="lane_dest" right="#h0"/>
7137bf215546Sopenharmony_ci          <eq left="lane_dest" right="#h1"/>
7138bf215546Sopenharmony_ci        </or>
7139bf215546Sopenharmony_ci      </and>
7140bf215546Sopenharmony_ci      <derived start="9" size="1">
7141bf215546Sopenharmony_ci        <eq left="lane_dest" right="#h0"/>
7142bf215546Sopenharmony_ci        <eq left="lane_dest" right="#h1"/>
7143bf215546Sopenharmony_ci      </derived>
7144bf215546Sopenharmony_ci    </encoding>
7145bf215546Sopenharmony_ci    <encoding mask="0xffc00" exact="0x63000">
7146bf215546Sopenharmony_ci      <and>
7147bf215546Sopenharmony_ci        <neq left="extend" right="#none"/>
7148bf215546Sopenharmony_ci        <eq left="lane_dest" right="#w0"/>
7149bf215546Sopenharmony_ci      </and>
7150bf215546Sopenharmony_ci      <derived start="9" size="1">
7151bf215546Sopenharmony_ci        <eq left="extend" right="#sext"/>
7152bf215546Sopenharmony_ci        <eq left="extend" right="#zext"/>
7153bf215546Sopenharmony_ci      </derived>
7154bf215546Sopenharmony_ci    </encoding>
7155bf215546Sopenharmony_ci    <encoding mask="0xffc00" exact="0x61800">
7156bf215546Sopenharmony_ci      <and>
7157bf215546Sopenharmony_ci        <neq left="extend" right="#none"/>
7158bf215546Sopenharmony_ci        <eq left="lane_dest" right="#d0"/>
7159bf215546Sopenharmony_ci      </and>
7160bf215546Sopenharmony_ci      <derived start="9" size="1">
7161bf215546Sopenharmony_ci        <eq left="extend" right="#sext"/>
7162bf215546Sopenharmony_ci        <eq left="extend" right="#zext"/>
7163bf215546Sopenharmony_ci      </derived>
7164bf215546Sopenharmony_ci    </encoding>
7165bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7166bf215546Sopenharmony_ci  </ins>
7167bf215546Sopenharmony_ci
7168bf215546Sopenharmony_ci  <ins name="+LOAD.i24" staging="w=1" mask="0xffe00" exact="0x65000" message="load">
7169bf215546Sopenharmony_ci    <src start="0"/>
7170bf215546Sopenharmony_ci    <src start="3"/>
7171bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7172bf215546Sopenharmony_ci      <reserved/>
7173bf215546Sopenharmony_ci      <opt>none</opt>
7174bf215546Sopenharmony_ci      <opt>wls</opt>
7175bf215546Sopenharmony_ci      <opt>stream</opt>
7176bf215546Sopenharmony_ci      <opt>ubo</opt>
7177bf215546Sopenharmony_ci      <reserved/>
7178bf215546Sopenharmony_ci      <reserved/>
7179bf215546Sopenharmony_ci      <opt>tl</opt>
7180bf215546Sopenharmony_ci    </mod>
7181bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7182bf215546Sopenharmony_ci  </ins>
7183bf215546Sopenharmony_ci
7184bf215546Sopenharmony_ci  <ins name="+LOAD.i32" staging="w=1" message="load">
7185bf215546Sopenharmony_ci    <src start="0"/>
7186bf215546Sopenharmony_ci    <src start="3"/>
7187bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7188bf215546Sopenharmony_ci      <reserved/>
7189bf215546Sopenharmony_ci      <opt>none</opt>
7190bf215546Sopenharmony_ci      <opt>wls</opt>
7191bf215546Sopenharmony_ci      <opt>stream</opt>
7192bf215546Sopenharmony_ci      <opt>ubo</opt>
7193bf215546Sopenharmony_ci      <reserved/>
7194bf215546Sopenharmony_ci      <reserved/>
7195bf215546Sopenharmony_ci      <opt>tl</opt>
7196bf215546Sopenharmony_ci    </mod>
7197bf215546Sopenharmony_ci    <mod name="lane_dest" size="1" opt="d0"/>
7198bf215546Sopenharmony_ci    <mod name="extend" size="2">
7199bf215546Sopenharmony_ci      <opt>none</opt>
7200bf215546Sopenharmony_ci      <opt>sext</opt>
7201bf215546Sopenharmony_ci      <opt>zext</opt>
7202bf215546Sopenharmony_ci    </mod>
7203bf215546Sopenharmony_ci    <encoding mask="0xffe00" exact="0x60c00">
7204bf215546Sopenharmony_ci      <and>
7205bf215546Sopenharmony_ci        <eq left="extend" right="#none"/>
7206bf215546Sopenharmony_ci        <eq left="lane_dest" right="#none"/>
7207bf215546Sopenharmony_ci      </and>
7208bf215546Sopenharmony_ci    </encoding>
7209bf215546Sopenharmony_ci    <encoding mask="0xffc00" exact="0x61c00">
7210bf215546Sopenharmony_ci      <and>
7211bf215546Sopenharmony_ci        <neq left="extend" right="#none"/>
7212bf215546Sopenharmony_ci        <eq left="lane_dest" right="#d0"/>
7213bf215546Sopenharmony_ci      </and>
7214bf215546Sopenharmony_ci      <derived start="9" size="1">
7215bf215546Sopenharmony_ci        <eq left="extend" right="#sext"/>
7216bf215546Sopenharmony_ci        <eq left="extend" right="#zext"/>
7217bf215546Sopenharmony_ci      </derived>
7218bf215546Sopenharmony_ci    </encoding>
7219bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7220bf215546Sopenharmony_ci  </ins>
7221bf215546Sopenharmony_ci
7222bf215546Sopenharmony_ci  <ins name="+LOAD.i48" staging="w=2" mask="0xffe00" exact="0x65200" message="load">
7223bf215546Sopenharmony_ci    <src start="0"/>
7224bf215546Sopenharmony_ci    <src start="3"/>
7225bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7226bf215546Sopenharmony_ci      <reserved/>
7227bf215546Sopenharmony_ci      <opt>none</opt>
7228bf215546Sopenharmony_ci      <opt>wls</opt>
7229bf215546Sopenharmony_ci      <opt>stream</opt>
7230bf215546Sopenharmony_ci      <opt>ubo</opt>
7231bf215546Sopenharmony_ci      <reserved/>
7232bf215546Sopenharmony_ci      <reserved/>
7233bf215546Sopenharmony_ci      <opt>tl</opt>
7234bf215546Sopenharmony_ci    </mod>
7235bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7236bf215546Sopenharmony_ci  </ins>
7237bf215546Sopenharmony_ci
7238bf215546Sopenharmony_ci  <ins name="+LOAD.i64" staging="w=2" mask="0xffe00" exact="0x60e00" message="load">
7239bf215546Sopenharmony_ci    <src start="0"/>
7240bf215546Sopenharmony_ci    <src start="3"/>
7241bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7242bf215546Sopenharmony_ci      <reserved/>
7243bf215546Sopenharmony_ci      <opt>none</opt>
7244bf215546Sopenharmony_ci      <opt>wls</opt>
7245bf215546Sopenharmony_ci      <opt>stream</opt>
7246bf215546Sopenharmony_ci      <opt>ubo</opt>
7247bf215546Sopenharmony_ci      <reserved/>
7248bf215546Sopenharmony_ci      <reserved/>
7249bf215546Sopenharmony_ci      <opt>tl</opt>
7250bf215546Sopenharmony_ci    </mod>
7251bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7252bf215546Sopenharmony_ci  </ins>
7253bf215546Sopenharmony_ci
7254bf215546Sopenharmony_ci  <ins name="+LOAD.i8" staging="w=1" message="load">
7255bf215546Sopenharmony_ci    <src start="0"/>
7256bf215546Sopenharmony_ci    <src start="3"/>
7257bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7258bf215546Sopenharmony_ci      <reserved/>
7259bf215546Sopenharmony_ci      <opt>none</opt>
7260bf215546Sopenharmony_ci      <opt>wls</opt>
7261bf215546Sopenharmony_ci      <opt>stream</opt>
7262bf215546Sopenharmony_ci      <opt>ubo</opt>
7263bf215546Sopenharmony_ci      <reserved/>
7264bf215546Sopenharmony_ci      <reserved/>
7265bf215546Sopenharmony_ci      <opt>tl</opt>
7266bf215546Sopenharmony_ci    </mod>
7267bf215546Sopenharmony_ci    <mod name="lane_dest" size="3" default="b0">
7268bf215546Sopenharmony_ci      <opt>b0</opt>
7269bf215546Sopenharmony_ci      <opt>b1</opt>
7270bf215546Sopenharmony_ci      <opt>b2</opt>
7271bf215546Sopenharmony_ci      <opt>b3</opt>
7272bf215546Sopenharmony_ci      <opt>h0</opt>
7273bf215546Sopenharmony_ci      <opt>h1</opt>
7274bf215546Sopenharmony_ci      <opt>w0</opt>
7275bf215546Sopenharmony_ci      <opt>d0</opt>
7276bf215546Sopenharmony_ci    </mod>
7277bf215546Sopenharmony_ci    <mod name="extend" size="2">
7278bf215546Sopenharmony_ci      <opt>none</opt>
7279bf215546Sopenharmony_ci      <opt>sext</opt>
7280bf215546Sopenharmony_ci      <opt>zext</opt>
7281bf215546Sopenharmony_ci    </mod>
7282bf215546Sopenharmony_ci    <encoding mask="0xff800" exact="0x60000">
7283bf215546Sopenharmony_ci      <and>
7284bf215546Sopenharmony_ci        <eq left="extend" right="#none"/>
7285bf215546Sopenharmony_ci        <or>
7286bf215546Sopenharmony_ci          <eq left="lane_dest" right="#b0"/>
7287bf215546Sopenharmony_ci          <eq left="lane_dest" right="#b1"/>
7288bf215546Sopenharmony_ci          <eq left="lane_dest" right="#b2"/>
7289bf215546Sopenharmony_ci          <eq left="lane_dest" right="#b3"/>
7290bf215546Sopenharmony_ci        </or>
7291bf215546Sopenharmony_ci      </and>
7292bf215546Sopenharmony_ci      <derived start="9" size="2">
7293bf215546Sopenharmony_ci        <eq left="lane_dest" right="#b0"/>
7294bf215546Sopenharmony_ci        <eq left="lane_dest" right="#b1"/>
7295bf215546Sopenharmony_ci        <eq left="lane_dest" right="#b2"/>
7296bf215546Sopenharmony_ci        <eq left="lane_dest" right="#b3"/>
7297bf215546Sopenharmony_ci      </derived>
7298bf215546Sopenharmony_ci    </encoding>
7299bf215546Sopenharmony_ci    <encoding mask="0xff800" exact="0x63800">
7300bf215546Sopenharmony_ci      <and>
7301bf215546Sopenharmony_ci        <neq left="extend" right="#none"/>
7302bf215546Sopenharmony_ci        <or>
7303bf215546Sopenharmony_ci          <eq left="lane_dest" right="#h0"/>
7304bf215546Sopenharmony_ci          <eq left="lane_dest" right="#h1"/>
7305bf215546Sopenharmony_ci        </or>
7306bf215546Sopenharmony_ci      </and>
7307bf215546Sopenharmony_ci      <derived start="9" size="1">
7308bf215546Sopenharmony_ci        <eq left="extend" right="#sext"/>
7309bf215546Sopenharmony_ci        <eq left="extend" right="#zext"/>
7310bf215546Sopenharmony_ci      </derived>
7311bf215546Sopenharmony_ci      <derived start="10" size="1">
7312bf215546Sopenharmony_ci        <eq left="lane_dest" right="#h0"/>
7313bf215546Sopenharmony_ci        <eq left="lane_dest" right="#h1"/>
7314bf215546Sopenharmony_ci      </derived>
7315bf215546Sopenharmony_ci    </encoding>
7316bf215546Sopenharmony_ci    <encoding mask="0xffc00" exact="0x63400">
7317bf215546Sopenharmony_ci      <and>
7318bf215546Sopenharmony_ci        <neq left="extend" right="#none"/>
7319bf215546Sopenharmony_ci        <eq left="lane_dest" right="#w0"/>
7320bf215546Sopenharmony_ci      </and>
7321bf215546Sopenharmony_ci      <derived start="9" size="1">
7322bf215546Sopenharmony_ci        <eq left="extend" right="#sext"/>
7323bf215546Sopenharmony_ci        <eq left="extend" right="#zext"/>
7324bf215546Sopenharmony_ci      </derived>
7325bf215546Sopenharmony_ci    </encoding>
7326bf215546Sopenharmony_ci    <encoding mask="0xffc00" exact="0x61400">
7327bf215546Sopenharmony_ci      <and>
7328bf215546Sopenharmony_ci        <neq left="extend" right="#none"/>
7329bf215546Sopenharmony_ci        <eq left="lane_dest" right="#d0"/>
7330bf215546Sopenharmony_ci      </and>
7331bf215546Sopenharmony_ci      <derived start="9" size="1">
7332bf215546Sopenharmony_ci        <eq left="extend" right="#sext"/>
7333bf215546Sopenharmony_ci        <eq left="extend" right="#zext"/>
7334bf215546Sopenharmony_ci      </derived>
7335bf215546Sopenharmony_ci    </encoding>
7336bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7337bf215546Sopenharmony_ci  </ins>
7338bf215546Sopenharmony_ci
7339bf215546Sopenharmony_ci  <ins name="+LOAD.i96" staging="w=3" mask="0xffe00" exact="0x65400" message="load">
7340bf215546Sopenharmony_ci    <src start="0"/>
7341bf215546Sopenharmony_ci    <src start="3"/>
7342bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7343bf215546Sopenharmony_ci      <reserved/>
7344bf215546Sopenharmony_ci      <opt>none</opt>
7345bf215546Sopenharmony_ci      <opt>wls</opt>
7346bf215546Sopenharmony_ci      <opt>stream</opt>
7347bf215546Sopenharmony_ci      <opt>ubo</opt>
7348bf215546Sopenharmony_ci      <reserved/>
7349bf215546Sopenharmony_ci      <reserved/>
7350bf215546Sopenharmony_ci      <opt>tl</opt>
7351bf215546Sopenharmony_ci    </mod>
7352bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7353bf215546Sopenharmony_ci  </ins>
7354bf215546Sopenharmony_ci
7355bf215546Sopenharmony_ci  <ins name="+LOGB.f32" mask="0xfffe0" exact="0x3d9a0">
7356bf215546Sopenharmony_ci    <src start="0"/>
7357bf215546Sopenharmony_ci    <mod name="widen0" start="3" size="2">
7358bf215546Sopenharmony_ci      <reserved/>
7359bf215546Sopenharmony_ci      <opt>none</opt>
7360bf215546Sopenharmony_ci      <opt>h0</opt>
7361bf215546Sopenharmony_ci      <opt>h1</opt>
7362bf215546Sopenharmony_ci    </mod>
7363bf215546Sopenharmony_ci  </ins>
7364bf215546Sopenharmony_ci
7365bf215546Sopenharmony_ci  <ins name="+LOGB.v2f16" mask="0xfffe0" exact="0x3d980">
7366bf215546Sopenharmony_ci    <src start="0"/>
7367bf215546Sopenharmony_ci    <mod name="swz0" start="3" size="2" default="h01">
7368bf215546Sopenharmony_ci      <opt>h00</opt>
7369bf215546Sopenharmony_ci      <opt>h10</opt>
7370bf215546Sopenharmony_ci      <opt>h01</opt>
7371bf215546Sopenharmony_ci      <opt>h11</opt>
7372bf215546Sopenharmony_ci    </mod>
7373bf215546Sopenharmony_ci  </ins>
7374bf215546Sopenharmony_ci
7375bf215546Sopenharmony_ci  <ins name="+MKVEC.v2i16" mask="0xfff00" exact="0x75300">
7376bf215546Sopenharmony_ci    <src start="0"/>
7377bf215546Sopenharmony_ci    <src start="3"/>
7378bf215546Sopenharmony_ci    <mod name="lane0" start="6" size="1" default="h0">
7379bf215546Sopenharmony_ci      <opt>h0</opt>
7380bf215546Sopenharmony_ci      <opt>h1</opt>
7381bf215546Sopenharmony_ci    </mod>
7382bf215546Sopenharmony_ci    <mod name="lane1" start="7" size="1" default="h0">
7383bf215546Sopenharmony_ci      <opt>h0</opt>
7384bf215546Sopenharmony_ci      <opt>h1</opt>
7385bf215546Sopenharmony_ci    </mod>
7386bf215546Sopenharmony_ci  </ins>
7387bf215546Sopenharmony_ci
7388bf215546Sopenharmony_ci  <ins name="+MOV.i32" mask="0xffff8" exact="0x3d968">
7389bf215546Sopenharmony_ci    <src start="0"/>
7390bf215546Sopenharmony_ci  </ins>
7391bf215546Sopenharmony_ci
7392bf215546Sopenharmony_ci  <ins name="+MUX.i32" mask="0xff800" exact="0x74000">
7393bf215546Sopenharmony_ci    <src start="0"/>
7394bf215546Sopenharmony_ci    <src start="3"/>
7395bf215546Sopenharmony_ci    <src start="6"/>
7396bf215546Sopenharmony_ci    <mod name="mux" start="9" size="2" default="int_zero">
7397bf215546Sopenharmony_ci      <opt>neg</opt>
7398bf215546Sopenharmony_ci      <opt>int_zero</opt>
7399bf215546Sopenharmony_ci      <opt>fp_zero</opt>
7400bf215546Sopenharmony_ci      <opt>bit</opt>
7401bf215546Sopenharmony_ci    </mod>
7402bf215546Sopenharmony_ci  </ins>
7403bf215546Sopenharmony_ci
7404bf215546Sopenharmony_ci  <ins name="+MUX.v2i16" mask="0xfc000" exact="0x70000">
7405bf215546Sopenharmony_ci    <src start="0"/>
7406bf215546Sopenharmony_ci    <src start="3"/>
7407bf215546Sopenharmony_ci    <src start="6"/>
7408bf215546Sopenharmony_ci    <mod name="mux" start="9" size="2" default="int_zero">
7409bf215546Sopenharmony_ci      <opt>neg</opt>
7410bf215546Sopenharmony_ci      <opt>int_zero</opt>
7411bf215546Sopenharmony_ci      <opt>fp_zero</opt>
7412bf215546Sopenharmony_ci      <opt>bit</opt>
7413bf215546Sopenharmony_ci    </mod>
7414bf215546Sopenharmony_ci    <mod name="swap2" start="11" size="1" default="h01">
7415bf215546Sopenharmony_ci      <opt>h01</opt>
7416bf215546Sopenharmony_ci      <opt>h10</opt>
7417bf215546Sopenharmony_ci    </mod>
7418bf215546Sopenharmony_ci    <mod name="swap1" start="12" size="1" default="h01">
7419bf215546Sopenharmony_ci      <opt>h01</opt>
7420bf215546Sopenharmony_ci      <opt>h10</opt>
7421bf215546Sopenharmony_ci    </mod>
7422bf215546Sopenharmony_ci    <mod name="swap0" start="13" size="1" default="h01">
7423bf215546Sopenharmony_ci      <opt>h01</opt>
7424bf215546Sopenharmony_ci      <opt>h10</opt>
7425bf215546Sopenharmony_ci    </mod>
7426bf215546Sopenharmony_ci  </ins>
7427bf215546Sopenharmony_ci
7428bf215546Sopenharmony_ci  <ins name="+MUX.v4i8" mask="0xffc00" exact="0x74800">
7429bf215546Sopenharmony_ci    <src start="0"/>
7430bf215546Sopenharmony_ci    <src start="3"/>
7431bf215546Sopenharmony_ci    <src start="6"/>
7432bf215546Sopenharmony_ci    <mod name="mux" start="9" size="1" default="int_zero">
7433bf215546Sopenharmony_ci      <opt>neg</opt>
7434bf215546Sopenharmony_ci      <opt>int_zero</opt>
7435bf215546Sopenharmony_ci    </mod>
7436bf215546Sopenharmony_ci  </ins>
7437bf215546Sopenharmony_ci
7438bf215546Sopenharmony_ci  <ins name="+NOP" mask="0xfffff" exact="0x3d964" dests="0"/>
7439bf215546Sopenharmony_ci
7440bf215546Sopenharmony_ci  <ins name="+QUIET.f32" mask="0xffff8" exact="0x3d970">
7441bf215546Sopenharmony_ci    <src start="0"/>
7442bf215546Sopenharmony_ci  </ins>
7443bf215546Sopenharmony_ci
7444bf215546Sopenharmony_ci  <ins name="+QUIET.v2f16" mask="0xfffc8" exact="0x3d900">
7445bf215546Sopenharmony_ci    <src start="0"/>
7446bf215546Sopenharmony_ci    <mod name="swz0" start="4" size="2" default="h01">
7447bf215546Sopenharmony_ci      <opt>h00</opt>
7448bf215546Sopenharmony_ci      <opt>h10</opt>
7449bf215546Sopenharmony_ci      <opt>h01</opt>
7450bf215546Sopenharmony_ci      <opt>h11</opt>
7451bf215546Sopenharmony_ci    </mod>
7452bf215546Sopenharmony_ci  </ins>
7453bf215546Sopenharmony_ci
7454bf215546Sopenharmony_ci  <ins name="+S16_TO_F32" mask="0xfffe8" exact="0x3cce0">
7455bf215546Sopenharmony_ci    <src start="0"/>
7456bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="1" default="h0">
7457bf215546Sopenharmony_ci      <opt>h0</opt>
7458bf215546Sopenharmony_ci      <opt>h1</opt>
7459bf215546Sopenharmony_ci    </mod>
7460bf215546Sopenharmony_ci  </ins>
7461bf215546Sopenharmony_ci
7462bf215546Sopenharmony_ci  <ins name="+S16_TO_S32" mask="0xfffe8" exact="0x3ccc0">
7463bf215546Sopenharmony_ci    <src start="0"/>
7464bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="1" default="h0">
7465bf215546Sopenharmony_ci      <opt>h0</opt>
7466bf215546Sopenharmony_ci      <opt>h1</opt>
7467bf215546Sopenharmony_ci    </mod>
7468bf215546Sopenharmony_ci  </ins>
7469bf215546Sopenharmony_ci
7470bf215546Sopenharmony_ci  <ins name="+S32_TO_F32">
7471bf215546Sopenharmony_ci    <src start="0"/>
7472bf215546Sopenharmony_ci    <mod name="round" size="3">
7473bf215546Sopenharmony_ci      <opt>none</opt>
7474bf215546Sopenharmony_ci      <opt>rtp</opt>
7475bf215546Sopenharmony_ci      <opt>rtn</opt>
7476bf215546Sopenharmony_ci      <opt>rtz</opt>
7477bf215546Sopenharmony_ci      <opt>rtna</opt>
7478bf215546Sopenharmony_ci    </mod>
7479bf215546Sopenharmony_ci    <encoding mask="0xfffc8" exact="0x3cbc0">
7480bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
7481bf215546Sopenharmony_ci      <derived start="4" size="2">
7482bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
7483bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
7484bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
7485bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
7486bf215546Sopenharmony_ci      </derived>
7487bf215546Sopenharmony_ci    </encoding>
7488bf215546Sopenharmony_ci    <encoding mask="0xffff8" exact="0x3cd00">
7489bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
7490bf215546Sopenharmony_ci    </encoding>
7491bf215546Sopenharmony_ci  </ins>
7492bf215546Sopenharmony_ci
7493bf215546Sopenharmony_ci  <ins name="+S8_TO_F32" mask="0xfffc8" exact="0x3cb80">
7494bf215546Sopenharmony_ci    <src start="0"/>
7495bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="2" default="b0">
7496bf215546Sopenharmony_ci      <opt>b0</opt>
7497bf215546Sopenharmony_ci      <opt>b1</opt>
7498bf215546Sopenharmony_ci      <opt>b2</opt>
7499bf215546Sopenharmony_ci      <opt>b3</opt>
7500bf215546Sopenharmony_ci    </mod>
7501bf215546Sopenharmony_ci  </ins>
7502bf215546Sopenharmony_ci
7503bf215546Sopenharmony_ci  <ins name="+S8_TO_S32" mask="0xfffc8" exact="0x3cb40">
7504bf215546Sopenharmony_ci    <src start="0"/>
7505bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="2" default="b0">
7506bf215546Sopenharmony_ci      <opt>b0</opt>
7507bf215546Sopenharmony_ci      <opt>b1</opt>
7508bf215546Sopenharmony_ci      <opt>b2</opt>
7509bf215546Sopenharmony_ci      <opt>b3</opt>
7510bf215546Sopenharmony_ci    </mod>
7511bf215546Sopenharmony_ci  </ins>
7512bf215546Sopenharmony_ci
7513bf215546Sopenharmony_ci  <ins name="+SEG_ADD" mask="0xfff40" exact="0x3d500">
7514bf215546Sopenharmony_ci    <src start="0"/>
7515bf215546Sopenharmony_ci    <mod name="seg" start="3" size="3">
7516bf215546Sopenharmony_ci      <reserved/>
7517bf215546Sopenharmony_ci      <reserved/>
7518bf215546Sopenharmony_ci      <opt>wls</opt>
7519bf215546Sopenharmony_ci      <reserved/>
7520bf215546Sopenharmony_ci      <reserved/>
7521bf215546Sopenharmony_ci      <reserved/>
7522bf215546Sopenharmony_ci      <reserved/>
7523bf215546Sopenharmony_ci      <opt>tl</opt>
7524bf215546Sopenharmony_ci    </mod>
7525bf215546Sopenharmony_ci    <mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
7526bf215546Sopenharmony_ci  </ins>
7527bf215546Sopenharmony_ci
7528bf215546Sopenharmony_ci  <ins name="+SEG_SUB" mask="0xfff40" exact="0x3d540" unused="true">
7529bf215546Sopenharmony_ci    <src start="0"/>
7530bf215546Sopenharmony_ci    <mod name="seg" start="3" size="3">
7531bf215546Sopenharmony_ci      <reserved/>
7532bf215546Sopenharmony_ci      <reserved/>
7533bf215546Sopenharmony_ci      <opt>wls</opt>
7534bf215546Sopenharmony_ci      <reserved/>
7535bf215546Sopenharmony_ci      <reserved/>
7536bf215546Sopenharmony_ci      <reserved/>
7537bf215546Sopenharmony_ci      <reserved/>
7538bf215546Sopenharmony_ci      <opt>tl</opt>
7539bf215546Sopenharmony_ci    </mod>
7540bf215546Sopenharmony_ci    <mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
7541bf215546Sopenharmony_ci  </ins>
7542bf215546Sopenharmony_ci
7543bf215546Sopenharmony_ci  <ins name="+SHADDXH.i32" mask="0xfffc0" exact="0x3f8c0">
7544bf215546Sopenharmony_ci    <src start="0"/>
7545bf215546Sopenharmony_ci    <src start="3"/>
7546bf215546Sopenharmony_ci  </ins>
7547bf215546Sopenharmony_ci
7548bf215546Sopenharmony_ci  <ins name="+SHIFT_DOUBLE.i32" mask="0xffe00" exact="0xefe00">
7549bf215546Sopenharmony_ci    <src start="0"/>
7550bf215546Sopenharmony_ci    <src start="3"/>
7551bf215546Sopenharmony_ci    <src start="6"/>
7552bf215546Sopenharmony_ci  </ins>
7553bf215546Sopenharmony_ci
7554bf215546Sopenharmony_ci  <ins name="+STORE.i128" staging="r=4" mask="0xffe00" exact="0x61200" message="store" dests="0">
7555bf215546Sopenharmony_ci    <src start="0"/>
7556bf215546Sopenharmony_ci    <src start="3"/>
7557bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7558bf215546Sopenharmony_ci      <reserved/>
7559bf215546Sopenharmony_ci      <opt>none</opt>
7560bf215546Sopenharmony_ci      <opt>wls</opt>
7561bf215546Sopenharmony_ci      <opt>stream</opt>
7562bf215546Sopenharmony_ci      <opt pseudo="true">pos</opt>
7563bf215546Sopenharmony_ci      <opt pseudo="true">vary</opt>
7564bf215546Sopenharmony_ci      <reserved/>
7565bf215546Sopenharmony_ci      <opt>tl</opt>
7566bf215546Sopenharmony_ci    </mod>
7567bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7568bf215546Sopenharmony_ci  </ins>
7569bf215546Sopenharmony_ci
7570bf215546Sopenharmony_ci  <ins name="+STORE.i16" staging="r=1" mask="0xffe00" exact="0x62800" message="store" dests="0">
7571bf215546Sopenharmony_ci    <src start="0"/>
7572bf215546Sopenharmony_ci    <src start="3"/>
7573bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7574bf215546Sopenharmony_ci      <reserved/>
7575bf215546Sopenharmony_ci      <opt>none</opt>
7576bf215546Sopenharmony_ci      <opt>wls</opt>
7577bf215546Sopenharmony_ci      <opt>stream</opt>
7578bf215546Sopenharmony_ci      <opt pseudo="true">pos</opt>
7579bf215546Sopenharmony_ci      <opt pseudo="true">vary</opt>
7580bf215546Sopenharmony_ci      <reserved/>
7581bf215546Sopenharmony_ci      <opt>tl</opt>
7582bf215546Sopenharmony_ci    </mod>
7583bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7584bf215546Sopenharmony_ci  </ins>
7585bf215546Sopenharmony_ci
7586bf215546Sopenharmony_ci  <ins name="+STORE.i24" staging="r=1" mask="0xffe00" exact="0x65800" message="store" dests="0">
7587bf215546Sopenharmony_ci    <src start="0"/>
7588bf215546Sopenharmony_ci    <src start="3"/>
7589bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7590bf215546Sopenharmony_ci      <reserved/>
7591bf215546Sopenharmony_ci      <opt>none</opt>
7592bf215546Sopenharmony_ci      <opt>wls</opt>
7593bf215546Sopenharmony_ci      <opt>stream</opt>
7594bf215546Sopenharmony_ci      <opt pseudo="true">pos</opt>
7595bf215546Sopenharmony_ci      <opt pseudo="true">vary</opt>
7596bf215546Sopenharmony_ci      <reserved/>
7597bf215546Sopenharmony_ci      <opt>tl</opt>
7598bf215546Sopenharmony_ci    </mod>
7599bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7600bf215546Sopenharmony_ci  </ins>
7601bf215546Sopenharmony_ci
7602bf215546Sopenharmony_ci  <ins name="+STORE.i32" staging="r=1" mask="0xffe00" exact="0x62c00" message="store" dests="0">
7603bf215546Sopenharmony_ci    <src start="0"/>
7604bf215546Sopenharmony_ci    <src start="3"/>
7605bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7606bf215546Sopenharmony_ci      <reserved/>
7607bf215546Sopenharmony_ci      <opt>none</opt>
7608bf215546Sopenharmony_ci      <opt>wls</opt>
7609bf215546Sopenharmony_ci      <opt>stream</opt>
7610bf215546Sopenharmony_ci      <opt pseudo="true">pos</opt>
7611bf215546Sopenharmony_ci      <opt pseudo="true">vary</opt>
7612bf215546Sopenharmony_ci      <reserved/>
7613bf215546Sopenharmony_ci      <opt>tl</opt>
7614bf215546Sopenharmony_ci    </mod>
7615bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7616bf215546Sopenharmony_ci  </ins>
7617bf215546Sopenharmony_ci
7618bf215546Sopenharmony_ci  <ins name="+STORE.i48" staging="r=2" mask="0xffe00" exact="0x65a00" message="store" dests="0">
7619bf215546Sopenharmony_ci    <src start="0"/>
7620bf215546Sopenharmony_ci    <src start="3"/>
7621bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7622bf215546Sopenharmony_ci      <reserved/>
7623bf215546Sopenharmony_ci      <opt>none</opt>
7624bf215546Sopenharmony_ci      <opt>wls</opt>
7625bf215546Sopenharmony_ci      <opt>stream</opt>
7626bf215546Sopenharmony_ci      <opt pseudo="true">pos</opt>
7627bf215546Sopenharmony_ci      <opt pseudo="true">vary</opt>
7628bf215546Sopenharmony_ci      <reserved/>
7629bf215546Sopenharmony_ci      <opt>tl</opt>
7630bf215546Sopenharmony_ci    </mod>
7631bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7632bf215546Sopenharmony_ci  </ins>
7633bf215546Sopenharmony_ci
7634bf215546Sopenharmony_ci  <ins name="+STORE.i64" staging="r=2" mask="0xffe00" exact="0x62e00" message="store" dests="0">
7635bf215546Sopenharmony_ci    <src start="0"/>
7636bf215546Sopenharmony_ci    <src start="3"/>
7637bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7638bf215546Sopenharmony_ci      <reserved/>
7639bf215546Sopenharmony_ci      <opt>none</opt>
7640bf215546Sopenharmony_ci      <opt>wls</opt>
7641bf215546Sopenharmony_ci      <opt>stream</opt>
7642bf215546Sopenharmony_ci      <opt pseudo="true">pos</opt>
7643bf215546Sopenharmony_ci      <opt pseudo="true">vary</opt>
7644bf215546Sopenharmony_ci      <reserved/>
7645bf215546Sopenharmony_ci      <opt>tl</opt>
7646bf215546Sopenharmony_ci    </mod>
7647bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7648bf215546Sopenharmony_ci  </ins>
7649bf215546Sopenharmony_ci
7650bf215546Sopenharmony_ci  <ins name="+STORE.i8" staging="r=1" mask="0xffe00" exact="0x62000" message="store" dests="0">
7651bf215546Sopenharmony_ci    <src start="0"/>
7652bf215546Sopenharmony_ci    <src start="3"/>
7653bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7654bf215546Sopenharmony_ci      <reserved/>
7655bf215546Sopenharmony_ci      <opt>none</opt>
7656bf215546Sopenharmony_ci      <opt>wls</opt>
7657bf215546Sopenharmony_ci      <opt>stream</opt>
7658bf215546Sopenharmony_ci      <opt pseudo="true">pos</opt>
7659bf215546Sopenharmony_ci      <opt pseudo="true">vary</opt>
7660bf215546Sopenharmony_ci      <reserved/>
7661bf215546Sopenharmony_ci      <opt>tl</opt>
7662bf215546Sopenharmony_ci    </mod>
7663bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7664bf215546Sopenharmony_ci  </ins>
7665bf215546Sopenharmony_ci
7666bf215546Sopenharmony_ci  <ins name="+STORE.i96" staging="r=3" mask="0xffe00" exact="0x65c00" message="store" dests="0">
7667bf215546Sopenharmony_ci    <src start="0"/>
7668bf215546Sopenharmony_ci    <src start="3"/>
7669bf215546Sopenharmony_ci    <mod name="seg" start="6" size="3">
7670bf215546Sopenharmony_ci      <reserved/>
7671bf215546Sopenharmony_ci      <opt>none</opt>
7672bf215546Sopenharmony_ci      <opt>wls</opt>
7673bf215546Sopenharmony_ci      <opt>stream</opt>
7674bf215546Sopenharmony_ci      <opt pseudo="true">pos</opt>
7675bf215546Sopenharmony_ci      <opt pseudo="true">vary</opt>
7676bf215546Sopenharmony_ci      <reserved/>
7677bf215546Sopenharmony_ci      <opt>tl</opt>
7678bf215546Sopenharmony_ci    </mod>
7679bf215546Sopenharmony_ci    <immediate name="byte_offset" size="16" pseudo="true"/>
7680bf215546Sopenharmony_ci  </ins>
7681bf215546Sopenharmony_ci
7682bf215546Sopenharmony_ci  <ins name="+ST_CVT" staging="r=format" mask="0xff800" exact="0xc9800" message="store" dests="0">
7683bf215546Sopenharmony_ci    <src start="0"/>
7684bf215546Sopenharmony_ci    <src start="3"/>
7685bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
7686bf215546Sopenharmony_ci    <mod name="register_format" size="4" pseudo="true">
7687bf215546Sopenharmony_ci      <opt>f16</opt>
7688bf215546Sopenharmony_ci      <opt>f32</opt>
7689bf215546Sopenharmony_ci      <opt>s32</opt>
7690bf215546Sopenharmony_ci      <opt>u32</opt>
7691bf215546Sopenharmony_ci      <opt>s16</opt>
7692bf215546Sopenharmony_ci      <opt>u16</opt>
7693bf215546Sopenharmony_ci      <opt>f64</opt>
7694bf215546Sopenharmony_ci      <opt>i64</opt>
7695bf215546Sopenharmony_ci    </mod>
7696bf215546Sopenharmony_ci    <mod name="vecsize" start="9" size="2">
7697bf215546Sopenharmony_ci      <opt>none</opt>
7698bf215546Sopenharmony_ci      <opt>v2</opt>
7699bf215546Sopenharmony_ci      <opt>v3</opt>
7700bf215546Sopenharmony_ci      <opt>v4</opt>
7701bf215546Sopenharmony_ci    </mod>
7702bf215546Sopenharmony_ci  </ins>
7703bf215546Sopenharmony_ci
7704bf215546Sopenharmony_ci  <ins name="+ST_TILE" staging="r=format" mask="0xff800" exact="0xcb800" message="tile" dests="0">
7705bf215546Sopenharmony_ci    <src start="0"/>
7706bf215546Sopenharmony_ci    <src start="3"/>
7707bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
7708bf215546Sopenharmony_ci    <mod name="vecsize" start="9" size="2">
7709bf215546Sopenharmony_ci      <opt>none</opt>
7710bf215546Sopenharmony_ci      <opt>v2</opt>
7711bf215546Sopenharmony_ci      <opt>v3</opt>
7712bf215546Sopenharmony_ci      <opt>v4</opt>
7713bf215546Sopenharmony_ci    </mod>
7714bf215546Sopenharmony_ci    <mod name="register_format" size="3" pseudo="true">
7715bf215546Sopenharmony_ci      <opt>f32</opt>
7716bf215546Sopenharmony_ci      <opt>f16</opt>
7717bf215546Sopenharmony_ci      <opt>u32</opt>
7718bf215546Sopenharmony_ci      <opt>s32</opt>
7719bf215546Sopenharmony_ci    </mod>
7720bf215546Sopenharmony_ci  </ins>
7721bf215546Sopenharmony_ci
7722bf215546Sopenharmony_ci  <ins name="+SWZ.v2i16" mask="0xfffc8" exact="0x3d948">
7723bf215546Sopenharmony_ci    <src start="0"/>
7724bf215546Sopenharmony_ci    <mod name="swz0" start="4" size="2">
7725bf215546Sopenharmony_ci      <opt>h00</opt>
7726bf215546Sopenharmony_ci      <opt>h10</opt>
7727bf215546Sopenharmony_ci      <reserved/>
7728bf215546Sopenharmony_ci      <opt>h11</opt>
7729bf215546Sopenharmony_ci    </mod>
7730bf215546Sopenharmony_ci  </ins>
7731bf215546Sopenharmony_ci
7732bf215546Sopenharmony_ci  <ins name="+SWZ.v4i8" mask="0xfffc0" exact="0x3df40">
7733bf215546Sopenharmony_ci    <src start="0"/>
7734bf215546Sopenharmony_ci    <mod name="swz0" start="3" size="3">
7735bf215546Sopenharmony_ci      <opt>b0000</opt>
7736bf215546Sopenharmony_ci      <opt>b1111</opt>
7737bf215546Sopenharmony_ci      <opt>b2222</opt>
7738bf215546Sopenharmony_ci      <opt>b3333</opt>
7739bf215546Sopenharmony_ci      <opt>b0011</opt>
7740bf215546Sopenharmony_ci      <opt>b2233</opt>
7741bf215546Sopenharmony_ci      <opt>b1032</opt>
7742bf215546Sopenharmony_ci      <opt>b3210</opt>
7743bf215546Sopenharmony_ci    </mod>
7744bf215546Sopenharmony_ci  </ins>
7745bf215546Sopenharmony_ci
7746bf215546Sopenharmony_ci  <ins name="+TEXC" staging="rw=sr_count" mask="0xffc00" exact="0xd7000" message="tex" dests="2">
7747bf215546Sopenharmony_ci    <src start="0"/>
7748bf215546Sopenharmony_ci    <src start="3"/>
7749bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
7750bf215546Sopenharmony_ci    <mod name="skip" start="9" size="1" opt="skip"/>
7751bf215546Sopenharmony_ci    <!-- not actually encoded, but used for IR -->
7752bf215546Sopenharmony_ci    <immediate name="sr_count" size="4" pseudo="true"/>
7753bf215546Sopenharmony_ci    <immediate name="sr_count_2" size="4" pseudo="true"/>
7754bf215546Sopenharmony_ci    <mod name="lod_mode" start="13" size="1" default="zero_lod" pseudo="true">
7755bf215546Sopenharmony_ci      <opt>computed_lod</opt>
7756bf215546Sopenharmony_ci      <opt>zero_lod</opt>
7757bf215546Sopenharmony_ci    </mod>
7758bf215546Sopenharmony_ci  </ins>
7759bf215546Sopenharmony_ci
7760bf215546Sopenharmony_ci  <ins name="+TEXS_2D.f16" staging="w=2" mask="0xfc000" exact="0xd8000" message="tex">
7761bf215546Sopenharmony_ci    <src start="0"/>
7762bf215546Sopenharmony_ci    <src start="3"/>
7763bf215546Sopenharmony_ci    <immediate name="texture_index" start="6" size="3"/>
7764bf215546Sopenharmony_ci    <immediate name="sampler_index" start="10" size="3"/>
7765bf215546Sopenharmony_ci    <mod name="skip" start="9" size="1" opt="skip"/>
7766bf215546Sopenharmony_ci    <mod name="lod_mode" start="13" size="1" default="zero_lod">
7767bf215546Sopenharmony_ci      <opt>computed_lod</opt>
7768bf215546Sopenharmony_ci      <opt>zero_lod</opt>
7769bf215546Sopenharmony_ci    </mod>
7770bf215546Sopenharmony_ci  </ins>
7771bf215546Sopenharmony_ci
7772bf215546Sopenharmony_ci  <ins name="+TEXS_2D.f32" staging="w=4" mask="0xfc000" exact="0x58000" message="tex">
7773bf215546Sopenharmony_ci    <src start="0"/>
7774bf215546Sopenharmony_ci    <src start="3"/>
7775bf215546Sopenharmony_ci    <immediate name="texture_index" start="6" size="3"/>
7776bf215546Sopenharmony_ci    <immediate name="sampler_index" start="10" size="3"/>
7777bf215546Sopenharmony_ci    <mod name="skip" start="9" size="1" opt="skip"/>
7778bf215546Sopenharmony_ci    <mod name="lod_mode" start="13" size="1" default="zero_lod">
7779bf215546Sopenharmony_ci      <opt>computed_lod</opt>
7780bf215546Sopenharmony_ci      <opt>zero_lod</opt>
7781bf215546Sopenharmony_ci    </mod>
7782bf215546Sopenharmony_ci  </ins>
7783bf215546Sopenharmony_ci
7784bf215546Sopenharmony_ci  <ins name="+TEXS_CUBE.f16" staging="w=2" mask="0xfc000" exact="0xdc000" message="tex">
7785bf215546Sopenharmony_ci    <src start="0"/>
7786bf215546Sopenharmony_ci    <src start="3"/>
7787bf215546Sopenharmony_ci    <src start="6"/>
7788bf215546Sopenharmony_ci    <immediate name="sampler_index" start="10" size="2"/>
7789bf215546Sopenharmony_ci    <immediate name="texture_index" start="12" size="2"/>
7790bf215546Sopenharmony_ci    <mod name="skip" start="9" size="1" opt="skip"/>
7791bf215546Sopenharmony_ci  </ins>
7792bf215546Sopenharmony_ci
7793bf215546Sopenharmony_ci  <ins name="+TEXS_CUBE.f32" staging="w=4" mask="0xfc000" exact="0x5c000" message="tex">
7794bf215546Sopenharmony_ci    <src start="0"/>
7795bf215546Sopenharmony_ci    <src start="3"/>
7796bf215546Sopenharmony_ci    <src start="6"/>
7797bf215546Sopenharmony_ci    <immediate name="sampler_index" start="10" size="2"/>
7798bf215546Sopenharmony_ci    <immediate name="texture_index" start="12" size="2"/>
7799bf215546Sopenharmony_ci    <mod name="skip" start="9" size="1" opt="skip"/>
7800bf215546Sopenharmony_ci  </ins>
7801bf215546Sopenharmony_ci
7802bf215546Sopenharmony_ci  <ins name="+U16_TO_F32" mask="0xfffe8" exact="0x3cce8">
7803bf215546Sopenharmony_ci    <src start="0"/>
7804bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="1" default="h0">
7805bf215546Sopenharmony_ci      <opt>h0</opt>
7806bf215546Sopenharmony_ci      <opt>h1</opt>
7807bf215546Sopenharmony_ci    </mod>
7808bf215546Sopenharmony_ci  </ins>
7809bf215546Sopenharmony_ci
7810bf215546Sopenharmony_ci  <ins name="+U16_TO_U32" mask="0xfffe8" exact="0x3ccc8">
7811bf215546Sopenharmony_ci    <src start="0"/>
7812bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="1" default="h0">
7813bf215546Sopenharmony_ci      <opt>h0</opt>
7814bf215546Sopenharmony_ci      <opt>h1</opt>
7815bf215546Sopenharmony_ci    </mod>
7816bf215546Sopenharmony_ci  </ins>
7817bf215546Sopenharmony_ci
7818bf215546Sopenharmony_ci  <ins name="+U32_TO_F32">
7819bf215546Sopenharmony_ci    <src start="0"/>
7820bf215546Sopenharmony_ci    <mod name="round" size="3">
7821bf215546Sopenharmony_ci      <opt>none</opt>
7822bf215546Sopenharmony_ci      <opt>rtp</opt>
7823bf215546Sopenharmony_ci      <opt>rtn</opt>
7824bf215546Sopenharmony_ci      <opt>rtz</opt>
7825bf215546Sopenharmony_ci      <opt>rtna</opt>
7826bf215546Sopenharmony_ci    </mod>
7827bf215546Sopenharmony_ci    <encoding mask="0xfffc8" exact="0x3cbc8">
7828bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
7829bf215546Sopenharmony_ci      <derived start="4" size="2">
7830bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
7831bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
7832bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
7833bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
7834bf215546Sopenharmony_ci      </derived>
7835bf215546Sopenharmony_ci    </encoding>
7836bf215546Sopenharmony_ci    <encoding mask="0xffff8" exact="0x3cd08">
7837bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
7838bf215546Sopenharmony_ci    </encoding>
7839bf215546Sopenharmony_ci  </ins>
7840bf215546Sopenharmony_ci
7841bf215546Sopenharmony_ci  <ins name="+U8_TO_F32" mask="0xfffc8" exact="0x3cb88">
7842bf215546Sopenharmony_ci    <src start="0"/>
7843bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="2" default="b0">
7844bf215546Sopenharmony_ci      <opt>b0</opt>
7845bf215546Sopenharmony_ci      <opt>b1</opt>
7846bf215546Sopenharmony_ci      <opt>b2</opt>
7847bf215546Sopenharmony_ci      <opt>b3</opt>
7848bf215546Sopenharmony_ci    </mod>
7849bf215546Sopenharmony_ci  </ins>
7850bf215546Sopenharmony_ci
7851bf215546Sopenharmony_ci  <ins name="+U8_TO_U32" mask="0xfffc8" exact="0x3cb48">
7852bf215546Sopenharmony_ci    <src start="0"/>
7853bf215546Sopenharmony_ci    <mod name="lane0" start="4" size="2" default="b0">
7854bf215546Sopenharmony_ci      <opt>b0</opt>
7855bf215546Sopenharmony_ci      <opt>b1</opt>
7856bf215546Sopenharmony_ci      <opt>b2</opt>
7857bf215546Sopenharmony_ci      <opt>b3</opt>
7858bf215546Sopenharmony_ci    </mod>
7859bf215546Sopenharmony_ci  </ins>
7860bf215546Sopenharmony_ci
7861bf215546Sopenharmony_ci  <ins name="+V2F16_TO_V2S16">
7862bf215546Sopenharmony_ci    <src start="0"/>
7863bf215546Sopenharmony_ci    <mod name="round" size="3">
7864bf215546Sopenharmony_ci      <opt>none</opt>
7865bf215546Sopenharmony_ci      <opt>rtp</opt>
7866bf215546Sopenharmony_ci      <opt>rtn</opt>
7867bf215546Sopenharmony_ci      <opt>rtz</opt>
7868bf215546Sopenharmony_ci      <opt>rtna</opt>
7869bf215546Sopenharmony_ci    </mod>
7870bf215546Sopenharmony_ci    <mod name="swz0" size="2" default="h01">
7871bf215546Sopenharmony_ci      <opt>h00</opt>
7872bf215546Sopenharmony_ci      <opt>h10</opt>
7873bf215546Sopenharmony_ci      <opt>h01</opt>
7874bf215546Sopenharmony_ci      <opt>h11</opt>
7875bf215546Sopenharmony_ci    </mod>
7876bf215546Sopenharmony_ci    <encoding mask="0xfff08" exact="0x3c200">
7877bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
7878bf215546Sopenharmony_ci      <copy name="swz0" start="6"/>
7879bf215546Sopenharmony_ci      <derived start="4" size="2">
7880bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
7881bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
7882bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
7883bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
7884bf215546Sopenharmony_ci      </derived>
7885bf215546Sopenharmony_ci    </encoding>
7886bf215546Sopenharmony_ci    <encoding mask="0xfffc8" exact="0x3ca80">
7887bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
7888bf215546Sopenharmony_ci      <copy name="swz0" start="4"/>
7889bf215546Sopenharmony_ci    </encoding>
7890bf215546Sopenharmony_ci  </ins>
7891bf215546Sopenharmony_ci
7892bf215546Sopenharmony_ci  <ins name="+V2F16_TO_V2U16">
7893bf215546Sopenharmony_ci    <src start="0"/>
7894bf215546Sopenharmony_ci    <mod name="round" size="3">
7895bf215546Sopenharmony_ci      <opt>none</opt>
7896bf215546Sopenharmony_ci      <opt>rtp</opt>
7897bf215546Sopenharmony_ci      <opt>rtn</opt>
7898bf215546Sopenharmony_ci      <opt>rtz</opt>
7899bf215546Sopenharmony_ci      <opt>rtna</opt>
7900bf215546Sopenharmony_ci    </mod>
7901bf215546Sopenharmony_ci    <mod name="swz0" size="2" default="h01">
7902bf215546Sopenharmony_ci      <opt>h00</opt>
7903bf215546Sopenharmony_ci      <opt>h10</opt>
7904bf215546Sopenharmony_ci      <opt>h01</opt>
7905bf215546Sopenharmony_ci      <opt>h11</opt>
7906bf215546Sopenharmony_ci    </mod>
7907bf215546Sopenharmony_ci    <encoding mask="0xfff08" exact="0x3c208">
7908bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
7909bf215546Sopenharmony_ci      <copy name="swz0" start="6"/>
7910bf215546Sopenharmony_ci      <derived start="4" size="2">
7911bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
7912bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
7913bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
7914bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
7915bf215546Sopenharmony_ci      </derived>
7916bf215546Sopenharmony_ci    </encoding>
7917bf215546Sopenharmony_ci    <encoding mask="0xfffc8" exact="0x3ca88">
7918bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
7919bf215546Sopenharmony_ci      <copy name="swz0" start="4"/>
7920bf215546Sopenharmony_ci    </encoding>
7921bf215546Sopenharmony_ci  </ins>
7922bf215546Sopenharmony_ci
7923bf215546Sopenharmony_ci  <ins name="+V2F32_TO_V2F16" mask="0xfe000" exact="0x76000">
7924bf215546Sopenharmony_ci    <src start="0"/>
7925bf215546Sopenharmony_ci    <src start="3"/>
7926bf215546Sopenharmony_ci    <mod name="abs0" size="1" opt="abs"/>
7927bf215546Sopenharmony_ci    <mod name="abs1" size="1" opt="abs"/>
7928bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
7929bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
7930bf215546Sopenharmony_ci    <mod name="clamp" start="8" size="2">
7931bf215546Sopenharmony_ci      <opt>none</opt>
7932bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
7933bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
7934bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
7935bf215546Sopenharmony_ci    </mod>
7936bf215546Sopenharmony_ci    <mod name="round" start="10" size="3">
7937bf215546Sopenharmony_ci      <opt>none</opt>
7938bf215546Sopenharmony_ci      <opt>rtp</opt>
7939bf215546Sopenharmony_ci      <opt>rtn</opt>
7940bf215546Sopenharmony_ci      <opt>rtz</opt>
7941bf215546Sopenharmony_ci      <opt>rtna</opt>
7942bf215546Sopenharmony_ci    </mod>
7943bf215546Sopenharmony_ci    <mod name="ftz" start="9" size="1" opt="ftz" pseudo="true"/>
7944bf215546Sopenharmony_ci    <derived start="6" size="1">
7945bf215546Sopenharmony_ci      <and>
7946bf215546Sopenharmony_ci        <eq left="abs0" right="#none"/>
7947bf215546Sopenharmony_ci        <eq left="abs1" right="#none"/>
7948bf215546Sopenharmony_ci      </and>
7949bf215546Sopenharmony_ci      <and>
7950bf215546Sopenharmony_ci        <eq left="abs0" right="#abs"/>
7951bf215546Sopenharmony_ci        <eq left="abs1" right="#abs"/>
7952bf215546Sopenharmony_ci      </and>
7953bf215546Sopenharmony_ci    </derived>
7954bf215546Sopenharmony_ci    <derived start="7" size="1">
7955bf215546Sopenharmony_ci      <and>
7956bf215546Sopenharmony_ci        <eq left="neg0" right="#none"/>
7957bf215546Sopenharmony_ci        <eq left="neg1" right="#none"/>
7958bf215546Sopenharmony_ci      </and>
7959bf215546Sopenharmony_ci      <and>
7960bf215546Sopenharmony_ci        <eq left="neg0" right="#neg"/>
7961bf215546Sopenharmony_ci        <eq left="neg1" right="#neg"/>
7962bf215546Sopenharmony_ci      </and>
7963bf215546Sopenharmony_ci    </derived>
7964bf215546Sopenharmony_ci  </ins>
7965bf215546Sopenharmony_ci
7966bf215546Sopenharmony_ci  <ins name="+V2S16_TO_V2F16">
7967bf215546Sopenharmony_ci    <src start="0"/>
7968bf215546Sopenharmony_ci    <mod name="round" size="3">
7969bf215546Sopenharmony_ci      <opt>none</opt>
7970bf215546Sopenharmony_ci      <opt>rtp</opt>
7971bf215546Sopenharmony_ci      <opt>rtn</opt>
7972bf215546Sopenharmony_ci      <opt>rtz</opt>
7973bf215546Sopenharmony_ci      <opt>rtna</opt>
7974bf215546Sopenharmony_ci    </mod>
7975bf215546Sopenharmony_ci    <mod name="swz0" size="2" default="h01">
7976bf215546Sopenharmony_ci      <opt>h00</opt>
7977bf215546Sopenharmony_ci      <opt>h10</opt>
7978bf215546Sopenharmony_ci      <opt>h01</opt>
7979bf215546Sopenharmony_ci      <opt>h11</opt>
7980bf215546Sopenharmony_ci    </mod>
7981bf215546Sopenharmony_ci    <encoding mask="0xfff08" exact="0x3c600">
7982bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
7983bf215546Sopenharmony_ci      <copy name="swz0" start="6"/>
7984bf215546Sopenharmony_ci      <derived start="4" size="2">
7985bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
7986bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
7987bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
7988bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
7989bf215546Sopenharmony_ci      </derived>
7990bf215546Sopenharmony_ci    </encoding>
7991bf215546Sopenharmony_ci    <encoding mask="0xfffc8" exact="0x3cb00">
7992bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
7993bf215546Sopenharmony_ci      <copy name="swz0" start="4"/>
7994bf215546Sopenharmony_ci    </encoding>
7995bf215546Sopenharmony_ci  </ins>
7996bf215546Sopenharmony_ci
7997bf215546Sopenharmony_ci  <ins name="+V2S8_TO_V2F16" mask="0xfff08" exact="0x3c800">
7998bf215546Sopenharmony_ci    <src start="0"/>
7999bf215546Sopenharmony_ci    <mod name="swz0" start="4" size="4" default="b01">
8000bf215546Sopenharmony_ci      <opt>b00</opt>
8001bf215546Sopenharmony_ci      <opt>b10</opt>
8002bf215546Sopenharmony_ci      <opt>b20</opt>
8003bf215546Sopenharmony_ci      <opt>b30</opt>
8004bf215546Sopenharmony_ci      <opt>b01</opt>
8005bf215546Sopenharmony_ci      <opt>b11</opt>
8006bf215546Sopenharmony_ci      <opt>b21</opt>
8007bf215546Sopenharmony_ci      <opt>b31</opt>
8008bf215546Sopenharmony_ci      <opt>b02</opt>
8009bf215546Sopenharmony_ci      <opt>b12</opt>
8010bf215546Sopenharmony_ci      <opt>b22</opt>
8011bf215546Sopenharmony_ci      <opt>b32</opt>
8012bf215546Sopenharmony_ci      <opt>b03</opt>
8013bf215546Sopenharmony_ci      <opt>b13</opt>
8014bf215546Sopenharmony_ci      <opt>b23</opt>
8015bf215546Sopenharmony_ci      <opt>b33</opt>
8016bf215546Sopenharmony_ci    </mod>
8017bf215546Sopenharmony_ci  </ins>
8018bf215546Sopenharmony_ci
8019bf215546Sopenharmony_ci  <ins name="+V2S8_TO_V2S16" mask="0xfff08" exact="0x3c700">
8020bf215546Sopenharmony_ci    <src start="0"/>
8021bf215546Sopenharmony_ci    <mod name="swz0" start="4" size="4" default="b01">
8022bf215546Sopenharmony_ci      <opt>b00</opt>
8023bf215546Sopenharmony_ci      <opt>b10</opt>
8024bf215546Sopenharmony_ci      <opt>b20</opt>
8025bf215546Sopenharmony_ci      <opt>b30</opt>
8026bf215546Sopenharmony_ci      <opt>b01</opt>
8027bf215546Sopenharmony_ci      <opt>b11</opt>
8028bf215546Sopenharmony_ci      <opt>b21</opt>
8029bf215546Sopenharmony_ci      <opt>b31</opt>
8030bf215546Sopenharmony_ci      <opt>b02</opt>
8031bf215546Sopenharmony_ci      <opt>b12</opt>
8032bf215546Sopenharmony_ci      <opt>b22</opt>
8033bf215546Sopenharmony_ci      <opt>b32</opt>
8034bf215546Sopenharmony_ci      <opt>b03</opt>
8035bf215546Sopenharmony_ci      <opt>b13</opt>
8036bf215546Sopenharmony_ci      <opt>b23</opt>
8037bf215546Sopenharmony_ci      <opt>b33</opt>
8038bf215546Sopenharmony_ci    </mod>
8039bf215546Sopenharmony_ci  </ins>
8040bf215546Sopenharmony_ci
8041bf215546Sopenharmony_ci  <ins name="+V2U16_TO_V2F16">
8042bf215546Sopenharmony_ci    <src start="0"/>
8043bf215546Sopenharmony_ci    <mod name="round" size="3">
8044bf215546Sopenharmony_ci      <opt>none</opt>
8045bf215546Sopenharmony_ci      <opt>rtp</opt>
8046bf215546Sopenharmony_ci      <opt>rtn</opt>
8047bf215546Sopenharmony_ci      <opt>rtz</opt>
8048bf215546Sopenharmony_ci      <opt>rtna</opt>
8049bf215546Sopenharmony_ci    </mod>
8050bf215546Sopenharmony_ci    <mod name="swz0" size="2" default="h01">
8051bf215546Sopenharmony_ci      <opt>h00</opt>
8052bf215546Sopenharmony_ci      <opt>h10</opt>
8053bf215546Sopenharmony_ci      <opt>h01</opt>
8054bf215546Sopenharmony_ci      <opt>h11</opt>
8055bf215546Sopenharmony_ci    </mod>
8056bf215546Sopenharmony_ci    <encoding mask="0xfff08" exact="0x3c608">
8057bf215546Sopenharmony_ci      <neq left="round" right="#rtna"/>
8058bf215546Sopenharmony_ci      <copy name="swz0" start="6"/>
8059bf215546Sopenharmony_ci      <derived start="4" size="2">
8060bf215546Sopenharmony_ci        <eq left="round" right="#none"/>
8061bf215546Sopenharmony_ci        <eq left="round" right="#rtp"/>
8062bf215546Sopenharmony_ci        <eq left="round" right="#rtn"/>
8063bf215546Sopenharmony_ci        <eq left="round" right="#rtz"/>
8064bf215546Sopenharmony_ci      </derived>
8065bf215546Sopenharmony_ci    </encoding>
8066bf215546Sopenharmony_ci    <encoding mask="0xfffc8" exact="0x3cb08">
8067bf215546Sopenharmony_ci      <eq left="round" right="#rtna"/>
8068bf215546Sopenharmony_ci      <copy name="swz0" start="4"/>
8069bf215546Sopenharmony_ci    </encoding>
8070bf215546Sopenharmony_ci  </ins>
8071bf215546Sopenharmony_ci
8072bf215546Sopenharmony_ci  <ins name="+V2U8_TO_V2F16" mask="0xfff08" exact="0x3c808">
8073bf215546Sopenharmony_ci    <src start="0"/>
8074bf215546Sopenharmony_ci    <mod name="swz0" start="4" size="4" default="b01">
8075bf215546Sopenharmony_ci      <opt>b00</opt>
8076bf215546Sopenharmony_ci      <opt>b10</opt>
8077bf215546Sopenharmony_ci      <opt>b20</opt>
8078bf215546Sopenharmony_ci      <opt>b30</opt>
8079bf215546Sopenharmony_ci      <opt>b01</opt>
8080bf215546Sopenharmony_ci      <opt>b11</opt>
8081bf215546Sopenharmony_ci      <opt>b21</opt>
8082bf215546Sopenharmony_ci      <opt>b31</opt>
8083bf215546Sopenharmony_ci      <opt>b02</opt>
8084bf215546Sopenharmony_ci      <opt>b12</opt>
8085bf215546Sopenharmony_ci      <opt>b22</opt>
8086bf215546Sopenharmony_ci      <opt>b32</opt>
8087bf215546Sopenharmony_ci      <opt>b03</opt>
8088bf215546Sopenharmony_ci      <opt>b13</opt>
8089bf215546Sopenharmony_ci      <opt>b23</opt>
8090bf215546Sopenharmony_ci      <opt>b33</opt>
8091bf215546Sopenharmony_ci    </mod>
8092bf215546Sopenharmony_ci  </ins>
8093bf215546Sopenharmony_ci
8094bf215546Sopenharmony_ci  <ins name="+V2U8_TO_V2U16" mask="0xfff08" exact="0x3c708">
8095bf215546Sopenharmony_ci    <src start="0"/>
8096bf215546Sopenharmony_ci    <mod name="swz0" start="4" size="4" default="b01">
8097bf215546Sopenharmony_ci      <opt>b00</opt>
8098bf215546Sopenharmony_ci      <opt>b10</opt>
8099bf215546Sopenharmony_ci      <opt>b20</opt>
8100bf215546Sopenharmony_ci      <opt>b30</opt>
8101bf215546Sopenharmony_ci      <opt>b01</opt>
8102bf215546Sopenharmony_ci      <opt>b11</opt>
8103bf215546Sopenharmony_ci      <opt>b21</opt>
8104bf215546Sopenharmony_ci      <opt>b31</opt>
8105bf215546Sopenharmony_ci      <opt>b02</opt>
8106bf215546Sopenharmony_ci      <opt>b12</opt>
8107bf215546Sopenharmony_ci      <opt>b22</opt>
8108bf215546Sopenharmony_ci      <opt>b32</opt>
8109bf215546Sopenharmony_ci      <opt>b03</opt>
8110bf215546Sopenharmony_ci      <opt>b13</opt>
8111bf215546Sopenharmony_ci      <opt>b23</opt>
8112bf215546Sopenharmony_ci      <opt>b33</opt>
8113bf215546Sopenharmony_ci    </mod>
8114bf215546Sopenharmony_ci  </ins>
8115bf215546Sopenharmony_ci
8116bf215546Sopenharmony_ci  <ins name="+VAR_TEX.f16" staging="w=2" mask="0xffd00" exact="0xca100" message="vartex">
8117bf215546Sopenharmony_ci    <immediate name="varying_index" start="0" size="3"/>
8118bf215546Sopenharmony_ci    <immediate name="texture_index" start="3" size="2"/>
8119bf215546Sopenharmony_ci    <mod name="update" size="1">
8120bf215546Sopenharmony_ci      <opt>store</opt>
8121bf215546Sopenharmony_ci      <opt>retrieve</opt>
8122bf215546Sopenharmony_ci    </mod>
8123bf215546Sopenharmony_ci    <mod name="skip" start="7" size="1" opt="skip"/>
8124bf215546Sopenharmony_ci    <mod name="lod_mode" start="9" size="1" default="zero_lod">
8125bf215546Sopenharmony_ci      <opt>computed_lod</opt>
8126bf215546Sopenharmony_ci      <opt>zero_lod</opt>
8127bf215546Sopenharmony_ci    </mod>
8128bf215546Sopenharmony_ci    <mod name="sample" size="1">
8129bf215546Sopenharmony_ci      <opt>center</opt>
8130bf215546Sopenharmony_ci      <opt>none</opt>
8131bf215546Sopenharmony_ci    </mod>
8132bf215546Sopenharmony_ci    <derived start="5" size="2">
8133bf215546Sopenharmony_ci      <and>
8134bf215546Sopenharmony_ci        <eq left="sample" right="#center"/>
8135bf215546Sopenharmony_ci        <eq left="update" right="#store"/>
8136bf215546Sopenharmony_ci      </and>
8137bf215546Sopenharmony_ci      <and>
8138bf215546Sopenharmony_ci        <eq left="sample" right="#none"/>
8139bf215546Sopenharmony_ci        <eq left="update" right="#retrieve"/>
8140bf215546Sopenharmony_ci      </and>
8141bf215546Sopenharmony_ci      <reserved/>
8142bf215546Sopenharmony_ci      <reserved/>
8143bf215546Sopenharmony_ci    </derived>
8144bf215546Sopenharmony_ci  </ins>
8145bf215546Sopenharmony_ci
8146bf215546Sopenharmony_ci  <ins name="+VAR_TEX.f32" staging="w=4" mask="0xffd00" exact="0xca000" message="vartex">
8147bf215546Sopenharmony_ci    <immediate name="varying_index" start="0" size="3"/>
8148bf215546Sopenharmony_ci    <immediate name="texture_index" start="3" size="2"/>
8149bf215546Sopenharmony_ci    <mod name="update" size="1">
8150bf215546Sopenharmony_ci      <opt>store</opt>
8151bf215546Sopenharmony_ci      <opt>retrieve</opt>
8152bf215546Sopenharmony_ci    </mod>
8153bf215546Sopenharmony_ci    <mod name="skip" start="7" size="1" opt="skip"/>
8154bf215546Sopenharmony_ci    <mod name="lod_mode" start="9" size="1" default="zero_lod">
8155bf215546Sopenharmony_ci      <opt>computed_lod</opt>
8156bf215546Sopenharmony_ci      <opt>zero_lod</opt>
8157bf215546Sopenharmony_ci    </mod>
8158bf215546Sopenharmony_ci    <mod name="sample" size="1">
8159bf215546Sopenharmony_ci      <opt>center</opt>
8160bf215546Sopenharmony_ci      <opt>none</opt>
8161bf215546Sopenharmony_ci    </mod>
8162bf215546Sopenharmony_ci    <derived start="5" size="2">
8163bf215546Sopenharmony_ci      <and>
8164bf215546Sopenharmony_ci        <eq left="sample" right="#center"/>
8165bf215546Sopenharmony_ci        <eq left="update" right="#store"/>
8166bf215546Sopenharmony_ci      </and>
8167bf215546Sopenharmony_ci      <and>
8168bf215546Sopenharmony_ci        <eq left="sample" right="#none"/>
8169bf215546Sopenharmony_ci        <eq left="update" right="#retrieve"/>
8170bf215546Sopenharmony_ci      </and>
8171bf215546Sopenharmony_ci      <reserved/>
8172bf215546Sopenharmony_ci      <reserved/>
8173bf215546Sopenharmony_ci    </derived>
8174bf215546Sopenharmony_ci  </ins>
8175bf215546Sopenharmony_ci
8176bf215546Sopenharmony_ci  <ins name="+VN_ASST2.f32">
8177bf215546Sopenharmony_ci    <src start="0"/>
8178bf215546Sopenharmony_ci    <mod name="scale" size="1" opt="scale"/>
8179bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
8180bf215546Sopenharmony_ci    <encoding mask="0xffff0" exact="0x3df80">
8181bf215546Sopenharmony_ci      <eq left="scale" right="#none"/>
8182bf215546Sopenharmony_ci      <copy name="neg0" start="3"/>
8183bf215546Sopenharmony_ci    </encoding>
8184bf215546Sopenharmony_ci    <encoding mask="0xfffe8" exact="0x3de80">
8185bf215546Sopenharmony_ci      <eq left="scale" right="#scale"/>
8186bf215546Sopenharmony_ci      <copy name="neg0" start="4"/>
8187bf215546Sopenharmony_ci    </encoding>
8188bf215546Sopenharmony_ci  </ins>
8189bf215546Sopenharmony_ci
8190bf215546Sopenharmony_ci  <ins name="+VN_ASST2.v2f16" mask="0xffff0" exact="0x3dfa0">
8191bf215546Sopenharmony_ci    <src start="0"/>
8192bf215546Sopenharmony_ci    <mod name="neg0" start="3" size="1" opt="neg"/>
8193bf215546Sopenharmony_ci  </ins>
8194bf215546Sopenharmony_ci
8195bf215546Sopenharmony_ci  <ins name="+WMASK" mask="0xfffc0" exact="0x3d700">
8196bf215546Sopenharmony_ci    <src start="0"/>
8197bf215546Sopenharmony_ci    <immediate name="fill" start="3" size="1"/>
8198bf215546Sopenharmony_ci    <mod name="subgroup" start="4" size="2">
8199bf215546Sopenharmony_ci      <opt>subgroup2</opt>
8200bf215546Sopenharmony_ci      <opt>subgroup4</opt>
8201bf215546Sopenharmony_ci      <opt>subgroup8</opt>
8202bf215546Sopenharmony_ci    </mod>
8203bf215546Sopenharmony_ci  </ins>
8204bf215546Sopenharmony_ci
8205bf215546Sopenharmony_ci  <ins name="+ZS_EMIT" staging="w=1" mask="0xff800" exact="0xd7800" message="z_stencil">
8206bf215546Sopenharmony_ci    <src start="0"/>
8207bf215546Sopenharmony_ci    <src start="3"/>
8208bf215546Sopenharmony_ci    <src start="6"/>
8209bf215546Sopenharmony_ci    <mod name="stencil" size="1" opt="stencil"/>
8210bf215546Sopenharmony_ci    <mod name="z" size="1" opt="z"/>
8211bf215546Sopenharmony_ci    <derived start="9" size="2">
8212bf215546Sopenharmony_ci      <reserved/>
8213bf215546Sopenharmony_ci      <and>
8214bf215546Sopenharmony_ci        <eq left="stencil" right="#stencil"/>
8215bf215546Sopenharmony_ci        <eq left="z" right="#none"/>
8216bf215546Sopenharmony_ci      </and>
8217bf215546Sopenharmony_ci      <and>
8218bf215546Sopenharmony_ci        <eq left="stencil" right="#none"/>
8219bf215546Sopenharmony_ci        <eq left="z" right="#z"/>
8220bf215546Sopenharmony_ci      </and>
8221bf215546Sopenharmony_ci      <and>
8222bf215546Sopenharmony_ci        <eq left="stencil" right="#stencil"/>
8223bf215546Sopenharmony_ci        <eq left="z" right="#z"/>
8224bf215546Sopenharmony_ci      </and>
8225bf215546Sopenharmony_ci    </derived>
8226bf215546Sopenharmony_ci  </ins>
8227bf215546Sopenharmony_ci
8228bf215546Sopenharmony_ci  <!--- Lowered to *SEG_ADD/+SEG_ADD -->
8229bf215546Sopenharmony_ci  <ins name="+SEG_ADD.i64" pseudo="true">
8230bf215546Sopenharmony_ci    <src start="0"/>
8231bf215546Sopenharmony_ci    <src start="3"/>
8232bf215546Sopenharmony_ci    <mod name="seg" size="3">
8233bf215546Sopenharmony_ci      <reserved/>
8234bf215546Sopenharmony_ci      <reserved/>
8235bf215546Sopenharmony_ci      <opt>wls</opt>
8236bf215546Sopenharmony_ci      <reserved/>
8237bf215546Sopenharmony_ci      <reserved/>
8238bf215546Sopenharmony_ci      <reserved/>
8239bf215546Sopenharmony_ci      <reserved/>
8240bf215546Sopenharmony_ci      <opt>tl</opt>
8241bf215546Sopenharmony_ci    </mod>
8242bf215546Sopenharmony_ci    <mod name="preserve_null" size="1" opt="preserve_null"/>
8243bf215546Sopenharmony_ci  </ins>
8244bf215546Sopenharmony_ci
8245bf215546Sopenharmony_ci  <!-- Scheduler lowered to *ATOM_C.i32/+ATOM_CX. Real Valhall instructions. -->
8246bf215546Sopenharmony_ci  <ins name="+ATOM_RETURN.i32" pseudo="true" staging="rw=sr_count" message="atomic">
8247bf215546Sopenharmony_ci    <src start="0"/>
8248bf215546Sopenharmony_ci    <src start="3"/>
8249bf215546Sopenharmony_ci    <mod name="atom_opc" start="9" size="5">
8250bf215546Sopenharmony_ci      <reserved/>
8251bf215546Sopenharmony_ci      <reserved/>
8252bf215546Sopenharmony_ci      <opt>aadd</opt>
8253bf215546Sopenharmony_ci      <reserved/>
8254bf215546Sopenharmony_ci      <reserved/>
8255bf215546Sopenharmony_ci      <reserved/>
8256bf215546Sopenharmony_ci      <reserved/>
8257bf215546Sopenharmony_ci      <reserved/>
8258bf215546Sopenharmony_ci      <opt>asmin</opt>
8259bf215546Sopenharmony_ci      <opt>asmax</opt>
8260bf215546Sopenharmony_ci      <opt>aumin</opt>
8261bf215546Sopenharmony_ci      <opt>aumax</opt>
8262bf215546Sopenharmony_ci      <opt>aand</opt>
8263bf215546Sopenharmony_ci      <opt>aor</opt>
8264bf215546Sopenharmony_ci      <opt>axor</opt>
8265bf215546Sopenharmony_ci      <opt>axchg</opt> <!-- For Valhall -->
8266bf215546Sopenharmony_ci      <opt>acmpxchg</opt> <!-- For Valhall -->
8267bf215546Sopenharmony_ci    </mod>
8268bf215546Sopenharmony_ci    <!-- not actually encoded, but used for IR -->
8269bf215546Sopenharmony_ci    <immediate name="sr_count" size="4" pseudo="true"/>
8270bf215546Sopenharmony_ci  </ins>
8271bf215546Sopenharmony_ci
8272bf215546Sopenharmony_ci  <ins name="+ATOM1_RETURN.i32" pseudo="true" staging="w=sr_count" message="atomic">
8273bf215546Sopenharmony_ci    <src start="0"/>
8274bf215546Sopenharmony_ci    <src start="3"/>
8275bf215546Sopenharmony_ci    <mod name="atom_opc" start="6" size="3">
8276bf215546Sopenharmony_ci      <opt>ainc</opt>
8277bf215546Sopenharmony_ci      <opt>adec</opt>
8278bf215546Sopenharmony_ci      <opt>aumax1</opt>
8279bf215546Sopenharmony_ci      <opt>asmax1</opt>
8280bf215546Sopenharmony_ci      <opt>aor1</opt>
8281bf215546Sopenharmony_ci    </mod>
8282bf215546Sopenharmony_ci    <!-- not actually encoded, but used for IR -->
8283bf215546Sopenharmony_ci    <immediate name="sr_count" size="4" pseudo="true"/>
8284bf215546Sopenharmony_ci  </ins>
8285bf215546Sopenharmony_ci
8286bf215546Sopenharmony_ci  <ins name="+ATOM.i32" pseudo="true" staging="r=sr_count" message="atomic">
8287bf215546Sopenharmony_ci    <src start="0"/>
8288bf215546Sopenharmony_ci    <src start="3"/>
8289bf215546Sopenharmony_ci    <mod name="atom_opc" start="9" size="4">
8290bf215546Sopenharmony_ci      <reserved/>
8291bf215546Sopenharmony_ci      <reserved/>
8292bf215546Sopenharmony_ci      <opt>aadd</opt>
8293bf215546Sopenharmony_ci      <reserved/>
8294bf215546Sopenharmony_ci      <reserved/>
8295bf215546Sopenharmony_ci      <reserved/>
8296bf215546Sopenharmony_ci      <reserved/>
8297bf215546Sopenharmony_ci      <reserved/>
8298bf215546Sopenharmony_ci      <opt>asmin</opt>
8299bf215546Sopenharmony_ci      <opt>asmax</opt>
8300bf215546Sopenharmony_ci      <opt>aumin</opt>
8301bf215546Sopenharmony_ci      <opt>aumax</opt>
8302bf215546Sopenharmony_ci      <opt>aand</opt>
8303bf215546Sopenharmony_ci      <opt>aor</opt>
8304bf215546Sopenharmony_ci      <opt>axor</opt>
8305bf215546Sopenharmony_ci    </mod>
8306bf215546Sopenharmony_ci    <!-- not actually encoded, but used for IR -->
8307bf215546Sopenharmony_ci    <immediate name="sr_count" size="4" pseudo="true"/>
8308bf215546Sopenharmony_ci  </ins>
8309bf215546Sopenharmony_ci
8310bf215546Sopenharmony_ci  <!-- *CUBEFACE1/+CUBEFACE2 pair, two destinations, scheduler lowered -->
8311bf215546Sopenharmony_ci  <ins name="+CUBEFACE" pseudo="true" dests="2">
8312bf215546Sopenharmony_ci    <src start="0"/>
8313bf215546Sopenharmony_ci    <src start="3"/>
8314bf215546Sopenharmony_ci    <src start="6"/>
8315bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
8316bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
8317bf215546Sopenharmony_ci    <mod name="neg2" size="1" opt="neg"/>
8318bf215546Sopenharmony_ci  </ins>
8319bf215546Sopenharmony_ci
8320bf215546Sopenharmony_ci  <ins name="+IADD_IMM.i32" pseudo="true">
8321bf215546Sopenharmony_ci    <src start="0"/>
8322bf215546Sopenharmony_ci    <immediate name="index" size="32"/>
8323bf215546Sopenharmony_ci  </ins>
8324bf215546Sopenharmony_ci
8325bf215546Sopenharmony_ci  <ins name="+IADD_IMM.v2i16" pseudo="true">
8326bf215546Sopenharmony_ci    <src start="0"/>
8327bf215546Sopenharmony_ci    <immediate name="index" size="32"/>
8328bf215546Sopenharmony_ci  </ins>
8329bf215546Sopenharmony_ci
8330bf215546Sopenharmony_ci  <ins name="+IADD_IMM.v4i8" pseudo="true">
8331bf215546Sopenharmony_ci    <src start="0"/>
8332bf215546Sopenharmony_ci    <immediate name="index" size="32"/>
8333bf215546Sopenharmony_ci  </ins>
8334bf215546Sopenharmony_ci
8335bf215546Sopenharmony_ci  <ins name="+FADD_IMM.f32" pseudo="true">
8336bf215546Sopenharmony_ci    <src start="0"/>
8337bf215546Sopenharmony_ci    <immediate name="index" size="32"/>
8338bf215546Sopenharmony_ci  </ins>
8339bf215546Sopenharmony_ci
8340bf215546Sopenharmony_ci  <ins name="+FADD_IMM.v2f16" pseudo="true">
8341bf215546Sopenharmony_ci    <src start="0"/>
8342bf215546Sopenharmony_ci    <immediate name="index" size="32"/>
8343bf215546Sopenharmony_ci  </ins>
8344bf215546Sopenharmony_ci
8345bf215546Sopenharmony_ci  <ins name="*FABSNEG.f32" pseudo="true">
8346bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
8347bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
8348bf215546Sopenharmony_ci    <mod name="abs0" start="12" size="1" opt="abs"/>
8349bf215546Sopenharmony_ci    <mod name="widen0" size="2">
8350bf215546Sopenharmony_ci      <opt>none</opt>
8351bf215546Sopenharmony_ci      <opt>h0</opt>
8352bf215546Sopenharmony_ci      <opt>h1</opt>
8353bf215546Sopenharmony_ci    </mod>
8354bf215546Sopenharmony_ci  </ins>
8355bf215546Sopenharmony_ci
8356bf215546Sopenharmony_ci  <ins name="*FABSNEG.v2f16" pseudo="true">
8357bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
8358bf215546Sopenharmony_ci    <mod name="abs0" size="1" opt="abs"/>
8359bf215546Sopenharmony_ci    <mod name="neg0" start="7" size="1" opt="neg"/>
8360bf215546Sopenharmony_ci    <mod name="swz0" start="9" size="2" default="h01">
8361bf215546Sopenharmony_ci      <opt>h00</opt>
8362bf215546Sopenharmony_ci      <opt>h10</opt>
8363bf215546Sopenharmony_ci      <opt>h01</opt>
8364bf215546Sopenharmony_ci      <opt>h11</opt>
8365bf215546Sopenharmony_ci    </mod>
8366bf215546Sopenharmony_ci  </ins>
8367bf215546Sopenharmony_ci
8368bf215546Sopenharmony_ci  <ins name="*FCLAMP.f32" pseudo="true">
8369bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
8370bf215546Sopenharmony_ci    <mod name="clamp" start="15" size="2">
8371bf215546Sopenharmony_ci      <opt>none</opt>
8372bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
8373bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
8374bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
8375bf215546Sopenharmony_ci    </mod>
8376bf215546Sopenharmony_ci  </ins>
8377bf215546Sopenharmony_ci
8378bf215546Sopenharmony_ci  <ins name="*FCLAMP.v2f16" pseudo="true">
8379bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
8380bf215546Sopenharmony_ci    <mod name="clamp" start="15" size="2">
8381bf215546Sopenharmony_ci      <opt>none</opt>
8382bf215546Sopenharmony_ci      <opt>clamp_0_inf</opt>
8383bf215546Sopenharmony_ci      <opt>clamp_m1_1</opt>
8384bf215546Sopenharmony_ci      <opt>clamp_0_1</opt>
8385bf215546Sopenharmony_ci    </mod>
8386bf215546Sopenharmony_ci  </ins>
8387bf215546Sopenharmony_ci
8388bf215546Sopenharmony_ci  <ins name="+DISCARD.b32" pseudo="true" dests="0">
8389bf215546Sopenharmony_ci    <src start="0"/>
8390bf215546Sopenharmony_ci    <mod name="widen0" size="2">
8391bf215546Sopenharmony_ci      <opt>none</opt>
8392bf215546Sopenharmony_ci      <opt>h0</opt>
8393bf215546Sopenharmony_ci      <opt>h1</opt>
8394bf215546Sopenharmony_ci    </mod>
8395bf215546Sopenharmony_ci  </ins>
8396bf215546Sopenharmony_ci
8397bf215546Sopenharmony_ci  <ins name="+TEX_SINGLE" staging="rw=sr_count" message="tex" pseudo="true">
8398bf215546Sopenharmony_ci    <src start="0"/>
8399bf215546Sopenharmony_ci    <src start="1"/>
8400bf215546Sopenharmony_ci    <immediate name="sr_count" size="4" pseudo="true"/>
8401bf215546Sopenharmony_ci    <mod name="texel_offset" start="9" size="1" opt="texel_offset"/>
8402bf215546Sopenharmony_ci    <mod name="skip" start="9" size="1" opt="skip"/>
8403bf215546Sopenharmony_ci    <mod name="shadow" start="9" size="1" opt="shadow"/>
8404bf215546Sopenharmony_ci    <mod name="array_enable" start="9" size="1" opt="array_enable"/>
8405bf215546Sopenharmony_ci    <mod name="dimension" start="9" size="2">
8406bf215546Sopenharmony_ci      <opt>1d</opt>
8407bf215546Sopenharmony_ci      <opt>2d</opt>
8408bf215546Sopenharmony_ci      <opt>3d</opt>
8409bf215546Sopenharmony_ci      <opt>cube</opt>
8410bf215546Sopenharmony_ci    </mod>
8411bf215546Sopenharmony_ci    <mod name="write_mask" start="9" size="4">
8412bf215546Sopenharmony_ci      <opt>none</opt>
8413bf215546Sopenharmony_ci      <opt>r</opt>
8414bf215546Sopenharmony_ci      <opt>g</opt>
8415bf215546Sopenharmony_ci      <opt>rg</opt>
8416bf215546Sopenharmony_ci      <opt>b</opt>
8417bf215546Sopenharmony_ci      <opt>rb</opt>
8418bf215546Sopenharmony_ci      <opt>gb</opt>
8419bf215546Sopenharmony_ci      <opt>rgb</opt>
8420bf215546Sopenharmony_ci      <opt>a</opt>
8421bf215546Sopenharmony_ci      <opt>ra</opt>
8422bf215546Sopenharmony_ci      <opt>ga</opt>
8423bf215546Sopenharmony_ci      <opt>rga</opt>
8424bf215546Sopenharmony_ci      <opt>ba</opt>
8425bf215546Sopenharmony_ci      <opt>rba</opt>
8426bf215546Sopenharmony_ci      <opt>gba</opt>
8427bf215546Sopenharmony_ci      <opt>rgba</opt>
8428bf215546Sopenharmony_ci    </mod>
8429bf215546Sopenharmony_ci    <mod name="va_lod_mode" start="13" size="3" default="zero_lod">
8430bf215546Sopenharmony_ci      <opt>zero_lod</opt>
8431bf215546Sopenharmony_ci      <opt>computed_lod</opt>
8432bf215546Sopenharmony_ci      <opt>explicit</opt>
8433bf215546Sopenharmony_ci      <opt>computed_bias</opt>
8434bf215546Sopenharmony_ci      <opt>grdesc</opt>
8435bf215546Sopenharmony_ci    </mod>
8436bf215546Sopenharmony_ci    <mod name="register_format" size="4">
8437bf215546Sopenharmony_ci      <opt>f16</opt>
8438bf215546Sopenharmony_ci      <opt>f32</opt>
8439bf215546Sopenharmony_ci      <opt>s32</opt>
8440bf215546Sopenharmony_ci      <opt>u32</opt>
8441bf215546Sopenharmony_ci      <opt>s16</opt>
8442bf215546Sopenharmony_ci      <opt>u16</opt>
8443bf215546Sopenharmony_ci    </mod>
8444bf215546Sopenharmony_ci  </ins>
8445bf215546Sopenharmony_ci
8446bf215546Sopenharmony_ci  <ins name="+TEX_FETCH" staging="rw=sr_count" message="tex" pseudo="true">
8447bf215546Sopenharmony_ci    <src start="0"/>
8448bf215546Sopenharmony_ci    <src start="1"/>
8449bf215546Sopenharmony_ci    <immediate name="sr_count" size="4" pseudo="true"/>
8450bf215546Sopenharmony_ci    <mod name="texel_offset" start="9" size="1" opt="texel_offset"/>
8451bf215546Sopenharmony_ci    <mod name="skip" start="9" size="1" opt="skip"/>
8452bf215546Sopenharmony_ci    <mod name="array_enable" start="9" size="1" opt="array_enable"/>
8453bf215546Sopenharmony_ci    <mod name="dimension" start="9" size="2">
8454bf215546Sopenharmony_ci      <opt>1d</opt>
8455bf215546Sopenharmony_ci      <opt>2d</opt>
8456bf215546Sopenharmony_ci      <opt>3d</opt>
8457bf215546Sopenharmony_ci      <opt>cube</opt>
8458bf215546Sopenharmony_ci    </mod>
8459bf215546Sopenharmony_ci    <mod name="write_mask" start="9" size="4">
8460bf215546Sopenharmony_ci      <opt>none</opt>
8461bf215546Sopenharmony_ci      <opt>r</opt>
8462bf215546Sopenharmony_ci      <opt>g</opt>
8463bf215546Sopenharmony_ci      <opt>rg</opt>
8464bf215546Sopenharmony_ci      <opt>b</opt>
8465bf215546Sopenharmony_ci      <opt>rb</opt>
8466bf215546Sopenharmony_ci      <opt>gb</opt>
8467bf215546Sopenharmony_ci      <opt>rgb</opt>
8468bf215546Sopenharmony_ci      <opt>a</opt>
8469bf215546Sopenharmony_ci      <opt>ra</opt>
8470bf215546Sopenharmony_ci      <opt>ga</opt>
8471bf215546Sopenharmony_ci      <opt>rga</opt>
8472bf215546Sopenharmony_ci      <opt>ba</opt>
8473bf215546Sopenharmony_ci      <opt>rba</opt>
8474bf215546Sopenharmony_ci      <opt>gba</opt>
8475bf215546Sopenharmony_ci      <opt>rgba</opt>
8476bf215546Sopenharmony_ci    </mod>
8477bf215546Sopenharmony_ci    <mod name="register_format" size="4">
8478bf215546Sopenharmony_ci      <opt>f16</opt>
8479bf215546Sopenharmony_ci      <opt>f32</opt>
8480bf215546Sopenharmony_ci      <opt>s32</opt>
8481bf215546Sopenharmony_ci      <opt>u32</opt>
8482bf215546Sopenharmony_ci      <opt>s16</opt>
8483bf215546Sopenharmony_ci      <opt>u16</opt>
8484bf215546Sopenharmony_ci    </mod>
8485bf215546Sopenharmony_ci  </ins>
8486bf215546Sopenharmony_ci
8487bf215546Sopenharmony_ci  <ins name="+TEX_GATHER" staging="rw=sr_count" message="tex" pseudo="true">
8488bf215546Sopenharmony_ci    <src start="0"/>
8489bf215546Sopenharmony_ci    <src start="1"/>
8490bf215546Sopenharmony_ci    <immediate name="sr_count" size="4" pseudo="true"/>
8491bf215546Sopenharmony_ci    <mod name="texel_offset" start="9" size="1" opt="texel_offset"/>
8492bf215546Sopenharmony_ci    <mod name="skip" start="9" size="1" opt="skip"/>
8493bf215546Sopenharmony_ci    <mod name="shadow" start="9" size="1" opt="shadow"/>
8494bf215546Sopenharmony_ci    <mod name="array_enable" start="9" size="1" opt="array_enable"/>
8495bf215546Sopenharmony_ci    <mod name="integer_coordinates" start="9" size="1" opt="integer_coordinates"/>
8496bf215546Sopenharmony_ci    <mod name="fetch_component" start="9" size="2">
8497bf215546Sopenharmony_ci      <opt>gather4_r</opt>
8498bf215546Sopenharmony_ci      <opt>gather4_g</opt>
8499bf215546Sopenharmony_ci      <opt>gather4_b</opt>
8500bf215546Sopenharmony_ci      <opt>gather4_a</opt>
8501bf215546Sopenharmony_ci    </mod>
8502bf215546Sopenharmony_ci    <mod name="dimension" start="9" size="2">
8503bf215546Sopenharmony_ci      <opt>1d</opt>
8504bf215546Sopenharmony_ci      <opt>2d</opt>
8505bf215546Sopenharmony_ci      <opt>3d</opt>
8506bf215546Sopenharmony_ci      <opt>cube</opt>
8507bf215546Sopenharmony_ci    </mod>
8508bf215546Sopenharmony_ci    <mod name="write_mask" start="9" size="4">
8509bf215546Sopenharmony_ci      <opt>none</opt>
8510bf215546Sopenharmony_ci      <opt>r</opt>
8511bf215546Sopenharmony_ci      <opt>g</opt>
8512bf215546Sopenharmony_ci      <opt>rg</opt>
8513bf215546Sopenharmony_ci      <opt>b</opt>
8514bf215546Sopenharmony_ci      <opt>rb</opt>
8515bf215546Sopenharmony_ci      <opt>gb</opt>
8516bf215546Sopenharmony_ci      <opt>rgb</opt>
8517bf215546Sopenharmony_ci      <opt>a</opt>
8518bf215546Sopenharmony_ci      <opt>ra</opt>
8519bf215546Sopenharmony_ci      <opt>ga</opt>
8520bf215546Sopenharmony_ci      <opt>rga</opt>
8521bf215546Sopenharmony_ci      <opt>ba</opt>
8522bf215546Sopenharmony_ci      <opt>rba</opt>
8523bf215546Sopenharmony_ci      <opt>gba</opt>
8524bf215546Sopenharmony_ci      <opt>rgba</opt>
8525bf215546Sopenharmony_ci    </mod>
8526bf215546Sopenharmony_ci    <mod name="register_format" size="4">
8527bf215546Sopenharmony_ci      <opt>f16</opt>
8528bf215546Sopenharmony_ci      <opt>f32</opt>
8529bf215546Sopenharmony_ci      <opt>s32</opt>
8530bf215546Sopenharmony_ci      <opt>u32</opt>
8531bf215546Sopenharmony_ci      <opt>s16</opt>
8532bf215546Sopenharmony_ci      <opt>u16</opt>
8533bf215546Sopenharmony_ci    </mod>
8534bf215546Sopenharmony_ci  </ins>
8535bf215546Sopenharmony_ci
8536bf215546Sopenharmony_ci  <ins name="+CUBEFACE2_V9" pseudo="true">
8537bf215546Sopenharmony_ci    <src start="0" mask="0xfb"/>
8538bf215546Sopenharmony_ci    <src start="3" mask="0xfb"/>
8539bf215546Sopenharmony_ci    <src start="6"/>
8540bf215546Sopenharmony_ci    <mod name="neg0" size="1" opt="neg"/>
8541bf215546Sopenharmony_ci    <mod name="neg1" size="1" opt="neg"/>
8542bf215546Sopenharmony_ci    <mod name="neg2" size="1" opt="neg"/>
8543bf215546Sopenharmony_ci  </ins>
8544bf215546Sopenharmony_ci
8545bf215546Sopenharmony_ci  <ins name="+LD_VAR_BUF_IMM.f32" staging="w=format" message="varying" pseudo="true">
8546bf215546Sopenharmony_ci    <src start="0"/>
8547bf215546Sopenharmony_ci    <immediate name="index" start="3" size="5"/>
8548bf215546Sopenharmony_ci    <mod name="vecsize" start="8" size="2">
8549bf215546Sopenharmony_ci      <opt>none</opt>
8550bf215546Sopenharmony_ci      <opt>v2</opt>
8551bf215546Sopenharmony_ci      <opt>v3</opt>
8552bf215546Sopenharmony_ci      <opt>v4</opt>
8553bf215546Sopenharmony_ci    </mod>
8554bf215546Sopenharmony_ci    <mod name="update" size="2">
8555bf215546Sopenharmony_ci      <opt>store</opt>
8556bf215546Sopenharmony_ci      <opt>retrieve</opt>
8557bf215546Sopenharmony_ci      <opt>conditional</opt>
8558bf215546Sopenharmony_ci      <opt>clobber</opt>
8559bf215546Sopenharmony_ci    </mod>
8560bf215546Sopenharmony_ci    <mod name="register_format" size="2">
8561bf215546Sopenharmony_ci      <opt>f32</opt>
8562bf215546Sopenharmony_ci      <opt>f16</opt>
8563bf215546Sopenharmony_ci      <opt>u32</opt>
8564bf215546Sopenharmony_ci      <opt>u16</opt>
8565bf215546Sopenharmony_ci    </mod>
8566bf215546Sopenharmony_ci    <mod name="source_format" size="2">
8567bf215546Sopenharmony_ci      <opt>flat32</opt>
8568bf215546Sopenharmony_ci      <opt>flat16</opt>
8569bf215546Sopenharmony_ci      <opt>f32</opt>
8570bf215546Sopenharmony_ci      <opt>f16</opt>
8571bf215546Sopenharmony_ci    </mod>
8572bf215546Sopenharmony_ci    <mod name="sample" size="3">
8573bf215546Sopenharmony_ci      <opt>center</opt>
8574bf215546Sopenharmony_ci      <opt>centroid</opt>
8575bf215546Sopenharmony_ci      <opt>sample</opt>
8576bf215546Sopenharmony_ci      <opt>explicit</opt>
8577bf215546Sopenharmony_ci      <opt>none</opt>
8578bf215546Sopenharmony_ci    </mod>
8579bf215546Sopenharmony_ci  </ins>
8580bf215546Sopenharmony_ci
8581bf215546Sopenharmony_ci  <ins name="+LD_VAR_BUF.f32" staging="w=format" message="varying" pseudo="true">
8582bf215546Sopenharmony_ci    <src start="0"/>
8583bf215546Sopenharmony_ci    <src start="1"/>
8584bf215546Sopenharmony_ci    <mod name="vecsize" start="8" size="2">
8585bf215546Sopenharmony_ci      <opt>none</opt>
8586bf215546Sopenharmony_ci      <opt>v2</opt>
8587bf215546Sopenharmony_ci      <opt>v3</opt>
8588bf215546Sopenharmony_ci      <opt>v4</opt>
8589bf215546Sopenharmony_ci    </mod>
8590bf215546Sopenharmony_ci    <mod name="update" size="2">
8591bf215546Sopenharmony_ci      <opt>store</opt>
8592bf215546Sopenharmony_ci      <opt>retrieve</opt>
8593bf215546Sopenharmony_ci      <opt>conditional</opt>
8594bf215546Sopenharmony_ci      <opt>clobber</opt>
8595bf215546Sopenharmony_ci    </mod>
8596bf215546Sopenharmony_ci    <mod name="register_format" size="2">
8597bf215546Sopenharmony_ci      <opt>f32</opt>
8598bf215546Sopenharmony_ci      <opt>f16</opt>
8599bf215546Sopenharmony_ci      <opt>u32</opt>
8600bf215546Sopenharmony_ci      <opt>u16</opt>
8601bf215546Sopenharmony_ci    </mod>
8602bf215546Sopenharmony_ci    <mod name="source_format" size="2">
8603bf215546Sopenharmony_ci      <opt>flat32</opt>
8604bf215546Sopenharmony_ci      <opt>flat16</opt>
8605bf215546Sopenharmony_ci      <opt>f32</opt>
8606bf215546Sopenharmony_ci      <opt>f16</opt>
8607bf215546Sopenharmony_ci    </mod>
8608bf215546Sopenharmony_ci    <mod name="sample" size="3">
8609bf215546Sopenharmony_ci      <opt>center</opt>
8610bf215546Sopenharmony_ci      <opt>centroid</opt>
8611bf215546Sopenharmony_ci      <opt>sample</opt>
8612bf215546Sopenharmony_ci      <opt>explicit</opt>
8613bf215546Sopenharmony_ci      <opt>none</opt>
8614bf215546Sopenharmony_ci    </mod>
8615bf215546Sopenharmony_ci  </ins>
8616bf215546Sopenharmony_ci
8617bf215546Sopenharmony_ci  <ins name="+LD_VAR_BUF_IMM.f16" staging="w=format" message="varying" pseudo="true">
8618bf215546Sopenharmony_ci    <src start="0"/>
8619bf215546Sopenharmony_ci    <immediate name="index" start="3" size="5"/>
8620bf215546Sopenharmony_ci    <mod name="vecsize" start="8" size="2">
8621bf215546Sopenharmony_ci      <opt>none</opt>
8622bf215546Sopenharmony_ci      <opt>v2</opt>
8623bf215546Sopenharmony_ci      <opt>v3</opt>
8624bf215546Sopenharmony_ci      <opt>v4</opt>
8625bf215546Sopenharmony_ci    </mod>
8626bf215546Sopenharmony_ci    <mod name="update" size="2">
8627bf215546Sopenharmony_ci      <opt>store</opt>
8628bf215546Sopenharmony_ci      <opt>retrieve</opt>
8629bf215546Sopenharmony_ci      <opt>conditional</opt>
8630bf215546Sopenharmony_ci      <opt>clobber</opt>
8631bf215546Sopenharmony_ci    </mod>
8632bf215546Sopenharmony_ci    <mod name="register_format" size="2">
8633bf215546Sopenharmony_ci      <opt>f32</opt>
8634bf215546Sopenharmony_ci      <opt>f16</opt>
8635bf215546Sopenharmony_ci      <opt>u32</opt>
8636bf215546Sopenharmony_ci      <opt>u16</opt>
8637bf215546Sopenharmony_ci    </mod>
8638bf215546Sopenharmony_ci    <mod name="source_format" size="2">
8639bf215546Sopenharmony_ci      <opt>flat32</opt>
8640bf215546Sopenharmony_ci      <opt>flat16</opt>
8641bf215546Sopenharmony_ci      <opt>f32</opt>
8642bf215546Sopenharmony_ci      <opt>f16</opt>
8643bf215546Sopenharmony_ci    </mod>
8644bf215546Sopenharmony_ci    <mod name="sample" size="3">
8645bf215546Sopenharmony_ci      <opt>center</opt>
8646bf215546Sopenharmony_ci      <opt>centroid</opt>
8647bf215546Sopenharmony_ci      <opt>sample</opt>
8648bf215546Sopenharmony_ci      <opt>explicit</opt>
8649bf215546Sopenharmony_ci      <opt>none</opt>
8650bf215546Sopenharmony_ci    </mod>
8651bf215546Sopenharmony_ci  </ins>
8652bf215546Sopenharmony_ci
8653bf215546Sopenharmony_ci  <ins name="+LD_VAR_BUF.f16" staging="w=format" message="varying" pseudo="true">
8654bf215546Sopenharmony_ci    <src start="0"/>
8655bf215546Sopenharmony_ci    <src start="1"/>
8656bf215546Sopenharmony_ci    <mod name="vecsize" start="8" size="2">
8657bf215546Sopenharmony_ci      <opt>none</opt>
8658bf215546Sopenharmony_ci      <opt>v2</opt>
8659bf215546Sopenharmony_ci      <opt>v3</opt>
8660bf215546Sopenharmony_ci      <opt>v4</opt>
8661bf215546Sopenharmony_ci    </mod>
8662bf215546Sopenharmony_ci    <mod name="update" size="2">
8663bf215546Sopenharmony_ci      <opt>store</opt>
8664bf215546Sopenharmony_ci      <opt>retrieve</opt>
8665bf215546Sopenharmony_ci      <opt>conditional</opt>
8666bf215546Sopenharmony_ci      <opt>clobber</opt>
8667bf215546Sopenharmony_ci    </mod>
8668bf215546Sopenharmony_ci    <mod name="register_format" size="2">
8669bf215546Sopenharmony_ci      <opt>f32</opt>
8670bf215546Sopenharmony_ci      <opt>f16</opt>
8671bf215546Sopenharmony_ci      <opt>u32</opt>
8672bf215546Sopenharmony_ci      <opt>u16</opt>
8673bf215546Sopenharmony_ci    </mod>
8674bf215546Sopenharmony_ci    <mod name="source_format" size="2">
8675bf215546Sopenharmony_ci      <opt>flat32</opt>
8676bf215546Sopenharmony_ci      <opt>flat16</opt>
8677bf215546Sopenharmony_ci      <opt>f32</opt>
8678bf215546Sopenharmony_ci      <opt>f16</opt>
8679bf215546Sopenharmony_ci    </mod>
8680bf215546Sopenharmony_ci    <mod name="sample" size="3">
8681bf215546Sopenharmony_ci      <opt>center</opt>
8682bf215546Sopenharmony_ci      <opt>centroid</opt>
8683bf215546Sopenharmony_ci      <opt>sample</opt>
8684bf215546Sopenharmony_ci      <opt>explicit</opt>
8685bf215546Sopenharmony_ci      <opt>none</opt>
8686bf215546Sopenharmony_ci    </mod>
8687bf215546Sopenharmony_ci  </ins>
8688bf215546Sopenharmony_ci
8689bf215546Sopenharmony_ci  <ins name="+LEA_BUF_IMM" staging="w=2" message="attribute" pseudo="true">
8690bf215546Sopenharmony_ci    <src start="0"/>
8691bf215546Sopenharmony_ci  </ins>
8692bf215546Sopenharmony_ci
8693bf215546Sopenharmony_ci  <ins name="+LD_BUFFER.i128" staging="w=4" pseudo="true" message="load">
8694bf215546Sopenharmony_ci    <src start="0"/>
8695bf215546Sopenharmony_ci    <src start="3"/>
8696bf215546Sopenharmony_ci  </ins>
8697bf215546Sopenharmony_ci
8698bf215546Sopenharmony_ci  <ins name="+LD_BUFFER.i16" staging="w=1" pseudo="true" message="load">
8699bf215546Sopenharmony_ci    <src start="0"/>
8700bf215546Sopenharmony_ci    <src start="3"/>
8701bf215546Sopenharmony_ci    <mod name="lane_dest" size="2" default="h0">
8702bf215546Sopenharmony_ci      <opt>h0</opt>
8703bf215546Sopenharmony_ci      <opt>h1</opt>
8704bf215546Sopenharmony_ci      <opt>w0</opt>
8705bf215546Sopenharmony_ci      <opt>d0</opt>
8706bf215546Sopenharmony_ci    </mod>
8707bf215546Sopenharmony_ci    <mod name="extend" size="2">
8708bf215546Sopenharmony_ci      <opt>none</opt>
8709bf215546Sopenharmony_ci      <opt>sext</opt>
8710bf215546Sopenharmony_ci      <opt>zext</opt>
8711bf215546Sopenharmony_ci    </mod>
8712bf215546Sopenharmony_ci  </ins>
8713bf215546Sopenharmony_ci
8714bf215546Sopenharmony_ci  <ins name="+LD_BUFFER.i24" staging="w=1" pseudo="true" message="load">
8715bf215546Sopenharmony_ci    <src start="0"/>
8716bf215546Sopenharmony_ci    <src start="3"/>
8717bf215546Sopenharmony_ci  </ins>
8718bf215546Sopenharmony_ci
8719bf215546Sopenharmony_ci  <ins name="+LD_BUFFER.i32" staging="w=1" pseudo="true" message="load">
8720bf215546Sopenharmony_ci    <src start="0"/>
8721bf215546Sopenharmony_ci    <src start="3"/>
8722bf215546Sopenharmony_ci    <mod name="lane_dest" size="1" opt="d0"/>
8723bf215546Sopenharmony_ci    <mod name="extend" size="2">
8724bf215546Sopenharmony_ci      <opt>none</opt>
8725bf215546Sopenharmony_ci      <opt>sext</opt>
8726bf215546Sopenharmony_ci      <opt>zext</opt>
8727bf215546Sopenharmony_ci    </mod>
8728bf215546Sopenharmony_ci  </ins>
8729bf215546Sopenharmony_ci
8730bf215546Sopenharmony_ci  <ins name="+LD_BUFFER.i48" staging="w=2" pseudo="true" message="load">
8731bf215546Sopenharmony_ci    <src start="0"/>
8732bf215546Sopenharmony_ci    <src start="3"/>
8733bf215546Sopenharmony_ci  </ins>
8734bf215546Sopenharmony_ci
8735bf215546Sopenharmony_ci  <ins name="+LD_BUFFER.i64" staging="w=2" pseudo="true" message="load">
8736bf215546Sopenharmony_ci    <src start="0"/>
8737bf215546Sopenharmony_ci    <src start="3"/>
8738bf215546Sopenharmony_ci  </ins>
8739bf215546Sopenharmony_ci
8740bf215546Sopenharmony_ci  <ins name="+LD_BUFFER.i8" staging="w=1" pseudo="true" message="load">
8741bf215546Sopenharmony_ci    <src start="0"/>
8742bf215546Sopenharmony_ci    <src start="3"/>
8743bf215546Sopenharmony_ci    <mod name="lane_dest" size="3" default="b0">
8744bf215546Sopenharmony_ci      <opt>b0</opt>
8745bf215546Sopenharmony_ci      <opt>b1</opt>
8746bf215546Sopenharmony_ci      <opt>b2</opt>
8747bf215546Sopenharmony_ci      <opt>b3</opt>
8748bf215546Sopenharmony_ci      <opt>h0</opt>
8749bf215546Sopenharmony_ci      <opt>h1</opt>
8750bf215546Sopenharmony_ci      <opt>w0</opt>
8751bf215546Sopenharmony_ci      <opt>d0</opt>
8752bf215546Sopenharmony_ci    </mod>
8753bf215546Sopenharmony_ci    <mod name="extend" size="2">
8754bf215546Sopenharmony_ci      <opt>none</opt>
8755bf215546Sopenharmony_ci      <opt>sext</opt>
8756bf215546Sopenharmony_ci      <opt>zext</opt>
8757bf215546Sopenharmony_ci    </mod>
8758bf215546Sopenharmony_ci  </ins>
8759bf215546Sopenharmony_ci
8760bf215546Sopenharmony_ci  <ins name="+LD_BUFFER.i96" staging="w=3" pseudo="true" message="load">
8761bf215546Sopenharmony_ci    <src start="0"/>
8762bf215546Sopenharmony_ci    <src start="3"/>
8763bf215546Sopenharmony_ci  </ins>
8764bf215546Sopenharmony_ci
8765bf215546Sopenharmony_ci  <ins name="+BRANCHZI" pseudo="true" last="true" dests="0">
8766bf215546Sopenharmony_ci    <src start="0"/>
8767bf215546Sopenharmony_ci    <src start="6" mask="0xf7"/>
8768bf215546Sopenharmony_ci    <mod name="cmpf" size="1">
8769bf215546Sopenharmony_ci      <opt>eq</opt>
8770bf215546Sopenharmony_ci      <opt>ne</opt>
8771bf215546Sopenharmony_ci    </mod>
8772bf215546Sopenharmony_ci  </ins>
8773bf215546Sopenharmony_ci
8774bf215546Sopenharmony_ci  <ins name="+LD_TEX" pseudo="true" staging="w=format" message="attribute">
8775bf215546Sopenharmony_ci    <src start="0"/>
8776bf215546Sopenharmony_ci    <src start="3"/>
8777bf215546Sopenharmony_ci    <src start="6"/>
8778bf215546Sopenharmony_ci    <mod name="register_format" size="4">
8779bf215546Sopenharmony_ci      <opt>f16</opt>
8780bf215546Sopenharmony_ci      <opt>f32</opt>
8781bf215546Sopenharmony_ci      <opt>s32</opt>
8782bf215546Sopenharmony_ci      <opt>u32</opt>
8783bf215546Sopenharmony_ci      <opt>s16</opt>
8784bf215546Sopenharmony_ci      <opt>u16</opt>
8785bf215546Sopenharmony_ci      <opt>f64</opt>
8786bf215546Sopenharmony_ci      <opt>i64</opt>
8787bf215546Sopenharmony_ci      <opt>auto</opt>
8788bf215546Sopenharmony_ci    </mod>
8789bf215546Sopenharmony_ci    <mod name="vecsize" start="11" size="2">
8790bf215546Sopenharmony_ci      <opt>none</opt>
8791bf215546Sopenharmony_ci      <opt>v2</opt>
8792bf215546Sopenharmony_ci      <opt>v3</opt>
8793bf215546Sopenharmony_ci      <opt>v4</opt>
8794bf215546Sopenharmony_ci    </mod>
8795bf215546Sopenharmony_ci  </ins>
8796bf215546Sopenharmony_ci
8797bf215546Sopenharmony_ci  <ins name="+LD_TEX_IMM" pseudo="true" staging="w=format" message="attribute">
8798bf215546Sopenharmony_ci    <src start="0"/>
8799bf215546Sopenharmony_ci    <src start="3"/>
8800bf215546Sopenharmony_ci    <immediate name="texture_index" start="6" size="4"/>
8801bf215546Sopenharmony_ci    <mod name="register_format" size="4">
8802bf215546Sopenharmony_ci      <opt>f16</opt>
8803bf215546Sopenharmony_ci      <opt>f32</opt>
8804bf215546Sopenharmony_ci      <opt>s32</opt>
8805bf215546Sopenharmony_ci      <opt>u32</opt>
8806bf215546Sopenharmony_ci      <opt>s16</opt>
8807bf215546Sopenharmony_ci      <opt>u16</opt>
8808bf215546Sopenharmony_ci      <opt>f64</opt>
8809bf215546Sopenharmony_ci      <opt>i64</opt>
8810bf215546Sopenharmony_ci      <opt>auto</opt>
8811bf215546Sopenharmony_ci    </mod>
8812bf215546Sopenharmony_ci    <mod name="vecsize" start="11" size="2">
8813bf215546Sopenharmony_ci      <opt>none</opt>
8814bf215546Sopenharmony_ci      <opt>v2</opt>
8815bf215546Sopenharmony_ci      <opt>v3</opt>
8816bf215546Sopenharmony_ci      <opt>v4</opt>
8817bf215546Sopenharmony_ci    </mod>
8818bf215546Sopenharmony_ci  </ins>
8819bf215546Sopenharmony_ci
8820bf215546Sopenharmony_ci  <ins name="*MKVEC.v2i8" pseudo="true">
8821bf215546Sopenharmony_ci    <src start="0"/>
8822bf215546Sopenharmony_ci    <src start="3"/>
8823bf215546Sopenharmony_ci    <src start="6"/>
8824bf215546Sopenharmony_ci    <mod name="lane0" start="12" size="2" default="b0">
8825bf215546Sopenharmony_ci      <opt>b0</opt>
8826bf215546Sopenharmony_ci      <opt>b1</opt>
8827bf215546Sopenharmony_ci      <opt>b2</opt>
8828bf215546Sopenharmony_ci      <opt>b3</opt>
8829bf215546Sopenharmony_ci    </mod>
8830bf215546Sopenharmony_ci    <mod name="lane1" start="13" size="2" default="b0">
8831bf215546Sopenharmony_ci      <opt>b0</opt>
8832bf215546Sopenharmony_ci      <opt>b1</opt>
8833bf215546Sopenharmony_ci      <opt>b2</opt>
8834bf215546Sopenharmony_ci      <opt>b3</opt>
8835bf215546Sopenharmony_ci    </mod>
8836bf215546Sopenharmony_ci  </ins>
8837bf215546Sopenharmony_ci
8838bf215546Sopenharmony_ci  <ins name="+COLLECT.i32" pseudo="true"/>
8839bf215546Sopenharmony_ci
8840bf215546Sopenharmony_ci  <ins name="+SPLIT.i32" pseudo="true">
8841bf215546Sopenharmony_ci    <src start="0"/>
8842bf215546Sopenharmony_ci  </ins>
8843bf215546Sopenharmony_ci
8844bf215546Sopenharmony_ci</bifrost>
8845