Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/panfrost/bifrost/ISA.xml
4564 views
1
<!--
2
Copyright (C) 2020 Collabora Ltd.
3
4
Permission is hereby granted, free of charge, to any person obtaining a
5
copy of this software and associated documentation files (the "Software"),
6
to deal in the Software without restriction, including without limitation
7
the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
and/or sell copies of the Software, and to permit persons to whom the
9
Software is furnished to do so, subject to the following conditions:
10
11
The above copyright notice and this permission notice (including the next
12
paragraph) shall be included in all copies or substantial portions of the
13
Software.
14
15
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
SOFTWARE.
22
-->
23
24
<bifrost>
25
26
<ins name="*ARSHIFT.i32" mask="0x7ff838" exact="0x335018">
27
<src start="0" mask="0xfb"/>
28
<src start="3" mask="0x8"/>
29
<src start="6"/>
30
<mod name="lane2" start="9" size="2" default="b0">
31
<opt>b0</opt>
32
<opt>b1</opt>
33
<opt>b2</opt>
34
<opt>b3</opt>
35
</mod>
36
</ins>
37
38
<ins name="*ARSHIFT.v2i16">
39
<src start="0" mask="0xfb"/>
40
<src start="3" mask="0x8"/>
41
<src start="6"/>
42
<mod name="lanes2" size="3" default="b02">
43
<opt>b00</opt>
44
<opt>b11</opt>
45
<opt>b22</opt>
46
<opt>b33</opt>
47
<opt>b01</opt>
48
<opt>b23</opt>
49
<opt>b02</opt>
50
</mod>
51
<encoding mask="0x7ff838" exact="0x334818">
52
<or>
53
<eq left="lanes2" right="#b00"/>
54
<eq left="lanes2" right="#b11"/>
55
<eq left="lanes2" right="#b22"/>
56
<eq left="lanes2" right="#b33"/>
57
</or>
58
<derived start="9" size="2">
59
<eq left="lanes2" right="#b00"/>
60
<eq left="lanes2" right="#b11"/>
61
<eq left="lanes2" right="#b22"/>
62
<eq left="lanes2" right="#b33"/>
63
</derived>
64
</encoding>
65
<encoding mask="0x7ff838" exact="0x335818">
66
<or>
67
<eq left="lanes2" right="#b01"/>
68
<eq left="lanes2" right="#b23"/>
69
<eq left="lanes2" right="#b02"/>
70
</or>
71
<derived start="9" size="2">
72
<reserved/>
73
<eq left="lanes2" right="#b01"/>
74
<eq left="lanes2" right="#b23"/>
75
<eq left="lanes2" right="#b02"/>
76
</derived>
77
</encoding>
78
</ins>
79
80
<ins name="*ARSHIFT.v4i8">
81
<src start="0" mask="0xfb"/>
82
<src start="3" mask="0x8"/>
83
<src start="6"/>
84
<mod name="lanes2" size="3" default="b0123">
85
<opt>b0123</opt>
86
<opt>b0000</opt>
87
<opt>b1111</opt>
88
<opt>b2222</opt>
89
<opt>b3333</opt>
90
</mod>
91
<encoding mask="0x7ff838" exact="0x334018">
92
<neq left="lanes2" right="#b0123"/>
93
<derived start="9" size="2">
94
<eq left="lanes2" right="#b0000"/>
95
<eq left="lanes2" right="#b1111"/>
96
<eq left="lanes2" right="#b2222"/>
97
<eq left="lanes2" right="#b3333"/>
98
</derived>
99
</encoding>
100
<encoding mask="0x7ffe38" exact="0x335818">
101
<eq left="lanes2" right="#b0123"/>
102
</encoding>
103
</ins>
104
105
<ins name="*ARSHIFT_DOUBLE.i32" mask="0x7ff000" exact="0x33e000">
106
<src start="0" mask="0xfb"/>
107
<src start="3" mask="0xfb"/>
108
<src start="6"/>
109
<mod name="bytes2" start="9" size="1" opt="bytes2"/>
110
<mod name="lane2" start="10" size="1" default="b0">
111
<opt>b0</opt>
112
<opt>b2</opt>
113
</mod>
114
<mod name="result_word" start="11" size="1" default="w0">
115
<opt>w0</opt>
116
<opt>w1</opt>
117
</mod>
118
</ins>
119
120
<ins name="*ATOM_C.i32" mask="0x7fe000" exact="0x2f4000" last="true" dests="0">
121
<src start="0" mask="0xf3"/>
122
<src start="3" mask="0xf3"/>
123
<src start="6" mask="0xf7"/>
124
<mod name="atom_opc" start="9" size="4">
125
<reserved/>
126
<reserved/>
127
<opt>aadd</opt>
128
<reserved/>
129
<reserved/>
130
<reserved/>
131
<reserved/>
132
<reserved/>
133
<opt>asmin</opt>
134
<opt>asmax</opt>
135
<opt>aumin</opt>
136
<opt>aumax</opt>
137
<opt>aand</opt>
138
<opt>aor</opt>
139
<opt>axor</opt>
140
</mod>
141
</ins>
142
143
<ins name="*ATOM_C.i64" mask="0x7fe000" exact="0x2f0000" last="true" dests="0">
144
<src start="0" mask="0xf3"/>
145
<src start="3" mask="0xf3"/>
146
<src start="6" mask="0xf7"/>
147
<mod name="atom_opc" start="9" size="4">
148
<opt>aaddu</opt>
149
<opt>aadds</opt>
150
<opt>aadd</opt>
151
<reserved/>
152
<reserved/>
153
<reserved/>
154
<reserved/>
155
<reserved/>
156
<opt>asmin</opt>
157
<opt>asmax</opt>
158
<opt>aumin</opt>
159
<opt>aumax</opt>
160
<opt>aand</opt>
161
<opt>aor</opt>
162
<opt>axor</opt>
163
</mod>
164
</ins>
165
166
<ins name="*ATOM_C1.i32" mask="0x7ffe00" exact="0x2f5e00" last="true" dests="0">
167
<src start="0" mask="0xf3"/>
168
<src start="3" mask="0xf3"/>
169
<mod name="atom_opc" start="6" size="3">
170
<opt>ainc</opt>
171
<opt>adec</opt>
172
<opt>aumax1</opt>
173
<opt>asmax1</opt>
174
<opt>aor1</opt>
175
</mod>
176
</ins>
177
178
<ins name="*ATOM_C1.i64" mask="0x7ffe00" exact="0x2f1e00" last="true" dests="0">
179
<src start="0" mask="0xf3"/>
180
<src start="3" mask="0xf3"/>
181
<mod name="atom_opc" start="6" size="3">
182
<opt>ainc</opt>
183
<opt>adec</opt>
184
<opt>aumax1</opt>
185
<opt>asmax1</opt>
186
<opt>aor1</opt>
187
</mod>
188
</ins>
189
190
<ins name="*ATOM_C1_RETURN.i32" mask="0x7ffe00" exact="0x2f7e00" last="true" dests="0">
191
<src start="0" mask="0xf3"/>
192
<src start="3" mask="0xf3"/>
193
<mod name="atom_opc" start="6" size="3">
194
<opt>ainc</opt>
195
<opt>adec</opt>
196
<opt>aumax1</opt>
197
<opt>asmax1</opt>
198
<opt>aor1</opt>
199
</mod>
200
</ins>
201
202
<ins name="*ATOM_C1_RETURN.i64" mask="0x7ffe00" exact="0x2f3e00" last="true" dests="0">
203
<src start="0" mask="0xf3"/>
204
<src start="3" mask="0xf3"/>
205
<mod name="atom_opc" start="6" size="3">
206
<opt>ainc</opt>
207
<opt>adec</opt>
208
<opt>aumax1</opt>
209
<opt>asmax1</opt>
210
<opt>aor1</opt>
211
</mod>
212
</ins>
213
214
<ins name="*ATOM_C_RETURN.i32" mask="0x7fe000" exact="0x2f6000" last="true" dests="0">
215
<src start="0" mask="0xf3"/>
216
<src start="3" mask="0xf3"/>
217
<src start="6" mask="0xf7"/>
218
<mod name="atom_opc" start="9" size="4">
219
<reserved/>
220
<reserved/>
221
<opt>aadd</opt>
222
<reserved/>
223
<reserved/>
224
<reserved/>
225
<reserved/>
226
<reserved/>
227
<opt>asmin</opt>
228
<opt>asmax</opt>
229
<opt>aumin</opt>
230
<opt>aumax</opt>
231
<opt>aand</opt>
232
<opt>aor</opt>
233
<opt>axor</opt>
234
</mod>
235
</ins>
236
237
<ins name="*ATOM_C_RETURN.i64" mask="0x7fe000" exact="0x2f2000" last="true" dests="0">
238
<src start="0" mask="0xf3"/>
239
<src start="3" mask="0xf3"/>
240
<src start="6" mask="0xf7"/>
241
<mod name="atom_opc" start="9" size="4">
242
<opt>aaddu</opt>
243
<opt>aadds</opt>
244
<opt>aadd</opt>
245
<reserved/>
246
<reserved/>
247
<reserved/>
248
<reserved/>
249
<reserved/>
250
<opt>asmin</opt>
251
<opt>asmax</opt>
252
<opt>aumin</opt>
253
<opt>aumax</opt>
254
<opt>aand</opt>
255
<opt>aor</opt>
256
<opt>axor</opt>
257
</mod>
258
</ins>
259
260
<ins name="*ATOM_POST.i32" mask="0x7ffc00" exact="0x6ee400">
261
<src start="0" mask="0xfb"/>
262
<src start="3" mask="0xfb"/>
263
<mod name="atom_opc" start="6" size="4">
264
<reserved/>
265
<reserved/>
266
<opt>aadd</opt>
267
<reserved/>
268
<reserved/>
269
<reserved/>
270
<reserved/>
271
<reserved/>
272
<opt>asmin</opt>
273
<opt>asmax</opt>
274
<opt>aumin</opt>
275
<opt>aumax</opt>
276
<opt>aand</opt>
277
<opt>aor</opt>
278
<opt>axor</opt>
279
</mod>
280
</ins>
281
282
<ins name="*ATOM_POST.i64" mask="0x7ffc00" exact="0x6ee000">
283
<src start="0" mask="0xfb"/>
284
<src start="3" mask="0xfb"/>
285
<mod name="atom_opc" start="6" size="4">
286
<opt>aaddu</opt>
287
<opt>aadds</opt>
288
<opt>aadd</opt>
289
<reserved/>
290
<reserved/>
291
<reserved/>
292
<reserved/>
293
<reserved/>
294
<opt>asmin</opt>
295
<opt>asmax</opt>
296
<opt>aumin</opt>
297
<opt>aumax</opt>
298
<opt>aand</opt>
299
<opt>aor</opt>
300
<opt>axor</opt>
301
</mod>
302
</ins>
303
304
<ins name="*ATOM_PRE.i64" mask="0x7fe000" exact="0x6ec000">
305
<src start="0" mask="0xfb"/>
306
<src start="3" mask="0xfb"/>
307
<src start="6"/>
308
<mod name="atom_opc" start="9" size="4">
309
<opt>aaddu</opt>
310
<opt>aadds</opt>
311
<opt>aadd</opt>
312
<reserved/>
313
<reserved/>
314
<reserved/>
315
<reserved/>
316
<reserved/>
317
<opt>asmin</opt>
318
<opt>asmax</opt>
319
<opt>aumin</opt>
320
<opt>aumax</opt>
321
<opt>aand</opt>
322
<opt>aor</opt>
323
<opt>axor</opt>
324
</mod>
325
</ins>
326
327
<ins name="*BITREV.i32" mask="0x7ffff8" exact="0x701fc0">
328
<src start="0" mask="0xfb"/>
329
</ins>
330
331
<ins name="*CLZ.u32" mask="0x7ffff0" exact="0x701fd0">
332
<src start="0" mask="0xfb"/>
333
<mod name="mask" start="3" size="1" opt="mask"/>
334
</ins>
335
336
<ins name="*CLZ.v2u16" mask="0x7fffc0" exact="0x701ec0">
337
<src start="0" mask="0xfb"/>
338
<mod name="mask" start="3" size="1" opt="mask"/>
339
<mod name="swz0" start="4" size="2" default="h01">
340
<opt>h00</opt>
341
<opt>h10</opt>
342
<opt>h01</opt>
343
<opt>h11</opt>
344
</mod>
345
</ins>
346
347
<ins name="*CLZ.v4u8" mask="0x7ffff0" exact="0x701f90">
348
<src start="0" mask="0xfb"/>
349
<mod name="mask" start="3" size="1" opt="mask"/>
350
</ins>
351
352
<ins name="*CSEL.f32" mask="0x7fc000" exact="0x2e0000">
353
<src start="0" mask="0xfb"/>
354
<src start="3" mask="0xfb"/>
355
<src start="6"/>
356
<src start="9"/>
357
<mod name="cmpf" size="3">
358
<opt>eq</opt>
359
<opt>gt</opt>
360
<opt>ge</opt>
361
<opt>ne</opt>
362
<opt>lt</opt>
363
<opt>le</opt>
364
</mod>
365
<derived start="12" size="2">
366
<eq left="cmpf" right="#eq"/>
367
<eq left="cmpf" right="#gt"/>
368
<eq left="cmpf" right="#ge"/>
369
<reserved/>
370
</derived>
371
<swap left="0" right="1">
372
<or>
373
<eq left="cmpf" right="#lt"/>
374
<eq left="cmpf" right="#le"/>
375
</or>
376
<rewrite name="cmpf">
377
<map from="lt" to="gt"/>
378
<map from="le" to="ge"/>
379
</rewrite>
380
</swap>
381
<swap left="2" right="3">
382
<eq left="cmpf" right="#ne"/>
383
<rewrite name="cmpf">
384
<map from="ne" to="eq"/>
385
</rewrite>
386
</swap>
387
</ins>
388
389
<ins name="*CSEL.i32" mask="0x7f8000" exact="0x2e0000">
390
<src start="0" mask="0xfb"/>
391
<src start="3" mask="0xfb"/>
392
<src start="6"/>
393
<src start="9"/>
394
<mod name="cmpf" size="1">
395
<opt>eq</opt>
396
<opt>ne</opt>
397
</mod>
398
<derived start="12" size="3">
399
<reserved/>
400
<reserved/>
401
<reserved/>
402
<eq left="cmpf" right="#eq"/>
403
<reserved/>
404
<reserved/>
405
<reserved/>
406
<reserved/>
407
</derived>
408
<swap left="2" right="3">
409
<eq left="cmpf" right="#ne"/>
410
<rewrite name="cmpf">
411
<map from="ne" to="eq"/>
412
</rewrite>
413
</swap>
414
</ins>
415
416
<ins name="*CSEL.s32" mask="0x7fe000" exact="0x2e4000">
417
<src start="0" mask="0xfb"/>
418
<src start="3" mask="0xfb"/>
419
<src start="6"/>
420
<src start="9"/>
421
<mod name="cmpf" size="2">
422
<opt>gt</opt>
423
<opt>ge</opt>
424
<opt>lt</opt>
425
<opt>le</opt>
426
</mod>
427
<derived start="12" size="1">
428
<eq left="cmpf" right="#gt"/>
429
<eq left="cmpf" right="#ge"/>
430
</derived>
431
<swap left="0" right="1">
432
<or>
433
<eq left="cmpf" right="#lt"/>
434
<eq left="cmpf" right="#le"/>
435
</or>
436
<rewrite name="cmpf">
437
<map from="lt" to="gt"/>
438
<map from="le" to="ge"/>
439
</rewrite>
440
</swap>
441
</ins>
442
443
<ins name="*CSEL.u32" mask="0x7fe000" exact="0x2e6000">
444
<src start="0" mask="0xfb"/>
445
<src start="3" mask="0xfb"/>
446
<src start="6"/>
447
<src start="9"/>
448
<mod name="cmpf" size="2">
449
<opt>gt</opt>
450
<opt>ge</opt>
451
<opt>lt</opt>
452
<opt>le</opt>
453
</mod>
454
<derived start="12" size="1">
455
<eq left="cmpf" right="#gt"/>
456
<eq left="cmpf" right="#ge"/>
457
</derived>
458
<swap left="0" right="1">
459
<or>
460
<eq left="cmpf" right="#lt"/>
461
<eq left="cmpf" right="#le"/>
462
</or>
463
<rewrite name="cmpf">
464
<map from="lt" to="gt"/>
465
<map from="le" to="ge"/>
466
</rewrite>
467
</swap>
468
</ins>
469
470
<ins name="*CSEL.v2f16" mask="0x7fc000" exact="0x6e0000">
471
<src start="0" mask="0xfb"/>
472
<src start="3" mask="0xfb"/>
473
<src start="6"/>
474
<src start="9"/>
475
<mod name="cmpf" size="3">
476
<opt>eq</opt>
477
<opt>gt</opt>
478
<opt>ge</opt>
479
<opt>ne</opt>
480
<opt>lt</opt>
481
<opt>le</opt>
482
</mod>
483
<derived start="12" size="2">
484
<eq left="cmpf" right="#eq"/>
485
<eq left="cmpf" right="#gt"/>
486
<eq left="cmpf" right="#ge"/>
487
<reserved/>
488
</derived>
489
<swap left="0" right="1">
490
<or>
491
<eq left="cmpf" right="#lt"/>
492
<eq left="cmpf" right="#le"/>
493
</or>
494
<rewrite name="cmpf">
495
<map from="lt" to="gt"/>
496
<map from="le" to="ge"/>
497
</rewrite>
498
</swap>
499
<swap left="2" right="3">
500
<eq left="cmpf" right="#ne"/>
501
<rewrite name="cmpf">
502
<map from="ne" to="eq"/>
503
</rewrite>
504
</swap>
505
</ins>
506
507
<ins name="*CSEL.v2i16" mask="0x7f8000" exact="0x6e0000">
508
<src start="0" mask="0xfb"/>
509
<src start="3" mask="0xfb"/>
510
<src start="6"/>
511
<src start="9"/>
512
<mod name="cmpf" size="1">
513
<opt>eq</opt>
514
<opt>ne</opt>
515
</mod>
516
<derived start="12" size="3">
517
<reserved/>
518
<reserved/>
519
<reserved/>
520
<eq left="cmpf" right="#eq"/>
521
<reserved/>
522
<reserved/>
523
<reserved/>
524
<reserved/>
525
</derived>
526
<swap left="2" right="3">
527
<eq left="cmpf" right="#ne"/>
528
<rewrite name="cmpf">
529
<map from="ne" to="eq"/>
530
</rewrite>
531
</swap>
532
</ins>
533
534
<ins name="*CSEL.v2s16" mask="0x7fe000" exact="0x6e4000">
535
<src start="0" mask="0xfb"/>
536
<src start="3" mask="0xfb"/>
537
<src start="6"/>
538
<src start="9"/>
539
<mod name="cmpf" size="2">
540
<opt>gt</opt>
541
<opt>ge</opt>
542
<opt>lt</opt>
543
<opt>le</opt>
544
</mod>
545
<derived start="12" size="1">
546
<eq left="cmpf" right="#gt"/>
547
<eq left="cmpf" right="#ge"/>
548
</derived>
549
<swap left="0" right="1">
550
<or>
551
<eq left="cmpf" right="#lt"/>
552
<eq left="cmpf" right="#le"/>
553
</or>
554
<rewrite name="cmpf">
555
<map from="lt" to="gt"/>
556
<map from="le" to="ge"/>
557
</rewrite>
558
</swap>
559
</ins>
560
561
<ins name="*CSEL.v2u16" mask="0x7fe000" exact="0x6e6000">
562
<src start="0" mask="0xfb"/>
563
<src start="3" mask="0xfb"/>
564
<src start="6"/>
565
<src start="9"/>
566
<mod name="cmpf" size="2">
567
<opt>gt</opt>
568
<opt>ge</opt>
569
<opt>lt</opt>
570
<opt>le</opt>
571
</mod>
572
<derived start="12" size="1">
573
<eq left="cmpf" right="#gt"/>
574
<eq left="cmpf" right="#ge"/>
575
</derived>
576
<swap left="0" right="1">
577
<or>
578
<eq left="cmpf" right="#lt"/>
579
<eq left="cmpf" right="#le"/>
580
</or>
581
<rewrite name="cmpf">
582
<map from="lt" to="gt"/>
583
<map from="le" to="ge"/>
584
</rewrite>
585
</swap>
586
</ins>
587
588
<ins name="*CUBEFACE1" mask="0x7ffc00" exact="0x706800">
589
<src start="0" mask="0xfb"/>
590
<src start="3" mask="0xfb"/>
591
<src start="6"/>
592
<mod name="neg0" size="1" opt="neg"/>
593
<mod name="neg1" size="1" opt="neg"/>
594
<mod name="neg2" size="1" opt="neg"/>
595
<derived start="9" size="1">
596
<and>
597
<eq left="neg0" right="#none"/>
598
<eq left="neg1" right="#none"/>
599
<eq left="neg2" right="#none"/>
600
</and>
601
<and>
602
<eq left="neg0" right="#neg"/>
603
<eq left="neg1" right="#neg"/>
604
<eq left="neg2" right="#neg"/>
605
</and>
606
</derived>
607
</ins>
608
609
<ins name="*DTSEL_IMM" mask="0x7fffe0" exact="0x70f3e0">
610
<src start="0" mask="0xfb"/>
611
<mod name="table" start="3" size="2">
612
<opt>attribute_1</opt>
613
<opt>attribute_2</opt>
614
<opt>none</opt> <!-- actually reserved, used as sentinel -->
615
<opt>flat</opt>
616
</mod>
617
</ins>
618
619
<ins name="*F16_TO_F32" mask="0x7ffff0" exact="0x700d10">
620
<src start="0" mask="0xfb"/>
621
<mod name="lane0" start="3" size="1" default="h0">
622
<opt>h0</opt>
623
<opt>h1</opt>
624
</mod>
625
</ins>
626
627
<ins name="*FADD.f32" mask="0x7e0000" exact="0x2c0000">
628
<src start="0" mask="0xfb"/>
629
<src start="3" mask="0xfb"/>
630
<mod name="abs1" start="6" size="1" opt="abs"/>
631
<mod name="neg0" start="7" size="1" opt="neg"/>
632
<mod name="neg1" start="8" size="1" opt="neg"/>
633
<mod name="abs0" start="12" size="1" opt="abs"/>
634
<mod name="round" start="13" size="2">
635
<opt>none</opt>
636
<opt>rtp</opt>
637
<opt>rtn</opt>
638
<opt>rtz</opt>
639
</mod>
640
<mod name="clamp" start="15" size="2">
641
<opt>none</opt>
642
<opt>clamp_0_inf</opt>
643
<opt>clamp_m1_1</opt>
644
<opt>clamp_0_1</opt>
645
</mod>
646
<mod name="widen0" size="2">
647
<opt>none</opt>
648
<opt>h0</opt>
649
<opt>h1</opt>
650
</mod>
651
<mod name="widen1" size="2">
652
<opt>none</opt>
653
<opt>h0</opt>
654
<opt>h1</opt>
655
</mod>
656
<derived start="9" size="3">
657
<and>
658
<eq left="widen0" right="#none"/>
659
<eq left="widen1" right="#none"/>
660
</and>
661
<and>
662
<eq left="widen0" right="#none"/>
663
<eq left="widen1" right="#h0"/>
664
</and>
665
<and>
666
<eq left="widen0" right="#none"/>
667
<eq left="widen1" right="#h1"/>
668
</and>
669
<and>
670
<eq left="widen0" right="#h0"/>
671
<eq left="widen1" right="#h0"/>
672
</and>
673
<and>
674
<eq left="widen0" right="#h0"/>
675
<eq left="widen1" right="#h1"/>
676
</and>
677
<and>
678
<eq left="widen0" right="#h1"/>
679
<eq left="widen1" right="#h1"/>
680
</and>
681
<and>
682
<eq left="widen0" right="#h0"/>
683
<eq left="widen1" right="#none"/>
684
</and>
685
<and>
686
<eq left="widen0" right="#h1"/>
687
<eq left="widen1" right="#none"/>
688
</and>
689
</derived>
690
<swap left="0" right="1">
691
<and>
692
<eq left="widen0" right="#h1"/>
693
<eq left="widen1" right="#h0"/>
694
</and>
695
</swap>
696
</ins>
697
698
<ins name="*FADD.v2f16" mask="0x7e0000" exact="0x6c0000">
699
<src start="0" mask="0xfb"/>
700
<src start="3" mask="0xfb"/>
701
<mod name="abs0" size="1" opt="abs"/>
702
<mod name="abs1" size="1" opt="abs"/>
703
<mod name="neg0" start="7" size="1" opt="neg"/>
704
<mod name="neg1" start="8" size="1" opt="neg"/>
705
<mod name="swz0" start="9" size="2" default="h01">
706
<opt>h00</opt>
707
<opt>h10</opt>
708
<opt>h01</opt>
709
<opt>h11</opt>
710
</mod>
711
<mod name="swz1" start="11" size="2" default="h01">
712
<opt>h00</opt>
713
<opt>h10</opt>
714
<opt>h01</opt>
715
<opt>h11</opt>
716
</mod>
717
<mod name="round" start="13" size="2">
718
<opt>none</opt>
719
<opt>rtp</opt>
720
<opt>rtn</opt>
721
<opt>rtz</opt>
722
</mod>
723
<mod name="clamp" start="15" size="2">
724
<opt>none</opt>
725
<opt>clamp_0_inf</opt>
726
<opt>clamp_m1_1</opt>
727
<opt>clamp_0_1</opt>
728
</mod>
729
<derived start="6" size="1">
730
<or>
731
<and>
732
<eq left="abs0" right="#abs"/>
733
<eq left="abs1" right="#none"/>
734
<eq left="ordering" right="#gt"/>
735
</and>
736
<and>
737
<eq left="abs0" right="#none"/>
738
<eq left="abs1" right="#none"/>
739
<neq left="ordering" right="#gt"/>
740
</and>
741
</or>
742
<or>
743
<and>
744
<eq left="abs0" right="#abs"/>
745
<eq left="abs1" right="#abs"/>
746
<eq left="ordering" right="#gt"/>
747
</and>
748
<and>
749
<eq left="abs0" right="#abs"/>
750
<eq left="abs1" right="#none"/>
751
<neq left="ordering" right="#gt"/>
752
</and>
753
</or>
754
</derived>
755
<swap left="0" right="1">
756
<or>
757
<and>
758
<eq left="abs0" right="#none"/>
759
<eq left="ordering" right="#gt"/>
760
</and>
761
<and>
762
<eq left="abs1" right="#abs"/>
763
<neq left="ordering" right="#gt"/>
764
</and>
765
</or>
766
</swap>
767
</ins>
768
769
<ins name="*FADD_LSCALE.f32" mask="0x7ffc00" exact="0x70f400">
770
<src start="0" mask="0xfb"/>
771
<src start="3" mask="0xfb"/>
772
<mod name="abs0" start="6" size="1" opt="abs"/>
773
<mod name="neg0" start="7" size="1" opt="neg"/>
774
<mod name="abs1" start="8" size="1" opt="abs"/>
775
<mod name="neg1" start="9" size="1" opt="neg"/>
776
</ins>
777
778
<ins name="*FCMP.f32" mask="0x7c0000" exact="0x240000">
779
<src start="0" mask="0xfb"/>
780
<src start="3" mask="0xfb"/>
781
<mod name="widen0" size="2">
782
<opt>none</opt>
783
<opt>h0</opt>
784
<opt>h1</opt>
785
</mod>
786
<mod name="widen1" size="2">
787
<opt>none</opt>
788
<opt>h0</opt>
789
<opt>h1</opt>
790
</mod>
791
<mod name="abs1" start="6" size="1" opt="abs"/>
792
<mod name="neg0" start="7" size="1" opt="neg"/>
793
<mod name="neg1" start="8" size="1" opt="neg"/>
794
<mod name="abs0" start="12" size="1" opt="abs"/>
795
<mod name="cmpf" start="13" size="3">
796
<opt>eq</opt>
797
<opt>gt</opt>
798
<opt>ge</opt>
799
<opt>ne</opt>
800
<opt>lt</opt>
801
<opt>le</opt>
802
<opt>gtlt</opt>
803
<opt>total</opt>
804
</mod>
805
<mod name="result_type" start="16" size="2" default="i1">
806
<opt>i1</opt>
807
<opt>f1</opt>
808
<opt>m1</opt>
809
</mod>
810
<derived start="9" size="3">
811
<and>
812
<eq left="widen0" right="#none"/>
813
<eq left="widen1" right="#none"/>
814
</and>
815
<and>
816
<eq left="widen0" right="#none"/>
817
<eq left="widen1" right="#h0"/>
818
</and>
819
<and>
820
<eq left="widen0" right="#none"/>
821
<eq left="widen1" right="#h1"/>
822
</and>
823
<and>
824
<eq left="widen0" right="#h0"/>
825
<eq left="widen1" right="#h0"/>
826
</and>
827
<and>
828
<eq left="widen0" right="#h0"/>
829
<eq left="widen1" right="#h1"/>
830
</and>
831
<and>
832
<eq left="widen0" right="#h1"/>
833
<eq left="widen1" right="#h1"/>
834
</and>
835
<and>
836
<eq left="widen0" right="#h0"/>
837
<eq left="widen1" right="#none"/>
838
</and>
839
<and>
840
<eq left="widen0" right="#h1"/>
841
<eq left="widen1" right="#none"/>
842
</and>
843
</derived>
844
<swap left="0" right="1">
845
<and>
846
<eq left="widen0" right="#h1"/>
847
<eq left="widen1" right="#h0"/>
848
</and>
849
<rewrite name="cmpf">
850
<map from="lt" to="gt"/>
851
<map from="le" to="ge"/>
852
<map from="gt" to="lt"/>
853
<map from="ge" to="le"/>
854
</rewrite>
855
</swap>
856
</ins>
857
858
<ins name="*FCMP.v2f16" mask="0x7c0000" exact="0x640000">
859
<src start="0" mask="0xfb"/>
860
<src start="3" mask="0xfb"/>
861
<mod name="abs0" size="1" opt="abs"/>
862
<mod name="abs1" size="1" opt="abs"/>
863
<mod name="cmpf" size="3">
864
<opt>eq</opt>
865
<opt>gt</opt>
866
<opt>ge</opt>
867
<opt>ne</opt>
868
<opt>lt</opt>
869
<opt>le</opt>
870
<opt>gtlt</opt>
871
<opt>total</opt>
872
</mod>
873
<mod name="neg0" start="7" size="1" opt="neg"/>
874
<mod name="neg1" start="8" size="1" opt="neg"/>
875
<mod name="swz0" start="9" size="2" default="h01">
876
<opt>h00</opt>
877
<opt>h10</opt>
878
<opt>h01</opt>
879
<opt>h11</opt>
880
</mod>
881
<mod name="swz1" start="11" size="2" default="h01">
882
<opt>h00</opt>
883
<opt>h10</opt>
884
<opt>h01</opt>
885
<opt>h11</opt>
886
</mod>
887
<mod name="result_type" start="16" size="2" default="i1">
888
<opt>i1</opt>
889
<opt>f1</opt>
890
<opt>m1</opt>
891
</mod>
892
<derived start="6" size="1">
893
<or>
894
<and>
895
<eq left="abs0" right="#abs"/>
896
<eq left="abs1" right="#none"/>
897
<eq left="ordering" right="#gt"/>
898
</and>
899
<and>
900
<eq left="abs0" right="#none"/>
901
<eq left="abs1" right="#none"/>
902
<neq left="ordering" right="#gt"/>
903
</and>
904
</or>
905
<or>
906
<and>
907
<eq left="abs0" right="#abs"/>
908
<eq left="abs1" right="#abs"/>
909
<eq left="ordering" right="#gt"/>
910
</and>
911
<and>
912
<eq left="abs0" right="#abs"/>
913
<eq left="abs1" right="#none"/>
914
<neq left="ordering" right="#gt"/>
915
</and>
916
</or>
917
</derived>
918
<derived start="13" size="3">
919
<eq left="cmpf" right="#eq"/>
920
<eq left="cmpf" right="#gt"/>
921
<eq left="cmpf" right="#ge"/>
922
<eq left="cmpf" right="#ne"/>
923
<eq left="cmpf" right="#lt"/>
924
<eq left="cmpf" right="#le"/>
925
<eq left="cmpf" right="#gtlt"/>
926
<and>
927
<eq left="cmpf" right="#total"/>
928
<eq left="abs0" right="#none"/>
929
<eq left="abs1" right="#none"/>
930
</and>
931
</derived>
932
<swap left="0" right="1">
933
<or>
934
<and>
935
<eq left="abs0" right="#none"/>
936
<eq left="ordering" right="#gt"/>
937
</and>
938
<and>
939
<eq left="abs1" right="#abs"/>
940
<neq left="ordering" right="#gt"/>
941
</and>
942
</or>
943
<rewrite name="cmpf">
944
<map from="lt" to="gt"/>
945
<map from="le" to="ge"/>
946
<map from="gt" to="lt"/>
947
<map from="ge" to="le"/>
948
</rewrite>
949
</swap>
950
</ins>
951
952
<ins name="*FLSHIFT_DOUBLE.i32" mask="0x7ff800" exact="0x33f800">
953
<src start="0" mask="0xfb"/>
954
<src start="3" mask="0xfb"/>
955
<src start="6"/>
956
<mod name="bytes2" start="9" size="1" opt="bytes2"/>
957
<mod name="lane2" start="10" size="1" default="b0">
958
<opt>b0</opt>
959
<opt>b2</opt>
960
</mod>
961
</ins>
962
963
<ins name="*FMA.f32" mask="0x600000" exact="0x0">
964
<src start="0" mask="0xfb"/>
965
<src start="3" mask="0xfb"/>
966
<src start="6"/>
967
<mod name="widen0" size="2">
968
<opt>none</opt>
969
<opt>h0</opt>
970
<opt>h1</opt>
971
</mod>
972
<mod name="widen1" size="2">
973
<opt>none</opt>
974
<opt>h0</opt>
975
<opt>h1</opt>
976
</mod>
977
<mod name="neg0" size="1" opt="neg"/>
978
<mod name="neg1" size="1" opt="neg"/>
979
<mod name="abs0" start="12" size="1" opt="abs"/>
980
<mod name="round" start="13" size="2">
981
<opt>none</opt>
982
<opt>rtp</opt>
983
<opt>rtn</opt>
984
<opt>rtz</opt>
985
</mod>
986
<mod name="clamp" start="15" size="2">
987
<opt>none</opt>
988
<opt>clamp_0_inf</opt>
989
<opt>clamp_m1_1</opt>
990
<opt>clamp_0_1</opt>
991
</mod>
992
<mod name="abs1" start="19" size="1" opt="abs"/>
993
<mod name="neg2" start="18" size="1" opt="neg"/>
994
<mod name="abs2" start="20" size="1" opt="abs"/>
995
<derived start="9" size="3">
996
<and>
997
<eq left="widen0" right="#none"/>
998
<eq left="widen1" right="#none"/>
999
</and>
1000
<and>
1001
<eq left="widen0" right="#none"/>
1002
<eq left="widen1" right="#h0"/>
1003
</and>
1004
<and>
1005
<eq left="widen0" right="#none"/>
1006
<eq left="widen1" right="#h1"/>
1007
</and>
1008
<and>
1009
<eq left="widen0" right="#h0"/>
1010
<eq left="widen1" right="#h0"/>
1011
</and>
1012
<and>
1013
<eq left="widen0" right="#h0"/>
1014
<eq left="widen1" right="#h1"/>
1015
</and>
1016
<and>
1017
<eq left="widen0" right="#h1"/>
1018
<eq left="widen1" right="#h1"/>
1019
</and>
1020
<and>
1021
<eq left="widen0" right="#h0"/>
1022
<eq left="widen1" right="#none"/>
1023
</and>
1024
<and>
1025
<eq left="widen0" right="#h1"/>
1026
<eq left="widen1" right="#none"/>
1027
</and>
1028
</derived>
1029
<derived start="17" size="1">
1030
<or>
1031
<and>
1032
<eq left="neg0" right="#none"/>
1033
<eq left="neg1" right="#none"/>
1034
</and>
1035
<and alias="true">
1036
<eq left="neg0" right="#neg"/>
1037
<eq left="neg1" right="#neg"/>
1038
</and>
1039
</or>
1040
<or>
1041
<and>
1042
<eq left="neg0" right="#none"/>
1043
<eq left="neg1" right="#neg"/>
1044
</and>
1045
<and alias="true">
1046
<eq left="neg0" right="#neg"/>
1047
<eq left="neg1" right="#none"/>
1048
</and>
1049
</or>
1050
</derived>
1051
<swap left="0" right="1">
1052
<and>
1053
<eq left="widen0" right="#h1"/>
1054
<eq left="widen1" right="#h0"/>
1055
</and>
1056
</swap>
1057
</ins>
1058
1059
<ins name="*FMA.v2f16" mask="0x600000" exact="0x400000">
1060
<src start="0" mask="0xfb"/>
1061
<src start="3" mask="0xfb"/>
1062
<src start="6"/>
1063
<mod name="neg0" size="1" opt="neg"/>
1064
<mod name="neg1" size="1" opt="neg"/>
1065
<mod name="swz0" start="9" size="2" default="h01">
1066
<opt>h00</opt>
1067
<opt>h10</opt>
1068
<opt>h01</opt>
1069
<opt>h11</opt>
1070
</mod>
1071
<mod name="swz1" start="11" size="2" default="h01">
1072
<opt>h00</opt>
1073
<opt>h10</opt>
1074
<opt>h01</opt>
1075
<opt>h11</opt>
1076
</mod>
1077
<mod name="round" start="13" size="2">
1078
<opt>none</opt>
1079
<opt>rtp</opt>
1080
<opt>rtn</opt>
1081
<opt>rtz</opt>
1082
</mod>
1083
<mod name="clamp" start="15" size="2">
1084
<opt>none</opt>
1085
<opt>clamp_0_inf</opt>
1086
<opt>clamp_m1_1</opt>
1087
<opt>clamp_0_1</opt>
1088
</mod>
1089
<mod name="neg2" start="18" size="1" opt="neg"/>
1090
<mod name="swz2" start="19" size="2" default="h01">
1091
<opt>h00</opt>
1092
<opt>h10</opt>
1093
<opt>h01</opt>
1094
<opt>h11</opt>
1095
</mod>
1096
<derived start="17" size="1">
1097
<or>
1098
<and>
1099
<eq left="neg0" right="#none"/>
1100
<eq left="neg1" right="#none"/>
1101
</and>
1102
<and alias="true">
1103
<eq left="neg0" right="#neg"/>
1104
<eq left="neg1" right="#neg"/>
1105
</and>
1106
</or>
1107
<or>
1108
<and>
1109
<eq left="neg0" right="#none"/>
1110
<eq left="neg1" right="#neg"/>
1111
</and>
1112
<and alias="true">
1113
<eq left="neg0" right="#neg"/>
1114
<eq left="neg1" right="#none"/>
1115
</and>
1116
</or>
1117
</derived>
1118
</ins>
1119
1120
<ins name="*FMA_RSCALE.f32" mask="0x7c0000" exact="0x280000">
1121
<src start="0" mask="0xfb"/>
1122
<src start="3" mask="0xfb"/>
1123
<src start="6"/>
1124
<src start="9"/>
1125
<mod name="round" size="1" opt="rtz"/>
1126
<mod name="clamp" size="2">
1127
<opt>none</opt>
1128
<opt>clamp_0_inf</opt>
1129
<opt>clamp_m1_1</opt>
1130
<opt>clamp_0_1</opt>
1131
</mod>
1132
<mod name="neg0" size="1" opt="neg"/>
1133
<mod name="neg1" size="1" opt="neg"/>
1134
<mod name="abs0" start="15" size="1" opt="abs"/>
1135
<mod name="neg2" start="17" size="1" opt="neg"/>
1136
<mod name="special" size="2">
1137
<opt>none</opt>
1138
<opt>n</opt>
1139
<opt>left</opt>
1140
<opt>scale16</opt>
1141
</mod>
1142
<derived start="16" size="1">
1143
<or>
1144
<and>
1145
<eq left="neg0" right="#none"/>
1146
<eq left="neg1" right="#none"/>
1147
</and>
1148
<and alias="true">
1149
<eq left="neg0" right="#neg"/>
1150
<eq left="neg1" right="#neg"/>
1151
</and>
1152
</or>
1153
<or>
1154
<and>
1155
<eq left="neg0" right="#none"/>
1156
<eq left="neg1" right="#neg"/>
1157
</and>
1158
<and alias="true">
1159
<eq left="neg0" right="#neg"/>
1160
<eq left="neg1" right="#none"/>
1161
</and>
1162
</or>
1163
</derived>
1164
<derived start="12" size="3">
1165
<and>
1166
<eq left="clamp" right="#none"/>
1167
<eq left="special" right="#none"/>
1168
<eq left="round" right="#none"/>
1169
</and>
1170
<and>
1171
<eq left="clamp" right="#clamp_0_inf"/>
1172
<eq left="special" right="#none"/>
1173
<eq left="round" right="#none"/>
1174
</and>
1175
<and>
1176
<eq left="clamp" right="#clamp_m1_1"/>
1177
<eq left="special" right="#none"/>
1178
<eq left="round" right="#none"/>
1179
</and>
1180
<and>
1181
<eq left="clamp" right="#clamp_0_1"/>
1182
<eq left="special" right="#none"/>
1183
<eq left="round" right="#none"/>
1184
</and>
1185
<and>
1186
<eq left="clamp" right="#none"/>
1187
<eq left="special" right="#n"/>
1188
<eq left="round" right="#none"/>
1189
</and>
1190
<and>
1191
<eq left="clamp" right="#none"/>
1192
<eq left="special" right="#n"/>
1193
<eq left="round" right="#rtz"/>
1194
</and>
1195
<and>
1196
<eq left="clamp" right="#none"/>
1197
<eq left="special" right="#scale16"/>
1198
<eq left="round" right="#none"/>
1199
</and>
1200
<and>
1201
<eq left="clamp" right="#none"/>
1202
<eq left="special" right="#left"/>
1203
<eq left="round" right="#none"/>
1204
</and>
1205
</derived>
1206
</ins>
1207
1208
<ins name="*FMA_RSCALE.v2f16" mask="0x7c0000" exact="0x680000">
1209
<src start="0" mask="0xfb"/>
1210
<src start="3" mask="0xfb"/>
1211
<src start="6"/>
1212
<src start="9"/>
1213
<mod name="round" size="1" opt="rtz"/>
1214
<mod name="clamp" size="2">
1215
<opt>none</opt>
1216
<opt>clamp_0_inf</opt>
1217
<opt>clamp_m1_1</opt>
1218
<opt>clamp_0_1</opt>
1219
</mod>
1220
<mod name="neg0" size="1" opt="neg"/>
1221
<mod name="neg1" size="1" opt="neg"/>
1222
<mod name="abs0" start="15" size="1" opt="abs"/>
1223
<mod name="neg2" start="17" size="1" opt="neg"/>
1224
<mod name="special" size="2">
1225
<opt>none</opt>
1226
<opt>n</opt>
1227
<opt>left</opt>
1228
</mod>
1229
<derived start="16" size="1">
1230
<or>
1231
<and>
1232
<eq left="neg0" right="#none"/>
1233
<eq left="neg1" right="#none"/>
1234
</and>
1235
<and alias="true">
1236
<eq left="neg0" right="#neg"/>
1237
<eq left="neg1" right="#neg"/>
1238
</and>
1239
</or>
1240
<or>
1241
<and>
1242
<eq left="neg0" right="#none"/>
1243
<eq left="neg1" right="#neg"/>
1244
</and>
1245
<and alias="true">
1246
<eq left="neg0" right="#neg"/>
1247
<eq left="neg1" right="#none"/>
1248
</and>
1249
</or>
1250
</derived>
1251
<derived start="12" size="3">
1252
<and>
1253
<eq left="clamp" right="#none"/>
1254
<eq left="special" right="#none"/>
1255
<eq left="round" right="#none"/>
1256
</and>
1257
<and>
1258
<eq left="clamp" right="#clamp_0_inf"/>
1259
<eq left="special" right="#none"/>
1260
<eq left="round" right="#none"/>
1261
</and>
1262
<and>
1263
<eq left="clamp" right="#clamp_m1_1"/>
1264
<eq left="special" right="#none"/>
1265
<eq left="round" right="#none"/>
1266
</and>
1267
<and>
1268
<eq left="clamp" right="#clamp_0_1"/>
1269
<eq left="special" right="#none"/>
1270
<eq left="round" right="#none"/>
1271
</and>
1272
<and>
1273
<eq left="clamp" right="#none"/>
1274
<eq left="special" right="#n"/>
1275
<eq left="round" right="#none"/>
1276
</and>
1277
<and>
1278
<eq left="clamp" right="#none"/>
1279
<eq left="special" right="#n"/>
1280
<eq left="round" right="#rtz"/>
1281
</and>
1282
<reserved/>
1283
<and>
1284
<eq left="clamp" right="#none"/>
1285
<eq left="special" right="#left"/>
1286
<eq left="round" right="#none"/>
1287
</and>
1288
</derived>
1289
</ins>
1290
1291
<ins name="*FMUL_CSLICE" mask="0x7ffe00" exact="0x70d000">
1292
<src start="0" mask="0xfb"/>
1293
<src start="3" mask="0xfb"/>
1294
<mod name="lane0" start="6" size="1" default="h0">
1295
<opt>h0</opt>
1296
<opt>h1</opt>
1297
</mod>
1298
<mod name="abs0" start="7" size="1" opt="abs"/>
1299
<mod name="neg0" start="8" size="1" opt="neg"/>
1300
</ins>
1301
1302
<ins name="*FMUL_SLICE.f32" mask="0x7fffc0" exact="0x70cb40">
1303
<src start="0" mask="0xfb"/>
1304
<src start="3" mask="0xfb"/>
1305
</ins>
1306
1307
<ins name="*FREXPE.f32">
1308
<src start="0" mask="0xfb"/>
1309
<mod name="neg0" size="1" opt="neg"/>
1310
<mod name="sqrt" size="1" opt="sqrt"/>
1311
<mod name="log" size="1" opt="log"/>
1312
<mod name="widen0" start="3" size="2">
1313
<reserved/>
1314
<opt>none</opt>
1315
<opt>h0</opt>
1316
<opt>h1</opt>
1317
</mod>
1318
<encoding mask="0x7ffea0" exact="0x701c20">
1319
<eq left="log" right="#none"/>
1320
<copy name="neg0" start="6"/>
1321
<copy name="sqrt" start="8"/>
1322
</encoding>
1323
<encoding mask="0x7fffe0" exact="0x701e20">
1324
<and>
1325
<eq left="log" right="#log"/>
1326
<eq left="sqrt" right="#none"/>
1327
<eq left="neg0" right="#none"/>
1328
</and>
1329
</encoding>
1330
</ins>
1331
1332
<ins name="*FREXPE.v2f16">
1333
<src start="0" mask="0xfb"/>
1334
<mod name="neg0" size="1" opt="neg"/>
1335
<mod name="sqrt" size="1" opt="sqrt"/>
1336
<mod name="log" size="1" opt="log"/>
1337
<mod name="swz0" start="3" size="2" default="h01">
1338
<opt>h00</opt>
1339
<opt>h10</opt>
1340
<opt>h01</opt>
1341
<opt>h11</opt>
1342
</mod>
1343
<encoding mask="0x7ffea0" exact="0x701c00">
1344
<eq left="log" right="#none"/>
1345
<copy name="neg0" start="6"/>
1346
<copy name="sqrt" start="8"/>
1347
</encoding>
1348
<encoding mask="0x7fffe0" exact="0x701e00">
1349
<and>
1350
<eq left="log" right="#log"/>
1351
<eq left="sqrt" right="#none"/>
1352
<eq left="neg0" right="#none"/>
1353
</and>
1354
</encoding>
1355
</ins>
1356
1357
<ins name="*FREXPM.f32">
1358
<src start="0" mask="0xfb"/>
1359
<mod name="abs0" start="6" size="1" opt="abs"/>
1360
<mod name="sqrt" size="1" opt="sqrt"/>
1361
<mod name="log" size="1" opt="log"/>
1362
<mod name="widen0" start="3" size="2">
1363
<reserved/>
1364
<opt>none</opt>
1365
<opt>h0</opt>
1366
<opt>h1</opt>
1367
</mod>
1368
<mod name="neg0" size="1" opt="neg"/>
1369
<encoding mask="0x7fff20" exact="0x701b20">
1370
<and>
1371
<eq left="log" right="#none"/>
1372
<eq left="neg0" right="#none"/>
1373
</and>
1374
<copy name="sqrt" start="7"/>
1375
</encoding>
1376
<encoding mask="0x7fff20" exact="0x701a20">
1377
<and>
1378
<eq left="log" right="#log"/>
1379
<eq left="sqrt" right="#none"/>
1380
</and>
1381
<copy name="neg0" start="7"/>
1382
</encoding>
1383
</ins>
1384
1385
<ins name="*FREXPM.v2f16">
1386
<src start="0" mask="0xfb"/>
1387
<mod name="abs0" start="6" size="1" opt="abs"/>
1388
<mod name="sqrt" size="1" opt="sqrt"/>
1389
<mod name="log" size="1" opt="log"/>
1390
<mod name="swz0" start="3" size="2" default="h01">
1391
<opt>h00</opt>
1392
<opt>h10</opt>
1393
<opt>h01</opt>
1394
<opt>h11</opt>
1395
</mod>
1396
<mod name="neg0" size="1" opt="neg"/>
1397
<encoding mask="0x7fff20" exact="0x701b00">
1398
<and>
1399
<eq left="log" right="#none"/>
1400
<eq left="neg0" right="#none"/>
1401
</and>
1402
<copy name="sqrt" start="7"/>
1403
</encoding>
1404
<encoding mask="0x7fff20" exact="0x701a00">
1405
<and>
1406
<eq left="log" right="#log"/>
1407
<eq left="sqrt" right="#none"/>
1408
</and>
1409
<copy name="neg0" start="7"/>
1410
</encoding>
1411
</ins>
1412
1413
<ins name="*FROUND.f32">
1414
<src start="0" mask="0xfb"/>
1415
<mod name="abs0" start="7" size="1" opt="abs"/>
1416
<mod name="neg0" start="8" size="1" opt="neg"/>
1417
<mod name="widen0" start="3" size="2">
1418
<reserved/>
1419
<opt>none</opt>
1420
<opt>h0</opt>
1421
<opt>h1</opt>
1422
</mod>
1423
<mod name="round" size="3">
1424
<opt>none</opt>
1425
<opt>rtp</opt>
1426
<opt>rtn</opt>
1427
<opt>rtz</opt>
1428
<opt>rtna</opt>
1429
</mod>
1430
<encoding mask="0x7ff860" exact="0x70c020">
1431
<neq left="round" right="#rtna"/>
1432
<derived start="9" size="2">
1433
<eq left="round" right="#none"/>
1434
<eq left="round" right="#rtp"/>
1435
<eq left="round" right="#rtn"/>
1436
<eq left="round" right="#rtz"/>
1437
</derived>
1438
</encoding>
1439
<encoding mask="0x7ffe60" exact="0x707620">
1440
<eq left="round" right="#rtna"/>
1441
</encoding>
1442
</ins>
1443
1444
<ins name="*FROUND.v2f16">
1445
<src start="0" mask="0xfb"/>
1446
<mod name="abs0" start="7" size="1" opt="abs"/>
1447
<mod name="neg0" start="8" size="1" opt="neg"/>
1448
<mod name="swz0" start="3" size="2" default="h01">
1449
<opt>h00</opt>
1450
<opt>h10</opt>
1451
<opt>h01</opt>
1452
<opt>h11</opt>
1453
</mod>
1454
<mod name="round" size="3">
1455
<opt>none</opt>
1456
<opt>rtp</opt>
1457
<opt>rtn</opt>
1458
<opt>rtz</opt>
1459
<opt>rtna</opt>
1460
</mod>
1461
<encoding mask="0x7ff860" exact="0x70c000">
1462
<neq left="round" right="#rtna"/>
1463
<derived start="9" size="2">
1464
<eq left="round" right="#none"/>
1465
<eq left="round" right="#rtp"/>
1466
<eq left="round" right="#rtn"/>
1467
<eq left="round" right="#rtz"/>
1468
</derived>
1469
</encoding>
1470
<encoding mask="0x7ffe60" exact="0x707600">
1471
<eq left="round" right="#rtna"/>
1472
</encoding>
1473
</ins>
1474
1475
<ins name="*FRSHIFT_DOUBLE.i32" mask="0x7ff800" exact="0x33f000">
1476
<src start="0" mask="0xfb"/>
1477
<src start="3" mask="0xfb"/>
1478
<src start="6"/>
1479
<mod name="bytes2" start="9" size="1" opt="bytes2"/>
1480
<mod name="lane2" start="10" size="1" default="b0">
1481
<opt>b0</opt>
1482
<opt>b2</opt>
1483
</mod>
1484
</ins>
1485
1486
<ins name="*IADDC.i32" mask="0x7ffe00" exact="0x27fc00">
1487
<src start="0" mask="0xfb"/>
1488
<src start="3" mask="0xfb"/>
1489
<src start="6"/>
1490
</ins>
1491
1492
<ins name="*IDP.v4i8" mask="0x7ff9c0" exact="0x73e8c0">
1493
<src start="0" mask="0xfb"/>
1494
<src start="3" mask="0xfb"/>
1495
<mod name="sign0" start="9" size="1">
1496
<opt>zext</opt>
1497
<opt>sext</opt>
1498
</mod>
1499
<mod name="sign1" start="10" size="1">
1500
<opt>zext</opt>
1501
<opt>sext</opt>
1502
</mod>
1503
</ins>
1504
1505
<ins name="*IMUL.i32">
1506
<src start="0" mask="0xfb"/>
1507
<src start="3" mask="0xfb"/>
1508
<mod name="widen1" size="3">
1509
<opt>none</opt>
1510
<opt>h0</opt>
1511
<opt>h1</opt>
1512
<opt>b0</opt>
1513
<opt>b1</opt>
1514
<opt>b2</opt>
1515
<opt>b3</opt>
1516
</mod>
1517
<mod name="extend" size="2">
1518
<opt>none</opt>
1519
<opt>sext</opt>
1520
<opt>zext</opt>
1521
</mod>
1522
<encoding mask="0x7fffc0" exact="0x73c0c0">
1523
<and>
1524
<eq left="extend" right="#none"/>
1525
<eq left="widen1" right="#none"/>
1526
</and>
1527
</encoding>
1528
<encoding mask="0x7ff9c0" exact="0x73c8c0">
1529
<and>
1530
<neq left="extend" right="#none"/>
1531
<or>
1532
<eq left="widen1" right="#h0"/>
1533
<eq left="widen1" right="#h1"/>
1534
</or>
1535
</and>
1536
<derived start="9" size="1">
1537
<eq left="widen1" right="#h0"/>
1538
<eq left="widen1" right="#h1"/>
1539
</derived>
1540
<derived start="10" size="1">
1541
<eq left="extend" right="#zext"/>
1542
<eq left="extend" right="#sext"/>
1543
</derived>
1544
</encoding>
1545
<encoding mask="0x7ff1c0" exact="0x73b0c0">
1546
<and>
1547
<neq left="extend" right="#none"/>
1548
<or>
1549
<eq left="widen1" right="#b0"/>
1550
<eq left="widen1" right="#b1"/>
1551
<eq left="widen1" right="#b2"/>
1552
<eq left="widen1" right="#b3"/>
1553
</or>
1554
</and>
1555
<derived start="9" size="2">
1556
<eq left="widen1" right="#b0"/>
1557
<eq left="widen1" right="#b1"/>
1558
<eq left="widen1" right="#b2"/>
1559
<eq left="widen1" right="#b3"/>
1560
</derived>
1561
<derived start="11" size="1">
1562
<eq left="extend" right="#zext"/>
1563
<eq left="extend" right="#sext"/>
1564
</derived>
1565
</encoding>
1566
</ins>
1567
1568
<ins name="*IMUL.v2i16" mask="0x7fe1c0" exact="0x7240c0">
1569
<src start="0" mask="0xfb"/>
1570
<src start="3" mask="0xfb"/>
1571
<mod name="swz0" start="9" size="2" default="h01">
1572
<opt>h00</opt>
1573
<opt>h10</opt>
1574
<opt>h01</opt>
1575
<opt>h11</opt>
1576
</mod>
1577
<mod name="swz1" start="11" size="2" default="h01">
1578
<opt>h00</opt>
1579
<opt>h10</opt>
1580
<opt>h01</opt>
1581
<opt>h11</opt>
1582
</mod>
1583
</ins>
1584
1585
<ins name="*IMUL.v4i8">
1586
<src start="0" mask="0xfb"/>
1587
<src start="3" mask="0xfb"/>
1588
<mod name="replicate0" size="3" default="b0123">
1589
<opt>b0123</opt>
1590
</mod>
1591
<mod name="replicate1" size="3" default="b0123">
1592
<opt>b0123</opt>
1593
<opt>b0000</opt>
1594
<opt>b1111</opt>
1595
<opt>b2222</opt>
1596
<opt>b3333</opt>
1597
</mod>
1598
<encoding mask="0x7fffc0" exact="0x73e0c0">
1599
<and>
1600
<eq left="replicate0" right="#b0123"/>
1601
<eq left="replicate1" right="#b0123"/>
1602
</and>
1603
</encoding>
1604
<encoding mask="0x7ff9c0" exact="0x7380c0">
1605
<and>
1606
<eq left="replicate0" right="#b0123"/>
1607
<neq left="replicate1" right="#b0123"/>
1608
</and>
1609
<derived start="9" size="2">
1610
<eq left="replicate1" right="#b0000"/>
1611
<eq left="replicate1" right="#b1111"/>
1612
<eq left="replicate1" right="#b2222"/>
1613
<eq left="replicate1" right="#b3333"/>
1614
</derived>
1615
</encoding>
1616
</ins>
1617
1618
<ins name="*IMULD" mask="0x7fff80" exact="0x70f100">
1619
<src start="0" mask="0x33"/>
1620
<src start="3" mask="0x33"/>
1621
<mod name="threads" start="6" size="1" default="odd">
1622
<opt>even</opt>
1623
<opt>odd</opt>
1624
</mod>
1625
</ins>
1626
1627
<ins name="*ISUBB.i32" mask="0x7ffe00" exact="0x27fe00">
1628
<src start="0" mask="0xfb"/>
1629
<src start="3" mask="0xfb"/>
1630
<src start="6"/>
1631
</ins>
1632
1633
<ins name="*JUMP_EX" mask="0x7ff000" exact="0x2eb000" last="true">
1634
<src start="0" mask="0xfb"/>
1635
<src start="3" mask="0xfb"/>
1636
<src start="6"/>
1637
<mod name="test_mode" start="9" size="1" default="z">
1638
<opt>z</opt>
1639
<opt>nz</opt>
1640
</mod>
1641
<mod name="stack_mode" start="10" size="2">
1642
<opt>return</opt>
1643
<opt>call</opt>
1644
<opt>none</opt>
1645
<opt>replace</opt>
1646
</mod>
1647
</ins>
1648
1649
<ins name="*LROT_DOUBLE.i32" mask="0x7ff000" exact="0x33b000">
1650
<src start="0" mask="0xfb"/>
1651
<src start="3" mask="0xfb"/>
1652
<src start="6"/>
1653
<mod name="bytes2" start="9" size="1" opt="bytes2"/>
1654
<mod name="lane2" start="10" size="1" default="b0">
1655
<opt>b0</opt>
1656
<opt>b2</opt>
1657
</mod>
1658
<mod name="result_word" start="11" size="1" default="w0">
1659
<opt>w0</opt>
1660
<opt>w1</opt>
1661
</mod>
1662
</ins>
1663
1664
<ins name="*LSHIFT_AND.i32" mask="0x7f3800" exact="0x311000">
1665
<src start="0" mask="0xfb"/>
1666
<src start="3" mask="0xfb"/>
1667
<src start="6"/>
1668
<mod name="lane2" start="9" size="2" default="b0">
1669
<opt>b0</opt>
1670
<opt>b1</opt>
1671
<opt>b2</opt>
1672
<opt>b3</opt>
1673
</mod>
1674
<mod name="not1" start="14" size="1" opt="not"/>
1675
<mod name="not_result" start="15" size="1">
1676
<opt>not</opt>
1677
<opt>none</opt>
1678
</mod>
1679
</ins>
1680
1681
<ins name="*LSHIFT_AND.v2i16">
1682
<src start="0" mask="0xfb"/>
1683
<src start="3" mask="0xfb"/>
1684
<src start="6"/>
1685
<mod name="lanes2" size="3" default="b02">
1686
<opt>b00</opt>
1687
<opt>b11</opt>
1688
<opt>b22</opt>
1689
<opt>b33</opt>
1690
<opt>b01</opt>
1691
<opt>b23</opt>
1692
<opt>b02</opt>
1693
</mod>
1694
<mod name="not1" start="14" size="1" opt="not"/>
1695
<mod name="not_result" start="15" size="1">
1696
<opt>not</opt>
1697
<opt>none</opt>
1698
</mod>
1699
<encoding mask="0x7f3800" exact="0x310800">
1700
<or>
1701
<eq left="lanes2" right="#b00"/>
1702
<eq left="lanes2" right="#b11"/>
1703
<eq left="lanes2" right="#b22"/>
1704
<eq left="lanes2" right="#b33"/>
1705
</or>
1706
<derived start="9" size="2">
1707
<eq left="lanes2" right="#b00"/>
1708
<eq left="lanes2" right="#b11"/>
1709
<eq left="lanes2" right="#b22"/>
1710
<eq left="lanes2" right="#b33"/>
1711
</derived>
1712
</encoding>
1713
<encoding mask="0x7f3800" exact="0x311800">
1714
<or>
1715
<eq left="lanes2" right="#b01"/>
1716
<eq left="lanes2" right="#b23"/>
1717
<eq left="lanes2" right="#b02"/>
1718
</or>
1719
<derived start="9" size="2">
1720
<reserved/>
1721
<eq left="lanes2" right="#b01"/>
1722
<eq left="lanes2" right="#b23"/>
1723
<eq left="lanes2" right="#b02"/>
1724
</derived>
1725
</encoding>
1726
</ins>
1727
1728
<ins name="*LSHIFT_AND.v4i8">
1729
<src start="0" mask="0xfb"/>
1730
<src start="3" mask="0xfb"/>
1731
<src start="6"/>
1732
<mod name="lanes2" size="3" default="b0123">
1733
<opt>b0123</opt>
1734
<opt>b0000</opt>
1735
<opt>b1111</opt>
1736
<opt>b2222</opt>
1737
<opt>b3333</opt>
1738
</mod>
1739
<mod name="not1" start="14" size="1" opt="not"/>
1740
<mod name="not_result" start="15" size="1">
1741
<opt>not</opt>
1742
<opt>none</opt>
1743
</mod>
1744
<encoding mask="0x7f3800" exact="0x310000">
1745
<neq left="lanes2" right="#b0123"/>
1746
<derived start="9" size="2">
1747
<eq left="lanes2" right="#b0000"/>
1748
<eq left="lanes2" right="#b1111"/>
1749
<eq left="lanes2" right="#b2222"/>
1750
<eq left="lanes2" right="#b3333"/>
1751
</derived>
1752
</encoding>
1753
<encoding mask="0x7f3e00" exact="0x311800">
1754
<eq left="lanes2" right="#b0123"/>
1755
</encoding>
1756
</ins>
1757
1758
<ins name="*LSHIFT_DOUBLE.i32" mask="0x7ff000" exact="0x33c000">
1759
<src start="0" mask="0xfb"/>
1760
<src start="3" mask="0xfb"/>
1761
<src start="6"/>
1762
<mod name="bytes2" start="9" size="1" opt="bytes2"/>
1763
<mod name="lane2" start="10" size="1" default="b0">
1764
<opt>b0</opt>
1765
<opt>b2</opt>
1766
</mod>
1767
<mod name="result_word" start="11" size="1" default="w0">
1768
<opt>w0</opt>
1769
<opt>w1</opt>
1770
</mod>
1771
</ins>
1772
1773
<ins name="*LSHIFT_OR.i32" mask="0x7f3800" exact="0x313000">
1774
<src start="0" mask="0xfb"/>
1775
<src start="3" mask="0xfb"/>
1776
<src start="6"/>
1777
<mod name="lane2" start="9" size="2" default="b0">
1778
<opt>b0</opt>
1779
<opt>b1</opt>
1780
<opt>b2</opt>
1781
<opt>b3</opt>
1782
</mod>
1783
<mod name="not1" start="14" size="1">
1784
<opt>not</opt>
1785
<opt>none</opt>
1786
</mod>
1787
<mod name="not_result" start="15" size="1" opt="not"/>
1788
</ins>
1789
1790
<ins name="*LSHIFT_OR.v2i16">
1791
<src start="0" mask="0xfb"/>
1792
<src start="3" mask="0xfb"/>
1793
<src start="6"/>
1794
<mod name="lanes2" size="3" default="b02">
1795
<opt>b00</opt>
1796
<opt>b11</opt>
1797
<opt>b22</opt>
1798
<opt>b33</opt>
1799
<opt>b01</opt>
1800
<opt>b23</opt>
1801
<opt>b02</opt>
1802
</mod>
1803
<mod name="not1" start="14" size="1">
1804
<opt>not</opt>
1805
<opt>none</opt>
1806
</mod>
1807
<mod name="not_result" start="15" size="1" opt="not"/>
1808
<encoding mask="0x7f3800" exact="0x312800">
1809
<or>
1810
<eq left="lanes2" right="#b00"/>
1811
<eq left="lanes2" right="#b11"/>
1812
<eq left="lanes2" right="#b22"/>
1813
<eq left="lanes2" right="#b33"/>
1814
</or>
1815
<derived start="9" size="2">
1816
<eq left="lanes2" right="#b00"/>
1817
<eq left="lanes2" right="#b11"/>
1818
<eq left="lanes2" right="#b22"/>
1819
<eq left="lanes2" right="#b33"/>
1820
</derived>
1821
</encoding>
1822
<encoding mask="0x7f3800" exact="0x313800">
1823
<or>
1824
<eq left="lanes2" right="#b01"/>
1825
<eq left="lanes2" right="#b23"/>
1826
<eq left="lanes2" right="#b02"/>
1827
</or>
1828
<derived start="9" size="2">
1829
<reserved/>
1830
<eq left="lanes2" right="#b01"/>
1831
<eq left="lanes2" right="#b23"/>
1832
<eq left="lanes2" right="#b02"/>
1833
</derived>
1834
</encoding>
1835
</ins>
1836
1837
<ins name="*LSHIFT_OR.v4i8">
1838
<src start="0" mask="0xfb"/>
1839
<src start="3" mask="0xfb"/>
1840
<src start="6"/>
1841
<mod name="lanes2" size="3" default="b0123">
1842
<opt>b0123</opt>
1843
<opt>b0000</opt>
1844
<opt>b1111</opt>
1845
<opt>b2222</opt>
1846
<opt>b3333</opt>
1847
</mod>
1848
<mod name="not1" start="14" size="1">
1849
<opt>not</opt>
1850
<opt>none</opt>
1851
</mod>
1852
<mod name="not_result" start="15" size="1" opt="not"/>
1853
<encoding mask="0x7f3800" exact="0x312000">
1854
<neq left="lanes2" right="#b0123"/>
1855
<derived start="9" size="2">
1856
<eq left="lanes2" right="#b0000"/>
1857
<eq left="lanes2" right="#b1111"/>
1858
<eq left="lanes2" right="#b2222"/>
1859
<eq left="lanes2" right="#b3333"/>
1860
</derived>
1861
</encoding>
1862
<encoding mask="0x7f3e00" exact="0x313800">
1863
<eq left="lanes2" right="#b0123"/>
1864
</encoding>
1865
</ins>
1866
1867
<ins name="*LSHIFT_XOR.i32" mask="0x7fd800" exact="0x325000">
1868
<src start="0" mask="0xfb"/>
1869
<src start="3" mask="0xfb"/>
1870
<src start="6"/>
1871
<mod name="lane2" start="9" size="2" default="b0">
1872
<opt>b0</opt>
1873
<opt>b1</opt>
1874
<opt>b2</opt>
1875
<opt>b3</opt>
1876
</mod>
1877
<mod name="not_result" start="13" size="1" opt="not"/>
1878
</ins>
1879
1880
<ins name="*LSHIFT_XOR.v2i16">
1881
<src start="0" mask="0xfb"/>
1882
<src start="3" mask="0xfb"/>
1883
<src start="6"/>
1884
<mod name="lanes2" size="3" default="b02">
1885
<opt>b00</opt>
1886
<opt>b11</opt>
1887
<opt>b22</opt>
1888
<opt>b33</opt>
1889
<opt>b01</opt>
1890
<opt>b23</opt>
1891
<opt>b02</opt>
1892
</mod>
1893
<mod name="not_result" start="13" size="1" opt="not"/>
1894
<encoding mask="0x7fd800" exact="0x324800">
1895
<or>
1896
<eq left="lanes2" right="#b00"/>
1897
<eq left="lanes2" right="#b11"/>
1898
<eq left="lanes2" right="#b22"/>
1899
<eq left="lanes2" right="#b33"/>
1900
</or>
1901
<derived start="9" size="2">
1902
<eq left="lanes2" right="#b00"/>
1903
<eq left="lanes2" right="#b11"/>
1904
<eq left="lanes2" right="#b22"/>
1905
<eq left="lanes2" right="#b33"/>
1906
</derived>
1907
</encoding>
1908
<encoding mask="0x7fd800" exact="0x325800">
1909
<or>
1910
<eq left="lanes2" right="#b01"/>
1911
<eq left="lanes2" right="#b23"/>
1912
<eq left="lanes2" right="#b02"/>
1913
</or>
1914
<derived start="9" size="2">
1915
<reserved/>
1916
<eq left="lanes2" right="#b01"/>
1917
<eq left="lanes2" right="#b23"/>
1918
<eq left="lanes2" right="#b02"/>
1919
</derived>
1920
</encoding>
1921
</ins>
1922
1923
<ins name="*LSHIFT_XOR.v4i8">
1924
<src start="0" mask="0xfb"/>
1925
<src start="3" mask="0xfb"/>
1926
<src start="6"/>
1927
<mod name="lanes2" size="3" default="b0123">
1928
<opt>b0123</opt>
1929
<opt>b0000</opt>
1930
<opt>b1111</opt>
1931
<opt>b2222</opt>
1932
<opt>b3333</opt>
1933
</mod>
1934
<mod name="not_result" start="13" size="1" opt="not"/>
1935
<encoding mask="0x7fd800" exact="0x324000">
1936
<neq left="lanes2" right="#b0123"/>
1937
<derived start="9" size="2">
1938
<eq left="lanes2" right="#b0000"/>
1939
<eq left="lanes2" right="#b1111"/>
1940
<eq left="lanes2" right="#b2222"/>
1941
<eq left="lanes2" right="#b3333"/>
1942
</derived>
1943
</encoding>
1944
<encoding mask="0x7fde00" exact="0x325800">
1945
<eq left="lanes2" right="#b0123"/>
1946
</encoding>
1947
</ins>
1948
1949
<ins name="*MKVEC.v2i16" mask="0x7fff00" exact="0x70f000">
1950
<src start="0" mask="0xfb"/>
1951
<src start="3" mask="0xfb"/>
1952
<mod name="lane0" start="6" size="1" default="h0">
1953
<opt>h0</opt>
1954
<opt>h1</opt>
1955
</mod>
1956
<mod name="lane1" start="7" size="1" default="h0">
1957
<opt>h0</opt>
1958
<opt>h1</opt>
1959
</mod>
1960
</ins>
1961
1962
<ins name="*MKVEC.v4i8" mask="0x7f0000" exact="0x710000">
1963
<src start="0" mask="0xfb"/>
1964
<src start="3" mask="0xfb"/>
1965
<src start="6"/>
1966
<src start="9"/>
1967
<mod name="lane0" start="12" size="1" default="b0">
1968
<opt>b0</opt>
1969
<opt>b2</opt>
1970
</mod>
1971
<mod name="lane1" start="13" size="1" default="b0">
1972
<opt>b0</opt>
1973
<opt>b2</opt>
1974
</mod>
1975
<mod name="lane2" start="14" size="1" default="b0">
1976
<opt>b0</opt>
1977
<opt>b2</opt>
1978
</mod>
1979
<mod name="lane3" start="15" size="1" default="b0">
1980
<opt>b0</opt>
1981
<opt>b2</opt>
1982
</mod>
1983
</ins>
1984
1985
<ins name="*MOV.i32" mask="0x7ffff8" exact="0x701968">
1986
<src start="0" mask="0xfb"/>
1987
</ins>
1988
1989
<ins name="*NOP.i32" mask="0x7fffff" exact="0x701963"/>
1990
1991
<ins name="*POPCOUNT.i32" mask="0x7ffff8" exact="0x73c6d8">
1992
<src start="0" mask="0xfb"/>
1993
</ins>
1994
1995
<ins name="*QUIET.f32" mask="0x7ffff8" exact="0x701970">
1996
<src start="0" mask="0xfb"/>
1997
</ins>
1998
1999
<ins name="*QUIET.v2f16" mask="0x7fffc8" exact="0x701900">
2000
<src start="0" mask="0xfb"/>
2001
<mod name="swz0" start="4" size="2" default="h01">
2002
<opt>h00</opt>
2003
<opt>h10</opt>
2004
<opt>h01</opt>
2005
<opt>h11</opt>
2006
</mod>
2007
</ins>
2008
2009
<ins name="*RROT_DOUBLE.i32" mask="0x7ff000" exact="0x33a000">
2010
<src start="0" mask="0xfb"/>
2011
<src start="3" mask="0xfb"/>
2012
<src start="6"/>
2013
<mod name="bytes2" start="9" size="1" opt="bytes2"/>
2014
<mod name="lane2" start="10" size="1" default="b0">
2015
<opt>b0</opt>
2016
<opt>b2</opt>
2017
</mod>
2018
<mod name="result_word" start="11" size="1" default="w0">
2019
<opt>w0</opt>
2020
<opt>w1</opt>
2021
</mod>
2022
</ins>
2023
2024
<ins name="*RSHIFT_AND.i32" mask="0x7f3800" exact="0x301000">
2025
<src start="0" mask="0xfb"/>
2026
<src start="3" mask="0xfb"/>
2027
<src start="6"/>
2028
<mod name="lane2" start="9" size="2" default="b0">
2029
<opt>b0</opt>
2030
<opt>b1</opt>
2031
<opt>b2</opt>
2032
<opt>b3</opt>
2033
</mod>
2034
<mod name="not1" start="14" size="1" opt="not"/>
2035
<mod name="not_result" start="15" size="1">
2036
<opt>not</opt>
2037
<opt>none</opt>
2038
</mod>
2039
</ins>
2040
2041
<ins name="*RSHIFT_AND.v2i16">
2042
<src start="0" mask="0xfb"/>
2043
<src start="3" mask="0xfb"/>
2044
<src start="6"/>
2045
<mod name="lanes2" size="3" default="b02">
2046
<opt>b00</opt>
2047
<opt>b11</opt>
2048
<opt>b22</opt>
2049
<opt>b33</opt>
2050
<opt>b01</opt>
2051
<opt>b23</opt>
2052
<opt>b02</opt>
2053
</mod>
2054
<mod name="not1" start="14" size="1" opt="not"/>
2055
<mod name="not_result" start="15" size="1">
2056
<opt>not</opt>
2057
<opt>none</opt>
2058
</mod>
2059
<encoding mask="0x7f3800" exact="0x300800">
2060
<or>
2061
<eq left="lanes2" right="#b00"/>
2062
<eq left="lanes2" right="#b11"/>
2063
<eq left="lanes2" right="#b22"/>
2064
<eq left="lanes2" right="#b33"/>
2065
</or>
2066
<derived start="9" size="2">
2067
<eq left="lanes2" right="#b00"/>
2068
<eq left="lanes2" right="#b11"/>
2069
<eq left="lanes2" right="#b22"/>
2070
<eq left="lanes2" right="#b33"/>
2071
</derived>
2072
</encoding>
2073
<encoding mask="0x7f3800" exact="0x301800">
2074
<or>
2075
<eq left="lanes2" right="#b01"/>
2076
<eq left="lanes2" right="#b23"/>
2077
<eq left="lanes2" right="#b02"/>
2078
</or>
2079
<derived start="9" size="2">
2080
<reserved/>
2081
<eq left="lanes2" right="#b01"/>
2082
<eq left="lanes2" right="#b23"/>
2083
<eq left="lanes2" right="#b02"/>
2084
</derived>
2085
</encoding>
2086
</ins>
2087
2088
<ins name="*RSHIFT_AND.v4i8">
2089
<src start="0" mask="0xfb"/>
2090
<src start="3" mask="0xfb"/>
2091
<src start="6"/>
2092
<mod name="lanes2" size="3" default="b0123">
2093
<opt>b0123</opt>
2094
<opt>b0000</opt>
2095
<opt>b1111</opt>
2096
<opt>b2222</opt>
2097
<opt>b3333</opt>
2098
</mod>
2099
<mod name="not1" start="14" size="1" opt="not"/>
2100
<mod name="not_result" start="15" size="1">
2101
<opt>not</opt>
2102
<opt>none</opt>
2103
</mod>
2104
<encoding mask="0x7f3800" exact="0x300000">
2105
<neq left="lanes2" right="#b0123"/>
2106
<derived start="9" size="2">
2107
<eq left="lanes2" right="#b0000"/>
2108
<eq left="lanes2" right="#b1111"/>
2109
<eq left="lanes2" right="#b2222"/>
2110
<eq left="lanes2" right="#b3333"/>
2111
</derived>
2112
</encoding>
2113
<encoding mask="0x7f3e00" exact="0x301800">
2114
<eq left="lanes2" right="#b0123"/>
2115
</encoding>
2116
</ins>
2117
2118
<ins name="*RSHIFT_DOUBLE.i32" mask="0x7ff000" exact="0x33d000">
2119
<src start="0" mask="0xfb"/>
2120
<src start="3" mask="0xfb"/>
2121
<src start="6"/>
2122
<mod name="bytes2" start="9" size="1" opt="bytes2"/>
2123
<mod name="lane2" start="10" size="1" default="b0">
2124
<opt>b0</opt>
2125
<opt>b2</opt>
2126
</mod>
2127
<mod name="result_word" start="11" size="1" default="w0">
2128
<opt>w0</opt>
2129
<opt>w1</opt>
2130
</mod>
2131
</ins>
2132
2133
<ins name="*RSHIFT_OR.i32" mask="0x7f3800" exact="0x303000">
2134
<src start="0" mask="0xfb"/>
2135
<src start="3" mask="0xfb"/>
2136
<src start="6"/>
2137
<mod name="lane2" start="9" size="2" default="b0">
2138
<opt>b0</opt>
2139
<opt>b1</opt>
2140
<opt>b2</opt>
2141
<opt>b3</opt>
2142
</mod>
2143
<mod name="not1" start="14" size="1">
2144
<opt>not</opt>
2145
<opt>none</opt>
2146
</mod>
2147
<mod name="not_result" start="15" size="1" opt="not"/>
2148
</ins>
2149
2150
<ins name="*RSHIFT_OR.v2i16">
2151
<src start="0" mask="0xfb"/>
2152
<src start="3" mask="0xfb"/>
2153
<src start="6"/>
2154
<mod name="lanes2" size="3" default="b02">
2155
<opt>b00</opt>
2156
<opt>b11</opt>
2157
<opt>b22</opt>
2158
<opt>b33</opt>
2159
<opt>b01</opt>
2160
<opt>b23</opt>
2161
<opt>b02</opt>
2162
</mod>
2163
<mod name="not1" start="14" size="1">
2164
<opt>not</opt>
2165
<opt>none</opt>
2166
</mod>
2167
<mod name="not_result" start="15" size="1" opt="not"/>
2168
<encoding mask="0x7f3800" exact="0x302800">
2169
<or>
2170
<eq left="lanes2" right="#b00"/>
2171
<eq left="lanes2" right="#b11"/>
2172
<eq left="lanes2" right="#b22"/>
2173
<eq left="lanes2" right="#b33"/>
2174
</or>
2175
<derived start="9" size="2">
2176
<eq left="lanes2" right="#b00"/>
2177
<eq left="lanes2" right="#b11"/>
2178
<eq left="lanes2" right="#b22"/>
2179
<eq left="lanes2" right="#b33"/>
2180
</derived>
2181
</encoding>
2182
<encoding mask="0x7f3800" exact="0x303800">
2183
<or>
2184
<eq left="lanes2" right="#b01"/>
2185
<eq left="lanes2" right="#b23"/>
2186
<eq left="lanes2" right="#b02"/>
2187
</or>
2188
<derived start="9" size="2">
2189
<reserved/>
2190
<eq left="lanes2" right="#b01"/>
2191
<eq left="lanes2" right="#b23"/>
2192
<eq left="lanes2" right="#b02"/>
2193
</derived>
2194
</encoding>
2195
</ins>
2196
2197
<ins name="*RSHIFT_OR.v4i8">
2198
<src start="0" mask="0xfb"/>
2199
<src start="3" mask="0xfb"/>
2200
<src start="6"/>
2201
<mod name="lanes2" size="3" default="b0123">
2202
<opt>b0123</opt>
2203
<opt>b0000</opt>
2204
<opt>b1111</opt>
2205
<opt>b2222</opt>
2206
<opt>b3333</opt>
2207
</mod>
2208
<mod name="not1" start="14" size="1">
2209
<opt>not</opt>
2210
<opt>none</opt>
2211
</mod>
2212
<mod name="not_result" start="15" size="1" opt="not"/>
2213
<encoding mask="0x7f3800" exact="0x302000">
2214
<neq left="lanes2" right="#b0123"/>
2215
<derived start="9" size="2">
2216
<eq left="lanes2" right="#b0000"/>
2217
<eq left="lanes2" right="#b1111"/>
2218
<eq left="lanes2" right="#b2222"/>
2219
<eq left="lanes2" right="#b3333"/>
2220
</derived>
2221
</encoding>
2222
<encoding mask="0x7f3e00" exact="0x303800">
2223
<eq left="lanes2" right="#b0123"/>
2224
</encoding>
2225
</ins>
2226
2227
<ins name="*RSHIFT_XOR.i32" mask="0x7fd800" exact="0x321000">
2228
<src start="0" mask="0xfb"/>
2229
<src start="3" mask="0xfb"/>
2230
<src start="6"/>
2231
<mod name="lane2" start="9" size="2" default="b0">
2232
<opt>b0</opt>
2233
<opt>b1</opt>
2234
<opt>b2</opt>
2235
<opt>b3</opt>
2236
</mod>
2237
<mod name="not_result" start="13" size="1" opt="not"/>
2238
</ins>
2239
2240
<ins name="*RSHIFT_XOR.v2i16">
2241
<src start="0" mask="0xfb"/>
2242
<src start="3" mask="0xfb"/>
2243
<src start="6"/>
2244
<mod name="lanes2" size="3" default="b02">
2245
<opt>b00</opt>
2246
<opt>b11</opt>
2247
<opt>b22</opt>
2248
<opt>b33</opt>
2249
<opt>b01</opt>
2250
<opt>b23</opt>
2251
<opt>b02</opt>
2252
</mod>
2253
<mod name="not_result" start="13" size="1" opt="not"/>
2254
<encoding mask="0x7fd800" exact="0x320800">
2255
<or>
2256
<eq left="lanes2" right="#b00"/>
2257
<eq left="lanes2" right="#b11"/>
2258
<eq left="lanes2" right="#b22"/>
2259
<eq left="lanes2" right="#b33"/>
2260
</or>
2261
<derived start="9" size="2">
2262
<eq left="lanes2" right="#b00"/>
2263
<eq left="lanes2" right="#b11"/>
2264
<eq left="lanes2" right="#b22"/>
2265
<eq left="lanes2" right="#b33"/>
2266
</derived>
2267
</encoding>
2268
<encoding mask="0x7fd800" exact="0x321800">
2269
<or>
2270
<eq left="lanes2" right="#b01"/>
2271
<eq left="lanes2" right="#b23"/>
2272
<eq left="lanes2" right="#b02"/>
2273
</or>
2274
<derived start="9" size="2">
2275
<reserved/>
2276
<eq left="lanes2" right="#b01"/>
2277
<eq left="lanes2" right="#b23"/>
2278
<eq left="lanes2" right="#b02"/>
2279
</derived>
2280
</encoding>
2281
</ins>
2282
2283
<ins name="*RSHIFT_XOR.v4i8">
2284
<src start="0" mask="0xfb"/>
2285
<src start="3" mask="0xfb"/>
2286
<src start="6"/>
2287
<mod name="lanes2" size="3" default="b0123">
2288
<opt>b0123</opt>
2289
<opt>b0000</opt>
2290
<opt>b1111</opt>
2291
<opt>b2222</opt>
2292
<opt>b3333</opt>
2293
</mod>
2294
<mod name="not_result" start="13" size="1" opt="not"/>
2295
<encoding mask="0x7fd800" exact="0x320000">
2296
<neq left="lanes2" right="#b0123"/>
2297
<derived start="9" size="2">
2298
<eq left="lanes2" right="#b0000"/>
2299
<eq left="lanes2" right="#b1111"/>
2300
<eq left="lanes2" right="#b2222"/>
2301
<eq left="lanes2" right="#b3333"/>
2302
</derived>
2303
</encoding>
2304
<encoding mask="0x7fde00" exact="0x321800">
2305
<eq left="lanes2" right="#b0123"/>
2306
</encoding>
2307
</ins>
2308
2309
<ins name="*S16_TO_S32" mask="0x7fffe8" exact="0x700cc0">
2310
<src start="0" mask="0xfb"/>
2311
<mod name="lane0" start="4" size="1" default="h0">
2312
<opt>h0</opt>
2313
<opt>h1</opt>
2314
</mod>
2315
</ins>
2316
2317
<ins name="*S8_TO_S32" mask="0x7fffc8" exact="0x700b40">
2318
<src start="0" mask="0xfb"/>
2319
<mod name="lane0" start="4" size="2" default="b0">
2320
<opt>b0</opt>
2321
<opt>b1</opt>
2322
<opt>b2</opt>
2323
<opt>b3</opt>
2324
</mod>
2325
</ins>
2326
2327
<ins name="*SEG_ADD" mask="0x7fff40" exact="0x701500">
2328
<src start="0" mask="0xfb"/>
2329
<mod name="seg" start="3" size="3">
2330
<reserved/>
2331
<reserved/>
2332
<opt>wls</opt>
2333
<reserved/>
2334
<reserved/>
2335
<reserved/>
2336
<reserved/>
2337
<opt>tl</opt>
2338
</mod>
2339
<mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
2340
</ins>
2341
2342
<ins name="*SEG_SUB" mask="0x7fff40" exact="0x701540" unused="true">
2343
<src start="0" mask="0xfb"/>
2344
<mod name="seg" start="3" size="3">
2345
<reserved/>
2346
<reserved/>
2347
<opt>wls</opt>
2348
<reserved/>
2349
<reserved/>
2350
<reserved/>
2351
<reserved/>
2352
<opt>tl</opt>
2353
</mod>
2354
<mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
2355
</ins>
2356
2357
<ins name="*SHADDXL.i64" mask="0x7ffe00" exact="0x70e600">
2358
<src start="0" mask="0xfb"/>
2359
<src start="3" mask="0xfb"/>
2360
<immediate name="shift" start="6" size="3"/>
2361
</ins>
2362
2363
<ins name="*SHADDXL.s32" mask="0x7ff800" exact="0x70e800">
2364
<src start="0" mask="0xfb"/>
2365
<src start="3" mask="0xfb"/>
2366
<immediate name="shift" start="6" size="3"/>
2367
<mod name="lane1" start="9" size="2">
2368
<opt>h0</opt>
2369
<opt>h1</opt>
2370
<opt>none</opt>
2371
</mod>
2372
</ins>
2373
2374
<ins name="*SHADDXL.u32" mask="0x7ff800" exact="0x70e000">
2375
<src start="0" mask="0xfb"/>
2376
<src start="3" mask="0xfb"/>
2377
<immediate name="shift" start="6" size="3"/>
2378
<mod name="lane1" start="9" size="2">
2379
<opt>h0</opt>
2380
<opt>h1</opt>
2381
<opt>none</opt>
2382
</mod>
2383
</ins>
2384
2385
<ins name="*U16_TO_U32" mask="0x7fffe8" exact="0x700cc8">
2386
<src start="0" mask="0xfb"/>
2387
<mod name="lane0" start="4" size="1" default="h0">
2388
<opt>h0</opt>
2389
<opt>h1</opt>
2390
</mod>
2391
</ins>
2392
2393
<ins name="*U8_TO_U32" mask="0x7fffc8" exact="0x700b48">
2394
<src start="0" mask="0xfb"/>
2395
<mod name="lane0" start="4" size="2" default="b0">
2396
<opt>b0</opt>
2397
<opt>b1</opt>
2398
<opt>b2</opt>
2399
<opt>b3</opt>
2400
</mod>
2401
</ins>
2402
2403
<ins name="*V2F32_TO_V2F16" mask="0x7fe000" exact="0x6e8000">
2404
<src start="0" mask="0xfb"/>
2405
<src start="3" mask="0xfb"/>
2406
<mod name="abs0" size="1" opt="abs"/>
2407
<mod name="abs1" size="1" opt="abs"/>
2408
<mod name="neg0" size="1" opt="neg"/>
2409
<mod name="neg1" size="1" opt="neg"/>
2410
<mod name="clamp" start="8" size="2">
2411
<opt>none</opt>
2412
<opt>clamp_0_inf</opt>
2413
<opt>clamp_m1_1</opt>
2414
<opt>clamp_0_1</opt>
2415
</mod>
2416
<mod name="round" start="10" size="3">
2417
<opt>none</opt>
2418
<opt>rtp</opt>
2419
<opt>rtn</opt>
2420
<opt>rtz</opt>
2421
<opt>rtna</opt>
2422
</mod>
2423
<derived start="6" size="1">
2424
<and>
2425
<eq left="abs0" right="#none"/>
2426
<eq left="abs1" right="#none"/>
2427
</and>
2428
<and>
2429
<eq left="abs0" right="#abs"/>
2430
<eq left="abs1" right="#abs"/>
2431
</and>
2432
</derived>
2433
<derived start="7" size="1">
2434
<and>
2435
<eq left="neg0" right="#none"/>
2436
<eq left="neg1" right="#none"/>
2437
</and>
2438
<and>
2439
<eq left="neg0" right="#neg"/>
2440
<eq left="neg1" right="#neg"/>
2441
</and>
2442
</derived>
2443
</ins>
2444
2445
<ins name="*VN_ASST1.f16" mask="0x7ff000" exact="0x6eb000">
2446
<src start="0" mask="0xfb"/>
2447
<src start="3" mask="0xfb"/>
2448
<src start="6"/>
2449
<mod name="h" start="9" size="1" opt="h"/>
2450
<mod name="l" start="10" size="1" opt="l"/>
2451
<mod name="neg2" start="11" size="1" opt="neg"/>
2452
</ins>
2453
2454
<ins name="*VN_ASST1.f32" mask="0x7fe000" exact="0x27c000">
2455
<src start="0" mask="0xfb"/>
2456
<src start="3" mask="0xfb"/>
2457
<src start="6"/>
2458
<src start="9"/>
2459
<mod name="neg2" start="12" size="1" opt="neg"/>
2460
</ins>
2461
2462
<ins name="+ACMPSTORE.i32" staging="r=2" mask="0xffdc0" exact="0x648c0" message="atomic" dests="0">
2463
<src start="0"/>
2464
<src start="3"/>
2465
<mod name="seg" start="9" size="1" opt="wls"/>
2466
</ins>
2467
2468
<ins name="+ACMPSTORE.i64" staging="r=4" mask="0xffdc0" exact="0x64900" message="atomic" dests="0">
2469
<src start="0"/>
2470
<src start="3"/>
2471
<mod name="seg" start="9" size="1" opt="wls"/>
2472
</ins>
2473
2474
<ins name="+ACMPXCHG.i32" staging="rw=2" mask="0xffdc0" exact="0x644c0" message="atomic">
2475
<src start="0"/>
2476
<src start="3"/>
2477
<mod name="seg" start="9" size="1" opt="wls"/>
2478
</ins>
2479
2480
<ins name="+ACMPXCHG.i64" staging="rw=4" mask="0xffdc0" exact="0x64500" message="atomic">
2481
<src start="0"/>
2482
<src start="3"/>
2483
<mod name="seg" start="9" size="1" opt="wls"/>
2484
</ins>
2485
2486
<ins name="+ATEST" staging="w=1" mask="0xfff00" exact="0xc8f00" message="atest" table="true">
2487
<src start="0" mask="0xf7"/>
2488
<src start="3" mask="0xf7"/>
2489
<mod name="widen1" start="6" size="2">
2490
<reserved/>
2491
<opt>none</opt>
2492
<opt>h0</opt>
2493
<opt>h1</opt>
2494
</mod>
2495
</ins>
2496
2497
<ins name="+ATOM_CX" staging="rw=sr_count" mask="0xffe00" exact="0xd7400" message="atomic">
2498
<src start="0"/>
2499
<src start="3"/>
2500
<src start="6"/>
2501
<!-- not actually encoded, but used for IR -->
2502
<immediate name="sr_count" size="4" pseudo="true"/>
2503
</ins>
2504
2505
<ins name="+AXCHG.i32" staging="rw=1" mask="0xffdc0" exact="0x640c0" message="atomic">
2506
<src start="0"/>
2507
<src start="3"/>
2508
<mod name="seg" start="9" size="1" opt="wls"/>
2509
</ins>
2510
2511
<ins name="+AXCHG.i64" staging="rw=2" mask="0xffdc0" exact="0x64100" message="atomic">
2512
<src start="0"/>
2513
<src start="3"/>
2514
<mod name="seg" start="9" size="1" opt="wls"/>
2515
</ins>
2516
2517
<ins name="+BARRIER" mask="0xfffff" exact="0xd7874" message="barrier" last="true" dests="0"/>
2518
2519
<ins name="+BLEND" staging="r=sr_count" mask="0xffe00" exact="0xca800" message="blend" last="true">
2520
<src start="0"/>
2521
<src start="3" mask="0xf7"/>
2522
<src start="6" mask="0xf7"/>
2523
<!-- not actually encoded, but used for IR -->
2524
<immediate name="sr_count" size="4" pseudo="true"/>
2525
</ins>
2526
2527
<ins name="+BRANCH.f16" mask="0xf8000" exact="0x68000" last="true" dests="0">
2528
<src start="0"/>
2529
<src start="3"/>
2530
<src start="6" mask="0xf7"/>
2531
<mod name="widen0" size="2">
2532
<opt>none</opt>
2533
<opt>h0</opt>
2534
<opt>h1</opt>
2535
</mod>
2536
<mod name="widen1" size="2">
2537
<opt>none</opt>
2538
<opt>h0</opt>
2539
<opt>h1</opt>
2540
</mod>
2541
<mod name="cmpf" size="3">
2542
<opt>eq</opt>
2543
<opt>gt</opt>
2544
<opt>ge</opt>
2545
<opt>ne</opt>
2546
<opt>lt</opt>
2547
<opt>le</opt>
2548
</mod>
2549
<derived start="12" size="3">
2550
<reserved/>
2551
<and>
2552
<eq left="widen0" right="#h0"/>
2553
<eq left="widen1" right="#h0"/>
2554
</and>
2555
<and>
2556
<eq left="widen0" right="#h1"/>
2557
<eq left="widen1" right="#h1"/>
2558
</and>
2559
<and>
2560
<eq left="widen0" right="#h1"/>
2561
<eq left="widen1" right="#h0"/>
2562
<or>
2563
<eq left="cmpf" right="#ne"/>
2564
<eq left="cmpf" right="#ge"/>
2565
<eq left="cmpf" right="#le"/>
2566
</or>
2567
</and>
2568
<and>
2569
<eq left="widen0" right="#h1"/>
2570
<eq left="widen1" right="#h0"/>
2571
<or>
2572
<eq left="cmpf" right="#eq"/>
2573
<eq left="cmpf" right="#gt"/>
2574
<eq left="cmpf" right="#lt"/>
2575
</or>
2576
</and>
2577
<reserved/>
2578
<reserved/>
2579
<reserved/>
2580
</derived>
2581
<derived start="9" size="3">
2582
<reserved/>
2583
<reserved/>
2584
<reserved/>
2585
<reserved/>
2586
<and alias="true">
2587
<eq left="widen0" right="widen1"/>
2588
<eq left="ordering" right="#eq"/>
2589
<or>
2590
<eq left="cmpf" right="#gt"/>
2591
<eq left="cmpf" right="#lt"/>
2592
</or>
2593
</and>
2594
<or>
2595
<and>
2596
<eq left="widen0" right="#h1"/>
2597
<eq left="widen1" right="#h0"/>
2598
<or>
2599
<eq left="cmpf" right="#eq"/>
2600
<eq left="cmpf" right="#ne"/>
2601
</or>
2602
</and>
2603
<and>
2604
<eq left="widen0" right="widen1"/>
2605
<eq left="ordering" right="#lt"/>
2606
<eq left="cmpf" right="#eq"/>
2607
</and>
2608
<and>
2609
<eq left="widen0" right="widen1"/>
2610
<neq left="ordering" right="#lt"/>
2611
<eq left="cmpf" right="#ne"/>
2612
</and>
2613
</or>
2614
<or>
2615
<and>
2616
<eq left="widen0" right="#h1"/>
2617
<eq left="widen1" right="#h0"/>
2618
<or>
2619
<eq left="cmpf" right="#gt"/>
2620
<eq left="cmpf" right="#ge"/>
2621
</or>
2622
</and>
2623
<and>
2624
<eq left="widen0" right="widen1"/>
2625
<eq left="ordering" right="#lt"/>
2626
<eq left="cmpf" right="#gt"/>
2627
</and>
2628
<and>
2629
<eq left="widen0" right="widen1"/>
2630
<neq left="ordering" right="#lt"/>
2631
<eq left="cmpf" right="#ge"/>
2632
</and>
2633
</or>
2634
<or>
2635
<and>
2636
<eq left="widen0" right="#h1"/>
2637
<eq left="widen1" right="#h0"/>
2638
<or>
2639
<eq left="cmpf" right="#lt"/>
2640
<eq left="cmpf" right="#le"/>
2641
</or>
2642
</and>
2643
<and>
2644
<eq left="widen0" right="widen1"/>
2645
<eq left="ordering" right="#lt"/>
2646
<eq left="cmpf" right="#lt"/>
2647
</and>
2648
<and>
2649
<eq left="widen0" right="widen1"/>
2650
<neq left="ordering" right="#lt"/>
2651
<eq left="cmpf" right="#le"/>
2652
</and>
2653
<and alias="true">
2654
<eq left="widen0" right="widen1"/>
2655
<eq left="ordering" right="#eq"/>
2656
<eq left="cmpf" right="#eq"/>
2657
</and>
2658
</or>
2659
</derived>
2660
<swap left="0" right="1">
2661
<or>
2662
<and>
2663
<eq left="widen0" right="#h0"/>
2664
<eq left="widen1" right="#h1"/>
2665
</and>
2666
<and>
2667
<eq left="widen0" right="widen1"/>
2668
<eq left="ordering" right="#gt"/>
2669
<or>
2670
<eq left="cmpf" right="#eq"/>
2671
<eq left="cmpf" right="#gt"/>
2672
<eq left="cmpf" right="#lt"/>
2673
</or>
2674
</and>
2675
<and>
2676
<eq left="widen0" right="widen1"/>
2677
<eq left="ordering" right="#lt"/>
2678
<or>
2679
<eq left="cmpf" right="#ne"/>
2680
<eq left="cmpf" right="#ge"/>
2681
<eq left="cmpf" right="#le"/>
2682
</or>
2683
</and>
2684
</or>
2685
<rewrite name="cmpf">
2686
<map from="lt" to="gt"/>
2687
<map from="le" to="ge"/>
2688
<map from="gt" to="lt"/>
2689
<map from="ge" to="le"/>
2690
</rewrite>
2691
</swap>
2692
</ins>
2693
2694
<ins name="+BRANCH.f32" mask="0xf8000" exact="0x68000" last="true" dests="0">
2695
<src start="0"/>
2696
<src start="3"/>
2697
<src start="6" mask="0xf7"/>
2698
<mod name="widen0" size="2">
2699
<opt>none</opt>
2700
<opt>h0</opt>
2701
<opt>h1</opt>
2702
</mod>
2703
<mod name="widen1" size="2">
2704
<opt>none</opt>
2705
<opt>h0</opt>
2706
<opt>h1</opt>
2707
</mod>
2708
<mod name="cmpf" size="3">
2709
<opt>eq</opt>
2710
<opt>gt</opt>
2711
<opt>ge</opt>
2712
<opt>ne</opt>
2713
<opt>lt</opt>
2714
<opt>le</opt>
2715
</mod>
2716
<derived start="12" size="3">
2717
<and>
2718
<eq left="widen0" right="#none"/>
2719
<eq left="widen1" right="#none"/>
2720
</and>
2721
<reserved/>
2722
<reserved/>
2723
<reserved/>
2724
<reserved/>
2725
<and>
2726
<eq left="widen0" right="#none"/>
2727
<eq left="widen1" right="#h0"/>
2728
</and>
2729
<and>
2730
<eq left="widen0" right="#none"/>
2731
<eq left="widen1" right="#h1"/>
2732
</and>
2733
<reserved/>
2734
</derived>
2735
<derived start="9" size="3">
2736
<reserved/>
2737
<and>
2738
<eq left="widen0" right="#none"/>
2739
<neq left="widen1" right="#none"/>
2740
<eq left="cmpf" right="#ne"/>
2741
</and>
2742
<and>
2743
<eq left="widen0" right="#none"/>
2744
<neq left="widen1" right="#none"/>
2745
<eq left="cmpf" right="#ge"/>
2746
</and>
2747
<and>
2748
<eq left="widen0" right="#none"/>
2749
<neq left="widen1" right="#none"/>
2750
<eq left="cmpf" right="#le"/>
2751
</and>
2752
<and alias="true">
2753
<eq left="widen0" right="#none"/>
2754
<eq left="widen1" right="#none"/>
2755
<eq left="ordering" right="#eq"/>
2756
<or>
2757
<eq left="cmpf" right="#gt"/>
2758
<eq left="cmpf" right="#lt"/>
2759
</or>
2760
</and>
2761
<or>
2762
<and>
2763
<eq left="widen0" right="#none"/>
2764
<neq left="widen1" right="#none"/>
2765
<eq left="cmpf" right="#eq"/>
2766
</and>
2767
<and>
2768
<eq left="widen0" right="#none"/>
2769
<eq left="widen1" right="#none"/>
2770
<eq left="ordering" right="#lt"/>
2771
<eq left="cmpf" right="#eq"/>
2772
</and>
2773
<and>
2774
<eq left="widen0" right="#none"/>
2775
<eq left="widen1" right="#none"/>
2776
<neq left="ordering" right="#lt"/>
2777
<eq left="cmpf" right="#ne"/>
2778
</and>
2779
</or>
2780
<or>
2781
<and>
2782
<eq left="widen0" right="#none"/>
2783
<neq left="widen1" right="#none"/>
2784
<eq left="cmpf" right="#gt"/>
2785
</and>
2786
<and>
2787
<eq left="widen0" right="#none"/>
2788
<eq left="widen1" right="#none"/>
2789
<eq left="ordering" right="#lt"/>
2790
<eq left="cmpf" right="#gt"/>
2791
</and>
2792
<and>
2793
<eq left="widen0" right="#none"/>
2794
<eq left="widen1" right="#none"/>
2795
<neq left="ordering" right="#lt"/>
2796
<eq left="cmpf" right="#ge"/>
2797
</and>
2798
</or>
2799
<or>
2800
<and>
2801
<eq left="widen0" right="#none"/>
2802
<neq left="widen1" right="#none"/>
2803
<eq left="cmpf" right="#lt"/>
2804
</and>
2805
<and>
2806
<eq left="widen0" right="#none"/>
2807
<eq left="widen1" right="#none"/>
2808
<eq left="ordering" right="#lt"/>
2809
<eq left="cmpf" right="#lt"/>
2810
</and>
2811
<and>
2812
<eq left="widen0" right="#none"/>
2813
<eq left="widen1" right="#none"/>
2814
<neq left="ordering" right="#lt"/>
2815
<eq left="cmpf" right="#le"/>
2816
</and>
2817
<and alias="true">
2818
<eq left="widen0" right="#none"/>
2819
<eq left="widen1" right="#none"/>
2820
<eq left="ordering" right="#eq"/>
2821
<eq left="cmpf" right="#eq"/>
2822
</and>
2823
</or>
2824
</derived>
2825
<swap left="0" right="1">
2826
<or>
2827
<and>
2828
<neq left="widen0" right="#none"/>
2829
<eq left="widen1" right="#none"/>
2830
</and>
2831
<and>
2832
<eq left="widen0" right="#none"/>
2833
<eq left="widen1" right="#none"/>
2834
<eq left="ordering" right="#gt"/>
2835
<or>
2836
<eq left="cmpf" right="#eq"/>
2837
<eq left="cmpf" right="#gt"/>
2838
<eq left="cmpf" right="#lt"/>
2839
</or>
2840
</and>
2841
<and>
2842
<eq left="widen0" right="#none"/>
2843
<eq left="widen1" right="#none"/>
2844
<eq left="ordering" right="#lt"/>
2845
<or>
2846
<eq left="cmpf" right="#ne"/>
2847
<eq left="cmpf" right="#ge"/>
2848
<eq left="cmpf" right="#le"/>
2849
</or>
2850
</and>
2851
</or>
2852
<rewrite name="cmpf">
2853
<map from="lt" to="gt"/>
2854
<map from="le" to="ge"/>
2855
<map from="gt" to="lt"/>
2856
<map from="ge" to="le"/>
2857
</rewrite>
2858
</swap>
2859
</ins>
2860
2861
<ins name="+BRANCH.i16" mask="0xf8000" exact="0x68000" last="true" dests="0">
2862
<src start="0"/>
2863
<src start="3"/>
2864
<src start="6" mask="0xf7"/>
2865
<mod name="widen0" size="2">
2866
<opt>none</opt>
2867
<opt>h0</opt>
2868
<opt>h1</opt>
2869
</mod>
2870
<mod name="widen1" size="2">
2871
<opt>none</opt>
2872
<opt>h0</opt>
2873
<opt>h1</opt>
2874
</mod>
2875
<mod name="cmpf" size="1">
2876
<opt>eq</opt>
2877
<opt>ne</opt>
2878
</mod>
2879
<derived start="12" size="3">
2880
<reserved/>
2881
<and>
2882
<eq left="widen0" right="#h0"/>
2883
<eq left="widen1" right="#h0"/>
2884
</and>
2885
<and>
2886
<eq left="widen0" right="#h1"/>
2887
<eq left="widen1" right="#h1"/>
2888
</and>
2889
<and>
2890
<eq left="widen0" right="#h1"/>
2891
<eq left="widen1" right="#h0"/>
2892
<eq left="cmpf" right="#ne"/>
2893
</and>
2894
<and>
2895
<eq left="widen0" right="#h1"/>
2896
<eq left="widen1" right="#h0"/>
2897
<eq left="cmpf" right="#eq"/>
2898
</and>
2899
<reserved/>
2900
<reserved/>
2901
<reserved/>
2902
</derived>
2903
<derived start="9" size="3">
2904
<reserved/>
2905
<and alias="true">
2906
<eq left="widen0" right="widen1"/>
2907
<eq left="ordering" right="#eq"/>
2908
<eq left="cmpf" right="#eq"/>
2909
</and>
2910
<reserved/>
2911
<reserved/>
2912
<or>
2913
<and>
2914
<eq left="widen0" right="#h1"/>
2915
<eq left="widen1" right="#h0"/>
2916
</and>
2917
<and>
2918
<eq left="widen0" right="widen1"/>
2919
<eq left="ordering" right="#lt"/>
2920
<eq left="cmpf" right="#eq"/>
2921
</and>
2922
<and>
2923
<eq left="widen0" right="widen1"/>
2924
<neq left="ordering" right="#lt"/>
2925
<eq left="cmpf" right="#ne"/>
2926
</and>
2927
</or>
2928
<reserved/>
2929
<reserved/>
2930
<reserved/>
2931
</derived>
2932
<swap left="0" right="1">
2933
<or>
2934
<and>
2935
<eq left="widen0" right="#h0"/>
2936
<eq left="widen1" right="#h1"/>
2937
</and>
2938
<and>
2939
<eq left="widen0" right="widen1"/>
2940
<eq left="ordering" right="#gt"/>
2941
<eq left="cmpf" right="#eq"/>
2942
</and>
2943
<and>
2944
<eq left="widen0" right="widen1"/>
2945
<eq left="ordering" right="#lt"/>
2946
<eq left="cmpf" right="#ne"/>
2947
</and>
2948
</or>
2949
</swap>
2950
</ins>
2951
2952
<ins name="+BRANCH.i32" mask="0xf8000" exact="0x68000" last="true" dests="0">
2953
<src start="0"/>
2954
<src start="3"/>
2955
<src start="6" mask="0xf7"/>
2956
<mod name="widen0" size="2">
2957
<opt>none</opt>
2958
<opt>h0</opt>
2959
<opt>h1</opt>
2960
</mod>
2961
<mod name="widen1" size="2">
2962
<opt>none</opt>
2963
<opt>h0</opt>
2964
<opt>h1</opt>
2965
</mod>
2966
<mod name="cmpf" size="1">
2967
<opt>eq</opt>
2968
<opt>ne</opt>
2969
</mod>
2970
<derived start="12" size="3">
2971
<and>
2972
<eq left="widen0" right="#none"/>
2973
<eq left="widen1" right="#none"/>
2974
</and>
2975
<reserved/>
2976
<reserved/>
2977
<reserved/>
2978
<reserved/>
2979
<reserved/>
2980
<reserved/>
2981
<reserved/>
2982
</derived>
2983
<derived start="9" size="3">
2984
<reserved/>
2985
<and alias="true">
2986
<eq left="ordering" right="#eq"/>
2987
<eq left="cmpf" right="#eq"/>
2988
</and>
2989
<reserved/>
2990
<reserved/>
2991
<or>
2992
<and>
2993
<eq left="ordering" right="#lt"/>
2994
<eq left="cmpf" right="#eq"/>
2995
</and>
2996
<and>
2997
<neq left="ordering" right="#lt"/>
2998
<eq left="cmpf" right="#ne"/>
2999
</and>
3000
</or>
3001
<reserved/>
3002
<reserved/>
3003
<reserved/>
3004
</derived>
3005
<swap left="0" right="1">
3006
<or>
3007
<and>
3008
<eq left="ordering" right="#gt"/>
3009
<eq left="cmpf" right="#eq"/>
3010
</and>
3011
<and>
3012
<eq left="ordering" right="#lt"/>
3013
<eq left="cmpf" right="#ne"/>
3014
</and>
3015
</or>
3016
</swap>
3017
</ins>
3018
3019
<ins name="+BRANCH.s16" mask="0xf8000" exact="0x68000" last="true" dests="0">
3020
<src start="0"/>
3021
<src start="3"/>
3022
<src start="6" mask="0xf7"/>
3023
<mod name="widen0" size="2">
3024
<opt>none</opt>
3025
<opt>h0</opt>
3026
<opt>h1</opt>
3027
</mod>
3028
<mod name="widen1" size="2">
3029
<opt>none</opt>
3030
<opt>h0</opt>
3031
<opt>h1</opt>
3032
</mod>
3033
<mod name="cmpf" size="2">
3034
<opt>gt</opt>
3035
<opt>ge</opt>
3036
<opt>lt</opt>
3037
<opt>le</opt>
3038
</mod>
3039
<derived start="12" size="3">
3040
<reserved/>
3041
<and>
3042
<eq left="widen0" right="#h0"/>
3043
<eq left="widen1" right="#h0"/>
3044
</and>
3045
<and>
3046
<eq left="widen0" right="#h1"/>
3047
<eq left="widen1" right="#h1"/>
3048
</and>
3049
<reserved/>
3050
<and>
3051
<eq left="widen0" right="#h1"/>
3052
<eq left="widen1" right="#h0"/>
3053
</and>
3054
<reserved/>
3055
<reserved/>
3056
<reserved/>
3057
</derived>
3058
<derived start="9" size="3">
3059
<or>
3060
<and>
3061
<eq left="widen0" right="#h1"/>
3062
<eq left="widen1" right="#h0"/>
3063
<eq left="cmpf" right="#lt"/>
3064
</and>
3065
<and>
3066
<eq left="widen0" right="widen1"/>
3067
<eq left="ordering" right="#lt"/>
3068
<eq left="cmpf" right="#lt"/>
3069
</and>
3070
</or>
3071
<or>
3072
<and>
3073
<eq left="widen0" right="#h1"/>
3074
<eq left="widen1" right="#h0"/>
3075
<eq left="cmpf" right="#le"/>
3076
</and>
3077
<and>
3078
<eq left="widen0" right="widen1"/>
3079
<eq left="ordering" right="#lt"/>
3080
<eq left="cmpf" right="#le"/>
3081
</and>
3082
<and alias="true">
3083
<eq left="widen0" right="widen1"/>
3084
<eq left="ordering" right="#eq"/>
3085
<or>
3086
<eq left="cmpf" right="#le"/>
3087
<eq left="cmpf" right="#ge"/>
3088
</or>
3089
</and>
3090
</or>
3091
<or>
3092
<and>
3093
<eq left="widen0" right="#h1"/>
3094
<eq left="widen1" right="#h0"/>
3095
<eq left="cmpf" right="#ge"/>
3096
</and>
3097
<and>
3098
<eq left="widen0" right="widen1"/>
3099
<eq left="ordering" right="#lt"/>
3100
<eq left="cmpf" right="#ge"/>
3101
</and>
3102
</or>
3103
<or>
3104
<and>
3105
<eq left="widen0" right="#h1"/>
3106
<eq left="widen1" right="#h0"/>
3107
<eq left="cmpf" right="#gt"/>
3108
</and>
3109
<and>
3110
<eq left="widen0" right="widen1"/>
3111
<eq left="ordering" right="#lt"/>
3112
<eq left="cmpf" right="#gt"/>
3113
</and>
3114
</or>
3115
<and alias="true">
3116
<eq left="widen0" right="widen1"/>
3117
<eq left="ordering" right="#eq"/>
3118
<or>
3119
<eq left="cmpf" right="#lt"/>
3120
<eq left="cmpf" right="#gt"/>
3121
</or>
3122
</and>
3123
<reserved/>
3124
<reserved/>
3125
<reserved/>
3126
</derived>
3127
<swap left="0" right="1">
3128
<or>
3129
<and>
3130
<eq left="widen0" right="#h0"/>
3131
<eq left="widen1" right="#h1"/>
3132
</and>
3133
<and>
3134
<eq left="widen0" right="widen1"/>
3135
<eq left="ordering" right="#gt"/>
3136
</and>
3137
</or>
3138
<rewrite name="cmpf">
3139
<map from="lt" to="gt"/>
3140
<map from="le" to="ge"/>
3141
<map from="gt" to="lt"/>
3142
<map from="ge" to="le"/>
3143
</rewrite>
3144
</swap>
3145
</ins>
3146
3147
<ins name="+BRANCH.s32" mask="0xf8000" exact="0x68000" last="true" dests="0">
3148
<src start="0"/>
3149
<src start="3"/>
3150
<src start="6" mask="0xf7"/>
3151
<mod name="widen0" size="2">
3152
<opt>none</opt>
3153
<opt>h0</opt>
3154
<opt>h1</opt>
3155
</mod>
3156
<mod name="widen1" size="2">
3157
<opt>none</opt>
3158
<opt>h0</opt>
3159
<opt>h1</opt>
3160
</mod>
3161
<mod name="cmpf" size="2">
3162
<opt>gt</opt>
3163
<opt>ge</opt>
3164
<opt>lt</opt>
3165
<opt>le</opt>
3166
</mod>
3167
<derived start="12" size="3">
3168
<and>
3169
<eq left="widen0" right="#none"/>
3170
<eq left="widen1" right="#none"/>
3171
</and>
3172
<reserved/>
3173
<reserved/>
3174
<reserved/>
3175
<reserved/>
3176
<reserved/>
3177
<reserved/>
3178
<reserved/>
3179
</derived>
3180
<derived start="9" size="3">
3181
<and>
3182
<eq left="ordering" right="#lt"/>
3183
<eq left="cmpf" right="#lt"/>
3184
</and>
3185
<or>
3186
<and>
3187
<eq left="ordering" right="#lt"/>
3188
<eq left="cmpf" right="#le"/>
3189
</and>
3190
<and alias="true">
3191
<eq left="ordering" right="#eq"/>
3192
<or>
3193
<eq left="cmpf" right="#le"/>
3194
<eq left="cmpf" right="#ge"/>
3195
</or>
3196
</and>
3197
</or>
3198
<and>
3199
<eq left="ordering" right="#lt"/>
3200
<eq left="cmpf" right="#ge"/>
3201
</and>
3202
<and>
3203
<eq left="ordering" right="#lt"/>
3204
<eq left="cmpf" right="#gt"/>
3205
</and>
3206
<and alias="true">
3207
<eq left="ordering" right="#eq"/>
3208
<or>
3209
<eq left="cmpf" right="#lt"/>
3210
<eq left="cmpf" right="#gt"/>
3211
</or>
3212
</and>
3213
<reserved/>
3214
<reserved/>
3215
<reserved/>
3216
</derived>
3217
<swap left="0" right="1">
3218
<eq left="ordering" right="#gt"/>
3219
<rewrite name="cmpf">
3220
<map from="lt" to="gt"/>
3221
<map from="le" to="ge"/>
3222
<map from="gt" to="lt"/>
3223
<map from="ge" to="le"/>
3224
</rewrite>
3225
</swap>
3226
</ins>
3227
3228
<ins name="+BRANCH.u16" mask="0xf8000" exact="0x68000" last="true" dests="0">
3229
<src start="0"/>
3230
<src start="3"/>
3231
<src start="6" mask="0xf7"/>
3232
<mod name="widen0" size="2">
3233
<opt>none</opt>
3234
<opt>h0</opt>
3235
<opt>h1</opt>
3236
</mod>
3237
<mod name="widen1" size="2">
3238
<opt>none</opt>
3239
<opt>h0</opt>
3240
<opt>h1</opt>
3241
</mod>
3242
<mod name="cmpf" size="2">
3243
<opt>gt</opt>
3244
<opt>ge</opt>
3245
<opt>lt</opt>
3246
<opt>le</opt>
3247
</mod>
3248
<derived start="12" size="3">
3249
<reserved/>
3250
<and>
3251
<eq left="widen0" right="#h0"/>
3252
<eq left="widen1" right="#h0"/>
3253
</and>
3254
<and>
3255
<eq left="widen0" right="#h1"/>
3256
<eq left="widen1" right="#h1"/>
3257
</and>
3258
<and>
3259
<eq left="widen0" right="#h1"/>
3260
<eq left="widen1" right="#h0"/>
3261
</and>
3262
<reserved/>
3263
<reserved/>
3264
<reserved/>
3265
<reserved/>
3266
</derived>
3267
<derived start="9" size="3">
3268
<or>
3269
<and>
3270
<eq left="widen0" right="#h1"/>
3271
<eq left="widen1" right="#h0"/>
3272
<eq left="cmpf" right="#lt"/>
3273
</and>
3274
<and>
3275
<eq left="widen0" right="widen1"/>
3276
<neq left="ordering" right="#lt"/>
3277
<eq left="cmpf" right="#lt"/>
3278
</and>
3279
</or>
3280
<or>
3281
<and>
3282
<eq left="widen0" right="#h1"/>
3283
<eq left="widen1" right="#h0"/>
3284
<eq left="cmpf" right="#le"/>
3285
</and>
3286
<and>
3287
<eq left="widen0" right="widen1"/>
3288
<neq left="ordering" right="#lt"/>
3289
<eq left="cmpf" right="#le"/>
3290
</and>
3291
</or>
3292
<or>
3293
<and>
3294
<eq left="widen0" right="#h1"/>
3295
<eq left="widen1" right="#h0"/>
3296
<eq left="cmpf" right="#ge"/>
3297
</and>
3298
<and>
3299
<eq left="widen0" right="widen1"/>
3300
<neq left="ordering" right="#lt"/>
3301
<eq left="cmpf" right="#ge"/>
3302
</and>
3303
</or>
3304
<or>
3305
<and>
3306
<eq left="widen0" right="#h1"/>
3307
<eq left="widen1" right="#h0"/>
3308
<eq left="cmpf" right="#gt"/>
3309
</and>
3310
<and>
3311
<eq left="widen0" right="widen1"/>
3312
<neq left="ordering" right="#lt"/>
3313
<eq left="cmpf" right="#gt"/>
3314
</and>
3315
</or>
3316
<reserved/>
3317
<reserved/>
3318
<reserved/>
3319
<reserved/>
3320
</derived>
3321
<swap left="0" right="1">
3322
<or>
3323
<and>
3324
<eq left="widen0" right="#h0"/>
3325
<eq left="widen1" right="#h1"/>
3326
</and>
3327
<and>
3328
<eq left="widen0" right="widen1"/>
3329
<eq left="ordering" right="#lt"/>
3330
</and>
3331
</or>
3332
<rewrite name="cmpf">
3333
<map from="lt" to="gt"/>
3334
<map from="le" to="ge"/>
3335
<map from="gt" to="lt"/>
3336
<map from="ge" to="le"/>
3337
</rewrite>
3338
</swap>
3339
</ins>
3340
3341
<ins name="+BRANCH.u32" mask="0xf8000" exact="0x68000" last="true" dests="0">
3342
<src start="0"/>
3343
<src start="3"/>
3344
<src start="6" mask="0xf7"/>
3345
<mod name="widen0" size="2">
3346
<opt>none</opt>
3347
<opt>h0</opt>
3348
<opt>h1</opt>
3349
</mod>
3350
<mod name="widen1" size="2">
3351
<opt>none</opt>
3352
<opt>h0</opt>
3353
<opt>h1</opt>
3354
</mod>
3355
<mod name="cmpf" size="2">
3356
<opt>gt</opt>
3357
<opt>ge</opt>
3358
<opt>lt</opt>
3359
<opt>le</opt>
3360
</mod>
3361
<derived start="12" size="3">
3362
<and>
3363
<eq left="widen0" right="#none"/>
3364
<eq left="widen1" right="#none"/>
3365
</and>
3366
<reserved/>
3367
<reserved/>
3368
<reserved/>
3369
<reserved/>
3370
<reserved/>
3371
<reserved/>
3372
<reserved/>
3373
</derived>
3374
<derived start="9" size="3">
3375
<and>
3376
<neq left="ordering" right="#lt"/>
3377
<eq left="cmpf" right="#lt"/>
3378
</and>
3379
<and>
3380
<neq left="ordering" right="#lt"/>
3381
<eq left="cmpf" right="#le"/>
3382
</and>
3383
<and>
3384
<neq left="ordering" right="#lt"/>
3385
<eq left="cmpf" right="#ge"/>
3386
</and>
3387
<and>
3388
<neq left="ordering" right="#lt"/>
3389
<eq left="cmpf" right="#gt"/>
3390
</and>
3391
<reserved/>
3392
<reserved/>
3393
<reserved/>
3394
<reserved/>
3395
</derived>
3396
<swap left="0" right="1">
3397
<eq left="ordering" right="#lt"/>
3398
<rewrite name="cmpf">
3399
<map from="lt" to="gt"/>
3400
<map from="le" to="ge"/>
3401
<map from="gt" to="lt"/>
3402
<map from="ge" to="le"/>
3403
</rewrite>
3404
</swap>
3405
</ins>
3406
3407
<ins name="+BRANCHC.i16" mask="0xff830" exact="0x6f030" last="true" dests="0">
3408
<src start="0"/>
3409
<src start="6" mask="0xf7"/>
3410
<mod name="combine" start="10" size="1">
3411
<opt>any</opt>
3412
<opt>all</opt>
3413
</mod>
3414
<mod name="lane0" size="1" default="h0">
3415
<opt>h0</opt>
3416
<opt>h1</opt>
3417
</mod>
3418
<derived start="9" size="1">
3419
<eq left="lane0" right="#h0"/>
3420
<eq left="lane0" right="#h1"/>
3421
</derived>
3422
<derived start="3" size="1">
3423
<eq left="lane0" right="#h1"/>
3424
<eq left="lane0" right="#h0"/>
3425
</derived>
3426
</ins>
3427
3428
<ins name="+BRANCHC.i32" mask="0xffa38" exact="0x6f238" last="true" dests="0">
3429
<src start="0"/>
3430
<src start="6" mask="0xf7"/>
3431
<mod name="combine" start="10" size="1">
3432
<opt>any</opt>
3433
<opt>all</opt>
3434
</mod>
3435
</ins>
3436
3437
<ins name="+BRANCHZ.f16" mask="0xff000" exact="0x6f000" last="true" dests="0">
3438
<src start="0"/>
3439
<src start="6" mask="0xf7"/>
3440
<mod name="widen0" size="2">
3441
<opt>none</opt>
3442
<opt>h0</opt>
3443
<opt>h1</opt>
3444
</mod>
3445
<mod name="cmpf" size="3">
3446
<opt>eq</opt>
3447
<opt>gt</opt>
3448
<opt>ge</opt>
3449
<opt>ne</opt>
3450
<opt>lt</opt>
3451
<opt>le</opt>
3452
</mod>
3453
<derived start="4" size="2">
3454
<reserved/>
3455
<eq left="widen0" right="#h1"/>
3456
<eq left="widen0" right="#h0"/>
3457
<reserved/>
3458
</derived>
3459
<derived start="3" size="1">
3460
<or>
3461
<eq left="cmpf" right="#ne"/>
3462
<eq left="cmpf" right="#ge"/>
3463
<eq left="cmpf" right="#le"/>
3464
</or>
3465
<or>
3466
<eq left="cmpf" right="#eq"/>
3467
<eq left="cmpf" right="#gt"/>
3468
<eq left="cmpf" right="#lt"/>
3469
</or>
3470
</derived>
3471
<derived start="9" size="3">
3472
<reserved/>
3473
<reserved/>
3474
<reserved/>
3475
<reserved/>
3476
<reserved/>
3477
<or>
3478
<eq left="cmpf" right="#ne"/>
3479
<eq left="cmpf" right="#eq"/>
3480
</or>
3481
<or>
3482
<eq left="cmpf" right="#ge"/>
3483
<eq left="cmpf" right="#gt"/>
3484
</or>
3485
<or>
3486
<eq left="cmpf" right="#le"/>
3487
<eq left="cmpf" right="#lt"/>
3488
</or>
3489
</derived>
3490
</ins>
3491
3492
<ins name="+BRANCHZ.f32" mask="0xff030" exact="0x6f000" last="true" dests="0">
3493
<src start="0"/>
3494
<src start="6" mask="0xf7"/>
3495
<mod name="cmpf" size="3">
3496
<opt>eq</opt>
3497
<opt>gt</opt>
3498
<opt>ge</opt>
3499
<opt>ne</opt>
3500
<opt>lt</opt>
3501
<opt>le</opt>
3502
</mod>
3503
<derived start="3" size="1">
3504
<or>
3505
<eq left="cmpf" right="#ne"/>
3506
<eq left="cmpf" right="#ge"/>
3507
<eq left="cmpf" right="#le"/>
3508
</or>
3509
<or>
3510
<eq left="cmpf" right="#eq"/>
3511
<eq left="cmpf" right="#gt"/>
3512
<eq left="cmpf" right="#lt"/>
3513
</or>
3514
</derived>
3515
<derived start="9" size="3">
3516
<reserved/>
3517
<reserved/>
3518
<reserved/>
3519
<reserved/>
3520
<reserved/>
3521
<or>
3522
<eq left="cmpf" right="#ne"/>
3523
<eq left="cmpf" right="#eq"/>
3524
</or>
3525
<or>
3526
<eq left="cmpf" right="#ge"/>
3527
<eq left="cmpf" right="#gt"/>
3528
</or>
3529
<or>
3530
<eq left="cmpf" right="#le"/>
3531
<eq left="cmpf" right="#lt"/>
3532
</or>
3533
</derived>
3534
</ins>
3535
3536
<ins name="+BRANCHZ.i16" mask="0xffe00" exact="0x6f800" last="true" dests="0">
3537
<src start="0"/>
3538
<src start="6" mask="0xf7"/>
3539
<mod name="widen0" size="2">
3540
<opt>none</opt>
3541
<opt>h0</opt>
3542
<opt>h1</opt>
3543
</mod>
3544
<mod name="cmpf" size="1">
3545
<opt>eq</opt>
3546
<opt>ne</opt>
3547
</mod>
3548
<derived start="4" size="2">
3549
<reserved/>
3550
<eq left="widen0" right="#h1"/>
3551
<eq left="widen0" right="#h0"/>
3552
<reserved/>
3553
</derived>
3554
<derived start="3" size="1">
3555
<eq left="cmpf" right="#ne"/>
3556
<eq left="cmpf" right="#eq"/>
3557
</derived>
3558
</ins>
3559
3560
<ins name="+BRANCHZ.i32" mask="0xffe30" exact="0x6f800" last="true" dests="0">
3561
<src start="0"/>
3562
<src start="6" mask="0xf7"/>
3563
<mod name="cmpf" size="1">
3564
<opt>eq</opt>
3565
<opt>ne</opt>
3566
</mod>
3567
<derived start="3" size="1">
3568
<eq left="cmpf" right="#ne"/>
3569
<eq left="cmpf" right="#eq"/>
3570
</derived>
3571
</ins>
3572
3573
<ins name="+BRANCHZ.s16" mask="0xff008" exact="0x6f008" last="true" dests="0">
3574
<src start="0"/>
3575
<src start="6" mask="0xf7"/>
3576
<mod name="widen0" size="2">
3577
<opt>none</opt>
3578
<opt>h0</opt>
3579
<opt>h1</opt>
3580
</mod>
3581
<mod name="cmpf" size="2">
3582
<opt>gt</opt>
3583
<opt>ge</opt>
3584
<opt>lt</opt>
3585
<opt>le</opt>
3586
</mod>
3587
<derived start="4" size="2">
3588
<reserved/>
3589
<eq left="widen0" right="#h1"/>
3590
<eq left="widen0" right="#h0"/>
3591
<reserved/>
3592
</derived>
3593
<derived start="9" size="3">
3594
<eq left="cmpf" right="#lt"/>
3595
<eq left="cmpf" right="#le"/>
3596
<eq left="cmpf" right="#ge"/>
3597
<eq left="cmpf" right="#gt"/>
3598
<reserved/>
3599
<reserved/>
3600
<reserved/>
3601
<reserved/>
3602
</derived>
3603
</ins>
3604
3605
<ins name="+BRANCHZ.s32" mask="0xff038" exact="0x6f008" last="true" dests="0">
3606
<src start="0"/>
3607
<src start="6" mask="0xf7"/>
3608
<mod name="cmpf" size="2">
3609
<opt>gt</opt>
3610
<opt>ge</opt>
3611
<opt>lt</opt>
3612
<opt>le</opt>
3613
</mod>
3614
<derived start="9" size="3">
3615
<eq left="cmpf" right="#lt"/>
3616
<eq left="cmpf" right="#le"/>
3617
<eq left="cmpf" right="#ge"/>
3618
<eq left="cmpf" right="#gt"/>
3619
<reserved/>
3620
<reserved/>
3621
<reserved/>
3622
<reserved/>
3623
</derived>
3624
</ins>
3625
3626
<ins name="+BRANCHZ.u16" mask="0xff008" exact="0x6f000" last="true" dests="0">
3627
<src start="0"/>
3628
<src start="6" mask="0xf7"/>
3629
<mod name="widen0" size="2">
3630
<opt>none</opt>
3631
<opt>h0</opt>
3632
<opt>h1</opt>
3633
</mod>
3634
<mod name="cmpf" size="2">
3635
<opt>gt</opt>
3636
<opt>ge</opt>
3637
<opt>lt</opt>
3638
<opt>le</opt>
3639
</mod>
3640
<derived start="4" size="2">
3641
<reserved/>
3642
<eq left="widen0" right="#h1"/>
3643
<eq left="widen0" right="#h0"/>
3644
<reserved/>
3645
</derived>
3646
<derived start="9" size="3">
3647
<eq left="cmpf" right="#lt"/>
3648
<eq left="cmpf" right="#le"/>
3649
<eq left="cmpf" right="#ge"/>
3650
<eq left="cmpf" right="#gt"/>
3651
<reserved/>
3652
<reserved/>
3653
<reserved/>
3654
<reserved/>
3655
</derived>
3656
</ins>
3657
3658
<ins name="+BRANCHZ.u32" mask="0xff038" exact="0x6f000" last="true" dests="0">
3659
<src start="0"/>
3660
<src start="6" mask="0xf7"/>
3661
<mod name="cmpf" size="2">
3662
<opt>gt</opt>
3663
<opt>ge</opt>
3664
<opt>lt</opt>
3665
<opt>le</opt>
3666
</mod>
3667
<derived start="9" size="3">
3668
<eq left="cmpf" right="#lt"/>
3669
<eq left="cmpf" right="#le"/>
3670
<eq left="cmpf" right="#ge"/>
3671
<eq left="cmpf" right="#gt"/>
3672
<reserved/>
3673
<reserved/>
3674
<reserved/>
3675
<reserved/>
3676
</derived>
3677
</ins>
3678
3679
<ins name="+BRANCH_DIVERG" mask="0xffe3f" exact="0x6f83c" last="true" dests="0">
3680
<src start="6" mask="0xf7"/>
3681
</ins>
3682
3683
<ins name="+BRANCH_LOWBITS.f32" mask="0xffe38" exact="0x6fa38" last="true" dests="0">
3684
<src start="0"/>
3685
<src start="6" mask="0xf7"/>
3686
</ins>
3687
3688
<ins name="+BRANCH_NO_DIVERG" mask="0xffe3f" exact="0x6fa34" last="true" dests="0">
3689
<src start="6" mask="0xf7"/>
3690
</ins>
3691
3692
<ins name="+CLPER_V6.i32" mask="0xfffc0" exact="0x3f0c0">
3693
<src start="0" mask="0x7"/>
3694
<src start="3"/>
3695
</ins>
3696
3697
<ins name="+CLPER_V7.i32" mask="0xfc000" exact="0x7c000">
3698
<src start="0" mask="0x7"/>
3699
<src start="3"/>
3700
<mod name="lane_op" start="6" size="2">
3701
<opt>none</opt>
3702
<opt>xor</opt>
3703
<opt>accumulate</opt>
3704
<opt>shift</opt>
3705
</mod>
3706
<mod name="subgroup" start="8" size="2">
3707
<opt>subgroup2</opt>
3708
<opt>subgroup4</opt>
3709
<opt>subgroup8</opt>
3710
</mod>
3711
<mod name="inactive_result" start="10" size="4">
3712
<opt>zero</opt>
3713
<opt>umax</opt>
3714
<opt>i1</opt>
3715
<opt>v2i1</opt>
3716
<opt>smin</opt>
3717
<opt>smax</opt>
3718
<opt>v2smin</opt>
3719
<opt>v2smax</opt>
3720
<opt>v4smin</opt>
3721
<opt>v4smax</opt>
3722
<opt>f1</opt>
3723
<opt>v2f1</opt>
3724
<opt>infn</opt>
3725
<opt>inf</opt>
3726
<opt>v2infn</opt>
3727
<opt>v2inf</opt>
3728
</mod>
3729
</ins>
3730
3731
<ins name="+CUBEFACE2" mask="0xffff8" exact="0x3de58">
3732
<src start="0"/>
3733
</ins>
3734
3735
<ins name="+CUBE_SSEL" mask="0xffc00" exact="0x3e000">
3736
<src start="0"/>
3737
<src start="3"/>
3738
<src start="6"/>
3739
<mod name="neg0" size="1" opt="neg"/>
3740
<mod name="neg1" size="1" opt="neg"/>
3741
<derived start="9" size="1">
3742
<and>
3743
<eq left="neg0" right="#none"/>
3744
<eq left="neg1" right="#none"/>
3745
</and>
3746
<and>
3747
<eq left="neg0" right="#neg"/>
3748
<eq left="neg1" right="#neg"/>
3749
</and>
3750
</derived>
3751
</ins>
3752
3753
<ins name="+CUBE_TSEL" mask="0xffc00" exact="0x3e400">
3754
<src start="0"/>
3755
<src start="3"/>
3756
<src start="6"/>
3757
<mod name="neg0" size="1" opt="neg"/>
3758
<mod name="neg1" size="1" opt="neg"/>
3759
<derived start="9" size="1">
3760
<and>
3761
<eq left="neg0" right="#none"/>
3762
<eq left="neg1" right="#none"/>
3763
</and>
3764
<and>
3765
<eq left="neg0" right="#neg"/>
3766
<eq left="neg1" right="#neg"/>
3767
</and>
3768
</derived>
3769
</ins>
3770
3771
<ins name="+DISCARD.f32" mask="0xff800" exact="0xc8800" dests="0">
3772
<src start="0"/>
3773
<src start="3"/>
3774
<mod name="cmpf" size="3">
3775
<opt>eq</opt>
3776
<opt>gt</opt>
3777
<opt>ge</opt>
3778
<opt>ne</opt>
3779
<opt>lt</opt>
3780
<opt>le</opt>
3781
</mod>
3782
<mod name="widen0" size="2">
3783
<opt>none</opt>
3784
<opt>h0</opt>
3785
<opt>h1</opt>
3786
</mod>
3787
<mod name="widen1" size="2">
3788
<opt>none</opt>
3789
<opt>h0</opt>
3790
<opt>h1</opt>
3791
</mod>
3792
<derived start="6" size="2">
3793
<eq left="cmpf" right="#eq"/>
3794
<eq left="cmpf" right="#ne"/>
3795
<eq left="cmpf" right="#lt"/>
3796
<eq left="cmpf" right="#le"/>
3797
</derived>
3798
<derived start="8" size="3">
3799
<and>
3800
<eq left="widen0" right="#h0"/>
3801
<eq left="widen1" right="#h0"/>
3802
</and>
3803
<and>
3804
<eq left="widen0" right="#h1"/>
3805
<eq left="widen1" right="#h0"/>
3806
</and>
3807
<and>
3808
<eq left="widen0" right="#h0"/>
3809
<eq left="widen1" right="#h1"/>
3810
</and>
3811
<and>
3812
<eq left="widen0" right="#h1"/>
3813
<eq left="widen1" right="#h1"/>
3814
</and>
3815
<and>
3816
<eq left="widen0" right="#none"/>
3817
<eq left="widen1" right="#none"/>
3818
</and>
3819
<reserved/>
3820
<reserved/>
3821
<reserved/>
3822
</derived>
3823
<swap left="0" right="1">
3824
<or>
3825
<eq left="cmpf" right="#gt"/>
3826
<eq left="cmpf" right="#ge"/>
3827
</or>
3828
<rewrite name="cmpf">
3829
<map from="gt" to="lt"/>
3830
<map from="ge" to="le"/>
3831
</rewrite>
3832
</swap>
3833
</ins>
3834
3835
<ins name="+DOORBELL" mask="0xffff8" exact="0xd7860" unused="true" message="job_management" dests="0">
3836
<src start="0"/>
3837
</ins>
3838
3839
<ins name="+EUREKA" mask="0xffff8" exact="0xd7850" unused="true" message="job_management" dests="0">
3840
<src start="0"/>
3841
</ins>
3842
3843
<ins name="+F16_TO_F32" mask="0xffff0" exact="0x3cd10">
3844
<src start="0"/>
3845
<mod name="lane0" start="3" size="1" default="h0">
3846
<opt>h0</opt>
3847
<opt>h1</opt>
3848
</mod>
3849
</ins>
3850
3851
<ins name="+F16_TO_S32">
3852
<src start="0"/>
3853
<mod name="round" size="3">
3854
<opt>none</opt>
3855
<opt>rtp</opt>
3856
<opt>rtn</opt>
3857
<opt>rtz</opt>
3858
<opt>rtna</opt>
3859
</mod>
3860
<mod name="lane0" size="1" default="h0">
3861
<opt>h0</opt>
3862
<opt>h1</opt>
3863
</mod>
3864
<encoding mask="0xfff48" exact="0x3c500">
3865
<neq left="round" right="#rtna"/>
3866
<copy name="lane0" start="7"/>
3867
<derived start="4" size="2">
3868
<eq left="round" right="#none"/>
3869
<eq left="round" right="#rtp"/>
3870
<eq left="round" right="#rtn"/>
3871
<eq left="round" right="#rtz"/>
3872
</derived>
3873
</encoding>
3874
<encoding mask="0xfffd8" exact="0x3cc40">
3875
<eq left="round" right="#rtna"/>
3876
<copy name="lane0" start="5"/>
3877
</encoding>
3878
</ins>
3879
3880
<ins name="+F16_TO_U32">
3881
<src start="0"/>
3882
<mod name="round" size="3">
3883
<opt>none</opt>
3884
<opt>rtp</opt>
3885
<opt>rtn</opt>
3886
<opt>rtz</opt>
3887
<opt>rtna</opt>
3888
</mod>
3889
<mod name="lane0" size="1" default="h0">
3890
<opt>h0</opt>
3891
<opt>h1</opt>
3892
</mod>
3893
<encoding mask="0xfff48" exact="0x3c508">
3894
<neq left="round" right="#rtna"/>
3895
<copy name="lane0" start="7"/>
3896
<derived start="4" size="2">
3897
<eq left="round" right="#none"/>
3898
<eq left="round" right="#rtp"/>
3899
<eq left="round" right="#rtn"/>
3900
<eq left="round" right="#rtz"/>
3901
</derived>
3902
</encoding>
3903
<encoding mask="0xfffd8" exact="0x3cc48">
3904
<eq left="round" right="#rtna"/>
3905
<copy name="lane0" start="5"/>
3906
</encoding>
3907
</ins>
3908
3909
<ins name="+F32_TO_S32">
3910
<src start="0"/>
3911
<mod name="round" size="3">
3912
<opt>none</opt>
3913
<opt>rtp</opt>
3914
<opt>rtn</opt>
3915
<opt>rtz</opt>
3916
<opt>rtna</opt>
3917
</mod>
3918
<encoding mask="0xfffc8" exact="0x3c980">
3919
<neq left="round" right="#rtna"/>
3920
<derived start="4" size="2">
3921
<eq left="round" right="#none"/>
3922
<eq left="round" right="#rtp"/>
3923
<eq left="round" right="#rtn"/>
3924
<eq left="round" right="#rtz"/>
3925
</derived>
3926
</encoding>
3927
<encoding mask="0xffff8" exact="0x3cca0">
3928
<eq left="round" right="#rtna"/>
3929
</encoding>
3930
</ins>
3931
3932
<ins name="+F32_TO_U32">
3933
<src start="0"/>
3934
<mod name="round" size="3">
3935
<opt>none</opt>
3936
<opt>rtp</opt>
3937
<opt>rtn</opt>
3938
<opt>rtz</opt>
3939
<opt>rtna</opt>
3940
</mod>
3941
<encoding mask="0xfffc8" exact="0x3c988">
3942
<neq left="round" right="#rtna"/>
3943
<derived start="4" size="2">
3944
<eq left="round" right="#none"/>
3945
<eq left="round" right="#rtp"/>
3946
<eq left="round" right="#rtn"/>
3947
<eq left="round" right="#rtz"/>
3948
</derived>
3949
</encoding>
3950
<encoding mask="0xffff8" exact="0x3cca8">
3951
<eq left="round" right="#rtna"/>
3952
</encoding>
3953
</ins>
3954
3955
<ins name="+FADD.f32">
3956
<src start="0"/>
3957
<src start="3"/>
3958
<mod name="round" size="3">
3959
<opt>none</opt>
3960
<opt>rtp</opt>
3961
<opt>rtn</opt>
3962
<opt>rtz</opt>
3963
<opt>rto</opt>
3964
</mod>
3965
<mod name="abs1" size="1" opt="abs"/>
3966
<mod name="neg0" size="1" opt="neg"/>
3967
<mod name="neg1" size="1" opt="neg"/>
3968
<mod name="clamp" size="2">
3969
<opt>none</opt>
3970
<opt>clamp_0_inf</opt>
3971
<opt>clamp_m1_1</opt>
3972
<opt>clamp_0_1</opt>
3973
</mod>
3974
<mod name="abs0" size="1" opt="abs"/>
3975
<mod name="widen0" size="2">
3976
<opt>none</opt>
3977
<opt>h0</opt>
3978
<opt>h1</opt>
3979
</mod>
3980
<mod name="widen1" size="2">
3981
<opt>none</opt>
3982
<opt>h0</opt>
3983
<opt>h1</opt>
3984
</mod>
3985
<encoding mask="0xf0000" exact="0x20000">
3986
<neq left="round" right="#rto"/>
3987
<copy name="abs1" start="6"/>
3988
<copy name="neg0" start="7"/>
3989
<copy name="neg1" start="8"/>
3990
<copy name="clamp" start="11"/>
3991
<copy name="abs0" start="15"/>
3992
<derived start="13" size="2">
3993
<eq left="round" right="#none"/>
3994
<eq left="round" right="#rtp"/>
3995
<eq left="round" right="#rtn"/>
3996
<eq left="round" right="#rtz"/>
3997
</derived>
3998
<derived start="9" size="2">
3999
<and>
4000
<eq left="widen0" right="#none"/>
4001
<eq left="widen1" right="#none"/>
4002
</and>
4003
<and>
4004
<eq left="widen0" right="#none"/>
4005
<eq left="widen1" right="#h0"/>
4006
</and>
4007
<and>
4008
<eq left="widen0" right="#none"/>
4009
<eq left="widen1" right="#h1"/>
4010
</and>
4011
<and>
4012
<eq left="widen0" right="#h0"/>
4013
<eq left="widen1" right="#h0"/>
4014
</and>
4015
</derived>
4016
</encoding>
4017
<encoding mask="0xfffc0" exact="0x75200">
4018
<and>
4019
<eq left="round" right="#rto"/>
4020
<eq left="widen0" right="#none"/>
4021
<eq left="widen1" right="#none"/>
4022
<eq left="abs0" right="#none"/>
4023
<eq left="abs1" right="#none"/>
4024
<eq left="neg0" right="#none"/>
4025
<eq left="neg1" right="#none"/>
4026
<eq left="clamp" right="#none"/>
4027
</and>
4028
</encoding>
4029
<swap left="0" right="1">
4030
<or>
4031
<and>
4032
<eq left="widen0" right="#h0"/>
4033
<eq left="widen1" right="#none"/>
4034
</and>
4035
<and>
4036
<eq left="widen0" right="#h1"/>
4037
<eq left="widen1" right="#none"/>
4038
</and>
4039
</or>
4040
</swap>
4041
</ins>
4042
4043
<ins name="+FADD.v2f16" mask="0xf0000" exact="0xa0000">
4044
<src start="0"/>
4045
<src start="3"/>
4046
<mod name="abs1" start="6" size="1" opt="abs"/>
4047
<mod name="neg0" start="7" size="1" opt="neg"/>
4048
<mod name="neg1" start="8" size="1" opt="neg"/>
4049
<mod name="swz0" start="9" size="2" default="h01">
4050
<opt>h00</opt>
4051
<opt>h10</opt>
4052
<opt>h01</opt>
4053
<opt>h11</opt>
4054
</mod>
4055
<mod name="swz1" start="11" size="2" default="h01">
4056
<opt>h00</opt>
4057
<opt>h10</opt>
4058
<opt>h01</opt>
4059
<opt>h11</opt>
4060
</mod>
4061
<mod name="round" start="13" size="2">
4062
<opt>none</opt>
4063
<opt>rtp</opt>
4064
<opt>rtn</opt>
4065
<opt>rtz</opt>
4066
</mod>
4067
<mod name="abs0" start="15" size="1" opt="abs"/>
4068
</ins>
4069
4070
<ins name="+FADD_RSCALE.f32" mask="0xe8000" exact="0x88000">
4071
<src start="0"/>
4072
<src start="3"/>
4073
<src start="6"/>
4074
<mod name="clamp" size="1" opt="clamp_0_1"/>
4075
<mod name="special" size="1" opt="n"/>
4076
<mod name="round" size="3">
4077
<opt>none</opt>
4078
<opt>rtp</opt>
4079
<opt>rtn</opt>
4080
<opt>rtz</opt>
4081
<opt>rtna</opt>
4082
</mod>
4083
<mod name="abs1" start="12" size="1" opt="abs"/>
4084
<mod name="neg0" start="13" size="1" opt="neg"/>
4085
<mod name="neg1" start="14" size="1" opt="neg"/>
4086
<mod name="abs0" start="16" size="1" opt="abs"/>
4087
<derived start="9" size="3">
4088
<and>
4089
<eq left="clamp" right="#none"/>
4090
<eq left="special" right="#none"/>
4091
<eq left="round" right="#none"/>
4092
</and>
4093
<reserved/>
4094
<and>
4095
<eq left="clamp" right="#clamp_0_1"/>
4096
<eq left="special" right="#none"/>
4097
<eq left="round" right="#none"/>
4098
</and>
4099
<and>
4100
<eq left="clamp" right="#none"/>
4101
<eq left="special" right="#n"/>
4102
<eq left="round" right="#rtna"/>
4103
</and>
4104
<and>
4105
<eq left="clamp" right="#none"/>
4106
<eq left="special" right="#n"/>
4107
<eq left="round" right="#none"/>
4108
</and>
4109
<and>
4110
<eq left="clamp" right="#none"/>
4111
<eq left="special" right="#n"/>
4112
<eq left="round" right="#rtp"/>
4113
</and>
4114
<and>
4115
<eq left="clamp" right="#none"/>
4116
<eq left="special" right="#n"/>
4117
<eq left="round" right="#rtn"/>
4118
</and>
4119
<and>
4120
<eq left="clamp" right="#none"/>
4121
<eq left="special" right="#n"/>
4122
<eq left="round" right="#rtz"/>
4123
</and>
4124
</derived>
4125
</ins>
4126
4127
<ins name="+FATAN_ASSIST.f16" mask="0xfff00" exact="0x67800" unused="true" table="true">
4128
<src start="0" mask="0xf7"/>
4129
<src start="3" mask="0xf7"/>
4130
<mod name="lane1" start="6" size="1" default="h0">
4131
<opt>h0</opt>
4132
<opt>h1</opt>
4133
</mod>
4134
<mod name="lane0" start="7" size="1" default="h0">
4135
<opt>h0</opt>
4136
<opt>h1</opt>
4137
</mod>
4138
</ins>
4139
4140
<ins name="+FATAN_ASSIST.f32" mask="0xfffc0" exact="0x67a00" unused="true" table="true">
4141
<src start="0" mask="0xf7"/>
4142
<src start="3" mask="0xf7"/>
4143
</ins>
4144
4145
<ins name="+FATAN_TABLE.f16" mask="0xfff00" exact="0x67900" unused="true" table="true">
4146
<src start="0" mask="0xf7"/>
4147
<src start="3" mask="0xf7"/>
4148
<mod name="lane1" start="6" size="1" default="h0">
4149
<opt>h0</opt>
4150
<opt>h1</opt>
4151
</mod>
4152
<mod name="lane0" start="7" size="1" default="h0">
4153
<opt>h0</opt>
4154
<opt>h1</opt>
4155
</mod>
4156
</ins>
4157
4158
<ins name="+FATAN_TABLE.f32" mask="0xfffc0" exact="0x67a40" unused="true" table="true">
4159
<src start="0" mask="0xf7"/>
4160
<src start="3" mask="0xf7"/>
4161
</ins>
4162
4163
<ins name="+FCMP.f32" mask="0xf0000" exact="0x30000">
4164
<src start="0"/>
4165
<src start="3"/>
4166
<mod name="widen0" size="2">
4167
<opt>none</opt>
4168
<opt>h0</opt>
4169
<opt>h1</opt>
4170
</mod>
4171
<mod name="widen1" size="2">
4172
<opt>none</opt>
4173
<opt>h0</opt>
4174
<opt>h1</opt>
4175
</mod>
4176
<mod name="neg0" size="1" opt="neg"/>
4177
<mod name="neg1" size="1" opt="neg"/>
4178
<mod name="cmpf" start="6" size="3">
4179
<opt>eq</opt>
4180
<opt>gt</opt>
4181
<opt>ge</opt>
4182
<opt>ne</opt>
4183
<opt>lt</opt>
4184
<opt>le</opt>
4185
<opt>gtlt</opt>
4186
<opt>total</opt>
4187
</mod>
4188
<mod name="abs0" start="11" size="1" opt="abs"/>
4189
<mod name="abs1" start="12" size="1" opt="abs"/>
4190
<mod name="result_type" start="14" size="2" default="i1">
4191
<opt>i1</opt>
4192
<opt>f1</opt>
4193
<opt>m1</opt>
4194
</mod>
4195
<derived start="9" size="2">
4196
<and>
4197
<eq left="widen0" right="#none"/>
4198
<eq left="widen1" right="#none"/>
4199
</and>
4200
<and>
4201
<eq left="widen0" right="#none"/>
4202
<eq left="widen1" right="#h0"/>
4203
</and>
4204
<and>
4205
<eq left="widen0" right="#none"/>
4206
<eq left="widen1" right="#h1"/>
4207
</and>
4208
<and>
4209
<eq left="widen0" right="#h0"/>
4210
<eq left="widen1" right="#h0"/>
4211
</and>
4212
</derived>
4213
<derived start="13" size="1">
4214
<and>
4215
<eq left="neg0" right="#none"/>
4216
<eq left="neg1" right="#none"/>
4217
</and>
4218
<and>
4219
<eq left="neg0" right="#neg"/>
4220
<eq left="neg1" right="#none"/>
4221
</and>
4222
</derived>
4223
<swap left="0" right="1">
4224
<or>
4225
<and>
4226
<eq left="neg0" right="#none"/>
4227
<eq left="neg1" right="#neg"/>
4228
</and>
4229
<and>
4230
<eq left="widen0" right="#h0"/>
4231
<eq left="widen1" right="#none"/>
4232
</and>
4233
<and>
4234
<eq left="widen0" right="#h1"/>
4235
<eq left="widen1" right="#none"/>
4236
</and>
4237
</or>
4238
<rewrite name="cmpf">
4239
<map from="lt" to="gt"/>
4240
<map from="le" to="ge"/>
4241
<map from="gt" to="lt"/>
4242
<map from="ge" to="le"/>
4243
</rewrite>
4244
</swap>
4245
</ins>
4246
4247
<ins name="+FCMP.v2f16" mask="0xf0000" exact="0xb0000">
4248
<src start="0"/>
4249
<src start="3"/>
4250
<mod name="neg0" size="1" opt="neg"/>
4251
<mod name="neg1" size="1" opt="neg"/>
4252
<mod name="cmpf" start="6" size="3">
4253
<opt>eq</opt>
4254
<opt>gt</opt>
4255
<opt>ge</opt>
4256
<opt>ne</opt>
4257
<opt>lt</opt>
4258
<opt>le</opt>
4259
<opt>gtlt</opt>
4260
<opt>total</opt>
4261
</mod>
4262
<mod name="swz0" start="9" size="2" default="h01">
4263
<opt>h00</opt>
4264
<opt>h10</opt>
4265
<opt>h01</opt>
4266
<opt>h11</opt>
4267
</mod>
4268
<mod name="swz1" start="11" size="2" default="h01">
4269
<opt>h00</opt>
4270
<opt>h10</opt>
4271
<opt>h01</opt>
4272
<opt>h11</opt>
4273
</mod>
4274
<mod name="result_type" start="14" size="2" default="i1">
4275
<opt>i1</opt>
4276
<opt>f1</opt>
4277
<opt>m1</opt>
4278
</mod>
4279
<derived start="13" size="1">
4280
<and>
4281
<eq left="neg0" right="#none"/>
4282
<eq left="neg1" right="#none"/>
4283
</and>
4284
<and>
4285
<eq left="neg0" right="#neg"/>
4286
<eq left="neg1" right="#none"/>
4287
</and>
4288
</derived>
4289
<swap left="0" right="1">
4290
<and>
4291
<eq left="neg0" right="#none"/>
4292
<eq left="neg1" right="#neg"/>
4293
</and>
4294
<rewrite name="cmpf">
4295
<map from="lt" to="gt"/>
4296
<map from="le" to="ge"/>
4297
<map from="gt" to="lt"/>
4298
<map from="ge" to="le"/>
4299
</rewrite>
4300
</swap>
4301
</ins>
4302
4303
<ins name="+FCOS_TABLE.u6" mask="0xfffe8" exact="0x67a88" table="true">
4304
<src start="0" mask="0xf7"/>
4305
<mod name="offset" start="4" size="1" opt="offset"/>
4306
</ins>
4307
4308
<ins name="+FEXP.f32" mask="0xfffc0" exact="0x66ac0" table="true">
4309
<src start="0" mask="0xf7"/>
4310
<src start="3" mask="0xf7"/>
4311
</ins>
4312
4313
<ins name="+FEXP_TABLE.u4" mask="0xfffe0" exact="0x67ac0" table="true">
4314
<src start="0" mask="0xf7"/>
4315
<mod name="adj" start="3" size="2">
4316
<opt>none</opt>
4317
<opt>small</opt>
4318
<opt>low</opt>
4319
</mod>
4320
</ins>
4321
4322
<ins name="+FLOGD.f32" mask="0xffff8" exact="0x66340" table="true">
4323
<src start="0" mask="0xf7"/>
4324
</ins>
4325
4326
<ins name="+FLOG_TABLE.f32" table="true">
4327
<src start="0" mask="0xf7"/>
4328
<mod name="widen0" size="2">
4329
<opt>none</opt>
4330
<opt>h0</opt>
4331
<opt>h1</opt>
4332
</mod>
4333
<mod name="mode" size="2">
4334
<opt>red</opt>
4335
<opt>base2</opt>
4336
<opt>natural</opt>
4337
</mod>
4338
<mod name="precision" size="2">
4339
<opt>none</opt>
4340
<opt>high</opt>
4341
<opt>low</opt>
4342
</mod>
4343
<mod name="neg0" size="1" opt="neg"/>
4344
<mod name="abs0" size="1" opt="abs"/>
4345
<mod name="divzero" size="1" opt="divzero"/>
4346
<encoding mask="0xfffc0" exact="0x67300">
4347
<and>
4348
<eq left="mode" right="#red"/>
4349
<eq left="widen0" right="#none"/>
4350
<eq left="precision" right="#none"/>
4351
</and>
4352
<copy name="neg0" start="3"/>
4353
<copy name="abs0" start="4"/>
4354
<copy name="divzero" start="5"/>
4355
</encoding>
4356
<encoding mask="0xfff40" exact="0x67340">
4357
<and>
4358
<eq left="mode" right="#red"/>
4359
<neq left="widen0" right="#none"/>
4360
<eq left="precision" right="#none"/>
4361
</and>
4362
<copy name="neg0" start="3"/>
4363
<copy name="abs0" start="4"/>
4364
<copy name="divzero" start="5"/>
4365
<derived start="7" size="1">
4366
<eq left="widen0" right="#h0"/>
4367
<eq left="widen0" right="#h1"/>
4368
</derived>
4369
</encoding>
4370
<encoding mask="0xfffc0" exact="0x67b00">
4371
<and>
4372
<neq left="mode" right="#red"/>
4373
<eq left="widen0" right="#none"/>
4374
<eq left="precision" right="#none"/>
4375
<eq left="divzero" right="#none"/>
4376
</and>
4377
<copy name="neg0" start="3"/>
4378
<copy name="abs0" start="4"/>
4379
<derived start="5" size="1">
4380
<eq left="mode" right="#base2"/>
4381
<eq left="mode" right="#natural"/>
4382
</derived>
4383
</encoding>
4384
<encoding mask="0xfff40" exact="0x67b40">
4385
<and>
4386
<neq left="mode" right="#red"/>
4387
<neq left="widen0" right="#none"/>
4388
<eq left="precision" right="#none"/>
4389
<eq left="divzero" right="#none"/>
4390
</and>
4391
<copy name="neg0" start="3"/>
4392
<copy name="abs0" start="4"/>
4393
<derived start="5" size="1">
4394
<eq left="mode" right="#base2"/>
4395
<eq left="mode" right="#natural"/>
4396
</derived>
4397
<derived start="7" size="1">
4398
<eq left="widen0" right="#h0"/>
4399
<eq left="widen0" right="#h1"/>
4400
</derived>
4401
</encoding>
4402
<encoding mask="0xfffe0" exact="0x67ae0">
4403
<and>
4404
<neq left="mode" right="#red"/>
4405
<eq left="widen0" right="#none"/>
4406
<neq left="precision" right="#none"/>
4407
<eq left="divzero" right="#none"/>
4408
<eq left="abs0" right="#none"/>
4409
<eq left="neg0" right="#none"/>
4410
</and>
4411
<derived start="3" size="1">
4412
<eq left="mode" right="#natural"/>
4413
<eq left="mode" right="#base2"/>
4414
</derived>
4415
<derived start="4" size="1">
4416
<eq left="precision" right="#high"/>
4417
<eq left="precision" right="#low"/>
4418
</derived>
4419
</encoding>
4420
</ins>
4421
4422
<ins name="+FMAX.f32" mask="0xf0600" exact="0x0">
4423
<src start="0"/>
4424
<src start="3"/>
4425
<mod name="abs1" start="6" size="1" opt="abs"/>
4426
<mod name="neg0" start="7" size="1" opt="neg"/>
4427
<mod name="neg1" start="8" size="1" opt="neg"/>
4428
<mod name="clamp" start="11" size="2">
4429
<opt>none</opt>
4430
<opt>clamp_0_inf</opt>
4431
<opt>clamp_m1_1</opt>
4432
<opt>clamp_0_1</opt>
4433
</mod>
4434
<mod name="sem" start="13" size="2" default="nan_suppress">
4435
<opt>nan_suppress</opt>
4436
<opt>nan_propagate</opt>
4437
<opt>c</opt>
4438
<opt>inverse_c</opt>
4439
</mod>
4440
<mod name="abs0" start="15" size="1" opt="abs"/>
4441
</ins>
4442
4443
<ins name="+FMAX.v2f16" mask="0xf8000" exact="0x80000">
4444
<src start="0"/>
4445
<src start="3"/>
4446
<mod name="abs0" size="1" opt="abs"/>
4447
<mod name="abs1" size="1" opt="abs"/>
4448
<mod name="neg0" start="7" size="1" opt="neg"/>
4449
<mod name="neg1" start="8" size="1" opt="neg"/>
4450
<mod name="swz0" start="9" size="2" default="h01">
4451
<opt>h00</opt>
4452
<opt>h10</opt>
4453
<opt>h01</opt>
4454
<opt>h11</opt>
4455
</mod>
4456
<mod name="swz1" start="11" size="2" default="h01">
4457
<opt>h00</opt>
4458
<opt>h10</opt>
4459
<opt>h01</opt>
4460
<opt>h11</opt>
4461
</mod>
4462
<mod name="sem" start="13" size="2" default="nan_suppress">
4463
<opt>nan_suppress</opt>
4464
<opt>nan_propagate</opt>
4465
<opt>c</opt>
4466
<opt>inverse_c</opt>
4467
</mod>
4468
<derived start="6" size="1">
4469
<or>
4470
<and>
4471
<eq left="abs0" right="#abs"/>
4472
<eq left="abs1" right="#none"/>
4473
<eq left="ordering" right="#gt"/>
4474
</and>
4475
<and>
4476
<eq left="abs0" right="#none"/>
4477
<eq left="abs1" right="#none"/>
4478
<neq left="ordering" right="#gt"/>
4479
</and>
4480
</or>
4481
<or>
4482
<and>
4483
<eq left="abs0" right="#abs"/>
4484
<eq left="abs1" right="#abs"/>
4485
<eq left="ordering" right="#gt"/>
4486
</and>
4487
<and>
4488
<eq left="abs0" right="#abs"/>
4489
<eq left="abs1" right="#none"/>
4490
<neq left="ordering" right="#gt"/>
4491
</and>
4492
</or>
4493
</derived>
4494
<swap left="0" right="1">
4495
<or>
4496
<and>
4497
<eq left="abs0" right="#none"/>
4498
<eq left="ordering" right="#gt"/>
4499
</and>
4500
<and>
4501
<eq left="abs1" right="#abs"/>
4502
<neq left="ordering" right="#gt"/>
4503
</and>
4504
</or>
4505
<rewrite name="sem">
4506
<map from="c" to="inverse_c"/>
4507
<map from="inverse_c" to="c"/>
4508
</rewrite>
4509
</swap>
4510
</ins>
4511
4512
<ins name="+FMIN.f32" mask="0xf0600" exact="0x10000">
4513
<src start="0"/>
4514
<src start="3"/>
4515
<mod name="abs1" start="6" size="1" opt="abs"/>
4516
<mod name="neg0" start="7" size="1" opt="neg"/>
4517
<mod name="neg1" start="8" size="1" opt="neg"/>
4518
<mod name="clamp" start="11" size="2">
4519
<opt>none</opt>
4520
<opt>clamp_0_inf</opt>
4521
<opt>clamp_m1_1</opt>
4522
<opt>clamp_0_1</opt>
4523
</mod>
4524
<mod name="sem" start="13" size="2" default="nan_suppress">
4525
<opt>nan_suppress</opt>
4526
<opt>nan_propagate</opt>
4527
<opt>c</opt>
4528
<opt>inverse_c</opt>
4529
</mod>
4530
<mod name="abs0" start="15" size="1" opt="abs"/>
4531
</ins>
4532
4533
<ins name="+FMIN.v2f16" mask="0xf8000" exact="0x90000">
4534
<src start="0"/>
4535
<src start="3"/>
4536
<mod name="abs0" size="1" opt="abs"/>
4537
<mod name="abs1" size="1" opt="abs"/>
4538
<mod name="neg0" start="7" size="1" opt="neg"/>
4539
<mod name="neg1" start="8" size="1" opt="neg"/>
4540
<mod name="swz0" start="9" size="2" default="h01">
4541
<opt>h00</opt>
4542
<opt>h10</opt>
4543
<opt>h01</opt>
4544
<opt>h11</opt>
4545
</mod>
4546
<mod name="swz1" start="11" size="2" default="h01">
4547
<opt>h00</opt>
4548
<opt>h10</opt>
4549
<opt>h01</opt>
4550
<opt>h11</opt>
4551
</mod>
4552
<mod name="sem" start="13" size="2" default="nan_suppress">
4553
<opt>nan_suppress</opt>
4554
<opt>nan_propagate</opt>
4555
<opt>c</opt>
4556
<opt>inverse_c</opt>
4557
</mod>
4558
<derived start="6" size="1">
4559
<or>
4560
<and>
4561
<eq left="abs0" right="#abs"/>
4562
<eq left="abs1" right="#none"/>
4563
<eq left="ordering" right="#gt"/>
4564
</and>
4565
<and>
4566
<eq left="abs0" right="#none"/>
4567
<eq left="abs1" right="#none"/>
4568
<neq left="ordering" right="#gt"/>
4569
</and>
4570
</or>
4571
<or>
4572
<and>
4573
<eq left="abs0" right="#abs"/>
4574
<eq left="abs1" right="#abs"/>
4575
<eq left="ordering" right="#gt"/>
4576
</and>
4577
<and>
4578
<eq left="abs0" right="#abs"/>
4579
<eq left="abs1" right="#none"/>
4580
<neq left="ordering" right="#gt"/>
4581
</and>
4582
</or>
4583
</derived>
4584
<swap left="0" right="1">
4585
<or>
4586
<and>
4587
<eq left="abs0" right="#none"/>
4588
<eq left="ordering" right="#gt"/>
4589
</and>
4590
<and>
4591
<eq left="abs1" right="#abs"/>
4592
<neq left="ordering" right="#gt"/>
4593
</and>
4594
</or>
4595
<rewrite name="sem">
4596
<map from="c" to="inverse_c"/>
4597
<map from="inverse_c" to="c"/>
4598
</rewrite>
4599
</swap>
4600
</ins>
4601
4602
<ins name="+FPCLASS.f16" mask="0xffff0" exact="0x67c40" table="true">
4603
<src start="0" mask="0xf7"/>
4604
<mod name="lane0" start="3" size="1" default="h0">
4605
<opt>h0</opt>
4606
<opt>h1</opt>
4607
</mod>
4608
</ins>
4609
4610
<ins name="+FPCLASS.f32" mask="0xffff8" exact="0x67c50" table="true">
4611
<src start="0" mask="0xf7"/>
4612
</ins>
4613
4614
<ins name="+FPOW_SC_APPLY" mask="0xfffc0" exact="0x75080">
4615
<src start="0"/>
4616
<src start="3"/>
4617
</ins>
4618
4619
<ins name="+FPOW_SC_DET.f16" table="true">
4620
<src start="0" mask="0xf7"/>
4621
<src start="3" mask="0xf7"/>
4622
<mod name="func" size="2">
4623
<opt>pow</opt>
4624
<opt>powr</opt>
4625
<opt>pown</opt>
4626
<opt>rootn</opt>
4627
</mod>
4628
<mod name="lane1" size="2">
4629
<opt>h0</opt>
4630
<opt>h1</opt>
4631
<opt>none</opt>
4632
</mod>
4633
<mod name="lane0" start="7" size="1" default="h0">
4634
<opt>h0</opt>
4635
<opt>h1</opt>
4636
</mod>
4637
<encoding mask="0xffe00" exact="0x67400">
4638
<or>
4639
<eq left="func" right="#pow"/>
4640
<eq left="func" right="#powr"/>
4641
</or>
4642
<derived start="6" size="1">
4643
<or>
4644
<eq alias="true" left="lane1" right="#none"/>
4645
<eq left="lane1" right="#h0"/>
4646
</or>
4647
<eq left="lane1" right="#h1"/>
4648
</derived>
4649
<derived start="8" size="1">
4650
<eq left="func" right="#pow"/>
4651
<eq left="func" right="#powr"/>
4652
</derived>
4653
</encoding>
4654
<encoding mask="0xffe40" exact="0x67600">
4655
<and>
4656
<or>
4657
<eq left="func" right="#pown"/>
4658
<eq left="func" right="#rootn"/>
4659
</or>
4660
<eq left="lane1" right="#none"/>
4661
</and>
4662
<derived start="8" size="1">
4663
<eq left="func" right="#pown"/>
4664
<eq left="func" right="#rootn"/>
4665
</derived>
4666
</encoding>
4667
</ins>
4668
4669
<ins name="+FPOW_SC_DET.f32" mask="0xffe40" exact="0x67640" table="true">
4670
<src start="0" mask="0xf7"/>
4671
<src start="3" mask="0xf7"/>
4672
<mod name="func" start="7" size="2">
4673
<opt>pow</opt>
4674
<opt>powr</opt>
4675
<opt>pown</opt>
4676
<opt>rootn</opt>
4677
</mod>
4678
</ins>
4679
4680
<ins name="+FRCBRT_APPROX_A.f32" unused="true" table="true">
4681
<src start="0" mask="0xf7"/>
4682
<mod name="widen0" size="2">
4683
<opt>none</opt>
4684
<opt>h0</opt>
4685
<opt>h1</opt>
4686
</mod>
4687
<mod name="neg0" start="3" size="1" opt="neg"/>
4688
<mod name="abs0" start="4" size="1" opt="abs"/>
4689
<mod name="divzero" start="5" size="1" opt="divzero"/>
4690
<encoding mask="0xfffc0" exact="0x67200">
4691
<eq left="widen0" right="#none"/>
4692
</encoding>
4693
<encoding mask="0xfff40" exact="0x67240">
4694
<neq left="widen0" right="#none"/>
4695
<derived start="7" size="1">
4696
<eq left="widen0" right="#h0"/>
4697
<eq left="widen0" right="#h1"/>
4698
</derived>
4699
</encoding>
4700
</ins>
4701
4702
<ins name="+FRCBRT_APPROX_B.f32" mask="0xffff8" exact="0x67ab0" unused="true" table="true">
4703
<src start="0" mask="0xf7"/>
4704
</ins>
4705
4706
<ins name="+FRCBRT_APPROX_C.f32" mask="0xffff8" exact="0x67ab8" unused="true" table="true">
4707
<src start="0" mask="0xf7"/>
4708
</ins>
4709
4710
<ins name="+FRCP.f16" mask="0xffec0" exact="0x67080" table="true">
4711
<src start="0" mask="0xf7"/>
4712
<mod name="neg0" start="3" size="1" opt="neg"/>
4713
<mod name="abs0" start="4" size="1" opt="abs"/>
4714
<mod name="divzero" start="5" size="1" opt="divzero"/>
4715
<mod name="lane0" start="8" size="1" default="h0">
4716
<opt>h0</opt>
4717
<opt>h1</opt>
4718
</mod>
4719
</ins>
4720
4721
<ins name="+FRCP.f32" mask="0xfffa0" exact="0x66000" table="true">
4722
<src start="0" mask="0xf7"/>
4723
<mod name="widen0" size="2">
4724
<opt>none</opt>
4725
</mod>
4726
<mod name="neg0" start="3" size="1" opt="neg"/>
4727
<mod name="abs0" start="4" size="1" opt="abs"/>
4728
<derived start="6" size="1">
4729
<eq left="widen0" right="#none"/>
4730
<reserved/>
4731
</derived>
4732
</ins>
4733
4734
<ins name="+FRCP_APPROX.f32" table="true">
4735
<src start="0" mask="0xf7"/>
4736
<mod name="widen0" size="2">
4737
<opt>none</opt>
4738
<opt>h0</opt>
4739
<opt>h1</opt>
4740
</mod>
4741
<mod name="neg0" start="3" size="1" opt="neg"/>
4742
<mod name="abs0" start="4" size="1" opt="abs"/>
4743
<mod name="divzero" start="5" size="1" opt="divzero"/>
4744
<encoding mask="0xfffc0" exact="0x67000">
4745
<eq left="widen0" right="#none"/>
4746
</encoding>
4747
<encoding mask="0xfff40" exact="0x67040">
4748
<neq left="widen0" right="#none"/>
4749
<derived start="7" size="1">
4750
<eq left="widen0" right="#h0"/>
4751
<eq left="widen0" right="#h1"/>
4752
</derived>
4753
</encoding>
4754
</ins>
4755
4756
<ins name="+FREXPE.f32">
4757
<src start="0"/>
4758
<mod name="neg0" size="1" opt="neg"/>
4759
<mod name="sqrt" size="1" opt="sqrt"/>
4760
<mod name="log" size="1" opt="log"/>
4761
<mod name="widen0" start="3" size="2">
4762
<reserved/>
4763
<opt>none</opt>
4764
<opt>h0</opt>
4765
<opt>h1</opt>
4766
</mod>
4767
<encoding mask="0xffea0" exact="0x3dc20">
4768
<eq left="log" right="#none"/>
4769
<copy name="neg0" start="6"/>
4770
<copy name="sqrt" start="8"/>
4771
</encoding>
4772
<encoding mask="0xfffe0" exact="0x3de20">
4773
<and>
4774
<eq left="log" right="#log"/>
4775
<eq left="sqrt" right="#none"/>
4776
<eq left="neg0" right="#none"/>
4777
</and>
4778
</encoding>
4779
</ins>
4780
4781
<ins name="+FREXPE.v2f16">
4782
<src start="0"/>
4783
<mod name="neg0" size="1" opt="neg"/>
4784
<mod name="sqrt" size="1" opt="sqrt"/>
4785
<mod name="log" size="1" opt="log"/>
4786
<mod name="swz0" start="3" size="2" default="h01">
4787
<opt>h00</opt>
4788
<opt>h10</opt>
4789
<opt>h01</opt>
4790
<opt>h11</opt>
4791
</mod>
4792
<encoding mask="0xffea0" exact="0x3dc00">
4793
<eq left="log" right="#none"/>
4794
<copy name="neg0" start="6"/>
4795
<copy name="sqrt" start="8"/>
4796
</encoding>
4797
<encoding mask="0xfffe0" exact="0x3de00">
4798
<and>
4799
<eq left="log" right="#log"/>
4800
<eq left="sqrt" right="#none"/>
4801
<eq left="neg0" right="#none"/>
4802
</and>
4803
</encoding>
4804
</ins>
4805
4806
<ins name="+FREXPM.f32">
4807
<src start="0"/>
4808
<mod name="abs0" start="6" size="1" opt="abs"/>
4809
<mod name="sqrt" size="1" opt="sqrt"/>
4810
<mod name="log" size="1" opt="log"/>
4811
<mod name="widen0" start="3" size="2">
4812
<reserved/>
4813
<opt>none</opt>
4814
<opt>h0</opt>
4815
<opt>h1</opt>
4816
</mod>
4817
<mod name="neg0" size="1" opt="neg"/>
4818
<encoding mask="0xfff20" exact="0x3db20">
4819
<and>
4820
<eq left="log" right="#none"/>
4821
<eq left="neg0" right="#none"/>
4822
</and>
4823
<copy name="sqrt" start="7"/>
4824
</encoding>
4825
<encoding mask="0xfff20" exact="0x3da20">
4826
<and>
4827
<eq left="log" right="#log"/>
4828
<eq left="sqrt" right="#none"/>
4829
</and>
4830
<copy name="neg0" start="7"/>
4831
</encoding>
4832
</ins>
4833
4834
<ins name="+FREXPM.v2f16">
4835
<src start="0"/>
4836
<mod name="abs0" start="6" size="1" opt="abs"/>
4837
<mod name="sqrt" size="1" opt="sqrt"/>
4838
<mod name="log" size="1" opt="log"/>
4839
<mod name="swz0" start="3" size="2" default="h01">
4840
<opt>h00</opt>
4841
<opt>h10</opt>
4842
<opt>h01</opt>
4843
<opt>h11</opt>
4844
</mod>
4845
<mod name="neg0" size="1" opt="neg"/>
4846
<encoding mask="0xfff20" exact="0x3db00">
4847
<and>
4848
<eq left="log" right="#none"/>
4849
<eq left="neg0" right="#none"/>
4850
</and>
4851
<copy name="sqrt" start="7"/>
4852
</encoding>
4853
<encoding mask="0xfff20" exact="0x3da00">
4854
<and>
4855
<eq left="log" right="#log"/>
4856
<eq left="sqrt" right="#none"/>
4857
</and>
4858
<copy name="neg0" start="7"/>
4859
</encoding>
4860
</ins>
4861
4862
<ins name="+FROUND.f32" mask="0xff860" exact="0x3e820">
4863
<src start="0"/>
4864
<mod name="abs0" start="7" size="1" opt="abs"/>
4865
<mod name="neg0" start="8" size="1" opt="neg"/>
4866
<mod name="widen0" start="3" size="2">
4867
<reserved/>
4868
<opt>none</opt>
4869
<opt>h0</opt>
4870
<opt>h1</opt>
4871
</mod>
4872
<mod name="round" start="9" size="2">
4873
<opt>none</opt>
4874
<opt>rtp</opt>
4875
<opt>rtn</opt>
4876
<opt>rtz</opt>
4877
</mod>
4878
</ins>
4879
4880
<ins name="+FROUND.v2f16" mask="0xff860" exact="0x3e800">
4881
<src start="0"/>
4882
<mod name="abs0" start="7" size="1" opt="abs"/>
4883
<mod name="neg0" start="8" size="1" opt="neg"/>
4884
<mod name="swz0" start="3" size="2" default="h01">
4885
<opt>h00</opt>
4886
<opt>h10</opt>
4887
<opt>h01</opt>
4888
<opt>h11</opt>
4889
</mod>
4890
<mod name="round" start="9" size="2">
4891
<opt>none</opt>
4892
<opt>rtp</opt>
4893
<opt>rtn</opt>
4894
<opt>rtz</opt>
4895
</mod>
4896
</ins>
4897
4898
<ins name="+FRSQ.f16" mask="0xffec0" exact="0x67280" table="true">
4899
<src start="0" mask="0xf7"/>
4900
<mod name="neg0" start="3" size="1" opt="neg"/>
4901
<mod name="abs0" start="4" size="1" opt="abs"/>
4902
<mod name="divzero" start="5" size="1" opt="divzero"/>
4903
<mod name="lane0" start="8" size="1" default="h0">
4904
<opt>h0</opt>
4905
<opt>h1</opt>
4906
</mod>
4907
</ins>
4908
4909
<ins name="+FRSQ.f32" mask="0xfffa0" exact="0x66100" table="true">
4910
<src start="0" mask="0xf7"/>
4911
<mod name="widen0" size="2">
4912
<opt>none</opt>
4913
</mod>
4914
<mod name="neg0" start="3" size="1" opt="neg"/>
4915
<mod name="abs0" start="4" size="1" opt="abs"/>
4916
<derived start="6" size="1">
4917
<eq left="widen0" right="#none"/>
4918
<reserved/>
4919
</derived>
4920
</ins>
4921
4922
<ins name="+FRSQ_APPROX.f32" table="true">
4923
<src start="0" mask="0xf7"/>
4924
<mod name="widen0" size="2">
4925
<opt>none</opt>
4926
<opt>h0</opt>
4927
<opt>h1</opt>
4928
</mod>
4929
<mod name="neg0" start="3" size="1" opt="neg"/>
4930
<mod name="abs0" start="4" size="1" opt="abs"/>
4931
<mod name="divzero" start="5" size="1" opt="divzero"/>
4932
<encoding mask="0xfffc0" exact="0x67100">
4933
<eq left="widen0" right="#none"/>
4934
</encoding>
4935
<encoding mask="0xfff40" exact="0x67140">
4936
<neq left="widen0" right="#none"/>
4937
<derived start="7" size="1">
4938
<eq left="widen0" right="#h0"/>
4939
<eq left="widen0" right="#h1"/>
4940
</derived>
4941
</encoding>
4942
</ins>
4943
4944
<ins name="+FSINCOS_OFFSET.u6" mask="0xffff0" exact="0x67aa0" table="true">
4945
<src start="0" mask="0xf7"/>
4946
<mod name="scale" start="3" size="1" opt="scale"/>
4947
</ins>
4948
4949
<ins name="+FSIN_TABLE.u6" mask="0xfffe8" exact="0x67a80" table="true">
4950
<src start="0" mask="0xf7"/>
4951
<mod name="offset" start="4" size="1" opt="offset"/>
4952
</ins>
4953
4954
<ins name="+HADD.s32" mask="0xfefc0" exact="0xbc640">
4955
<src start="0"/>
4956
<src start="3"/>
4957
<mod name="round" start="12" size="1" default="rtn">
4958
<opt>rtn</opt>
4959
<opt>rtp</opt>
4960
</mod>
4961
</ins>
4962
4963
<ins name="+HADD.u32" mask="0xfefc0" exact="0xbc6c0">
4964
<src start="0"/>
4965
<src start="3"/>
4966
<mod name="round" start="12" size="1" default="rtn">
4967
<opt>rtn</opt>
4968
<opt>rtp</opt>
4969
</mod>
4970
</ins>
4971
4972
<ins name="+HADD.v2s16" mask="0xfe9c0" exact="0xbc840">
4973
<src start="0"/>
4974
<src start="3"/>
4975
<mod name="round" start="12" size="1" default="rtn">
4976
<opt>rtn</opt>
4977
<opt>rtp</opt>
4978
</mod>
4979
<mod name="swap1" start="9" size="1" default="h01">
4980
<opt>h01</opt>
4981
<opt>h10</opt>
4982
</mod>
4983
<mod name="swap0" start="10" size="1" default="h01">
4984
<opt>h01</opt>
4985
<opt>h10</opt>
4986
</mod>
4987
</ins>
4988
4989
<ins name="+HADD.v2u16" mask="0xfe9c0" exact="0xbc8c0">
4990
<src start="0"/>
4991
<src start="3"/>
4992
<mod name="round" start="12" size="1" default="rtn">
4993
<opt>rtn</opt>
4994
<opt>rtp</opt>
4995
</mod>
4996
<mod name="swap1" start="9" size="1" default="h01">
4997
<opt>h01</opt>
4998
<opt>h10</opt>
4999
</mod>
5000
<mod name="swap0" start="10" size="1" default="h01">
5001
<opt>h01</opt>
5002
<opt>h10</opt>
5003
</mod>
5004
</ins>
5005
5006
<ins name="+HADD.v4s8" mask="0xfefc0" exact="0xbc440">
5007
<src start="0"/>
5008
<src start="3"/>
5009
<mod name="round" start="12" size="1" default="rtn">
5010
<opt>rtn</opt>
5011
<opt>rtp</opt>
5012
</mod>
5013
</ins>
5014
5015
<ins name="+HADD.v4u8" mask="0xfefc0" exact="0xbc4c0">
5016
<src start="0"/>
5017
<src start="3"/>
5018
<mod name="round" start="12" size="1" default="rtn">
5019
<opt>rtn</opt>
5020
<opt>rtp</opt>
5021
</mod>
5022
</ins>
5023
5024
<ins name="+IABS.s32" mask="0xffff8" exact="0x3dea0">
5025
<src start="0"/>
5026
</ins>
5027
5028
<ins name="+IABS.v2s16" mask="0xfffc8" exact="0x3de88">
5029
<src start="0"/>
5030
<mod name="swz0" start="4" size="2" default="h01">
5031
<opt>h00</opt>
5032
<opt>h10</opt>
5033
<opt>h01</opt>
5034
<opt>h11</opt>
5035
</mod>
5036
</ins>
5037
5038
<ins name="+IABS.v4s8" mask="0xffff8" exact="0x3deb0">
5039
<src start="0"/>
5040
</ins>
5041
5042
<ins name="+IADD.s32">
5043
<src start="0"/>
5044
<src start="3"/>
5045
<mod name="saturate" start="8" size="1" opt="sat"/>
5046
<mod name="lanes1" size="3">
5047
<opt>none</opt>
5048
<opt>h0</opt>
5049
<opt>h1</opt>
5050
<opt>b0</opt>
5051
<opt>b1</opt>
5052
<opt>b2</opt>
5053
<opt>b3</opt>
5054
</mod>
5055
<encoding mask="0xffec0" exact="0xbc600">
5056
<eq left="lanes1" right="#none"/>
5057
</encoding>
5058
<encoding mask="0xffcc0" exact="0xbec00">
5059
<or>
5060
<eq left="lanes1" right="#h0"/>
5061
<eq left="lanes1" right="#h1"/>
5062
</or>
5063
<derived start="9" size="1">
5064
<eq left="lanes1" right="#h0"/>
5065
<eq left="lanes1" right="#h1"/>
5066
</derived>
5067
</encoding>
5068
<encoding mask="0xff8c0" exact="0xbe000">
5069
<or>
5070
<eq left="lanes1" right="#b0"/>
5071
<eq left="lanes1" right="#b1"/>
5072
<eq left="lanes1" right="#b2"/>
5073
<eq left="lanes1" right="#b3"/>
5074
</or>
5075
<derived start="9" size="2">
5076
<eq left="lanes1" right="#b0"/>
5077
<eq left="lanes1" right="#b1"/>
5078
<eq left="lanes1" right="#b2"/>
5079
<eq left="lanes1" right="#b3"/>
5080
</derived>
5081
</encoding>
5082
</ins>
5083
5084
<ins name="+IADD.u32">
5085
<src start="0"/>
5086
<src start="3"/>
5087
<mod name="saturate" start="8" size="1" opt="sat"/>
5088
<mod name="lanes1" size="3">
5089
<opt>none</opt>
5090
<opt>h0</opt>
5091
<opt>h1</opt>
5092
<opt>b0</opt>
5093
<opt>b1</opt>
5094
<opt>b2</opt>
5095
<opt>b3</opt>
5096
</mod>
5097
<encoding mask="0xffe40" exact="0xbc600">
5098
<eq left="lanes1" right="#none"/>
5099
<derived start="7" size="1">
5100
<and alias="true">
5101
<eq left="saturate" right="#none"/>
5102
<eq left="lanes1" right="#none"/>
5103
</and>
5104
<or>
5105
<eq left="saturate" right="#sat"/>
5106
<neq left="lanes1" right="#none"/>
5107
</or>
5108
</derived>
5109
</encoding>
5110
<encoding mask="0xffc40" exact="0xbec00">
5111
<or>
5112
<eq left="lanes1" right="#h0"/>
5113
<eq left="lanes1" right="#h1"/>
5114
</or>
5115
<derived start="7" size="1">
5116
<and alias="true">
5117
<eq left="saturate" right="#none"/>
5118
<eq left="lanes1" right="#none"/>
5119
</and>
5120
<or>
5121
<eq left="saturate" right="#sat"/>
5122
<neq left="lanes1" right="#none"/>
5123
</or>
5124
</derived>
5125
<derived start="9" size="1">
5126
<eq left="lanes1" right="#h0"/>
5127
<eq left="lanes1" right="#h1"/>
5128
</derived>
5129
</encoding>
5130
<encoding mask="0xff840" exact="0xbe000">
5131
<or>
5132
<eq left="lanes1" right="#b0"/>
5133
<eq left="lanes1" right="#b1"/>
5134
<eq left="lanes1" right="#b2"/>
5135
<eq left="lanes1" right="#b3"/>
5136
</or>
5137
<derived start="7" size="1">
5138
<and alias="true">
5139
<eq left="saturate" right="#none"/>
5140
<eq left="lanes1" right="#none"/>
5141
</and>
5142
<or>
5143
<eq left="saturate" right="#sat"/>
5144
<neq left="lanes1" right="#none"/>
5145
</or>
5146
</derived>
5147
<derived start="9" size="2">
5148
<eq left="lanes1" right="#b0"/>
5149
<eq left="lanes1" right="#b1"/>
5150
<eq left="lanes1" right="#b2"/>
5151
<eq left="lanes1" right="#b3"/>
5152
</derived>
5153
</encoding>
5154
</ins>
5155
5156
<ins name="+IADD.v2s16">
5157
<src start="0"/>
5158
<src start="3"/>
5159
<mod name="saturate" start="8" size="1" opt="sat"/>
5160
<mod name="lanes0" size="1" default="h01">
5161
<opt>h01</opt>
5162
<opt>h10</opt>
5163
</mod>
5164
<mod name="lanes1" size="3" default="h01">
5165
<opt>h01</opt>
5166
<opt>h10</opt>
5167
<opt>h00</opt>
5168
<opt>h11</opt>
5169
<opt>b01</opt>
5170
<opt>b23</opt>
5171
</mod>
5172
<encoding mask="0xff8c0" exact="0xbc800">
5173
<and>
5174
<or>
5175
<eq left="lanes0" right="#h01"/>
5176
<eq left="lanes0" right="#h10"/>
5177
</or>
5178
<or>
5179
<eq left="lanes1" right="#h01"/>
5180
<eq left="lanes1" right="#h10"/>
5181
</or>
5182
</and>
5183
<derived start="9" size="1">
5184
<eq left="lanes1" right="#h01"/>
5185
<eq left="lanes1" right="#h10"/>
5186
</derived>
5187
<derived start="10" size="1">
5188
<eq left="lanes0" right="#h01"/>
5189
<eq left="lanes0" right="#h10"/>
5190
</derived>
5191
</encoding>
5192
<encoding mask="0xffcc0" exact="0xbec40">
5193
<and>
5194
<eq left="lanes0" right="#h01"/>
5195
<or>
5196
<eq left="lanes1" right="#h00"/>
5197
<eq left="lanes1" right="#h11"/>
5198
</or>
5199
</and>
5200
<derived start="9" size="1">
5201
<eq left="lanes1" right="#h00"/>
5202
<eq left="lanes1" right="#h11"/>
5203
</derived>
5204
</encoding>
5205
<encoding mask="0xffcc0" exact="0xbe800">
5206
<and>
5207
<eq left="lanes0" right="#h01"/>
5208
<or>
5209
<eq left="lanes1" right="#b01"/>
5210
<eq left="lanes1" right="#b23"/>
5211
</or>
5212
</and>
5213
<derived start="9" size="1">
5214
<eq left="lanes1" right="#b01"/>
5215
<eq left="lanes1" right="#b23"/>
5216
</derived>
5217
</encoding>
5218
</ins>
5219
5220
<ins name="+IADD.v2u16">
5221
<src start="0"/>
5222
<src start="3"/>
5223
<mod name="saturate" start="8" size="1" opt="sat"/>
5224
<mod name="lanes0" size="1" default="h01">
5225
<opt>h01</opt>
5226
<opt>h10</opt>
5227
</mod>
5228
<mod name="lanes1" size="3" default="h01">
5229
<opt>h01</opt>
5230
<opt>h10</opt>
5231
<opt>h00</opt>
5232
<opt>h11</opt>
5233
<opt>b01</opt>
5234
<opt>b23</opt>
5235
</mod>
5236
<encoding mask="0xff840" exact="0xbc800">
5237
<and>
5238
<or>
5239
<eq left="lanes0" right="#h01"/>
5240
<eq left="lanes0" right="#h10"/>
5241
</or>
5242
<or>
5243
<eq left="lanes1" right="#h01"/>
5244
<eq left="lanes1" right="#h10"/>
5245
</or>
5246
</and>
5247
<derived start="7" size="1">
5248
<and alias="true">
5249
<eq left="saturate" right="#none"/>
5250
<neq left="lanes1" right="#b01"/>
5251
<neq left="lanes1" right="#b23"/>
5252
</and>
5253
<or>
5254
<eq left="saturate" right="#sat"/>
5255
<eq left="lanes1" right="#b01"/>
5256
<eq left="lanes1" right="#b23"/>
5257
</or>
5258
</derived>
5259
<derived start="9" size="1">
5260
<eq left="lanes1" right="#h01"/>
5261
<eq left="lanes1" right="#h10"/>
5262
</derived>
5263
<derived start="10" size="1">
5264
<eq left="lanes0" right="#h01"/>
5265
<eq left="lanes0" right="#h10"/>
5266
</derived>
5267
</encoding>
5268
<encoding mask="0xffc40" exact="0xbec40">
5269
<and>
5270
<eq left="lanes0" right="#h01"/>
5271
<or>
5272
<eq left="lanes1" right="#h00"/>
5273
<eq left="lanes1" right="#h11"/>
5274
</or>
5275
</and>
5276
<derived start="7" size="1">
5277
<and alias="true">
5278
<eq left="saturate" right="#none"/>
5279
<neq left="lanes1" right="#b01"/>
5280
<neq left="lanes1" right="#b23"/>
5281
</and>
5282
<or>
5283
<eq left="saturate" right="#sat"/>
5284
<eq left="lanes1" right="#b01"/>
5285
<eq left="lanes1" right="#b23"/>
5286
</or>
5287
</derived>
5288
<derived start="9" size="1">
5289
<eq left="lanes1" right="#h00"/>
5290
<eq left="lanes1" right="#h11"/>
5291
</derived>
5292
</encoding>
5293
<encoding mask="0xffc40" exact="0xbe800">
5294
<and>
5295
<eq left="lanes0" right="#h01"/>
5296
<or>
5297
<eq left="lanes1" right="#b01"/>
5298
<eq left="lanes1" right="#b23"/>
5299
</or>
5300
</and>
5301
<derived start="7" size="1">
5302
<and alias="true">
5303
<eq left="saturate" right="#none"/>
5304
<neq left="lanes1" right="#b01"/>
5305
<neq left="lanes1" right="#b23"/>
5306
</and>
5307
<or>
5308
<eq left="saturate" right="#sat"/>
5309
<eq left="lanes1" right="#b01"/>
5310
<eq left="lanes1" right="#b23"/>
5311
</or>
5312
</derived>
5313
<derived start="9" size="1">
5314
<eq left="lanes1" right="#b01"/>
5315
<eq left="lanes1" right="#b23"/>
5316
</derived>
5317
</encoding>
5318
</ins>
5319
5320
<ins name="+IADD.v4s8">
5321
<src start="0"/>
5322
<src start="3"/>
5323
<mod name="saturate" start="8" size="1" opt="sat"/>
5324
<mod name="lanes0" size="3" default="b0123">
5325
<opt>b0123</opt>
5326
</mod>
5327
<mod name="lanes1" size="3" default="b0123">
5328
<opt>b0123</opt>
5329
<opt>b0000</opt>
5330
<opt>b1111</opt>
5331
<opt>b2222</opt>
5332
<opt>b3333</opt>
5333
<opt>b0101</opt>
5334
<opt>b2323</opt>
5335
</mod>
5336
<encoding mask="0xffec0" exact="0xbc400">
5337
<and>
5338
<eq left="lanes0" right="#b0123"/>
5339
<eq left="lanes1" right="#b0123"/>
5340
</and>
5341
</encoding>
5342
<encoding mask="0xff8c0" exact="0xbe040">
5343
<and>
5344
<eq left="lanes0" right="#b0123"/>
5345
<or>
5346
<eq left="lanes1" right="#b0000"/>
5347
<eq left="lanes1" right="#b1111"/>
5348
<eq left="lanes1" right="#b2222"/>
5349
<eq left="lanes1" right="#b3333"/>
5350
</or>
5351
</and>
5352
<derived start="9" size="2">
5353
<eq left="lanes1" right="#b0000"/>
5354
<eq left="lanes1" right="#b1111"/>
5355
<eq left="lanes1" right="#b2222"/>
5356
<eq left="lanes1" right="#b3333"/>
5357
</derived>
5358
</encoding>
5359
<encoding mask="0xffcc0" exact="0xbe840">
5360
<and>
5361
<eq left="lanes0" right="#b0123"/>
5362
<or>
5363
<eq left="lanes1" right="#b0101"/>
5364
<eq left="lanes1" right="#b2323"/>
5365
</or>
5366
</and>
5367
<derived start="9" size="1">
5368
<eq left="lanes1" right="#b0101"/>
5369
<eq left="lanes1" right="#b2323"/>
5370
</derived>
5371
</encoding>
5372
</ins>
5373
5374
<ins name="+IADD.v4u8">
5375
<src start="0"/>
5376
<src start="3"/>
5377
<mod name="saturate" start="8" size="1" opt="sat"/>
5378
<mod name="lanes0" size="3" default="b0123">
5379
<opt>b0123</opt>
5380
</mod>
5381
<mod name="lanes1" size="3" default="b0123">
5382
<opt>b0123</opt>
5383
<opt>b0000</opt>
5384
<opt>b1111</opt>
5385
<opt>b2222</opt>
5386
<opt>b3333</opt>
5387
<opt>b0101</opt>
5388
<opt>b2323</opt>
5389
</mod>
5390
<encoding mask="0xffe40" exact="0xbc400">
5391
<and>
5392
<eq left="lanes0" right="#b0123"/>
5393
<eq left="lanes1" right="#b0123"/>
5394
</and>
5395
<derived start="7" size="1">
5396
<eq alias="true" left="saturate" right="#none"/>
5397
<eq left="saturate" right="#sat"/>
5398
</derived>
5399
</encoding>
5400
<encoding mask="0xff840" exact="0xbe040">
5401
<and>
5402
<eq left="lanes0" right="#b0123"/>
5403
<or>
5404
<eq left="lanes1" right="#b0000"/>
5405
<eq left="lanes1" right="#b1111"/>
5406
<eq left="lanes1" right="#b2222"/>
5407
<eq left="lanes1" right="#b3333"/>
5408
</or>
5409
</and>
5410
<derived start="7" size="1">
5411
<eq alias="true" left="saturate" right="#none"/>
5412
<eq left="saturate" right="#sat"/>
5413
</derived>
5414
<derived start="9" size="2">
5415
<eq left="lanes1" right="#b0000"/>
5416
<eq left="lanes1" right="#b1111"/>
5417
<eq left="lanes1" right="#b2222"/>
5418
<eq left="lanes1" right="#b3333"/>
5419
</derived>
5420
</encoding>
5421
<encoding mask="0xffc40" exact="0xbe840">
5422
<and>
5423
<eq left="lanes0" right="#b0123"/>
5424
<or>
5425
<eq left="lanes1" right="#b0101"/>
5426
<eq left="lanes1" right="#b2323"/>
5427
</or>
5428
</and>
5429
<derived start="7" size="1">
5430
<eq alias="true" left="saturate" right="#none"/>
5431
<eq left="saturate" right="#sat"/>
5432
</derived>
5433
<derived start="9" size="1">
5434
<eq left="lanes1" right="#b0101"/>
5435
<eq left="lanes1" right="#b2323"/>
5436
</derived>
5437
</encoding>
5438
</ins>
5439
5440
<ins name="+ICMP.i32" mask="0xffb80" exact="0x7b300">
5441
<src start="0"/>
5442
<src start="3"/>
5443
<mod name="result_type" start="10" size="1" default="i1">
5444
<opt>i1</opt>
5445
<opt>m1</opt>
5446
</mod>
5447
<mod name="cmpf" start="6" size="1">
5448
<opt>eq</opt>
5449
<opt>ne</opt>
5450
</mod>
5451
</ins>
5452
5453
<ins name="+ICMP.s32" mask="0xffb80" exact="0x7b200">
5454
<src start="0"/>
5455
<src start="3"/>
5456
<mod name="result_type" start="10" size="1" default="i1">
5457
<opt>i1</opt>
5458
<opt>m1</opt>
5459
</mod>
5460
<mod name="cmpf" size="2">
5461
<opt>gt</opt>
5462
<opt>ge</opt>
5463
<opt>lt</opt>
5464
<opt>le</opt>
5465
</mod>
5466
<derived start="6" size="1">
5467
<eq left="cmpf" right="#gt"/>
5468
<eq left="cmpf" right="#ge"/>
5469
</derived>
5470
<swap left="0" right="1">
5471
<or>
5472
<eq left="cmpf" right="#lt"/>
5473
<eq left="cmpf" right="#le"/>
5474
</or>
5475
<rewrite name="cmpf">
5476
<map from="lt" to="gt"/>
5477
<map from="le" to="ge"/>
5478
</rewrite>
5479
</swap>
5480
</ins>
5481
5482
<ins name="+ICMP.u32" mask="0xffb80" exact="0x7b280">
5483
<src start="0"/>
5484
<src start="3"/>
5485
<mod name="result_type" start="10" size="1" default="i1">
5486
<opt>i1</opt>
5487
<opt>m1</opt>
5488
</mod>
5489
<mod name="cmpf" size="2">
5490
<opt>gt</opt>
5491
<opt>ge</opt>
5492
<opt>lt</opt>
5493
<opt>le</opt>
5494
</mod>
5495
<derived start="6" size="1">
5496
<eq left="cmpf" right="#gt"/>
5497
<eq left="cmpf" right="#ge"/>
5498
</derived>
5499
<swap left="0" right="1">
5500
<or>
5501
<eq left="cmpf" right="#lt"/>
5502
<eq left="cmpf" right="#le"/>
5503
</or>
5504
<rewrite name="cmpf">
5505
<map from="lt" to="gt"/>
5506
<map from="le" to="ge"/>
5507
</rewrite>
5508
</swap>
5509
</ins>
5510
5511
<ins name="+ICMP.v2i16" mask="0xff000" exact="0x7a000">
5512
<src start="0"/>
5513
<src start="3"/>
5514
<mod name="swz0" start="6" size="2" default="h01">
5515
<opt>h00</opt>
5516
<opt>h10</opt>
5517
<opt>h01</opt>
5518
<opt>h11</opt>
5519
</mod>
5520
<mod name="swz1" start="8" size="2" default="h01">
5521
<opt>h00</opt>
5522
<opt>h10</opt>
5523
<opt>h01</opt>
5524
<opt>h11</opt>
5525
</mod>
5526
<mod name="result_type" start="10" size="1" default="i1">
5527
<opt>i1</opt>
5528
<opt>m1</opt>
5529
</mod>
5530
<mod name="cmpf" start="11" size="1">
5531
<opt>eq</opt>
5532
<opt>ne</opt>
5533
</mod>
5534
</ins>
5535
5536
<ins name="+ICMP.v2s16" mask="0xfe800" exact="0x78000">
5537
<src start="0"/>
5538
<src start="3"/>
5539
<mod name="swz0" start="6" size="2" default="h01">
5540
<opt>h00</opt>
5541
<opt>h10</opt>
5542
<opt>h01</opt>
5543
<opt>h11</opt>
5544
</mod>
5545
<mod name="swz1" start="8" size="2" default="h01">
5546
<opt>h00</opt>
5547
<opt>h10</opt>
5548
<opt>h01</opt>
5549
<opt>h11</opt>
5550
</mod>
5551
<mod name="result_type" start="10" size="1" default="i1">
5552
<opt>i1</opt>
5553
<opt>m1</opt>
5554
</mod>
5555
<mod name="cmpf" size="2">
5556
<opt>gt</opt>
5557
<opt>ge</opt>
5558
<opt>lt</opt>
5559
<opt>le</opt>
5560
</mod>
5561
<derived start="12" size="1">
5562
<eq left="cmpf" right="#gt"/>
5563
<eq left="cmpf" right="#ge"/>
5564
</derived>
5565
<swap left="0" right="1">
5566
<or>
5567
<eq left="cmpf" right="#lt"/>
5568
<eq left="cmpf" right="#le"/>
5569
</or>
5570
<rewrite name="cmpf">
5571
<map from="lt" to="gt"/>
5572
<map from="le" to="ge"/>
5573
</rewrite>
5574
</swap>
5575
</ins>
5576
5577
<ins name="+ICMP.v2u16" mask="0xfe800" exact="0x78800">
5578
<src start="0"/>
5579
<src start="3"/>
5580
<mod name="swz0" start="6" size="2" default="h01">
5581
<opt>h00</opt>
5582
<opt>h10</opt>
5583
<opt>h01</opt>
5584
<opt>h11</opt>
5585
</mod>
5586
<mod name="swz1" start="8" size="2" default="h01">
5587
<opt>h00</opt>
5588
<opt>h10</opt>
5589
<opt>h01</opt>
5590
<opt>h11</opt>
5591
</mod>
5592
<mod name="result_type" start="10" size="1" default="i1">
5593
<opt>i1</opt>
5594
<opt>m1</opt>
5595
</mod>
5596
<mod name="cmpf" size="2">
5597
<opt>gt</opt>
5598
<opt>ge</opt>
5599
<opt>lt</opt>
5600
<opt>le</opt>
5601
</mod>
5602
<derived start="12" size="1">
5603
<eq left="cmpf" right="#gt"/>
5604
<eq left="cmpf" right="#ge"/>
5605
</derived>
5606
<swap left="0" right="1">
5607
<or>
5608
<eq left="cmpf" right="#lt"/>
5609
<eq left="cmpf" right="#le"/>
5610
</or>
5611
<rewrite name="cmpf">
5612
<map from="lt" to="gt"/>
5613
<map from="le" to="ge"/>
5614
</rewrite>
5615
</swap>
5616
</ins>
5617
5618
<ins name="+ICMP.v4i8" mask="0xffb80" exact="0x7b100">
5619
<src start="0"/>
5620
<src start="3"/>
5621
<mod name="result_type" start="10" size="1" default="i1">
5622
<opt>i1</opt>
5623
<opt>m1</opt>
5624
</mod>
5625
<mod name="cmpf" start="6" size="1">
5626
<opt>eq</opt>
5627
<opt>ne</opt>
5628
</mod>
5629
</ins>
5630
5631
<ins name="+ICMP.v4s8" mask="0xffb80" exact="0x7b000">
5632
<src start="0"/>
5633
<src start="3"/>
5634
<mod name="result_type" start="10" size="1" default="i1">
5635
<opt>i1</opt>
5636
<opt>m1</opt>
5637
</mod>
5638
<mod name="cmpf" size="2">
5639
<opt>gt</opt>
5640
<opt>ge</opt>
5641
<opt>lt</opt>
5642
<opt>le</opt>
5643
</mod>
5644
<derived start="6" size="1">
5645
<eq left="cmpf" right="#gt"/>
5646
<eq left="cmpf" right="#ge"/>
5647
</derived>
5648
<swap left="0" right="1">
5649
<or>
5650
<eq left="cmpf" right="#lt"/>
5651
<eq left="cmpf" right="#le"/>
5652
</or>
5653
<rewrite name="cmpf">
5654
<map from="lt" to="gt"/>
5655
<map from="le" to="ge"/>
5656
</rewrite>
5657
</swap>
5658
</ins>
5659
5660
<ins name="+ICMP.v4u8" mask="0xffb80" exact="0x7b080">
5661
<src start="0"/>
5662
<src start="3"/>
5663
<mod name="result_type" start="10" size="1" default="i1">
5664
<opt>i1</opt>
5665
<opt>m1</opt>
5666
</mod>
5667
<mod name="cmpf" size="2">
5668
<opt>gt</opt>
5669
<opt>ge</opt>
5670
<opt>lt</opt>
5671
<opt>le</opt>
5672
</mod>
5673
<derived start="6" size="1">
5674
<eq left="cmpf" right="#gt"/>
5675
<eq left="cmpf" right="#ge"/>
5676
</derived>
5677
<swap left="0" right="1">
5678
<or>
5679
<eq left="cmpf" right="#lt"/>
5680
<eq left="cmpf" right="#le"/>
5681
</or>
5682
<rewrite name="cmpf">
5683
<map from="lt" to="gt"/>
5684
<map from="le" to="ge"/>
5685
</rewrite>
5686
</swap>
5687
</ins>
5688
5689
<ins name="+ICMPF.i32" mask="0xffe00" exact="0x7be00">
5690
<src start="0"/>
5691
<src start="3"/>
5692
<src start="6"/>
5693
</ins>
5694
5695
<ins name="+ICMPI.i32" mask="0xffb80" exact="0x7b900">
5696
<src start="0"/>
5697
<src start="3"/>
5698
<mod name="result_type" start="10" size="1" default="i1">
5699
<opt>i1</opt>
5700
<opt>m1</opt>
5701
</mod>
5702
<mod name="cmpf" start="6" size="1">
5703
<opt>eq</opt>
5704
<opt>ne</opt>
5705
</mod>
5706
</ins>
5707
5708
<ins name="+ICMPI.s32" mask="0xffb80" exact="0x7b800">
5709
<src start="0"/>
5710
<src start="3"/>
5711
<mod name="result_type" start="10" size="1" default="i1">
5712
<opt>i1</opt>
5713
<opt>m1</opt>
5714
</mod>
5715
<mod name="cmpf" start="6" size="1">
5716
<opt>gt</opt>
5717
<opt>ge</opt>
5718
</mod>
5719
</ins>
5720
5721
<ins name="+ICMPI.u32" mask="0xffb80" exact="0x7b880">
5722
<src start="0"/>
5723
<src start="3"/>
5724
<mod name="result_type" start="10" size="1" default="i1">
5725
<opt>i1</opt>
5726
<opt>m1</opt>
5727
</mod>
5728
<mod name="cmpf" start="6" size="1">
5729
<opt>gt</opt>
5730
<opt>ge</opt>
5731
</mod>
5732
</ins>
5733
5734
<ins name="+ICMPM.i32" mask="0xffe00" exact="0x7ba00">
5735
<src start="0"/>
5736
<src start="3"/>
5737
<src start="6"/>
5738
</ins>
5739
5740
<ins name="+ILOGB.f32" mask="0xfffe0" exact="0x3d9e0">
5741
<src start="0"/>
5742
<mod name="widen0" start="3" size="2">
5743
<reserved/>
5744
<opt>none</opt>
5745
<opt>h0</opt>
5746
<opt>h1</opt>
5747
</mod>
5748
</ins>
5749
5750
<ins name="+ILOGB.v2f16" mask="0xfffe0" exact="0x3d9c0">
5751
<src start="0"/>
5752
<mod name="swz0" start="3" size="2" default="h01">
5753
<opt>h00</opt>
5754
<opt>h10</opt>
5755
<opt>h01</opt>
5756
<opt>h11</opt>
5757
</mod>
5758
</ins>
5759
5760
<ins name="+IMOV_FMA" mask="0xffff7" exact="0xd7820">
5761
<mod name="threads" start="3" size="1" default="odd">
5762
<opt>even</opt>
5763
<opt>odd</opt>
5764
</mod>
5765
</ins>
5766
5767
<ins name="+ISUB.s32">
5768
<src start="0"/>
5769
<src start="3"/>
5770
<mod name="saturate" start="8" size="1" opt="sat"/>
5771
<mod name="lanes1" size="3">
5772
<opt>none</opt>
5773
<opt>h0</opt>
5774
<opt>h1</opt>
5775
<opt>b0</opt>
5776
<opt>b1</opt>
5777
<opt>b2</opt>
5778
<opt>b3</opt>
5779
</mod>
5780
<encoding mask="0xffec0" exact="0xbd600">
5781
<eq left="lanes1" right="#none"/>
5782
</encoding>
5783
<encoding mask="0xffcc0" exact="0xbfc00">
5784
<or>
5785
<eq left="lanes1" right="#h0"/>
5786
<eq left="lanes1" right="#h1"/>
5787
</or>
5788
<derived start="9" size="1">
5789
<eq left="lanes1" right="#h0"/>
5790
<eq left="lanes1" right="#h1"/>
5791
</derived>
5792
</encoding>
5793
<encoding mask="0xff8c0" exact="0xbf000">
5794
<or>
5795
<eq left="lanes1" right="#b0"/>
5796
<eq left="lanes1" right="#b1"/>
5797
<eq left="lanes1" right="#b2"/>
5798
<eq left="lanes1" right="#b3"/>
5799
</or>
5800
<derived start="9" size="2">
5801
<eq left="lanes1" right="#b0"/>
5802
<eq left="lanes1" right="#b1"/>
5803
<eq left="lanes1" right="#b2"/>
5804
<eq left="lanes1" right="#b3"/>
5805
</derived>
5806
</encoding>
5807
</ins>
5808
5809
<ins name="+ISUB.u32">
5810
<src start="0"/>
5811
<src start="3"/>
5812
<mod name="saturate" start="8" size="1" opt="sat"/>
5813
<mod name="lanes1" size="3">
5814
<opt>none</opt>
5815
<opt>h0</opt>
5816
<opt>h1</opt>
5817
<opt>b0</opt>
5818
<opt>b1</opt>
5819
<opt>b2</opt>
5820
<opt>b3</opt>
5821
</mod>
5822
<encoding mask="0xffe40" exact="0xbd600">
5823
<eq left="lanes1" right="#none"/>
5824
<derived start="7" size="1">
5825
<and alias="true">
5826
<eq left="saturate" right="#none"/>
5827
<eq left="lanes1" right="#none"/>
5828
</and>
5829
<or>
5830
<eq left="saturate" right="#sat"/>
5831
<neq left="lanes1" right="#none"/>
5832
</or>
5833
</derived>
5834
</encoding>
5835
<encoding mask="0xffc40" exact="0xbfc00">
5836
<or>
5837
<eq left="lanes1" right="#h0"/>
5838
<eq left="lanes1" right="#h1"/>
5839
</or>
5840
<derived start="7" size="1">
5841
<and alias="true">
5842
<eq left="saturate" right="#none"/>
5843
<eq left="lanes1" right="#none"/>
5844
</and>
5845
<or>
5846
<eq left="saturate" right="#sat"/>
5847
<neq left="lanes1" right="#none"/>
5848
</or>
5849
</derived>
5850
<derived start="9" size="1">
5851
<eq left="lanes1" right="#h0"/>
5852
<eq left="lanes1" right="#h1"/>
5853
</derived>
5854
</encoding>
5855
<encoding mask="0xff840" exact="0xbf000">
5856
<or>
5857
<eq left="lanes1" right="#b0"/>
5858
<eq left="lanes1" right="#b1"/>
5859
<eq left="lanes1" right="#b2"/>
5860
<eq left="lanes1" right="#b3"/>
5861
</or>
5862
<derived start="7" size="1">
5863
<and alias="true">
5864
<eq left="saturate" right="#none"/>
5865
<eq left="lanes1" right="#none"/>
5866
</and>
5867
<or>
5868
<eq left="saturate" right="#sat"/>
5869
<neq left="lanes1" right="#none"/>
5870
</or>
5871
</derived>
5872
<derived start="9" size="2">
5873
<eq left="lanes1" right="#b0"/>
5874
<eq left="lanes1" right="#b1"/>
5875
<eq left="lanes1" right="#b2"/>
5876
<eq left="lanes1" right="#b3"/>
5877
</derived>
5878
</encoding>
5879
</ins>
5880
5881
<ins name="+ISUB.v2s16">
5882
<src start="0"/>
5883
<src start="3"/>
5884
<mod name="saturate" start="8" size="1" opt="sat"/>
5885
<mod name="lanes0" size="1" default="h01">
5886
<opt>h01</opt>
5887
<opt>h10</opt>
5888
</mod>
5889
<mod name="lanes1" size="3" default="h01">
5890
<opt>h01</opt>
5891
<opt>h10</opt>
5892
<opt>h00</opt>
5893
<opt>h11</opt>
5894
<opt>b01</opt>
5895
<opt>b23</opt>
5896
</mod>
5897
<encoding mask="0xff8c0" exact="0xbd800">
5898
<and>
5899
<or>
5900
<eq left="lanes0" right="#h01"/>
5901
<eq left="lanes0" right="#h10"/>
5902
</or>
5903
<or>
5904
<eq left="lanes1" right="#h01"/>
5905
<eq left="lanes1" right="#h10"/>
5906
</or>
5907
</and>
5908
<derived start="9" size="1">
5909
<eq left="lanes1" right="#h01"/>
5910
<eq left="lanes1" right="#h10"/>
5911
</derived>
5912
<derived start="10" size="1">
5913
<eq left="lanes0" right="#h01"/>
5914
<eq left="lanes0" right="#h10"/>
5915
</derived>
5916
</encoding>
5917
<encoding mask="0xffcc0" exact="0xbfc40">
5918
<and>
5919
<eq left="lanes0" right="#h01"/>
5920
<or>
5921
<eq left="lanes1" right="#h00"/>
5922
<eq left="lanes1" right="#h11"/>
5923
</or>
5924
</and>
5925
<derived start="9" size="1">
5926
<eq left="lanes1" right="#h00"/>
5927
<eq left="lanes1" right="#h11"/>
5928
</derived>
5929
</encoding>
5930
<encoding mask="0xffcc0" exact="0xbf800">
5931
<and>
5932
<eq left="lanes0" right="#h01"/>
5933
<or>
5934
<eq left="lanes1" right="#b01"/>
5935
<eq left="lanes1" right="#b23"/>
5936
</or>
5937
</and>
5938
<derived start="9" size="1">
5939
<eq left="lanes1" right="#b01"/>
5940
<eq left="lanes1" right="#b23"/>
5941
</derived>
5942
</encoding>
5943
</ins>
5944
5945
<ins name="+ISUB.v2u16">
5946
<src start="0"/>
5947
<src start="3"/>
5948
<mod name="saturate" start="8" size="1" opt="sat"/>
5949
<mod name="lanes0" size="1" default="h01">
5950
<opt>h01</opt>
5951
<opt>h10</opt>
5952
</mod>
5953
<mod name="lanes1" size="3" default="h01">
5954
<opt>h01</opt>
5955
<opt>h10</opt>
5956
<opt>h00</opt>
5957
<opt>h11</opt>
5958
<opt>b01</opt>
5959
<opt>b23</opt>
5960
</mod>
5961
<encoding mask="0xff840" exact="0xbd800">
5962
<and>
5963
<or>
5964
<eq left="lanes0" right="#h01"/>
5965
<eq left="lanes0" right="#h10"/>
5966
</or>
5967
<or>
5968
<eq left="lanes1" right="#h01"/>
5969
<eq left="lanes1" right="#h10"/>
5970
</or>
5971
</and>
5972
<derived start="7" size="1">
5973
<and alias="true">
5974
<eq left="saturate" right="#none"/>
5975
<neq left="lanes1" right="#b01"/>
5976
<neq left="lanes1" right="#b23"/>
5977
</and>
5978
<or>
5979
<eq left="saturate" right="#sat"/>
5980
<eq left="lanes1" right="#b01"/>
5981
<eq left="lanes1" right="#b23"/>
5982
</or>
5983
</derived>
5984
<derived start="9" size="1">
5985
<eq left="lanes1" right="#h01"/>
5986
<eq left="lanes1" right="#h10"/>
5987
</derived>
5988
<derived start="10" size="1">
5989
<eq left="lanes0" right="#h01"/>
5990
<eq left="lanes0" right="#h10"/>
5991
</derived>
5992
</encoding>
5993
<encoding mask="0xffc40" exact="0xbfc40">
5994
<and>
5995
<eq left="lanes0" right="#h01"/>
5996
<or>
5997
<eq left="lanes1" right="#h00"/>
5998
<eq left="lanes1" right="#h11"/>
5999
</or>
6000
</and>
6001
<derived start="7" size="1">
6002
<and alias="true">
6003
<eq left="saturate" right="#none"/>
6004
<neq left="lanes1" right="#b01"/>
6005
<neq left="lanes1" right="#b23"/>
6006
</and>
6007
<or>
6008
<eq left="saturate" right="#sat"/>
6009
<eq left="lanes1" right="#b01"/>
6010
<eq left="lanes1" right="#b23"/>
6011
</or>
6012
</derived>
6013
<derived start="9" size="1">
6014
<eq left="lanes1" right="#h00"/>
6015
<eq left="lanes1" right="#h11"/>
6016
</derived>
6017
</encoding>
6018
<encoding mask="0xffc40" exact="0xbf800">
6019
<and>
6020
<eq left="lanes0" right="#h01"/>
6021
<or>
6022
<eq left="lanes1" right="#b01"/>
6023
<eq left="lanes1" right="#b23"/>
6024
</or>
6025
</and>
6026
<derived start="7" size="1">
6027
<and alias="true">
6028
<eq left="saturate" right="#none"/>
6029
<neq left="lanes1" right="#b01"/>
6030
<neq left="lanes1" right="#b23"/>
6031
</and>
6032
<or>
6033
<eq left="saturate" right="#sat"/>
6034
<eq left="lanes1" right="#b01"/>
6035
<eq left="lanes1" right="#b23"/>
6036
</or>
6037
</derived>
6038
<derived start="9" size="1">
6039
<eq left="lanes1" right="#b01"/>
6040
<eq left="lanes1" right="#b23"/>
6041
</derived>
6042
</encoding>
6043
</ins>
6044
6045
<ins name="+ISUB.v4s8">
6046
<src start="0"/>
6047
<src start="3"/>
6048
<mod name="saturate" start="8" size="1" opt="sat"/>
6049
<mod name="lanes0" size="3" default="b0123">
6050
<opt>b0123</opt>
6051
</mod>
6052
<mod name="lanes1" size="3" default="b0123">
6053
<opt>b0123</opt>
6054
<opt>b0000</opt>
6055
<opt>b1111</opt>
6056
<opt>b2222</opt>
6057
<opt>b3333</opt>
6058
<opt>b0101</opt>
6059
<opt>b2323</opt>
6060
</mod>
6061
<encoding mask="0xffec0" exact="0xbd400">
6062
<and>
6063
<eq left="lanes0" right="#b0123"/>
6064
<eq left="lanes1" right="#b0123"/>
6065
</and>
6066
</encoding>
6067
<encoding mask="0xff8c0" exact="0xbf040">
6068
<and>
6069
<eq left="lanes0" right="#b0123"/>
6070
<or>
6071
<eq left="lanes1" right="#b0000"/>
6072
<eq left="lanes1" right="#b1111"/>
6073
<eq left="lanes1" right="#b2222"/>
6074
<eq left="lanes1" right="#b3333"/>
6075
</or>
6076
</and>
6077
<derived start="9" size="2">
6078
<eq left="lanes1" right="#b0000"/>
6079
<eq left="lanes1" right="#b1111"/>
6080
<eq left="lanes1" right="#b2222"/>
6081
<eq left="lanes1" right="#b3333"/>
6082
</derived>
6083
</encoding>
6084
<encoding mask="0xffcc0" exact="0xbf840">
6085
<and>
6086
<eq left="lanes0" right="#b0123"/>
6087
<or>
6088
<eq left="lanes1" right="#b0101"/>
6089
<eq left="lanes1" right="#b2323"/>
6090
</or>
6091
</and>
6092
<derived start="9" size="1">
6093
<eq left="lanes1" right="#b0101"/>
6094
<eq left="lanes1" right="#b2323"/>
6095
</derived>
6096
</encoding>
6097
</ins>
6098
6099
<ins name="+ISUB.v4u8">
6100
<src start="0"/>
6101
<src start="3"/>
6102
<mod name="saturate" start="8" size="1" opt="sat"/>
6103
<mod name="lanes0" size="3" default="b0123">
6104
<opt>b0123</opt>
6105
</mod>
6106
<mod name="lanes1" size="3" default="b0123">
6107
<opt>b0123</opt>
6108
<opt>b0000</opt>
6109
<opt>b1111</opt>
6110
<opt>b2222</opt>
6111
<opt>b3333</opt>
6112
<opt>b0101</opt>
6113
<opt>b2323</opt>
6114
</mod>
6115
<encoding mask="0xffe40" exact="0xbd400">
6116
<and>
6117
<eq left="lanes0" right="#b0123"/>
6118
<eq left="lanes1" right="#b0123"/>
6119
</and>
6120
<derived start="7" size="1">
6121
<eq alias="true" left="saturate" right="#none"/>
6122
<eq left="saturate" right="#sat"/>
6123
</derived>
6124
</encoding>
6125
<encoding mask="0xff840" exact="0xbf040">
6126
<and>
6127
<eq left="lanes0" right="#b0123"/>
6128
<or>
6129
<eq left="lanes1" right="#b0000"/>
6130
<eq left="lanes1" right="#b1111"/>
6131
<eq left="lanes1" right="#b2222"/>
6132
<eq left="lanes1" right="#b3333"/>
6133
</or>
6134
</and>
6135
<derived start="7" size="1">
6136
<eq alias="true" left="saturate" right="#none"/>
6137
<eq left="saturate" right="#sat"/>
6138
</derived>
6139
<derived start="9" size="2">
6140
<eq left="lanes1" right="#b0000"/>
6141
<eq left="lanes1" right="#b1111"/>
6142
<eq left="lanes1" right="#b2222"/>
6143
<eq left="lanes1" right="#b3333"/>
6144
</derived>
6145
</encoding>
6146
<encoding mask="0xffc40" exact="0xbf840">
6147
<and>
6148
<eq left="lanes0" right="#b0123"/>
6149
<or>
6150
<eq left="lanes1" right="#b0101"/>
6151
<eq left="lanes1" right="#b2323"/>
6152
</or>
6153
</and>
6154
<derived start="7" size="1">
6155
<eq alias="true" left="saturate" right="#none"/>
6156
<eq left="saturate" right="#sat"/>
6157
</derived>
6158
<derived start="9" size="1">
6159
<eq left="lanes1" right="#b0101"/>
6160
<eq left="lanes1" right="#b2323"/>
6161
</derived>
6162
</encoding>
6163
</ins>
6164
6165
<ins name="+JUMP" mask="0xffe3f" exact="0x6fe34" last="true" dests="0">
6166
<src start="6" mask="0xf7"/>
6167
</ins>
6168
6169
<ins name="+KABOOM" mask="0xffff8" exact="0xd7858" unused="true" message="job_management">
6170
<src start="0"/>
6171
</ins>
6172
6173
<ins name="+LDEXP.f32" mask="0xffe00" exact="0x74c00">
6174
<src start="0"/>
6175
<src start="3"/>
6176
<mod name="round" start="6" size="3">
6177
<opt>none</opt>
6178
<opt>rtp</opt>
6179
<opt>rtn</opt>
6180
<opt>rtz</opt>
6181
<opt>rtna</opt>
6182
<reserved/>
6183
<opt>inf</opt>
6184
<opt>inf0</opt>
6185
</mod>
6186
</ins>
6187
6188
<ins name="+LDEXP.v2f16" mask="0xffe00" exact="0x74e00">
6189
<src start="0"/>
6190
<src start="3"/>
6191
<mod name="round" start="6" size="3">
6192
<opt>none</opt>
6193
<opt>rtp</opt>
6194
<opt>rtn</opt>
6195
<opt>rtz</opt>
6196
<opt>rtna</opt>
6197
<reserved/>
6198
<opt>inf</opt>
6199
<opt>inf0</opt>
6200
</mod>
6201
</ins>
6202
6203
<ins name="+LD_ATTR" staging="w=format" message="attribute">
6204
<src start="0"/>
6205
<src start="3"/>
6206
<src start="6"/>
6207
<mod name="register_format" size="4">
6208
<opt>f16</opt>
6209
<opt>f32</opt>
6210
<opt>s32</opt>
6211
<opt>u32</opt>
6212
<opt>s16</opt>
6213
<opt>u16</opt>
6214
<opt>f64</opt>
6215
<opt>i64</opt>
6216
<opt>auto</opt>
6217
</mod>
6218
<mod name="vecsize" start="11" size="2">
6219
<opt>none</opt>
6220
<opt>v2</opt>
6221
<opt>v3</opt>
6222
<opt>v4</opt>
6223
</mod>
6224
<encoding mask="0xf0600" exact="0x40400">
6225
<neq left="register_format" right="#auto"/>
6226
<derived start="13" size="3">
6227
<eq left="register_format" right="#f16"/>
6228
<eq left="register_format" right="#f32"/>
6229
<eq left="register_format" right="#s32"/>
6230
<eq left="register_format" right="#u32"/>
6231
<eq left="register_format" right="#s16"/>
6232
<eq left="register_format" right="#u16"/>
6233
<eq left="register_format" right="#f64"/>
6234
<eq left="register_format" right="#i64"/>
6235
</derived>
6236
</encoding>
6237
<encoding mask="0xfe600" exact="0xc4400">
6238
<eq left="register_format" right="#auto"/>
6239
</encoding>
6240
</ins>
6241
6242
<ins name="+LD_ATTR_IMM" staging="w=format" message="attribute">
6243
<src start="0"/>
6244
<src start="3"/>
6245
<immediate name="attribute_index" start="6" size="4"/>
6246
<mod name="register_format" size="4">
6247
<opt>f16</opt>
6248
<opt>f32</opt>
6249
<opt>s32</opt>
6250
<opt>u32</opt>
6251
<opt>s16</opt>
6252
<opt>u16</opt>
6253
<opt>f64</opt>
6254
<opt>i64</opt>
6255
<opt>auto</opt>
6256
</mod>
6257
<mod name="vecsize" start="11" size="2">
6258
<opt>none</opt>
6259
<opt>v2</opt>
6260
<opt>v3</opt>
6261
<opt>v4</opt>
6262
</mod>
6263
<encoding mask="0xf0400" exact="0x40000">
6264
<neq left="register_format" right="#auto"/>
6265
<derived start="13" size="3">
6266
<eq left="register_format" right="#f16"/>
6267
<eq left="register_format" right="#f32"/>
6268
<eq left="register_format" right="#s32"/>
6269
<eq left="register_format" right="#u32"/>
6270
<eq left="register_format" right="#s16"/>
6271
<eq left="register_format" right="#u16"/>
6272
<eq left="register_format" right="#f64"/>
6273
<eq left="register_format" right="#i64"/>
6274
</derived>
6275
</encoding>
6276
<encoding mask="0xfe400" exact="0xc4000">
6277
<eq left="register_format" right="#auto"/>
6278
</encoding>
6279
</ins>
6280
6281
<ins name="+LD_ATTR_TEX" staging="w=format" message="attribute">
6282
<src start="0"/>
6283
<src start="3"/>
6284
<src start="6"/>
6285
<mod name="register_format" size="4">
6286
<opt>f16</opt>
6287
<opt>f32</opt>
6288
<opt>s32</opt>
6289
<opt>u32</opt>
6290
<opt>s16</opt>
6291
<opt>u16</opt>
6292
<opt>f64</opt>
6293
<opt>i64</opt>
6294
<opt>auto</opt>
6295
</mod>
6296
<mod name="vecsize" start="11" size="2">
6297
<opt>none</opt>
6298
<opt>v2</opt>
6299
<opt>v3</opt>
6300
<opt>v4</opt>
6301
</mod>
6302
<encoding mask="0xf0600" exact="0x40600">
6303
<neq left="register_format" right="#auto"/>
6304
<derived start="13" size="3">
6305
<eq left="register_format" right="#f16"/>
6306
<eq left="register_format" right="#f32"/>
6307
<eq left="register_format" right="#s32"/>
6308
<eq left="register_format" right="#u32"/>
6309
<eq left="register_format" right="#s16"/>
6310
<eq left="register_format" right="#u16"/>
6311
<eq left="register_format" right="#f64"/>
6312
<eq left="register_format" right="#i64"/>
6313
</derived>
6314
</encoding>
6315
<encoding mask="0xfe600" exact="0xc4600">
6316
<eq left="register_format" right="#auto"/>
6317
</encoding>
6318
</ins>
6319
6320
<ins name="+LD_CVT" staging="w=format" mask="0xff800" exact="0xc9000" message="load">
6321
<src start="0"/>
6322
<src start="3"/>
6323
<src start="6" mask="0xf7"/>
6324
<mod name="register_format" size="4" pseudo="true">
6325
<opt>f16</opt>
6326
<opt>f32</opt>
6327
<opt>s32</opt>
6328
<opt>u32</opt>
6329
<opt>s16</opt>
6330
<opt>u16</opt>
6331
<opt>f64</opt>
6332
<opt>i64</opt>
6333
</mod>
6334
<mod name="vecsize" start="9" size="2">
6335
<opt>none</opt>
6336
<opt>v2</opt>
6337
<opt>v3</opt>
6338
<opt>v4</opt>
6339
</mod>
6340
</ins>
6341
6342
<ins name="+LD_GCLK.u64" staging="w=2" mask="0xffff8" exact="0xd7800" message="attribute">
6343
<mod name="source" start="0" size="3">
6344
<reserved/>
6345
<reserved/>
6346
<reserved/>
6347
<reserved/>
6348
<reserved/>
6349
<reserved/>
6350
<opt>system_timestamp</opt>
6351
<opt>cycle_counter</opt>
6352
</mod>
6353
</ins>
6354
6355
<ins name="+LD_TILE" staging="w=vecsize" mask="0xff800" exact="0xcb000" message="tile">
6356
<src start="0"/>
6357
<src start="3"/>
6358
<src start="6" mask="0xf7"/>
6359
<mod name="vecsize" start="9" size="2">
6360
<opt>none</opt>
6361
<opt>v2</opt>
6362
<opt>v3</opt>
6363
<opt>v4</opt>
6364
</mod>
6365
</ins>
6366
6367
<ins name="+LD_VAR" staging="w=vecsize" message="varying">
6368
<src start="0"/>
6369
<src start="3"/>
6370
<mod name="vecsize" start="8" size="2">
6371
<opt>none</opt>
6372
<opt>v2</opt>
6373
<opt>v3</opt>
6374
<opt>v4</opt>
6375
</mod>
6376
<mod name="update" size="2">
6377
<opt>store</opt>
6378
<opt>retrieve</opt>
6379
<opt>conditional</opt>
6380
<opt>clobber</opt>
6381
</mod>
6382
<mod name="register_format" size="2">
6383
<opt>f32</opt>
6384
<opt>f16</opt>
6385
<opt>auto</opt>
6386
</mod>
6387
<mod name="sample" size="3">
6388
<opt>center</opt>
6389
<opt>centroid</opt>
6390
<opt>sample</opt>
6391
<opt>explicit</opt>
6392
<opt>none</opt>
6393
</mod>
6394
<encoding mask="0x7c0c0" exact="0x500c0">
6395
<neq left="register_format" right="#auto"/>
6396
<derived start="19" size="1">
6397
<eq left="register_format" right="#f32"/>
6398
<eq left="register_format" right="#f16"/>
6399
</derived>
6400
<derived start="10" size="4">
6401
<and>
6402
<eq left="sample" right="#center"/>
6403
<eq left="update" right="#store"/>
6404
</and>
6405
<and>
6406
<eq left="sample" right="#centroid"/>
6407
<eq left="update" right="#store"/>
6408
</and>
6409
<and>
6410
<eq left="sample" right="#sample"/>
6411
<eq left="update" right="#store"/>
6412
</and>
6413
<and>
6414
<eq left="sample" right="#explicit"/>
6415
<eq left="update" right="#store"/>
6416
</and>
6417
<and>
6418
<eq left="sample" right="#none"/>
6419
<eq left="update" right="#retrieve"/>
6420
</and>
6421
<reserved/>
6422
<reserved/>
6423
<reserved/>
6424
<and>
6425
<eq left="sample" right="#center"/>
6426
<eq left="update" right="#conditional"/>
6427
</and>
6428
<and>
6429
<eq left="sample" right="#centroid"/>
6430
<eq left="update" right="#conditional"/>
6431
</and>
6432
<and>
6433
<eq left="sample" right="#center"/>
6434
<eq left="update" right="#clobber"/>
6435
</and>
6436
<and>
6437
<eq left="sample" right="#centroid"/>
6438
<eq left="update" right="#clobber"/>
6439
</and>
6440
<and>
6441
<eq left="sample" right="#sample"/>
6442
<eq left="update" right="#clobber"/>
6443
</and>
6444
<and>
6445
<eq left="sample" right="#explicit"/>
6446
<eq left="update" right="#clobber"/>
6447
</and>
6448
<reserved/>
6449
<reserved/>
6450
</derived>
6451
</encoding>
6452
<encoding mask="0xfc0c0" exact="0xcc0c0">
6453
<eq left="register_format" right="#auto"/>
6454
<derived start="10" size="4">
6455
<and>
6456
<eq left="sample" right="#center"/>
6457
<eq left="update" right="#store"/>
6458
</and>
6459
<and>
6460
<eq left="sample" right="#centroid"/>
6461
<eq left="update" right="#store"/>
6462
</and>
6463
<and>
6464
<eq left="sample" right="#sample"/>
6465
<eq left="update" right="#store"/>
6466
</and>
6467
<and>
6468
<eq left="sample" right="#explicit"/>
6469
<eq left="update" right="#store"/>
6470
</and>
6471
<and>
6472
<eq left="sample" right="#none"/>
6473
<eq left="update" right="#retrieve"/>
6474
</and>
6475
<reserved/>
6476
<reserved/>
6477
<reserved/>
6478
<and>
6479
<eq left="sample" right="#center"/>
6480
<eq left="update" right="#conditional"/>
6481
</and>
6482
<and>
6483
<eq left="sample" right="#centroid"/>
6484
<eq left="update" right="#conditional"/>
6485
</and>
6486
<and>
6487
<eq left="sample" right="#center"/>
6488
<eq left="update" right="#clobber"/>
6489
</and>
6490
<and>
6491
<eq left="sample" right="#centroid"/>
6492
<eq left="update" right="#clobber"/>
6493
</and>
6494
<and>
6495
<eq left="sample" right="#sample"/>
6496
<eq left="update" right="#clobber"/>
6497
</and>
6498
<and>
6499
<eq left="sample" right="#explicit"/>
6500
<eq left="update" right="#clobber"/>
6501
</and>
6502
<reserved/>
6503
<reserved/>
6504
</derived>
6505
</encoding>
6506
</ins>
6507
6508
<ins name="+LD_VAR_FLAT" staging="w=format" message="varying">
6509
<src start="3"/>
6510
<mod name="vecsize" start="8" size="2">
6511
<opt>none</opt>
6512
<opt>v2</opt>
6513
<opt>v3</opt>
6514
<opt>v4</opt>
6515
</mod>
6516
<mod name="register_format" size="3">
6517
<opt>f32</opt>
6518
<opt>f16</opt>
6519
<opt>u32</opt>
6520
<opt>s32</opt>
6521
<opt>auto</opt>
6522
</mod>
6523
<mod name="function" start="0" size="3">
6524
<reserved/>
6525
<reserved/>
6526
<reserved/>
6527
<opt>none</opt>
6528
<reserved/>
6529
<reserved/>
6530
<opt>and</opt>
6531
<opt>or</opt>
6532
</mod>
6533
<encoding mask="0x7f8c0" exact="0x538c0">
6534
<neq left="register_format" right="#auto"/>
6535
<derived start="10" size="1">
6536
<or>
6537
<eq left="register_format" right="#f32"/>
6538
<eq left="register_format" right="#f16"/>
6539
</or>
6540
<or>
6541
<eq left="register_format" right="#u32"/>
6542
<eq left="register_format" right="#s32"/>
6543
</or>
6544
</derived>
6545
<derived start="19" size="1">
6546
<or>
6547
<eq left="register_format" right="#f32"/>
6548
<eq left="register_format" right="#u32"/>
6549
</or>
6550
<or>
6551
<eq left="register_format" right="#f16"/>
6552
<eq left="register_format" right="#s32"/>
6553
</or>
6554
</derived>
6555
</encoding>
6556
<encoding mask="0xffcc0" exact="0xcf8c0">
6557
<eq left="register_format" right="#auto"/>
6558
</encoding>
6559
</ins>
6560
6561
<ins name="+LD_VAR_FLAT_IMM" staging="w=format" message="varying">
6562
<immediate name="index" start="3" size="5"/>
6563
<mod name="vecsize" start="8" size="2">
6564
<opt>none</opt>
6565
<opt>v2</opt>
6566
<opt>v3</opt>
6567
<opt>v4</opt>
6568
</mod>
6569
<mod name="register_format" size="3">
6570
<opt>f32</opt>
6571
<opt>f16</opt>
6572
<opt>u32</opt>
6573
<opt>s32</opt>
6574
<opt>auto</opt>
6575
</mod>
6576
<mod name="function" start="0" size="3">
6577
<reserved/>
6578
<reserved/>
6579
<reserved/>
6580
<opt>none</opt>
6581
<reserved/>
6582
<reserved/>
6583
<opt>and</opt>
6584
<opt>or</opt>
6585
</mod>
6586
<encoding mask="0x7f800" exact="0x53800">
6587
<neq left="register_format" right="#auto"/>
6588
<derived start="10" size="1">
6589
<or>
6590
<eq left="register_format" right="#f32"/>
6591
<eq left="register_format" right="#f16"/>
6592
</or>
6593
<or>
6594
<eq left="register_format" right="#u32"/>
6595
<eq left="register_format" right="#s32"/>
6596
</or>
6597
</derived>
6598
<derived start="19" size="1">
6599
<or>
6600
<eq left="register_format" right="#f32"/>
6601
<eq left="register_format" right="#u32"/>
6602
</or>
6603
<or>
6604
<eq left="register_format" right="#f16"/>
6605
<eq left="register_format" right="#s32"/>
6606
</or>
6607
</derived>
6608
</encoding>
6609
<encoding mask="0xffc00" exact="0xcf800">
6610
<eq left="register_format" right="#auto"/>
6611
</encoding>
6612
</ins>
6613
6614
<ins name="+LD_VAR_IMM" staging="w=format" message="varying">
6615
<src start="0"/>
6616
<immediate name="index" start="3" size="5"/>
6617
<mod name="vecsize" start="8" size="2">
6618
<opt>none</opt>
6619
<opt>v2</opt>
6620
<opt>v3</opt>
6621
<opt>v4</opt>
6622
</mod>
6623
<mod name="update" size="2">
6624
<opt>store</opt>
6625
<opt>retrieve</opt>
6626
<opt>conditional</opt>
6627
<opt>clobber</opt>
6628
</mod>
6629
<mod name="register_format" size="2">
6630
<opt>f32</opt>
6631
<opt>f16</opt>
6632
<opt>auto</opt>
6633
</mod>
6634
<mod name="sample" size="3">
6635
<opt>center</opt>
6636
<opt>centroid</opt>
6637
<opt>sample</opt>
6638
<opt>explicit</opt>
6639
<opt>none</opt>
6640
</mod>
6641
<encoding mask="0x7c000" exact="0x50000">
6642
<neq left="register_format" right="#auto"/>
6643
<derived start="19" size="1">
6644
<eq left="register_format" right="#f32"/>
6645
<eq left="register_format" right="#f16"/>
6646
</derived>
6647
<derived start="10" size="4">
6648
<and>
6649
<eq left="sample" right="#center"/>
6650
<eq left="update" right="#store"/>
6651
</and>
6652
<and>
6653
<eq left="sample" right="#centroid"/>
6654
<eq left="update" right="#store"/>
6655
</and>
6656
<and>
6657
<eq left="sample" right="#sample"/>
6658
<eq left="update" right="#store"/>
6659
</and>
6660
<and>
6661
<eq left="sample" right="#explicit"/>
6662
<eq left="update" right="#store"/>
6663
</and>
6664
<and>
6665
<eq left="sample" right="#none"/>
6666
<eq left="update" right="#retrieve"/>
6667
</and>
6668
<reserved/>
6669
<reserved/>
6670
<reserved/>
6671
<and>
6672
<eq left="sample" right="#center"/>
6673
<eq left="update" right="#conditional"/>
6674
</and>
6675
<and>
6676
<eq left="sample" right="#centroid"/>
6677
<eq left="update" right="#conditional"/>
6678
</and>
6679
<and>
6680
<eq left="sample" right="#center"/>
6681
<eq left="update" right="#clobber"/>
6682
</and>
6683
<and>
6684
<eq left="sample" right="#centroid"/>
6685
<eq left="update" right="#clobber"/>
6686
</and>
6687
<and>
6688
<eq left="sample" right="#sample"/>
6689
<eq left="update" right="#clobber"/>
6690
</and>
6691
<and>
6692
<eq left="sample" right="#explicit"/>
6693
<eq left="update" right="#clobber"/>
6694
</and>
6695
<reserved/>
6696
<reserved/>
6697
</derived>
6698
</encoding>
6699
<encoding mask="0xfc000" exact="0xcc000">
6700
<eq left="register_format" right="#auto"/>
6701
<derived start="10" size="4">
6702
<and>
6703
<eq left="sample" right="#center"/>
6704
<eq left="update" right="#store"/>
6705
</and>
6706
<and>
6707
<eq left="sample" right="#centroid"/>
6708
<eq left="update" right="#store"/>
6709
</and>
6710
<and>
6711
<eq left="sample" right="#sample"/>
6712
<eq left="update" right="#store"/>
6713
</and>
6714
<and>
6715
<eq left="sample" right="#explicit"/>
6716
<eq left="update" right="#store"/>
6717
</and>
6718
<and>
6719
<eq left="sample" right="#none"/>
6720
<eq left="update" right="#retrieve"/>
6721
</and>
6722
<reserved/>
6723
<reserved/>
6724
<reserved/>
6725
<and>
6726
<eq left="sample" right="#center"/>
6727
<eq left="update" right="#conditional"/>
6728
</and>
6729
<and>
6730
<eq left="sample" right="#centroid"/>
6731
<eq left="update" right="#conditional"/>
6732
</and>
6733
<and>
6734
<eq left="sample" right="#center"/>
6735
<eq left="update" right="#clobber"/>
6736
</and>
6737
<and>
6738
<eq left="sample" right="#centroid"/>
6739
<eq left="update" right="#clobber"/>
6740
</and>
6741
<and>
6742
<eq left="sample" right="#sample"/>
6743
<eq left="update" right="#clobber"/>
6744
</and>
6745
<and>
6746
<eq left="sample" right="#explicit"/>
6747
<eq left="update" right="#clobber"/>
6748
</and>
6749
<reserved/>
6750
<reserved/>
6751
</derived>
6752
</encoding>
6753
</ins>
6754
6755
<ins name="+LD_VAR_SPECIAL" staging="w=format" message="varying">
6756
<src start="0"/>
6757
<mod name="varying_name" size="5">
6758
<opt>point</opt>
6759
<reserved/>
6760
<opt>frag_w</opt>
6761
<opt>frag_z</opt>
6762
</mod>
6763
<mod name="vecsize" size="2">
6764
<opt>none</opt>
6765
<opt>v2</opt>
6766
<opt>v3</opt>
6767
<opt>v4</opt>
6768
</mod>
6769
<mod name="update" size="2">
6770
<opt>store</opt>
6771
<opt>retrieve</opt>
6772
<opt>conditional</opt>
6773
<opt>clobber</opt>
6774
</mod>
6775
<mod name="register_format" size="2">
6776
<opt>f32</opt>
6777
<opt>f16</opt>
6778
<opt>auto</opt>
6779
</mod>
6780
<mod name="sample" size="3">
6781
<opt>center</opt>
6782
<opt>centroid</opt>
6783
<opt>sample</opt>
6784
<opt>explicit</opt>
6785
<opt>none</opt>
6786
</mod>
6787
<encoding mask="0x7c3e0" exact="0x500a0">
6788
<neq left="register_format" right="#auto"/>
6789
<derived start="3" size="2">
6790
<and>
6791
<eq left="varying_name" right="#point"/>
6792
<eq left="vecsize" right="#v2"/>
6793
<eq left="update" right="#clobber"/>
6794
</and>
6795
<reserved/>
6796
<and>
6797
<eq left="varying_name" right="#frag_w"/>
6798
<eq left="vecsize" right="#none"/>
6799
<eq left="update" right="#clobber"/>
6800
</and>
6801
<and>
6802
<eq left="varying_name" right="#frag_z"/>
6803
<eq left="vecsize" right="#none"/>
6804
<eq left="update" right="#clobber"/>
6805
<neq left="sample" right="#explicit"/>
6806
<neq left="register_format" right="#auto"/>
6807
</and>
6808
</derived>
6809
<derived start="19" size="1">
6810
<eq left="register_format" right="#f32"/>
6811
<eq left="register_format" right="#f16"/>
6812
</derived>
6813
<derived start="10" size="4">
6814
<and>
6815
<eq left="sample" right="#center"/>
6816
<eq left="update" right="#store"/>
6817
</and>
6818
<and>
6819
<eq left="sample" right="#centroid"/>
6820
<eq left="update" right="#store"/>
6821
</and>
6822
<and>
6823
<eq left="sample" right="#sample"/>
6824
<eq left="update" right="#store"/>
6825
</and>
6826
<and>
6827
<eq left="sample" right="#explicit"/>
6828
<eq left="update" right="#store"/>
6829
</and>
6830
<and>
6831
<eq left="sample" right="#none"/>
6832
<eq left="update" right="#retrieve"/>
6833
</and>
6834
<reserved/>
6835
<reserved/>
6836
<reserved/>
6837
<and>
6838
<eq left="sample" right="#center"/>
6839
<eq left="update" right="#conditional"/>
6840
</and>
6841
<and>
6842
<eq left="sample" right="#centroid"/>
6843
<eq left="update" right="#conditional"/>
6844
</and>
6845
<and>
6846
<eq left="sample" right="#center"/>
6847
<eq left="update" right="#clobber"/>
6848
</and>
6849
<and>
6850
<eq left="sample" right="#centroid"/>
6851
<eq left="update" right="#clobber"/>
6852
</and>
6853
<and>
6854
<eq left="sample" right="#sample"/>
6855
<eq left="update" right="#clobber"/>
6856
</and>
6857
<and>
6858
<eq left="sample" right="#explicit"/>
6859
<eq left="update" right="#clobber"/>
6860
</and>
6861
<reserved/>
6862
<reserved/>
6863
</derived>
6864
</encoding>
6865
<encoding mask="0xfc3e0" exact="0xcc0a0">
6866
<eq left="register_format" right="#auto"/>
6867
<derived start="3" size="2">
6868
<and>
6869
<eq left="varying_name" right="#point"/>
6870
<eq left="vecsize" right="#v2"/>
6871
<eq left="update" right="#clobber"/>
6872
</and>
6873
<reserved/>
6874
<and>
6875
<eq left="varying_name" right="#frag_w"/>
6876
<eq left="vecsize" right="#none"/>
6877
<eq left="update" right="#clobber"/>
6878
</and>
6879
<and>
6880
<eq left="varying_name" right="#frag_z"/>
6881
<eq left="vecsize" right="#none"/>
6882
<eq left="update" right="#clobber"/>
6883
<neq left="sample" right="#explicit"/>
6884
<neq left="register_format" right="#auto"/>
6885
</and>
6886
</derived>
6887
<derived start="10" size="4">
6888
<and>
6889
<eq left="sample" right="#center"/>
6890
<eq left="update" right="#store"/>
6891
</and>
6892
<and>
6893
<eq left="sample" right="#centroid"/>
6894
<eq left="update" right="#store"/>
6895
</and>
6896
<and>
6897
<eq left="sample" right="#sample"/>
6898
<eq left="update" right="#store"/>
6899
</and>
6900
<and>
6901
<eq left="sample" right="#explicit"/>
6902
<eq left="update" right="#store"/>
6903
</and>
6904
<and>
6905
<eq left="sample" right="#none"/>
6906
<eq left="update" right="#retrieve"/>
6907
</and>
6908
<reserved/>
6909
<reserved/>
6910
<reserved/>
6911
<and>
6912
<eq left="sample" right="#center"/>
6913
<eq left="update" right="#conditional"/>
6914
</and>
6915
<and>
6916
<eq left="sample" right="#centroid"/>
6917
<eq left="update" right="#conditional"/>
6918
</and>
6919
<and>
6920
<eq left="sample" right="#center"/>
6921
<eq left="update" right="#clobber"/>
6922
</and>
6923
<and>
6924
<eq left="sample" right="#centroid"/>
6925
<eq left="update" right="#clobber"/>
6926
</and>
6927
<and>
6928
<eq left="sample" right="#sample"/>
6929
<eq left="update" right="#clobber"/>
6930
</and>
6931
<and>
6932
<eq left="sample" right="#explicit"/>
6933
<eq left="update" right="#clobber"/>
6934
</and>
6935
<reserved/>
6936
<reserved/>
6937
</derived>
6938
</encoding>
6939
</ins>
6940
6941
<ins name="+LEA_ATTR" staging="w=3" message="attribute">
6942
<src start="0"/>
6943
<src start="3"/>
6944
<src start="6"/>
6945
<mod name="register_format" size="4">
6946
<opt>f16</opt>
6947
<opt>f32</opt>
6948
<opt>s32</opt>
6949
<opt>u32</opt>
6950
<opt>s16</opt>
6951
<opt>u16</opt>
6952
<opt>f64</opt>
6953
<opt>i64</opt>
6954
<opt>auto</opt>
6955
</mod>
6956
<encoding mask="0xfc600" exact="0xc0400">
6957
<neq left="register_format" right="#auto"/>
6958
<derived start="11" size="3">
6959
<eq left="register_format" right="#f16"/>
6960
<eq left="register_format" right="#f32"/>
6961
<eq left="register_format" right="#s32"/>
6962
<eq left="register_format" right="#u32"/>
6963
<eq left="register_format" right="#s16"/>
6964
<eq left="register_format" right="#u16"/>
6965
<eq left="register_format" right="#f64"/>
6966
<eq left="register_format" right="#i64"/>
6967
</derived>
6968
</encoding>
6969
<encoding mask="0xffe00" exact="0xc8400">
6970
<eq left="register_format" right="#auto"/>
6971
</encoding>
6972
</ins>
6973
6974
<ins name="+LEA_ATTR_IMM" staging="w=3" message="attribute">
6975
<src start="0"/>
6976
<src start="3"/>
6977
<immediate name="attribute_index" start="6" size="4"/>
6978
<mod name="register_format" size="4">
6979
<opt>f16</opt>
6980
<opt>f32</opt>
6981
<opt>s32</opt>
6982
<opt>u32</opt>
6983
<opt>s16</opt>
6984
<opt>u16</opt>
6985
<opt>f64</opt>
6986
<opt>i64</opt>
6987
<opt>auto</opt>
6988
</mod>
6989
<encoding mask="0xfc400" exact="0xc0000">
6990
<neq left="register_format" right="#auto"/>
6991
<derived start="11" size="3">
6992
<eq left="register_format" right="#f16"/>
6993
<eq left="register_format" right="#f32"/>
6994
<eq left="register_format" right="#s32"/>
6995
<eq left="register_format" right="#u32"/>
6996
<eq left="register_format" right="#s16"/>
6997
<eq left="register_format" right="#u16"/>
6998
<eq left="register_format" right="#f64"/>
6999
<eq left="register_format" right="#i64"/>
7000
</derived>
7001
</encoding>
7002
<encoding mask="0xffc00" exact="0xc8000">
7003
<eq left="register_format" right="#auto"/>
7004
</encoding>
7005
</ins>
7006
7007
<ins name="+LEA_ATTR_TEX" staging="w=3" message="attribute">
7008
<src start="0"/>
7009
<src start="3"/>
7010
<src start="6"/>
7011
<mod name="register_format" size="4">
7012
<opt>f16</opt>
7013
<opt>f32</opt>
7014
<opt>s32</opt>
7015
<opt>u32</opt>
7016
<opt>s16</opt>
7017
<opt>u16</opt>
7018
<opt>f64</opt>
7019
<opt>i64</opt>
7020
<opt>auto</opt>
7021
</mod>
7022
<encoding mask="0xfc600" exact="0xc0600">
7023
<neq left="register_format" right="#auto"/>
7024
<derived start="11" size="3">
7025
<eq left="register_format" right="#f16"/>
7026
<eq left="register_format" right="#f32"/>
7027
<eq left="register_format" right="#s32"/>
7028
<eq left="register_format" right="#u32"/>
7029
<eq left="register_format" right="#s16"/>
7030
<eq left="register_format" right="#u16"/>
7031
<eq left="register_format" right="#f64"/>
7032
<eq left="register_format" right="#i64"/>
7033
</derived>
7034
</encoding>
7035
<encoding mask="0xffe00" exact="0xc8600">
7036
<eq left="register_format" right="#auto"/>
7037
</encoding>
7038
</ins>
7039
7040
<ins name="+LEA_TEX" staging="w=3" mask="0xff600" exact="0xd6600" message="attribute">
7041
<src start="0"/>
7042
<src start="3"/>
7043
<src start="6"/>
7044
<mod name="format" start="11" size="1">
7045
<opt>u16</opt>
7046
<opt>u32</opt>
7047
</mod>
7048
</ins>
7049
7050
<ins name="+LEA_TEX_IMM" staging="w=3" mask="0xff000" exact="0xd6000" message="attribute">
7051
<src start="0"/>
7052
<src start="3"/>
7053
<immediate name="texture_index" start="6" size="5"/>
7054
<mod name="format" start="11" size="1">
7055
<opt>u16</opt>
7056
<opt>u32</opt>
7057
</mod>
7058
</ins>
7059
7060
<ins name="+LOAD.i128" staging="w=4" mask="0xffe00" exact="0x61000" message="load">
7061
<src start="0"/>
7062
<src start="3"/>
7063
<mod name="seg" start="6" size="3">
7064
<reserved/>
7065
<opt>none</opt>
7066
<opt>wls</opt>
7067
<opt>stream</opt>
7068
<opt>ubo</opt>
7069
<reserved/>
7070
<reserved/>
7071
<opt>tl</opt>
7072
</mod>
7073
</ins>
7074
7075
<ins name="+LOAD.i16" staging="w=1" message="load">
7076
<src start="0"/>
7077
<src start="3"/>
7078
<mod name="seg" start="6" size="3">
7079
<reserved/>
7080
<opt>none</opt>
7081
<opt>wls</opt>
7082
<opt>stream</opt>
7083
<opt>ubo</opt>
7084
<reserved/>
7085
<reserved/>
7086
<opt>tl</opt>
7087
</mod>
7088
<mod name="lane_dest" size="2" default="h0">
7089
<opt>h0</opt>
7090
<opt>h1</opt>
7091
<opt>w0</opt>
7092
<opt>d0</opt>
7093
</mod>
7094
<mod name="extend" size="2">
7095
<opt>none</opt>
7096
<opt>sext</opt>
7097
<opt>zext</opt>
7098
</mod>
7099
<encoding mask="0xffc00" exact="0x60800">
7100
<and>
7101
<eq left="extend" right="#none"/>
7102
<or>
7103
<eq left="lane_dest" right="#h0"/>
7104
<eq left="lane_dest" right="#h1"/>
7105
</or>
7106
</and>
7107
<derived start="9" size="1">
7108
<eq left="lane_dest" right="#h0"/>
7109
<eq left="lane_dest" right="#h1"/>
7110
</derived>
7111
</encoding>
7112
<encoding mask="0xffc00" exact="0x63000">
7113
<and>
7114
<neq left="extend" right="#none"/>
7115
<eq left="lane_dest" right="#w0"/>
7116
</and>
7117
<derived start="9" size="1">
7118
<eq left="extend" right="#sext"/>
7119
<eq left="extend" right="#zext"/>
7120
</derived>
7121
</encoding>
7122
<encoding mask="0xffc00" exact="0x61800">
7123
<and>
7124
<neq left="extend" right="#none"/>
7125
<eq left="lane_dest" right="#d0"/>
7126
</and>
7127
<derived start="9" size="1">
7128
<eq left="extend" right="#sext"/>
7129
<eq left="extend" right="#zext"/>
7130
</derived>
7131
</encoding>
7132
</ins>
7133
7134
<ins name="+LOAD.i24" staging="w=1" mask="0xffe00" exact="0x65000" message="load">
7135
<src start="0"/>
7136
<src start="3"/>
7137
<mod name="seg" start="6" size="3">
7138
<reserved/>
7139
<opt>none</opt>
7140
<opt>wls</opt>
7141
<opt>stream</opt>
7142
<opt>ubo</opt>
7143
<reserved/>
7144
<reserved/>
7145
<opt>tl</opt>
7146
</mod>
7147
</ins>
7148
7149
<ins name="+LOAD.i32" staging="w=1" message="load">
7150
<src start="0"/>
7151
<src start="3"/>
7152
<mod name="seg" start="6" size="3">
7153
<reserved/>
7154
<opt>none</opt>
7155
<opt>wls</opt>
7156
<opt>stream</opt>
7157
<opt>ubo</opt>
7158
<reserved/>
7159
<reserved/>
7160
<opt>tl</opt>
7161
</mod>
7162
<mod name="lane_dest" size="1" opt="d0"/>
7163
<mod name="extend" size="2">
7164
<opt>none</opt>
7165
<opt>sext</opt>
7166
<opt>zext</opt>
7167
</mod>
7168
<encoding mask="0xffe00" exact="0x60c00">
7169
<and>
7170
<eq left="extend" right="#none"/>
7171
<eq left="lane_dest" right="#none"/>
7172
</and>
7173
</encoding>
7174
<encoding mask="0xffc00" exact="0x61c00">
7175
<and>
7176
<neq left="extend" right="#none"/>
7177
<eq left="lane_dest" right="#d0"/>
7178
</and>
7179
<derived start="9" size="1">
7180
<eq left="extend" right="#sext"/>
7181
<eq left="extend" right="#zext"/>
7182
</derived>
7183
</encoding>
7184
</ins>
7185
7186
<ins name="+LOAD.i48" staging="w=2" mask="0xffe00" exact="0x65200" message="load">
7187
<src start="0"/>
7188
<src start="3"/>
7189
<mod name="seg" start="6" size="3">
7190
<reserved/>
7191
<opt>none</opt>
7192
<opt>wls</opt>
7193
<opt>stream</opt>
7194
<opt>ubo</opt>
7195
<reserved/>
7196
<reserved/>
7197
<opt>tl</opt>
7198
</mod>
7199
</ins>
7200
7201
<ins name="+LOAD.i64" staging="w=2" mask="0xffe00" exact="0x60e00" message="load">
7202
<src start="0"/>
7203
<src start="3"/>
7204
<mod name="seg" start="6" size="3">
7205
<reserved/>
7206
<opt>none</opt>
7207
<opt>wls</opt>
7208
<opt>stream</opt>
7209
<opt>ubo</opt>
7210
<reserved/>
7211
<reserved/>
7212
<opt>tl</opt>
7213
</mod>
7214
</ins>
7215
7216
<ins name="+LOAD.i8" staging="w=1" message="load">
7217
<src start="0"/>
7218
<src start="3"/>
7219
<mod name="seg" start="6" size="3">
7220
<reserved/>
7221
<opt>none</opt>
7222
<opt>wls</opt>
7223
<opt>stream</opt>
7224
<opt>ubo</opt>
7225
<reserved/>
7226
<reserved/>
7227
<opt>tl</opt>
7228
</mod>
7229
<mod name="lane_dest" size="3" default="b0">
7230
<opt>b0</opt>
7231
<opt>b1</opt>
7232
<opt>b2</opt>
7233
<opt>b3</opt>
7234
<opt>h0</opt>
7235
<opt>h1</opt>
7236
<opt>w0</opt>
7237
<opt>d0</opt>
7238
</mod>
7239
<mod name="extend" size="2">
7240
<opt>none</opt>
7241
<opt>sext</opt>
7242
<opt>zext</opt>
7243
</mod>
7244
<encoding mask="0xff800" exact="0x60000">
7245
<and>
7246
<eq left="extend" right="#none"/>
7247
<or>
7248
<eq left="lane_dest" right="#b0"/>
7249
<eq left="lane_dest" right="#b1"/>
7250
<eq left="lane_dest" right="#b2"/>
7251
<eq left="lane_dest" right="#b3"/>
7252
</or>
7253
</and>
7254
<derived start="9" size="2">
7255
<eq left="lane_dest" right="#b0"/>
7256
<eq left="lane_dest" right="#b1"/>
7257
<eq left="lane_dest" right="#b2"/>
7258
<eq left="lane_dest" right="#b3"/>
7259
</derived>
7260
</encoding>
7261
<encoding mask="0xff800" exact="0x63800">
7262
<and>
7263
<neq left="extend" right="#none"/>
7264
<or>
7265
<eq left="lane_dest" right="#h0"/>
7266
<eq left="lane_dest" right="#h1"/>
7267
</or>
7268
</and>
7269
<derived start="9" size="1">
7270
<eq left="extend" right="#sext"/>
7271
<eq left="extend" right="#zext"/>
7272
</derived>
7273
<derived start="10" size="1">
7274
<eq left="lane_dest" right="#h0"/>
7275
<eq left="lane_dest" right="#h1"/>
7276
</derived>
7277
</encoding>
7278
<encoding mask="0xffc00" exact="0x63400">
7279
<and>
7280
<neq left="extend" right="#none"/>
7281
<eq left="lane_dest" right="#w0"/>
7282
</and>
7283
<derived start="9" size="1">
7284
<eq left="extend" right="#sext"/>
7285
<eq left="extend" right="#zext"/>
7286
</derived>
7287
</encoding>
7288
<encoding mask="0xffc00" exact="0x61400">
7289
<and>
7290
<neq left="extend" right="#none"/>
7291
<eq left="lane_dest" right="#d0"/>
7292
</and>
7293
<derived start="9" size="1">
7294
<eq left="extend" right="#sext"/>
7295
<eq left="extend" right="#zext"/>
7296
</derived>
7297
</encoding>
7298
</ins>
7299
7300
<ins name="+LOAD.i96" staging="w=3" mask="0xffe00" exact="0x65400" message="load">
7301
<src start="0"/>
7302
<src start="3"/>
7303
<mod name="seg" start="6" size="3">
7304
<reserved/>
7305
<opt>none</opt>
7306
<opt>wls</opt>
7307
<opt>stream</opt>
7308
<opt>ubo</opt>
7309
<reserved/>
7310
<reserved/>
7311
<opt>tl</opt>
7312
</mod>
7313
</ins>
7314
7315
<ins name="+LOGB.f32" mask="0xfffe0" exact="0x3d9a0">
7316
<src start="0"/>
7317
<mod name="widen0" start="3" size="2">
7318
<reserved/>
7319
<opt>none</opt>
7320
<opt>h0</opt>
7321
<opt>h1</opt>
7322
</mod>
7323
</ins>
7324
7325
<ins name="+LOGB.v2f16" mask="0xfffe0" exact="0x3d980">
7326
<src start="0"/>
7327
<mod name="swz0" start="3" size="2" default="h01">
7328
<opt>h00</opt>
7329
<opt>h10</opt>
7330
<opt>h01</opt>
7331
<opt>h11</opt>
7332
</mod>
7333
</ins>
7334
7335
<ins name="+MKVEC.v2i16" mask="0xfff00" exact="0x75300">
7336
<src start="0"/>
7337
<src start="3"/>
7338
<mod name="lane0" start="6" size="1" default="h0">
7339
<opt>h0</opt>
7340
<opt>h1</opt>
7341
</mod>
7342
<mod name="lane1" start="7" size="1" default="h0">
7343
<opt>h0</opt>
7344
<opt>h1</opt>
7345
</mod>
7346
</ins>
7347
7348
<ins name="+MOV.i32" mask="0xffff8" exact="0x3d968">
7349
<src start="0"/>
7350
</ins>
7351
7352
<ins name="+MUX.i32" mask="0xff800" exact="0x74000">
7353
<src start="0"/>
7354
<src start="3"/>
7355
<src start="6"/>
7356
<mod name="mux" start="9" size="2" default="int_zero">
7357
<opt>neg</opt>
7358
<opt>int_zero</opt>
7359
<opt>fp_zero</opt>
7360
<opt>bit</opt>
7361
</mod>
7362
</ins>
7363
7364
<ins name="+MUX.v2i16" mask="0xfc000" exact="0x70000">
7365
<src start="0"/>
7366
<src start="3"/>
7367
<src start="6"/>
7368
<mod name="mux" start="9" size="2" default="int_zero">
7369
<opt>neg</opt>
7370
<opt>int_zero</opt>
7371
<opt>fp_zero</opt>
7372
<opt>bit</opt>
7373
</mod>
7374
<mod name="swap2" start="11" size="1" default="h01">
7375
<opt>h01</opt>
7376
<opt>h10</opt>
7377
</mod>
7378
<mod name="swap1" start="12" size="1" default="h01">
7379
<opt>h01</opt>
7380
<opt>h10</opt>
7381
</mod>
7382
<mod name="swap0" start="13" size="1" default="h01">
7383
<opt>h01</opt>
7384
<opt>h10</opt>
7385
</mod>
7386
</ins>
7387
7388
<ins name="+MUX.v4i8" mask="0xffc00" exact="0x74800">
7389
<src start="0"/>
7390
<src start="3"/>
7391
<src start="6"/>
7392
<mod name="mux" start="9" size="1" default="int_zero">
7393
<opt>neg</opt>
7394
<opt>int_zero</opt>
7395
</mod>
7396
</ins>
7397
7398
<ins name="+NOP.i32" mask="0xfffff" exact="0x3d964"/>
7399
7400
<ins name="+QUIET.f32" mask="0xffff8" exact="0x3d970">
7401
<src start="0"/>
7402
</ins>
7403
7404
<ins name="+QUIET.v2f16" mask="0xfffc8" exact="0x3d900">
7405
<src start="0"/>
7406
<mod name="swz0" start="4" size="2" default="h01">
7407
<opt>h00</opt>
7408
<opt>h10</opt>
7409
<opt>h01</opt>
7410
<opt>h11</opt>
7411
</mod>
7412
</ins>
7413
7414
<ins name="+S16_TO_F32" mask="0xfffe8" exact="0x3cce0">
7415
<src start="0"/>
7416
<mod name="lane0" start="4" size="1" default="h0">
7417
<opt>h0</opt>
7418
<opt>h1</opt>
7419
</mod>
7420
</ins>
7421
7422
<ins name="+S16_TO_S32" mask="0xfffe8" exact="0x3ccc0">
7423
<src start="0"/>
7424
<mod name="lane0" start="4" size="1" default="h0">
7425
<opt>h0</opt>
7426
<opt>h1</opt>
7427
</mod>
7428
</ins>
7429
7430
<ins name="+S32_TO_F32">
7431
<src start="0"/>
7432
<mod name="round" size="3">
7433
<opt>none</opt>
7434
<opt>rtp</opt>
7435
<opt>rtn</opt>
7436
<opt>rtz</opt>
7437
<opt>rtna</opt>
7438
</mod>
7439
<encoding mask="0xfffc8" exact="0x3cbc0">
7440
<neq left="round" right="#rtna"/>
7441
<derived start="4" size="2">
7442
<eq left="round" right="#none"/>
7443
<eq left="round" right="#rtp"/>
7444
<eq left="round" right="#rtn"/>
7445
<eq left="round" right="#rtz"/>
7446
</derived>
7447
</encoding>
7448
<encoding mask="0xffff8" exact="0x3cd00">
7449
<eq left="round" right="#rtna"/>
7450
</encoding>
7451
</ins>
7452
7453
<ins name="+S8_TO_F32" mask="0xfffc8" exact="0x3cb80">
7454
<src start="0"/>
7455
<mod name="lane0" start="4" size="2" default="b0">
7456
<opt>b0</opt>
7457
<opt>b1</opt>
7458
<opt>b2</opt>
7459
<opt>b3</opt>
7460
</mod>
7461
</ins>
7462
7463
<ins name="+S8_TO_S32" mask="0xfffc8" exact="0x3cb40">
7464
<src start="0"/>
7465
<mod name="lane0" start="4" size="2" default="b0">
7466
<opt>b0</opt>
7467
<opt>b1</opt>
7468
<opt>b2</opt>
7469
<opt>b3</opt>
7470
</mod>
7471
</ins>
7472
7473
<ins name="+SEG_ADD" mask="0xfff40" exact="0x3d500">
7474
<src start="0"/>
7475
<mod name="seg" start="3" size="3">
7476
<reserved/>
7477
<reserved/>
7478
<opt>wls</opt>
7479
<reserved/>
7480
<reserved/>
7481
<reserved/>
7482
<reserved/>
7483
<opt>tl</opt>
7484
</mod>
7485
<mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
7486
</ins>
7487
7488
<ins name="+SEG_SUB" mask="0xfff40" exact="0x3d540" unused="true">
7489
<src start="0"/>
7490
<mod name="seg" start="3" size="3">
7491
<reserved/>
7492
<reserved/>
7493
<opt>wls</opt>
7494
<reserved/>
7495
<reserved/>
7496
<reserved/>
7497
<reserved/>
7498
<opt>tl</opt>
7499
</mod>
7500
<mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
7501
</ins>
7502
7503
<ins name="+SHADDXH.i32" mask="0xfffc0" exact="0x3f8c0">
7504
<src start="0"/>
7505
<src start="3"/>
7506
</ins>
7507
7508
<ins name="+SHIFT_DOUBLE.i32" mask="0xffe00" exact="0xefe00">
7509
<src start="0"/>
7510
<src start="3"/>
7511
<src start="6"/>
7512
</ins>
7513
7514
<ins name="+STORE.i128" staging="r=4" mask="0xffe00" exact="0x61200" message="store" dests="0">
7515
<src start="0"/>
7516
<src start="3"/>
7517
<mod name="seg" start="6" size="3">
7518
<reserved/>
7519
<opt>none</opt>
7520
<opt>wls</opt>
7521
<opt>stream</opt>
7522
<reserved/>
7523
<reserved/>
7524
<reserved/>
7525
<opt>tl</opt>
7526
</mod>
7527
</ins>
7528
7529
<ins name="+STORE.i16" staging="r=1" mask="0xffe00" exact="0x62800" message="store" dests="0">
7530
<src start="0"/>
7531
<src start="3"/>
7532
<mod name="seg" start="6" size="3">
7533
<reserved/>
7534
<opt>none</opt>
7535
<opt>wls</opt>
7536
<opt>stream</opt>
7537
<reserved/>
7538
<reserved/>
7539
<reserved/>
7540
<opt>tl</opt>
7541
</mod>
7542
</ins>
7543
7544
<ins name="+STORE.i24" staging="r=1" mask="0xffe00" exact="0x65800" message="store" dests="0">
7545
<src start="0"/>
7546
<src start="3"/>
7547
<mod name="seg" start="6" size="3">
7548
<reserved/>
7549
<opt>none</opt>
7550
<opt>wls</opt>
7551
<opt>stream</opt>
7552
<reserved/>
7553
<reserved/>
7554
<reserved/>
7555
<opt>tl</opt>
7556
</mod>
7557
</ins>
7558
7559
<ins name="+STORE.i32" staging="r=1" mask="0xffe00" exact="0x62c00" message="store" dests="0">
7560
<src start="0"/>
7561
<src start="3"/>
7562
<mod name="seg" start="6" size="3">
7563
<reserved/>
7564
<opt>none</opt>
7565
<opt>wls</opt>
7566
<opt>stream</opt>
7567
<reserved/>
7568
<reserved/>
7569
<reserved/>
7570
<opt>tl</opt>
7571
</mod>
7572
</ins>
7573
7574
<ins name="+STORE.i48" staging="r=2" mask="0xffe00" exact="0x65a00" message="store" dests="0">
7575
<src start="0"/>
7576
<src start="3"/>
7577
<mod name="seg" start="6" size="3">
7578
<reserved/>
7579
<opt>none</opt>
7580
<opt>wls</opt>
7581
<opt>stream</opt>
7582
<reserved/>
7583
<reserved/>
7584
<reserved/>
7585
<opt>tl</opt>
7586
</mod>
7587
</ins>
7588
7589
<ins name="+STORE.i64" staging="r=2" mask="0xffe00" exact="0x62e00" message="store" dests="0">
7590
<src start="0"/>
7591
<src start="3"/>
7592
<mod name="seg" start="6" size="3">
7593
<reserved/>
7594
<opt>none</opt>
7595
<opt>wls</opt>
7596
<opt>stream</opt>
7597
<reserved/>
7598
<reserved/>
7599
<reserved/>
7600
<opt>tl</opt>
7601
</mod>
7602
</ins>
7603
7604
<ins name="+STORE.i8" staging="r=1" mask="0xffe00" exact="0x62000" message="store" dests="0">
7605
<src start="0"/>
7606
<src start="3"/>
7607
<mod name="seg" start="6" size="3">
7608
<reserved/>
7609
<opt>none</opt>
7610
<opt>wls</opt>
7611
<opt>stream</opt>
7612
<reserved/>
7613
<reserved/>
7614
<reserved/>
7615
<opt>tl</opt>
7616
</mod>
7617
</ins>
7618
7619
<ins name="+STORE.i96" staging="r=3" mask="0xffe00" exact="0x65c00" message="store" dests="0">
7620
<src start="0"/>
7621
<src start="3"/>
7622
<mod name="seg" start="6" size="3">
7623
<reserved/>
7624
<opt>none</opt>
7625
<opt>wls</opt>
7626
<opt>stream</opt>
7627
<reserved/>
7628
<reserved/>
7629
<reserved/>
7630
<opt>tl</opt>
7631
</mod>
7632
</ins>
7633
7634
<ins name="+ST_CVT" staging="r=format" mask="0xff800" exact="0xc9800" message="store" dests="0">
7635
<src start="0"/>
7636
<src start="3"/>
7637
<src start="6" mask="0xf7"/>
7638
<mod name="register_format" size="4" pseudo="true">
7639
<opt>f16</opt>
7640
<opt>f32</opt>
7641
<opt>s32</opt>
7642
<opt>u32</opt>
7643
<opt>s16</opt>
7644
<opt>u16</opt>
7645
<opt>f64</opt>
7646
<opt>i64</opt>
7647
</mod>
7648
<mod name="vecsize" start="9" size="2">
7649
<opt>none</opt>
7650
<opt>v2</opt>
7651
<opt>v3</opt>
7652
<opt>v4</opt>
7653
</mod>
7654
</ins>
7655
7656
<ins name="+ST_TILE" staging="r=vecsize" mask="0xff800" exact="0xcb800" message="tile" dests="0">
7657
<src start="0"/>
7658
<src start="3"/>
7659
<src start="6" mask="0xf7"/>
7660
<mod name="vecsize" start="9" size="2">
7661
<opt>none</opt>
7662
<opt>v2</opt>
7663
<opt>v3</opt>
7664
<opt>v4</opt>
7665
</mod>
7666
</ins>
7667
7668
<ins name="+SWZ.v2i16" mask="0xfffc8" exact="0x3d948">
7669
<src start="0"/>
7670
<mod name="swz0" start="4" size="2">
7671
<opt>h00</opt>
7672
<opt>h10</opt>
7673
<reserved/>
7674
<opt>h11</opt>
7675
</mod>
7676
</ins>
7677
7678
<ins name="+SWZ.v4i8" mask="0xfffc0" exact="0x3df40">
7679
<src start="0"/>
7680
<mod name="swz0" start="3" size="3">
7681
<opt>b0000</opt>
7682
<opt>b1111</opt>
7683
<opt>b2222</opt>
7684
<opt>b3333</opt>
7685
<opt>b0011</opt>
7686
<opt>b2233</opt>
7687
<opt>b1032</opt>
7688
<opt>b3210</opt>
7689
</mod>
7690
</ins>
7691
7692
<ins name="+TEXC" staging="rw=sr_count" mask="0xffc00" exact="0xd7000" message="tex">
7693
<src start="0"/>
7694
<src start="3"/>
7695
<src start="6" mask="0xf7"/>
7696
<mod name="skip" start="9" size="1" opt="skip"/>
7697
<!-- not actually encoded, but used for IR -->
7698
<immediate name="sr_count" size="4" pseudo="true"/>
7699
<mod name="lod_mode" start="13" size="1" default="zero_lod" pseudo="true">
7700
<opt>computed_lod</opt>
7701
<opt>zero_lod</opt>
7702
</mod>
7703
</ins>
7704
7705
<ins name="+TEXS_2D.f16" staging="w=2" mask="0xfc000" exact="0xd8000" message="tex">
7706
<src start="0"/>
7707
<src start="3"/>
7708
<immediate name="texture_index" start="6" size="3"/>
7709
<immediate name="sampler_index" start="10" size="3"/>
7710
<mod name="skip" start="9" size="1" opt="skip"/>
7711
<mod name="lod_mode" start="13" size="1" default="zero_lod">
7712
<opt>computed_lod</opt>
7713
<opt>zero_lod</opt>
7714
</mod>
7715
</ins>
7716
7717
<ins name="+TEXS_2D.f32" staging="w=4" mask="0xfc000" exact="0x58000" message="tex">
7718
<src start="0"/>
7719
<src start="3"/>
7720
<immediate name="texture_index" start="6" size="3"/>
7721
<immediate name="sampler_index" start="10" size="3"/>
7722
<mod name="skip" start="9" size="1" opt="skip"/>
7723
<mod name="lod_mode" start="13" size="1" default="zero_lod">
7724
<opt>computed_lod</opt>
7725
<opt>zero_lod</opt>
7726
</mod>
7727
</ins>
7728
7729
<ins name="+TEXS_CUBE.f16" staging="w=2" mask="0xfc000" exact="0xdc000" message="tex">
7730
<src start="0"/>
7731
<src start="3"/>
7732
<src start="6"/>
7733
<immediate name="sampler_index" start="10" size="2"/>
7734
<immediate name="texture_index" start="12" size="2"/>
7735
<mod name="skip" start="9" size="1" opt="skip"/>
7736
</ins>
7737
7738
<ins name="+TEXS_CUBE.f32" staging="w=4" mask="0xfc000" exact="0x5c000" message="tex">
7739
<src start="0"/>
7740
<src start="3"/>
7741
<src start="6"/>
7742
<immediate name="sampler_index" start="10" size="2"/>
7743
<immediate name="texture_index" start="12" size="2"/>
7744
<mod name="skip" start="9" size="1" opt="skip"/>
7745
</ins>
7746
7747
<ins name="+U16_TO_F32" mask="0xfffe8" exact="0x3cce8">
7748
<src start="0"/>
7749
<mod name="lane0" start="4" size="1" default="h0">
7750
<opt>h0</opt>
7751
<opt>h1</opt>
7752
</mod>
7753
</ins>
7754
7755
<ins name="+U16_TO_U32" mask="0xfffe8" exact="0x3ccc8">
7756
<src start="0"/>
7757
<mod name="lane0" start="4" size="1" default="h0">
7758
<opt>h0</opt>
7759
<opt>h1</opt>
7760
</mod>
7761
</ins>
7762
7763
<ins name="+U32_TO_F32">
7764
<src start="0"/>
7765
<mod name="round" size="3">
7766
<opt>none</opt>
7767
<opt>rtp</opt>
7768
<opt>rtn</opt>
7769
<opt>rtz</opt>
7770
<opt>rtna</opt>
7771
</mod>
7772
<encoding mask="0xfffc8" exact="0x3cbc8">
7773
<neq left="round" right="#rtna"/>
7774
<derived start="4" size="2">
7775
<eq left="round" right="#none"/>
7776
<eq left="round" right="#rtp"/>
7777
<eq left="round" right="#rtn"/>
7778
<eq left="round" right="#rtz"/>
7779
</derived>
7780
</encoding>
7781
<encoding mask="0xffff8" exact="0x3cd08">
7782
<eq left="round" right="#rtna"/>
7783
</encoding>
7784
</ins>
7785
7786
<ins name="+U8_TO_F32" mask="0xfffc8" exact="0x3cb88">
7787
<src start="0"/>
7788
<mod name="lane0" start="4" size="2" default="b0">
7789
<opt>b0</opt>
7790
<opt>b1</opt>
7791
<opt>b2</opt>
7792
<opt>b3</opt>
7793
</mod>
7794
</ins>
7795
7796
<ins name="+U8_TO_U32" mask="0xfffc8" exact="0x3cb48">
7797
<src start="0"/>
7798
<mod name="lane0" start="4" size="2" default="b0">
7799
<opt>b0</opt>
7800
<opt>b1</opt>
7801
<opt>b2</opt>
7802
<opt>b3</opt>
7803
</mod>
7804
</ins>
7805
7806
<ins name="+V2F16_TO_V2S16">
7807
<src start="0"/>
7808
<mod name="round" size="3">
7809
<opt>none</opt>
7810
<opt>rtp</opt>
7811
<opt>rtn</opt>
7812
<opt>rtz</opt>
7813
<opt>rtna</opt>
7814
</mod>
7815
<mod name="swz0" size="2" default="h01">
7816
<opt>h00</opt>
7817
<opt>h10</opt>
7818
<opt>h01</opt>
7819
<opt>h11</opt>
7820
</mod>
7821
<encoding mask="0xfff08" exact="0x3c200">
7822
<neq left="round" right="#rtna"/>
7823
<copy name="swz0" start="6"/>
7824
<derived start="4" size="2">
7825
<eq left="round" right="#none"/>
7826
<eq left="round" right="#rtp"/>
7827
<eq left="round" right="#rtn"/>
7828
<eq left="round" right="#rtz"/>
7829
</derived>
7830
</encoding>
7831
<encoding mask="0xfffc8" exact="0x3ca80">
7832
<eq left="round" right="#rtna"/>
7833
<copy name="swz0" start="4"/>
7834
</encoding>
7835
</ins>
7836
7837
<ins name="+V2F16_TO_V2U16">
7838
<src start="0"/>
7839
<mod name="round" size="3">
7840
<opt>none</opt>
7841
<opt>rtp</opt>
7842
<opt>rtn</opt>
7843
<opt>rtz</opt>
7844
<opt>rtna</opt>
7845
</mod>
7846
<mod name="swz0" size="2" default="h01">
7847
<opt>h00</opt>
7848
<opt>h10</opt>
7849
<opt>h01</opt>
7850
<opt>h11</opt>
7851
</mod>
7852
<encoding mask="0xfff08" exact="0x3c208">
7853
<neq left="round" right="#rtna"/>
7854
<copy name="swz0" start="6"/>
7855
<derived start="4" size="2">
7856
<eq left="round" right="#none"/>
7857
<eq left="round" right="#rtp"/>
7858
<eq left="round" right="#rtn"/>
7859
<eq left="round" right="#rtz"/>
7860
</derived>
7861
</encoding>
7862
<encoding mask="0xfffc8" exact="0x3ca88">
7863
<eq left="round" right="#rtna"/>
7864
<copy name="swz0" start="4"/>
7865
</encoding>
7866
</ins>
7867
7868
<ins name="+V2F32_TO_V2F16" mask="0xfe000" exact="0x76000">
7869
<src start="0"/>
7870
<src start="3"/>
7871
<mod name="abs0" size="1" opt="abs"/>
7872
<mod name="abs1" size="1" opt="abs"/>
7873
<mod name="neg0" size="1" opt="neg"/>
7874
<mod name="neg1" size="1" opt="neg"/>
7875
<mod name="clamp" start="8" size="2">
7876
<opt>none</opt>
7877
<opt>clamp_0_inf</opt>
7878
<opt>clamp_m1_1</opt>
7879
<opt>clamp_0_1</opt>
7880
</mod>
7881
<mod name="round" start="10" size="3">
7882
<opt>none</opt>
7883
<opt>rtp</opt>
7884
<opt>rtn</opt>
7885
<opt>rtz</opt>
7886
<opt>rtna</opt>
7887
</mod>
7888
<derived start="6" size="1">
7889
<and>
7890
<eq left="abs0" right="#none"/>
7891
<eq left="abs1" right="#none"/>
7892
</and>
7893
<and>
7894
<eq left="abs0" right="#abs"/>
7895
<eq left="abs1" right="#abs"/>
7896
</and>
7897
</derived>
7898
<derived start="7" size="1">
7899
<and>
7900
<eq left="neg0" right="#none"/>
7901
<eq left="neg1" right="#none"/>
7902
</and>
7903
<and>
7904
<eq left="neg0" right="#neg"/>
7905
<eq left="neg1" right="#neg"/>
7906
</and>
7907
</derived>
7908
</ins>
7909
7910
<ins name="+V2S16_TO_V2F16">
7911
<src start="0"/>
7912
<mod name="round" size="3">
7913
<opt>none</opt>
7914
<opt>rtp</opt>
7915
<opt>rtn</opt>
7916
<opt>rtz</opt>
7917
<opt>rtna</opt>
7918
</mod>
7919
<mod name="swz0" size="2" default="h01">
7920
<opt>h00</opt>
7921
<opt>h10</opt>
7922
<opt>h01</opt>
7923
<opt>h11</opt>
7924
</mod>
7925
<encoding mask="0xfff08" exact="0x3c600">
7926
<neq left="round" right="#rtna"/>
7927
<copy name="swz0" start="6"/>
7928
<derived start="4" size="2">
7929
<eq left="round" right="#none"/>
7930
<eq left="round" right="#rtp"/>
7931
<eq left="round" right="#rtn"/>
7932
<eq left="round" right="#rtz"/>
7933
</derived>
7934
</encoding>
7935
<encoding mask="0xfffc8" exact="0x3cb00">
7936
<eq left="round" right="#rtna"/>
7937
<copy name="swz0" start="4"/>
7938
</encoding>
7939
</ins>
7940
7941
<ins name="+V2S8_TO_V2F16" mask="0xfff08" exact="0x3c800">
7942
<src start="0"/>
7943
<mod name="swz0" start="4" size="4" default="b01">
7944
<opt>b00</opt>
7945
<opt>b10</opt>
7946
<opt>b20</opt>
7947
<opt>b30</opt>
7948
<opt>b01</opt>
7949
<opt>b11</opt>
7950
<opt>b21</opt>
7951
<opt>b31</opt>
7952
<opt>b02</opt>
7953
<opt>b12</opt>
7954
<opt>b22</opt>
7955
<opt>b32</opt>
7956
<opt>b03</opt>
7957
<opt>b13</opt>
7958
<opt>b23</opt>
7959
<opt>b33</opt>
7960
</mod>
7961
</ins>
7962
7963
<ins name="+V2S8_TO_V2S16" mask="0xfff08" exact="0x3c700">
7964
<src start="0"/>
7965
<mod name="swz0" start="4" size="4" default="b01">
7966
<opt>b00</opt>
7967
<opt>b10</opt>
7968
<opt>b20</opt>
7969
<opt>b30</opt>
7970
<opt>b01</opt>
7971
<opt>b11</opt>
7972
<opt>b21</opt>
7973
<opt>b31</opt>
7974
<opt>b02</opt>
7975
<opt>b12</opt>
7976
<opt>b22</opt>
7977
<opt>b32</opt>
7978
<opt>b03</opt>
7979
<opt>b13</opt>
7980
<opt>b23</opt>
7981
<opt>b33</opt>
7982
</mod>
7983
</ins>
7984
7985
<ins name="+V2U16_TO_V2F16">
7986
<src start="0"/>
7987
<mod name="round" size="3">
7988
<opt>none</opt>
7989
<opt>rtp</opt>
7990
<opt>rtn</opt>
7991
<opt>rtz</opt>
7992
<opt>rtna</opt>
7993
</mod>
7994
<mod name="swz0" size="2" default="h01">
7995
<opt>h00</opt>
7996
<opt>h10</opt>
7997
<opt>h01</opt>
7998
<opt>h11</opt>
7999
</mod>
8000
<encoding mask="0xfff08" exact="0x3c608">
8001
<neq left="round" right="#rtna"/>
8002
<copy name="swz0" start="6"/>
8003
<derived start="4" size="2">
8004
<eq left="round" right="#none"/>
8005
<eq left="round" right="#rtp"/>
8006
<eq left="round" right="#rtn"/>
8007
<eq left="round" right="#rtz"/>
8008
</derived>
8009
</encoding>
8010
<encoding mask="0xfffc8" exact="0x3cb08">
8011
<eq left="round" right="#rtna"/>
8012
<copy name="swz0" start="4"/>
8013
</encoding>
8014
</ins>
8015
8016
<ins name="+V2U8_TO_V2F16" mask="0xfff08" exact="0x3c808">
8017
<src start="0"/>
8018
<mod name="swz0" start="4" size="4" default="b01">
8019
<opt>b00</opt>
8020
<opt>b10</opt>
8021
<opt>b20</opt>
8022
<opt>b30</opt>
8023
<opt>b01</opt>
8024
<opt>b11</opt>
8025
<opt>b21</opt>
8026
<opt>b31</opt>
8027
<opt>b02</opt>
8028
<opt>b12</opt>
8029
<opt>b22</opt>
8030
<opt>b32</opt>
8031
<opt>b03</opt>
8032
<opt>b13</opt>
8033
<opt>b23</opt>
8034
<opt>b33</opt>
8035
</mod>
8036
</ins>
8037
8038
<ins name="+V2U8_TO_V2U16" mask="0xfff08" exact="0x3c708">
8039
<src start="0"/>
8040
<mod name="swz0" start="4" size="4" default="b01">
8041
<opt>b00</opt>
8042
<opt>b10</opt>
8043
<opt>b20</opt>
8044
<opt>b30</opt>
8045
<opt>b01</opt>
8046
<opt>b11</opt>
8047
<opt>b21</opt>
8048
<opt>b31</opt>
8049
<opt>b02</opt>
8050
<opt>b12</opt>
8051
<opt>b22</opt>
8052
<opt>b32</opt>
8053
<opt>b03</opt>
8054
<opt>b13</opt>
8055
<opt>b23</opt>
8056
<opt>b33</opt>
8057
</mod>
8058
</ins>
8059
8060
<ins name="+VAR_TEX.f16" staging="w=2" mask="0xffd00" exact="0xca100" message="vartex">
8061
<immediate name="varying_index" start="0" size="3"/>
8062
<immediate name="texture_index" start="3" size="2"/>
8063
<mod name="update" size="1">
8064
<opt>store</opt>
8065
<opt>retrieve</opt>
8066
</mod>
8067
<mod name="skip" start="7" size="1" opt="skip"/>
8068
<mod name="lod_mode" start="9" size="1" default="zero_lod">
8069
<opt>computed_lod</opt>
8070
<opt>zero_lod</opt>
8071
</mod>
8072
<mod name="sample" size="1">
8073
<opt>center</opt>
8074
<opt>none</opt>
8075
</mod>
8076
<derived start="5" size="2">
8077
<and>
8078
<eq left="sample" right="#center"/>
8079
<eq left="update" right="#store"/>
8080
</and>
8081
<and>
8082
<eq left="sample" right="#none"/>
8083
<eq left="update" right="#retrieve"/>
8084
</and>
8085
<reserved/>
8086
<reserved/>
8087
</derived>
8088
</ins>
8089
8090
<ins name="+VAR_TEX.f32" staging="w=4" mask="0xffd00" exact="0xca000" message="vartex">
8091
<immediate name="varying_index" start="0" size="3"/>
8092
<immediate name="texture_index" start="3" size="2"/>
8093
<mod name="update" size="1">
8094
<opt>store</opt>
8095
<opt>retrieve</opt>
8096
</mod>
8097
<mod name="skip" start="7" size="1" opt="skip"/>
8098
<mod name="lod_mode" start="9" size="1" default="zero_lod">
8099
<opt>computed_lod</opt>
8100
<opt>zero_lod</opt>
8101
</mod>
8102
<mod name="sample" size="1">
8103
<opt>center</opt>
8104
<opt>none</opt>
8105
</mod>
8106
<derived start="5" size="2">
8107
<and>
8108
<eq left="sample" right="#center"/>
8109
<eq left="update" right="#store"/>
8110
</and>
8111
<and>
8112
<eq left="sample" right="#none"/>
8113
<eq left="update" right="#retrieve"/>
8114
</and>
8115
<reserved/>
8116
<reserved/>
8117
</derived>
8118
</ins>
8119
8120
<ins name="+VN_ASST2.f32">
8121
<src start="0"/>
8122
<mod name="scale" size="1" opt="scale"/>
8123
<mod name="neg0" size="1" opt="neg"/>
8124
<encoding mask="0xffff0" exact="0x3df80">
8125
<eq left="scale" right="#none"/>
8126
<copy name="neg0" start="3"/>
8127
</encoding>
8128
<encoding mask="0xfffe8" exact="0x3de80">
8129
<eq left="scale" right="#scale"/>
8130
<copy name="neg0" start="4"/>
8131
</encoding>
8132
</ins>
8133
8134
<ins name="+VN_ASST2.v2f16" mask="0xffff0" exact="0x3dfa0">
8135
<src start="0"/>
8136
<mod name="neg0" start="3" size="1" opt="neg"/>
8137
</ins>
8138
8139
<ins name="+WMASK" mask="0xfffc0" exact="0x3d700">
8140
<src start="0"/>
8141
<immediate name="fill" start="3" size="1"/>
8142
<mod name="subgroup" start="4" size="2">
8143
<opt>subgroup2</opt>
8144
<opt>subgroup4</opt>
8145
<opt>subgroup8</opt>
8146
</mod>
8147
</ins>
8148
8149
<ins name="+ZS_EMIT" staging="w=1" mask="0xff800" exact="0xd7800" message="z_stencil">
8150
<src start="0"/>
8151
<src start="3"/>
8152
<src start="6"/>
8153
<mod name="stencil" size="1" opt="stencil"/>
8154
<mod name="z" size="1" opt="z"/>
8155
<derived start="9" size="2">
8156
<reserved/>
8157
<and>
8158
<eq left="stencil" right="#stencil"/>
8159
<eq left="z" right="#none"/>
8160
</and>
8161
<and>
8162
<eq left="stencil" right="#none"/>
8163
<eq left="z" right="#z"/>
8164
</and>
8165
<and>
8166
<eq left="stencil" right="#stencil"/>
8167
<eq left="z" right="#z"/>
8168
</and>
8169
</derived>
8170
</ins>
8171
8172
<!--- Lowered to *SEG_ADD/+SEG_ADD -->
8173
<ins name="+SEG_ADD.i64" pseudo="true">
8174
<src start="0"/>
8175
<src start="3"/>
8176
<mod name="seg" size="3">
8177
<reserved/>
8178
<reserved/>
8179
<opt>wls</opt>
8180
<reserved/>
8181
<reserved/>
8182
<reserved/>
8183
<reserved/>
8184
<opt>tl</opt>
8185
</mod>
8186
<mod name="preserve_null" size="1" opt="preserve_null"/>
8187
</ins>
8188
8189
<!-- Scheduler lowered to *ATOM_C.i32/+ATOM_CX -->
8190
<ins name="+PATOM_C.i32" pseudo="true" staging="rw=sr_count" message="atomic">
8191
<src start="0"/>
8192
<src start="3"/>
8193
<mod name="atom_opc" start="9" size="4">
8194
<reserved/>
8195
<reserved/>
8196
<opt>aadd</opt>
8197
<reserved/>
8198
<reserved/>
8199
<reserved/>
8200
<reserved/>
8201
<reserved/>
8202
<opt>asmin</opt>
8203
<opt>asmax</opt>
8204
<opt>aumin</opt>
8205
<opt>aumax</opt>
8206
<opt>aand</opt>
8207
<opt>aor</opt>
8208
<opt>axor</opt>
8209
</mod>
8210
<!-- not actually encoded, but used for IR -->
8211
<immediate name="sr_count" size="4" pseudo="true"/>
8212
</ins>
8213
8214
<ins name="+PATOM_C1.i32" pseudo="true" staging="w=sr_count" message="atomic">
8215
<src start="0"/>
8216
<src start="3"/>
8217
<mod name="atom_opc" start="6" size="3">
8218
<opt>ainc</opt>
8219
<opt>adec</opt>
8220
<opt>aumax1</opt>
8221
<opt>asmax1</opt>
8222
<opt>aor1</opt>
8223
</mod>
8224
<!-- not actually encoded, but used for IR -->
8225
<immediate name="sr_count" size="4" pseudo="true"/>
8226
</ins>
8227
8228
<!-- *CUBEFACE1/+CUBEFACE2 pair, two destinations, scheduler lowered -->
8229
<ins name="+CUBEFACE" pseudo="true" dests="2">
8230
<src start="0"/>
8231
<src start="3"/>
8232
<src start="6"/>
8233
<mod name="neg0" size="1" opt="neg"/>
8234
<mod name="neg1" size="1" opt="neg"/>
8235
<mod name="neg2" size="1" opt="neg"/>
8236
</ins>
8237
8238
</bifrost>
8239
8240