ISA.xml revision 7ec681f3
17ec681f3Smrg<!--
27ec681f3Smrg  Copyright (C) 2020 Collabora Ltd.
37ec681f3Smrg
47ec681f3Smrg  Permission is hereby granted, free of charge, to any person obtaining a
57ec681f3Smrg  copy of this software and associated documentation files (the "Software"),
67ec681f3Smrg  to deal in the Software without restriction, including without limitation
77ec681f3Smrg  the rights to use, copy, modify, merge, publish, distribute, sublicense,
87ec681f3Smrg  and/or sell copies of the Software, and to permit persons to whom the
97ec681f3Smrg  Software is furnished to do so, subject to the following conditions:
107ec681f3Smrg
117ec681f3Smrg  The above copyright notice and this permission notice (including the next
127ec681f3Smrg  paragraph) shall be included in all copies or substantial portions of the
137ec681f3Smrg  Software.
147ec681f3Smrg
157ec681f3Smrg  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
167ec681f3Smrg  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
177ec681f3Smrg  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
187ec681f3Smrg  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
197ec681f3Smrg  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
207ec681f3Smrg  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
217ec681f3Smrg  SOFTWARE.
227ec681f3Smrg-->
237ec681f3Smrg
247ec681f3Smrg<bifrost>
257ec681f3Smrg
267ec681f3Smrg  <ins name="*ARSHIFT.i32" mask="0x7ff838" exact="0x335018">
277ec681f3Smrg    <src start="0" mask="0xfb"/>
287ec681f3Smrg    <src start="3" mask="0x8"/>
297ec681f3Smrg    <src start="6"/>
307ec681f3Smrg    <mod name="lane2" start="9" size="2" default="b0">
317ec681f3Smrg      <opt>b0</opt>
327ec681f3Smrg      <opt>b1</opt>
337ec681f3Smrg      <opt>b2</opt>
347ec681f3Smrg      <opt>b3</opt>
357ec681f3Smrg    </mod>
367ec681f3Smrg  </ins>
377ec681f3Smrg
387ec681f3Smrg  <ins name="*ARSHIFT.v2i16">
397ec681f3Smrg    <src start="0" mask="0xfb"/>
407ec681f3Smrg    <src start="3" mask="0x8"/>
417ec681f3Smrg    <src start="6"/>
427ec681f3Smrg    <mod name="lanes2" size="3" default="b02">
437ec681f3Smrg      <opt>b00</opt>
447ec681f3Smrg      <opt>b11</opt>
457ec681f3Smrg      <opt>b22</opt>
467ec681f3Smrg      <opt>b33</opt>
477ec681f3Smrg      <opt>b01</opt>
487ec681f3Smrg      <opt>b23</opt>
497ec681f3Smrg      <opt>b02</opt>
507ec681f3Smrg    </mod>
517ec681f3Smrg    <encoding mask="0x7ff838" exact="0x334818">
527ec681f3Smrg      <or>
537ec681f3Smrg        <eq left="lanes2" right="#b00"/>
547ec681f3Smrg        <eq left="lanes2" right="#b11"/>
557ec681f3Smrg        <eq left="lanes2" right="#b22"/>
567ec681f3Smrg        <eq left="lanes2" right="#b33"/>
577ec681f3Smrg      </or>
587ec681f3Smrg      <derived start="9" size="2">
597ec681f3Smrg        <eq left="lanes2" right="#b00"/>
607ec681f3Smrg        <eq left="lanes2" right="#b11"/>
617ec681f3Smrg        <eq left="lanes2" right="#b22"/>
627ec681f3Smrg        <eq left="lanes2" right="#b33"/>
637ec681f3Smrg      </derived>
647ec681f3Smrg    </encoding>
657ec681f3Smrg    <encoding mask="0x7ff838" exact="0x335818">
667ec681f3Smrg      <or>
677ec681f3Smrg        <eq left="lanes2" right="#b01"/>
687ec681f3Smrg        <eq left="lanes2" right="#b23"/>
697ec681f3Smrg        <eq left="lanes2" right="#b02"/>
707ec681f3Smrg      </or>
717ec681f3Smrg      <derived start="9" size="2">
727ec681f3Smrg        <reserved/>
737ec681f3Smrg        <eq left="lanes2" right="#b01"/>
747ec681f3Smrg        <eq left="lanes2" right="#b23"/>
757ec681f3Smrg        <eq left="lanes2" right="#b02"/>
767ec681f3Smrg      </derived>
777ec681f3Smrg    </encoding>
787ec681f3Smrg  </ins>
797ec681f3Smrg
807ec681f3Smrg  <ins name="*ARSHIFT.v4i8">
817ec681f3Smrg    <src start="0" mask="0xfb"/>
827ec681f3Smrg    <src start="3" mask="0x8"/>
837ec681f3Smrg    <src start="6"/>
847ec681f3Smrg    <mod name="lanes2" size="3" default="b0123">
857ec681f3Smrg      <opt>b0123</opt>
867ec681f3Smrg      <opt>b0000</opt>
877ec681f3Smrg      <opt>b1111</opt>
887ec681f3Smrg      <opt>b2222</opt>
897ec681f3Smrg      <opt>b3333</opt>
907ec681f3Smrg    </mod>
917ec681f3Smrg    <encoding mask="0x7ff838" exact="0x334018">
927ec681f3Smrg      <neq left="lanes2" right="#b0123"/>
937ec681f3Smrg      <derived start="9" size="2">
947ec681f3Smrg        <eq left="lanes2" right="#b0000"/>
957ec681f3Smrg        <eq left="lanes2" right="#b1111"/>
967ec681f3Smrg        <eq left="lanes2" right="#b2222"/>
977ec681f3Smrg        <eq left="lanes2" right="#b3333"/>
987ec681f3Smrg      </derived>
997ec681f3Smrg    </encoding>
1007ec681f3Smrg    <encoding mask="0x7ffe38" exact="0x335818">
1017ec681f3Smrg      <eq left="lanes2" right="#b0123"/>
1027ec681f3Smrg    </encoding>
1037ec681f3Smrg  </ins>
1047ec681f3Smrg
1057ec681f3Smrg  <ins name="*ARSHIFT_DOUBLE.i32" mask="0x7ff000" exact="0x33e000">
1067ec681f3Smrg    <src start="0" mask="0xfb"/>
1077ec681f3Smrg    <src start="3" mask="0xfb"/>
1087ec681f3Smrg    <src start="6"/>
1097ec681f3Smrg    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
1107ec681f3Smrg    <mod name="lane2" start="10" size="1" default="b0">
1117ec681f3Smrg      <opt>b0</opt>
1127ec681f3Smrg      <opt>b2</opt>
1137ec681f3Smrg    </mod>
1147ec681f3Smrg    <mod name="result_word" start="11" size="1" default="w0">
1157ec681f3Smrg      <opt>w0</opt>
1167ec681f3Smrg      <opt>w1</opt>
1177ec681f3Smrg    </mod>
1187ec681f3Smrg  </ins>
1197ec681f3Smrg
1207ec681f3Smrg  <ins name="*ATOM_C.i32" mask="0x7fe000" exact="0x2f4000" last="true" dests="0">
1217ec681f3Smrg    <src start="0" mask="0xf3"/>
1227ec681f3Smrg    <src start="3" mask="0xf3"/>
1237ec681f3Smrg    <src start="6" mask="0xf7"/>
1247ec681f3Smrg    <mod name="atom_opc" start="9" size="4">
1257ec681f3Smrg      <reserved/>
1267ec681f3Smrg      <reserved/>
1277ec681f3Smrg      <opt>aadd</opt>
1287ec681f3Smrg      <reserved/>
1297ec681f3Smrg      <reserved/>
1307ec681f3Smrg      <reserved/>
1317ec681f3Smrg      <reserved/>
1327ec681f3Smrg      <reserved/>
1337ec681f3Smrg      <opt>asmin</opt>
1347ec681f3Smrg      <opt>asmax</opt>
1357ec681f3Smrg      <opt>aumin</opt>
1367ec681f3Smrg      <opt>aumax</opt>
1377ec681f3Smrg      <opt>aand</opt>
1387ec681f3Smrg      <opt>aor</opt>
1397ec681f3Smrg      <opt>axor</opt>
1407ec681f3Smrg    </mod>
1417ec681f3Smrg  </ins>
1427ec681f3Smrg
1437ec681f3Smrg  <ins name="*ATOM_C.i64" mask="0x7fe000" exact="0x2f0000" last="true" dests="0">
1447ec681f3Smrg    <src start="0" mask="0xf3"/>
1457ec681f3Smrg    <src start="3" mask="0xf3"/>
1467ec681f3Smrg    <src start="6" mask="0xf7"/>
1477ec681f3Smrg    <mod name="atom_opc" start="9" size="4">
1487ec681f3Smrg      <opt>aaddu</opt>
1497ec681f3Smrg      <opt>aadds</opt>
1507ec681f3Smrg      <opt>aadd</opt>
1517ec681f3Smrg      <reserved/>
1527ec681f3Smrg      <reserved/>
1537ec681f3Smrg      <reserved/>
1547ec681f3Smrg      <reserved/>
1557ec681f3Smrg      <reserved/>
1567ec681f3Smrg      <opt>asmin</opt>
1577ec681f3Smrg      <opt>asmax</opt>
1587ec681f3Smrg      <opt>aumin</opt>
1597ec681f3Smrg      <opt>aumax</opt>
1607ec681f3Smrg      <opt>aand</opt>
1617ec681f3Smrg      <opt>aor</opt>
1627ec681f3Smrg      <opt>axor</opt>
1637ec681f3Smrg    </mod>
1647ec681f3Smrg  </ins>
1657ec681f3Smrg
1667ec681f3Smrg  <ins name="*ATOM_C1.i32" mask="0x7ffe00" exact="0x2f5e00" last="true" dests="0">
1677ec681f3Smrg    <src start="0" mask="0xf3"/>
1687ec681f3Smrg    <src start="3" mask="0xf3"/>
1697ec681f3Smrg    <mod name="atom_opc" start="6" size="3">
1707ec681f3Smrg      <opt>ainc</opt>
1717ec681f3Smrg      <opt>adec</opt>
1727ec681f3Smrg      <opt>aumax1</opt>
1737ec681f3Smrg      <opt>asmax1</opt>
1747ec681f3Smrg      <opt>aor1</opt>
1757ec681f3Smrg    </mod>
1767ec681f3Smrg  </ins>
1777ec681f3Smrg
1787ec681f3Smrg  <ins name="*ATOM_C1.i64" mask="0x7ffe00" exact="0x2f1e00" last="true" dests="0">
1797ec681f3Smrg    <src start="0" mask="0xf3"/>
1807ec681f3Smrg    <src start="3" mask="0xf3"/>
1817ec681f3Smrg    <mod name="atom_opc" start="6" size="3">
1827ec681f3Smrg      <opt>ainc</opt>
1837ec681f3Smrg      <opt>adec</opt>
1847ec681f3Smrg      <opt>aumax1</opt>
1857ec681f3Smrg      <opt>asmax1</opt>
1867ec681f3Smrg      <opt>aor1</opt>
1877ec681f3Smrg    </mod>
1887ec681f3Smrg  </ins>
1897ec681f3Smrg
1907ec681f3Smrg  <ins name="*ATOM_C1_RETURN.i32" mask="0x7ffe00" exact="0x2f7e00" last="true" dests="0">
1917ec681f3Smrg    <src start="0" mask="0xf3"/>
1927ec681f3Smrg    <src start="3" mask="0xf3"/>
1937ec681f3Smrg    <mod name="atom_opc" start="6" size="3">
1947ec681f3Smrg      <opt>ainc</opt>
1957ec681f3Smrg      <opt>adec</opt>
1967ec681f3Smrg      <opt>aumax1</opt>
1977ec681f3Smrg      <opt>asmax1</opt>
1987ec681f3Smrg      <opt>aor1</opt>
1997ec681f3Smrg    </mod>
2007ec681f3Smrg  </ins>
2017ec681f3Smrg
2027ec681f3Smrg  <ins name="*ATOM_C1_RETURN.i64" mask="0x7ffe00" exact="0x2f3e00" last="true" dests="0">
2037ec681f3Smrg    <src start="0" mask="0xf3"/>
2047ec681f3Smrg    <src start="3" mask="0xf3"/>
2057ec681f3Smrg    <mod name="atom_opc" start="6" size="3">
2067ec681f3Smrg      <opt>ainc</opt>
2077ec681f3Smrg      <opt>adec</opt>
2087ec681f3Smrg      <opt>aumax1</opt>
2097ec681f3Smrg      <opt>asmax1</opt>
2107ec681f3Smrg      <opt>aor1</opt>
2117ec681f3Smrg    </mod>
2127ec681f3Smrg  </ins>
2137ec681f3Smrg
2147ec681f3Smrg  <ins name="*ATOM_C_RETURN.i32" mask="0x7fe000" exact="0x2f6000" last="true" dests="0">
2157ec681f3Smrg    <src start="0" mask="0xf3"/>
2167ec681f3Smrg    <src start="3" mask="0xf3"/>
2177ec681f3Smrg    <src start="6" mask="0xf7"/>
2187ec681f3Smrg    <mod name="atom_opc" start="9" size="4">
2197ec681f3Smrg      <reserved/>
2207ec681f3Smrg      <reserved/>
2217ec681f3Smrg      <opt>aadd</opt>
2227ec681f3Smrg      <reserved/>
2237ec681f3Smrg      <reserved/>
2247ec681f3Smrg      <reserved/>
2257ec681f3Smrg      <reserved/>
2267ec681f3Smrg      <reserved/>
2277ec681f3Smrg      <opt>asmin</opt>
2287ec681f3Smrg      <opt>asmax</opt>
2297ec681f3Smrg      <opt>aumin</opt>
2307ec681f3Smrg      <opt>aumax</opt>
2317ec681f3Smrg      <opt>aand</opt>
2327ec681f3Smrg      <opt>aor</opt>
2337ec681f3Smrg      <opt>axor</opt>
2347ec681f3Smrg    </mod>
2357ec681f3Smrg  </ins>
2367ec681f3Smrg
2377ec681f3Smrg  <ins name="*ATOM_C_RETURN.i64" mask="0x7fe000" exact="0x2f2000" last="true" dests="0">
2387ec681f3Smrg    <src start="0" mask="0xf3"/>
2397ec681f3Smrg    <src start="3" mask="0xf3"/>
2407ec681f3Smrg    <src start="6" mask="0xf7"/>
2417ec681f3Smrg    <mod name="atom_opc" start="9" size="4">
2427ec681f3Smrg      <opt>aaddu</opt>
2437ec681f3Smrg      <opt>aadds</opt>
2447ec681f3Smrg      <opt>aadd</opt>
2457ec681f3Smrg      <reserved/>
2467ec681f3Smrg      <reserved/>
2477ec681f3Smrg      <reserved/>
2487ec681f3Smrg      <reserved/>
2497ec681f3Smrg      <reserved/>
2507ec681f3Smrg      <opt>asmin</opt>
2517ec681f3Smrg      <opt>asmax</opt>
2527ec681f3Smrg      <opt>aumin</opt>
2537ec681f3Smrg      <opt>aumax</opt>
2547ec681f3Smrg      <opt>aand</opt>
2557ec681f3Smrg      <opt>aor</opt>
2567ec681f3Smrg      <opt>axor</opt>
2577ec681f3Smrg    </mod>
2587ec681f3Smrg  </ins>
2597ec681f3Smrg
2607ec681f3Smrg  <ins name="*ATOM_POST.i32" mask="0x7ffc00" exact="0x6ee400">
2617ec681f3Smrg    <src start="0" mask="0xfb"/>
2627ec681f3Smrg    <src start="3" mask="0xfb"/>
2637ec681f3Smrg    <mod name="atom_opc" start="6" size="4">
2647ec681f3Smrg      <reserved/>
2657ec681f3Smrg      <reserved/>
2667ec681f3Smrg      <opt>aadd</opt>
2677ec681f3Smrg      <reserved/>
2687ec681f3Smrg      <reserved/>
2697ec681f3Smrg      <reserved/>
2707ec681f3Smrg      <reserved/>
2717ec681f3Smrg      <reserved/>
2727ec681f3Smrg      <opt>asmin</opt>
2737ec681f3Smrg      <opt>asmax</opt>
2747ec681f3Smrg      <opt>aumin</opt>
2757ec681f3Smrg      <opt>aumax</opt>
2767ec681f3Smrg      <opt>aand</opt>
2777ec681f3Smrg      <opt>aor</opt>
2787ec681f3Smrg      <opt>axor</opt>
2797ec681f3Smrg    </mod>
2807ec681f3Smrg  </ins>
2817ec681f3Smrg
2827ec681f3Smrg  <ins name="*ATOM_POST.i64" mask="0x7ffc00" exact="0x6ee000">
2837ec681f3Smrg    <src start="0" mask="0xfb"/>
2847ec681f3Smrg    <src start="3" mask="0xfb"/>
2857ec681f3Smrg    <mod name="atom_opc" start="6" size="4">
2867ec681f3Smrg      <opt>aaddu</opt>
2877ec681f3Smrg      <opt>aadds</opt>
2887ec681f3Smrg      <opt>aadd</opt>
2897ec681f3Smrg      <reserved/>
2907ec681f3Smrg      <reserved/>
2917ec681f3Smrg      <reserved/>
2927ec681f3Smrg      <reserved/>
2937ec681f3Smrg      <reserved/>
2947ec681f3Smrg      <opt>asmin</opt>
2957ec681f3Smrg      <opt>asmax</opt>
2967ec681f3Smrg      <opt>aumin</opt>
2977ec681f3Smrg      <opt>aumax</opt>
2987ec681f3Smrg      <opt>aand</opt>
2997ec681f3Smrg      <opt>aor</opt>
3007ec681f3Smrg      <opt>axor</opt>
3017ec681f3Smrg    </mod>
3027ec681f3Smrg  </ins>
3037ec681f3Smrg
3047ec681f3Smrg  <ins name="*ATOM_PRE.i64" mask="0x7fe000" exact="0x6ec000">
3057ec681f3Smrg    <src start="0" mask="0xfb"/>
3067ec681f3Smrg    <src start="3" mask="0xfb"/>
3077ec681f3Smrg    <src start="6"/>
3087ec681f3Smrg    <mod name="atom_opc" start="9" size="4">
3097ec681f3Smrg      <opt>aaddu</opt>
3107ec681f3Smrg      <opt>aadds</opt>
3117ec681f3Smrg      <opt>aadd</opt>
3127ec681f3Smrg      <reserved/>
3137ec681f3Smrg      <reserved/>
3147ec681f3Smrg      <reserved/>
3157ec681f3Smrg      <reserved/>
3167ec681f3Smrg      <reserved/>
3177ec681f3Smrg      <opt>asmin</opt>
3187ec681f3Smrg      <opt>asmax</opt>
3197ec681f3Smrg      <opt>aumin</opt>
3207ec681f3Smrg      <opt>aumax</opt>
3217ec681f3Smrg      <opt>aand</opt>
3227ec681f3Smrg      <opt>aor</opt>
3237ec681f3Smrg      <opt>axor</opt>
3247ec681f3Smrg    </mod>
3257ec681f3Smrg  </ins>
3267ec681f3Smrg
3277ec681f3Smrg  <ins name="*BITREV.i32" mask="0x7ffff8" exact="0x701fc0">
3287ec681f3Smrg    <src start="0" mask="0xfb"/>
3297ec681f3Smrg  </ins>
3307ec681f3Smrg
3317ec681f3Smrg  <ins name="*CLZ.u32" mask="0x7ffff0" exact="0x701fd0">
3327ec681f3Smrg    <src start="0" mask="0xfb"/>
3337ec681f3Smrg    <mod name="mask" start="3" size="1" opt="mask"/>
3347ec681f3Smrg  </ins>
3357ec681f3Smrg
3367ec681f3Smrg  <ins name="*CLZ.v2u16" mask="0x7fffc0" exact="0x701ec0">
3377ec681f3Smrg    <src start="0" mask="0xfb"/>
3387ec681f3Smrg    <mod name="mask" start="3" size="1" opt="mask"/>
3397ec681f3Smrg    <mod name="swz0" start="4" size="2" default="h01">
3407ec681f3Smrg      <opt>h00</opt>
3417ec681f3Smrg      <opt>h10</opt>
3427ec681f3Smrg      <opt>h01</opt>
3437ec681f3Smrg      <opt>h11</opt>
3447ec681f3Smrg    </mod>
3457ec681f3Smrg  </ins>
3467ec681f3Smrg
3477ec681f3Smrg  <ins name="*CLZ.v4u8" mask="0x7ffff0" exact="0x701f90">
3487ec681f3Smrg    <src start="0" mask="0xfb"/>
3497ec681f3Smrg    <mod name="mask" start="3" size="1" opt="mask"/>
3507ec681f3Smrg  </ins>
3517ec681f3Smrg
3527ec681f3Smrg  <ins name="*CSEL.f32" mask="0x7fc000" exact="0x2e0000">
3537ec681f3Smrg    <src start="0" mask="0xfb"/>
3547ec681f3Smrg    <src start="3" mask="0xfb"/>
3557ec681f3Smrg    <src start="6"/>
3567ec681f3Smrg    <src start="9"/>
3577ec681f3Smrg    <mod name="cmpf" size="3">
3587ec681f3Smrg      <opt>eq</opt>
3597ec681f3Smrg      <opt>gt</opt>
3607ec681f3Smrg      <opt>ge</opt>
3617ec681f3Smrg      <opt>ne</opt>
3627ec681f3Smrg      <opt>lt</opt>
3637ec681f3Smrg      <opt>le</opt>
3647ec681f3Smrg    </mod>
3657ec681f3Smrg    <derived start="12" size="2">
3667ec681f3Smrg      <eq left="cmpf" right="#eq"/>
3677ec681f3Smrg      <eq left="cmpf" right="#gt"/>
3687ec681f3Smrg      <eq left="cmpf" right="#ge"/>
3697ec681f3Smrg      <reserved/>
3707ec681f3Smrg    </derived>
3717ec681f3Smrg    <swap left="0" right="1">
3727ec681f3Smrg      <or>
3737ec681f3Smrg        <eq left="cmpf" right="#lt"/>
3747ec681f3Smrg        <eq left="cmpf" right="#le"/>
3757ec681f3Smrg      </or>
3767ec681f3Smrg      <rewrite name="cmpf">
3777ec681f3Smrg        <map from="lt" to="gt"/>
3787ec681f3Smrg        <map from="le" to="ge"/>
3797ec681f3Smrg      </rewrite>
3807ec681f3Smrg    </swap>
3817ec681f3Smrg    <swap left="2" right="3">
3827ec681f3Smrg      <eq left="cmpf" right="#ne"/>
3837ec681f3Smrg      <rewrite name="cmpf">
3847ec681f3Smrg        <map from="ne" to="eq"/>
3857ec681f3Smrg      </rewrite>
3867ec681f3Smrg    </swap>
3877ec681f3Smrg  </ins>
3887ec681f3Smrg
3897ec681f3Smrg  <ins name="*CSEL.i32" mask="0x7f8000" exact="0x2e0000">
3907ec681f3Smrg    <src start="0" mask="0xfb"/>
3917ec681f3Smrg    <src start="3" mask="0xfb"/>
3927ec681f3Smrg    <src start="6"/>
3937ec681f3Smrg    <src start="9"/>
3947ec681f3Smrg    <mod name="cmpf" size="1">
3957ec681f3Smrg      <opt>eq</opt>
3967ec681f3Smrg      <opt>ne</opt>
3977ec681f3Smrg    </mod>
3987ec681f3Smrg    <derived start="12" size="3">
3997ec681f3Smrg      <reserved/>
4007ec681f3Smrg      <reserved/>
4017ec681f3Smrg      <reserved/>
4027ec681f3Smrg      <eq left="cmpf" right="#eq"/>
4037ec681f3Smrg      <reserved/>
4047ec681f3Smrg      <reserved/>
4057ec681f3Smrg      <reserved/>
4067ec681f3Smrg      <reserved/>
4077ec681f3Smrg    </derived>
4087ec681f3Smrg    <swap left="2" right="3">
4097ec681f3Smrg      <eq left="cmpf" right="#ne"/>
4107ec681f3Smrg      <rewrite name="cmpf">
4117ec681f3Smrg        <map from="ne" to="eq"/>
4127ec681f3Smrg      </rewrite>
4137ec681f3Smrg    </swap>
4147ec681f3Smrg  </ins>
4157ec681f3Smrg
4167ec681f3Smrg  <ins name="*CSEL.s32" mask="0x7fe000" exact="0x2e4000">
4177ec681f3Smrg    <src start="0" mask="0xfb"/>
4187ec681f3Smrg    <src start="3" mask="0xfb"/>
4197ec681f3Smrg    <src start="6"/>
4207ec681f3Smrg    <src start="9"/>
4217ec681f3Smrg    <mod name="cmpf" size="2">
4227ec681f3Smrg      <opt>gt</opt>
4237ec681f3Smrg      <opt>ge</opt>
4247ec681f3Smrg      <opt>lt</opt>
4257ec681f3Smrg      <opt>le</opt>
4267ec681f3Smrg    </mod>
4277ec681f3Smrg    <derived start="12" size="1">
4287ec681f3Smrg      <eq left="cmpf" right="#gt"/>
4297ec681f3Smrg      <eq left="cmpf" right="#ge"/>
4307ec681f3Smrg    </derived>
4317ec681f3Smrg    <swap left="0" right="1">
4327ec681f3Smrg      <or>
4337ec681f3Smrg        <eq left="cmpf" right="#lt"/>
4347ec681f3Smrg        <eq left="cmpf" right="#le"/>
4357ec681f3Smrg      </or>
4367ec681f3Smrg      <rewrite name="cmpf">
4377ec681f3Smrg        <map from="lt" to="gt"/>
4387ec681f3Smrg        <map from="le" to="ge"/>
4397ec681f3Smrg      </rewrite>
4407ec681f3Smrg    </swap>
4417ec681f3Smrg  </ins>
4427ec681f3Smrg
4437ec681f3Smrg  <ins name="*CSEL.u32" mask="0x7fe000" exact="0x2e6000">
4447ec681f3Smrg    <src start="0" mask="0xfb"/>
4457ec681f3Smrg    <src start="3" mask="0xfb"/>
4467ec681f3Smrg    <src start="6"/>
4477ec681f3Smrg    <src start="9"/>
4487ec681f3Smrg    <mod name="cmpf" size="2">
4497ec681f3Smrg      <opt>gt</opt>
4507ec681f3Smrg      <opt>ge</opt>
4517ec681f3Smrg      <opt>lt</opt>
4527ec681f3Smrg      <opt>le</opt>
4537ec681f3Smrg    </mod>
4547ec681f3Smrg    <derived start="12" size="1">
4557ec681f3Smrg      <eq left="cmpf" right="#gt"/>
4567ec681f3Smrg      <eq left="cmpf" right="#ge"/>
4577ec681f3Smrg    </derived>
4587ec681f3Smrg    <swap left="0" right="1">
4597ec681f3Smrg      <or>
4607ec681f3Smrg        <eq left="cmpf" right="#lt"/>
4617ec681f3Smrg        <eq left="cmpf" right="#le"/>
4627ec681f3Smrg      </or>
4637ec681f3Smrg      <rewrite name="cmpf">
4647ec681f3Smrg        <map from="lt" to="gt"/>
4657ec681f3Smrg        <map from="le" to="ge"/>
4667ec681f3Smrg      </rewrite>
4677ec681f3Smrg    </swap>
4687ec681f3Smrg  </ins>
4697ec681f3Smrg
4707ec681f3Smrg  <ins name="*CSEL.v2f16" mask="0x7fc000" exact="0x6e0000">
4717ec681f3Smrg    <src start="0" mask="0xfb"/>
4727ec681f3Smrg    <src start="3" mask="0xfb"/>
4737ec681f3Smrg    <src start="6"/>
4747ec681f3Smrg    <src start="9"/>
4757ec681f3Smrg    <mod name="cmpf" size="3">
4767ec681f3Smrg      <opt>eq</opt>
4777ec681f3Smrg      <opt>gt</opt>
4787ec681f3Smrg      <opt>ge</opt>
4797ec681f3Smrg      <opt>ne</opt>
4807ec681f3Smrg      <opt>lt</opt>
4817ec681f3Smrg      <opt>le</opt>
4827ec681f3Smrg    </mod>
4837ec681f3Smrg    <derived start="12" size="2">
4847ec681f3Smrg      <eq left="cmpf" right="#eq"/>
4857ec681f3Smrg      <eq left="cmpf" right="#gt"/>
4867ec681f3Smrg      <eq left="cmpf" right="#ge"/>
4877ec681f3Smrg      <reserved/>
4887ec681f3Smrg    </derived>
4897ec681f3Smrg    <swap left="0" right="1">
4907ec681f3Smrg      <or>
4917ec681f3Smrg        <eq left="cmpf" right="#lt"/>
4927ec681f3Smrg        <eq left="cmpf" right="#le"/>
4937ec681f3Smrg      </or>
4947ec681f3Smrg      <rewrite name="cmpf">
4957ec681f3Smrg        <map from="lt" to="gt"/>
4967ec681f3Smrg        <map from="le" to="ge"/>
4977ec681f3Smrg      </rewrite>
4987ec681f3Smrg    </swap>
4997ec681f3Smrg    <swap left="2" right="3">
5007ec681f3Smrg      <eq left="cmpf" right="#ne"/>
5017ec681f3Smrg      <rewrite name="cmpf">
5027ec681f3Smrg        <map from="ne" to="eq"/>
5037ec681f3Smrg      </rewrite>
5047ec681f3Smrg    </swap>
5057ec681f3Smrg  </ins>
5067ec681f3Smrg
5077ec681f3Smrg  <ins name="*CSEL.v2i16" mask="0x7f8000" exact="0x6e0000">
5087ec681f3Smrg    <src start="0" mask="0xfb"/>
5097ec681f3Smrg    <src start="3" mask="0xfb"/>
5107ec681f3Smrg    <src start="6"/>
5117ec681f3Smrg    <src start="9"/>
5127ec681f3Smrg    <mod name="cmpf" size="1">
5137ec681f3Smrg      <opt>eq</opt>
5147ec681f3Smrg      <opt>ne</opt>
5157ec681f3Smrg    </mod>
5167ec681f3Smrg    <derived start="12" size="3">
5177ec681f3Smrg      <reserved/>
5187ec681f3Smrg      <reserved/>
5197ec681f3Smrg      <reserved/>
5207ec681f3Smrg      <eq left="cmpf" right="#eq"/>
5217ec681f3Smrg      <reserved/>
5227ec681f3Smrg      <reserved/>
5237ec681f3Smrg      <reserved/>
5247ec681f3Smrg      <reserved/>
5257ec681f3Smrg    </derived>
5267ec681f3Smrg    <swap left="2" right="3">
5277ec681f3Smrg      <eq left="cmpf" right="#ne"/>
5287ec681f3Smrg      <rewrite name="cmpf">
5297ec681f3Smrg        <map from="ne" to="eq"/>
5307ec681f3Smrg      </rewrite>
5317ec681f3Smrg    </swap>
5327ec681f3Smrg  </ins>
5337ec681f3Smrg
5347ec681f3Smrg  <ins name="*CSEL.v2s16" mask="0x7fe000" exact="0x6e4000">
5357ec681f3Smrg    <src start="0" mask="0xfb"/>
5367ec681f3Smrg    <src start="3" mask="0xfb"/>
5377ec681f3Smrg    <src start="6"/>
5387ec681f3Smrg    <src start="9"/>
5397ec681f3Smrg    <mod name="cmpf" size="2">
5407ec681f3Smrg      <opt>gt</opt>
5417ec681f3Smrg      <opt>ge</opt>
5427ec681f3Smrg      <opt>lt</opt>
5437ec681f3Smrg      <opt>le</opt>
5447ec681f3Smrg    </mod>
5457ec681f3Smrg    <derived start="12" size="1">
5467ec681f3Smrg      <eq left="cmpf" right="#gt"/>
5477ec681f3Smrg      <eq left="cmpf" right="#ge"/>
5487ec681f3Smrg    </derived>
5497ec681f3Smrg    <swap left="0" right="1">
5507ec681f3Smrg      <or>
5517ec681f3Smrg        <eq left="cmpf" right="#lt"/>
5527ec681f3Smrg        <eq left="cmpf" right="#le"/>
5537ec681f3Smrg      </or>
5547ec681f3Smrg      <rewrite name="cmpf">
5557ec681f3Smrg        <map from="lt" to="gt"/>
5567ec681f3Smrg        <map from="le" to="ge"/>
5577ec681f3Smrg      </rewrite>
5587ec681f3Smrg    </swap>
5597ec681f3Smrg  </ins>
5607ec681f3Smrg
5617ec681f3Smrg  <ins name="*CSEL.v2u16" mask="0x7fe000" exact="0x6e6000">
5627ec681f3Smrg    <src start="0" mask="0xfb"/>
5637ec681f3Smrg    <src start="3" mask="0xfb"/>
5647ec681f3Smrg    <src start="6"/>
5657ec681f3Smrg    <src start="9"/>
5667ec681f3Smrg    <mod name="cmpf" size="2">
5677ec681f3Smrg      <opt>gt</opt>
5687ec681f3Smrg      <opt>ge</opt>
5697ec681f3Smrg      <opt>lt</opt>
5707ec681f3Smrg      <opt>le</opt>
5717ec681f3Smrg    </mod>
5727ec681f3Smrg    <derived start="12" size="1">
5737ec681f3Smrg      <eq left="cmpf" right="#gt"/>
5747ec681f3Smrg      <eq left="cmpf" right="#ge"/>
5757ec681f3Smrg    </derived>
5767ec681f3Smrg    <swap left="0" right="1">
5777ec681f3Smrg      <or>
5787ec681f3Smrg        <eq left="cmpf" right="#lt"/>
5797ec681f3Smrg        <eq left="cmpf" right="#le"/>
5807ec681f3Smrg      </or>
5817ec681f3Smrg      <rewrite name="cmpf">
5827ec681f3Smrg        <map from="lt" to="gt"/>
5837ec681f3Smrg        <map from="le" to="ge"/>
5847ec681f3Smrg      </rewrite>
5857ec681f3Smrg    </swap>
5867ec681f3Smrg  </ins>
5877ec681f3Smrg
5887ec681f3Smrg  <ins name="*CUBEFACE1" mask="0x7ffc00" exact="0x706800">
5897ec681f3Smrg    <src start="0" mask="0xfb"/>
5907ec681f3Smrg    <src start="3" mask="0xfb"/>
5917ec681f3Smrg    <src start="6"/>
5927ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
5937ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
5947ec681f3Smrg    <mod name="neg2" size="1" opt="neg"/>
5957ec681f3Smrg    <derived start="9" size="1">
5967ec681f3Smrg      <and>
5977ec681f3Smrg        <eq left="neg0" right="#none"/>
5987ec681f3Smrg        <eq left="neg1" right="#none"/>
5997ec681f3Smrg        <eq left="neg2" right="#none"/>
6007ec681f3Smrg      </and>
6017ec681f3Smrg      <and>
6027ec681f3Smrg        <eq left="neg0" right="#neg"/>
6037ec681f3Smrg        <eq left="neg1" right="#neg"/>
6047ec681f3Smrg        <eq left="neg2" right="#neg"/>
6057ec681f3Smrg      </and>
6067ec681f3Smrg    </derived>
6077ec681f3Smrg  </ins>
6087ec681f3Smrg
6097ec681f3Smrg  <ins name="*DTSEL_IMM" mask="0x7fffe0" exact="0x70f3e0">
6107ec681f3Smrg    <src start="0" mask="0xfb"/>
6117ec681f3Smrg    <mod name="table" start="3" size="2">
6127ec681f3Smrg      <opt>attribute_1</opt>
6137ec681f3Smrg      <opt>attribute_2</opt>
6147ec681f3Smrg      <opt>none</opt> <!-- actually reserved, used as sentinel -->
6157ec681f3Smrg      <opt>flat</opt>
6167ec681f3Smrg    </mod>
6177ec681f3Smrg  </ins>
6187ec681f3Smrg
6197ec681f3Smrg  <ins name="*F16_TO_F32" mask="0x7ffff0" exact="0x700d10">
6207ec681f3Smrg    <src start="0" mask="0xfb"/>
6217ec681f3Smrg    <mod name="lane0" start="3" size="1" default="h0">
6227ec681f3Smrg      <opt>h0</opt>
6237ec681f3Smrg      <opt>h1</opt>
6247ec681f3Smrg    </mod>
6257ec681f3Smrg  </ins>
6267ec681f3Smrg
6277ec681f3Smrg  <ins name="*FADD.f32" mask="0x7e0000" exact="0x2c0000">
6287ec681f3Smrg    <src start="0" mask="0xfb"/>
6297ec681f3Smrg    <src start="3" mask="0xfb"/>
6307ec681f3Smrg    <mod name="abs1" start="6" size="1" opt="abs"/>
6317ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
6327ec681f3Smrg    <mod name="neg1" start="8" size="1" opt="neg"/>
6337ec681f3Smrg    <mod name="abs0" start="12" size="1" opt="abs"/>
6347ec681f3Smrg    <mod name="round" start="13" size="2">
6357ec681f3Smrg      <opt>none</opt>
6367ec681f3Smrg      <opt>rtp</opt>
6377ec681f3Smrg      <opt>rtn</opt>
6387ec681f3Smrg      <opt>rtz</opt>
6397ec681f3Smrg    </mod>
6407ec681f3Smrg    <mod name="clamp" start="15" size="2">
6417ec681f3Smrg      <opt>none</opt>
6427ec681f3Smrg      <opt>clamp_0_inf</opt>
6437ec681f3Smrg      <opt>clamp_m1_1</opt>
6447ec681f3Smrg      <opt>clamp_0_1</opt>
6457ec681f3Smrg    </mod>
6467ec681f3Smrg    <mod name="widen0" size="2">
6477ec681f3Smrg      <opt>none</opt>
6487ec681f3Smrg      <opt>h0</opt>
6497ec681f3Smrg      <opt>h1</opt>
6507ec681f3Smrg    </mod>
6517ec681f3Smrg    <mod name="widen1" size="2">
6527ec681f3Smrg      <opt>none</opt>
6537ec681f3Smrg      <opt>h0</opt>
6547ec681f3Smrg      <opt>h1</opt>
6557ec681f3Smrg    </mod>
6567ec681f3Smrg    <derived start="9" size="3">
6577ec681f3Smrg      <and>
6587ec681f3Smrg        <eq left="widen0" right="#none"/>
6597ec681f3Smrg        <eq left="widen1" right="#none"/>
6607ec681f3Smrg      </and>
6617ec681f3Smrg      <and>
6627ec681f3Smrg        <eq left="widen0" right="#none"/>
6637ec681f3Smrg        <eq left="widen1" right="#h0"/>
6647ec681f3Smrg      </and>
6657ec681f3Smrg      <and>
6667ec681f3Smrg        <eq left="widen0" right="#none"/>
6677ec681f3Smrg        <eq left="widen1" right="#h1"/>
6687ec681f3Smrg      </and>
6697ec681f3Smrg      <and>
6707ec681f3Smrg        <eq left="widen0" right="#h0"/>
6717ec681f3Smrg        <eq left="widen1" right="#h0"/>
6727ec681f3Smrg      </and>
6737ec681f3Smrg      <and>
6747ec681f3Smrg        <eq left="widen0" right="#h0"/>
6757ec681f3Smrg        <eq left="widen1" right="#h1"/>
6767ec681f3Smrg      </and>
6777ec681f3Smrg      <and>
6787ec681f3Smrg        <eq left="widen0" right="#h1"/>
6797ec681f3Smrg        <eq left="widen1" right="#h1"/>
6807ec681f3Smrg      </and>
6817ec681f3Smrg      <and>
6827ec681f3Smrg        <eq left="widen0" right="#h0"/>
6837ec681f3Smrg        <eq left="widen1" right="#none"/>
6847ec681f3Smrg      </and>
6857ec681f3Smrg      <and>
6867ec681f3Smrg        <eq left="widen0" right="#h1"/>
6877ec681f3Smrg        <eq left="widen1" right="#none"/>
6887ec681f3Smrg      </and>
6897ec681f3Smrg    </derived>
6907ec681f3Smrg    <swap left="0" right="1">
6917ec681f3Smrg      <and>
6927ec681f3Smrg        <eq left="widen0" right="#h1"/>
6937ec681f3Smrg        <eq left="widen1" right="#h0"/>
6947ec681f3Smrg      </and>
6957ec681f3Smrg    </swap>
6967ec681f3Smrg  </ins>
6977ec681f3Smrg
6987ec681f3Smrg  <ins name="*FADD.v2f16" mask="0x7e0000" exact="0x6c0000">
6997ec681f3Smrg    <src start="0" mask="0xfb"/>
7007ec681f3Smrg    <src start="3" mask="0xfb"/>
7017ec681f3Smrg    <mod name="abs0" size="1" opt="abs"/>
7027ec681f3Smrg    <mod name="abs1" size="1" opt="abs"/>
7037ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
7047ec681f3Smrg    <mod name="neg1" start="8" size="1" opt="neg"/>
7057ec681f3Smrg    <mod name="swz0" start="9" size="2" default="h01">
7067ec681f3Smrg      <opt>h00</opt>
7077ec681f3Smrg      <opt>h10</opt>
7087ec681f3Smrg      <opt>h01</opt>
7097ec681f3Smrg      <opt>h11</opt>
7107ec681f3Smrg    </mod>
7117ec681f3Smrg    <mod name="swz1" start="11" size="2" default="h01">
7127ec681f3Smrg      <opt>h00</opt>
7137ec681f3Smrg      <opt>h10</opt>
7147ec681f3Smrg      <opt>h01</opt>
7157ec681f3Smrg      <opt>h11</opt>
7167ec681f3Smrg    </mod>
7177ec681f3Smrg    <mod name="round" start="13" size="2">
7187ec681f3Smrg      <opt>none</opt>
7197ec681f3Smrg      <opt>rtp</opt>
7207ec681f3Smrg      <opt>rtn</opt>
7217ec681f3Smrg      <opt>rtz</opt>
7227ec681f3Smrg    </mod>
7237ec681f3Smrg    <mod name="clamp" start="15" size="2">
7247ec681f3Smrg      <opt>none</opt>
7257ec681f3Smrg      <opt>clamp_0_inf</opt>
7267ec681f3Smrg      <opt>clamp_m1_1</opt>
7277ec681f3Smrg      <opt>clamp_0_1</opt>
7287ec681f3Smrg    </mod>
7297ec681f3Smrg    <derived start="6" size="1">
7307ec681f3Smrg      <or>
7317ec681f3Smrg        <and>
7327ec681f3Smrg          <eq left="abs0" right="#abs"/>
7337ec681f3Smrg          <eq left="abs1" right="#none"/>
7347ec681f3Smrg          <eq left="ordering" right="#gt"/>
7357ec681f3Smrg        </and>
7367ec681f3Smrg        <and>
7377ec681f3Smrg          <eq left="abs0" right="#none"/>
7387ec681f3Smrg          <eq left="abs1" right="#none"/>
7397ec681f3Smrg          <neq left="ordering" right="#gt"/>
7407ec681f3Smrg        </and>
7417ec681f3Smrg      </or>
7427ec681f3Smrg      <or>
7437ec681f3Smrg        <and>
7447ec681f3Smrg          <eq left="abs0" right="#abs"/>
7457ec681f3Smrg          <eq left="abs1" right="#abs"/>
7467ec681f3Smrg          <eq left="ordering" right="#gt"/>
7477ec681f3Smrg        </and>
7487ec681f3Smrg        <and>
7497ec681f3Smrg          <eq left="abs0" right="#abs"/>
7507ec681f3Smrg          <eq left="abs1" right="#none"/>
7517ec681f3Smrg          <neq left="ordering" right="#gt"/>
7527ec681f3Smrg        </and>
7537ec681f3Smrg      </or>
7547ec681f3Smrg    </derived>
7557ec681f3Smrg    <swap left="0" right="1">
7567ec681f3Smrg      <or>
7577ec681f3Smrg        <and>
7587ec681f3Smrg          <eq left="abs0" right="#none"/>
7597ec681f3Smrg          <eq left="ordering" right="#gt"/>
7607ec681f3Smrg        </and>
7617ec681f3Smrg        <and>
7627ec681f3Smrg          <eq left="abs1" right="#abs"/>
7637ec681f3Smrg          <neq left="ordering" right="#gt"/>
7647ec681f3Smrg        </and>
7657ec681f3Smrg      </or>
7667ec681f3Smrg    </swap>
7677ec681f3Smrg  </ins>
7687ec681f3Smrg
7697ec681f3Smrg  <ins name="*FADD_LSCALE.f32" mask="0x7ffc00" exact="0x70f400">
7707ec681f3Smrg    <src start="0" mask="0xfb"/>
7717ec681f3Smrg    <src start="3" mask="0xfb"/>
7727ec681f3Smrg    <mod name="abs0" start="6" size="1" opt="abs"/>
7737ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
7747ec681f3Smrg    <mod name="abs1" start="8" size="1" opt="abs"/>
7757ec681f3Smrg    <mod name="neg1" start="9" size="1" opt="neg"/>
7767ec681f3Smrg  </ins>
7777ec681f3Smrg
7787ec681f3Smrg  <ins name="*FCMP.f32" mask="0x7c0000" exact="0x240000">
7797ec681f3Smrg    <src start="0" mask="0xfb"/>
7807ec681f3Smrg    <src start="3" mask="0xfb"/>
7817ec681f3Smrg    <mod name="widen0" size="2">
7827ec681f3Smrg      <opt>none</opt>
7837ec681f3Smrg      <opt>h0</opt>
7847ec681f3Smrg      <opt>h1</opt>
7857ec681f3Smrg    </mod>
7867ec681f3Smrg    <mod name="widen1" size="2">
7877ec681f3Smrg      <opt>none</opt>
7887ec681f3Smrg      <opt>h0</opt>
7897ec681f3Smrg      <opt>h1</opt>
7907ec681f3Smrg    </mod>
7917ec681f3Smrg    <mod name="abs1" start="6" size="1" opt="abs"/>
7927ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
7937ec681f3Smrg    <mod name="neg1" start="8" size="1" opt="neg"/>
7947ec681f3Smrg    <mod name="abs0" start="12" size="1" opt="abs"/>
7957ec681f3Smrg    <mod name="cmpf" start="13" size="3">
7967ec681f3Smrg      <opt>eq</opt>
7977ec681f3Smrg      <opt>gt</opt>
7987ec681f3Smrg      <opt>ge</opt>
7997ec681f3Smrg      <opt>ne</opt>
8007ec681f3Smrg      <opt>lt</opt>
8017ec681f3Smrg      <opt>le</opt>
8027ec681f3Smrg      <opt>gtlt</opt>
8037ec681f3Smrg      <opt>total</opt>
8047ec681f3Smrg    </mod>
8057ec681f3Smrg    <mod name="result_type" start="16" size="2" default="i1">
8067ec681f3Smrg      <opt>i1</opt>
8077ec681f3Smrg      <opt>f1</opt>
8087ec681f3Smrg      <opt>m1</opt>
8097ec681f3Smrg    </mod>
8107ec681f3Smrg    <derived start="9" size="3">
8117ec681f3Smrg      <and>
8127ec681f3Smrg        <eq left="widen0" right="#none"/>
8137ec681f3Smrg        <eq left="widen1" right="#none"/>
8147ec681f3Smrg      </and>
8157ec681f3Smrg      <and>
8167ec681f3Smrg        <eq left="widen0" right="#none"/>
8177ec681f3Smrg        <eq left="widen1" right="#h0"/>
8187ec681f3Smrg      </and>
8197ec681f3Smrg      <and>
8207ec681f3Smrg        <eq left="widen0" right="#none"/>
8217ec681f3Smrg        <eq left="widen1" right="#h1"/>
8227ec681f3Smrg      </and>
8237ec681f3Smrg      <and>
8247ec681f3Smrg        <eq left="widen0" right="#h0"/>
8257ec681f3Smrg        <eq left="widen1" right="#h0"/>
8267ec681f3Smrg      </and>
8277ec681f3Smrg      <and>
8287ec681f3Smrg        <eq left="widen0" right="#h0"/>
8297ec681f3Smrg        <eq left="widen1" right="#h1"/>
8307ec681f3Smrg      </and>
8317ec681f3Smrg      <and>
8327ec681f3Smrg        <eq left="widen0" right="#h1"/>
8337ec681f3Smrg        <eq left="widen1" right="#h1"/>
8347ec681f3Smrg      </and>
8357ec681f3Smrg      <and>
8367ec681f3Smrg        <eq left="widen0" right="#h0"/>
8377ec681f3Smrg        <eq left="widen1" right="#none"/>
8387ec681f3Smrg      </and>
8397ec681f3Smrg      <and>
8407ec681f3Smrg        <eq left="widen0" right="#h1"/>
8417ec681f3Smrg        <eq left="widen1" right="#none"/>
8427ec681f3Smrg      </and>
8437ec681f3Smrg    </derived>
8447ec681f3Smrg    <swap left="0" right="1">
8457ec681f3Smrg      <and>
8467ec681f3Smrg        <eq left="widen0" right="#h1"/>
8477ec681f3Smrg        <eq left="widen1" right="#h0"/>
8487ec681f3Smrg      </and>
8497ec681f3Smrg      <rewrite name="cmpf">
8507ec681f3Smrg        <map from="lt" to="gt"/>
8517ec681f3Smrg        <map from="le" to="ge"/>
8527ec681f3Smrg        <map from="gt" to="lt"/>
8537ec681f3Smrg        <map from="ge" to="le"/>
8547ec681f3Smrg      </rewrite>
8557ec681f3Smrg    </swap>
8567ec681f3Smrg  </ins>
8577ec681f3Smrg
8587ec681f3Smrg  <ins name="*FCMP.v2f16" mask="0x7c0000" exact="0x640000">
8597ec681f3Smrg    <src start="0" mask="0xfb"/>
8607ec681f3Smrg    <src start="3" mask="0xfb"/>
8617ec681f3Smrg    <mod name="abs0" size="1" opt="abs"/>
8627ec681f3Smrg    <mod name="abs1" size="1" opt="abs"/>
8637ec681f3Smrg    <mod name="cmpf" size="3">
8647ec681f3Smrg      <opt>eq</opt>
8657ec681f3Smrg      <opt>gt</opt>
8667ec681f3Smrg      <opt>ge</opt>
8677ec681f3Smrg      <opt>ne</opt>
8687ec681f3Smrg      <opt>lt</opt>
8697ec681f3Smrg      <opt>le</opt>
8707ec681f3Smrg      <opt>gtlt</opt>
8717ec681f3Smrg      <opt>total</opt>
8727ec681f3Smrg    </mod>
8737ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
8747ec681f3Smrg    <mod name="neg1" start="8" size="1" opt="neg"/>
8757ec681f3Smrg    <mod name="swz0" start="9" size="2" default="h01">
8767ec681f3Smrg      <opt>h00</opt>
8777ec681f3Smrg      <opt>h10</opt>
8787ec681f3Smrg      <opt>h01</opt>
8797ec681f3Smrg      <opt>h11</opt>
8807ec681f3Smrg    </mod>
8817ec681f3Smrg    <mod name="swz1" start="11" size="2" default="h01">
8827ec681f3Smrg      <opt>h00</opt>
8837ec681f3Smrg      <opt>h10</opt>
8847ec681f3Smrg      <opt>h01</opt>
8857ec681f3Smrg      <opt>h11</opt>
8867ec681f3Smrg    </mod>
8877ec681f3Smrg    <mod name="result_type" start="16" size="2" default="i1">
8887ec681f3Smrg      <opt>i1</opt>
8897ec681f3Smrg      <opt>f1</opt>
8907ec681f3Smrg      <opt>m1</opt>
8917ec681f3Smrg    </mod>
8927ec681f3Smrg    <derived start="6" size="1">
8937ec681f3Smrg      <or>
8947ec681f3Smrg        <and>
8957ec681f3Smrg          <eq left="abs0" right="#abs"/>
8967ec681f3Smrg          <eq left="abs1" right="#none"/>
8977ec681f3Smrg          <eq left="ordering" right="#gt"/>
8987ec681f3Smrg        </and>
8997ec681f3Smrg        <and>
9007ec681f3Smrg          <eq left="abs0" right="#none"/>
9017ec681f3Smrg          <eq left="abs1" right="#none"/>
9027ec681f3Smrg          <neq left="ordering" right="#gt"/>
9037ec681f3Smrg        </and>
9047ec681f3Smrg      </or>
9057ec681f3Smrg      <or>
9067ec681f3Smrg        <and>
9077ec681f3Smrg          <eq left="abs0" right="#abs"/>
9087ec681f3Smrg          <eq left="abs1" right="#abs"/>
9097ec681f3Smrg          <eq left="ordering" right="#gt"/>
9107ec681f3Smrg        </and>
9117ec681f3Smrg        <and>
9127ec681f3Smrg          <eq left="abs0" right="#abs"/>
9137ec681f3Smrg          <eq left="abs1" right="#none"/>
9147ec681f3Smrg          <neq left="ordering" right="#gt"/>
9157ec681f3Smrg        </and>
9167ec681f3Smrg      </or>
9177ec681f3Smrg    </derived>
9187ec681f3Smrg    <derived start="13" size="3">
9197ec681f3Smrg      <eq left="cmpf" right="#eq"/>
9207ec681f3Smrg      <eq left="cmpf" right="#gt"/>
9217ec681f3Smrg      <eq left="cmpf" right="#ge"/>
9227ec681f3Smrg      <eq left="cmpf" right="#ne"/>
9237ec681f3Smrg      <eq left="cmpf" right="#lt"/>
9247ec681f3Smrg      <eq left="cmpf" right="#le"/>
9257ec681f3Smrg      <eq left="cmpf" right="#gtlt"/>
9267ec681f3Smrg      <and>
9277ec681f3Smrg        <eq left="cmpf" right="#total"/>
9287ec681f3Smrg        <eq left="abs0" right="#none"/>
9297ec681f3Smrg        <eq left="abs1" right="#none"/>
9307ec681f3Smrg      </and>
9317ec681f3Smrg    </derived>
9327ec681f3Smrg    <swap left="0" right="1">
9337ec681f3Smrg      <or>
9347ec681f3Smrg        <and>
9357ec681f3Smrg          <eq left="abs0" right="#none"/>
9367ec681f3Smrg          <eq left="ordering" right="#gt"/>
9377ec681f3Smrg        </and>
9387ec681f3Smrg        <and>
9397ec681f3Smrg          <eq left="abs1" right="#abs"/>
9407ec681f3Smrg          <neq left="ordering" right="#gt"/>
9417ec681f3Smrg        </and>
9427ec681f3Smrg      </or>
9437ec681f3Smrg      <rewrite name="cmpf">
9447ec681f3Smrg        <map from="lt" to="gt"/>
9457ec681f3Smrg        <map from="le" to="ge"/>
9467ec681f3Smrg        <map from="gt" to="lt"/>
9477ec681f3Smrg        <map from="ge" to="le"/>
9487ec681f3Smrg      </rewrite>
9497ec681f3Smrg    </swap>
9507ec681f3Smrg  </ins>
9517ec681f3Smrg
9527ec681f3Smrg  <ins name="*FLSHIFT_DOUBLE.i32" mask="0x7ff800" exact="0x33f800">
9537ec681f3Smrg    <src start="0" mask="0xfb"/>
9547ec681f3Smrg    <src start="3" mask="0xfb"/>
9557ec681f3Smrg    <src start="6"/>
9567ec681f3Smrg    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
9577ec681f3Smrg    <mod name="lane2" start="10" size="1" default="b0">
9587ec681f3Smrg      <opt>b0</opt>
9597ec681f3Smrg      <opt>b2</opt>
9607ec681f3Smrg    </mod>
9617ec681f3Smrg  </ins>
9627ec681f3Smrg
9637ec681f3Smrg  <ins name="*FMA.f32" mask="0x600000" exact="0x0">
9647ec681f3Smrg    <src start="0" mask="0xfb"/>
9657ec681f3Smrg    <src start="3" mask="0xfb"/>
9667ec681f3Smrg    <src start="6"/>
9677ec681f3Smrg    <mod name="widen0" size="2">
9687ec681f3Smrg      <opt>none</opt>
9697ec681f3Smrg      <opt>h0</opt>
9707ec681f3Smrg      <opt>h1</opt>
9717ec681f3Smrg    </mod>
9727ec681f3Smrg    <mod name="widen1" size="2">
9737ec681f3Smrg      <opt>none</opt>
9747ec681f3Smrg      <opt>h0</opt>
9757ec681f3Smrg      <opt>h1</opt>
9767ec681f3Smrg    </mod>
9777ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
9787ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
9797ec681f3Smrg    <mod name="abs0" start="12" size="1" opt="abs"/>
9807ec681f3Smrg    <mod name="round" start="13" size="2">
9817ec681f3Smrg      <opt>none</opt>
9827ec681f3Smrg      <opt>rtp</opt>
9837ec681f3Smrg      <opt>rtn</opt>
9847ec681f3Smrg      <opt>rtz</opt>
9857ec681f3Smrg    </mod>
9867ec681f3Smrg    <mod name="clamp" start="15" size="2">
9877ec681f3Smrg      <opt>none</opt>
9887ec681f3Smrg      <opt>clamp_0_inf</opt>
9897ec681f3Smrg      <opt>clamp_m1_1</opt>
9907ec681f3Smrg      <opt>clamp_0_1</opt>
9917ec681f3Smrg    </mod>
9927ec681f3Smrg    <mod name="abs1" start="19" size="1" opt="abs"/>
9937ec681f3Smrg    <mod name="neg2" start="18" size="1" opt="neg"/>
9947ec681f3Smrg    <mod name="abs2" start="20" size="1" opt="abs"/>
9957ec681f3Smrg    <derived start="9" size="3">
9967ec681f3Smrg      <and>
9977ec681f3Smrg        <eq left="widen0" right="#none"/>
9987ec681f3Smrg        <eq left="widen1" right="#none"/>
9997ec681f3Smrg      </and>
10007ec681f3Smrg      <and>
10017ec681f3Smrg        <eq left="widen0" right="#none"/>
10027ec681f3Smrg        <eq left="widen1" right="#h0"/>
10037ec681f3Smrg      </and>
10047ec681f3Smrg      <and>
10057ec681f3Smrg        <eq left="widen0" right="#none"/>
10067ec681f3Smrg        <eq left="widen1" right="#h1"/>
10077ec681f3Smrg      </and>
10087ec681f3Smrg      <and>
10097ec681f3Smrg        <eq left="widen0" right="#h0"/>
10107ec681f3Smrg        <eq left="widen1" right="#h0"/>
10117ec681f3Smrg      </and>
10127ec681f3Smrg      <and>
10137ec681f3Smrg        <eq left="widen0" right="#h0"/>
10147ec681f3Smrg        <eq left="widen1" right="#h1"/>
10157ec681f3Smrg      </and>
10167ec681f3Smrg      <and>
10177ec681f3Smrg        <eq left="widen0" right="#h1"/>
10187ec681f3Smrg        <eq left="widen1" right="#h1"/>
10197ec681f3Smrg      </and>
10207ec681f3Smrg      <and>
10217ec681f3Smrg        <eq left="widen0" right="#h0"/>
10227ec681f3Smrg        <eq left="widen1" right="#none"/>
10237ec681f3Smrg      </and>
10247ec681f3Smrg      <and>
10257ec681f3Smrg        <eq left="widen0" right="#h1"/>
10267ec681f3Smrg        <eq left="widen1" right="#none"/>
10277ec681f3Smrg      </and>
10287ec681f3Smrg    </derived>
10297ec681f3Smrg    <derived start="17" size="1">
10307ec681f3Smrg      <or>
10317ec681f3Smrg        <and>
10327ec681f3Smrg          <eq left="neg0" right="#none"/>
10337ec681f3Smrg          <eq left="neg1" right="#none"/>
10347ec681f3Smrg        </and>
10357ec681f3Smrg        <and alias="true">
10367ec681f3Smrg          <eq left="neg0" right="#neg"/>
10377ec681f3Smrg          <eq left="neg1" right="#neg"/>
10387ec681f3Smrg        </and>
10397ec681f3Smrg      </or>
10407ec681f3Smrg      <or>
10417ec681f3Smrg        <and>
10427ec681f3Smrg          <eq left="neg0" right="#none"/>
10437ec681f3Smrg          <eq left="neg1" right="#neg"/>
10447ec681f3Smrg        </and>
10457ec681f3Smrg        <and alias="true">
10467ec681f3Smrg          <eq left="neg0" right="#neg"/>
10477ec681f3Smrg          <eq left="neg1" right="#none"/>
10487ec681f3Smrg        </and>
10497ec681f3Smrg      </or>
10507ec681f3Smrg    </derived>
10517ec681f3Smrg    <swap left="0" right="1">
10527ec681f3Smrg      <and>
10537ec681f3Smrg        <eq left="widen0" right="#h1"/>
10547ec681f3Smrg        <eq left="widen1" right="#h0"/>
10557ec681f3Smrg      </and>
10567ec681f3Smrg    </swap>
10577ec681f3Smrg  </ins>
10587ec681f3Smrg
10597ec681f3Smrg  <ins name="*FMA.v2f16" mask="0x600000" exact="0x400000">
10607ec681f3Smrg    <src start="0" mask="0xfb"/>
10617ec681f3Smrg    <src start="3" mask="0xfb"/>
10627ec681f3Smrg    <src start="6"/>
10637ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
10647ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
10657ec681f3Smrg    <mod name="swz0" start="9" size="2" default="h01">
10667ec681f3Smrg      <opt>h00</opt>
10677ec681f3Smrg      <opt>h10</opt>
10687ec681f3Smrg      <opt>h01</opt>
10697ec681f3Smrg      <opt>h11</opt>
10707ec681f3Smrg    </mod>
10717ec681f3Smrg    <mod name="swz1" start="11" size="2" default="h01">
10727ec681f3Smrg      <opt>h00</opt>
10737ec681f3Smrg      <opt>h10</opt>
10747ec681f3Smrg      <opt>h01</opt>
10757ec681f3Smrg      <opt>h11</opt>
10767ec681f3Smrg    </mod>
10777ec681f3Smrg    <mod name="round" start="13" size="2">
10787ec681f3Smrg      <opt>none</opt>
10797ec681f3Smrg      <opt>rtp</opt>
10807ec681f3Smrg      <opt>rtn</opt>
10817ec681f3Smrg      <opt>rtz</opt>
10827ec681f3Smrg    </mod>
10837ec681f3Smrg    <mod name="clamp" start="15" size="2">
10847ec681f3Smrg      <opt>none</opt>
10857ec681f3Smrg      <opt>clamp_0_inf</opt>
10867ec681f3Smrg      <opt>clamp_m1_1</opt>
10877ec681f3Smrg      <opt>clamp_0_1</opt>
10887ec681f3Smrg    </mod>
10897ec681f3Smrg    <mod name="neg2" start="18" size="1" opt="neg"/>
10907ec681f3Smrg    <mod name="swz2" start="19" size="2" default="h01">
10917ec681f3Smrg      <opt>h00</opt>
10927ec681f3Smrg      <opt>h10</opt>
10937ec681f3Smrg      <opt>h01</opt>
10947ec681f3Smrg      <opt>h11</opt>
10957ec681f3Smrg    </mod>
10967ec681f3Smrg    <derived start="17" size="1">
10977ec681f3Smrg      <or>
10987ec681f3Smrg        <and>
10997ec681f3Smrg          <eq left="neg0" right="#none"/>
11007ec681f3Smrg          <eq left="neg1" right="#none"/>
11017ec681f3Smrg        </and>
11027ec681f3Smrg        <and alias="true">
11037ec681f3Smrg          <eq left="neg0" right="#neg"/>
11047ec681f3Smrg          <eq left="neg1" right="#neg"/>
11057ec681f3Smrg        </and>
11067ec681f3Smrg      </or>
11077ec681f3Smrg      <or>
11087ec681f3Smrg        <and>
11097ec681f3Smrg          <eq left="neg0" right="#none"/>
11107ec681f3Smrg          <eq left="neg1" right="#neg"/>
11117ec681f3Smrg        </and>
11127ec681f3Smrg        <and alias="true">
11137ec681f3Smrg          <eq left="neg0" right="#neg"/>
11147ec681f3Smrg          <eq left="neg1" right="#none"/>
11157ec681f3Smrg        </and>
11167ec681f3Smrg      </or>
11177ec681f3Smrg    </derived>
11187ec681f3Smrg  </ins>
11197ec681f3Smrg
11207ec681f3Smrg  <ins name="*FMA_RSCALE.f32" mask="0x7c0000" exact="0x280000">
11217ec681f3Smrg    <src start="0" mask="0xfb"/>
11227ec681f3Smrg    <src start="3" mask="0xfb"/>
11237ec681f3Smrg    <src start="6"/>
11247ec681f3Smrg    <src start="9"/>
11257ec681f3Smrg    <mod name="round" size="1" opt="rtz"/>
11267ec681f3Smrg    <mod name="clamp" size="2">
11277ec681f3Smrg      <opt>none</opt>
11287ec681f3Smrg      <opt>clamp_0_inf</opt>
11297ec681f3Smrg      <opt>clamp_m1_1</opt>
11307ec681f3Smrg      <opt>clamp_0_1</opt>
11317ec681f3Smrg    </mod>
11327ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
11337ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
11347ec681f3Smrg    <mod name="abs0" start="15" size="1" opt="abs"/>
11357ec681f3Smrg    <mod name="neg2" start="17" size="1" opt="neg"/>
11367ec681f3Smrg    <mod name="special" size="2">
11377ec681f3Smrg      <opt>none</opt>
11387ec681f3Smrg      <opt>n</opt>
11397ec681f3Smrg      <opt>left</opt>
11407ec681f3Smrg      <opt>scale16</opt>
11417ec681f3Smrg    </mod>
11427ec681f3Smrg    <derived start="16" size="1">
11437ec681f3Smrg      <or>
11447ec681f3Smrg        <and>
11457ec681f3Smrg          <eq left="neg0" right="#none"/>
11467ec681f3Smrg          <eq left="neg1" right="#none"/>
11477ec681f3Smrg        </and>
11487ec681f3Smrg        <and alias="true">
11497ec681f3Smrg          <eq left="neg0" right="#neg"/>
11507ec681f3Smrg          <eq left="neg1" right="#neg"/>
11517ec681f3Smrg        </and>
11527ec681f3Smrg      </or>
11537ec681f3Smrg      <or>
11547ec681f3Smrg        <and>
11557ec681f3Smrg          <eq left="neg0" right="#none"/>
11567ec681f3Smrg          <eq left="neg1" right="#neg"/>
11577ec681f3Smrg        </and>
11587ec681f3Smrg        <and alias="true">
11597ec681f3Smrg          <eq left="neg0" right="#neg"/>
11607ec681f3Smrg          <eq left="neg1" right="#none"/>
11617ec681f3Smrg        </and>
11627ec681f3Smrg      </or>
11637ec681f3Smrg    </derived>
11647ec681f3Smrg    <derived start="12" size="3">
11657ec681f3Smrg      <and>
11667ec681f3Smrg        <eq left="clamp" right="#none"/>
11677ec681f3Smrg        <eq left="special" right="#none"/>
11687ec681f3Smrg        <eq left="round" right="#none"/>
11697ec681f3Smrg      </and>
11707ec681f3Smrg      <and>
11717ec681f3Smrg        <eq left="clamp" right="#clamp_0_inf"/>
11727ec681f3Smrg        <eq left="special" right="#none"/>
11737ec681f3Smrg        <eq left="round" right="#none"/>
11747ec681f3Smrg      </and>
11757ec681f3Smrg      <and>
11767ec681f3Smrg        <eq left="clamp" right="#clamp_m1_1"/>
11777ec681f3Smrg        <eq left="special" right="#none"/>
11787ec681f3Smrg        <eq left="round" right="#none"/>
11797ec681f3Smrg      </and>
11807ec681f3Smrg      <and>
11817ec681f3Smrg        <eq left="clamp" right="#clamp_0_1"/>
11827ec681f3Smrg        <eq left="special" right="#none"/>
11837ec681f3Smrg        <eq left="round" right="#none"/>
11847ec681f3Smrg      </and>
11857ec681f3Smrg      <and>
11867ec681f3Smrg        <eq left="clamp" right="#none"/>
11877ec681f3Smrg        <eq left="special" right="#n"/>
11887ec681f3Smrg        <eq left="round" right="#none"/>
11897ec681f3Smrg      </and>
11907ec681f3Smrg      <and>
11917ec681f3Smrg        <eq left="clamp" right="#none"/>
11927ec681f3Smrg        <eq left="special" right="#n"/>
11937ec681f3Smrg        <eq left="round" right="#rtz"/>
11947ec681f3Smrg      </and>
11957ec681f3Smrg      <and>
11967ec681f3Smrg        <eq left="clamp" right="#none"/>
11977ec681f3Smrg        <eq left="special" right="#scale16"/>
11987ec681f3Smrg        <eq left="round" right="#none"/>
11997ec681f3Smrg      </and>
12007ec681f3Smrg      <and>
12017ec681f3Smrg        <eq left="clamp" right="#none"/>
12027ec681f3Smrg        <eq left="special" right="#left"/>
12037ec681f3Smrg        <eq left="round" right="#none"/>
12047ec681f3Smrg      </and>
12057ec681f3Smrg    </derived>
12067ec681f3Smrg  </ins>
12077ec681f3Smrg
12087ec681f3Smrg  <ins name="*FMA_RSCALE.v2f16" mask="0x7c0000" exact="0x680000">
12097ec681f3Smrg    <src start="0" mask="0xfb"/>
12107ec681f3Smrg    <src start="3" mask="0xfb"/>
12117ec681f3Smrg    <src start="6"/>
12127ec681f3Smrg    <src start="9"/>
12137ec681f3Smrg    <mod name="round" size="1" opt="rtz"/>
12147ec681f3Smrg    <mod name="clamp" size="2">
12157ec681f3Smrg      <opt>none</opt>
12167ec681f3Smrg      <opt>clamp_0_inf</opt>
12177ec681f3Smrg      <opt>clamp_m1_1</opt>
12187ec681f3Smrg      <opt>clamp_0_1</opt>
12197ec681f3Smrg    </mod>
12207ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
12217ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
12227ec681f3Smrg    <mod name="abs0" start="15" size="1" opt="abs"/>
12237ec681f3Smrg    <mod name="neg2" start="17" size="1" opt="neg"/>
12247ec681f3Smrg    <mod name="special" size="2">
12257ec681f3Smrg      <opt>none</opt>
12267ec681f3Smrg      <opt>n</opt>
12277ec681f3Smrg      <opt>left</opt>
12287ec681f3Smrg    </mod>
12297ec681f3Smrg    <derived start="16" size="1">
12307ec681f3Smrg      <or>
12317ec681f3Smrg        <and>
12327ec681f3Smrg          <eq left="neg0" right="#none"/>
12337ec681f3Smrg          <eq left="neg1" right="#none"/>
12347ec681f3Smrg        </and>
12357ec681f3Smrg        <and alias="true">
12367ec681f3Smrg          <eq left="neg0" right="#neg"/>
12377ec681f3Smrg          <eq left="neg1" right="#neg"/>
12387ec681f3Smrg        </and>
12397ec681f3Smrg      </or>
12407ec681f3Smrg      <or>
12417ec681f3Smrg        <and>
12427ec681f3Smrg          <eq left="neg0" right="#none"/>
12437ec681f3Smrg          <eq left="neg1" right="#neg"/>
12447ec681f3Smrg        </and>
12457ec681f3Smrg        <and alias="true">
12467ec681f3Smrg          <eq left="neg0" right="#neg"/>
12477ec681f3Smrg          <eq left="neg1" right="#none"/>
12487ec681f3Smrg        </and>
12497ec681f3Smrg      </or>
12507ec681f3Smrg    </derived>
12517ec681f3Smrg    <derived start="12" size="3">
12527ec681f3Smrg      <and>
12537ec681f3Smrg        <eq left="clamp" right="#none"/>
12547ec681f3Smrg        <eq left="special" right="#none"/>
12557ec681f3Smrg        <eq left="round" right="#none"/>
12567ec681f3Smrg      </and>
12577ec681f3Smrg      <and>
12587ec681f3Smrg        <eq left="clamp" right="#clamp_0_inf"/>
12597ec681f3Smrg        <eq left="special" right="#none"/>
12607ec681f3Smrg        <eq left="round" right="#none"/>
12617ec681f3Smrg      </and>
12627ec681f3Smrg      <and>
12637ec681f3Smrg        <eq left="clamp" right="#clamp_m1_1"/>
12647ec681f3Smrg        <eq left="special" right="#none"/>
12657ec681f3Smrg        <eq left="round" right="#none"/>
12667ec681f3Smrg      </and>
12677ec681f3Smrg      <and>
12687ec681f3Smrg        <eq left="clamp" right="#clamp_0_1"/>
12697ec681f3Smrg        <eq left="special" right="#none"/>
12707ec681f3Smrg        <eq left="round" right="#none"/>
12717ec681f3Smrg      </and>
12727ec681f3Smrg      <and>
12737ec681f3Smrg        <eq left="clamp" right="#none"/>
12747ec681f3Smrg        <eq left="special" right="#n"/>
12757ec681f3Smrg        <eq left="round" right="#none"/>
12767ec681f3Smrg      </and>
12777ec681f3Smrg      <and>
12787ec681f3Smrg        <eq left="clamp" right="#none"/>
12797ec681f3Smrg        <eq left="special" right="#n"/>
12807ec681f3Smrg        <eq left="round" right="#rtz"/>
12817ec681f3Smrg      </and>
12827ec681f3Smrg      <reserved/>
12837ec681f3Smrg      <and>
12847ec681f3Smrg        <eq left="clamp" right="#none"/>
12857ec681f3Smrg        <eq left="special" right="#left"/>
12867ec681f3Smrg        <eq left="round" right="#none"/>
12877ec681f3Smrg      </and>
12887ec681f3Smrg    </derived>
12897ec681f3Smrg  </ins>
12907ec681f3Smrg
12917ec681f3Smrg  <ins name="*FMUL_CSLICE" mask="0x7ffe00" exact="0x70d000">
12927ec681f3Smrg    <src start="0" mask="0xfb"/>
12937ec681f3Smrg    <src start="3" mask="0xfb"/>
12947ec681f3Smrg    <mod name="lane0" start="6" size="1" default="h0">
12957ec681f3Smrg      <opt>h0</opt>
12967ec681f3Smrg      <opt>h1</opt>
12977ec681f3Smrg    </mod>
12987ec681f3Smrg    <mod name="abs0" start="7" size="1" opt="abs"/>
12997ec681f3Smrg    <mod name="neg0" start="8" size="1" opt="neg"/>
13007ec681f3Smrg  </ins>
13017ec681f3Smrg
13027ec681f3Smrg  <ins name="*FMUL_SLICE.f32" mask="0x7fffc0" exact="0x70cb40">
13037ec681f3Smrg    <src start="0" mask="0xfb"/>
13047ec681f3Smrg    <src start="3" mask="0xfb"/>
13057ec681f3Smrg  </ins>
13067ec681f3Smrg
13077ec681f3Smrg  <ins name="*FREXPE.f32">
13087ec681f3Smrg    <src start="0" mask="0xfb"/>
13097ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
13107ec681f3Smrg    <mod name="sqrt" size="1" opt="sqrt"/>
13117ec681f3Smrg    <mod name="log" size="1" opt="log"/>
13127ec681f3Smrg    <mod name="widen0" start="3" size="2">
13137ec681f3Smrg      <reserved/>
13147ec681f3Smrg      <opt>none</opt>
13157ec681f3Smrg      <opt>h0</opt>
13167ec681f3Smrg      <opt>h1</opt>
13177ec681f3Smrg    </mod>
13187ec681f3Smrg    <encoding mask="0x7ffea0" exact="0x701c20">
13197ec681f3Smrg      <eq left="log" right="#none"/>
13207ec681f3Smrg      <copy name="neg0" start="6"/>
13217ec681f3Smrg      <copy name="sqrt" start="8"/>
13227ec681f3Smrg    </encoding>
13237ec681f3Smrg    <encoding mask="0x7fffe0" exact="0x701e20">
13247ec681f3Smrg      <and>
13257ec681f3Smrg        <eq left="log" right="#log"/>
13267ec681f3Smrg        <eq left="sqrt" right="#none"/>
13277ec681f3Smrg        <eq left="neg0" right="#none"/>
13287ec681f3Smrg      </and>
13297ec681f3Smrg    </encoding>
13307ec681f3Smrg  </ins>
13317ec681f3Smrg
13327ec681f3Smrg  <ins name="*FREXPE.v2f16">
13337ec681f3Smrg    <src start="0" mask="0xfb"/>
13347ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
13357ec681f3Smrg    <mod name="sqrt" size="1" opt="sqrt"/>
13367ec681f3Smrg    <mod name="log" size="1" opt="log"/>
13377ec681f3Smrg    <mod name="swz0" start="3" size="2" default="h01">
13387ec681f3Smrg      <opt>h00</opt>
13397ec681f3Smrg      <opt>h10</opt>
13407ec681f3Smrg      <opt>h01</opt>
13417ec681f3Smrg      <opt>h11</opt>
13427ec681f3Smrg    </mod>
13437ec681f3Smrg    <encoding mask="0x7ffea0" exact="0x701c00">
13447ec681f3Smrg      <eq left="log" right="#none"/>
13457ec681f3Smrg      <copy name="neg0" start="6"/>
13467ec681f3Smrg      <copy name="sqrt" start="8"/>
13477ec681f3Smrg    </encoding>
13487ec681f3Smrg    <encoding mask="0x7fffe0" exact="0x701e00">
13497ec681f3Smrg      <and>
13507ec681f3Smrg        <eq left="log" right="#log"/>
13517ec681f3Smrg        <eq left="sqrt" right="#none"/>
13527ec681f3Smrg        <eq left="neg0" right="#none"/>
13537ec681f3Smrg      </and>
13547ec681f3Smrg    </encoding>
13557ec681f3Smrg  </ins>
13567ec681f3Smrg
13577ec681f3Smrg  <ins name="*FREXPM.f32">
13587ec681f3Smrg    <src start="0" mask="0xfb"/>
13597ec681f3Smrg    <mod name="abs0" start="6" size="1" opt="abs"/>
13607ec681f3Smrg    <mod name="sqrt" size="1" opt="sqrt"/>
13617ec681f3Smrg    <mod name="log" size="1" opt="log"/>
13627ec681f3Smrg    <mod name="widen0" start="3" size="2">
13637ec681f3Smrg      <reserved/>
13647ec681f3Smrg      <opt>none</opt>
13657ec681f3Smrg      <opt>h0</opt>
13667ec681f3Smrg      <opt>h1</opt>
13677ec681f3Smrg    </mod>
13687ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
13697ec681f3Smrg    <encoding mask="0x7fff20" exact="0x701b20">
13707ec681f3Smrg      <and>
13717ec681f3Smrg        <eq left="log" right="#none"/>
13727ec681f3Smrg        <eq left="neg0" right="#none"/>
13737ec681f3Smrg      </and>
13747ec681f3Smrg      <copy name="sqrt" start="7"/>
13757ec681f3Smrg    </encoding>
13767ec681f3Smrg    <encoding mask="0x7fff20" exact="0x701a20">
13777ec681f3Smrg      <and>
13787ec681f3Smrg        <eq left="log" right="#log"/>
13797ec681f3Smrg        <eq left="sqrt" right="#none"/>
13807ec681f3Smrg      </and>
13817ec681f3Smrg      <copy name="neg0" start="7"/>
13827ec681f3Smrg    </encoding>
13837ec681f3Smrg  </ins>
13847ec681f3Smrg
13857ec681f3Smrg  <ins name="*FREXPM.v2f16">
13867ec681f3Smrg    <src start="0" mask="0xfb"/>
13877ec681f3Smrg    <mod name="abs0" start="6" size="1" opt="abs"/>
13887ec681f3Smrg    <mod name="sqrt" size="1" opt="sqrt"/>
13897ec681f3Smrg    <mod name="log" size="1" opt="log"/>
13907ec681f3Smrg    <mod name="swz0" start="3" size="2" default="h01">
13917ec681f3Smrg      <opt>h00</opt>
13927ec681f3Smrg      <opt>h10</opt>
13937ec681f3Smrg      <opt>h01</opt>
13947ec681f3Smrg      <opt>h11</opt>
13957ec681f3Smrg    </mod>
13967ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
13977ec681f3Smrg    <encoding mask="0x7fff20" exact="0x701b00">
13987ec681f3Smrg      <and>
13997ec681f3Smrg        <eq left="log" right="#none"/>
14007ec681f3Smrg        <eq left="neg0" right="#none"/>
14017ec681f3Smrg      </and>
14027ec681f3Smrg      <copy name="sqrt" start="7"/>
14037ec681f3Smrg    </encoding>
14047ec681f3Smrg    <encoding mask="0x7fff20" exact="0x701a00">
14057ec681f3Smrg      <and>
14067ec681f3Smrg        <eq left="log" right="#log"/>
14077ec681f3Smrg        <eq left="sqrt" right="#none"/>
14087ec681f3Smrg      </and>
14097ec681f3Smrg      <copy name="neg0" start="7"/>
14107ec681f3Smrg    </encoding>
14117ec681f3Smrg  </ins>
14127ec681f3Smrg
14137ec681f3Smrg  <ins name="*FROUND.f32">
14147ec681f3Smrg    <src start="0" mask="0xfb"/>
14157ec681f3Smrg    <mod name="abs0" start="7" size="1" opt="abs"/>
14167ec681f3Smrg    <mod name="neg0" start="8" size="1" opt="neg"/>
14177ec681f3Smrg    <mod name="widen0" start="3" size="2">
14187ec681f3Smrg      <reserved/>
14197ec681f3Smrg      <opt>none</opt>
14207ec681f3Smrg      <opt>h0</opt>
14217ec681f3Smrg      <opt>h1</opt>
14227ec681f3Smrg    </mod>
14237ec681f3Smrg    <mod name="round" size="3">
14247ec681f3Smrg      <opt>none</opt>
14257ec681f3Smrg      <opt>rtp</opt>
14267ec681f3Smrg      <opt>rtn</opt>
14277ec681f3Smrg      <opt>rtz</opt>
14287ec681f3Smrg      <opt>rtna</opt>
14297ec681f3Smrg    </mod>
14307ec681f3Smrg    <encoding mask="0x7ff860" exact="0x70c020">
14317ec681f3Smrg      <neq left="round" right="#rtna"/>
14327ec681f3Smrg      <derived start="9" size="2">
14337ec681f3Smrg        <eq left="round" right="#none"/>
14347ec681f3Smrg        <eq left="round" right="#rtp"/>
14357ec681f3Smrg        <eq left="round" right="#rtn"/>
14367ec681f3Smrg        <eq left="round" right="#rtz"/>
14377ec681f3Smrg      </derived>
14387ec681f3Smrg    </encoding>
14397ec681f3Smrg    <encoding mask="0x7ffe60" exact="0x707620">
14407ec681f3Smrg      <eq left="round" right="#rtna"/>
14417ec681f3Smrg    </encoding>
14427ec681f3Smrg  </ins>
14437ec681f3Smrg
14447ec681f3Smrg  <ins name="*FROUND.v2f16">
14457ec681f3Smrg    <src start="0" mask="0xfb"/>
14467ec681f3Smrg    <mod name="abs0" start="7" size="1" opt="abs"/>
14477ec681f3Smrg    <mod name="neg0" start="8" size="1" opt="neg"/>
14487ec681f3Smrg    <mod name="swz0" start="3" size="2" default="h01">
14497ec681f3Smrg      <opt>h00</opt>
14507ec681f3Smrg      <opt>h10</opt>
14517ec681f3Smrg      <opt>h01</opt>
14527ec681f3Smrg      <opt>h11</opt>
14537ec681f3Smrg    </mod>
14547ec681f3Smrg    <mod name="round" size="3">
14557ec681f3Smrg      <opt>none</opt>
14567ec681f3Smrg      <opt>rtp</opt>
14577ec681f3Smrg      <opt>rtn</opt>
14587ec681f3Smrg      <opt>rtz</opt>
14597ec681f3Smrg      <opt>rtna</opt>
14607ec681f3Smrg    </mod>
14617ec681f3Smrg    <encoding mask="0x7ff860" exact="0x70c000">
14627ec681f3Smrg      <neq left="round" right="#rtna"/>
14637ec681f3Smrg      <derived start="9" size="2">
14647ec681f3Smrg        <eq left="round" right="#none"/>
14657ec681f3Smrg        <eq left="round" right="#rtp"/>
14667ec681f3Smrg        <eq left="round" right="#rtn"/>
14677ec681f3Smrg        <eq left="round" right="#rtz"/>
14687ec681f3Smrg      </derived>
14697ec681f3Smrg    </encoding>
14707ec681f3Smrg    <encoding mask="0x7ffe60" exact="0x707600">
14717ec681f3Smrg      <eq left="round" right="#rtna"/>
14727ec681f3Smrg    </encoding>
14737ec681f3Smrg  </ins>
14747ec681f3Smrg
14757ec681f3Smrg  <ins name="*FRSHIFT_DOUBLE.i32" mask="0x7ff800" exact="0x33f000">
14767ec681f3Smrg    <src start="0" mask="0xfb"/>
14777ec681f3Smrg    <src start="3" mask="0xfb"/>
14787ec681f3Smrg    <src start="6"/>
14797ec681f3Smrg    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
14807ec681f3Smrg    <mod name="lane2" start="10" size="1" default="b0">
14817ec681f3Smrg      <opt>b0</opt>
14827ec681f3Smrg      <opt>b2</opt>
14837ec681f3Smrg    </mod>
14847ec681f3Smrg  </ins>
14857ec681f3Smrg
14867ec681f3Smrg  <ins name="*IADDC.i32" mask="0x7ffe00" exact="0x27fc00">
14877ec681f3Smrg    <src start="0" mask="0xfb"/>
14887ec681f3Smrg    <src start="3" mask="0xfb"/>
14897ec681f3Smrg    <src start="6"/>
14907ec681f3Smrg  </ins>
14917ec681f3Smrg
14927ec681f3Smrg  <ins name="*IDP.v4i8" mask="0x7ff9c0" exact="0x73e8c0">
14937ec681f3Smrg    <src start="0" mask="0xfb"/>
14947ec681f3Smrg    <src start="3" mask="0xfb"/>
14957ec681f3Smrg    <mod name="sign0" start="9" size="1">
14967ec681f3Smrg      <opt>zext</opt>
14977ec681f3Smrg      <opt>sext</opt>
14987ec681f3Smrg    </mod>
14997ec681f3Smrg    <mod name="sign1" start="10" size="1">
15007ec681f3Smrg      <opt>zext</opt>
15017ec681f3Smrg      <opt>sext</opt>
15027ec681f3Smrg    </mod>
15037ec681f3Smrg  </ins>
15047ec681f3Smrg
15057ec681f3Smrg  <ins name="*IMUL.i32">
15067ec681f3Smrg    <src start="0" mask="0xfb"/>
15077ec681f3Smrg    <src start="3" mask="0xfb"/>
15087ec681f3Smrg    <mod name="widen1" size="3">
15097ec681f3Smrg      <opt>none</opt>
15107ec681f3Smrg      <opt>h0</opt>
15117ec681f3Smrg      <opt>h1</opt>
15127ec681f3Smrg      <opt>b0</opt>
15137ec681f3Smrg      <opt>b1</opt>
15147ec681f3Smrg      <opt>b2</opt>
15157ec681f3Smrg      <opt>b3</opt>
15167ec681f3Smrg    </mod>
15177ec681f3Smrg    <mod name="extend" size="2">
15187ec681f3Smrg      <opt>none</opt>
15197ec681f3Smrg      <opt>sext</opt>
15207ec681f3Smrg      <opt>zext</opt>
15217ec681f3Smrg    </mod>
15227ec681f3Smrg    <encoding mask="0x7fffc0" exact="0x73c0c0">
15237ec681f3Smrg      <and>
15247ec681f3Smrg        <eq left="extend" right="#none"/>
15257ec681f3Smrg        <eq left="widen1" right="#none"/>
15267ec681f3Smrg      </and>
15277ec681f3Smrg    </encoding>
15287ec681f3Smrg    <encoding mask="0x7ff9c0" exact="0x73c8c0">
15297ec681f3Smrg      <and>
15307ec681f3Smrg        <neq left="extend" right="#none"/>
15317ec681f3Smrg        <or>
15327ec681f3Smrg          <eq left="widen1" right="#h0"/>
15337ec681f3Smrg          <eq left="widen1" right="#h1"/>
15347ec681f3Smrg        </or>
15357ec681f3Smrg      </and>
15367ec681f3Smrg      <derived start="9" size="1">
15377ec681f3Smrg        <eq left="widen1" right="#h0"/>
15387ec681f3Smrg        <eq left="widen1" right="#h1"/>
15397ec681f3Smrg      </derived>
15407ec681f3Smrg      <derived start="10" size="1">
15417ec681f3Smrg        <eq left="extend" right="#zext"/>
15427ec681f3Smrg        <eq left="extend" right="#sext"/>
15437ec681f3Smrg      </derived>
15447ec681f3Smrg    </encoding>
15457ec681f3Smrg    <encoding mask="0x7ff1c0" exact="0x73b0c0">
15467ec681f3Smrg      <and>
15477ec681f3Smrg        <neq left="extend" right="#none"/>
15487ec681f3Smrg        <or>
15497ec681f3Smrg          <eq left="widen1" right="#b0"/>
15507ec681f3Smrg          <eq left="widen1" right="#b1"/>
15517ec681f3Smrg          <eq left="widen1" right="#b2"/>
15527ec681f3Smrg          <eq left="widen1" right="#b3"/>
15537ec681f3Smrg        </or>
15547ec681f3Smrg      </and>
15557ec681f3Smrg      <derived start="9" size="2">
15567ec681f3Smrg        <eq left="widen1" right="#b0"/>
15577ec681f3Smrg        <eq left="widen1" right="#b1"/>
15587ec681f3Smrg        <eq left="widen1" right="#b2"/>
15597ec681f3Smrg        <eq left="widen1" right="#b3"/>
15607ec681f3Smrg      </derived>
15617ec681f3Smrg      <derived start="11" size="1">
15627ec681f3Smrg        <eq left="extend" right="#zext"/>
15637ec681f3Smrg        <eq left="extend" right="#sext"/>
15647ec681f3Smrg      </derived>
15657ec681f3Smrg    </encoding>
15667ec681f3Smrg  </ins>
15677ec681f3Smrg
15687ec681f3Smrg  <ins name="*IMUL.v2i16" mask="0x7fe1c0" exact="0x7240c0">
15697ec681f3Smrg    <src start="0" mask="0xfb"/>
15707ec681f3Smrg    <src start="3" mask="0xfb"/>
15717ec681f3Smrg    <mod name="swz0" start="9" size="2" default="h01">
15727ec681f3Smrg      <opt>h00</opt>
15737ec681f3Smrg      <opt>h10</opt>
15747ec681f3Smrg      <opt>h01</opt>
15757ec681f3Smrg      <opt>h11</opt>
15767ec681f3Smrg    </mod>
15777ec681f3Smrg    <mod name="swz1" start="11" size="2" default="h01">
15787ec681f3Smrg      <opt>h00</opt>
15797ec681f3Smrg      <opt>h10</opt>
15807ec681f3Smrg      <opt>h01</opt>
15817ec681f3Smrg      <opt>h11</opt>
15827ec681f3Smrg    </mod>
15837ec681f3Smrg  </ins>
15847ec681f3Smrg
15857ec681f3Smrg  <ins name="*IMUL.v4i8">
15867ec681f3Smrg    <src start="0" mask="0xfb"/>
15877ec681f3Smrg    <src start="3" mask="0xfb"/>
15887ec681f3Smrg    <mod name="replicate0" size="3" default="b0123">
15897ec681f3Smrg      <opt>b0123</opt>
15907ec681f3Smrg    </mod>
15917ec681f3Smrg    <mod name="replicate1" size="3" default="b0123">
15927ec681f3Smrg      <opt>b0123</opt>
15937ec681f3Smrg      <opt>b0000</opt>
15947ec681f3Smrg      <opt>b1111</opt>
15957ec681f3Smrg      <opt>b2222</opt>
15967ec681f3Smrg      <opt>b3333</opt>
15977ec681f3Smrg    </mod>
15987ec681f3Smrg    <encoding mask="0x7fffc0" exact="0x73e0c0">
15997ec681f3Smrg      <and>
16007ec681f3Smrg        <eq left="replicate0" right="#b0123"/>
16017ec681f3Smrg        <eq left="replicate1" right="#b0123"/>
16027ec681f3Smrg      </and>
16037ec681f3Smrg    </encoding>
16047ec681f3Smrg    <encoding mask="0x7ff9c0" exact="0x7380c0">
16057ec681f3Smrg      <and>
16067ec681f3Smrg        <eq left="replicate0" right="#b0123"/>
16077ec681f3Smrg        <neq left="replicate1" right="#b0123"/>
16087ec681f3Smrg      </and>
16097ec681f3Smrg      <derived start="9" size="2">
16107ec681f3Smrg        <eq left="replicate1" right="#b0000"/>
16117ec681f3Smrg        <eq left="replicate1" right="#b1111"/>
16127ec681f3Smrg        <eq left="replicate1" right="#b2222"/>
16137ec681f3Smrg        <eq left="replicate1" right="#b3333"/>
16147ec681f3Smrg      </derived>
16157ec681f3Smrg    </encoding>
16167ec681f3Smrg  </ins>
16177ec681f3Smrg
16187ec681f3Smrg  <ins name="*IMULD" mask="0x7fff80" exact="0x70f100">
16197ec681f3Smrg    <src start="0" mask="0x33"/>
16207ec681f3Smrg    <src start="3" mask="0x33"/>
16217ec681f3Smrg    <mod name="threads" start="6" size="1" default="odd">
16227ec681f3Smrg      <opt>even</opt>
16237ec681f3Smrg      <opt>odd</opt>
16247ec681f3Smrg    </mod>
16257ec681f3Smrg  </ins>
16267ec681f3Smrg
16277ec681f3Smrg  <ins name="*ISUBB.i32" mask="0x7ffe00" exact="0x27fe00">
16287ec681f3Smrg    <src start="0" mask="0xfb"/>
16297ec681f3Smrg    <src start="3" mask="0xfb"/>
16307ec681f3Smrg    <src start="6"/>
16317ec681f3Smrg  </ins>
16327ec681f3Smrg
16337ec681f3Smrg  <ins name="*JUMP_EX" mask="0x7ff000" exact="0x2eb000" last="true">
16347ec681f3Smrg    <src start="0" mask="0xfb"/>
16357ec681f3Smrg    <src start="3" mask="0xfb"/>
16367ec681f3Smrg    <src start="6"/>
16377ec681f3Smrg    <mod name="test_mode" start="9" size="1" default="z">
16387ec681f3Smrg      <opt>z</opt>
16397ec681f3Smrg      <opt>nz</opt>
16407ec681f3Smrg    </mod>
16417ec681f3Smrg    <mod name="stack_mode" start="10" size="2">
16427ec681f3Smrg      <opt>return</opt>
16437ec681f3Smrg      <opt>call</opt>
16447ec681f3Smrg      <opt>none</opt>
16457ec681f3Smrg      <opt>replace</opt>
16467ec681f3Smrg    </mod>
16477ec681f3Smrg  </ins>
16487ec681f3Smrg
16497ec681f3Smrg  <ins name="*LROT_DOUBLE.i32" mask="0x7ff000" exact="0x33b000">
16507ec681f3Smrg    <src start="0" mask="0xfb"/>
16517ec681f3Smrg    <src start="3" mask="0xfb"/>
16527ec681f3Smrg    <src start="6"/>
16537ec681f3Smrg    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
16547ec681f3Smrg    <mod name="lane2" start="10" size="1" default="b0">
16557ec681f3Smrg      <opt>b0</opt>
16567ec681f3Smrg      <opt>b2</opt>
16577ec681f3Smrg    </mod>
16587ec681f3Smrg    <mod name="result_word" start="11" size="1" default="w0">
16597ec681f3Smrg      <opt>w0</opt>
16607ec681f3Smrg      <opt>w1</opt>
16617ec681f3Smrg    </mod>
16627ec681f3Smrg  </ins>
16637ec681f3Smrg
16647ec681f3Smrg  <ins name="*LSHIFT_AND.i32" mask="0x7f3800" exact="0x311000">
16657ec681f3Smrg    <src start="0" mask="0xfb"/>
16667ec681f3Smrg    <src start="3" mask="0xfb"/>
16677ec681f3Smrg    <src start="6"/>
16687ec681f3Smrg    <mod name="lane2" start="9" size="2" default="b0">
16697ec681f3Smrg      <opt>b0</opt>
16707ec681f3Smrg      <opt>b1</opt>
16717ec681f3Smrg      <opt>b2</opt>
16727ec681f3Smrg      <opt>b3</opt>
16737ec681f3Smrg    </mod>
16747ec681f3Smrg    <mod name="not1" start="14" size="1" opt="not"/>
16757ec681f3Smrg    <mod name="not_result" start="15" size="1">
16767ec681f3Smrg      <opt>not</opt>
16777ec681f3Smrg      <opt>none</opt>
16787ec681f3Smrg    </mod>
16797ec681f3Smrg  </ins>
16807ec681f3Smrg
16817ec681f3Smrg  <ins name="*LSHIFT_AND.v2i16">
16827ec681f3Smrg    <src start="0" mask="0xfb"/>
16837ec681f3Smrg    <src start="3" mask="0xfb"/>
16847ec681f3Smrg    <src start="6"/>
16857ec681f3Smrg    <mod name="lanes2" size="3" default="b02">
16867ec681f3Smrg      <opt>b00</opt>
16877ec681f3Smrg      <opt>b11</opt>
16887ec681f3Smrg      <opt>b22</opt>
16897ec681f3Smrg      <opt>b33</opt>
16907ec681f3Smrg      <opt>b01</opt>
16917ec681f3Smrg      <opt>b23</opt>
16927ec681f3Smrg      <opt>b02</opt>
16937ec681f3Smrg    </mod>
16947ec681f3Smrg    <mod name="not1" start="14" size="1" opt="not"/>
16957ec681f3Smrg    <mod name="not_result" start="15" size="1">
16967ec681f3Smrg      <opt>not</opt>
16977ec681f3Smrg      <opt>none</opt>
16987ec681f3Smrg    </mod>
16997ec681f3Smrg    <encoding mask="0x7f3800" exact="0x310800">
17007ec681f3Smrg      <or>
17017ec681f3Smrg        <eq left="lanes2" right="#b00"/>
17027ec681f3Smrg        <eq left="lanes2" right="#b11"/>
17037ec681f3Smrg        <eq left="lanes2" right="#b22"/>
17047ec681f3Smrg        <eq left="lanes2" right="#b33"/>
17057ec681f3Smrg      </or>
17067ec681f3Smrg      <derived start="9" size="2">
17077ec681f3Smrg        <eq left="lanes2" right="#b00"/>
17087ec681f3Smrg        <eq left="lanes2" right="#b11"/>
17097ec681f3Smrg        <eq left="lanes2" right="#b22"/>
17107ec681f3Smrg        <eq left="lanes2" right="#b33"/>
17117ec681f3Smrg      </derived>
17127ec681f3Smrg    </encoding>
17137ec681f3Smrg    <encoding mask="0x7f3800" exact="0x311800">
17147ec681f3Smrg      <or>
17157ec681f3Smrg        <eq left="lanes2" right="#b01"/>
17167ec681f3Smrg        <eq left="lanes2" right="#b23"/>
17177ec681f3Smrg        <eq left="lanes2" right="#b02"/>
17187ec681f3Smrg      </or>
17197ec681f3Smrg      <derived start="9" size="2">
17207ec681f3Smrg        <reserved/>
17217ec681f3Smrg        <eq left="lanes2" right="#b01"/>
17227ec681f3Smrg        <eq left="lanes2" right="#b23"/>
17237ec681f3Smrg        <eq left="lanes2" right="#b02"/>
17247ec681f3Smrg      </derived>
17257ec681f3Smrg    </encoding>
17267ec681f3Smrg  </ins>
17277ec681f3Smrg
17287ec681f3Smrg  <ins name="*LSHIFT_AND.v4i8">
17297ec681f3Smrg    <src start="0" mask="0xfb"/>
17307ec681f3Smrg    <src start="3" mask="0xfb"/>
17317ec681f3Smrg    <src start="6"/>
17327ec681f3Smrg    <mod name="lanes2" size="3" default="b0123">
17337ec681f3Smrg      <opt>b0123</opt>
17347ec681f3Smrg      <opt>b0000</opt>
17357ec681f3Smrg      <opt>b1111</opt>
17367ec681f3Smrg      <opt>b2222</opt>
17377ec681f3Smrg      <opt>b3333</opt>
17387ec681f3Smrg    </mod>
17397ec681f3Smrg    <mod name="not1" start="14" size="1" opt="not"/>
17407ec681f3Smrg    <mod name="not_result" start="15" size="1">
17417ec681f3Smrg      <opt>not</opt>
17427ec681f3Smrg      <opt>none</opt>
17437ec681f3Smrg    </mod>
17447ec681f3Smrg    <encoding mask="0x7f3800" exact="0x310000">
17457ec681f3Smrg      <neq left="lanes2" right="#b0123"/>
17467ec681f3Smrg      <derived start="9" size="2">
17477ec681f3Smrg        <eq left="lanes2" right="#b0000"/>
17487ec681f3Smrg        <eq left="lanes2" right="#b1111"/>
17497ec681f3Smrg        <eq left="lanes2" right="#b2222"/>
17507ec681f3Smrg        <eq left="lanes2" right="#b3333"/>
17517ec681f3Smrg      </derived>
17527ec681f3Smrg    </encoding>
17537ec681f3Smrg    <encoding mask="0x7f3e00" exact="0x311800">
17547ec681f3Smrg      <eq left="lanes2" right="#b0123"/>
17557ec681f3Smrg    </encoding>
17567ec681f3Smrg  </ins>
17577ec681f3Smrg
17587ec681f3Smrg  <ins name="*LSHIFT_DOUBLE.i32" mask="0x7ff000" exact="0x33c000">
17597ec681f3Smrg    <src start="0" mask="0xfb"/>
17607ec681f3Smrg    <src start="3" mask="0xfb"/>
17617ec681f3Smrg    <src start="6"/>
17627ec681f3Smrg    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
17637ec681f3Smrg    <mod name="lane2" start="10" size="1" default="b0">
17647ec681f3Smrg      <opt>b0</opt>
17657ec681f3Smrg      <opt>b2</opt>
17667ec681f3Smrg    </mod>
17677ec681f3Smrg    <mod name="result_word" start="11" size="1" default="w0">
17687ec681f3Smrg      <opt>w0</opt>
17697ec681f3Smrg      <opt>w1</opt>
17707ec681f3Smrg    </mod>
17717ec681f3Smrg  </ins>
17727ec681f3Smrg
17737ec681f3Smrg  <ins name="*LSHIFT_OR.i32" mask="0x7f3800" exact="0x313000">
17747ec681f3Smrg    <src start="0" mask="0xfb"/>
17757ec681f3Smrg    <src start="3" mask="0xfb"/>
17767ec681f3Smrg    <src start="6"/>
17777ec681f3Smrg    <mod name="lane2" start="9" size="2" default="b0">
17787ec681f3Smrg      <opt>b0</opt>
17797ec681f3Smrg      <opt>b1</opt>
17807ec681f3Smrg      <opt>b2</opt>
17817ec681f3Smrg      <opt>b3</opt>
17827ec681f3Smrg    </mod>
17837ec681f3Smrg    <mod name="not1" start="14" size="1">
17847ec681f3Smrg      <opt>not</opt>
17857ec681f3Smrg      <opt>none</opt>
17867ec681f3Smrg    </mod>
17877ec681f3Smrg    <mod name="not_result" start="15" size="1" opt="not"/>
17887ec681f3Smrg  </ins>
17897ec681f3Smrg
17907ec681f3Smrg  <ins name="*LSHIFT_OR.v2i16">
17917ec681f3Smrg    <src start="0" mask="0xfb"/>
17927ec681f3Smrg    <src start="3" mask="0xfb"/>
17937ec681f3Smrg    <src start="6"/>
17947ec681f3Smrg    <mod name="lanes2" size="3" default="b02">
17957ec681f3Smrg      <opt>b00</opt>
17967ec681f3Smrg      <opt>b11</opt>
17977ec681f3Smrg      <opt>b22</opt>
17987ec681f3Smrg      <opt>b33</opt>
17997ec681f3Smrg      <opt>b01</opt>
18007ec681f3Smrg      <opt>b23</opt>
18017ec681f3Smrg      <opt>b02</opt>
18027ec681f3Smrg    </mod>
18037ec681f3Smrg    <mod name="not1" start="14" size="1">
18047ec681f3Smrg      <opt>not</opt>
18057ec681f3Smrg      <opt>none</opt>
18067ec681f3Smrg    </mod>
18077ec681f3Smrg    <mod name="not_result" start="15" size="1" opt="not"/>
18087ec681f3Smrg    <encoding mask="0x7f3800" exact="0x312800">
18097ec681f3Smrg      <or>
18107ec681f3Smrg        <eq left="lanes2" right="#b00"/>
18117ec681f3Smrg        <eq left="lanes2" right="#b11"/>
18127ec681f3Smrg        <eq left="lanes2" right="#b22"/>
18137ec681f3Smrg        <eq left="lanes2" right="#b33"/>
18147ec681f3Smrg      </or>
18157ec681f3Smrg      <derived start="9" size="2">
18167ec681f3Smrg        <eq left="lanes2" right="#b00"/>
18177ec681f3Smrg        <eq left="lanes2" right="#b11"/>
18187ec681f3Smrg        <eq left="lanes2" right="#b22"/>
18197ec681f3Smrg        <eq left="lanes2" right="#b33"/>
18207ec681f3Smrg      </derived>
18217ec681f3Smrg    </encoding>
18227ec681f3Smrg    <encoding mask="0x7f3800" exact="0x313800">
18237ec681f3Smrg      <or>
18247ec681f3Smrg        <eq left="lanes2" right="#b01"/>
18257ec681f3Smrg        <eq left="lanes2" right="#b23"/>
18267ec681f3Smrg        <eq left="lanes2" right="#b02"/>
18277ec681f3Smrg      </or>
18287ec681f3Smrg      <derived start="9" size="2">
18297ec681f3Smrg        <reserved/>
18307ec681f3Smrg        <eq left="lanes2" right="#b01"/>
18317ec681f3Smrg        <eq left="lanes2" right="#b23"/>
18327ec681f3Smrg        <eq left="lanes2" right="#b02"/>
18337ec681f3Smrg      </derived>
18347ec681f3Smrg    </encoding>
18357ec681f3Smrg  </ins>
18367ec681f3Smrg
18377ec681f3Smrg  <ins name="*LSHIFT_OR.v4i8">
18387ec681f3Smrg    <src start="0" mask="0xfb"/>
18397ec681f3Smrg    <src start="3" mask="0xfb"/>
18407ec681f3Smrg    <src start="6"/>
18417ec681f3Smrg    <mod name="lanes2" size="3" default="b0123">
18427ec681f3Smrg      <opt>b0123</opt>
18437ec681f3Smrg      <opt>b0000</opt>
18447ec681f3Smrg      <opt>b1111</opt>
18457ec681f3Smrg      <opt>b2222</opt>
18467ec681f3Smrg      <opt>b3333</opt>
18477ec681f3Smrg    </mod>
18487ec681f3Smrg    <mod name="not1" start="14" size="1">
18497ec681f3Smrg      <opt>not</opt>
18507ec681f3Smrg      <opt>none</opt>
18517ec681f3Smrg    </mod>
18527ec681f3Smrg    <mod name="not_result" start="15" size="1" opt="not"/>
18537ec681f3Smrg    <encoding mask="0x7f3800" exact="0x312000">
18547ec681f3Smrg      <neq left="lanes2" right="#b0123"/>
18557ec681f3Smrg      <derived start="9" size="2">
18567ec681f3Smrg        <eq left="lanes2" right="#b0000"/>
18577ec681f3Smrg        <eq left="lanes2" right="#b1111"/>
18587ec681f3Smrg        <eq left="lanes2" right="#b2222"/>
18597ec681f3Smrg        <eq left="lanes2" right="#b3333"/>
18607ec681f3Smrg      </derived>
18617ec681f3Smrg    </encoding>
18627ec681f3Smrg    <encoding mask="0x7f3e00" exact="0x313800">
18637ec681f3Smrg      <eq left="lanes2" right="#b0123"/>
18647ec681f3Smrg    </encoding>
18657ec681f3Smrg  </ins>
18667ec681f3Smrg
18677ec681f3Smrg  <ins name="*LSHIFT_XOR.i32" mask="0x7fd800" exact="0x325000">
18687ec681f3Smrg    <src start="0" mask="0xfb"/>
18697ec681f3Smrg    <src start="3" mask="0xfb"/>
18707ec681f3Smrg    <src start="6"/>
18717ec681f3Smrg    <mod name="lane2" start="9" size="2" default="b0">
18727ec681f3Smrg      <opt>b0</opt>
18737ec681f3Smrg      <opt>b1</opt>
18747ec681f3Smrg      <opt>b2</opt>
18757ec681f3Smrg      <opt>b3</opt>
18767ec681f3Smrg    </mod>
18777ec681f3Smrg    <mod name="not_result" start="13" size="1" opt="not"/>
18787ec681f3Smrg  </ins>
18797ec681f3Smrg
18807ec681f3Smrg  <ins name="*LSHIFT_XOR.v2i16">
18817ec681f3Smrg    <src start="0" mask="0xfb"/>
18827ec681f3Smrg    <src start="3" mask="0xfb"/>
18837ec681f3Smrg    <src start="6"/>
18847ec681f3Smrg    <mod name="lanes2" size="3" default="b02">
18857ec681f3Smrg      <opt>b00</opt>
18867ec681f3Smrg      <opt>b11</opt>
18877ec681f3Smrg      <opt>b22</opt>
18887ec681f3Smrg      <opt>b33</opt>
18897ec681f3Smrg      <opt>b01</opt>
18907ec681f3Smrg      <opt>b23</opt>
18917ec681f3Smrg      <opt>b02</opt>
18927ec681f3Smrg    </mod>
18937ec681f3Smrg    <mod name="not_result" start="13" size="1" opt="not"/>
18947ec681f3Smrg    <encoding mask="0x7fd800" exact="0x324800">
18957ec681f3Smrg      <or>
18967ec681f3Smrg        <eq left="lanes2" right="#b00"/>
18977ec681f3Smrg        <eq left="lanes2" right="#b11"/>
18987ec681f3Smrg        <eq left="lanes2" right="#b22"/>
18997ec681f3Smrg        <eq left="lanes2" right="#b33"/>
19007ec681f3Smrg      </or>
19017ec681f3Smrg      <derived start="9" size="2">
19027ec681f3Smrg        <eq left="lanes2" right="#b00"/>
19037ec681f3Smrg        <eq left="lanes2" right="#b11"/>
19047ec681f3Smrg        <eq left="lanes2" right="#b22"/>
19057ec681f3Smrg        <eq left="lanes2" right="#b33"/>
19067ec681f3Smrg      </derived>
19077ec681f3Smrg    </encoding>
19087ec681f3Smrg    <encoding mask="0x7fd800" exact="0x325800">
19097ec681f3Smrg      <or>
19107ec681f3Smrg        <eq left="lanes2" right="#b01"/>
19117ec681f3Smrg        <eq left="lanes2" right="#b23"/>
19127ec681f3Smrg        <eq left="lanes2" right="#b02"/>
19137ec681f3Smrg      </or>
19147ec681f3Smrg      <derived start="9" size="2">
19157ec681f3Smrg        <reserved/>
19167ec681f3Smrg        <eq left="lanes2" right="#b01"/>
19177ec681f3Smrg        <eq left="lanes2" right="#b23"/>
19187ec681f3Smrg        <eq left="lanes2" right="#b02"/>
19197ec681f3Smrg      </derived>
19207ec681f3Smrg    </encoding>
19217ec681f3Smrg  </ins>
19227ec681f3Smrg
19237ec681f3Smrg  <ins name="*LSHIFT_XOR.v4i8">
19247ec681f3Smrg    <src start="0" mask="0xfb"/>
19257ec681f3Smrg    <src start="3" mask="0xfb"/>
19267ec681f3Smrg    <src start="6"/>
19277ec681f3Smrg    <mod name="lanes2" size="3" default="b0123">
19287ec681f3Smrg      <opt>b0123</opt>
19297ec681f3Smrg      <opt>b0000</opt>
19307ec681f3Smrg      <opt>b1111</opt>
19317ec681f3Smrg      <opt>b2222</opt>
19327ec681f3Smrg      <opt>b3333</opt>
19337ec681f3Smrg    </mod>
19347ec681f3Smrg    <mod name="not_result" start="13" size="1" opt="not"/>
19357ec681f3Smrg    <encoding mask="0x7fd800" exact="0x324000">
19367ec681f3Smrg      <neq left="lanes2" right="#b0123"/>
19377ec681f3Smrg      <derived start="9" size="2">
19387ec681f3Smrg        <eq left="lanes2" right="#b0000"/>
19397ec681f3Smrg        <eq left="lanes2" right="#b1111"/>
19407ec681f3Smrg        <eq left="lanes2" right="#b2222"/>
19417ec681f3Smrg        <eq left="lanes2" right="#b3333"/>
19427ec681f3Smrg      </derived>
19437ec681f3Smrg    </encoding>
19447ec681f3Smrg    <encoding mask="0x7fde00" exact="0x325800">
19457ec681f3Smrg      <eq left="lanes2" right="#b0123"/>
19467ec681f3Smrg    </encoding>
19477ec681f3Smrg  </ins>
19487ec681f3Smrg
19497ec681f3Smrg  <ins name="*MKVEC.v2i16" mask="0x7fff00" exact="0x70f000">
19507ec681f3Smrg    <src start="0" mask="0xfb"/>
19517ec681f3Smrg    <src start="3" mask="0xfb"/>
19527ec681f3Smrg    <mod name="lane0" start="6" size="1" default="h0">
19537ec681f3Smrg      <opt>h0</opt>
19547ec681f3Smrg      <opt>h1</opt>
19557ec681f3Smrg    </mod>
19567ec681f3Smrg    <mod name="lane1" start="7" size="1" default="h0">
19577ec681f3Smrg      <opt>h0</opt>
19587ec681f3Smrg      <opt>h1</opt>
19597ec681f3Smrg    </mod>
19607ec681f3Smrg  </ins>
19617ec681f3Smrg
19627ec681f3Smrg  <ins name="*MKVEC.v4i8" mask="0x7f0000" exact="0x710000">
19637ec681f3Smrg    <src start="0" mask="0xfb"/>
19647ec681f3Smrg    <src start="3" mask="0xfb"/>
19657ec681f3Smrg    <src start="6"/>
19667ec681f3Smrg    <src start="9"/>
19677ec681f3Smrg    <mod name="lane0" start="12" size="1" default="b0">
19687ec681f3Smrg      <opt>b0</opt>
19697ec681f3Smrg      <opt>b2</opt>
19707ec681f3Smrg    </mod>
19717ec681f3Smrg    <mod name="lane1" start="13" size="1" default="b0">
19727ec681f3Smrg      <opt>b0</opt>
19737ec681f3Smrg      <opt>b2</opt>
19747ec681f3Smrg    </mod>
19757ec681f3Smrg    <mod name="lane2" start="14" size="1" default="b0">
19767ec681f3Smrg      <opt>b0</opt>
19777ec681f3Smrg      <opt>b2</opt>
19787ec681f3Smrg    </mod>
19797ec681f3Smrg    <mod name="lane3" start="15" size="1" default="b0">
19807ec681f3Smrg      <opt>b0</opt>
19817ec681f3Smrg      <opt>b2</opt>
19827ec681f3Smrg    </mod>
19837ec681f3Smrg  </ins>
19847ec681f3Smrg
19857ec681f3Smrg  <ins name="*MOV.i32" mask="0x7ffff8" exact="0x701968">
19867ec681f3Smrg    <src start="0" mask="0xfb"/>
19877ec681f3Smrg  </ins>
19887ec681f3Smrg
19897ec681f3Smrg  <ins name="*NOP" mask="0x7fffff" exact="0x701963"/>
19907ec681f3Smrg
19917ec681f3Smrg  <ins name="*POPCOUNT.i32" mask="0x7ffff8" exact="0x73c6d8">
19927ec681f3Smrg    <src start="0" mask="0xfb"/>
19937ec681f3Smrg  </ins>
19947ec681f3Smrg
19957ec681f3Smrg  <ins name="*QUIET.f32" mask="0x7ffff8" exact="0x701970">
19967ec681f3Smrg    <src start="0" mask="0xfb"/>
19977ec681f3Smrg  </ins>
19987ec681f3Smrg
19997ec681f3Smrg  <ins name="*QUIET.v2f16" mask="0x7fffc8" exact="0x701900">
20007ec681f3Smrg    <src start="0" mask="0xfb"/>
20017ec681f3Smrg    <mod name="swz0" start="4" size="2" default="h01">
20027ec681f3Smrg      <opt>h00</opt>
20037ec681f3Smrg      <opt>h10</opt>
20047ec681f3Smrg      <opt>h01</opt>
20057ec681f3Smrg      <opt>h11</opt>
20067ec681f3Smrg    </mod>
20077ec681f3Smrg  </ins>
20087ec681f3Smrg
20097ec681f3Smrg  <ins name="*RROT_DOUBLE.i32" mask="0x7ff000" exact="0x33a000">
20107ec681f3Smrg    <src start="0" mask="0xfb"/>
20117ec681f3Smrg    <src start="3" mask="0xfb"/>
20127ec681f3Smrg    <src start="6"/>
20137ec681f3Smrg    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
20147ec681f3Smrg    <mod name="lane2" start="10" size="1" default="b0">
20157ec681f3Smrg      <opt>b0</opt>
20167ec681f3Smrg      <opt>b2</opt>
20177ec681f3Smrg    </mod>
20187ec681f3Smrg    <mod name="result_word" start="11" size="1" default="w0">
20197ec681f3Smrg      <opt>w0</opt>
20207ec681f3Smrg      <opt>w1</opt>
20217ec681f3Smrg    </mod>
20227ec681f3Smrg  </ins>
20237ec681f3Smrg
20247ec681f3Smrg  <ins name="*RSHIFT_AND.i32" mask="0x7f3800" exact="0x301000">
20257ec681f3Smrg    <src start="0" mask="0xfb"/>
20267ec681f3Smrg    <src start="3" mask="0xfb"/>
20277ec681f3Smrg    <src start="6"/>
20287ec681f3Smrg    <mod name="lane2" start="9" size="2" default="b0">
20297ec681f3Smrg      <opt>b0</opt>
20307ec681f3Smrg      <opt>b1</opt>
20317ec681f3Smrg      <opt>b2</opt>
20327ec681f3Smrg      <opt>b3</opt>
20337ec681f3Smrg    </mod>
20347ec681f3Smrg    <mod name="not1" start="14" size="1" opt="not"/>
20357ec681f3Smrg    <mod name="not_result" start="15" size="1">
20367ec681f3Smrg      <opt>not</opt>
20377ec681f3Smrg      <opt>none</opt>
20387ec681f3Smrg    </mod>
20397ec681f3Smrg  </ins>
20407ec681f3Smrg
20417ec681f3Smrg  <ins name="*RSHIFT_AND.v2i16">
20427ec681f3Smrg    <src start="0" mask="0xfb"/>
20437ec681f3Smrg    <src start="3" mask="0xfb"/>
20447ec681f3Smrg    <src start="6"/>
20457ec681f3Smrg    <mod name="lanes2" size="3" default="b02">
20467ec681f3Smrg      <opt>b00</opt>
20477ec681f3Smrg      <opt>b11</opt>
20487ec681f3Smrg      <opt>b22</opt>
20497ec681f3Smrg      <opt>b33</opt>
20507ec681f3Smrg      <opt>b01</opt>
20517ec681f3Smrg      <opt>b23</opt>
20527ec681f3Smrg      <opt>b02</opt>
20537ec681f3Smrg    </mod>
20547ec681f3Smrg    <mod name="not1" start="14" size="1" opt="not"/>
20557ec681f3Smrg    <mod name="not_result" start="15" size="1">
20567ec681f3Smrg      <opt>not</opt>
20577ec681f3Smrg      <opt>none</opt>
20587ec681f3Smrg    </mod>
20597ec681f3Smrg    <encoding mask="0x7f3800" exact="0x300800">
20607ec681f3Smrg      <or>
20617ec681f3Smrg        <eq left="lanes2" right="#b00"/>
20627ec681f3Smrg        <eq left="lanes2" right="#b11"/>
20637ec681f3Smrg        <eq left="lanes2" right="#b22"/>
20647ec681f3Smrg        <eq left="lanes2" right="#b33"/>
20657ec681f3Smrg      </or>
20667ec681f3Smrg      <derived start="9" size="2">
20677ec681f3Smrg        <eq left="lanes2" right="#b00"/>
20687ec681f3Smrg        <eq left="lanes2" right="#b11"/>
20697ec681f3Smrg        <eq left="lanes2" right="#b22"/>
20707ec681f3Smrg        <eq left="lanes2" right="#b33"/>
20717ec681f3Smrg      </derived>
20727ec681f3Smrg    </encoding>
20737ec681f3Smrg    <encoding mask="0x7f3800" exact="0x301800">
20747ec681f3Smrg      <or>
20757ec681f3Smrg        <eq left="lanes2" right="#b01"/>
20767ec681f3Smrg        <eq left="lanes2" right="#b23"/>
20777ec681f3Smrg        <eq left="lanes2" right="#b02"/>
20787ec681f3Smrg      </or>
20797ec681f3Smrg      <derived start="9" size="2">
20807ec681f3Smrg        <reserved/>
20817ec681f3Smrg        <eq left="lanes2" right="#b01"/>
20827ec681f3Smrg        <eq left="lanes2" right="#b23"/>
20837ec681f3Smrg        <eq left="lanes2" right="#b02"/>
20847ec681f3Smrg      </derived>
20857ec681f3Smrg    </encoding>
20867ec681f3Smrg  </ins>
20877ec681f3Smrg
20887ec681f3Smrg  <ins name="*RSHIFT_AND.v4i8">
20897ec681f3Smrg    <src start="0" mask="0xfb"/>
20907ec681f3Smrg    <src start="3" mask="0xfb"/>
20917ec681f3Smrg    <src start="6"/>
20927ec681f3Smrg    <mod name="lanes2" size="3" default="b0123">
20937ec681f3Smrg      <opt>b0123</opt>
20947ec681f3Smrg      <opt>b0000</opt>
20957ec681f3Smrg      <opt>b1111</opt>
20967ec681f3Smrg      <opt>b2222</opt>
20977ec681f3Smrg      <opt>b3333</opt>
20987ec681f3Smrg    </mod>
20997ec681f3Smrg    <mod name="not1" start="14" size="1" opt="not"/>
21007ec681f3Smrg    <mod name="not_result" start="15" size="1">
21017ec681f3Smrg      <opt>not</opt>
21027ec681f3Smrg      <opt>none</opt>
21037ec681f3Smrg    </mod>
21047ec681f3Smrg    <encoding mask="0x7f3800" exact="0x300000">
21057ec681f3Smrg      <neq left="lanes2" right="#b0123"/>
21067ec681f3Smrg      <derived start="9" size="2">
21077ec681f3Smrg        <eq left="lanes2" right="#b0000"/>
21087ec681f3Smrg        <eq left="lanes2" right="#b1111"/>
21097ec681f3Smrg        <eq left="lanes2" right="#b2222"/>
21107ec681f3Smrg        <eq left="lanes2" right="#b3333"/>
21117ec681f3Smrg      </derived>
21127ec681f3Smrg    </encoding>
21137ec681f3Smrg    <encoding mask="0x7f3e00" exact="0x301800">
21147ec681f3Smrg      <eq left="lanes2" right="#b0123"/>
21157ec681f3Smrg    </encoding>
21167ec681f3Smrg  </ins>
21177ec681f3Smrg
21187ec681f3Smrg  <ins name="*RSHIFT_DOUBLE.i32" mask="0x7ff000" exact="0x33d000">
21197ec681f3Smrg    <src start="0" mask="0xfb"/>
21207ec681f3Smrg    <src start="3" mask="0xfb"/>
21217ec681f3Smrg    <src start="6"/>
21227ec681f3Smrg    <mod name="bytes2" start="9" size="1" opt="bytes2"/>
21237ec681f3Smrg    <mod name="lane2" start="10" size="1" default="b0">
21247ec681f3Smrg      <opt>b0</opt>
21257ec681f3Smrg      <opt>b2</opt>
21267ec681f3Smrg    </mod>
21277ec681f3Smrg    <mod name="result_word" start="11" size="1" default="w0">
21287ec681f3Smrg      <opt>w0</opt>
21297ec681f3Smrg      <opt>w1</opt>
21307ec681f3Smrg    </mod>
21317ec681f3Smrg  </ins>
21327ec681f3Smrg
21337ec681f3Smrg  <ins name="*RSHIFT_OR.i32" mask="0x7f3800" exact="0x303000">
21347ec681f3Smrg    <src start="0" mask="0xfb"/>
21357ec681f3Smrg    <src start="3" mask="0xfb"/>
21367ec681f3Smrg    <src start="6"/>
21377ec681f3Smrg    <mod name="lane2" start="9" size="2" default="b0">
21387ec681f3Smrg      <opt>b0</opt>
21397ec681f3Smrg      <opt>b1</opt>
21407ec681f3Smrg      <opt>b2</opt>
21417ec681f3Smrg      <opt>b3</opt>
21427ec681f3Smrg    </mod>
21437ec681f3Smrg    <mod name="not1" start="14" size="1">
21447ec681f3Smrg      <opt>not</opt>
21457ec681f3Smrg      <opt>none</opt>
21467ec681f3Smrg    </mod>
21477ec681f3Smrg    <mod name="not_result" start="15" size="1" opt="not"/>
21487ec681f3Smrg  </ins>
21497ec681f3Smrg
21507ec681f3Smrg  <ins name="*RSHIFT_OR.v2i16">
21517ec681f3Smrg    <src start="0" mask="0xfb"/>
21527ec681f3Smrg    <src start="3" mask="0xfb"/>
21537ec681f3Smrg    <src start="6"/>
21547ec681f3Smrg    <mod name="lanes2" size="3" default="b02">
21557ec681f3Smrg      <opt>b00</opt>
21567ec681f3Smrg      <opt>b11</opt>
21577ec681f3Smrg      <opt>b22</opt>
21587ec681f3Smrg      <opt>b33</opt>
21597ec681f3Smrg      <opt>b01</opt>
21607ec681f3Smrg      <opt>b23</opt>
21617ec681f3Smrg      <opt>b02</opt>
21627ec681f3Smrg    </mod>
21637ec681f3Smrg    <mod name="not1" start="14" size="1">
21647ec681f3Smrg      <opt>not</opt>
21657ec681f3Smrg      <opt>none</opt>
21667ec681f3Smrg    </mod>
21677ec681f3Smrg    <mod name="not_result" start="15" size="1" opt="not"/>
21687ec681f3Smrg    <encoding mask="0x7f3800" exact="0x302800">
21697ec681f3Smrg      <or>
21707ec681f3Smrg        <eq left="lanes2" right="#b00"/>
21717ec681f3Smrg        <eq left="lanes2" right="#b11"/>
21727ec681f3Smrg        <eq left="lanes2" right="#b22"/>
21737ec681f3Smrg        <eq left="lanes2" right="#b33"/>
21747ec681f3Smrg      </or>
21757ec681f3Smrg      <derived start="9" size="2">
21767ec681f3Smrg        <eq left="lanes2" right="#b00"/>
21777ec681f3Smrg        <eq left="lanes2" right="#b11"/>
21787ec681f3Smrg        <eq left="lanes2" right="#b22"/>
21797ec681f3Smrg        <eq left="lanes2" right="#b33"/>
21807ec681f3Smrg      </derived>
21817ec681f3Smrg    </encoding>
21827ec681f3Smrg    <encoding mask="0x7f3800" exact="0x303800">
21837ec681f3Smrg      <or>
21847ec681f3Smrg        <eq left="lanes2" right="#b01"/>
21857ec681f3Smrg        <eq left="lanes2" right="#b23"/>
21867ec681f3Smrg        <eq left="lanes2" right="#b02"/>
21877ec681f3Smrg      </or>
21887ec681f3Smrg      <derived start="9" size="2">
21897ec681f3Smrg        <reserved/>
21907ec681f3Smrg        <eq left="lanes2" right="#b01"/>
21917ec681f3Smrg        <eq left="lanes2" right="#b23"/>
21927ec681f3Smrg        <eq left="lanes2" right="#b02"/>
21937ec681f3Smrg      </derived>
21947ec681f3Smrg    </encoding>
21957ec681f3Smrg  </ins>
21967ec681f3Smrg
21977ec681f3Smrg  <ins name="*RSHIFT_OR.v4i8">
21987ec681f3Smrg    <src start="0" mask="0xfb"/>
21997ec681f3Smrg    <src start="3" mask="0xfb"/>
22007ec681f3Smrg    <src start="6"/>
22017ec681f3Smrg    <mod name="lanes2" size="3" default="b0123">
22027ec681f3Smrg      <opt>b0123</opt>
22037ec681f3Smrg      <opt>b0000</opt>
22047ec681f3Smrg      <opt>b1111</opt>
22057ec681f3Smrg      <opt>b2222</opt>
22067ec681f3Smrg      <opt>b3333</opt>
22077ec681f3Smrg    </mod>
22087ec681f3Smrg    <mod name="not1" start="14" size="1">
22097ec681f3Smrg      <opt>not</opt>
22107ec681f3Smrg      <opt>none</opt>
22117ec681f3Smrg    </mod>
22127ec681f3Smrg    <mod name="not_result" start="15" size="1" opt="not"/>
22137ec681f3Smrg    <encoding mask="0x7f3800" exact="0x302000">
22147ec681f3Smrg      <neq left="lanes2" right="#b0123"/>
22157ec681f3Smrg      <derived start="9" size="2">
22167ec681f3Smrg        <eq left="lanes2" right="#b0000"/>
22177ec681f3Smrg        <eq left="lanes2" right="#b1111"/>
22187ec681f3Smrg        <eq left="lanes2" right="#b2222"/>
22197ec681f3Smrg        <eq left="lanes2" right="#b3333"/>
22207ec681f3Smrg      </derived>
22217ec681f3Smrg    </encoding>
22227ec681f3Smrg    <encoding mask="0x7f3e00" exact="0x303800">
22237ec681f3Smrg      <eq left="lanes2" right="#b0123"/>
22247ec681f3Smrg    </encoding>
22257ec681f3Smrg  </ins>
22267ec681f3Smrg
22277ec681f3Smrg  <ins name="*RSHIFT_XOR.i32" mask="0x7fd800" exact="0x321000">
22287ec681f3Smrg    <src start="0" mask="0xfb"/>
22297ec681f3Smrg    <src start="3" mask="0xfb"/>
22307ec681f3Smrg    <src start="6"/>
22317ec681f3Smrg    <mod name="lane2" start="9" size="2" default="b0">
22327ec681f3Smrg      <opt>b0</opt>
22337ec681f3Smrg      <opt>b1</opt>
22347ec681f3Smrg      <opt>b2</opt>
22357ec681f3Smrg      <opt>b3</opt>
22367ec681f3Smrg    </mod>
22377ec681f3Smrg    <mod name="not_result" start="13" size="1" opt="not"/>
22387ec681f3Smrg  </ins>
22397ec681f3Smrg
22407ec681f3Smrg  <ins name="*RSHIFT_XOR.v2i16">
22417ec681f3Smrg    <src start="0" mask="0xfb"/>
22427ec681f3Smrg    <src start="3" mask="0xfb"/>
22437ec681f3Smrg    <src start="6"/>
22447ec681f3Smrg    <mod name="lanes2" size="3" default="b02">
22457ec681f3Smrg      <opt>b00</opt>
22467ec681f3Smrg      <opt>b11</opt>
22477ec681f3Smrg      <opt>b22</opt>
22487ec681f3Smrg      <opt>b33</opt>
22497ec681f3Smrg      <opt>b01</opt>
22507ec681f3Smrg      <opt>b23</opt>
22517ec681f3Smrg      <opt>b02</opt>
22527ec681f3Smrg    </mod>
22537ec681f3Smrg    <mod name="not_result" start="13" size="1" opt="not"/>
22547ec681f3Smrg    <encoding mask="0x7fd800" exact="0x320800">
22557ec681f3Smrg      <or>
22567ec681f3Smrg        <eq left="lanes2" right="#b00"/>
22577ec681f3Smrg        <eq left="lanes2" right="#b11"/>
22587ec681f3Smrg        <eq left="lanes2" right="#b22"/>
22597ec681f3Smrg        <eq left="lanes2" right="#b33"/>
22607ec681f3Smrg      </or>
22617ec681f3Smrg      <derived start="9" size="2">
22627ec681f3Smrg        <eq left="lanes2" right="#b00"/>
22637ec681f3Smrg        <eq left="lanes2" right="#b11"/>
22647ec681f3Smrg        <eq left="lanes2" right="#b22"/>
22657ec681f3Smrg        <eq left="lanes2" right="#b33"/>
22667ec681f3Smrg      </derived>
22677ec681f3Smrg    </encoding>
22687ec681f3Smrg    <encoding mask="0x7fd800" exact="0x321800">
22697ec681f3Smrg      <or>
22707ec681f3Smrg        <eq left="lanes2" right="#b01"/>
22717ec681f3Smrg        <eq left="lanes2" right="#b23"/>
22727ec681f3Smrg        <eq left="lanes2" right="#b02"/>
22737ec681f3Smrg      </or>
22747ec681f3Smrg      <derived start="9" size="2">
22757ec681f3Smrg        <reserved/>
22767ec681f3Smrg        <eq left="lanes2" right="#b01"/>
22777ec681f3Smrg        <eq left="lanes2" right="#b23"/>
22787ec681f3Smrg        <eq left="lanes2" right="#b02"/>
22797ec681f3Smrg      </derived>
22807ec681f3Smrg    </encoding>
22817ec681f3Smrg  </ins>
22827ec681f3Smrg
22837ec681f3Smrg  <ins name="*RSHIFT_XOR.v4i8">
22847ec681f3Smrg    <src start="0" mask="0xfb"/>
22857ec681f3Smrg    <src start="3" mask="0xfb"/>
22867ec681f3Smrg    <src start="6"/>
22877ec681f3Smrg    <mod name="lanes2" size="3" default="b0123">
22887ec681f3Smrg      <opt>b0123</opt>
22897ec681f3Smrg      <opt>b0000</opt>
22907ec681f3Smrg      <opt>b1111</opt>
22917ec681f3Smrg      <opt>b2222</opt>
22927ec681f3Smrg      <opt>b3333</opt>
22937ec681f3Smrg    </mod>
22947ec681f3Smrg    <mod name="not_result" start="13" size="1" opt="not"/>
22957ec681f3Smrg    <encoding mask="0x7fd800" exact="0x320000">
22967ec681f3Smrg      <neq left="lanes2" right="#b0123"/>
22977ec681f3Smrg      <derived start="9" size="2">
22987ec681f3Smrg        <eq left="lanes2" right="#b0000"/>
22997ec681f3Smrg        <eq left="lanes2" right="#b1111"/>
23007ec681f3Smrg        <eq left="lanes2" right="#b2222"/>
23017ec681f3Smrg        <eq left="lanes2" right="#b3333"/>
23027ec681f3Smrg      </derived>
23037ec681f3Smrg    </encoding>
23047ec681f3Smrg    <encoding mask="0x7fde00" exact="0x321800">
23057ec681f3Smrg      <eq left="lanes2" right="#b0123"/>
23067ec681f3Smrg    </encoding>
23077ec681f3Smrg  </ins>
23087ec681f3Smrg
23097ec681f3Smrg  <ins name="*S16_TO_S32" mask="0x7fffe8" exact="0x700cc0">
23107ec681f3Smrg    <src start="0" mask="0xfb"/>
23117ec681f3Smrg    <mod name="lane0" start="4" size="1" default="h0">
23127ec681f3Smrg      <opt>h0</opt>
23137ec681f3Smrg      <opt>h1</opt>
23147ec681f3Smrg    </mod>
23157ec681f3Smrg  </ins>
23167ec681f3Smrg
23177ec681f3Smrg  <ins name="*S8_TO_S32" mask="0x7fffc8" exact="0x700b40">
23187ec681f3Smrg    <src start="0" mask="0xfb"/>
23197ec681f3Smrg    <mod name="lane0" start="4" size="2" default="b0">
23207ec681f3Smrg      <opt>b0</opt>
23217ec681f3Smrg      <opt>b1</opt>
23227ec681f3Smrg      <opt>b2</opt>
23237ec681f3Smrg      <opt>b3</opt>
23247ec681f3Smrg    </mod>
23257ec681f3Smrg  </ins>
23267ec681f3Smrg
23277ec681f3Smrg  <ins name="*SEG_ADD" mask="0x7fff40" exact="0x701500">
23287ec681f3Smrg    <src start="0" mask="0xfb"/>
23297ec681f3Smrg    <mod name="seg" start="3" size="3">
23307ec681f3Smrg      <reserved/>
23317ec681f3Smrg      <reserved/>
23327ec681f3Smrg      <opt>wls</opt>
23337ec681f3Smrg      <reserved/>
23347ec681f3Smrg      <reserved/>
23357ec681f3Smrg      <reserved/>
23367ec681f3Smrg      <reserved/>
23377ec681f3Smrg      <opt>tl</opt>
23387ec681f3Smrg    </mod>
23397ec681f3Smrg    <mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
23407ec681f3Smrg  </ins>
23417ec681f3Smrg
23427ec681f3Smrg  <ins name="*SEG_SUB" mask="0x7fff40" exact="0x701540" unused="true">
23437ec681f3Smrg    <src start="0" mask="0xfb"/>
23447ec681f3Smrg    <mod name="seg" start="3" size="3">
23457ec681f3Smrg      <reserved/>
23467ec681f3Smrg      <reserved/>
23477ec681f3Smrg      <opt>wls</opt>
23487ec681f3Smrg      <reserved/>
23497ec681f3Smrg      <reserved/>
23507ec681f3Smrg      <reserved/>
23517ec681f3Smrg      <reserved/>
23527ec681f3Smrg      <opt>tl</opt>
23537ec681f3Smrg    </mod>
23547ec681f3Smrg    <mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
23557ec681f3Smrg  </ins>
23567ec681f3Smrg
23577ec681f3Smrg  <ins name="*SHADDXL.i64" mask="0x7ffe00" exact="0x70e600">
23587ec681f3Smrg    <src start="0" mask="0xfb"/>
23597ec681f3Smrg    <src start="3" mask="0xfb"/>
23607ec681f3Smrg    <immediate name="shift" start="6" size="3"/>
23617ec681f3Smrg  </ins>
23627ec681f3Smrg
23637ec681f3Smrg  <ins name="*SHADDXL.s32" mask="0x7ff800" exact="0x70e800">
23647ec681f3Smrg    <src start="0" mask="0xfb"/>
23657ec681f3Smrg    <src start="3" mask="0xfb"/>
23667ec681f3Smrg    <immediate name="shift" start="6" size="3"/>
23677ec681f3Smrg    <mod name="lane1" start="9" size="2">
23687ec681f3Smrg      <opt>h0</opt>
23697ec681f3Smrg      <opt>h1</opt>
23707ec681f3Smrg      <opt>none</opt>
23717ec681f3Smrg    </mod>
23727ec681f3Smrg  </ins>
23737ec681f3Smrg
23747ec681f3Smrg  <ins name="*SHADDXL.u32" mask="0x7ff800" exact="0x70e000">
23757ec681f3Smrg    <src start="0" mask="0xfb"/>
23767ec681f3Smrg    <src start="3" mask="0xfb"/>
23777ec681f3Smrg    <immediate name="shift" start="6" size="3"/>
23787ec681f3Smrg    <mod name="lane1" start="9" size="2">
23797ec681f3Smrg      <opt>h0</opt>
23807ec681f3Smrg      <opt>h1</opt>
23817ec681f3Smrg      <opt>none</opt>
23827ec681f3Smrg    </mod>
23837ec681f3Smrg  </ins>
23847ec681f3Smrg
23857ec681f3Smrg  <ins name="*U16_TO_U32" mask="0x7fffe8" exact="0x700cc8">
23867ec681f3Smrg    <src start="0" mask="0xfb"/>
23877ec681f3Smrg    <mod name="lane0" start="4" size="1" default="h0">
23887ec681f3Smrg      <opt>h0</opt>
23897ec681f3Smrg      <opt>h1</opt>
23907ec681f3Smrg    </mod>
23917ec681f3Smrg  </ins>
23927ec681f3Smrg
23937ec681f3Smrg  <ins name="*U8_TO_U32" mask="0x7fffc8" exact="0x700b48">
23947ec681f3Smrg    <src start="0" mask="0xfb"/>
23957ec681f3Smrg    <mod name="lane0" start="4" size="2" default="b0">
23967ec681f3Smrg      <opt>b0</opt>
23977ec681f3Smrg      <opt>b1</opt>
23987ec681f3Smrg      <opt>b2</opt>
23997ec681f3Smrg      <opt>b3</opt>
24007ec681f3Smrg    </mod>
24017ec681f3Smrg  </ins>
24027ec681f3Smrg
24037ec681f3Smrg  <ins name="*V2F32_TO_V2F16" mask="0x7fe000" exact="0x6e8000">
24047ec681f3Smrg    <src start="0" mask="0xfb"/>
24057ec681f3Smrg    <src start="3" mask="0xfb"/>
24067ec681f3Smrg    <mod name="abs0" size="1" opt="abs"/>
24077ec681f3Smrg    <mod name="abs1" size="1" opt="abs"/>
24087ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
24097ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
24107ec681f3Smrg    <mod name="clamp" start="8" size="2">
24117ec681f3Smrg      <opt>none</opt>
24127ec681f3Smrg      <opt>clamp_0_inf</opt>
24137ec681f3Smrg      <opt>clamp_m1_1</opt>
24147ec681f3Smrg      <opt>clamp_0_1</opt>
24157ec681f3Smrg    </mod>
24167ec681f3Smrg    <mod name="round" start="10" size="3">
24177ec681f3Smrg      <opt>none</opt>
24187ec681f3Smrg      <opt>rtp</opt>
24197ec681f3Smrg      <opt>rtn</opt>
24207ec681f3Smrg      <opt>rtz</opt>
24217ec681f3Smrg      <opt>rtna</opt>
24227ec681f3Smrg    </mod>
24237ec681f3Smrg    <derived start="6" size="1">
24247ec681f3Smrg      <and>
24257ec681f3Smrg        <eq left="abs0" right="#none"/>
24267ec681f3Smrg        <eq left="abs1" right="#none"/>
24277ec681f3Smrg      </and>
24287ec681f3Smrg      <and>
24297ec681f3Smrg        <eq left="abs0" right="#abs"/>
24307ec681f3Smrg        <eq left="abs1" right="#abs"/>
24317ec681f3Smrg      </and>
24327ec681f3Smrg    </derived>
24337ec681f3Smrg    <derived start="7" size="1">
24347ec681f3Smrg      <and>
24357ec681f3Smrg        <eq left="neg0" right="#none"/>
24367ec681f3Smrg        <eq left="neg1" right="#none"/>
24377ec681f3Smrg      </and>
24387ec681f3Smrg      <and>
24397ec681f3Smrg        <eq left="neg0" right="#neg"/>
24407ec681f3Smrg        <eq left="neg1" right="#neg"/>
24417ec681f3Smrg      </and>
24427ec681f3Smrg    </derived>
24437ec681f3Smrg  </ins>
24447ec681f3Smrg
24457ec681f3Smrg  <ins name="*VN_ASST1.f16" mask="0x7ff000" exact="0x6eb000">
24467ec681f3Smrg    <src start="0" mask="0xfb"/>
24477ec681f3Smrg    <src start="3" mask="0xfb"/>
24487ec681f3Smrg    <src start="6"/>
24497ec681f3Smrg    <mod name="h" start="9" size="1" opt="h"/>
24507ec681f3Smrg    <mod name="l" start="10" size="1" opt="l"/>
24517ec681f3Smrg    <mod name="neg2" start="11" size="1" opt="neg"/>
24527ec681f3Smrg  </ins>
24537ec681f3Smrg
24547ec681f3Smrg  <ins name="*VN_ASST1.f32" mask="0x7fe000" exact="0x27c000">
24557ec681f3Smrg    <src start="0" mask="0xfb"/>
24567ec681f3Smrg    <src start="3" mask="0xfb"/>
24577ec681f3Smrg    <src start="6"/>
24587ec681f3Smrg    <src start="9"/>
24597ec681f3Smrg    <mod name="neg2" start="12" size="1" opt="neg"/>
24607ec681f3Smrg  </ins>
24617ec681f3Smrg
24627ec681f3Smrg  <ins name="+ACMPSTORE.i32" staging="r=2" mask="0xffdc0" exact="0x648c0" message="atomic" dests="0">
24637ec681f3Smrg    <src start="0"/>
24647ec681f3Smrg    <src start="3"/>
24657ec681f3Smrg    <mod name="seg" start="9" size="1" opt="wls"/>
24667ec681f3Smrg  </ins>
24677ec681f3Smrg
24687ec681f3Smrg  <ins name="+ACMPSTORE.i64" staging="r=4" mask="0xffdc0" exact="0x64900" message="atomic" dests="0">
24697ec681f3Smrg    <src start="0"/>
24707ec681f3Smrg    <src start="3"/>
24717ec681f3Smrg    <mod name="seg" start="9" size="1" opt="wls"/>
24727ec681f3Smrg  </ins>
24737ec681f3Smrg
24747ec681f3Smrg  <ins name="+ACMPXCHG.i32" staging="rw=2" mask="0xffdc0" exact="0x644c0" message="atomic">
24757ec681f3Smrg    <src start="0"/>
24767ec681f3Smrg    <src start="3"/>
24777ec681f3Smrg    <mod name="seg" start="9" size="1" opt="wls"/>
24787ec681f3Smrg  </ins>
24797ec681f3Smrg
24807ec681f3Smrg  <ins name="+ACMPXCHG.i64" staging="rw=4" mask="0xffdc0" exact="0x64500" message="atomic">
24817ec681f3Smrg    <src start="0"/>
24827ec681f3Smrg    <src start="3"/>
24837ec681f3Smrg    <mod name="seg" start="9" size="1" opt="wls"/>
24847ec681f3Smrg  </ins>
24857ec681f3Smrg
24867ec681f3Smrg  <ins name="+ATEST" staging="w=1" mask="0xfff00" exact="0xc8f00" message="atest" table="true">
24877ec681f3Smrg    <src start="0" mask="0xf7"/>
24887ec681f3Smrg    <src start="3" mask="0xf7"/>
24897ec681f3Smrg    <mod name="widen1" start="6" size="2">
24907ec681f3Smrg      <reserved/>
24917ec681f3Smrg      <opt>none</opt>
24927ec681f3Smrg      <opt>h0</opt>
24937ec681f3Smrg      <opt>h1</opt>
24947ec681f3Smrg    </mod>
24957ec681f3Smrg  </ins>
24967ec681f3Smrg
24977ec681f3Smrg  <ins name="+ATOM_CX" staging="rw=sr_count" mask="0xffe00" exact="0xd7400" message="atomic">
24987ec681f3Smrg    <src start="0"/>
24997ec681f3Smrg    <src start="3"/>
25007ec681f3Smrg    <src start="6"/>
25017ec681f3Smrg    <!-- not actually encoded, but used for IR -->
25027ec681f3Smrg    <immediate name="sr_count" size="4" pseudo="true"/>
25037ec681f3Smrg  </ins>
25047ec681f3Smrg
25057ec681f3Smrg  <ins name="+AXCHG.i32" staging="rw=1" mask="0xffdc0" exact="0x640c0" message="atomic">
25067ec681f3Smrg    <src start="0"/>
25077ec681f3Smrg    <src start="3"/>
25087ec681f3Smrg    <mod name="seg" start="9" size="1" opt="wls"/>
25097ec681f3Smrg  </ins>
25107ec681f3Smrg
25117ec681f3Smrg  <ins name="+AXCHG.i64" staging="rw=2" mask="0xffdc0" exact="0x64100" message="atomic">
25127ec681f3Smrg    <src start="0"/>
25137ec681f3Smrg    <src start="3"/>
25147ec681f3Smrg    <mod name="seg" start="9" size="1" opt="wls"/>
25157ec681f3Smrg  </ins>
25167ec681f3Smrg
25177ec681f3Smrg  <ins name="+BARRIER" mask="0xfffff" exact="0xd7874" message="barrier" last="true" dests="0"/>
25187ec681f3Smrg
25197ec681f3Smrg  <ins name="+BLEND" staging="r=sr_count" mask="0xffe00" exact="0xca800" message="blend" last="true">
25207ec681f3Smrg    <src start="0"/>
25217ec681f3Smrg    <src start="3" mask="0xf7"/>
25227ec681f3Smrg    <src start="6" mask="0xf7"/>
25237ec681f3Smrg    <!-- not actually encoded, but used for IR -->
25247ec681f3Smrg    <immediate name="sr_count" size="4" pseudo="true"/>
25257ec681f3Smrg  </ins>
25267ec681f3Smrg
25277ec681f3Smrg  <ins name="+BRANCH.f16" mask="0xf8000" exact="0x68000" last="true" dests="0">
25287ec681f3Smrg    <src start="0"/>
25297ec681f3Smrg    <src start="3"/>
25307ec681f3Smrg    <src start="6" mask="0xf7"/>
25317ec681f3Smrg    <mod name="widen0" size="2">
25327ec681f3Smrg      <opt>none</opt>
25337ec681f3Smrg      <opt>h0</opt>
25347ec681f3Smrg      <opt>h1</opt>
25357ec681f3Smrg    </mod>
25367ec681f3Smrg    <mod name="widen1" size="2">
25377ec681f3Smrg      <opt>none</opt>
25387ec681f3Smrg      <opt>h0</opt>
25397ec681f3Smrg      <opt>h1</opt>
25407ec681f3Smrg    </mod>
25417ec681f3Smrg    <mod name="cmpf" size="3">
25427ec681f3Smrg      <opt>eq</opt>
25437ec681f3Smrg      <opt>gt</opt>
25447ec681f3Smrg      <opt>ge</opt>
25457ec681f3Smrg      <opt>ne</opt>
25467ec681f3Smrg      <opt>lt</opt>
25477ec681f3Smrg      <opt>le</opt>
25487ec681f3Smrg    </mod>
25497ec681f3Smrg    <derived start="12" size="3">
25507ec681f3Smrg      <reserved/>
25517ec681f3Smrg      <and>
25527ec681f3Smrg        <eq left="widen0" right="#h0"/>
25537ec681f3Smrg        <eq left="widen1" right="#h0"/>
25547ec681f3Smrg      </and>
25557ec681f3Smrg      <and>
25567ec681f3Smrg        <eq left="widen0" right="#h1"/>
25577ec681f3Smrg        <eq left="widen1" right="#h1"/>
25587ec681f3Smrg      </and>
25597ec681f3Smrg      <and>
25607ec681f3Smrg        <eq left="widen0" right="#h1"/>
25617ec681f3Smrg        <eq left="widen1" right="#h0"/>
25627ec681f3Smrg        <or>
25637ec681f3Smrg          <eq left="cmpf" right="#ne"/>
25647ec681f3Smrg          <eq left="cmpf" right="#ge"/>
25657ec681f3Smrg          <eq left="cmpf" right="#le"/>
25667ec681f3Smrg        </or>
25677ec681f3Smrg      </and>
25687ec681f3Smrg      <and>
25697ec681f3Smrg        <eq left="widen0" right="#h1"/>
25707ec681f3Smrg        <eq left="widen1" right="#h0"/>
25717ec681f3Smrg        <or>
25727ec681f3Smrg          <eq left="cmpf" right="#eq"/>
25737ec681f3Smrg          <eq left="cmpf" right="#gt"/>
25747ec681f3Smrg          <eq left="cmpf" right="#lt"/>
25757ec681f3Smrg        </or>
25767ec681f3Smrg      </and>
25777ec681f3Smrg      <reserved/>
25787ec681f3Smrg      <reserved/>
25797ec681f3Smrg      <reserved/>
25807ec681f3Smrg    </derived>
25817ec681f3Smrg    <derived start="9" size="3">
25827ec681f3Smrg      <reserved/>
25837ec681f3Smrg      <reserved/>
25847ec681f3Smrg      <reserved/>
25857ec681f3Smrg      <reserved/>
25867ec681f3Smrg      <and alias="true">
25877ec681f3Smrg        <eq left="widen0" right="widen1"/>
25887ec681f3Smrg        <eq left="ordering" right="#eq"/>
25897ec681f3Smrg        <or>
25907ec681f3Smrg          <eq left="cmpf" right="#gt"/>
25917ec681f3Smrg          <eq left="cmpf" right="#lt"/>
25927ec681f3Smrg        </or>
25937ec681f3Smrg      </and>
25947ec681f3Smrg      <or>
25957ec681f3Smrg        <and>
25967ec681f3Smrg          <eq left="widen0" right="#h1"/>
25977ec681f3Smrg          <eq left="widen1" right="#h0"/>
25987ec681f3Smrg          <or>
25997ec681f3Smrg            <eq left="cmpf" right="#eq"/>
26007ec681f3Smrg            <eq left="cmpf" right="#ne"/>
26017ec681f3Smrg          </or>
26027ec681f3Smrg        </and>
26037ec681f3Smrg        <and>
26047ec681f3Smrg          <eq left="widen0" right="widen1"/>
26057ec681f3Smrg          <eq left="ordering" right="#lt"/>
26067ec681f3Smrg          <eq left="cmpf" right="#eq"/>
26077ec681f3Smrg        </and>
26087ec681f3Smrg        <and>
26097ec681f3Smrg          <eq left="widen0" right="widen1"/>
26107ec681f3Smrg          <neq left="ordering" right="#lt"/>
26117ec681f3Smrg          <eq left="cmpf" right="#ne"/>
26127ec681f3Smrg        </and>
26137ec681f3Smrg      </or>
26147ec681f3Smrg      <or>
26157ec681f3Smrg        <and>
26167ec681f3Smrg          <eq left="widen0" right="#h1"/>
26177ec681f3Smrg          <eq left="widen1" right="#h0"/>
26187ec681f3Smrg          <or>
26197ec681f3Smrg            <eq left="cmpf" right="#gt"/>
26207ec681f3Smrg            <eq left="cmpf" right="#ge"/>
26217ec681f3Smrg          </or>
26227ec681f3Smrg        </and>
26237ec681f3Smrg        <and>
26247ec681f3Smrg          <eq left="widen0" right="widen1"/>
26257ec681f3Smrg          <eq left="ordering" right="#lt"/>
26267ec681f3Smrg          <eq left="cmpf" right="#gt"/>
26277ec681f3Smrg        </and>
26287ec681f3Smrg        <and>
26297ec681f3Smrg          <eq left="widen0" right="widen1"/>
26307ec681f3Smrg          <neq left="ordering" right="#lt"/>
26317ec681f3Smrg          <eq left="cmpf" right="#ge"/>
26327ec681f3Smrg        </and>
26337ec681f3Smrg      </or>
26347ec681f3Smrg      <or>
26357ec681f3Smrg        <and>
26367ec681f3Smrg          <eq left="widen0" right="#h1"/>
26377ec681f3Smrg          <eq left="widen1" right="#h0"/>
26387ec681f3Smrg          <or>
26397ec681f3Smrg            <eq left="cmpf" right="#lt"/>
26407ec681f3Smrg            <eq left="cmpf" right="#le"/>
26417ec681f3Smrg          </or>
26427ec681f3Smrg        </and>
26437ec681f3Smrg        <and>
26447ec681f3Smrg          <eq left="widen0" right="widen1"/>
26457ec681f3Smrg          <eq left="ordering" right="#lt"/>
26467ec681f3Smrg          <eq left="cmpf" right="#lt"/>
26477ec681f3Smrg        </and>
26487ec681f3Smrg        <and>
26497ec681f3Smrg          <eq left="widen0" right="widen1"/>
26507ec681f3Smrg          <neq left="ordering" right="#lt"/>
26517ec681f3Smrg          <eq left="cmpf" right="#le"/>
26527ec681f3Smrg        </and>
26537ec681f3Smrg        <and alias="true">
26547ec681f3Smrg          <eq left="widen0" right="widen1"/>
26557ec681f3Smrg          <eq left="ordering" right="#eq"/>
26567ec681f3Smrg          <eq left="cmpf" right="#eq"/>
26577ec681f3Smrg        </and>
26587ec681f3Smrg      </or>
26597ec681f3Smrg    </derived>
26607ec681f3Smrg    <swap left="0" right="1">
26617ec681f3Smrg      <or>
26627ec681f3Smrg        <and>
26637ec681f3Smrg          <eq left="widen0" right="#h0"/>
26647ec681f3Smrg          <eq left="widen1" right="#h1"/>
26657ec681f3Smrg        </and>
26667ec681f3Smrg        <and>
26677ec681f3Smrg          <eq left="widen0" right="widen1"/>
26687ec681f3Smrg          <eq left="ordering" right="#gt"/>
26697ec681f3Smrg          <or>
26707ec681f3Smrg            <eq left="cmpf" right="#eq"/>
26717ec681f3Smrg            <eq left="cmpf" right="#gt"/>
26727ec681f3Smrg            <eq left="cmpf" right="#lt"/>
26737ec681f3Smrg          </or>
26747ec681f3Smrg        </and>
26757ec681f3Smrg        <and>
26767ec681f3Smrg          <eq left="widen0" right="widen1"/>
26777ec681f3Smrg          <eq left="ordering" right="#lt"/>
26787ec681f3Smrg          <or>
26797ec681f3Smrg            <eq left="cmpf" right="#ne"/>
26807ec681f3Smrg            <eq left="cmpf" right="#ge"/>
26817ec681f3Smrg            <eq left="cmpf" right="#le"/>
26827ec681f3Smrg          </or>
26837ec681f3Smrg        </and>
26847ec681f3Smrg      </or>
26857ec681f3Smrg      <rewrite name="cmpf">
26867ec681f3Smrg        <map from="lt" to="gt"/>
26877ec681f3Smrg        <map from="le" to="ge"/>
26887ec681f3Smrg        <map from="gt" to="lt"/>
26897ec681f3Smrg        <map from="ge" to="le"/>
26907ec681f3Smrg      </rewrite>
26917ec681f3Smrg    </swap>
26927ec681f3Smrg  </ins>
26937ec681f3Smrg
26947ec681f3Smrg  <ins name="+BRANCH.f32" mask="0xf8000" exact="0x68000" last="true" dests="0">
26957ec681f3Smrg    <src start="0"/>
26967ec681f3Smrg    <src start="3"/>
26977ec681f3Smrg    <src start="6" mask="0xf7"/>
26987ec681f3Smrg    <mod name="widen0" size="2">
26997ec681f3Smrg      <opt>none</opt>
27007ec681f3Smrg      <opt>h0</opt>
27017ec681f3Smrg      <opt>h1</opt>
27027ec681f3Smrg    </mod>
27037ec681f3Smrg    <mod name="widen1" size="2">
27047ec681f3Smrg      <opt>none</opt>
27057ec681f3Smrg      <opt>h0</opt>
27067ec681f3Smrg      <opt>h1</opt>
27077ec681f3Smrg    </mod>
27087ec681f3Smrg    <mod name="cmpf" size="3">
27097ec681f3Smrg      <opt>eq</opt>
27107ec681f3Smrg      <opt>gt</opt>
27117ec681f3Smrg      <opt>ge</opt>
27127ec681f3Smrg      <opt>ne</opt>
27137ec681f3Smrg      <opt>lt</opt>
27147ec681f3Smrg      <opt>le</opt>
27157ec681f3Smrg    </mod>
27167ec681f3Smrg    <derived start="12" size="3">
27177ec681f3Smrg      <and>
27187ec681f3Smrg        <eq left="widen0" right="#none"/>
27197ec681f3Smrg        <eq left="widen1" right="#none"/>
27207ec681f3Smrg      </and>
27217ec681f3Smrg      <reserved/>
27227ec681f3Smrg      <reserved/>
27237ec681f3Smrg      <reserved/>
27247ec681f3Smrg      <reserved/>
27257ec681f3Smrg      <and>
27267ec681f3Smrg        <eq left="widen0" right="#none"/>
27277ec681f3Smrg        <eq left="widen1" right="#h0"/>
27287ec681f3Smrg      </and>
27297ec681f3Smrg      <and>
27307ec681f3Smrg        <eq left="widen0" right="#none"/>
27317ec681f3Smrg        <eq left="widen1" right="#h1"/>
27327ec681f3Smrg      </and>
27337ec681f3Smrg      <reserved/>
27347ec681f3Smrg    </derived>
27357ec681f3Smrg    <derived start="9" size="3">
27367ec681f3Smrg      <reserved/>
27377ec681f3Smrg      <and>
27387ec681f3Smrg        <eq left="widen0" right="#none"/>
27397ec681f3Smrg        <neq left="widen1" right="#none"/>
27407ec681f3Smrg        <eq left="cmpf" right="#ne"/>
27417ec681f3Smrg      </and>
27427ec681f3Smrg      <and>
27437ec681f3Smrg        <eq left="widen0" right="#none"/>
27447ec681f3Smrg        <neq left="widen1" right="#none"/>
27457ec681f3Smrg        <eq left="cmpf" right="#ge"/>
27467ec681f3Smrg      </and>
27477ec681f3Smrg      <and>
27487ec681f3Smrg        <eq left="widen0" right="#none"/>
27497ec681f3Smrg        <neq left="widen1" right="#none"/>
27507ec681f3Smrg        <eq left="cmpf" right="#le"/>
27517ec681f3Smrg      </and>
27527ec681f3Smrg      <and alias="true">
27537ec681f3Smrg        <eq left="widen0" right="#none"/>
27547ec681f3Smrg        <eq left="widen1" right="#none"/>
27557ec681f3Smrg        <eq left="ordering" right="#eq"/>
27567ec681f3Smrg        <or>
27577ec681f3Smrg          <eq left="cmpf" right="#gt"/>
27587ec681f3Smrg          <eq left="cmpf" right="#lt"/>
27597ec681f3Smrg        </or>
27607ec681f3Smrg      </and>
27617ec681f3Smrg      <or>
27627ec681f3Smrg        <and>
27637ec681f3Smrg          <eq left="widen0" right="#none"/>
27647ec681f3Smrg          <neq left="widen1" right="#none"/>
27657ec681f3Smrg          <eq left="cmpf" right="#eq"/>
27667ec681f3Smrg        </and>
27677ec681f3Smrg        <and>
27687ec681f3Smrg          <eq left="widen0" right="#none"/>
27697ec681f3Smrg          <eq left="widen1" right="#none"/>
27707ec681f3Smrg          <eq left="ordering" right="#lt"/>
27717ec681f3Smrg          <eq left="cmpf" right="#eq"/>
27727ec681f3Smrg        </and>
27737ec681f3Smrg        <and>
27747ec681f3Smrg          <eq left="widen0" right="#none"/>
27757ec681f3Smrg          <eq left="widen1" right="#none"/>
27767ec681f3Smrg          <neq left="ordering" right="#lt"/>
27777ec681f3Smrg          <eq left="cmpf" right="#ne"/>
27787ec681f3Smrg        </and>
27797ec681f3Smrg      </or>
27807ec681f3Smrg      <or>
27817ec681f3Smrg        <and>
27827ec681f3Smrg          <eq left="widen0" right="#none"/>
27837ec681f3Smrg          <neq left="widen1" right="#none"/>
27847ec681f3Smrg          <eq left="cmpf" right="#gt"/>
27857ec681f3Smrg        </and>
27867ec681f3Smrg        <and>
27877ec681f3Smrg          <eq left="widen0" right="#none"/>
27887ec681f3Smrg          <eq left="widen1" right="#none"/>
27897ec681f3Smrg          <eq left="ordering" right="#lt"/>
27907ec681f3Smrg          <eq left="cmpf" right="#gt"/>
27917ec681f3Smrg        </and>
27927ec681f3Smrg        <and>
27937ec681f3Smrg          <eq left="widen0" right="#none"/>
27947ec681f3Smrg          <eq left="widen1" right="#none"/>
27957ec681f3Smrg          <neq left="ordering" right="#lt"/>
27967ec681f3Smrg          <eq left="cmpf" right="#ge"/>
27977ec681f3Smrg        </and>
27987ec681f3Smrg      </or>
27997ec681f3Smrg      <or>
28007ec681f3Smrg        <and>
28017ec681f3Smrg          <eq left="widen0" right="#none"/>
28027ec681f3Smrg          <neq left="widen1" right="#none"/>
28037ec681f3Smrg          <eq left="cmpf" right="#lt"/>
28047ec681f3Smrg        </and>
28057ec681f3Smrg        <and>
28067ec681f3Smrg          <eq left="widen0" right="#none"/>
28077ec681f3Smrg          <eq left="widen1" right="#none"/>
28087ec681f3Smrg          <eq left="ordering" right="#lt"/>
28097ec681f3Smrg          <eq left="cmpf" right="#lt"/>
28107ec681f3Smrg        </and>
28117ec681f3Smrg        <and>
28127ec681f3Smrg          <eq left="widen0" right="#none"/>
28137ec681f3Smrg          <eq left="widen1" right="#none"/>
28147ec681f3Smrg          <neq left="ordering" right="#lt"/>
28157ec681f3Smrg          <eq left="cmpf" right="#le"/>
28167ec681f3Smrg        </and>
28177ec681f3Smrg        <and alias="true">
28187ec681f3Smrg          <eq left="widen0" right="#none"/>
28197ec681f3Smrg          <eq left="widen1" right="#none"/>
28207ec681f3Smrg          <eq left="ordering" right="#eq"/>
28217ec681f3Smrg          <eq left="cmpf" right="#eq"/>
28227ec681f3Smrg        </and>
28237ec681f3Smrg      </or>
28247ec681f3Smrg    </derived>
28257ec681f3Smrg    <swap left="0" right="1">
28267ec681f3Smrg      <or>
28277ec681f3Smrg        <and>
28287ec681f3Smrg          <neq left="widen0" right="#none"/>
28297ec681f3Smrg          <eq left="widen1" right="#none"/>
28307ec681f3Smrg        </and>
28317ec681f3Smrg        <and>
28327ec681f3Smrg          <eq left="widen0" right="#none"/>
28337ec681f3Smrg          <eq left="widen1" right="#none"/>
28347ec681f3Smrg          <eq left="ordering" right="#gt"/>
28357ec681f3Smrg          <or>
28367ec681f3Smrg            <eq left="cmpf" right="#eq"/>
28377ec681f3Smrg            <eq left="cmpf" right="#gt"/>
28387ec681f3Smrg            <eq left="cmpf" right="#lt"/>
28397ec681f3Smrg          </or>
28407ec681f3Smrg        </and>
28417ec681f3Smrg        <and>
28427ec681f3Smrg          <eq left="widen0" right="#none"/>
28437ec681f3Smrg          <eq left="widen1" right="#none"/>
28447ec681f3Smrg          <eq left="ordering" right="#lt"/>
28457ec681f3Smrg          <or>
28467ec681f3Smrg            <eq left="cmpf" right="#ne"/>
28477ec681f3Smrg            <eq left="cmpf" right="#ge"/>
28487ec681f3Smrg            <eq left="cmpf" right="#le"/>
28497ec681f3Smrg          </or>
28507ec681f3Smrg        </and>
28517ec681f3Smrg      </or>
28527ec681f3Smrg      <rewrite name="cmpf">
28537ec681f3Smrg        <map from="lt" to="gt"/>
28547ec681f3Smrg        <map from="le" to="ge"/>
28557ec681f3Smrg        <map from="gt" to="lt"/>
28567ec681f3Smrg        <map from="ge" to="le"/>
28577ec681f3Smrg      </rewrite>
28587ec681f3Smrg    </swap>
28597ec681f3Smrg  </ins>
28607ec681f3Smrg
28617ec681f3Smrg  <ins name="+BRANCH.i16" mask="0xf8000" exact="0x68000" last="true" dests="0">
28627ec681f3Smrg    <src start="0"/>
28637ec681f3Smrg    <src start="3"/>
28647ec681f3Smrg    <src start="6" mask="0xf7"/>
28657ec681f3Smrg    <mod name="widen0" size="2">
28667ec681f3Smrg      <opt>none</opt>
28677ec681f3Smrg      <opt>h0</opt>
28687ec681f3Smrg      <opt>h1</opt>
28697ec681f3Smrg    </mod>
28707ec681f3Smrg    <mod name="widen1" size="2">
28717ec681f3Smrg      <opt>none</opt>
28727ec681f3Smrg      <opt>h0</opt>
28737ec681f3Smrg      <opt>h1</opt>
28747ec681f3Smrg    </mod>
28757ec681f3Smrg    <mod name="cmpf" size="1">
28767ec681f3Smrg      <opt>eq</opt>
28777ec681f3Smrg      <opt>ne</opt>
28787ec681f3Smrg    </mod>
28797ec681f3Smrg    <derived start="12" size="3">
28807ec681f3Smrg      <reserved/>
28817ec681f3Smrg      <and>
28827ec681f3Smrg        <eq left="widen0" right="#h0"/>
28837ec681f3Smrg        <eq left="widen1" right="#h0"/>
28847ec681f3Smrg      </and>
28857ec681f3Smrg      <and>
28867ec681f3Smrg        <eq left="widen0" right="#h1"/>
28877ec681f3Smrg        <eq left="widen1" right="#h1"/>
28887ec681f3Smrg      </and>
28897ec681f3Smrg      <and>
28907ec681f3Smrg        <eq left="widen0" right="#h1"/>
28917ec681f3Smrg        <eq left="widen1" right="#h0"/>
28927ec681f3Smrg        <eq left="cmpf" right="#ne"/>
28937ec681f3Smrg      </and>
28947ec681f3Smrg      <and>
28957ec681f3Smrg        <eq left="widen0" right="#h1"/>
28967ec681f3Smrg        <eq left="widen1" right="#h0"/>
28977ec681f3Smrg        <eq left="cmpf" right="#eq"/>
28987ec681f3Smrg      </and>
28997ec681f3Smrg      <reserved/>
29007ec681f3Smrg      <reserved/>
29017ec681f3Smrg      <reserved/>
29027ec681f3Smrg    </derived>
29037ec681f3Smrg    <derived start="9" size="3">
29047ec681f3Smrg      <reserved/>
29057ec681f3Smrg      <and alias="true">
29067ec681f3Smrg        <eq left="widen0" right="widen1"/>
29077ec681f3Smrg        <eq left="ordering" right="#eq"/>
29087ec681f3Smrg        <eq left="cmpf" right="#eq"/>
29097ec681f3Smrg      </and>
29107ec681f3Smrg      <reserved/>
29117ec681f3Smrg      <reserved/>
29127ec681f3Smrg      <or>
29137ec681f3Smrg        <and>
29147ec681f3Smrg          <eq left="widen0" right="#h1"/>
29157ec681f3Smrg          <eq left="widen1" right="#h0"/>
29167ec681f3Smrg        </and>
29177ec681f3Smrg        <and>
29187ec681f3Smrg          <eq left="widen0" right="widen1"/>
29197ec681f3Smrg          <eq left="ordering" right="#lt"/>
29207ec681f3Smrg          <eq left="cmpf" right="#eq"/>
29217ec681f3Smrg        </and>
29227ec681f3Smrg        <and>
29237ec681f3Smrg          <eq left="widen0" right="widen1"/>
29247ec681f3Smrg          <neq left="ordering" right="#lt"/>
29257ec681f3Smrg          <eq left="cmpf" right="#ne"/>
29267ec681f3Smrg        </and>
29277ec681f3Smrg      </or>
29287ec681f3Smrg      <reserved/>
29297ec681f3Smrg      <reserved/>
29307ec681f3Smrg      <reserved/>
29317ec681f3Smrg    </derived>
29327ec681f3Smrg    <swap left="0" right="1">
29337ec681f3Smrg      <or>
29347ec681f3Smrg        <and>
29357ec681f3Smrg          <eq left="widen0" right="#h0"/>
29367ec681f3Smrg          <eq left="widen1" right="#h1"/>
29377ec681f3Smrg        </and>
29387ec681f3Smrg        <and>
29397ec681f3Smrg          <eq left="widen0" right="widen1"/>
29407ec681f3Smrg          <eq left="ordering" right="#gt"/>
29417ec681f3Smrg          <eq left="cmpf" right="#eq"/>
29427ec681f3Smrg        </and>
29437ec681f3Smrg        <and>
29447ec681f3Smrg          <eq left="widen0" right="widen1"/>
29457ec681f3Smrg          <eq left="ordering" right="#lt"/>
29467ec681f3Smrg          <eq left="cmpf" right="#ne"/>
29477ec681f3Smrg        </and>
29487ec681f3Smrg      </or>
29497ec681f3Smrg    </swap>
29507ec681f3Smrg  </ins>
29517ec681f3Smrg
29527ec681f3Smrg  <ins name="+BRANCH.i32" mask="0xf8000" exact="0x68000" last="true" dests="0">
29537ec681f3Smrg    <src start="0"/>
29547ec681f3Smrg    <src start="3"/>
29557ec681f3Smrg    <src start="6" mask="0xf7"/>
29567ec681f3Smrg    <mod name="widen0" size="2">
29577ec681f3Smrg      <opt>none</opt>
29587ec681f3Smrg      <opt>h0</opt>
29597ec681f3Smrg      <opt>h1</opt>
29607ec681f3Smrg    </mod>
29617ec681f3Smrg    <mod name="widen1" size="2">
29627ec681f3Smrg      <opt>none</opt>
29637ec681f3Smrg      <opt>h0</opt>
29647ec681f3Smrg      <opt>h1</opt>
29657ec681f3Smrg    </mod>
29667ec681f3Smrg    <mod name="cmpf" size="1">
29677ec681f3Smrg      <opt>eq</opt>
29687ec681f3Smrg      <opt>ne</opt>
29697ec681f3Smrg    </mod>
29707ec681f3Smrg    <derived start="12" size="3">
29717ec681f3Smrg      <and>
29727ec681f3Smrg        <eq left="widen0" right="#none"/>
29737ec681f3Smrg        <eq left="widen1" right="#none"/>
29747ec681f3Smrg      </and>
29757ec681f3Smrg      <reserved/>
29767ec681f3Smrg      <reserved/>
29777ec681f3Smrg      <reserved/>
29787ec681f3Smrg      <reserved/>
29797ec681f3Smrg      <reserved/>
29807ec681f3Smrg      <reserved/>
29817ec681f3Smrg      <reserved/>
29827ec681f3Smrg    </derived>
29837ec681f3Smrg    <derived start="9" size="3">
29847ec681f3Smrg      <reserved/>
29857ec681f3Smrg      <and alias="true">
29867ec681f3Smrg        <eq left="ordering" right="#eq"/>
29877ec681f3Smrg        <eq left="cmpf" right="#eq"/>
29887ec681f3Smrg      </and>
29897ec681f3Smrg      <reserved/>
29907ec681f3Smrg      <reserved/>
29917ec681f3Smrg      <or>
29927ec681f3Smrg        <and>
29937ec681f3Smrg          <eq left="ordering" right="#lt"/>
29947ec681f3Smrg          <eq left="cmpf" right="#eq"/>
29957ec681f3Smrg        </and>
29967ec681f3Smrg        <and>
29977ec681f3Smrg          <neq left="ordering" right="#lt"/>
29987ec681f3Smrg          <eq left="cmpf" right="#ne"/>
29997ec681f3Smrg        </and>
30007ec681f3Smrg      </or>
30017ec681f3Smrg      <reserved/>
30027ec681f3Smrg      <reserved/>
30037ec681f3Smrg      <reserved/>
30047ec681f3Smrg    </derived>
30057ec681f3Smrg    <swap left="0" right="1">
30067ec681f3Smrg      <or>
30077ec681f3Smrg        <and>
30087ec681f3Smrg          <eq left="ordering" right="#gt"/>
30097ec681f3Smrg          <eq left="cmpf" right="#eq"/>
30107ec681f3Smrg        </and>
30117ec681f3Smrg        <and>
30127ec681f3Smrg          <eq left="ordering" right="#lt"/>
30137ec681f3Smrg          <eq left="cmpf" right="#ne"/>
30147ec681f3Smrg        </and>
30157ec681f3Smrg      </or>
30167ec681f3Smrg    </swap>
30177ec681f3Smrg  </ins>
30187ec681f3Smrg
30197ec681f3Smrg  <ins name="+BRANCH.s16" mask="0xf8000" exact="0x68000" last="true" dests="0">
30207ec681f3Smrg    <src start="0"/>
30217ec681f3Smrg    <src start="3"/>
30227ec681f3Smrg    <src start="6" mask="0xf7"/>
30237ec681f3Smrg    <mod name="widen0" size="2">
30247ec681f3Smrg      <opt>none</opt>
30257ec681f3Smrg      <opt>h0</opt>
30267ec681f3Smrg      <opt>h1</opt>
30277ec681f3Smrg    </mod>
30287ec681f3Smrg    <mod name="widen1" size="2">
30297ec681f3Smrg      <opt>none</opt>
30307ec681f3Smrg      <opt>h0</opt>
30317ec681f3Smrg      <opt>h1</opt>
30327ec681f3Smrg    </mod>
30337ec681f3Smrg    <mod name="cmpf" size="2">
30347ec681f3Smrg      <opt>gt</opt>
30357ec681f3Smrg      <opt>ge</opt>
30367ec681f3Smrg      <opt>lt</opt>
30377ec681f3Smrg      <opt>le</opt>
30387ec681f3Smrg    </mod>
30397ec681f3Smrg    <derived start="12" size="3">
30407ec681f3Smrg      <reserved/>
30417ec681f3Smrg      <and>
30427ec681f3Smrg        <eq left="widen0" right="#h0"/>
30437ec681f3Smrg        <eq left="widen1" right="#h0"/>
30447ec681f3Smrg      </and>
30457ec681f3Smrg      <and>
30467ec681f3Smrg        <eq left="widen0" right="#h1"/>
30477ec681f3Smrg        <eq left="widen1" right="#h1"/>
30487ec681f3Smrg      </and>
30497ec681f3Smrg      <reserved/>
30507ec681f3Smrg      <and>
30517ec681f3Smrg        <eq left="widen0" right="#h1"/>
30527ec681f3Smrg        <eq left="widen1" right="#h0"/>
30537ec681f3Smrg      </and>
30547ec681f3Smrg      <reserved/>
30557ec681f3Smrg      <reserved/>
30567ec681f3Smrg      <reserved/>
30577ec681f3Smrg    </derived>
30587ec681f3Smrg    <derived start="9" size="3">
30597ec681f3Smrg      <or>
30607ec681f3Smrg        <and>
30617ec681f3Smrg          <eq left="widen0" right="#h1"/>
30627ec681f3Smrg          <eq left="widen1" right="#h0"/>
30637ec681f3Smrg          <eq left="cmpf" right="#lt"/>
30647ec681f3Smrg        </and>
30657ec681f3Smrg        <and>
30667ec681f3Smrg          <eq left="widen0" right="widen1"/>
30677ec681f3Smrg          <eq left="ordering" right="#lt"/>
30687ec681f3Smrg          <eq left="cmpf" right="#lt"/>
30697ec681f3Smrg        </and>
30707ec681f3Smrg      </or>
30717ec681f3Smrg      <or>
30727ec681f3Smrg        <and>
30737ec681f3Smrg          <eq left="widen0" right="#h1"/>
30747ec681f3Smrg          <eq left="widen1" right="#h0"/>
30757ec681f3Smrg          <eq left="cmpf" right="#le"/>
30767ec681f3Smrg        </and>
30777ec681f3Smrg        <and>
30787ec681f3Smrg          <eq left="widen0" right="widen1"/>
30797ec681f3Smrg          <eq left="ordering" right="#lt"/>
30807ec681f3Smrg          <eq left="cmpf" right="#le"/>
30817ec681f3Smrg        </and>
30827ec681f3Smrg        <and alias="true">
30837ec681f3Smrg          <eq left="widen0" right="widen1"/>
30847ec681f3Smrg          <eq left="ordering" right="#eq"/>
30857ec681f3Smrg          <or>
30867ec681f3Smrg            <eq left="cmpf" right="#le"/>
30877ec681f3Smrg            <eq left="cmpf" right="#ge"/>
30887ec681f3Smrg          </or>
30897ec681f3Smrg        </and>
30907ec681f3Smrg      </or>
30917ec681f3Smrg      <or>
30927ec681f3Smrg        <and>
30937ec681f3Smrg          <eq left="widen0" right="#h1"/>
30947ec681f3Smrg          <eq left="widen1" right="#h0"/>
30957ec681f3Smrg          <eq left="cmpf" right="#ge"/>
30967ec681f3Smrg        </and>
30977ec681f3Smrg        <and>
30987ec681f3Smrg          <eq left="widen0" right="widen1"/>
30997ec681f3Smrg          <eq left="ordering" right="#lt"/>
31007ec681f3Smrg          <eq left="cmpf" right="#ge"/>
31017ec681f3Smrg        </and>
31027ec681f3Smrg      </or>
31037ec681f3Smrg      <or>
31047ec681f3Smrg        <and>
31057ec681f3Smrg          <eq left="widen0" right="#h1"/>
31067ec681f3Smrg          <eq left="widen1" right="#h0"/>
31077ec681f3Smrg          <eq left="cmpf" right="#gt"/>
31087ec681f3Smrg        </and>
31097ec681f3Smrg        <and>
31107ec681f3Smrg          <eq left="widen0" right="widen1"/>
31117ec681f3Smrg          <eq left="ordering" right="#lt"/>
31127ec681f3Smrg          <eq left="cmpf" right="#gt"/>
31137ec681f3Smrg        </and>
31147ec681f3Smrg      </or>
31157ec681f3Smrg      <and alias="true">
31167ec681f3Smrg        <eq left="widen0" right="widen1"/>
31177ec681f3Smrg        <eq left="ordering" right="#eq"/>
31187ec681f3Smrg        <or>
31197ec681f3Smrg          <eq left="cmpf" right="#lt"/>
31207ec681f3Smrg          <eq left="cmpf" right="#gt"/>
31217ec681f3Smrg        </or>
31227ec681f3Smrg      </and>
31237ec681f3Smrg      <reserved/>
31247ec681f3Smrg      <reserved/>
31257ec681f3Smrg      <reserved/>
31267ec681f3Smrg    </derived>
31277ec681f3Smrg    <swap left="0" right="1">
31287ec681f3Smrg      <or>
31297ec681f3Smrg        <and>
31307ec681f3Smrg          <eq left="widen0" right="#h0"/>
31317ec681f3Smrg          <eq left="widen1" right="#h1"/>
31327ec681f3Smrg        </and>
31337ec681f3Smrg        <and>
31347ec681f3Smrg          <eq left="widen0" right="widen1"/>
31357ec681f3Smrg          <eq left="ordering" right="#gt"/>
31367ec681f3Smrg        </and>
31377ec681f3Smrg      </or>
31387ec681f3Smrg      <rewrite name="cmpf">
31397ec681f3Smrg        <map from="lt" to="gt"/>
31407ec681f3Smrg        <map from="le" to="ge"/>
31417ec681f3Smrg        <map from="gt" to="lt"/>
31427ec681f3Smrg        <map from="ge" to="le"/>
31437ec681f3Smrg      </rewrite>
31447ec681f3Smrg    </swap>
31457ec681f3Smrg  </ins>
31467ec681f3Smrg
31477ec681f3Smrg  <ins name="+BRANCH.s32" mask="0xf8000" exact="0x68000" last="true" dests="0">
31487ec681f3Smrg    <src start="0"/>
31497ec681f3Smrg    <src start="3"/>
31507ec681f3Smrg    <src start="6" mask="0xf7"/>
31517ec681f3Smrg    <mod name="widen0" size="2">
31527ec681f3Smrg      <opt>none</opt>
31537ec681f3Smrg      <opt>h0</opt>
31547ec681f3Smrg      <opt>h1</opt>
31557ec681f3Smrg    </mod>
31567ec681f3Smrg    <mod name="widen1" size="2">
31577ec681f3Smrg      <opt>none</opt>
31587ec681f3Smrg      <opt>h0</opt>
31597ec681f3Smrg      <opt>h1</opt>
31607ec681f3Smrg    </mod>
31617ec681f3Smrg    <mod name="cmpf" size="2">
31627ec681f3Smrg      <opt>gt</opt>
31637ec681f3Smrg      <opt>ge</opt>
31647ec681f3Smrg      <opt>lt</opt>
31657ec681f3Smrg      <opt>le</opt>
31667ec681f3Smrg    </mod>
31677ec681f3Smrg    <derived start="12" size="3">
31687ec681f3Smrg      <and>
31697ec681f3Smrg        <eq left="widen0" right="#none"/>
31707ec681f3Smrg        <eq left="widen1" right="#none"/>
31717ec681f3Smrg      </and>
31727ec681f3Smrg      <reserved/>
31737ec681f3Smrg      <reserved/>
31747ec681f3Smrg      <reserved/>
31757ec681f3Smrg      <reserved/>
31767ec681f3Smrg      <reserved/>
31777ec681f3Smrg      <reserved/>
31787ec681f3Smrg      <reserved/>
31797ec681f3Smrg    </derived>
31807ec681f3Smrg    <derived start="9" size="3">
31817ec681f3Smrg      <and>
31827ec681f3Smrg        <eq left="ordering" right="#lt"/>
31837ec681f3Smrg        <eq left="cmpf" right="#lt"/>
31847ec681f3Smrg      </and>
31857ec681f3Smrg      <or>
31867ec681f3Smrg        <and>
31877ec681f3Smrg          <eq left="ordering" right="#lt"/>
31887ec681f3Smrg          <eq left="cmpf" right="#le"/>
31897ec681f3Smrg        </and>
31907ec681f3Smrg        <and alias="true">
31917ec681f3Smrg          <eq left="ordering" right="#eq"/>
31927ec681f3Smrg          <or>
31937ec681f3Smrg            <eq left="cmpf" right="#le"/>
31947ec681f3Smrg            <eq left="cmpf" right="#ge"/>
31957ec681f3Smrg          </or>
31967ec681f3Smrg        </and>
31977ec681f3Smrg      </or>
31987ec681f3Smrg      <and>
31997ec681f3Smrg        <eq left="ordering" right="#lt"/>
32007ec681f3Smrg        <eq left="cmpf" right="#ge"/>
32017ec681f3Smrg      </and>
32027ec681f3Smrg      <and>
32037ec681f3Smrg        <eq left="ordering" right="#lt"/>
32047ec681f3Smrg        <eq left="cmpf" right="#gt"/>
32057ec681f3Smrg      </and>
32067ec681f3Smrg      <and alias="true">
32077ec681f3Smrg        <eq left="ordering" right="#eq"/>
32087ec681f3Smrg        <or>
32097ec681f3Smrg          <eq left="cmpf" right="#lt"/>
32107ec681f3Smrg          <eq left="cmpf" right="#gt"/>
32117ec681f3Smrg        </or>
32127ec681f3Smrg      </and>
32137ec681f3Smrg      <reserved/>
32147ec681f3Smrg      <reserved/>
32157ec681f3Smrg      <reserved/>
32167ec681f3Smrg    </derived>
32177ec681f3Smrg    <swap left="0" right="1">
32187ec681f3Smrg      <eq left="ordering" right="#gt"/>
32197ec681f3Smrg      <rewrite name="cmpf">
32207ec681f3Smrg        <map from="lt" to="gt"/>
32217ec681f3Smrg        <map from="le" to="ge"/>
32227ec681f3Smrg        <map from="gt" to="lt"/>
32237ec681f3Smrg        <map from="ge" to="le"/>
32247ec681f3Smrg      </rewrite>
32257ec681f3Smrg    </swap>
32267ec681f3Smrg  </ins>
32277ec681f3Smrg
32287ec681f3Smrg  <ins name="+BRANCH.u16" mask="0xf8000" exact="0x68000" last="true" dests="0">
32297ec681f3Smrg    <src start="0"/>
32307ec681f3Smrg    <src start="3"/>
32317ec681f3Smrg    <src start="6" mask="0xf7"/>
32327ec681f3Smrg    <mod name="widen0" size="2">
32337ec681f3Smrg      <opt>none</opt>
32347ec681f3Smrg      <opt>h0</opt>
32357ec681f3Smrg      <opt>h1</opt>
32367ec681f3Smrg    </mod>
32377ec681f3Smrg    <mod name="widen1" size="2">
32387ec681f3Smrg      <opt>none</opt>
32397ec681f3Smrg      <opt>h0</opt>
32407ec681f3Smrg      <opt>h1</opt>
32417ec681f3Smrg    </mod>
32427ec681f3Smrg    <mod name="cmpf" size="2">
32437ec681f3Smrg      <opt>gt</opt>
32447ec681f3Smrg      <opt>ge</opt>
32457ec681f3Smrg      <opt>lt</opt>
32467ec681f3Smrg      <opt>le</opt>
32477ec681f3Smrg    </mod>
32487ec681f3Smrg    <derived start="12" size="3">
32497ec681f3Smrg      <reserved/>
32507ec681f3Smrg      <and>
32517ec681f3Smrg        <eq left="widen0" right="#h0"/>
32527ec681f3Smrg        <eq left="widen1" right="#h0"/>
32537ec681f3Smrg      </and>
32547ec681f3Smrg      <and>
32557ec681f3Smrg        <eq left="widen0" right="#h1"/>
32567ec681f3Smrg        <eq left="widen1" right="#h1"/>
32577ec681f3Smrg      </and>
32587ec681f3Smrg      <and>
32597ec681f3Smrg        <eq left="widen0" right="#h1"/>
32607ec681f3Smrg        <eq left="widen1" right="#h0"/>
32617ec681f3Smrg      </and>
32627ec681f3Smrg      <reserved/>
32637ec681f3Smrg      <reserved/>
32647ec681f3Smrg      <reserved/>
32657ec681f3Smrg      <reserved/>
32667ec681f3Smrg    </derived>
32677ec681f3Smrg    <derived start="9" size="3">
32687ec681f3Smrg      <or>
32697ec681f3Smrg        <and>
32707ec681f3Smrg          <eq left="widen0" right="#h1"/>
32717ec681f3Smrg          <eq left="widen1" right="#h0"/>
32727ec681f3Smrg          <eq left="cmpf" right="#lt"/>
32737ec681f3Smrg        </and>
32747ec681f3Smrg        <and>
32757ec681f3Smrg          <eq left="widen0" right="widen1"/>
32767ec681f3Smrg          <neq left="ordering" right="#lt"/>
32777ec681f3Smrg          <eq left="cmpf" right="#lt"/>
32787ec681f3Smrg        </and>
32797ec681f3Smrg      </or>
32807ec681f3Smrg      <or>
32817ec681f3Smrg        <and>
32827ec681f3Smrg          <eq left="widen0" right="#h1"/>
32837ec681f3Smrg          <eq left="widen1" right="#h0"/>
32847ec681f3Smrg          <eq left="cmpf" right="#le"/>
32857ec681f3Smrg        </and>
32867ec681f3Smrg        <and>
32877ec681f3Smrg          <eq left="widen0" right="widen1"/>
32887ec681f3Smrg          <neq left="ordering" right="#lt"/>
32897ec681f3Smrg          <eq left="cmpf" right="#le"/>
32907ec681f3Smrg        </and>
32917ec681f3Smrg      </or>
32927ec681f3Smrg      <or>
32937ec681f3Smrg        <and>
32947ec681f3Smrg          <eq left="widen0" right="#h1"/>
32957ec681f3Smrg          <eq left="widen1" right="#h0"/>
32967ec681f3Smrg          <eq left="cmpf" right="#ge"/>
32977ec681f3Smrg        </and>
32987ec681f3Smrg        <and>
32997ec681f3Smrg          <eq left="widen0" right="widen1"/>
33007ec681f3Smrg          <neq left="ordering" right="#lt"/>
33017ec681f3Smrg          <eq left="cmpf" right="#ge"/>
33027ec681f3Smrg        </and>
33037ec681f3Smrg      </or>
33047ec681f3Smrg      <or>
33057ec681f3Smrg        <and>
33067ec681f3Smrg          <eq left="widen0" right="#h1"/>
33077ec681f3Smrg          <eq left="widen1" right="#h0"/>
33087ec681f3Smrg          <eq left="cmpf" right="#gt"/>
33097ec681f3Smrg        </and>
33107ec681f3Smrg        <and>
33117ec681f3Smrg          <eq left="widen0" right="widen1"/>
33127ec681f3Smrg          <neq left="ordering" right="#lt"/>
33137ec681f3Smrg          <eq left="cmpf" right="#gt"/>
33147ec681f3Smrg        </and>
33157ec681f3Smrg      </or>
33167ec681f3Smrg      <reserved/>
33177ec681f3Smrg      <reserved/>
33187ec681f3Smrg      <reserved/>
33197ec681f3Smrg      <reserved/>
33207ec681f3Smrg    </derived>
33217ec681f3Smrg    <swap left="0" right="1">
33227ec681f3Smrg      <or>
33237ec681f3Smrg        <and>
33247ec681f3Smrg          <eq left="widen0" right="#h0"/>
33257ec681f3Smrg          <eq left="widen1" right="#h1"/>
33267ec681f3Smrg        </and>
33277ec681f3Smrg        <and>
33287ec681f3Smrg          <eq left="widen0" right="widen1"/>
33297ec681f3Smrg          <eq left="ordering" right="#lt"/>
33307ec681f3Smrg        </and>
33317ec681f3Smrg      </or>
33327ec681f3Smrg      <rewrite name="cmpf">
33337ec681f3Smrg        <map from="lt" to="gt"/>
33347ec681f3Smrg        <map from="le" to="ge"/>
33357ec681f3Smrg        <map from="gt" to="lt"/>
33367ec681f3Smrg        <map from="ge" to="le"/>
33377ec681f3Smrg      </rewrite>
33387ec681f3Smrg    </swap>
33397ec681f3Smrg  </ins>
33407ec681f3Smrg
33417ec681f3Smrg  <ins name="+BRANCH.u32" mask="0xf8000" exact="0x68000" last="true" dests="0">
33427ec681f3Smrg    <src start="0"/>
33437ec681f3Smrg    <src start="3"/>
33447ec681f3Smrg    <src start="6" mask="0xf7"/>
33457ec681f3Smrg    <mod name="widen0" size="2">
33467ec681f3Smrg      <opt>none</opt>
33477ec681f3Smrg      <opt>h0</opt>
33487ec681f3Smrg      <opt>h1</opt>
33497ec681f3Smrg    </mod>
33507ec681f3Smrg    <mod name="widen1" size="2">
33517ec681f3Smrg      <opt>none</opt>
33527ec681f3Smrg      <opt>h0</opt>
33537ec681f3Smrg      <opt>h1</opt>
33547ec681f3Smrg    </mod>
33557ec681f3Smrg    <mod name="cmpf" size="2">
33567ec681f3Smrg      <opt>gt</opt>
33577ec681f3Smrg      <opt>ge</opt>
33587ec681f3Smrg      <opt>lt</opt>
33597ec681f3Smrg      <opt>le</opt>
33607ec681f3Smrg    </mod>
33617ec681f3Smrg    <derived start="12" size="3">
33627ec681f3Smrg      <and>
33637ec681f3Smrg        <eq left="widen0" right="#none"/>
33647ec681f3Smrg        <eq left="widen1" right="#none"/>
33657ec681f3Smrg      </and>
33667ec681f3Smrg      <reserved/>
33677ec681f3Smrg      <reserved/>
33687ec681f3Smrg      <reserved/>
33697ec681f3Smrg      <reserved/>
33707ec681f3Smrg      <reserved/>
33717ec681f3Smrg      <reserved/>
33727ec681f3Smrg      <reserved/>
33737ec681f3Smrg    </derived>
33747ec681f3Smrg    <derived start="9" size="3">
33757ec681f3Smrg      <and>
33767ec681f3Smrg        <neq left="ordering" right="#lt"/>
33777ec681f3Smrg        <eq left="cmpf" right="#lt"/>
33787ec681f3Smrg      </and>
33797ec681f3Smrg      <and>
33807ec681f3Smrg        <neq left="ordering" right="#lt"/>
33817ec681f3Smrg        <eq left="cmpf" right="#le"/>
33827ec681f3Smrg      </and>
33837ec681f3Smrg      <and>
33847ec681f3Smrg        <neq left="ordering" right="#lt"/>
33857ec681f3Smrg        <eq left="cmpf" right="#ge"/>
33867ec681f3Smrg      </and>
33877ec681f3Smrg      <and>
33887ec681f3Smrg        <neq left="ordering" right="#lt"/>
33897ec681f3Smrg        <eq left="cmpf" right="#gt"/>
33907ec681f3Smrg      </and>
33917ec681f3Smrg      <reserved/>
33927ec681f3Smrg      <reserved/>
33937ec681f3Smrg      <reserved/>
33947ec681f3Smrg      <reserved/>
33957ec681f3Smrg    </derived>
33967ec681f3Smrg    <swap left="0" right="1">
33977ec681f3Smrg      <eq left="ordering" right="#lt"/>
33987ec681f3Smrg      <rewrite name="cmpf">
33997ec681f3Smrg        <map from="lt" to="gt"/>
34007ec681f3Smrg        <map from="le" to="ge"/>
34017ec681f3Smrg        <map from="gt" to="lt"/>
34027ec681f3Smrg        <map from="ge" to="le"/>
34037ec681f3Smrg      </rewrite>
34047ec681f3Smrg    </swap>
34057ec681f3Smrg  </ins>
34067ec681f3Smrg
34077ec681f3Smrg  <ins name="+BRANCHC.i16" mask="0xff830" exact="0x6f030" last="true" dests="0">
34087ec681f3Smrg    <src start="0"/>
34097ec681f3Smrg    <src start="6" mask="0xf7"/>
34107ec681f3Smrg    <mod name="combine" start="10" size="1">
34117ec681f3Smrg      <opt>any</opt>
34127ec681f3Smrg      <opt>all</opt>
34137ec681f3Smrg    </mod>
34147ec681f3Smrg    <mod name="lane0" size="1" default="h0">
34157ec681f3Smrg      <opt>h0</opt>
34167ec681f3Smrg      <opt>h1</opt>
34177ec681f3Smrg    </mod>
34187ec681f3Smrg    <derived start="9" size="1">
34197ec681f3Smrg      <eq left="lane0" right="#h0"/>
34207ec681f3Smrg      <eq left="lane0" right="#h1"/>
34217ec681f3Smrg    </derived>
34227ec681f3Smrg    <derived start="3" size="1">
34237ec681f3Smrg      <eq left="lane0" right="#h1"/>
34247ec681f3Smrg      <eq left="lane0" right="#h0"/>
34257ec681f3Smrg    </derived>
34267ec681f3Smrg  </ins>
34277ec681f3Smrg
34287ec681f3Smrg  <ins name="+BRANCHC.i32" mask="0xffa38" exact="0x6f238" last="true" dests="0">
34297ec681f3Smrg    <src start="0"/>
34307ec681f3Smrg    <src start="6" mask="0xf7"/>
34317ec681f3Smrg    <mod name="combine" start="10" size="1">
34327ec681f3Smrg      <opt>any</opt>
34337ec681f3Smrg      <opt>all</opt>
34347ec681f3Smrg    </mod>
34357ec681f3Smrg  </ins>
34367ec681f3Smrg
34377ec681f3Smrg  <ins name="+BRANCHZ.f16" mask="0xff000" exact="0x6f000" last="true" dests="0">
34387ec681f3Smrg    <src start="0"/>
34397ec681f3Smrg    <src start="6" mask="0xf7"/>
34407ec681f3Smrg    <mod name="widen0" size="2">
34417ec681f3Smrg      <opt>none</opt>
34427ec681f3Smrg      <opt>h0</opt>
34437ec681f3Smrg      <opt>h1</opt>
34447ec681f3Smrg    </mod>
34457ec681f3Smrg    <mod name="cmpf" size="3">
34467ec681f3Smrg      <opt>eq</opt>
34477ec681f3Smrg      <opt>gt</opt>
34487ec681f3Smrg      <opt>ge</opt>
34497ec681f3Smrg      <opt>ne</opt>
34507ec681f3Smrg      <opt>lt</opt>
34517ec681f3Smrg      <opt>le</opt>
34527ec681f3Smrg    </mod>
34537ec681f3Smrg    <derived start="4" size="2">
34547ec681f3Smrg      <reserved/>
34557ec681f3Smrg      <eq left="widen0" right="#h1"/>
34567ec681f3Smrg      <eq left="widen0" right="#h0"/>
34577ec681f3Smrg      <reserved/>
34587ec681f3Smrg    </derived>
34597ec681f3Smrg    <derived start="3" size="1">
34607ec681f3Smrg      <or>
34617ec681f3Smrg        <eq left="cmpf" right="#ne"/>
34627ec681f3Smrg        <eq left="cmpf" right="#ge"/>
34637ec681f3Smrg        <eq left="cmpf" right="#le"/>
34647ec681f3Smrg      </or>
34657ec681f3Smrg      <or>
34667ec681f3Smrg        <eq left="cmpf" right="#eq"/>
34677ec681f3Smrg        <eq left="cmpf" right="#gt"/>
34687ec681f3Smrg        <eq left="cmpf" right="#lt"/>
34697ec681f3Smrg      </or>
34707ec681f3Smrg    </derived>
34717ec681f3Smrg    <derived start="9" size="3">
34727ec681f3Smrg      <reserved/>
34737ec681f3Smrg      <reserved/>
34747ec681f3Smrg      <reserved/>
34757ec681f3Smrg      <reserved/>
34767ec681f3Smrg      <reserved/>
34777ec681f3Smrg      <or>
34787ec681f3Smrg        <eq left="cmpf" right="#ne"/>
34797ec681f3Smrg        <eq left="cmpf" right="#eq"/>
34807ec681f3Smrg      </or>
34817ec681f3Smrg      <or>
34827ec681f3Smrg        <eq left="cmpf" right="#ge"/>
34837ec681f3Smrg        <eq left="cmpf" right="#gt"/>
34847ec681f3Smrg      </or>
34857ec681f3Smrg      <or>
34867ec681f3Smrg        <eq left="cmpf" right="#le"/>
34877ec681f3Smrg        <eq left="cmpf" right="#lt"/>
34887ec681f3Smrg      </or>
34897ec681f3Smrg    </derived>
34907ec681f3Smrg  </ins>
34917ec681f3Smrg
34927ec681f3Smrg  <ins name="+BRANCHZ.f32" mask="0xff030" exact="0x6f000" last="true" dests="0">
34937ec681f3Smrg    <src start="0"/>
34947ec681f3Smrg    <src start="6" mask="0xf7"/>
34957ec681f3Smrg    <mod name="cmpf" size="3">
34967ec681f3Smrg      <opt>eq</opt>
34977ec681f3Smrg      <opt>gt</opt>
34987ec681f3Smrg      <opt>ge</opt>
34997ec681f3Smrg      <opt>ne</opt>
35007ec681f3Smrg      <opt>lt</opt>
35017ec681f3Smrg      <opt>le</opt>
35027ec681f3Smrg    </mod>
35037ec681f3Smrg    <derived start="3" size="1">
35047ec681f3Smrg      <or>
35057ec681f3Smrg        <eq left="cmpf" right="#ne"/>
35067ec681f3Smrg        <eq left="cmpf" right="#ge"/>
35077ec681f3Smrg        <eq left="cmpf" right="#le"/>
35087ec681f3Smrg      </or>
35097ec681f3Smrg      <or>
35107ec681f3Smrg        <eq left="cmpf" right="#eq"/>
35117ec681f3Smrg        <eq left="cmpf" right="#gt"/>
35127ec681f3Smrg        <eq left="cmpf" right="#lt"/>
35137ec681f3Smrg      </or>
35147ec681f3Smrg    </derived>
35157ec681f3Smrg    <derived start="9" size="3">
35167ec681f3Smrg      <reserved/>
35177ec681f3Smrg      <reserved/>
35187ec681f3Smrg      <reserved/>
35197ec681f3Smrg      <reserved/>
35207ec681f3Smrg      <reserved/>
35217ec681f3Smrg      <or>
35227ec681f3Smrg        <eq left="cmpf" right="#ne"/>
35237ec681f3Smrg        <eq left="cmpf" right="#eq"/>
35247ec681f3Smrg      </or>
35257ec681f3Smrg      <or>
35267ec681f3Smrg        <eq left="cmpf" right="#ge"/>
35277ec681f3Smrg        <eq left="cmpf" right="#gt"/>
35287ec681f3Smrg      </or>
35297ec681f3Smrg      <or>
35307ec681f3Smrg        <eq left="cmpf" right="#le"/>
35317ec681f3Smrg        <eq left="cmpf" right="#lt"/>
35327ec681f3Smrg      </or>
35337ec681f3Smrg    </derived>
35347ec681f3Smrg  </ins>
35357ec681f3Smrg
35367ec681f3Smrg  <ins name="+BRANCHZ.i16" mask="0xffe00" exact="0x6f800" last="true" dests="0">
35377ec681f3Smrg    <src start="0"/>
35387ec681f3Smrg    <src start="6" mask="0xf7"/>
35397ec681f3Smrg    <mod name="widen0" size="2">
35407ec681f3Smrg      <opt>none</opt>
35417ec681f3Smrg      <opt>h0</opt>
35427ec681f3Smrg      <opt>h1</opt>
35437ec681f3Smrg    </mod>
35447ec681f3Smrg    <mod name="cmpf" size="1">
35457ec681f3Smrg      <opt>eq</opt>
35467ec681f3Smrg      <opt>ne</opt>
35477ec681f3Smrg    </mod>
35487ec681f3Smrg    <derived start="4" size="2">
35497ec681f3Smrg      <reserved/>
35507ec681f3Smrg      <eq left="widen0" right="#h1"/>
35517ec681f3Smrg      <eq left="widen0" right="#h0"/>
35527ec681f3Smrg      <reserved/>
35537ec681f3Smrg    </derived>
35547ec681f3Smrg    <derived start="3" size="1">
35557ec681f3Smrg      <eq left="cmpf" right="#ne"/>
35567ec681f3Smrg      <eq left="cmpf" right="#eq"/>
35577ec681f3Smrg    </derived>
35587ec681f3Smrg  </ins>
35597ec681f3Smrg
35607ec681f3Smrg  <ins name="+BRANCHZ.i32" mask="0xffe30" exact="0x6f800" last="true" dests="0">
35617ec681f3Smrg    <src start="0"/>
35627ec681f3Smrg    <src start="6" mask="0xf7"/>
35637ec681f3Smrg    <mod name="cmpf" size="1">
35647ec681f3Smrg      <opt>eq</opt>
35657ec681f3Smrg      <opt>ne</opt>
35667ec681f3Smrg    </mod>
35677ec681f3Smrg    <derived start="3" size="1">
35687ec681f3Smrg      <eq left="cmpf" right="#ne"/>
35697ec681f3Smrg      <eq left="cmpf" right="#eq"/>
35707ec681f3Smrg    </derived>
35717ec681f3Smrg  </ins>
35727ec681f3Smrg
35737ec681f3Smrg  <ins name="+BRANCHZ.s16" mask="0xff008" exact="0x6f008" last="true" dests="0">
35747ec681f3Smrg    <src start="0"/>
35757ec681f3Smrg    <src start="6" mask="0xf7"/>
35767ec681f3Smrg    <mod name="widen0" size="2">
35777ec681f3Smrg      <opt>none</opt>
35787ec681f3Smrg      <opt>h0</opt>
35797ec681f3Smrg      <opt>h1</opt>
35807ec681f3Smrg    </mod>
35817ec681f3Smrg    <mod name="cmpf" size="2">
35827ec681f3Smrg      <opt>gt</opt>
35837ec681f3Smrg      <opt>ge</opt>
35847ec681f3Smrg      <opt>lt</opt>
35857ec681f3Smrg      <opt>le</opt>
35867ec681f3Smrg    </mod>
35877ec681f3Smrg    <derived start="4" size="2">
35887ec681f3Smrg      <reserved/>
35897ec681f3Smrg      <eq left="widen0" right="#h1"/>
35907ec681f3Smrg      <eq left="widen0" right="#h0"/>
35917ec681f3Smrg      <reserved/>
35927ec681f3Smrg    </derived>
35937ec681f3Smrg    <derived start="9" size="3">
35947ec681f3Smrg      <eq left="cmpf" right="#lt"/>
35957ec681f3Smrg      <eq left="cmpf" right="#le"/>
35967ec681f3Smrg      <eq left="cmpf" right="#ge"/>
35977ec681f3Smrg      <eq left="cmpf" right="#gt"/>
35987ec681f3Smrg      <reserved/>
35997ec681f3Smrg      <reserved/>
36007ec681f3Smrg      <reserved/>
36017ec681f3Smrg      <reserved/>
36027ec681f3Smrg    </derived>
36037ec681f3Smrg  </ins>
36047ec681f3Smrg
36057ec681f3Smrg  <ins name="+BRANCHZ.s32" mask="0xff038" exact="0x6f008" last="true" dests="0">
36067ec681f3Smrg    <src start="0"/>
36077ec681f3Smrg    <src start="6" mask="0xf7"/>
36087ec681f3Smrg    <mod name="cmpf" size="2">
36097ec681f3Smrg      <opt>gt</opt>
36107ec681f3Smrg      <opt>ge</opt>
36117ec681f3Smrg      <opt>lt</opt>
36127ec681f3Smrg      <opt>le</opt>
36137ec681f3Smrg    </mod>
36147ec681f3Smrg    <derived start="9" size="3">
36157ec681f3Smrg      <eq left="cmpf" right="#lt"/>
36167ec681f3Smrg      <eq left="cmpf" right="#le"/>
36177ec681f3Smrg      <eq left="cmpf" right="#ge"/>
36187ec681f3Smrg      <eq left="cmpf" right="#gt"/>
36197ec681f3Smrg      <reserved/>
36207ec681f3Smrg      <reserved/>
36217ec681f3Smrg      <reserved/>
36227ec681f3Smrg      <reserved/>
36237ec681f3Smrg    </derived>
36247ec681f3Smrg  </ins>
36257ec681f3Smrg
36267ec681f3Smrg  <ins name="+BRANCHZ.u16" mask="0xff008" exact="0x6f000" last="true" dests="0">
36277ec681f3Smrg    <src start="0"/>
36287ec681f3Smrg    <src start="6" mask="0xf7"/>
36297ec681f3Smrg    <mod name="widen0" size="2">
36307ec681f3Smrg      <opt>none</opt>
36317ec681f3Smrg      <opt>h0</opt>
36327ec681f3Smrg      <opt>h1</opt>
36337ec681f3Smrg    </mod>
36347ec681f3Smrg    <mod name="cmpf" size="2">
36357ec681f3Smrg      <opt>gt</opt>
36367ec681f3Smrg      <opt>ge</opt>
36377ec681f3Smrg      <opt>lt</opt>
36387ec681f3Smrg      <opt>le</opt>
36397ec681f3Smrg    </mod>
36407ec681f3Smrg    <derived start="4" size="2">
36417ec681f3Smrg      <reserved/>
36427ec681f3Smrg      <eq left="widen0" right="#h1"/>
36437ec681f3Smrg      <eq left="widen0" right="#h0"/>
36447ec681f3Smrg      <reserved/>
36457ec681f3Smrg    </derived>
36467ec681f3Smrg    <derived start="9" size="3">
36477ec681f3Smrg      <eq left="cmpf" right="#lt"/>
36487ec681f3Smrg      <eq left="cmpf" right="#le"/>
36497ec681f3Smrg      <eq left="cmpf" right="#ge"/>
36507ec681f3Smrg      <eq left="cmpf" right="#gt"/>
36517ec681f3Smrg      <reserved/>
36527ec681f3Smrg      <reserved/>
36537ec681f3Smrg      <reserved/>
36547ec681f3Smrg      <reserved/>
36557ec681f3Smrg    </derived>
36567ec681f3Smrg  </ins>
36577ec681f3Smrg
36587ec681f3Smrg  <ins name="+BRANCHZ.u32" mask="0xff038" exact="0x6f000" last="true" dests="0">
36597ec681f3Smrg    <src start="0"/>
36607ec681f3Smrg    <src start="6" mask="0xf7"/>
36617ec681f3Smrg    <mod name="cmpf" size="2">
36627ec681f3Smrg      <opt>gt</opt>
36637ec681f3Smrg      <opt>ge</opt>
36647ec681f3Smrg      <opt>lt</opt>
36657ec681f3Smrg      <opt>le</opt>
36667ec681f3Smrg    </mod>
36677ec681f3Smrg    <derived start="9" size="3">
36687ec681f3Smrg      <eq left="cmpf" right="#lt"/>
36697ec681f3Smrg      <eq left="cmpf" right="#le"/>
36707ec681f3Smrg      <eq left="cmpf" right="#ge"/>
36717ec681f3Smrg      <eq left="cmpf" right="#gt"/>
36727ec681f3Smrg      <reserved/>
36737ec681f3Smrg      <reserved/>
36747ec681f3Smrg      <reserved/>
36757ec681f3Smrg      <reserved/>
36767ec681f3Smrg    </derived>
36777ec681f3Smrg  </ins>
36787ec681f3Smrg
36797ec681f3Smrg  <ins name="+BRANCH_DIVERG" mask="0xffe3f" exact="0x6f83c" last="true" dests="0">
36807ec681f3Smrg    <src start="6" mask="0xf7"/>
36817ec681f3Smrg  </ins>
36827ec681f3Smrg
36837ec681f3Smrg  <ins name="+BRANCH_LOWBITS.f32" mask="0xffe38" exact="0x6fa38" last="true" dests="0">
36847ec681f3Smrg    <src start="0"/>
36857ec681f3Smrg    <src start="6" mask="0xf7"/>
36867ec681f3Smrg  </ins>
36877ec681f3Smrg
36887ec681f3Smrg  <ins name="+BRANCH_NO_DIVERG" mask="0xffe3f" exact="0x6fa34" last="true" dests="0">
36897ec681f3Smrg    <src start="6" mask="0xf7"/>
36907ec681f3Smrg  </ins>
36917ec681f3Smrg
36927ec681f3Smrg  <ins name="+CLPER_V6.i32" mask="0xfffc0" exact="0x3f0c0">
36937ec681f3Smrg    <src start="0" mask="0x7"/>
36947ec681f3Smrg    <src start="3"/>
36957ec681f3Smrg  </ins>
36967ec681f3Smrg
36977ec681f3Smrg  <ins name="+CLPER.i32" mask="0xfc000" exact="0x7c000">
36987ec681f3Smrg    <src start="0" mask="0x7"/>
36997ec681f3Smrg    <src start="3"/>
37007ec681f3Smrg    <mod name="lane_op" start="6" size="2">
37017ec681f3Smrg      <opt>none</opt>
37027ec681f3Smrg      <opt>xor</opt>
37037ec681f3Smrg      <opt>accumulate</opt>
37047ec681f3Smrg      <opt>shift</opt>
37057ec681f3Smrg    </mod>
37067ec681f3Smrg    <mod name="subgroup" start="8" size="2">
37077ec681f3Smrg      <opt>subgroup2</opt>
37087ec681f3Smrg      <opt>subgroup4</opt>
37097ec681f3Smrg      <opt>subgroup8</opt>
37107ec681f3Smrg    </mod>
37117ec681f3Smrg    <mod name="inactive_result" start="10" size="4">
37127ec681f3Smrg      <opt>zero</opt>
37137ec681f3Smrg      <opt>umax</opt>
37147ec681f3Smrg      <opt>i1</opt>
37157ec681f3Smrg      <opt>v2i1</opt>
37167ec681f3Smrg      <opt>smin</opt>
37177ec681f3Smrg      <opt>smax</opt>
37187ec681f3Smrg      <opt>v2smin</opt>
37197ec681f3Smrg      <opt>v2smax</opt>
37207ec681f3Smrg      <opt>v4smin</opt>
37217ec681f3Smrg      <opt>v4smax</opt>
37227ec681f3Smrg      <opt>f1</opt>
37237ec681f3Smrg      <opt>v2f1</opt>
37247ec681f3Smrg      <opt>infn</opt>
37257ec681f3Smrg      <opt>inf</opt>
37267ec681f3Smrg      <opt>v2infn</opt>
37277ec681f3Smrg      <opt>v2inf</opt>
37287ec681f3Smrg    </mod>
37297ec681f3Smrg  </ins>
37307ec681f3Smrg
37317ec681f3Smrg  <ins name="+CUBEFACE2" mask="0xffff8" exact="0x3de58">
37327ec681f3Smrg    <src start="0"/>
37337ec681f3Smrg  </ins>
37347ec681f3Smrg
37357ec681f3Smrg  <ins name="+CUBE_SSEL" mask="0xffc00" exact="0x3e000">
37367ec681f3Smrg    <src start="0"/>
37377ec681f3Smrg    <src start="3"/>
37387ec681f3Smrg    <src start="6"/>
37397ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
37407ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
37417ec681f3Smrg    <derived start="9" size="1">
37427ec681f3Smrg      <and>
37437ec681f3Smrg        <eq left="neg0" right="#none"/>
37447ec681f3Smrg        <eq left="neg1" right="#none"/>
37457ec681f3Smrg      </and>
37467ec681f3Smrg      <and>
37477ec681f3Smrg        <eq left="neg0" right="#neg"/>
37487ec681f3Smrg        <eq left="neg1" right="#neg"/>
37497ec681f3Smrg      </and>
37507ec681f3Smrg    </derived>
37517ec681f3Smrg  </ins>
37527ec681f3Smrg
37537ec681f3Smrg  <ins name="+CUBE_TSEL" mask="0xffc00" exact="0x3e400">
37547ec681f3Smrg    <src start="0"/>
37557ec681f3Smrg    <src start="3"/>
37567ec681f3Smrg    <src start="6"/>
37577ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
37587ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
37597ec681f3Smrg    <derived start="9" size="1">
37607ec681f3Smrg      <and>
37617ec681f3Smrg        <eq left="neg0" right="#none"/>
37627ec681f3Smrg        <eq left="neg1" right="#none"/>
37637ec681f3Smrg      </and>
37647ec681f3Smrg      <and>
37657ec681f3Smrg        <eq left="neg0" right="#neg"/>
37667ec681f3Smrg        <eq left="neg1" right="#neg"/>
37677ec681f3Smrg      </and>
37687ec681f3Smrg    </derived>
37697ec681f3Smrg  </ins>
37707ec681f3Smrg
37717ec681f3Smrg  <ins name="+DISCARD.f32" mask="0xff800" exact="0xc8800" dests="0">
37727ec681f3Smrg    <src start="0"/>
37737ec681f3Smrg    <src start="3"/>
37747ec681f3Smrg    <mod name="cmpf" size="3">
37757ec681f3Smrg      <opt>eq</opt>
37767ec681f3Smrg      <opt>gt</opt>
37777ec681f3Smrg      <opt>ge</opt>
37787ec681f3Smrg      <opt>ne</opt>
37797ec681f3Smrg      <opt>lt</opt>
37807ec681f3Smrg      <opt>le</opt>
37817ec681f3Smrg    </mod>
37827ec681f3Smrg    <mod name="widen0" size="2">
37837ec681f3Smrg      <opt>none</opt>
37847ec681f3Smrg      <opt>h0</opt>
37857ec681f3Smrg      <opt>h1</opt>
37867ec681f3Smrg    </mod>
37877ec681f3Smrg    <mod name="widen1" size="2">
37887ec681f3Smrg      <opt>none</opt>
37897ec681f3Smrg      <opt>h0</opt>
37907ec681f3Smrg      <opt>h1</opt>
37917ec681f3Smrg    </mod>
37927ec681f3Smrg    <derived start="6" size="2">
37937ec681f3Smrg      <eq left="cmpf" right="#eq"/>
37947ec681f3Smrg      <eq left="cmpf" right="#ne"/>
37957ec681f3Smrg      <eq left="cmpf" right="#lt"/>
37967ec681f3Smrg      <eq left="cmpf" right="#le"/>
37977ec681f3Smrg    </derived>
37987ec681f3Smrg    <derived start="8" size="3">
37997ec681f3Smrg      <and>
38007ec681f3Smrg        <eq left="widen0" right="#h0"/>
38017ec681f3Smrg        <eq left="widen1" right="#h0"/>
38027ec681f3Smrg      </and>
38037ec681f3Smrg      <and>
38047ec681f3Smrg        <eq left="widen0" right="#h1"/>
38057ec681f3Smrg        <eq left="widen1" right="#h0"/>
38067ec681f3Smrg      </and>
38077ec681f3Smrg      <and>
38087ec681f3Smrg        <eq left="widen0" right="#h0"/>
38097ec681f3Smrg        <eq left="widen1" right="#h1"/>
38107ec681f3Smrg      </and>
38117ec681f3Smrg      <and>
38127ec681f3Smrg        <eq left="widen0" right="#h1"/>
38137ec681f3Smrg        <eq left="widen1" right="#h1"/>
38147ec681f3Smrg      </and>
38157ec681f3Smrg      <and>
38167ec681f3Smrg        <eq left="widen0" right="#none"/>
38177ec681f3Smrg        <eq left="widen1" right="#none"/>
38187ec681f3Smrg      </and>
38197ec681f3Smrg      <reserved/>
38207ec681f3Smrg      <reserved/>
38217ec681f3Smrg      <reserved/>
38227ec681f3Smrg    </derived>
38237ec681f3Smrg    <swap left="0" right="1">
38247ec681f3Smrg      <or>
38257ec681f3Smrg        <eq left="cmpf" right="#gt"/>
38267ec681f3Smrg        <eq left="cmpf" right="#ge"/>
38277ec681f3Smrg      </or>
38287ec681f3Smrg      <rewrite name="cmpf">
38297ec681f3Smrg        <map from="gt" to="lt"/>
38307ec681f3Smrg        <map from="ge" to="le"/>
38317ec681f3Smrg      </rewrite>
38327ec681f3Smrg    </swap>
38337ec681f3Smrg  </ins>
38347ec681f3Smrg
38357ec681f3Smrg  <ins name="+DOORBELL" mask="0xffff8" exact="0xd7860" unused="true" message="job_management" dests="0">
38367ec681f3Smrg    <src start="0"/>
38377ec681f3Smrg  </ins>
38387ec681f3Smrg
38397ec681f3Smrg  <ins name="+EUREKA" mask="0xffff8" exact="0xd7850" unused="true" message="job_management" dests="0">
38407ec681f3Smrg    <src start="0"/>
38417ec681f3Smrg  </ins>
38427ec681f3Smrg
38437ec681f3Smrg  <ins name="+F16_TO_F32" mask="0xffff0" exact="0x3cd10">
38447ec681f3Smrg    <src start="0"/>
38457ec681f3Smrg    <mod name="lane0" start="3" size="1" default="h0">
38467ec681f3Smrg      <opt>h0</opt>
38477ec681f3Smrg      <opt>h1</opt>
38487ec681f3Smrg    </mod>
38497ec681f3Smrg  </ins>
38507ec681f3Smrg
38517ec681f3Smrg  <ins name="+F16_TO_S32">
38527ec681f3Smrg    <src start="0"/>
38537ec681f3Smrg    <mod name="round" size="3">
38547ec681f3Smrg      <opt>none</opt>
38557ec681f3Smrg      <opt>rtp</opt>
38567ec681f3Smrg      <opt>rtn</opt>
38577ec681f3Smrg      <opt>rtz</opt>
38587ec681f3Smrg      <opt>rtna</opt>
38597ec681f3Smrg    </mod>
38607ec681f3Smrg    <mod name="lane0" size="1" default="h0">
38617ec681f3Smrg      <opt>h0</opt>
38627ec681f3Smrg      <opt>h1</opt>
38637ec681f3Smrg    </mod>
38647ec681f3Smrg    <encoding mask="0xfff48" exact="0x3c500">
38657ec681f3Smrg      <neq left="round" right="#rtna"/>
38667ec681f3Smrg      <copy name="lane0" start="7"/>
38677ec681f3Smrg      <derived start="4" size="2">
38687ec681f3Smrg        <eq left="round" right="#none"/>
38697ec681f3Smrg        <eq left="round" right="#rtp"/>
38707ec681f3Smrg        <eq left="round" right="#rtn"/>
38717ec681f3Smrg        <eq left="round" right="#rtz"/>
38727ec681f3Smrg      </derived>
38737ec681f3Smrg    </encoding>
38747ec681f3Smrg    <encoding mask="0xfffd8" exact="0x3cc40">
38757ec681f3Smrg      <eq left="round" right="#rtna"/>
38767ec681f3Smrg      <copy name="lane0" start="5"/>
38777ec681f3Smrg    </encoding>
38787ec681f3Smrg  </ins>
38797ec681f3Smrg
38807ec681f3Smrg  <ins name="+F16_TO_U32">
38817ec681f3Smrg    <src start="0"/>
38827ec681f3Smrg    <mod name="round" size="3">
38837ec681f3Smrg      <opt>none</opt>
38847ec681f3Smrg      <opt>rtp</opt>
38857ec681f3Smrg      <opt>rtn</opt>
38867ec681f3Smrg      <opt>rtz</opt>
38877ec681f3Smrg      <opt>rtna</opt>
38887ec681f3Smrg    </mod>
38897ec681f3Smrg    <mod name="lane0" size="1" default="h0">
38907ec681f3Smrg      <opt>h0</opt>
38917ec681f3Smrg      <opt>h1</opt>
38927ec681f3Smrg    </mod>
38937ec681f3Smrg    <encoding mask="0xfff48" exact="0x3c508">
38947ec681f3Smrg      <neq left="round" right="#rtna"/>
38957ec681f3Smrg      <copy name="lane0" start="7"/>
38967ec681f3Smrg      <derived start="4" size="2">
38977ec681f3Smrg        <eq left="round" right="#none"/>
38987ec681f3Smrg        <eq left="round" right="#rtp"/>
38997ec681f3Smrg        <eq left="round" right="#rtn"/>
39007ec681f3Smrg        <eq left="round" right="#rtz"/>
39017ec681f3Smrg      </derived>
39027ec681f3Smrg    </encoding>
39037ec681f3Smrg    <encoding mask="0xfffd8" exact="0x3cc48">
39047ec681f3Smrg      <eq left="round" right="#rtna"/>
39057ec681f3Smrg      <copy name="lane0" start="5"/>
39067ec681f3Smrg    </encoding>
39077ec681f3Smrg  </ins>
39087ec681f3Smrg
39097ec681f3Smrg  <ins name="+F32_TO_S32">
39107ec681f3Smrg    <src start="0"/>
39117ec681f3Smrg    <mod name="round" size="3">
39127ec681f3Smrg      <opt>none</opt>
39137ec681f3Smrg      <opt>rtp</opt>
39147ec681f3Smrg      <opt>rtn</opt>
39157ec681f3Smrg      <opt>rtz</opt>
39167ec681f3Smrg      <opt>rtna</opt>
39177ec681f3Smrg    </mod>
39187ec681f3Smrg    <encoding mask="0xfffc8" exact="0x3c980">
39197ec681f3Smrg      <neq left="round" right="#rtna"/>
39207ec681f3Smrg      <derived start="4" size="2">
39217ec681f3Smrg        <eq left="round" right="#none"/>
39227ec681f3Smrg        <eq left="round" right="#rtp"/>
39237ec681f3Smrg        <eq left="round" right="#rtn"/>
39247ec681f3Smrg        <eq left="round" right="#rtz"/>
39257ec681f3Smrg      </derived>
39267ec681f3Smrg    </encoding>
39277ec681f3Smrg    <encoding mask="0xffff8" exact="0x3cca0">
39287ec681f3Smrg      <eq left="round" right="#rtna"/>
39297ec681f3Smrg    </encoding>
39307ec681f3Smrg  </ins>
39317ec681f3Smrg
39327ec681f3Smrg  <ins name="+F32_TO_U32">
39337ec681f3Smrg    <src start="0"/>
39347ec681f3Smrg    <mod name="round" size="3">
39357ec681f3Smrg      <opt>none</opt>
39367ec681f3Smrg      <opt>rtp</opt>
39377ec681f3Smrg      <opt>rtn</opt>
39387ec681f3Smrg      <opt>rtz</opt>
39397ec681f3Smrg      <opt>rtna</opt>
39407ec681f3Smrg    </mod>
39417ec681f3Smrg    <encoding mask="0xfffc8" exact="0x3c988">
39427ec681f3Smrg      <neq left="round" right="#rtna"/>
39437ec681f3Smrg      <derived start="4" size="2">
39447ec681f3Smrg        <eq left="round" right="#none"/>
39457ec681f3Smrg        <eq left="round" right="#rtp"/>
39467ec681f3Smrg        <eq left="round" right="#rtn"/>
39477ec681f3Smrg        <eq left="round" right="#rtz"/>
39487ec681f3Smrg      </derived>
39497ec681f3Smrg    </encoding>
39507ec681f3Smrg    <encoding mask="0xffff8" exact="0x3cca8">
39517ec681f3Smrg      <eq left="round" right="#rtna"/>
39527ec681f3Smrg    </encoding>
39537ec681f3Smrg  </ins>
39547ec681f3Smrg
39557ec681f3Smrg  <ins name="+FADD.f32">
39567ec681f3Smrg    <src start="0"/>
39577ec681f3Smrg    <src start="3"/>
39587ec681f3Smrg    <mod name="round" size="3">
39597ec681f3Smrg      <opt>none</opt>
39607ec681f3Smrg      <opt>rtp</opt>
39617ec681f3Smrg      <opt>rtn</opt>
39627ec681f3Smrg      <opt>rtz</opt>
39637ec681f3Smrg      <opt>rto</opt>
39647ec681f3Smrg    </mod>
39657ec681f3Smrg    <mod name="abs1" size="1" opt="abs"/>
39667ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
39677ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
39687ec681f3Smrg    <mod name="clamp" size="2">
39697ec681f3Smrg      <opt>none</opt>
39707ec681f3Smrg      <opt>clamp_0_inf</opt>
39717ec681f3Smrg      <opt>clamp_m1_1</opt>
39727ec681f3Smrg      <opt>clamp_0_1</opt>
39737ec681f3Smrg    </mod>
39747ec681f3Smrg    <mod name="abs0" size="1" opt="abs"/>
39757ec681f3Smrg    <mod name="widen0" size="2">
39767ec681f3Smrg      <opt>none</opt>
39777ec681f3Smrg      <opt>h0</opt>
39787ec681f3Smrg      <opt>h1</opt>
39797ec681f3Smrg    </mod>
39807ec681f3Smrg    <mod name="widen1" size="2">
39817ec681f3Smrg      <opt>none</opt>
39827ec681f3Smrg      <opt>h0</opt>
39837ec681f3Smrg      <opt>h1</opt>
39847ec681f3Smrg    </mod>
39857ec681f3Smrg    <encoding mask="0xf0000" exact="0x20000">
39867ec681f3Smrg      <neq left="round" right="#rto"/>
39877ec681f3Smrg      <copy name="abs1" start="6"/>
39887ec681f3Smrg      <copy name="neg0" start="7"/>
39897ec681f3Smrg      <copy name="neg1" start="8"/>
39907ec681f3Smrg      <copy name="clamp" start="11"/>
39917ec681f3Smrg      <copy name="abs0" start="15"/>
39927ec681f3Smrg      <derived start="13" size="2">
39937ec681f3Smrg        <eq left="round" right="#none"/>
39947ec681f3Smrg        <eq left="round" right="#rtp"/>
39957ec681f3Smrg        <eq left="round" right="#rtn"/>
39967ec681f3Smrg        <eq left="round" right="#rtz"/>
39977ec681f3Smrg      </derived>
39987ec681f3Smrg      <derived start="9" size="2">
39997ec681f3Smrg        <and>
40007ec681f3Smrg          <eq left="widen0" right="#none"/>
40017ec681f3Smrg          <eq left="widen1" right="#none"/>
40027ec681f3Smrg        </and>
40037ec681f3Smrg        <and>
40047ec681f3Smrg          <eq left="widen0" right="#none"/>
40057ec681f3Smrg          <eq left="widen1" right="#h0"/>
40067ec681f3Smrg        </and>
40077ec681f3Smrg        <and>
40087ec681f3Smrg          <eq left="widen0" right="#none"/>
40097ec681f3Smrg          <eq left="widen1" right="#h1"/>
40107ec681f3Smrg        </and>
40117ec681f3Smrg        <and>
40127ec681f3Smrg          <eq left="widen0" right="#h0"/>
40137ec681f3Smrg          <eq left="widen1" right="#h0"/>
40147ec681f3Smrg        </and>
40157ec681f3Smrg      </derived>
40167ec681f3Smrg    </encoding>
40177ec681f3Smrg    <encoding mask="0xfffc0" exact="0x75200">
40187ec681f3Smrg      <and>
40197ec681f3Smrg        <eq left="round" right="#rto"/>
40207ec681f3Smrg        <eq left="widen0" right="#none"/>
40217ec681f3Smrg        <eq left="widen1" right="#none"/>
40227ec681f3Smrg        <eq left="abs0" right="#none"/>
40237ec681f3Smrg        <eq left="abs1" right="#none"/>
40247ec681f3Smrg        <eq left="neg0" right="#none"/>
40257ec681f3Smrg        <eq left="neg1" right="#none"/>
40267ec681f3Smrg        <eq left="clamp" right="#none"/>
40277ec681f3Smrg      </and>
40287ec681f3Smrg    </encoding>
40297ec681f3Smrg    <swap left="0" right="1">
40307ec681f3Smrg      <or>
40317ec681f3Smrg        <and>
40327ec681f3Smrg          <eq left="widen0" right="#h0"/>
40337ec681f3Smrg          <eq left="widen1" right="#none"/>
40347ec681f3Smrg        </and>
40357ec681f3Smrg        <and>
40367ec681f3Smrg          <eq left="widen0" right="#h1"/>
40377ec681f3Smrg          <eq left="widen1" right="#none"/>
40387ec681f3Smrg        </and>
40397ec681f3Smrg      </or>
40407ec681f3Smrg    </swap>
40417ec681f3Smrg  </ins>
40427ec681f3Smrg
40437ec681f3Smrg  <ins name="+FADD.v2f16" mask="0xf0000" exact="0xa0000">
40447ec681f3Smrg    <src start="0"/>
40457ec681f3Smrg    <src start="3"/>
40467ec681f3Smrg    <mod name="abs1" start="6" size="1" opt="abs"/>
40477ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
40487ec681f3Smrg    <mod name="neg1" start="8" size="1" opt="neg"/>
40497ec681f3Smrg    <mod name="swz0" start="9" size="2" default="h01">
40507ec681f3Smrg      <opt>h00</opt>
40517ec681f3Smrg      <opt>h10</opt>
40527ec681f3Smrg      <opt>h01</opt>
40537ec681f3Smrg      <opt>h11</opt>
40547ec681f3Smrg    </mod>
40557ec681f3Smrg    <mod name="swz1" start="11" size="2" default="h01">
40567ec681f3Smrg      <opt>h00</opt>
40577ec681f3Smrg      <opt>h10</opt>
40587ec681f3Smrg      <opt>h01</opt>
40597ec681f3Smrg      <opt>h11</opt>
40607ec681f3Smrg    </mod>
40617ec681f3Smrg    <mod name="round" start="13" size="2">
40627ec681f3Smrg      <opt>none</opt>
40637ec681f3Smrg      <opt>rtp</opt>
40647ec681f3Smrg      <opt>rtn</opt>
40657ec681f3Smrg      <opt>rtz</opt>
40667ec681f3Smrg    </mod>
40677ec681f3Smrg    <mod name="abs0" start="15" size="1" opt="abs"/>
40687ec681f3Smrg  </ins>
40697ec681f3Smrg
40707ec681f3Smrg  <ins name="+FADD_RSCALE.f32" mask="0xe8000" exact="0x88000">
40717ec681f3Smrg    <src start="0"/>
40727ec681f3Smrg    <src start="3"/>
40737ec681f3Smrg    <src start="6"/>
40747ec681f3Smrg    <mod name="clamp" size="1" opt="clamp_0_1"/>
40757ec681f3Smrg    <mod name="special" size="1" opt="n"/>
40767ec681f3Smrg    <mod name="round" size="3">
40777ec681f3Smrg      <opt>none</opt>
40787ec681f3Smrg      <opt>rtp</opt>
40797ec681f3Smrg      <opt>rtn</opt>
40807ec681f3Smrg      <opt>rtz</opt>
40817ec681f3Smrg      <opt>rtna</opt>
40827ec681f3Smrg    </mod>
40837ec681f3Smrg    <mod name="abs1" start="12" size="1" opt="abs"/>
40847ec681f3Smrg    <mod name="neg0" start="13" size="1" opt="neg"/>
40857ec681f3Smrg    <mod name="neg1" start="14" size="1" opt="neg"/>
40867ec681f3Smrg    <mod name="abs0" start="16" size="1" opt="abs"/>
40877ec681f3Smrg    <derived start="9" size="3">
40887ec681f3Smrg      <and>
40897ec681f3Smrg        <eq left="clamp" right="#none"/>
40907ec681f3Smrg        <eq left="special" right="#none"/>
40917ec681f3Smrg        <eq left="round" right="#none"/>
40927ec681f3Smrg      </and>
40937ec681f3Smrg      <reserved/>
40947ec681f3Smrg      <and>
40957ec681f3Smrg        <eq left="clamp" right="#clamp_0_1"/>
40967ec681f3Smrg        <eq left="special" right="#none"/>
40977ec681f3Smrg        <eq left="round" right="#none"/>
40987ec681f3Smrg      </and>
40997ec681f3Smrg      <and>
41007ec681f3Smrg        <eq left="clamp" right="#none"/>
41017ec681f3Smrg        <eq left="special" right="#n"/>
41027ec681f3Smrg        <eq left="round" right="#rtna"/>
41037ec681f3Smrg      </and>
41047ec681f3Smrg      <and>
41057ec681f3Smrg        <eq left="clamp" right="#none"/>
41067ec681f3Smrg        <eq left="special" right="#n"/>
41077ec681f3Smrg        <eq left="round" right="#none"/>
41087ec681f3Smrg      </and>
41097ec681f3Smrg      <and>
41107ec681f3Smrg        <eq left="clamp" right="#none"/>
41117ec681f3Smrg        <eq left="special" right="#n"/>
41127ec681f3Smrg        <eq left="round" right="#rtp"/>
41137ec681f3Smrg      </and>
41147ec681f3Smrg      <and>
41157ec681f3Smrg        <eq left="clamp" right="#none"/>
41167ec681f3Smrg        <eq left="special" right="#n"/>
41177ec681f3Smrg        <eq left="round" right="#rtn"/>
41187ec681f3Smrg      </and>
41197ec681f3Smrg      <and>
41207ec681f3Smrg        <eq left="clamp" right="#none"/>
41217ec681f3Smrg        <eq left="special" right="#n"/>
41227ec681f3Smrg        <eq left="round" right="#rtz"/>
41237ec681f3Smrg      </and>
41247ec681f3Smrg    </derived>
41257ec681f3Smrg  </ins>
41267ec681f3Smrg
41277ec681f3Smrg  <ins name="+FATAN_ASSIST.f16" mask="0xfff00" exact="0x67800" unused="true" table="true">
41287ec681f3Smrg    <src start="0" mask="0xf7"/>
41297ec681f3Smrg    <src start="3" mask="0xf7"/>
41307ec681f3Smrg    <mod name="lane1" start="6" size="1" default="h0">
41317ec681f3Smrg      <opt>h0</opt>
41327ec681f3Smrg      <opt>h1</opt>
41337ec681f3Smrg    </mod>
41347ec681f3Smrg    <mod name="lane0" start="7" size="1" default="h0">
41357ec681f3Smrg      <opt>h0</opt>
41367ec681f3Smrg      <opt>h1</opt>
41377ec681f3Smrg    </mod>
41387ec681f3Smrg  </ins>
41397ec681f3Smrg
41407ec681f3Smrg  <ins name="+FATAN_ASSIST.f32" mask="0xfffc0" exact="0x67a00" unused="true" table="true">
41417ec681f3Smrg    <src start="0" mask="0xf7"/>
41427ec681f3Smrg    <src start="3" mask="0xf7"/>
41437ec681f3Smrg  </ins>
41447ec681f3Smrg
41457ec681f3Smrg  <ins name="+FATAN_TABLE.f16" mask="0xfff00" exact="0x67900" unused="true" table="true">
41467ec681f3Smrg    <src start="0" mask="0xf7"/>
41477ec681f3Smrg    <src start="3" mask="0xf7"/>
41487ec681f3Smrg    <mod name="lane1" start="6" size="1" default="h0">
41497ec681f3Smrg      <opt>h0</opt>
41507ec681f3Smrg      <opt>h1</opt>
41517ec681f3Smrg    </mod>
41527ec681f3Smrg    <mod name="lane0" start="7" size="1" default="h0">
41537ec681f3Smrg      <opt>h0</opt>
41547ec681f3Smrg      <opt>h1</opt>
41557ec681f3Smrg    </mod>
41567ec681f3Smrg  </ins>
41577ec681f3Smrg
41587ec681f3Smrg  <ins name="+FATAN_TABLE.f32" mask="0xfffc0" exact="0x67a40" unused="true" table="true">
41597ec681f3Smrg    <src start="0" mask="0xf7"/>
41607ec681f3Smrg    <src start="3" mask="0xf7"/>
41617ec681f3Smrg  </ins>
41627ec681f3Smrg
41637ec681f3Smrg  <ins name="+FCMP.f32" mask="0xf0000" exact="0x30000">
41647ec681f3Smrg    <src start="0"/>
41657ec681f3Smrg    <src start="3"/>
41667ec681f3Smrg    <mod name="widen0" size="2">
41677ec681f3Smrg      <opt>none</opt>
41687ec681f3Smrg      <opt>h0</opt>
41697ec681f3Smrg      <opt>h1</opt>
41707ec681f3Smrg    </mod>
41717ec681f3Smrg    <mod name="widen1" size="2">
41727ec681f3Smrg      <opt>none</opt>
41737ec681f3Smrg      <opt>h0</opt>
41747ec681f3Smrg      <opt>h1</opt>
41757ec681f3Smrg    </mod>
41767ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
41777ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
41787ec681f3Smrg    <mod name="cmpf" start="6" size="3">
41797ec681f3Smrg      <opt>eq</opt>
41807ec681f3Smrg      <opt>gt</opt>
41817ec681f3Smrg      <opt>ge</opt>
41827ec681f3Smrg      <opt>ne</opt>
41837ec681f3Smrg      <opt>lt</opt>
41847ec681f3Smrg      <opt>le</opt>
41857ec681f3Smrg      <opt>gtlt</opt>
41867ec681f3Smrg      <opt>total</opt>
41877ec681f3Smrg    </mod>
41887ec681f3Smrg    <mod name="abs0" start="11" size="1" opt="abs"/>
41897ec681f3Smrg    <mod name="abs1" start="12" size="1" opt="abs"/>
41907ec681f3Smrg    <mod name="result_type" start="14" size="2" default="i1">
41917ec681f3Smrg      <opt>i1</opt>
41927ec681f3Smrg      <opt>f1</opt>
41937ec681f3Smrg      <opt>m1</opt>
41947ec681f3Smrg    </mod>
41957ec681f3Smrg    <derived start="9" size="2">
41967ec681f3Smrg      <and>
41977ec681f3Smrg        <eq left="widen0" right="#none"/>
41987ec681f3Smrg        <eq left="widen1" right="#none"/>
41997ec681f3Smrg      </and>
42007ec681f3Smrg      <and>
42017ec681f3Smrg        <eq left="widen0" right="#none"/>
42027ec681f3Smrg        <eq left="widen1" right="#h0"/>
42037ec681f3Smrg      </and>
42047ec681f3Smrg      <and>
42057ec681f3Smrg        <eq left="widen0" right="#none"/>
42067ec681f3Smrg        <eq left="widen1" right="#h1"/>
42077ec681f3Smrg      </and>
42087ec681f3Smrg      <and>
42097ec681f3Smrg        <eq left="widen0" right="#h0"/>
42107ec681f3Smrg        <eq left="widen1" right="#h0"/>
42117ec681f3Smrg      </and>
42127ec681f3Smrg    </derived>
42137ec681f3Smrg    <derived start="13" size="1">
42147ec681f3Smrg      <and>
42157ec681f3Smrg        <eq left="neg0" right="#none"/>
42167ec681f3Smrg        <eq left="neg1" right="#none"/>
42177ec681f3Smrg      </and>
42187ec681f3Smrg      <and>
42197ec681f3Smrg        <eq left="neg0" right="#neg"/>
42207ec681f3Smrg        <eq left="neg1" right="#none"/>
42217ec681f3Smrg      </and>
42227ec681f3Smrg    </derived>
42237ec681f3Smrg    <swap left="0" right="1">
42247ec681f3Smrg      <or>
42257ec681f3Smrg        <and>
42267ec681f3Smrg          <eq left="neg0" right="#none"/>
42277ec681f3Smrg          <eq left="neg1" right="#neg"/>
42287ec681f3Smrg        </and>
42297ec681f3Smrg        <and>
42307ec681f3Smrg          <eq left="widen0" right="#h0"/>
42317ec681f3Smrg          <eq left="widen1" right="#none"/>
42327ec681f3Smrg        </and>
42337ec681f3Smrg        <and>
42347ec681f3Smrg          <eq left="widen0" right="#h1"/>
42357ec681f3Smrg          <eq left="widen1" right="#none"/>
42367ec681f3Smrg        </and>
42377ec681f3Smrg      </or>
42387ec681f3Smrg      <rewrite name="cmpf">
42397ec681f3Smrg        <map from="lt" to="gt"/>
42407ec681f3Smrg        <map from="le" to="ge"/>
42417ec681f3Smrg        <map from="gt" to="lt"/>
42427ec681f3Smrg        <map from="ge" to="le"/>
42437ec681f3Smrg      </rewrite>
42447ec681f3Smrg    </swap>
42457ec681f3Smrg  </ins>
42467ec681f3Smrg
42477ec681f3Smrg  <ins name="+FCMP.v2f16" mask="0xf0000" exact="0xb0000">
42487ec681f3Smrg    <src start="0"/>
42497ec681f3Smrg    <src start="3"/>
42507ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
42517ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
42527ec681f3Smrg    <mod name="cmpf" start="6" size="3">
42537ec681f3Smrg      <opt>eq</opt>
42547ec681f3Smrg      <opt>gt</opt>
42557ec681f3Smrg      <opt>ge</opt>
42567ec681f3Smrg      <opt>ne</opt>
42577ec681f3Smrg      <opt>lt</opt>
42587ec681f3Smrg      <opt>le</opt>
42597ec681f3Smrg      <opt>gtlt</opt>
42607ec681f3Smrg      <opt>total</opt>
42617ec681f3Smrg    </mod>
42627ec681f3Smrg    <mod name="swz0" start="9" size="2" default="h01">
42637ec681f3Smrg      <opt>h00</opt>
42647ec681f3Smrg      <opt>h10</opt>
42657ec681f3Smrg      <opt>h01</opt>
42667ec681f3Smrg      <opt>h11</opt>
42677ec681f3Smrg    </mod>
42687ec681f3Smrg    <mod name="swz1" start="11" size="2" default="h01">
42697ec681f3Smrg      <opt>h00</opt>
42707ec681f3Smrg      <opt>h10</opt>
42717ec681f3Smrg      <opt>h01</opt>
42727ec681f3Smrg      <opt>h11</opt>
42737ec681f3Smrg    </mod>
42747ec681f3Smrg    <mod name="result_type" start="14" size="2" default="i1">
42757ec681f3Smrg      <opt>i1</opt>
42767ec681f3Smrg      <opt>f1</opt>
42777ec681f3Smrg      <opt>m1</opt>
42787ec681f3Smrg    </mod>
42797ec681f3Smrg    <derived start="13" size="1">
42807ec681f3Smrg      <and>
42817ec681f3Smrg        <eq left="neg0" right="#none"/>
42827ec681f3Smrg        <eq left="neg1" right="#none"/>
42837ec681f3Smrg      </and>
42847ec681f3Smrg      <and>
42857ec681f3Smrg        <eq left="neg0" right="#neg"/>
42867ec681f3Smrg        <eq left="neg1" right="#none"/>
42877ec681f3Smrg      </and>
42887ec681f3Smrg    </derived>
42897ec681f3Smrg    <swap left="0" right="1">
42907ec681f3Smrg      <and>
42917ec681f3Smrg        <eq left="neg0" right="#none"/>
42927ec681f3Smrg        <eq left="neg1" right="#neg"/>
42937ec681f3Smrg      </and>
42947ec681f3Smrg      <rewrite name="cmpf">
42957ec681f3Smrg        <map from="lt" to="gt"/>
42967ec681f3Smrg        <map from="le" to="ge"/>
42977ec681f3Smrg        <map from="gt" to="lt"/>
42987ec681f3Smrg        <map from="ge" to="le"/>
42997ec681f3Smrg      </rewrite>
43007ec681f3Smrg    </swap>
43017ec681f3Smrg  </ins>
43027ec681f3Smrg
43037ec681f3Smrg  <ins name="+FCOS_TABLE.u6" mask="0xfffe8" exact="0x67a88" table="true">
43047ec681f3Smrg    <src start="0" mask="0xf7"/>
43057ec681f3Smrg    <mod name="offset" start="4" size="1" opt="offset"/>
43067ec681f3Smrg  </ins>
43077ec681f3Smrg
43087ec681f3Smrg  <ins name="+FEXP.f32" mask="0xfffc0" exact="0x66ac0" table="true">
43097ec681f3Smrg    <src start="0" mask="0xf7"/>
43107ec681f3Smrg    <src start="3" mask="0xf7"/>
43117ec681f3Smrg  </ins>
43127ec681f3Smrg
43137ec681f3Smrg  <ins name="+FEXP_TABLE.u4" mask="0xfffe0" exact="0x67ac0" table="true">
43147ec681f3Smrg    <src start="0" mask="0xf7"/>
43157ec681f3Smrg    <mod name="adj" start="3" size="2">
43167ec681f3Smrg      <opt>none</opt>
43177ec681f3Smrg      <opt>small</opt>
43187ec681f3Smrg      <opt>low</opt>
43197ec681f3Smrg    </mod>
43207ec681f3Smrg  </ins>
43217ec681f3Smrg
43227ec681f3Smrg  <ins name="+FLOGD.f32" mask="0xffff8" exact="0x66340" table="true">
43237ec681f3Smrg    <src start="0" mask="0xf7"/>
43247ec681f3Smrg  </ins>
43257ec681f3Smrg
43267ec681f3Smrg  <ins name="+FLOG_TABLE.f32" table="true">
43277ec681f3Smrg    <src start="0" mask="0xf7"/>
43287ec681f3Smrg    <mod name="widen0" size="2">
43297ec681f3Smrg      <opt>none</opt>
43307ec681f3Smrg      <opt>h0</opt>
43317ec681f3Smrg      <opt>h1</opt>
43327ec681f3Smrg    </mod>
43337ec681f3Smrg    <mod name="mode" size="2">
43347ec681f3Smrg      <opt>red</opt>
43357ec681f3Smrg      <opt>base2</opt>
43367ec681f3Smrg      <opt>natural</opt>
43377ec681f3Smrg    </mod>
43387ec681f3Smrg    <mod name="precision" size="2">
43397ec681f3Smrg      <opt>none</opt>
43407ec681f3Smrg      <opt>high</opt>
43417ec681f3Smrg      <opt>low</opt>
43427ec681f3Smrg    </mod>
43437ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
43447ec681f3Smrg    <mod name="abs0" size="1" opt="abs"/>
43457ec681f3Smrg    <mod name="divzero" size="1" opt="divzero"/>
43467ec681f3Smrg    <encoding mask="0xfffc0" exact="0x67300">
43477ec681f3Smrg      <and>
43487ec681f3Smrg        <eq left="mode" right="#red"/>
43497ec681f3Smrg        <eq left="widen0" right="#none"/>
43507ec681f3Smrg        <eq left="precision" right="#none"/>
43517ec681f3Smrg      </and>
43527ec681f3Smrg      <copy name="neg0" start="3"/>
43537ec681f3Smrg      <copy name="abs0" start="4"/>
43547ec681f3Smrg      <copy name="divzero" start="5"/>
43557ec681f3Smrg    </encoding>
43567ec681f3Smrg    <encoding mask="0xfff40" exact="0x67340">
43577ec681f3Smrg      <and>
43587ec681f3Smrg        <eq left="mode" right="#red"/>
43597ec681f3Smrg        <neq left="widen0" right="#none"/>
43607ec681f3Smrg        <eq left="precision" right="#none"/>
43617ec681f3Smrg      </and>
43627ec681f3Smrg      <copy name="neg0" start="3"/>
43637ec681f3Smrg      <copy name="abs0" start="4"/>
43647ec681f3Smrg      <copy name="divzero" start="5"/>
43657ec681f3Smrg      <derived start="7" size="1">
43667ec681f3Smrg        <eq left="widen0" right="#h0"/>
43677ec681f3Smrg        <eq left="widen0" right="#h1"/>
43687ec681f3Smrg      </derived>
43697ec681f3Smrg    </encoding>
43707ec681f3Smrg    <encoding mask="0xfffc0" exact="0x67b00">
43717ec681f3Smrg      <and>
43727ec681f3Smrg        <neq left="mode" right="#red"/>
43737ec681f3Smrg        <eq left="widen0" right="#none"/>
43747ec681f3Smrg        <eq left="precision" right="#none"/>
43757ec681f3Smrg        <eq left="divzero" right="#none"/>
43767ec681f3Smrg      </and>
43777ec681f3Smrg      <copy name="neg0" start="3"/>
43787ec681f3Smrg      <copy name="abs0" start="4"/>
43797ec681f3Smrg      <derived start="5" size="1">
43807ec681f3Smrg        <eq left="mode" right="#base2"/>
43817ec681f3Smrg        <eq left="mode" right="#natural"/>
43827ec681f3Smrg      </derived>
43837ec681f3Smrg    </encoding>
43847ec681f3Smrg    <encoding mask="0xfff40" exact="0x67b40">
43857ec681f3Smrg      <and>
43867ec681f3Smrg        <neq left="mode" right="#red"/>
43877ec681f3Smrg        <neq left="widen0" right="#none"/>
43887ec681f3Smrg        <eq left="precision" right="#none"/>
43897ec681f3Smrg        <eq left="divzero" right="#none"/>
43907ec681f3Smrg      </and>
43917ec681f3Smrg      <copy name="neg0" start="3"/>
43927ec681f3Smrg      <copy name="abs0" start="4"/>
43937ec681f3Smrg      <derived start="5" size="1">
43947ec681f3Smrg        <eq left="mode" right="#base2"/>
43957ec681f3Smrg        <eq left="mode" right="#natural"/>
43967ec681f3Smrg      </derived>
43977ec681f3Smrg      <derived start="7" size="1">
43987ec681f3Smrg        <eq left="widen0" right="#h0"/>
43997ec681f3Smrg        <eq left="widen0" right="#h1"/>
44007ec681f3Smrg      </derived>
44017ec681f3Smrg    </encoding>
44027ec681f3Smrg    <encoding mask="0xfffe0" exact="0x67ae0">
44037ec681f3Smrg      <and>
44047ec681f3Smrg        <neq left="mode" right="#red"/>
44057ec681f3Smrg        <eq left="widen0" right="#none"/>
44067ec681f3Smrg        <neq left="precision" right="#none"/>
44077ec681f3Smrg        <eq left="divzero" right="#none"/>
44087ec681f3Smrg        <eq left="abs0" right="#none"/>
44097ec681f3Smrg        <eq left="neg0" right="#none"/>
44107ec681f3Smrg      </and>
44117ec681f3Smrg      <derived start="3" size="1">
44127ec681f3Smrg        <eq left="mode" right="#natural"/>
44137ec681f3Smrg        <eq left="mode" right="#base2"/>
44147ec681f3Smrg      </derived>
44157ec681f3Smrg      <derived start="4" size="1">
44167ec681f3Smrg        <eq left="precision" right="#high"/>
44177ec681f3Smrg        <eq left="precision" right="#low"/>
44187ec681f3Smrg      </derived>
44197ec681f3Smrg    </encoding>
44207ec681f3Smrg  </ins>
44217ec681f3Smrg
44227ec681f3Smrg  <ins name="+FMAX.f32" mask="0xf0600" exact="0x0">
44237ec681f3Smrg    <src start="0"/>
44247ec681f3Smrg    <src start="3"/>
44257ec681f3Smrg    <mod name="abs1" start="6" size="1" opt="abs"/>
44267ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
44277ec681f3Smrg    <mod name="neg1" start="8" size="1" opt="neg"/>
44287ec681f3Smrg    <mod name="clamp" start="11" size="2">
44297ec681f3Smrg      <opt>none</opt>
44307ec681f3Smrg      <opt>clamp_0_inf</opt>
44317ec681f3Smrg      <opt>clamp_m1_1</opt>
44327ec681f3Smrg      <opt>clamp_0_1</opt>
44337ec681f3Smrg    </mod>
44347ec681f3Smrg    <mod name="sem" start="13" size="2" default="nan_suppress">
44357ec681f3Smrg      <opt>nan_suppress</opt>
44367ec681f3Smrg      <opt>nan_propagate</opt>
44377ec681f3Smrg      <opt>c</opt>
44387ec681f3Smrg      <opt>inverse_c</opt>
44397ec681f3Smrg    </mod>
44407ec681f3Smrg    <mod name="abs0" start="15" size="1" opt="abs"/>
44417ec681f3Smrg  </ins>
44427ec681f3Smrg
44437ec681f3Smrg  <ins name="+FMAX.v2f16" mask="0xf8000" exact="0x80000">
44447ec681f3Smrg    <src start="0"/>
44457ec681f3Smrg    <src start="3"/>
44467ec681f3Smrg    <mod name="abs0" size="1" opt="abs"/>
44477ec681f3Smrg    <mod name="abs1" size="1" opt="abs"/>
44487ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
44497ec681f3Smrg    <mod name="neg1" start="8" size="1" opt="neg"/>
44507ec681f3Smrg    <mod name="swz0" start="9" size="2" default="h01">
44517ec681f3Smrg      <opt>h00</opt>
44527ec681f3Smrg      <opt>h10</opt>
44537ec681f3Smrg      <opt>h01</opt>
44547ec681f3Smrg      <opt>h11</opt>
44557ec681f3Smrg    </mod>
44567ec681f3Smrg    <mod name="swz1" start="11" size="2" default="h01">
44577ec681f3Smrg      <opt>h00</opt>
44587ec681f3Smrg      <opt>h10</opt>
44597ec681f3Smrg      <opt>h01</opt>
44607ec681f3Smrg      <opt>h11</opt>
44617ec681f3Smrg    </mod>
44627ec681f3Smrg    <mod name="sem" start="13" size="2" default="nan_suppress">
44637ec681f3Smrg      <opt>nan_suppress</opt>
44647ec681f3Smrg      <opt>nan_propagate</opt>
44657ec681f3Smrg      <opt>c</opt>
44667ec681f3Smrg      <opt>inverse_c</opt>
44677ec681f3Smrg    </mod>
44687ec681f3Smrg    <derived start="6" size="1">
44697ec681f3Smrg      <or>
44707ec681f3Smrg        <and>
44717ec681f3Smrg          <eq left="abs0" right="#abs"/>
44727ec681f3Smrg          <eq left="abs1" right="#none"/>
44737ec681f3Smrg          <eq left="ordering" right="#gt"/>
44747ec681f3Smrg        </and>
44757ec681f3Smrg        <and>
44767ec681f3Smrg          <eq left="abs0" right="#none"/>
44777ec681f3Smrg          <eq left="abs1" right="#none"/>
44787ec681f3Smrg          <neq left="ordering" right="#gt"/>
44797ec681f3Smrg        </and>
44807ec681f3Smrg      </or>
44817ec681f3Smrg      <or>
44827ec681f3Smrg        <and>
44837ec681f3Smrg          <eq left="abs0" right="#abs"/>
44847ec681f3Smrg          <eq left="abs1" right="#abs"/>
44857ec681f3Smrg          <eq left="ordering" right="#gt"/>
44867ec681f3Smrg        </and>
44877ec681f3Smrg        <and>
44887ec681f3Smrg          <eq left="abs0" right="#abs"/>
44897ec681f3Smrg          <eq left="abs1" right="#none"/>
44907ec681f3Smrg          <neq left="ordering" right="#gt"/>
44917ec681f3Smrg        </and>
44927ec681f3Smrg      </or>
44937ec681f3Smrg    </derived>
44947ec681f3Smrg    <swap left="0" right="1">
44957ec681f3Smrg      <or>
44967ec681f3Smrg        <and>
44977ec681f3Smrg          <eq left="abs0" right="#none"/>
44987ec681f3Smrg          <eq left="ordering" right="#gt"/>
44997ec681f3Smrg        </and>
45007ec681f3Smrg        <and>
45017ec681f3Smrg          <eq left="abs1" right="#abs"/>
45027ec681f3Smrg          <neq left="ordering" right="#gt"/>
45037ec681f3Smrg        </and>
45047ec681f3Smrg      </or>
45057ec681f3Smrg      <rewrite name="sem">
45067ec681f3Smrg        <map from="c" to="inverse_c"/>
45077ec681f3Smrg        <map from="inverse_c" to="c"/>
45087ec681f3Smrg      </rewrite>
45097ec681f3Smrg    </swap>
45107ec681f3Smrg  </ins>
45117ec681f3Smrg
45127ec681f3Smrg  <ins name="+FMIN.f32" mask="0xf0600" exact="0x10000">
45137ec681f3Smrg    <src start="0"/>
45147ec681f3Smrg    <src start="3"/>
45157ec681f3Smrg    <mod name="abs1" start="6" size="1" opt="abs"/>
45167ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
45177ec681f3Smrg    <mod name="neg1" start="8" size="1" opt="neg"/>
45187ec681f3Smrg    <mod name="clamp" start="11" size="2">
45197ec681f3Smrg      <opt>none</opt>
45207ec681f3Smrg      <opt>clamp_0_inf</opt>
45217ec681f3Smrg      <opt>clamp_m1_1</opt>
45227ec681f3Smrg      <opt>clamp_0_1</opt>
45237ec681f3Smrg    </mod>
45247ec681f3Smrg    <mod name="sem" start="13" size="2" default="nan_suppress">
45257ec681f3Smrg      <opt>nan_suppress</opt>
45267ec681f3Smrg      <opt>nan_propagate</opt>
45277ec681f3Smrg      <opt>c</opt>
45287ec681f3Smrg      <opt>inverse_c</opt>
45297ec681f3Smrg    </mod>
45307ec681f3Smrg    <mod name="abs0" start="15" size="1" opt="abs"/>
45317ec681f3Smrg  </ins>
45327ec681f3Smrg
45337ec681f3Smrg  <ins name="+FMIN.v2f16" mask="0xf8000" exact="0x90000">
45347ec681f3Smrg    <src start="0"/>
45357ec681f3Smrg    <src start="3"/>
45367ec681f3Smrg    <mod name="abs0" size="1" opt="abs"/>
45377ec681f3Smrg    <mod name="abs1" size="1" opt="abs"/>
45387ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
45397ec681f3Smrg    <mod name="neg1" start="8" size="1" opt="neg"/>
45407ec681f3Smrg    <mod name="swz0" start="9" size="2" default="h01">
45417ec681f3Smrg      <opt>h00</opt>
45427ec681f3Smrg      <opt>h10</opt>
45437ec681f3Smrg      <opt>h01</opt>
45447ec681f3Smrg      <opt>h11</opt>
45457ec681f3Smrg    </mod>
45467ec681f3Smrg    <mod name="swz1" start="11" size="2" default="h01">
45477ec681f3Smrg      <opt>h00</opt>
45487ec681f3Smrg      <opt>h10</opt>
45497ec681f3Smrg      <opt>h01</opt>
45507ec681f3Smrg      <opt>h11</opt>
45517ec681f3Smrg    </mod>
45527ec681f3Smrg    <mod name="sem" start="13" size="2" default="nan_suppress">
45537ec681f3Smrg      <opt>nan_suppress</opt>
45547ec681f3Smrg      <opt>nan_propagate</opt>
45557ec681f3Smrg      <opt>c</opt>
45567ec681f3Smrg      <opt>inverse_c</opt>
45577ec681f3Smrg    </mod>
45587ec681f3Smrg    <derived start="6" size="1">
45597ec681f3Smrg      <or>
45607ec681f3Smrg        <and>
45617ec681f3Smrg          <eq left="abs0" right="#abs"/>
45627ec681f3Smrg          <eq left="abs1" right="#none"/>
45637ec681f3Smrg          <eq left="ordering" right="#gt"/>
45647ec681f3Smrg        </and>
45657ec681f3Smrg        <and>
45667ec681f3Smrg          <eq left="abs0" right="#none"/>
45677ec681f3Smrg          <eq left="abs1" right="#none"/>
45687ec681f3Smrg          <neq left="ordering" right="#gt"/>
45697ec681f3Smrg        </and>
45707ec681f3Smrg      </or>
45717ec681f3Smrg      <or>
45727ec681f3Smrg        <and>
45737ec681f3Smrg          <eq left="abs0" right="#abs"/>
45747ec681f3Smrg          <eq left="abs1" right="#abs"/>
45757ec681f3Smrg          <eq left="ordering" right="#gt"/>
45767ec681f3Smrg        </and>
45777ec681f3Smrg        <and>
45787ec681f3Smrg          <eq left="abs0" right="#abs"/>
45797ec681f3Smrg          <eq left="abs1" right="#none"/>
45807ec681f3Smrg          <neq left="ordering" right="#gt"/>
45817ec681f3Smrg        </and>
45827ec681f3Smrg      </or>
45837ec681f3Smrg    </derived>
45847ec681f3Smrg    <swap left="0" right="1">
45857ec681f3Smrg      <or>
45867ec681f3Smrg        <and>
45877ec681f3Smrg          <eq left="abs0" right="#none"/>
45887ec681f3Smrg          <eq left="ordering" right="#gt"/>
45897ec681f3Smrg        </and>
45907ec681f3Smrg        <and>
45917ec681f3Smrg          <eq left="abs1" right="#abs"/>
45927ec681f3Smrg          <neq left="ordering" right="#gt"/>
45937ec681f3Smrg        </and>
45947ec681f3Smrg      </or>
45957ec681f3Smrg      <rewrite name="sem">
45967ec681f3Smrg        <map from="c" to="inverse_c"/>
45977ec681f3Smrg        <map from="inverse_c" to="c"/>
45987ec681f3Smrg      </rewrite>
45997ec681f3Smrg    </swap>
46007ec681f3Smrg  </ins>
46017ec681f3Smrg
46027ec681f3Smrg  <ins name="+FPCLASS.f16" mask="0xffff0" exact="0x67c40" table="true">
46037ec681f3Smrg    <src start="0" mask="0xf7"/>
46047ec681f3Smrg    <mod name="lane0" start="3" size="1" default="h0">
46057ec681f3Smrg      <opt>h0</opt>
46067ec681f3Smrg      <opt>h1</opt>
46077ec681f3Smrg    </mod>
46087ec681f3Smrg  </ins>
46097ec681f3Smrg
46107ec681f3Smrg  <ins name="+FPCLASS.f32" mask="0xffff8" exact="0x67c50" table="true">
46117ec681f3Smrg    <src start="0" mask="0xf7"/>
46127ec681f3Smrg  </ins>
46137ec681f3Smrg
46147ec681f3Smrg  <ins name="+FPOW_SC_APPLY" mask="0xfffc0" exact="0x75080">
46157ec681f3Smrg    <src start="0"/>
46167ec681f3Smrg    <src start="3"/>
46177ec681f3Smrg  </ins>
46187ec681f3Smrg
46197ec681f3Smrg  <ins name="+FPOW_SC_DET.f16" table="true">
46207ec681f3Smrg    <src start="0" mask="0xf7"/>
46217ec681f3Smrg    <src start="3" mask="0xf7"/>
46227ec681f3Smrg    <mod name="func" size="2">
46237ec681f3Smrg      <opt>pow</opt>
46247ec681f3Smrg      <opt>powr</opt>
46257ec681f3Smrg      <opt>pown</opt>
46267ec681f3Smrg      <opt>rootn</opt>
46277ec681f3Smrg    </mod>
46287ec681f3Smrg    <mod name="lane1" size="2">
46297ec681f3Smrg      <opt>h0</opt>
46307ec681f3Smrg      <opt>h1</opt>
46317ec681f3Smrg      <opt>none</opt>
46327ec681f3Smrg    </mod>
46337ec681f3Smrg    <mod name="lane0" start="7" size="1" default="h0">
46347ec681f3Smrg      <opt>h0</opt>
46357ec681f3Smrg      <opt>h1</opt>
46367ec681f3Smrg    </mod>
46377ec681f3Smrg    <encoding mask="0xffe00" exact="0x67400">
46387ec681f3Smrg      <or>
46397ec681f3Smrg        <eq left="func" right="#pow"/>
46407ec681f3Smrg        <eq left="func" right="#powr"/>
46417ec681f3Smrg      </or>
46427ec681f3Smrg      <derived start="6" size="1">
46437ec681f3Smrg        <or>
46447ec681f3Smrg          <eq alias="true" left="lane1" right="#none"/>
46457ec681f3Smrg          <eq left="lane1" right="#h0"/>
46467ec681f3Smrg        </or>
46477ec681f3Smrg        <eq left="lane1" right="#h1"/>
46487ec681f3Smrg      </derived>
46497ec681f3Smrg      <derived start="8" size="1">
46507ec681f3Smrg        <eq left="func" right="#pow"/>
46517ec681f3Smrg        <eq left="func" right="#powr"/>
46527ec681f3Smrg      </derived>
46537ec681f3Smrg    </encoding>
46547ec681f3Smrg    <encoding mask="0xffe40" exact="0x67600">
46557ec681f3Smrg      <and>
46567ec681f3Smrg        <or>
46577ec681f3Smrg          <eq left="func" right="#pown"/>
46587ec681f3Smrg          <eq left="func" right="#rootn"/>
46597ec681f3Smrg        </or>
46607ec681f3Smrg        <eq left="lane1" right="#none"/>
46617ec681f3Smrg      </and>
46627ec681f3Smrg      <derived start="8" size="1">
46637ec681f3Smrg        <eq left="func" right="#pown"/>
46647ec681f3Smrg        <eq left="func" right="#rootn"/>
46657ec681f3Smrg      </derived>
46667ec681f3Smrg    </encoding>
46677ec681f3Smrg  </ins>
46687ec681f3Smrg
46697ec681f3Smrg  <ins name="+FPOW_SC_DET.f32" mask="0xffe40" exact="0x67640" table="true">
46707ec681f3Smrg    <src start="0" mask="0xf7"/>
46717ec681f3Smrg    <src start="3" mask="0xf7"/>
46727ec681f3Smrg    <mod name="func" start="7" size="2">
46737ec681f3Smrg      <opt>pow</opt>
46747ec681f3Smrg      <opt>powr</opt>
46757ec681f3Smrg      <opt>pown</opt>
46767ec681f3Smrg      <opt>rootn</opt>
46777ec681f3Smrg    </mod>
46787ec681f3Smrg  </ins>
46797ec681f3Smrg
46807ec681f3Smrg  <ins name="+FRCBRT_APPROX_A.f32" unused="true" table="true">
46817ec681f3Smrg    <src start="0" mask="0xf7"/>
46827ec681f3Smrg    <mod name="widen0" size="2">
46837ec681f3Smrg      <opt>none</opt>
46847ec681f3Smrg      <opt>h0</opt>
46857ec681f3Smrg      <opt>h1</opt>
46867ec681f3Smrg    </mod>
46877ec681f3Smrg    <mod name="neg0" start="3" size="1" opt="neg"/>
46887ec681f3Smrg    <mod name="abs0" start="4" size="1" opt="abs"/>
46897ec681f3Smrg    <mod name="divzero" start="5" size="1" opt="divzero"/>
46907ec681f3Smrg    <encoding mask="0xfffc0" exact="0x67200">
46917ec681f3Smrg      <eq left="widen0" right="#none"/>
46927ec681f3Smrg    </encoding>
46937ec681f3Smrg    <encoding mask="0xfff40" exact="0x67240">
46947ec681f3Smrg      <neq left="widen0" right="#none"/>
46957ec681f3Smrg      <derived start="7" size="1">
46967ec681f3Smrg        <eq left="widen0" right="#h0"/>
46977ec681f3Smrg        <eq left="widen0" right="#h1"/>
46987ec681f3Smrg      </derived>
46997ec681f3Smrg    </encoding>
47007ec681f3Smrg  </ins>
47017ec681f3Smrg
47027ec681f3Smrg  <ins name="+FRCBRT_APPROX_B.f32" mask="0xffff8" exact="0x67ab0" unused="true" table="true">
47037ec681f3Smrg    <src start="0" mask="0xf7"/>
47047ec681f3Smrg  </ins>
47057ec681f3Smrg
47067ec681f3Smrg  <ins name="+FRCBRT_APPROX_C.f32" mask="0xffff8" exact="0x67ab8" unused="true" table="true">
47077ec681f3Smrg    <src start="0" mask="0xf7"/>
47087ec681f3Smrg  </ins>
47097ec681f3Smrg
47107ec681f3Smrg  <ins name="+FRCP.f16" mask="0xffec0" exact="0x67080" table="true">
47117ec681f3Smrg    <src start="0" mask="0xf7"/>
47127ec681f3Smrg    <mod name="neg0" start="3" size="1" opt="neg"/>
47137ec681f3Smrg    <mod name="abs0" start="4" size="1" opt="abs"/>
47147ec681f3Smrg    <mod name="divzero" start="5" size="1" opt="divzero"/>
47157ec681f3Smrg    <mod name="lane0" start="8" size="1" default="h0">
47167ec681f3Smrg      <opt>h0</opt>
47177ec681f3Smrg      <opt>h1</opt>
47187ec681f3Smrg    </mod>
47197ec681f3Smrg  </ins>
47207ec681f3Smrg
47217ec681f3Smrg  <ins name="+FRCP.f32" mask="0xfffa0" exact="0x66000" table="true">
47227ec681f3Smrg    <src start="0" mask="0xf7"/>
47237ec681f3Smrg    <mod name="widen0" size="2">
47247ec681f3Smrg      <opt>none</opt>
47257ec681f3Smrg    </mod>
47267ec681f3Smrg    <mod name="neg0" start="3" size="1" opt="neg"/>
47277ec681f3Smrg    <mod name="abs0" start="4" size="1" opt="abs"/>
47287ec681f3Smrg    <derived start="6" size="1">
47297ec681f3Smrg      <eq left="widen0" right="#none"/>
47307ec681f3Smrg      <reserved/>
47317ec681f3Smrg    </derived>
47327ec681f3Smrg  </ins>
47337ec681f3Smrg
47347ec681f3Smrg  <ins name="+FRCP_APPROX.f32" table="true">
47357ec681f3Smrg    <src start="0" mask="0xf7"/>
47367ec681f3Smrg    <mod name="widen0" size="2">
47377ec681f3Smrg      <opt>none</opt>
47387ec681f3Smrg      <opt>h0</opt>
47397ec681f3Smrg      <opt>h1</opt>
47407ec681f3Smrg    </mod>
47417ec681f3Smrg    <mod name="neg0" start="3" size="1" opt="neg"/>
47427ec681f3Smrg    <mod name="abs0" start="4" size="1" opt="abs"/>
47437ec681f3Smrg    <mod name="divzero" start="5" size="1" opt="divzero"/>
47447ec681f3Smrg    <encoding mask="0xfffc0" exact="0x67000">
47457ec681f3Smrg      <eq left="widen0" right="#none"/>
47467ec681f3Smrg    </encoding>
47477ec681f3Smrg    <encoding mask="0xfff40" exact="0x67040">
47487ec681f3Smrg      <neq left="widen0" right="#none"/>
47497ec681f3Smrg      <derived start="7" size="1">
47507ec681f3Smrg        <eq left="widen0" right="#h0"/>
47517ec681f3Smrg        <eq left="widen0" right="#h1"/>
47527ec681f3Smrg      </derived>
47537ec681f3Smrg    </encoding>
47547ec681f3Smrg  </ins>
47557ec681f3Smrg
47567ec681f3Smrg  <ins name="+FREXPE.f32">
47577ec681f3Smrg    <src start="0"/>
47587ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
47597ec681f3Smrg    <mod name="sqrt" size="1" opt="sqrt"/>
47607ec681f3Smrg    <mod name="log" size="1" opt="log"/>
47617ec681f3Smrg    <mod name="widen0" start="3" size="2">
47627ec681f3Smrg      <reserved/>
47637ec681f3Smrg      <opt>none</opt>
47647ec681f3Smrg      <opt>h0</opt>
47657ec681f3Smrg      <opt>h1</opt>
47667ec681f3Smrg    </mod>
47677ec681f3Smrg    <encoding mask="0xffea0" exact="0x3dc20">
47687ec681f3Smrg      <eq left="log" right="#none"/>
47697ec681f3Smrg      <copy name="neg0" start="6"/>
47707ec681f3Smrg      <copy name="sqrt" start="8"/>
47717ec681f3Smrg    </encoding>
47727ec681f3Smrg    <encoding mask="0xfffe0" exact="0x3de20">
47737ec681f3Smrg      <and>
47747ec681f3Smrg        <eq left="log" right="#log"/>
47757ec681f3Smrg        <eq left="sqrt" right="#none"/>
47767ec681f3Smrg        <eq left="neg0" right="#none"/>
47777ec681f3Smrg      </and>
47787ec681f3Smrg    </encoding>
47797ec681f3Smrg  </ins>
47807ec681f3Smrg
47817ec681f3Smrg  <ins name="+FREXPE.v2f16">
47827ec681f3Smrg    <src start="0"/>
47837ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
47847ec681f3Smrg    <mod name="sqrt" size="1" opt="sqrt"/>
47857ec681f3Smrg    <mod name="log" size="1" opt="log"/>
47867ec681f3Smrg    <mod name="swz0" start="3" size="2" default="h01">
47877ec681f3Smrg      <opt>h00</opt>
47887ec681f3Smrg      <opt>h10</opt>
47897ec681f3Smrg      <opt>h01</opt>
47907ec681f3Smrg      <opt>h11</opt>
47917ec681f3Smrg    </mod>
47927ec681f3Smrg    <encoding mask="0xffea0" exact="0x3dc00">
47937ec681f3Smrg      <eq left="log" right="#none"/>
47947ec681f3Smrg      <copy name="neg0" start="6"/>
47957ec681f3Smrg      <copy name="sqrt" start="8"/>
47967ec681f3Smrg    </encoding>
47977ec681f3Smrg    <encoding mask="0xfffe0" exact="0x3de00">
47987ec681f3Smrg      <and>
47997ec681f3Smrg        <eq left="log" right="#log"/>
48007ec681f3Smrg        <eq left="sqrt" right="#none"/>
48017ec681f3Smrg        <eq left="neg0" right="#none"/>
48027ec681f3Smrg      </and>
48037ec681f3Smrg    </encoding>
48047ec681f3Smrg  </ins>
48057ec681f3Smrg
48067ec681f3Smrg  <ins name="+FREXPM.f32">
48077ec681f3Smrg    <src start="0"/>
48087ec681f3Smrg    <mod name="abs0" start="6" size="1" opt="abs"/>
48097ec681f3Smrg    <mod name="sqrt" size="1" opt="sqrt"/>
48107ec681f3Smrg    <mod name="log" size="1" opt="log"/>
48117ec681f3Smrg    <mod name="widen0" start="3" size="2">
48127ec681f3Smrg      <reserved/>
48137ec681f3Smrg      <opt>none</opt>
48147ec681f3Smrg      <opt>h0</opt>
48157ec681f3Smrg      <opt>h1</opt>
48167ec681f3Smrg    </mod>
48177ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
48187ec681f3Smrg    <encoding mask="0xfff20" exact="0x3db20">
48197ec681f3Smrg      <and>
48207ec681f3Smrg        <eq left="log" right="#none"/>
48217ec681f3Smrg        <eq left="neg0" right="#none"/>
48227ec681f3Smrg      </and>
48237ec681f3Smrg      <copy name="sqrt" start="7"/>
48247ec681f3Smrg    </encoding>
48257ec681f3Smrg    <encoding mask="0xfff20" exact="0x3da20">
48267ec681f3Smrg      <and>
48277ec681f3Smrg        <eq left="log" right="#log"/>
48287ec681f3Smrg        <eq left="sqrt" right="#none"/>
48297ec681f3Smrg      </and>
48307ec681f3Smrg      <copy name="neg0" start="7"/>
48317ec681f3Smrg    </encoding>
48327ec681f3Smrg  </ins>
48337ec681f3Smrg
48347ec681f3Smrg  <ins name="+FREXPM.v2f16">
48357ec681f3Smrg    <src start="0"/>
48367ec681f3Smrg    <mod name="abs0" start="6" size="1" opt="abs"/>
48377ec681f3Smrg    <mod name="sqrt" size="1" opt="sqrt"/>
48387ec681f3Smrg    <mod name="log" size="1" opt="log"/>
48397ec681f3Smrg    <mod name="swz0" start="3" size="2" default="h01">
48407ec681f3Smrg      <opt>h00</opt>
48417ec681f3Smrg      <opt>h10</opt>
48427ec681f3Smrg      <opt>h01</opt>
48437ec681f3Smrg      <opt>h11</opt>
48447ec681f3Smrg    </mod>
48457ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
48467ec681f3Smrg    <encoding mask="0xfff20" exact="0x3db00">
48477ec681f3Smrg      <and>
48487ec681f3Smrg        <eq left="log" right="#none"/>
48497ec681f3Smrg        <eq left="neg0" right="#none"/>
48507ec681f3Smrg      </and>
48517ec681f3Smrg      <copy name="sqrt" start="7"/>
48527ec681f3Smrg    </encoding>
48537ec681f3Smrg    <encoding mask="0xfff20" exact="0x3da00">
48547ec681f3Smrg      <and>
48557ec681f3Smrg        <eq left="log" right="#log"/>
48567ec681f3Smrg        <eq left="sqrt" right="#none"/>
48577ec681f3Smrg      </and>
48587ec681f3Smrg      <copy name="neg0" start="7"/>
48597ec681f3Smrg    </encoding>
48607ec681f3Smrg  </ins>
48617ec681f3Smrg
48627ec681f3Smrg  <ins name="+FROUND.f32" mask="0xff860" exact="0x3e820">
48637ec681f3Smrg    <src start="0"/>
48647ec681f3Smrg    <mod name="abs0" start="7" size="1" opt="abs"/>
48657ec681f3Smrg    <mod name="neg0" start="8" size="1" opt="neg"/>
48667ec681f3Smrg    <mod name="widen0" start="3" size="2">
48677ec681f3Smrg      <reserved/>
48687ec681f3Smrg      <opt>none</opt>
48697ec681f3Smrg      <opt>h0</opt>
48707ec681f3Smrg      <opt>h1</opt>
48717ec681f3Smrg    </mod>
48727ec681f3Smrg    <mod name="round" start="9" size="2">
48737ec681f3Smrg      <opt>none</opt>
48747ec681f3Smrg      <opt>rtp</opt>
48757ec681f3Smrg      <opt>rtn</opt>
48767ec681f3Smrg      <opt>rtz</opt>
48777ec681f3Smrg    </mod>
48787ec681f3Smrg  </ins>
48797ec681f3Smrg
48807ec681f3Smrg  <ins name="+FROUND.v2f16" mask="0xff860" exact="0x3e800">
48817ec681f3Smrg    <src start="0"/>
48827ec681f3Smrg    <mod name="abs0" start="7" size="1" opt="abs"/>
48837ec681f3Smrg    <mod name="neg0" start="8" size="1" opt="neg"/>
48847ec681f3Smrg    <mod name="swz0" start="3" size="2" default="h01">
48857ec681f3Smrg      <opt>h00</opt>
48867ec681f3Smrg      <opt>h10</opt>
48877ec681f3Smrg      <opt>h01</opt>
48887ec681f3Smrg      <opt>h11</opt>
48897ec681f3Smrg    </mod>
48907ec681f3Smrg    <mod name="round" start="9" size="2">
48917ec681f3Smrg      <opt>none</opt>
48927ec681f3Smrg      <opt>rtp</opt>
48937ec681f3Smrg      <opt>rtn</opt>
48947ec681f3Smrg      <opt>rtz</opt>
48957ec681f3Smrg    </mod>
48967ec681f3Smrg  </ins>
48977ec681f3Smrg
48987ec681f3Smrg  <ins name="+FRSQ.f16" mask="0xffec0" exact="0x67280" table="true">
48997ec681f3Smrg    <src start="0" mask="0xf7"/>
49007ec681f3Smrg    <mod name="neg0" start="3" size="1" opt="neg"/>
49017ec681f3Smrg    <mod name="abs0" start="4" size="1" opt="abs"/>
49027ec681f3Smrg    <mod name="divzero" start="5" size="1" opt="divzero"/>
49037ec681f3Smrg    <mod name="lane0" start="8" size="1" default="h0">
49047ec681f3Smrg      <opt>h0</opt>
49057ec681f3Smrg      <opt>h1</opt>
49067ec681f3Smrg    </mod>
49077ec681f3Smrg  </ins>
49087ec681f3Smrg
49097ec681f3Smrg  <ins name="+FRSQ.f32" mask="0xfffa0" exact="0x66100" table="true">
49107ec681f3Smrg    <src start="0" mask="0xf7"/>
49117ec681f3Smrg    <mod name="widen0" size="2">
49127ec681f3Smrg      <opt>none</opt>
49137ec681f3Smrg    </mod>
49147ec681f3Smrg    <mod name="neg0" start="3" size="1" opt="neg"/>
49157ec681f3Smrg    <mod name="abs0" start="4" size="1" opt="abs"/>
49167ec681f3Smrg    <derived start="6" size="1">
49177ec681f3Smrg      <eq left="widen0" right="#none"/>
49187ec681f3Smrg      <reserved/>
49197ec681f3Smrg    </derived>
49207ec681f3Smrg  </ins>
49217ec681f3Smrg
49227ec681f3Smrg  <ins name="+FRSQ_APPROX.f32" table="true">
49237ec681f3Smrg    <src start="0" mask="0xf7"/>
49247ec681f3Smrg    <mod name="widen0" size="2">
49257ec681f3Smrg      <opt>none</opt>
49267ec681f3Smrg      <opt>h0</opt>
49277ec681f3Smrg      <opt>h1</opt>
49287ec681f3Smrg    </mod>
49297ec681f3Smrg    <mod name="neg0" start="3" size="1" opt="neg"/>
49307ec681f3Smrg    <mod name="abs0" start="4" size="1" opt="abs"/>
49317ec681f3Smrg    <mod name="divzero" start="5" size="1" opt="divzero"/>
49327ec681f3Smrg    <encoding mask="0xfffc0" exact="0x67100">
49337ec681f3Smrg      <eq left="widen0" right="#none"/>
49347ec681f3Smrg    </encoding>
49357ec681f3Smrg    <encoding mask="0xfff40" exact="0x67140">
49367ec681f3Smrg      <neq left="widen0" right="#none"/>
49377ec681f3Smrg      <derived start="7" size="1">
49387ec681f3Smrg        <eq left="widen0" right="#h0"/>
49397ec681f3Smrg        <eq left="widen0" right="#h1"/>
49407ec681f3Smrg      </derived>
49417ec681f3Smrg    </encoding>
49427ec681f3Smrg  </ins>
49437ec681f3Smrg
49447ec681f3Smrg  <ins name="+FSINCOS_OFFSET.u6" mask="0xffff0" exact="0x67aa0" table="true">
49457ec681f3Smrg    <src start="0" mask="0xf7"/>
49467ec681f3Smrg    <mod name="scale" start="3" size="1" opt="scale"/>
49477ec681f3Smrg  </ins>
49487ec681f3Smrg
49497ec681f3Smrg  <ins name="+FSIN_TABLE.u6" mask="0xfffe8" exact="0x67a80" table="true">
49507ec681f3Smrg    <src start="0" mask="0xf7"/>
49517ec681f3Smrg    <mod name="offset" start="4" size="1" opt="offset"/>
49527ec681f3Smrg  </ins>
49537ec681f3Smrg
49547ec681f3Smrg  <ins name="+HADD.s32" mask="0xfefc0" exact="0xbc640">
49557ec681f3Smrg    <src start="0"/>
49567ec681f3Smrg    <src start="3"/>
49577ec681f3Smrg    <mod name="round" start="12" size="1" default="rtn">
49587ec681f3Smrg      <opt>rtn</opt>
49597ec681f3Smrg      <opt>rtp</opt>
49607ec681f3Smrg    </mod>
49617ec681f3Smrg  </ins>
49627ec681f3Smrg
49637ec681f3Smrg  <ins name="+HADD.u32" mask="0xfefc0" exact="0xbc6c0">
49647ec681f3Smrg    <src start="0"/>
49657ec681f3Smrg    <src start="3"/>
49667ec681f3Smrg    <mod name="round" start="12" size="1" default="rtn">
49677ec681f3Smrg      <opt>rtn</opt>
49687ec681f3Smrg      <opt>rtp</opt>
49697ec681f3Smrg    </mod>
49707ec681f3Smrg  </ins>
49717ec681f3Smrg
49727ec681f3Smrg  <ins name="+HADD.v2s16" mask="0xfe9c0" exact="0xbc840">
49737ec681f3Smrg    <src start="0"/>
49747ec681f3Smrg    <src start="3"/>
49757ec681f3Smrg    <mod name="round" start="12" size="1" default="rtn">
49767ec681f3Smrg      <opt>rtn</opt>
49777ec681f3Smrg      <opt>rtp</opt>
49787ec681f3Smrg    </mod>
49797ec681f3Smrg    <mod name="swap1" start="9" size="1" default="h01">
49807ec681f3Smrg      <opt>h01</opt>
49817ec681f3Smrg      <opt>h10</opt>
49827ec681f3Smrg    </mod>
49837ec681f3Smrg    <mod name="swap0" start="10" size="1" default="h01">
49847ec681f3Smrg      <opt>h01</opt>
49857ec681f3Smrg      <opt>h10</opt>
49867ec681f3Smrg    </mod>
49877ec681f3Smrg  </ins>
49887ec681f3Smrg
49897ec681f3Smrg  <ins name="+HADD.v2u16" mask="0xfe9c0" exact="0xbc8c0">
49907ec681f3Smrg    <src start="0"/>
49917ec681f3Smrg    <src start="3"/>
49927ec681f3Smrg    <mod name="round" start="12" size="1" default="rtn">
49937ec681f3Smrg      <opt>rtn</opt>
49947ec681f3Smrg      <opt>rtp</opt>
49957ec681f3Smrg    </mod>
49967ec681f3Smrg    <mod name="swap1" start="9" size="1" default="h01">
49977ec681f3Smrg      <opt>h01</opt>
49987ec681f3Smrg      <opt>h10</opt>
49997ec681f3Smrg    </mod>
50007ec681f3Smrg    <mod name="swap0" start="10" size="1" default="h01">
50017ec681f3Smrg      <opt>h01</opt>
50027ec681f3Smrg      <opt>h10</opt>
50037ec681f3Smrg    </mod>
50047ec681f3Smrg  </ins>
50057ec681f3Smrg
50067ec681f3Smrg  <ins name="+HADD.v4s8" mask="0xfefc0" exact="0xbc440">
50077ec681f3Smrg    <src start="0"/>
50087ec681f3Smrg    <src start="3"/>
50097ec681f3Smrg    <mod name="round" start="12" size="1" default="rtn">
50107ec681f3Smrg      <opt>rtn</opt>
50117ec681f3Smrg      <opt>rtp</opt>
50127ec681f3Smrg    </mod>
50137ec681f3Smrg  </ins>
50147ec681f3Smrg
50157ec681f3Smrg  <ins name="+HADD.v4u8" mask="0xfefc0" exact="0xbc4c0">
50167ec681f3Smrg    <src start="0"/>
50177ec681f3Smrg    <src start="3"/>
50187ec681f3Smrg    <mod name="round" start="12" size="1" default="rtn">
50197ec681f3Smrg      <opt>rtn</opt>
50207ec681f3Smrg      <opt>rtp</opt>
50217ec681f3Smrg    </mod>
50227ec681f3Smrg  </ins>
50237ec681f3Smrg
50247ec681f3Smrg  <ins name="+IABS.s32" mask="0xffff8" exact="0x3dea0">
50257ec681f3Smrg    <src start="0"/>
50267ec681f3Smrg  </ins>
50277ec681f3Smrg
50287ec681f3Smrg  <ins name="+IABS.v2s16" mask="0xfffc8" exact="0x3de88">
50297ec681f3Smrg    <src start="0"/>
50307ec681f3Smrg    <mod name="swz0" start="4" size="2" default="h01">
50317ec681f3Smrg      <opt>h00</opt>
50327ec681f3Smrg      <opt>h10</opt>
50337ec681f3Smrg      <opt>h01</opt>
50347ec681f3Smrg      <opt>h11</opt>
50357ec681f3Smrg    </mod>
50367ec681f3Smrg  </ins>
50377ec681f3Smrg
50387ec681f3Smrg  <ins name="+IABS.v4s8" mask="0xffff8" exact="0x3deb0">
50397ec681f3Smrg    <src start="0"/>
50407ec681f3Smrg  </ins>
50417ec681f3Smrg
50427ec681f3Smrg  <ins name="+IADD.s32">
50437ec681f3Smrg    <src start="0"/>
50447ec681f3Smrg    <src start="3"/>
50457ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
50467ec681f3Smrg    <mod name="lanes1" size="3">
50477ec681f3Smrg      <opt>none</opt>
50487ec681f3Smrg      <opt>h0</opt>
50497ec681f3Smrg      <opt>h1</opt>
50507ec681f3Smrg      <opt>b0</opt>
50517ec681f3Smrg      <opt>b1</opt>
50527ec681f3Smrg      <opt>b2</opt>
50537ec681f3Smrg      <opt>b3</opt>
50547ec681f3Smrg    </mod>
50557ec681f3Smrg    <encoding mask="0xffec0" exact="0xbc600">
50567ec681f3Smrg      <eq left="lanes1" right="#none"/>
50577ec681f3Smrg    </encoding>
50587ec681f3Smrg    <encoding mask="0xffcc0" exact="0xbec00">
50597ec681f3Smrg      <or>
50607ec681f3Smrg        <eq left="lanes1" right="#h0"/>
50617ec681f3Smrg        <eq left="lanes1" right="#h1"/>
50627ec681f3Smrg      </or>
50637ec681f3Smrg      <derived start="9" size="1">
50647ec681f3Smrg        <eq left="lanes1" right="#h0"/>
50657ec681f3Smrg        <eq left="lanes1" right="#h1"/>
50667ec681f3Smrg      </derived>
50677ec681f3Smrg    </encoding>
50687ec681f3Smrg    <encoding mask="0xff8c0" exact="0xbe000">
50697ec681f3Smrg      <or>
50707ec681f3Smrg        <eq left="lanes1" right="#b0"/>
50717ec681f3Smrg        <eq left="lanes1" right="#b1"/>
50727ec681f3Smrg        <eq left="lanes1" right="#b2"/>
50737ec681f3Smrg        <eq left="lanes1" right="#b3"/>
50747ec681f3Smrg      </or>
50757ec681f3Smrg      <derived start="9" size="2">
50767ec681f3Smrg        <eq left="lanes1" right="#b0"/>
50777ec681f3Smrg        <eq left="lanes1" right="#b1"/>
50787ec681f3Smrg        <eq left="lanes1" right="#b2"/>
50797ec681f3Smrg        <eq left="lanes1" right="#b3"/>
50807ec681f3Smrg      </derived>
50817ec681f3Smrg    </encoding>
50827ec681f3Smrg  </ins>
50837ec681f3Smrg
50847ec681f3Smrg  <ins name="+IADD.u32">
50857ec681f3Smrg    <src start="0"/>
50867ec681f3Smrg    <src start="3"/>
50877ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
50887ec681f3Smrg    <mod name="lanes1" size="3">
50897ec681f3Smrg      <opt>none</opt>
50907ec681f3Smrg      <opt>h0</opt>
50917ec681f3Smrg      <opt>h1</opt>
50927ec681f3Smrg      <opt>b0</opt>
50937ec681f3Smrg      <opt>b1</opt>
50947ec681f3Smrg      <opt>b2</opt>
50957ec681f3Smrg      <opt>b3</opt>
50967ec681f3Smrg    </mod>
50977ec681f3Smrg    <encoding mask="0xffe40" exact="0xbc600">
50987ec681f3Smrg      <eq left="lanes1" right="#none"/>
50997ec681f3Smrg      <derived start="7" size="1">
51007ec681f3Smrg        <and alias="true">
51017ec681f3Smrg          <eq left="saturate" right="#none"/>
51027ec681f3Smrg          <eq left="lanes1" right="#none"/>
51037ec681f3Smrg        </and>
51047ec681f3Smrg        <or>
51057ec681f3Smrg          <eq left="saturate" right="#sat"/>
51067ec681f3Smrg          <neq left="lanes1" right="#none"/>
51077ec681f3Smrg        </or>
51087ec681f3Smrg      </derived>
51097ec681f3Smrg    </encoding>
51107ec681f3Smrg    <encoding mask="0xffc40" exact="0xbec00">
51117ec681f3Smrg      <or>
51127ec681f3Smrg        <eq left="lanes1" right="#h0"/>
51137ec681f3Smrg        <eq left="lanes1" right="#h1"/>
51147ec681f3Smrg      </or>
51157ec681f3Smrg      <derived start="7" size="1">
51167ec681f3Smrg        <and alias="true">
51177ec681f3Smrg          <eq left="saturate" right="#none"/>
51187ec681f3Smrg          <eq left="lanes1" right="#none"/>
51197ec681f3Smrg        </and>
51207ec681f3Smrg        <or>
51217ec681f3Smrg          <eq left="saturate" right="#sat"/>
51227ec681f3Smrg          <neq left="lanes1" right="#none"/>
51237ec681f3Smrg        </or>
51247ec681f3Smrg      </derived>
51257ec681f3Smrg      <derived start="9" size="1">
51267ec681f3Smrg        <eq left="lanes1" right="#h0"/>
51277ec681f3Smrg        <eq left="lanes1" right="#h1"/>
51287ec681f3Smrg      </derived>
51297ec681f3Smrg    </encoding>
51307ec681f3Smrg    <encoding mask="0xff840" exact="0xbe000">
51317ec681f3Smrg      <or>
51327ec681f3Smrg        <eq left="lanes1" right="#b0"/>
51337ec681f3Smrg        <eq left="lanes1" right="#b1"/>
51347ec681f3Smrg        <eq left="lanes1" right="#b2"/>
51357ec681f3Smrg        <eq left="lanes1" right="#b3"/>
51367ec681f3Smrg      </or>
51377ec681f3Smrg      <derived start="7" size="1">
51387ec681f3Smrg        <and alias="true">
51397ec681f3Smrg          <eq left="saturate" right="#none"/>
51407ec681f3Smrg          <eq left="lanes1" right="#none"/>
51417ec681f3Smrg        </and>
51427ec681f3Smrg        <or>
51437ec681f3Smrg          <eq left="saturate" right="#sat"/>
51447ec681f3Smrg          <neq left="lanes1" right="#none"/>
51457ec681f3Smrg        </or>
51467ec681f3Smrg      </derived>
51477ec681f3Smrg      <derived start="9" size="2">
51487ec681f3Smrg        <eq left="lanes1" right="#b0"/>
51497ec681f3Smrg        <eq left="lanes1" right="#b1"/>
51507ec681f3Smrg        <eq left="lanes1" right="#b2"/>
51517ec681f3Smrg        <eq left="lanes1" right="#b3"/>
51527ec681f3Smrg      </derived>
51537ec681f3Smrg    </encoding>
51547ec681f3Smrg  </ins>
51557ec681f3Smrg
51567ec681f3Smrg  <ins name="+IADD.v2s16">
51577ec681f3Smrg    <src start="0"/>
51587ec681f3Smrg    <src start="3"/>
51597ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
51607ec681f3Smrg    <mod name="lanes0" size="1" default="h01">
51617ec681f3Smrg      <opt>h01</opt>
51627ec681f3Smrg      <opt>h10</opt>
51637ec681f3Smrg    </mod>
51647ec681f3Smrg    <mod name="lanes1" size="3" default="h01">
51657ec681f3Smrg      <opt>h01</opt>
51667ec681f3Smrg      <opt>h10</opt>
51677ec681f3Smrg      <opt>h00</opt>
51687ec681f3Smrg      <opt>h11</opt>
51697ec681f3Smrg      <opt>b01</opt>
51707ec681f3Smrg      <opt>b23</opt>
51717ec681f3Smrg    </mod>
51727ec681f3Smrg    <encoding mask="0xff8c0" exact="0xbc800">
51737ec681f3Smrg      <and>
51747ec681f3Smrg        <or>
51757ec681f3Smrg          <eq left="lanes0" right="#h01"/>
51767ec681f3Smrg          <eq left="lanes0" right="#h10"/>
51777ec681f3Smrg        </or>
51787ec681f3Smrg        <or>
51797ec681f3Smrg          <eq left="lanes1" right="#h01"/>
51807ec681f3Smrg          <eq left="lanes1" right="#h10"/>
51817ec681f3Smrg        </or>
51827ec681f3Smrg      </and>
51837ec681f3Smrg      <derived start="9" size="1">
51847ec681f3Smrg        <eq left="lanes1" right="#h01"/>
51857ec681f3Smrg        <eq left="lanes1" right="#h10"/>
51867ec681f3Smrg      </derived>
51877ec681f3Smrg      <derived start="10" size="1">
51887ec681f3Smrg        <eq left="lanes0" right="#h01"/>
51897ec681f3Smrg        <eq left="lanes0" right="#h10"/>
51907ec681f3Smrg      </derived>
51917ec681f3Smrg    </encoding>
51927ec681f3Smrg    <encoding mask="0xffcc0" exact="0xbec40">
51937ec681f3Smrg      <and>
51947ec681f3Smrg        <eq left="lanes0" right="#h01"/>
51957ec681f3Smrg        <or>
51967ec681f3Smrg          <eq left="lanes1" right="#h00"/>
51977ec681f3Smrg          <eq left="lanes1" right="#h11"/>
51987ec681f3Smrg        </or>
51997ec681f3Smrg      </and>
52007ec681f3Smrg      <derived start="9" size="1">
52017ec681f3Smrg        <eq left="lanes1" right="#h00"/>
52027ec681f3Smrg        <eq left="lanes1" right="#h11"/>
52037ec681f3Smrg      </derived>
52047ec681f3Smrg    </encoding>
52057ec681f3Smrg    <encoding mask="0xffcc0" exact="0xbe800">
52067ec681f3Smrg      <and>
52077ec681f3Smrg        <eq left="lanes0" right="#h01"/>
52087ec681f3Smrg        <or>
52097ec681f3Smrg          <eq left="lanes1" right="#b01"/>
52107ec681f3Smrg          <eq left="lanes1" right="#b23"/>
52117ec681f3Smrg        </or>
52127ec681f3Smrg      </and>
52137ec681f3Smrg      <derived start="9" size="1">
52147ec681f3Smrg        <eq left="lanes1" right="#b01"/>
52157ec681f3Smrg        <eq left="lanes1" right="#b23"/>
52167ec681f3Smrg      </derived>
52177ec681f3Smrg    </encoding>
52187ec681f3Smrg  </ins>
52197ec681f3Smrg
52207ec681f3Smrg  <ins name="+IADD.v2u16">
52217ec681f3Smrg    <src start="0"/>
52227ec681f3Smrg    <src start="3"/>
52237ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
52247ec681f3Smrg    <mod name="lanes0" size="1" default="h01">
52257ec681f3Smrg      <opt>h01</opt>
52267ec681f3Smrg      <opt>h10</opt>
52277ec681f3Smrg    </mod>
52287ec681f3Smrg    <mod name="lanes1" size="3" default="h01">
52297ec681f3Smrg      <opt>h01</opt>
52307ec681f3Smrg      <opt>h10</opt>
52317ec681f3Smrg      <opt>h00</opt>
52327ec681f3Smrg      <opt>h11</opt>
52337ec681f3Smrg      <opt>b01</opt>
52347ec681f3Smrg      <opt>b23</opt>
52357ec681f3Smrg    </mod>
52367ec681f3Smrg    <encoding mask="0xff840" exact="0xbc800">
52377ec681f3Smrg      <and>
52387ec681f3Smrg        <or>
52397ec681f3Smrg          <eq left="lanes0" right="#h01"/>
52407ec681f3Smrg          <eq left="lanes0" right="#h10"/>
52417ec681f3Smrg        </or>
52427ec681f3Smrg        <or>
52437ec681f3Smrg          <eq left="lanes1" right="#h01"/>
52447ec681f3Smrg          <eq left="lanes1" right="#h10"/>
52457ec681f3Smrg        </or>
52467ec681f3Smrg      </and>
52477ec681f3Smrg      <derived start="7" size="1">
52487ec681f3Smrg        <and alias="true">
52497ec681f3Smrg          <eq left="saturate" right="#none"/>
52507ec681f3Smrg          <neq left="lanes1" right="#b01"/>
52517ec681f3Smrg          <neq left="lanes1" right="#b23"/>
52527ec681f3Smrg        </and>
52537ec681f3Smrg        <or>
52547ec681f3Smrg          <eq left="saturate" right="#sat"/>
52557ec681f3Smrg          <eq left="lanes1" right="#b01"/>
52567ec681f3Smrg          <eq left="lanes1" right="#b23"/>
52577ec681f3Smrg        </or>
52587ec681f3Smrg      </derived>
52597ec681f3Smrg      <derived start="9" size="1">
52607ec681f3Smrg        <eq left="lanes1" right="#h01"/>
52617ec681f3Smrg        <eq left="lanes1" right="#h10"/>
52627ec681f3Smrg      </derived>
52637ec681f3Smrg      <derived start="10" size="1">
52647ec681f3Smrg        <eq left="lanes0" right="#h01"/>
52657ec681f3Smrg        <eq left="lanes0" right="#h10"/>
52667ec681f3Smrg      </derived>
52677ec681f3Smrg    </encoding>
52687ec681f3Smrg    <encoding mask="0xffc40" exact="0xbec40">
52697ec681f3Smrg      <and>
52707ec681f3Smrg        <eq left="lanes0" right="#h01"/>
52717ec681f3Smrg        <or>
52727ec681f3Smrg          <eq left="lanes1" right="#h00"/>
52737ec681f3Smrg          <eq left="lanes1" right="#h11"/>
52747ec681f3Smrg        </or>
52757ec681f3Smrg      </and>
52767ec681f3Smrg      <derived start="7" size="1">
52777ec681f3Smrg        <and alias="true">
52787ec681f3Smrg          <eq left="saturate" right="#none"/>
52797ec681f3Smrg          <neq left="lanes1" right="#b01"/>
52807ec681f3Smrg          <neq left="lanes1" right="#b23"/>
52817ec681f3Smrg        </and>
52827ec681f3Smrg        <or>
52837ec681f3Smrg          <eq left="saturate" right="#sat"/>
52847ec681f3Smrg          <eq left="lanes1" right="#b01"/>
52857ec681f3Smrg          <eq left="lanes1" right="#b23"/>
52867ec681f3Smrg        </or>
52877ec681f3Smrg      </derived>
52887ec681f3Smrg      <derived start="9" size="1">
52897ec681f3Smrg        <eq left="lanes1" right="#h00"/>
52907ec681f3Smrg        <eq left="lanes1" right="#h11"/>
52917ec681f3Smrg      </derived>
52927ec681f3Smrg    </encoding>
52937ec681f3Smrg    <encoding mask="0xffc40" exact="0xbe800">
52947ec681f3Smrg      <and>
52957ec681f3Smrg        <eq left="lanes0" right="#h01"/>
52967ec681f3Smrg        <or>
52977ec681f3Smrg          <eq left="lanes1" right="#b01"/>
52987ec681f3Smrg          <eq left="lanes1" right="#b23"/>
52997ec681f3Smrg        </or>
53007ec681f3Smrg      </and>
53017ec681f3Smrg      <derived start="7" size="1">
53027ec681f3Smrg        <and alias="true">
53037ec681f3Smrg          <eq left="saturate" right="#none"/>
53047ec681f3Smrg          <neq left="lanes1" right="#b01"/>
53057ec681f3Smrg          <neq left="lanes1" right="#b23"/>
53067ec681f3Smrg        </and>
53077ec681f3Smrg        <or>
53087ec681f3Smrg          <eq left="saturate" right="#sat"/>
53097ec681f3Smrg          <eq left="lanes1" right="#b01"/>
53107ec681f3Smrg          <eq left="lanes1" right="#b23"/>
53117ec681f3Smrg        </or>
53127ec681f3Smrg      </derived>
53137ec681f3Smrg      <derived start="9" size="1">
53147ec681f3Smrg        <eq left="lanes1" right="#b01"/>
53157ec681f3Smrg        <eq left="lanes1" right="#b23"/>
53167ec681f3Smrg      </derived>
53177ec681f3Smrg    </encoding>
53187ec681f3Smrg  </ins>
53197ec681f3Smrg
53207ec681f3Smrg  <ins name="+IADD.v4s8">
53217ec681f3Smrg    <src start="0"/>
53227ec681f3Smrg    <src start="3"/>
53237ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
53247ec681f3Smrg    <mod name="lanes0" size="3" default="b0123">
53257ec681f3Smrg      <opt>b0123</opt>
53267ec681f3Smrg    </mod>
53277ec681f3Smrg    <mod name="lanes1" size="3" default="b0123">
53287ec681f3Smrg      <opt>b0123</opt>
53297ec681f3Smrg      <opt>b0000</opt>
53307ec681f3Smrg      <opt>b1111</opt>
53317ec681f3Smrg      <opt>b2222</opt>
53327ec681f3Smrg      <opt>b3333</opt>
53337ec681f3Smrg      <opt>b0101</opt>
53347ec681f3Smrg      <opt>b2323</opt>
53357ec681f3Smrg    </mod>
53367ec681f3Smrg    <encoding mask="0xffec0" exact="0xbc400">
53377ec681f3Smrg      <and>
53387ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
53397ec681f3Smrg        <eq left="lanes1" right="#b0123"/>
53407ec681f3Smrg      </and>
53417ec681f3Smrg    </encoding>
53427ec681f3Smrg    <encoding mask="0xff8c0" exact="0xbe040">
53437ec681f3Smrg      <and>
53447ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
53457ec681f3Smrg        <or>
53467ec681f3Smrg          <eq left="lanes1" right="#b0000"/>
53477ec681f3Smrg          <eq left="lanes1" right="#b1111"/>
53487ec681f3Smrg          <eq left="lanes1" right="#b2222"/>
53497ec681f3Smrg          <eq left="lanes1" right="#b3333"/>
53507ec681f3Smrg        </or>
53517ec681f3Smrg      </and>
53527ec681f3Smrg      <derived start="9" size="2">
53537ec681f3Smrg        <eq left="lanes1" right="#b0000"/>
53547ec681f3Smrg        <eq left="lanes1" right="#b1111"/>
53557ec681f3Smrg        <eq left="lanes1" right="#b2222"/>
53567ec681f3Smrg        <eq left="lanes1" right="#b3333"/>
53577ec681f3Smrg      </derived>
53587ec681f3Smrg    </encoding>
53597ec681f3Smrg    <encoding mask="0xffcc0" exact="0xbe840">
53607ec681f3Smrg      <and>
53617ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
53627ec681f3Smrg        <or>
53637ec681f3Smrg          <eq left="lanes1" right="#b0101"/>
53647ec681f3Smrg          <eq left="lanes1" right="#b2323"/>
53657ec681f3Smrg        </or>
53667ec681f3Smrg      </and>
53677ec681f3Smrg      <derived start="9" size="1">
53687ec681f3Smrg        <eq left="lanes1" right="#b0101"/>
53697ec681f3Smrg        <eq left="lanes1" right="#b2323"/>
53707ec681f3Smrg      </derived>
53717ec681f3Smrg    </encoding>
53727ec681f3Smrg  </ins>
53737ec681f3Smrg
53747ec681f3Smrg  <ins name="+IADD.v4u8">
53757ec681f3Smrg    <src start="0"/>
53767ec681f3Smrg    <src start="3"/>
53777ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
53787ec681f3Smrg    <mod name="lanes0" size="3" default="b0123">
53797ec681f3Smrg      <opt>b0123</opt>
53807ec681f3Smrg    </mod>
53817ec681f3Smrg    <mod name="lanes1" size="3" default="b0123">
53827ec681f3Smrg      <opt>b0123</opt>
53837ec681f3Smrg      <opt>b0000</opt>
53847ec681f3Smrg      <opt>b1111</opt>
53857ec681f3Smrg      <opt>b2222</opt>
53867ec681f3Smrg      <opt>b3333</opt>
53877ec681f3Smrg      <opt>b0101</opt>
53887ec681f3Smrg      <opt>b2323</opt>
53897ec681f3Smrg    </mod>
53907ec681f3Smrg    <encoding mask="0xffe40" exact="0xbc400">
53917ec681f3Smrg      <and>
53927ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
53937ec681f3Smrg        <eq left="lanes1" right="#b0123"/>
53947ec681f3Smrg      </and>
53957ec681f3Smrg      <derived start="7" size="1">
53967ec681f3Smrg        <eq alias="true" left="saturate" right="#none"/>
53977ec681f3Smrg        <eq left="saturate" right="#sat"/>
53987ec681f3Smrg      </derived>
53997ec681f3Smrg    </encoding>
54007ec681f3Smrg    <encoding mask="0xff840" exact="0xbe040">
54017ec681f3Smrg      <and>
54027ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
54037ec681f3Smrg        <or>
54047ec681f3Smrg          <eq left="lanes1" right="#b0000"/>
54057ec681f3Smrg          <eq left="lanes1" right="#b1111"/>
54067ec681f3Smrg          <eq left="lanes1" right="#b2222"/>
54077ec681f3Smrg          <eq left="lanes1" right="#b3333"/>
54087ec681f3Smrg        </or>
54097ec681f3Smrg      </and>
54107ec681f3Smrg      <derived start="7" size="1">
54117ec681f3Smrg        <eq alias="true" left="saturate" right="#none"/>
54127ec681f3Smrg        <eq left="saturate" right="#sat"/>
54137ec681f3Smrg      </derived>
54147ec681f3Smrg      <derived start="9" size="2">
54157ec681f3Smrg        <eq left="lanes1" right="#b0000"/>
54167ec681f3Smrg        <eq left="lanes1" right="#b1111"/>
54177ec681f3Smrg        <eq left="lanes1" right="#b2222"/>
54187ec681f3Smrg        <eq left="lanes1" right="#b3333"/>
54197ec681f3Smrg      </derived>
54207ec681f3Smrg    </encoding>
54217ec681f3Smrg    <encoding mask="0xffc40" exact="0xbe840">
54227ec681f3Smrg      <and>
54237ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
54247ec681f3Smrg        <or>
54257ec681f3Smrg          <eq left="lanes1" right="#b0101"/>
54267ec681f3Smrg          <eq left="lanes1" right="#b2323"/>
54277ec681f3Smrg        </or>
54287ec681f3Smrg      </and>
54297ec681f3Smrg      <derived start="7" size="1">
54307ec681f3Smrg        <eq alias="true" left="saturate" right="#none"/>
54317ec681f3Smrg        <eq left="saturate" right="#sat"/>
54327ec681f3Smrg      </derived>
54337ec681f3Smrg      <derived start="9" size="1">
54347ec681f3Smrg        <eq left="lanes1" right="#b0101"/>
54357ec681f3Smrg        <eq left="lanes1" right="#b2323"/>
54367ec681f3Smrg      </derived>
54377ec681f3Smrg    </encoding>
54387ec681f3Smrg  </ins>
54397ec681f3Smrg
54407ec681f3Smrg  <ins name="+ICMP.i32" mask="0xffb80" exact="0x7b300">
54417ec681f3Smrg    <src start="0"/>
54427ec681f3Smrg    <src start="3"/>
54437ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
54447ec681f3Smrg      <opt>i1</opt>
54457ec681f3Smrg      <opt>m1</opt>
54467ec681f3Smrg    </mod>
54477ec681f3Smrg    <mod name="cmpf" start="6" size="1">
54487ec681f3Smrg      <opt>eq</opt>
54497ec681f3Smrg      <opt>ne</opt>
54507ec681f3Smrg    </mod>
54517ec681f3Smrg  </ins>
54527ec681f3Smrg
54537ec681f3Smrg  <ins name="+ICMP.s32" mask="0xffb80" exact="0x7b200">
54547ec681f3Smrg    <src start="0"/>
54557ec681f3Smrg    <src start="3"/>
54567ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
54577ec681f3Smrg      <opt>i1</opt>
54587ec681f3Smrg      <opt>m1</opt>
54597ec681f3Smrg    </mod>
54607ec681f3Smrg    <mod name="cmpf" size="2">
54617ec681f3Smrg      <opt>gt</opt>
54627ec681f3Smrg      <opt>ge</opt>
54637ec681f3Smrg      <opt>lt</opt>
54647ec681f3Smrg      <opt>le</opt>
54657ec681f3Smrg    </mod>
54667ec681f3Smrg    <derived start="6" size="1">
54677ec681f3Smrg      <eq left="cmpf" right="#gt"/>
54687ec681f3Smrg      <eq left="cmpf" right="#ge"/>
54697ec681f3Smrg    </derived>
54707ec681f3Smrg    <swap left="0" right="1">
54717ec681f3Smrg      <or>
54727ec681f3Smrg        <eq left="cmpf" right="#lt"/>
54737ec681f3Smrg        <eq left="cmpf" right="#le"/>
54747ec681f3Smrg      </or>
54757ec681f3Smrg      <rewrite name="cmpf">
54767ec681f3Smrg        <map from="lt" to="gt"/>
54777ec681f3Smrg        <map from="le" to="ge"/>
54787ec681f3Smrg      </rewrite>
54797ec681f3Smrg    </swap>
54807ec681f3Smrg  </ins>
54817ec681f3Smrg
54827ec681f3Smrg  <ins name="+ICMP.u32" mask="0xffb80" exact="0x7b280">
54837ec681f3Smrg    <src start="0"/>
54847ec681f3Smrg    <src start="3"/>
54857ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
54867ec681f3Smrg      <opt>i1</opt>
54877ec681f3Smrg      <opt>m1</opt>
54887ec681f3Smrg    </mod>
54897ec681f3Smrg    <mod name="cmpf" size="2">
54907ec681f3Smrg      <opt>gt</opt>
54917ec681f3Smrg      <opt>ge</opt>
54927ec681f3Smrg      <opt>lt</opt>
54937ec681f3Smrg      <opt>le</opt>
54947ec681f3Smrg    </mod>
54957ec681f3Smrg    <derived start="6" size="1">
54967ec681f3Smrg      <eq left="cmpf" right="#gt"/>
54977ec681f3Smrg      <eq left="cmpf" right="#ge"/>
54987ec681f3Smrg    </derived>
54997ec681f3Smrg    <swap left="0" right="1">
55007ec681f3Smrg      <or>
55017ec681f3Smrg        <eq left="cmpf" right="#lt"/>
55027ec681f3Smrg        <eq left="cmpf" right="#le"/>
55037ec681f3Smrg      </or>
55047ec681f3Smrg      <rewrite name="cmpf">
55057ec681f3Smrg        <map from="lt" to="gt"/>
55067ec681f3Smrg        <map from="le" to="ge"/>
55077ec681f3Smrg      </rewrite>
55087ec681f3Smrg    </swap>
55097ec681f3Smrg  </ins>
55107ec681f3Smrg
55117ec681f3Smrg  <ins name="+ICMP.v2i16" mask="0xff000" exact="0x7a000">
55127ec681f3Smrg    <src start="0"/>
55137ec681f3Smrg    <src start="3"/>
55147ec681f3Smrg    <mod name="swz0" start="6" size="2" default="h01">
55157ec681f3Smrg      <opt>h00</opt>
55167ec681f3Smrg      <opt>h10</opt>
55177ec681f3Smrg      <opt>h01</opt>
55187ec681f3Smrg      <opt>h11</opt>
55197ec681f3Smrg    </mod>
55207ec681f3Smrg    <mod name="swz1" start="8" size="2" default="h01">
55217ec681f3Smrg      <opt>h00</opt>
55227ec681f3Smrg      <opt>h10</opt>
55237ec681f3Smrg      <opt>h01</opt>
55247ec681f3Smrg      <opt>h11</opt>
55257ec681f3Smrg    </mod>
55267ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
55277ec681f3Smrg      <opt>i1</opt>
55287ec681f3Smrg      <opt>m1</opt>
55297ec681f3Smrg    </mod>
55307ec681f3Smrg    <mod name="cmpf" start="11" size="1">
55317ec681f3Smrg      <opt>eq</opt>
55327ec681f3Smrg      <opt>ne</opt>
55337ec681f3Smrg    </mod>
55347ec681f3Smrg  </ins>
55357ec681f3Smrg
55367ec681f3Smrg  <ins name="+ICMP.v2s16" mask="0xfe800" exact="0x78000">
55377ec681f3Smrg    <src start="0"/>
55387ec681f3Smrg    <src start="3"/>
55397ec681f3Smrg    <mod name="swz0" start="6" size="2" default="h01">
55407ec681f3Smrg      <opt>h00</opt>
55417ec681f3Smrg      <opt>h10</opt>
55427ec681f3Smrg      <opt>h01</opt>
55437ec681f3Smrg      <opt>h11</opt>
55447ec681f3Smrg    </mod>
55457ec681f3Smrg    <mod name="swz1" start="8" size="2" default="h01">
55467ec681f3Smrg      <opt>h00</opt>
55477ec681f3Smrg      <opt>h10</opt>
55487ec681f3Smrg      <opt>h01</opt>
55497ec681f3Smrg      <opt>h11</opt>
55507ec681f3Smrg    </mod>
55517ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
55527ec681f3Smrg      <opt>i1</opt>
55537ec681f3Smrg      <opt>m1</opt>
55547ec681f3Smrg    </mod>
55557ec681f3Smrg    <mod name="cmpf" size="2">
55567ec681f3Smrg      <opt>gt</opt>
55577ec681f3Smrg      <opt>ge</opt>
55587ec681f3Smrg      <opt>lt</opt>
55597ec681f3Smrg      <opt>le</opt>
55607ec681f3Smrg    </mod>
55617ec681f3Smrg    <derived start="12" size="1">
55627ec681f3Smrg      <eq left="cmpf" right="#gt"/>
55637ec681f3Smrg      <eq left="cmpf" right="#ge"/>
55647ec681f3Smrg    </derived>
55657ec681f3Smrg    <swap left="0" right="1">
55667ec681f3Smrg      <or>
55677ec681f3Smrg        <eq left="cmpf" right="#lt"/>
55687ec681f3Smrg        <eq left="cmpf" right="#le"/>
55697ec681f3Smrg      </or>
55707ec681f3Smrg      <rewrite name="cmpf">
55717ec681f3Smrg        <map from="lt" to="gt"/>
55727ec681f3Smrg        <map from="le" to="ge"/>
55737ec681f3Smrg      </rewrite>
55747ec681f3Smrg    </swap>
55757ec681f3Smrg  </ins>
55767ec681f3Smrg
55777ec681f3Smrg  <ins name="+ICMP.v2u16" mask="0xfe800" exact="0x78800">
55787ec681f3Smrg    <src start="0"/>
55797ec681f3Smrg    <src start="3"/>
55807ec681f3Smrg    <mod name="swz0" start="6" size="2" default="h01">
55817ec681f3Smrg      <opt>h00</opt>
55827ec681f3Smrg      <opt>h10</opt>
55837ec681f3Smrg      <opt>h01</opt>
55847ec681f3Smrg      <opt>h11</opt>
55857ec681f3Smrg    </mod>
55867ec681f3Smrg    <mod name="swz1" start="8" size="2" default="h01">
55877ec681f3Smrg      <opt>h00</opt>
55887ec681f3Smrg      <opt>h10</opt>
55897ec681f3Smrg      <opt>h01</opt>
55907ec681f3Smrg      <opt>h11</opt>
55917ec681f3Smrg    </mod>
55927ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
55937ec681f3Smrg      <opt>i1</opt>
55947ec681f3Smrg      <opt>m1</opt>
55957ec681f3Smrg    </mod>
55967ec681f3Smrg    <mod name="cmpf" size="2">
55977ec681f3Smrg      <opt>gt</opt>
55987ec681f3Smrg      <opt>ge</opt>
55997ec681f3Smrg      <opt>lt</opt>
56007ec681f3Smrg      <opt>le</opt>
56017ec681f3Smrg    </mod>
56027ec681f3Smrg    <derived start="12" size="1">
56037ec681f3Smrg      <eq left="cmpf" right="#gt"/>
56047ec681f3Smrg      <eq left="cmpf" right="#ge"/>
56057ec681f3Smrg    </derived>
56067ec681f3Smrg    <swap left="0" right="1">
56077ec681f3Smrg      <or>
56087ec681f3Smrg        <eq left="cmpf" right="#lt"/>
56097ec681f3Smrg        <eq left="cmpf" right="#le"/>
56107ec681f3Smrg      </or>
56117ec681f3Smrg      <rewrite name="cmpf">
56127ec681f3Smrg        <map from="lt" to="gt"/>
56137ec681f3Smrg        <map from="le" to="ge"/>
56147ec681f3Smrg      </rewrite>
56157ec681f3Smrg    </swap>
56167ec681f3Smrg  </ins>
56177ec681f3Smrg
56187ec681f3Smrg  <ins name="+ICMP.v4i8" mask="0xffb80" exact="0x7b100">
56197ec681f3Smrg    <src start="0"/>
56207ec681f3Smrg    <src start="3"/>
56217ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
56227ec681f3Smrg      <opt>i1</opt>
56237ec681f3Smrg      <opt>m1</opt>
56247ec681f3Smrg    </mod>
56257ec681f3Smrg    <mod name="cmpf" start="6" size="1">
56267ec681f3Smrg      <opt>eq</opt>
56277ec681f3Smrg      <opt>ne</opt>
56287ec681f3Smrg    </mod>
56297ec681f3Smrg  </ins>
56307ec681f3Smrg
56317ec681f3Smrg  <ins name="+ICMP.v4s8" mask="0xffb80" exact="0x7b000">
56327ec681f3Smrg    <src start="0"/>
56337ec681f3Smrg    <src start="3"/>
56347ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
56357ec681f3Smrg      <opt>i1</opt>
56367ec681f3Smrg      <opt>m1</opt>
56377ec681f3Smrg    </mod>
56387ec681f3Smrg    <mod name="cmpf" size="2">
56397ec681f3Smrg      <opt>gt</opt>
56407ec681f3Smrg      <opt>ge</opt>
56417ec681f3Smrg      <opt>lt</opt>
56427ec681f3Smrg      <opt>le</opt>
56437ec681f3Smrg    </mod>
56447ec681f3Smrg    <derived start="6" size="1">
56457ec681f3Smrg      <eq left="cmpf" right="#gt"/>
56467ec681f3Smrg      <eq left="cmpf" right="#ge"/>
56477ec681f3Smrg    </derived>
56487ec681f3Smrg    <swap left="0" right="1">
56497ec681f3Smrg      <or>
56507ec681f3Smrg        <eq left="cmpf" right="#lt"/>
56517ec681f3Smrg        <eq left="cmpf" right="#le"/>
56527ec681f3Smrg      </or>
56537ec681f3Smrg      <rewrite name="cmpf">
56547ec681f3Smrg        <map from="lt" to="gt"/>
56557ec681f3Smrg        <map from="le" to="ge"/>
56567ec681f3Smrg      </rewrite>
56577ec681f3Smrg    </swap>
56587ec681f3Smrg  </ins>
56597ec681f3Smrg
56607ec681f3Smrg  <ins name="+ICMP.v4u8" mask="0xffb80" exact="0x7b080">
56617ec681f3Smrg    <src start="0"/>
56627ec681f3Smrg    <src start="3"/>
56637ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
56647ec681f3Smrg      <opt>i1</opt>
56657ec681f3Smrg      <opt>m1</opt>
56667ec681f3Smrg    </mod>
56677ec681f3Smrg    <mod name="cmpf" size="2">
56687ec681f3Smrg      <opt>gt</opt>
56697ec681f3Smrg      <opt>ge</opt>
56707ec681f3Smrg      <opt>lt</opt>
56717ec681f3Smrg      <opt>le</opt>
56727ec681f3Smrg    </mod>
56737ec681f3Smrg    <derived start="6" size="1">
56747ec681f3Smrg      <eq left="cmpf" right="#gt"/>
56757ec681f3Smrg      <eq left="cmpf" right="#ge"/>
56767ec681f3Smrg    </derived>
56777ec681f3Smrg    <swap left="0" right="1">
56787ec681f3Smrg      <or>
56797ec681f3Smrg        <eq left="cmpf" right="#lt"/>
56807ec681f3Smrg        <eq left="cmpf" right="#le"/>
56817ec681f3Smrg      </or>
56827ec681f3Smrg      <rewrite name="cmpf">
56837ec681f3Smrg        <map from="lt" to="gt"/>
56847ec681f3Smrg        <map from="le" to="ge"/>
56857ec681f3Smrg      </rewrite>
56867ec681f3Smrg    </swap>
56877ec681f3Smrg  </ins>
56887ec681f3Smrg
56897ec681f3Smrg  <ins name="+ICMPF.i32" mask="0xffe00" exact="0x7be00">
56907ec681f3Smrg    <src start="0"/>
56917ec681f3Smrg    <src start="3"/>
56927ec681f3Smrg    <src start="6"/>
56937ec681f3Smrg  </ins>
56947ec681f3Smrg
56957ec681f3Smrg  <ins name="+ICMPI.i32" mask="0xffb80" exact="0x7b900">
56967ec681f3Smrg    <src start="0"/>
56977ec681f3Smrg    <src start="3"/>
56987ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
56997ec681f3Smrg      <opt>i1</opt>
57007ec681f3Smrg      <opt>m1</opt>
57017ec681f3Smrg    </mod>
57027ec681f3Smrg    <mod name="cmpf" start="6" size="1">
57037ec681f3Smrg      <opt>eq</opt>
57047ec681f3Smrg      <opt>ne</opt>
57057ec681f3Smrg    </mod>
57067ec681f3Smrg  </ins>
57077ec681f3Smrg
57087ec681f3Smrg  <ins name="+ICMPI.s32" mask="0xffb80" exact="0x7b800">
57097ec681f3Smrg    <src start="0"/>
57107ec681f3Smrg    <src start="3"/>
57117ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
57127ec681f3Smrg      <opt>i1</opt>
57137ec681f3Smrg      <opt>m1</opt>
57147ec681f3Smrg    </mod>
57157ec681f3Smrg    <mod name="cmpf" start="6" size="1">
57167ec681f3Smrg      <opt>gt</opt>
57177ec681f3Smrg      <opt>ge</opt>
57187ec681f3Smrg    </mod>
57197ec681f3Smrg  </ins>
57207ec681f3Smrg
57217ec681f3Smrg  <ins name="+ICMPI.u32" mask="0xffb80" exact="0x7b880">
57227ec681f3Smrg    <src start="0"/>
57237ec681f3Smrg    <src start="3"/>
57247ec681f3Smrg    <mod name="result_type" start="10" size="1" default="i1">
57257ec681f3Smrg      <opt>i1</opt>
57267ec681f3Smrg      <opt>m1</opt>
57277ec681f3Smrg    </mod>
57287ec681f3Smrg    <mod name="cmpf" start="6" size="1">
57297ec681f3Smrg      <opt>gt</opt>
57307ec681f3Smrg      <opt>ge</opt>
57317ec681f3Smrg    </mod>
57327ec681f3Smrg  </ins>
57337ec681f3Smrg
57347ec681f3Smrg  <ins name="+ICMPM.i32" mask="0xffe00" exact="0x7ba00">
57357ec681f3Smrg    <src start="0"/>
57367ec681f3Smrg    <src start="3"/>
57377ec681f3Smrg    <src start="6"/>
57387ec681f3Smrg  </ins>
57397ec681f3Smrg
57407ec681f3Smrg  <ins name="+ILOGB.f32" mask="0xfffe0" exact="0x3d9e0">
57417ec681f3Smrg    <src start="0"/>
57427ec681f3Smrg    <mod name="widen0" start="3" size="2">
57437ec681f3Smrg      <reserved/>
57447ec681f3Smrg      <opt>none</opt>
57457ec681f3Smrg      <opt>h0</opt>
57467ec681f3Smrg      <opt>h1</opt>
57477ec681f3Smrg    </mod>
57487ec681f3Smrg  </ins>
57497ec681f3Smrg
57507ec681f3Smrg  <ins name="+ILOGB.v2f16" mask="0xfffe0" exact="0x3d9c0">
57517ec681f3Smrg    <src start="0"/>
57527ec681f3Smrg    <mod name="swz0" start="3" size="2" default="h01">
57537ec681f3Smrg      <opt>h00</opt>
57547ec681f3Smrg      <opt>h10</opt>
57557ec681f3Smrg      <opt>h01</opt>
57567ec681f3Smrg      <opt>h11</opt>
57577ec681f3Smrg    </mod>
57587ec681f3Smrg  </ins>
57597ec681f3Smrg
57607ec681f3Smrg  <ins name="+IMOV_FMA" mask="0xffff7" exact="0xd7820">
57617ec681f3Smrg    <mod name="threads" start="3" size="1" default="odd">
57627ec681f3Smrg      <opt>even</opt>
57637ec681f3Smrg      <opt>odd</opt>
57647ec681f3Smrg    </mod>
57657ec681f3Smrg  </ins>
57667ec681f3Smrg
57677ec681f3Smrg  <ins name="+ISUB.s32">
57687ec681f3Smrg    <src start="0"/>
57697ec681f3Smrg    <src start="3"/>
57707ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
57717ec681f3Smrg    <mod name="lanes1" size="3">
57727ec681f3Smrg      <opt>none</opt>
57737ec681f3Smrg      <opt>h0</opt>
57747ec681f3Smrg      <opt>h1</opt>
57757ec681f3Smrg      <opt>b0</opt>
57767ec681f3Smrg      <opt>b1</opt>
57777ec681f3Smrg      <opt>b2</opt>
57787ec681f3Smrg      <opt>b3</opt>
57797ec681f3Smrg    </mod>
57807ec681f3Smrg    <encoding mask="0xffec0" exact="0xbd600">
57817ec681f3Smrg      <eq left="lanes1" right="#none"/>
57827ec681f3Smrg    </encoding>
57837ec681f3Smrg    <encoding mask="0xffcc0" exact="0xbfc00">
57847ec681f3Smrg      <or>
57857ec681f3Smrg        <eq left="lanes1" right="#h0"/>
57867ec681f3Smrg        <eq left="lanes1" right="#h1"/>
57877ec681f3Smrg      </or>
57887ec681f3Smrg      <derived start="9" size="1">
57897ec681f3Smrg        <eq left="lanes1" right="#h0"/>
57907ec681f3Smrg        <eq left="lanes1" right="#h1"/>
57917ec681f3Smrg      </derived>
57927ec681f3Smrg    </encoding>
57937ec681f3Smrg    <encoding mask="0xff8c0" exact="0xbf000">
57947ec681f3Smrg      <or>
57957ec681f3Smrg        <eq left="lanes1" right="#b0"/>
57967ec681f3Smrg        <eq left="lanes1" right="#b1"/>
57977ec681f3Smrg        <eq left="lanes1" right="#b2"/>
57987ec681f3Smrg        <eq left="lanes1" right="#b3"/>
57997ec681f3Smrg      </or>
58007ec681f3Smrg      <derived start="9" size="2">
58017ec681f3Smrg        <eq left="lanes1" right="#b0"/>
58027ec681f3Smrg        <eq left="lanes1" right="#b1"/>
58037ec681f3Smrg        <eq left="lanes1" right="#b2"/>
58047ec681f3Smrg        <eq left="lanes1" right="#b3"/>
58057ec681f3Smrg      </derived>
58067ec681f3Smrg    </encoding>
58077ec681f3Smrg  </ins>
58087ec681f3Smrg
58097ec681f3Smrg  <ins name="+ISUB.u32">
58107ec681f3Smrg    <src start="0"/>
58117ec681f3Smrg    <src start="3"/>
58127ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
58137ec681f3Smrg    <mod name="lanes1" size="3">
58147ec681f3Smrg      <opt>none</opt>
58157ec681f3Smrg      <opt>h0</opt>
58167ec681f3Smrg      <opt>h1</opt>
58177ec681f3Smrg      <opt>b0</opt>
58187ec681f3Smrg      <opt>b1</opt>
58197ec681f3Smrg      <opt>b2</opt>
58207ec681f3Smrg      <opt>b3</opt>
58217ec681f3Smrg    </mod>
58227ec681f3Smrg    <encoding mask="0xffe40" exact="0xbd600">
58237ec681f3Smrg      <eq left="lanes1" right="#none"/>
58247ec681f3Smrg      <derived start="7" size="1">
58257ec681f3Smrg        <and alias="true">
58267ec681f3Smrg          <eq left="saturate" right="#none"/>
58277ec681f3Smrg          <eq left="lanes1" right="#none"/>
58287ec681f3Smrg        </and>
58297ec681f3Smrg        <or>
58307ec681f3Smrg          <eq left="saturate" right="#sat"/>
58317ec681f3Smrg          <neq left="lanes1" right="#none"/>
58327ec681f3Smrg        </or>
58337ec681f3Smrg      </derived>
58347ec681f3Smrg    </encoding>
58357ec681f3Smrg    <encoding mask="0xffc40" exact="0xbfc00">
58367ec681f3Smrg      <or>
58377ec681f3Smrg        <eq left="lanes1" right="#h0"/>
58387ec681f3Smrg        <eq left="lanes1" right="#h1"/>
58397ec681f3Smrg      </or>
58407ec681f3Smrg      <derived start="7" size="1">
58417ec681f3Smrg        <and alias="true">
58427ec681f3Smrg          <eq left="saturate" right="#none"/>
58437ec681f3Smrg          <eq left="lanes1" right="#none"/>
58447ec681f3Smrg        </and>
58457ec681f3Smrg        <or>
58467ec681f3Smrg          <eq left="saturate" right="#sat"/>
58477ec681f3Smrg          <neq left="lanes1" right="#none"/>
58487ec681f3Smrg        </or>
58497ec681f3Smrg      </derived>
58507ec681f3Smrg      <derived start="9" size="1">
58517ec681f3Smrg        <eq left="lanes1" right="#h0"/>
58527ec681f3Smrg        <eq left="lanes1" right="#h1"/>
58537ec681f3Smrg      </derived>
58547ec681f3Smrg    </encoding>
58557ec681f3Smrg    <encoding mask="0xff840" exact="0xbf000">
58567ec681f3Smrg      <or>
58577ec681f3Smrg        <eq left="lanes1" right="#b0"/>
58587ec681f3Smrg        <eq left="lanes1" right="#b1"/>
58597ec681f3Smrg        <eq left="lanes1" right="#b2"/>
58607ec681f3Smrg        <eq left="lanes1" right="#b3"/>
58617ec681f3Smrg      </or>
58627ec681f3Smrg      <derived start="7" size="1">
58637ec681f3Smrg        <and alias="true">
58647ec681f3Smrg          <eq left="saturate" right="#none"/>
58657ec681f3Smrg          <eq left="lanes1" right="#none"/>
58667ec681f3Smrg        </and>
58677ec681f3Smrg        <or>
58687ec681f3Smrg          <eq left="saturate" right="#sat"/>
58697ec681f3Smrg          <neq left="lanes1" right="#none"/>
58707ec681f3Smrg        </or>
58717ec681f3Smrg      </derived>
58727ec681f3Smrg      <derived start="9" size="2">
58737ec681f3Smrg        <eq left="lanes1" right="#b0"/>
58747ec681f3Smrg        <eq left="lanes1" right="#b1"/>
58757ec681f3Smrg        <eq left="lanes1" right="#b2"/>
58767ec681f3Smrg        <eq left="lanes1" right="#b3"/>
58777ec681f3Smrg      </derived>
58787ec681f3Smrg    </encoding>
58797ec681f3Smrg  </ins>
58807ec681f3Smrg
58817ec681f3Smrg  <ins name="+ISUB.v2s16">
58827ec681f3Smrg    <src start="0"/>
58837ec681f3Smrg    <src start="3"/>
58847ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
58857ec681f3Smrg    <mod name="lanes0" size="1" default="h01">
58867ec681f3Smrg      <opt>h01</opt>
58877ec681f3Smrg      <opt>h10</opt>
58887ec681f3Smrg    </mod>
58897ec681f3Smrg    <mod name="lanes1" size="3" default="h01">
58907ec681f3Smrg      <opt>h01</opt>
58917ec681f3Smrg      <opt>h10</opt>
58927ec681f3Smrg      <opt>h00</opt>
58937ec681f3Smrg      <opt>h11</opt>
58947ec681f3Smrg      <opt>b01</opt>
58957ec681f3Smrg      <opt>b23</opt>
58967ec681f3Smrg    </mod>
58977ec681f3Smrg    <encoding mask="0xff8c0" exact="0xbd800">
58987ec681f3Smrg      <and>
58997ec681f3Smrg        <or>
59007ec681f3Smrg          <eq left="lanes0" right="#h01"/>
59017ec681f3Smrg          <eq left="lanes0" right="#h10"/>
59027ec681f3Smrg        </or>
59037ec681f3Smrg        <or>
59047ec681f3Smrg          <eq left="lanes1" right="#h01"/>
59057ec681f3Smrg          <eq left="lanes1" right="#h10"/>
59067ec681f3Smrg        </or>
59077ec681f3Smrg      </and>
59087ec681f3Smrg      <derived start="9" size="1">
59097ec681f3Smrg        <eq left="lanes1" right="#h01"/>
59107ec681f3Smrg        <eq left="lanes1" right="#h10"/>
59117ec681f3Smrg      </derived>
59127ec681f3Smrg      <derived start="10" size="1">
59137ec681f3Smrg        <eq left="lanes0" right="#h01"/>
59147ec681f3Smrg        <eq left="lanes0" right="#h10"/>
59157ec681f3Smrg      </derived>
59167ec681f3Smrg    </encoding>
59177ec681f3Smrg    <encoding mask="0xffcc0" exact="0xbfc40">
59187ec681f3Smrg      <and>
59197ec681f3Smrg        <eq left="lanes0" right="#h01"/>
59207ec681f3Smrg        <or>
59217ec681f3Smrg          <eq left="lanes1" right="#h00"/>
59227ec681f3Smrg          <eq left="lanes1" right="#h11"/>
59237ec681f3Smrg        </or>
59247ec681f3Smrg      </and>
59257ec681f3Smrg      <derived start="9" size="1">
59267ec681f3Smrg        <eq left="lanes1" right="#h00"/>
59277ec681f3Smrg        <eq left="lanes1" right="#h11"/>
59287ec681f3Smrg      </derived>
59297ec681f3Smrg    </encoding>
59307ec681f3Smrg    <encoding mask="0xffcc0" exact="0xbf800">
59317ec681f3Smrg      <and>
59327ec681f3Smrg        <eq left="lanes0" right="#h01"/>
59337ec681f3Smrg        <or>
59347ec681f3Smrg          <eq left="lanes1" right="#b01"/>
59357ec681f3Smrg          <eq left="lanes1" right="#b23"/>
59367ec681f3Smrg        </or>
59377ec681f3Smrg      </and>
59387ec681f3Smrg      <derived start="9" size="1">
59397ec681f3Smrg        <eq left="lanes1" right="#b01"/>
59407ec681f3Smrg        <eq left="lanes1" right="#b23"/>
59417ec681f3Smrg      </derived>
59427ec681f3Smrg    </encoding>
59437ec681f3Smrg  </ins>
59447ec681f3Smrg
59457ec681f3Smrg  <ins name="+ISUB.v2u16">
59467ec681f3Smrg    <src start="0"/>
59477ec681f3Smrg    <src start="3"/>
59487ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
59497ec681f3Smrg    <mod name="lanes0" size="1" default="h01">
59507ec681f3Smrg      <opt>h01</opt>
59517ec681f3Smrg      <opt>h10</opt>
59527ec681f3Smrg    </mod>
59537ec681f3Smrg    <mod name="lanes1" size="3" default="h01">
59547ec681f3Smrg      <opt>h01</opt>
59557ec681f3Smrg      <opt>h10</opt>
59567ec681f3Smrg      <opt>h00</opt>
59577ec681f3Smrg      <opt>h11</opt>
59587ec681f3Smrg      <opt>b01</opt>
59597ec681f3Smrg      <opt>b23</opt>
59607ec681f3Smrg    </mod>
59617ec681f3Smrg    <encoding mask="0xff840" exact="0xbd800">
59627ec681f3Smrg      <and>
59637ec681f3Smrg        <or>
59647ec681f3Smrg          <eq left="lanes0" right="#h01"/>
59657ec681f3Smrg          <eq left="lanes0" right="#h10"/>
59667ec681f3Smrg        </or>
59677ec681f3Smrg        <or>
59687ec681f3Smrg          <eq left="lanes1" right="#h01"/>
59697ec681f3Smrg          <eq left="lanes1" right="#h10"/>
59707ec681f3Smrg        </or>
59717ec681f3Smrg      </and>
59727ec681f3Smrg      <derived start="7" size="1">
59737ec681f3Smrg        <and alias="true">
59747ec681f3Smrg          <eq left="saturate" right="#none"/>
59757ec681f3Smrg          <neq left="lanes1" right="#b01"/>
59767ec681f3Smrg          <neq left="lanes1" right="#b23"/>
59777ec681f3Smrg        </and>
59787ec681f3Smrg        <or>
59797ec681f3Smrg          <eq left="saturate" right="#sat"/>
59807ec681f3Smrg          <eq left="lanes1" right="#b01"/>
59817ec681f3Smrg          <eq left="lanes1" right="#b23"/>
59827ec681f3Smrg        </or>
59837ec681f3Smrg      </derived>
59847ec681f3Smrg      <derived start="9" size="1">
59857ec681f3Smrg        <eq left="lanes1" right="#h01"/>
59867ec681f3Smrg        <eq left="lanes1" right="#h10"/>
59877ec681f3Smrg      </derived>
59887ec681f3Smrg      <derived start="10" size="1">
59897ec681f3Smrg        <eq left="lanes0" right="#h01"/>
59907ec681f3Smrg        <eq left="lanes0" right="#h10"/>
59917ec681f3Smrg      </derived>
59927ec681f3Smrg    </encoding>
59937ec681f3Smrg    <encoding mask="0xffc40" exact="0xbfc40">
59947ec681f3Smrg      <and>
59957ec681f3Smrg        <eq left="lanes0" right="#h01"/>
59967ec681f3Smrg        <or>
59977ec681f3Smrg          <eq left="lanes1" right="#h00"/>
59987ec681f3Smrg          <eq left="lanes1" right="#h11"/>
59997ec681f3Smrg        </or>
60007ec681f3Smrg      </and>
60017ec681f3Smrg      <derived start="7" size="1">
60027ec681f3Smrg        <and alias="true">
60037ec681f3Smrg          <eq left="saturate" right="#none"/>
60047ec681f3Smrg          <neq left="lanes1" right="#b01"/>
60057ec681f3Smrg          <neq left="lanes1" right="#b23"/>
60067ec681f3Smrg        </and>
60077ec681f3Smrg        <or>
60087ec681f3Smrg          <eq left="saturate" right="#sat"/>
60097ec681f3Smrg          <eq left="lanes1" right="#b01"/>
60107ec681f3Smrg          <eq left="lanes1" right="#b23"/>
60117ec681f3Smrg        </or>
60127ec681f3Smrg      </derived>
60137ec681f3Smrg      <derived start="9" size="1">
60147ec681f3Smrg        <eq left="lanes1" right="#h00"/>
60157ec681f3Smrg        <eq left="lanes1" right="#h11"/>
60167ec681f3Smrg      </derived>
60177ec681f3Smrg    </encoding>
60187ec681f3Smrg    <encoding mask="0xffc40" exact="0xbf800">
60197ec681f3Smrg      <and>
60207ec681f3Smrg        <eq left="lanes0" right="#h01"/>
60217ec681f3Smrg        <or>
60227ec681f3Smrg          <eq left="lanes1" right="#b01"/>
60237ec681f3Smrg          <eq left="lanes1" right="#b23"/>
60247ec681f3Smrg        </or>
60257ec681f3Smrg      </and>
60267ec681f3Smrg      <derived start="7" size="1">
60277ec681f3Smrg        <and alias="true">
60287ec681f3Smrg          <eq left="saturate" right="#none"/>
60297ec681f3Smrg          <neq left="lanes1" right="#b01"/>
60307ec681f3Smrg          <neq left="lanes1" right="#b23"/>
60317ec681f3Smrg        </and>
60327ec681f3Smrg        <or>
60337ec681f3Smrg          <eq left="saturate" right="#sat"/>
60347ec681f3Smrg          <eq left="lanes1" right="#b01"/>
60357ec681f3Smrg          <eq left="lanes1" right="#b23"/>
60367ec681f3Smrg        </or>
60377ec681f3Smrg      </derived>
60387ec681f3Smrg      <derived start="9" size="1">
60397ec681f3Smrg        <eq left="lanes1" right="#b01"/>
60407ec681f3Smrg        <eq left="lanes1" right="#b23"/>
60417ec681f3Smrg      </derived>
60427ec681f3Smrg    </encoding>
60437ec681f3Smrg  </ins>
60447ec681f3Smrg
60457ec681f3Smrg  <ins name="+ISUB.v4s8">
60467ec681f3Smrg    <src start="0"/>
60477ec681f3Smrg    <src start="3"/>
60487ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
60497ec681f3Smrg    <mod name="lanes0" size="3" default="b0123">
60507ec681f3Smrg      <opt>b0123</opt>
60517ec681f3Smrg    </mod>
60527ec681f3Smrg    <mod name="lanes1" size="3" default="b0123">
60537ec681f3Smrg      <opt>b0123</opt>
60547ec681f3Smrg      <opt>b0000</opt>
60557ec681f3Smrg      <opt>b1111</opt>
60567ec681f3Smrg      <opt>b2222</opt>
60577ec681f3Smrg      <opt>b3333</opt>
60587ec681f3Smrg      <opt>b0101</opt>
60597ec681f3Smrg      <opt>b2323</opt>
60607ec681f3Smrg    </mod>
60617ec681f3Smrg    <encoding mask="0xffec0" exact="0xbd400">
60627ec681f3Smrg      <and>
60637ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
60647ec681f3Smrg        <eq left="lanes1" right="#b0123"/>
60657ec681f3Smrg      </and>
60667ec681f3Smrg    </encoding>
60677ec681f3Smrg    <encoding mask="0xff8c0" exact="0xbf040">
60687ec681f3Smrg      <and>
60697ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
60707ec681f3Smrg        <or>
60717ec681f3Smrg          <eq left="lanes1" right="#b0000"/>
60727ec681f3Smrg          <eq left="lanes1" right="#b1111"/>
60737ec681f3Smrg          <eq left="lanes1" right="#b2222"/>
60747ec681f3Smrg          <eq left="lanes1" right="#b3333"/>
60757ec681f3Smrg        </or>
60767ec681f3Smrg      </and>
60777ec681f3Smrg      <derived start="9" size="2">
60787ec681f3Smrg        <eq left="lanes1" right="#b0000"/>
60797ec681f3Smrg        <eq left="lanes1" right="#b1111"/>
60807ec681f3Smrg        <eq left="lanes1" right="#b2222"/>
60817ec681f3Smrg        <eq left="lanes1" right="#b3333"/>
60827ec681f3Smrg      </derived>
60837ec681f3Smrg    </encoding>
60847ec681f3Smrg    <encoding mask="0xffcc0" exact="0xbf840">
60857ec681f3Smrg      <and>
60867ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
60877ec681f3Smrg        <or>
60887ec681f3Smrg          <eq left="lanes1" right="#b0101"/>
60897ec681f3Smrg          <eq left="lanes1" right="#b2323"/>
60907ec681f3Smrg        </or>
60917ec681f3Smrg      </and>
60927ec681f3Smrg      <derived start="9" size="1">
60937ec681f3Smrg        <eq left="lanes1" right="#b0101"/>
60947ec681f3Smrg        <eq left="lanes1" right="#b2323"/>
60957ec681f3Smrg      </derived>
60967ec681f3Smrg    </encoding>
60977ec681f3Smrg  </ins>
60987ec681f3Smrg
60997ec681f3Smrg  <ins name="+ISUB.v4u8">
61007ec681f3Smrg    <src start="0"/>
61017ec681f3Smrg    <src start="3"/>
61027ec681f3Smrg    <mod name="saturate" start="8" size="1" opt="sat"/>
61037ec681f3Smrg    <mod name="lanes0" size="3" default="b0123">
61047ec681f3Smrg      <opt>b0123</opt>
61057ec681f3Smrg    </mod>
61067ec681f3Smrg    <mod name="lanes1" size="3" default="b0123">
61077ec681f3Smrg      <opt>b0123</opt>
61087ec681f3Smrg      <opt>b0000</opt>
61097ec681f3Smrg      <opt>b1111</opt>
61107ec681f3Smrg      <opt>b2222</opt>
61117ec681f3Smrg      <opt>b3333</opt>
61127ec681f3Smrg      <opt>b0101</opt>
61137ec681f3Smrg      <opt>b2323</opt>
61147ec681f3Smrg    </mod>
61157ec681f3Smrg    <encoding mask="0xffe40" exact="0xbd400">
61167ec681f3Smrg      <and>
61177ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
61187ec681f3Smrg        <eq left="lanes1" right="#b0123"/>
61197ec681f3Smrg      </and>
61207ec681f3Smrg      <derived start="7" size="1">
61217ec681f3Smrg        <eq alias="true" left="saturate" right="#none"/>
61227ec681f3Smrg        <eq left="saturate" right="#sat"/>
61237ec681f3Smrg      </derived>
61247ec681f3Smrg    </encoding>
61257ec681f3Smrg    <encoding mask="0xff840" exact="0xbf040">
61267ec681f3Smrg      <and>
61277ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
61287ec681f3Smrg        <or>
61297ec681f3Smrg          <eq left="lanes1" right="#b0000"/>
61307ec681f3Smrg          <eq left="lanes1" right="#b1111"/>
61317ec681f3Smrg          <eq left="lanes1" right="#b2222"/>
61327ec681f3Smrg          <eq left="lanes1" right="#b3333"/>
61337ec681f3Smrg        </or>
61347ec681f3Smrg      </and>
61357ec681f3Smrg      <derived start="7" size="1">
61367ec681f3Smrg        <eq alias="true" left="saturate" right="#none"/>
61377ec681f3Smrg        <eq left="saturate" right="#sat"/>
61387ec681f3Smrg      </derived>
61397ec681f3Smrg      <derived start="9" size="2">
61407ec681f3Smrg        <eq left="lanes1" right="#b0000"/>
61417ec681f3Smrg        <eq left="lanes1" right="#b1111"/>
61427ec681f3Smrg        <eq left="lanes1" right="#b2222"/>
61437ec681f3Smrg        <eq left="lanes1" right="#b3333"/>
61447ec681f3Smrg      </derived>
61457ec681f3Smrg    </encoding>
61467ec681f3Smrg    <encoding mask="0xffc40" exact="0xbf840">
61477ec681f3Smrg      <and>
61487ec681f3Smrg        <eq left="lanes0" right="#b0123"/>
61497ec681f3Smrg        <or>
61507ec681f3Smrg          <eq left="lanes1" right="#b0101"/>
61517ec681f3Smrg          <eq left="lanes1" right="#b2323"/>
61527ec681f3Smrg        </or>
61537ec681f3Smrg      </and>
61547ec681f3Smrg      <derived start="7" size="1">
61557ec681f3Smrg        <eq alias="true" left="saturate" right="#none"/>
61567ec681f3Smrg        <eq left="saturate" right="#sat"/>
61577ec681f3Smrg      </derived>
61587ec681f3Smrg      <derived start="9" size="1">
61597ec681f3Smrg        <eq left="lanes1" right="#b0101"/>
61607ec681f3Smrg        <eq left="lanes1" right="#b2323"/>
61617ec681f3Smrg      </derived>
61627ec681f3Smrg    </encoding>
61637ec681f3Smrg  </ins>
61647ec681f3Smrg
61657ec681f3Smrg  <ins name="+JUMP" mask="0xffe3f" exact="0x6fe34" last="true" dests="0">
61667ec681f3Smrg    <src start="6" mask="0xf7"/>
61677ec681f3Smrg  </ins>
61687ec681f3Smrg
61697ec681f3Smrg  <ins name="+KABOOM" mask="0xffff8" exact="0xd7858" unused="true" message="job_management">
61707ec681f3Smrg    <src start="0"/>
61717ec681f3Smrg  </ins>
61727ec681f3Smrg
61737ec681f3Smrg  <ins name="+LDEXP.f32" mask="0xffe00" exact="0x74c00">
61747ec681f3Smrg    <src start="0"/>
61757ec681f3Smrg    <src start="3"/>
61767ec681f3Smrg    <mod name="round" start="6" size="3">
61777ec681f3Smrg      <opt>none</opt>
61787ec681f3Smrg      <opt>rtp</opt>
61797ec681f3Smrg      <opt>rtn</opt>
61807ec681f3Smrg      <opt>rtz</opt>
61817ec681f3Smrg      <opt>rtna</opt>
61827ec681f3Smrg      <reserved/>
61837ec681f3Smrg      <opt>inf</opt>
61847ec681f3Smrg      <opt>inf0</opt>
61857ec681f3Smrg    </mod>
61867ec681f3Smrg  </ins>
61877ec681f3Smrg
61887ec681f3Smrg  <ins name="+LDEXP.v2f16" mask="0xffe00" exact="0x74e00">
61897ec681f3Smrg    <src start="0"/>
61907ec681f3Smrg    <src start="3"/>
61917ec681f3Smrg    <mod name="round" start="6" size="3">
61927ec681f3Smrg      <opt>none</opt>
61937ec681f3Smrg      <opt>rtp</opt>
61947ec681f3Smrg      <opt>rtn</opt>
61957ec681f3Smrg      <opt>rtz</opt>
61967ec681f3Smrg      <opt>rtna</opt>
61977ec681f3Smrg      <reserved/>
61987ec681f3Smrg      <opt>inf</opt>
61997ec681f3Smrg      <opt>inf0</opt>
62007ec681f3Smrg    </mod>
62017ec681f3Smrg  </ins>
62027ec681f3Smrg
62037ec681f3Smrg  <ins name="+LD_ATTR" staging="w=format" message="attribute">
62047ec681f3Smrg    <src start="0"/>
62057ec681f3Smrg    <src start="3"/>
62067ec681f3Smrg    <src start="6"/>
62077ec681f3Smrg    <mod name="register_format" size="4">
62087ec681f3Smrg      <opt>f16</opt>
62097ec681f3Smrg      <opt>f32</opt>
62107ec681f3Smrg      <opt>s32</opt>
62117ec681f3Smrg      <opt>u32</opt>
62127ec681f3Smrg      <opt>s16</opt>
62137ec681f3Smrg      <opt>u16</opt>
62147ec681f3Smrg      <opt>f64</opt>
62157ec681f3Smrg      <opt>i64</opt>
62167ec681f3Smrg      <opt>auto</opt>
62177ec681f3Smrg    </mod>
62187ec681f3Smrg    <mod name="vecsize" start="11" size="2">
62197ec681f3Smrg      <opt>none</opt>
62207ec681f3Smrg      <opt>v2</opt>
62217ec681f3Smrg      <opt>v3</opt>
62227ec681f3Smrg      <opt>v4</opt>
62237ec681f3Smrg    </mod>
62247ec681f3Smrg    <encoding mask="0xf0600" exact="0x40400">
62257ec681f3Smrg      <neq left="register_format" right="#auto"/>
62267ec681f3Smrg      <derived start="13" size="3">
62277ec681f3Smrg        <eq left="register_format" right="#f16"/>
62287ec681f3Smrg        <eq left="register_format" right="#f32"/>
62297ec681f3Smrg        <eq left="register_format" right="#s32"/>
62307ec681f3Smrg        <eq left="register_format" right="#u32"/>
62317ec681f3Smrg        <eq left="register_format" right="#s16"/>
62327ec681f3Smrg        <eq left="register_format" right="#u16"/>
62337ec681f3Smrg        <eq left="register_format" right="#f64"/>
62347ec681f3Smrg        <eq left="register_format" right="#i64"/>
62357ec681f3Smrg      </derived>
62367ec681f3Smrg    </encoding>
62377ec681f3Smrg    <encoding mask="0xfe600" exact="0xc4400">
62387ec681f3Smrg      <eq left="register_format" right="#auto"/>
62397ec681f3Smrg    </encoding>
62407ec681f3Smrg  </ins>
62417ec681f3Smrg
62427ec681f3Smrg  <ins name="+LD_ATTR_IMM" staging="w=format" message="attribute">
62437ec681f3Smrg    <src start="0"/>
62447ec681f3Smrg    <src start="3"/>
62457ec681f3Smrg    <immediate name="attribute_index" start="6" size="4"/>
62467ec681f3Smrg    <mod name="register_format" size="4">
62477ec681f3Smrg      <opt>f16</opt>
62487ec681f3Smrg      <opt>f32</opt>
62497ec681f3Smrg      <opt>s32</opt>
62507ec681f3Smrg      <opt>u32</opt>
62517ec681f3Smrg      <opt>s16</opt>
62527ec681f3Smrg      <opt>u16</opt>
62537ec681f3Smrg      <opt>f64</opt>
62547ec681f3Smrg      <opt>i64</opt>
62557ec681f3Smrg      <opt>auto</opt>
62567ec681f3Smrg    </mod>
62577ec681f3Smrg    <mod name="vecsize" start="11" size="2">
62587ec681f3Smrg      <opt>none</opt>
62597ec681f3Smrg      <opt>v2</opt>
62607ec681f3Smrg      <opt>v3</opt>
62617ec681f3Smrg      <opt>v4</opt>
62627ec681f3Smrg    </mod>
62637ec681f3Smrg    <encoding mask="0xf0400" exact="0x40000">
62647ec681f3Smrg      <neq left="register_format" right="#auto"/>
62657ec681f3Smrg      <derived start="13" size="3">
62667ec681f3Smrg        <eq left="register_format" right="#f16"/>
62677ec681f3Smrg        <eq left="register_format" right="#f32"/>
62687ec681f3Smrg        <eq left="register_format" right="#s32"/>
62697ec681f3Smrg        <eq left="register_format" right="#u32"/>
62707ec681f3Smrg        <eq left="register_format" right="#s16"/>
62717ec681f3Smrg        <eq left="register_format" right="#u16"/>
62727ec681f3Smrg        <eq left="register_format" right="#f64"/>
62737ec681f3Smrg        <eq left="register_format" right="#i64"/>
62747ec681f3Smrg      </derived>
62757ec681f3Smrg    </encoding>
62767ec681f3Smrg    <encoding mask="0xfe400" exact="0xc4000">
62777ec681f3Smrg      <eq left="register_format" right="#auto"/>
62787ec681f3Smrg    </encoding>
62797ec681f3Smrg  </ins>
62807ec681f3Smrg
62817ec681f3Smrg  <ins name="+LD_ATTR_TEX" staging="w=format" message="attribute">
62827ec681f3Smrg    <src start="0"/>
62837ec681f3Smrg    <src start="3"/>
62847ec681f3Smrg    <src start="6"/>
62857ec681f3Smrg    <mod name="register_format" size="4">
62867ec681f3Smrg      <opt>f16</opt>
62877ec681f3Smrg      <opt>f32</opt>
62887ec681f3Smrg      <opt>s32</opt>
62897ec681f3Smrg      <opt>u32</opt>
62907ec681f3Smrg      <opt>s16</opt>
62917ec681f3Smrg      <opt>u16</opt>
62927ec681f3Smrg      <opt>f64</opt>
62937ec681f3Smrg      <opt>i64</opt>
62947ec681f3Smrg      <opt>auto</opt>
62957ec681f3Smrg    </mod>
62967ec681f3Smrg    <mod name="vecsize" start="11" size="2">
62977ec681f3Smrg      <opt>none</opt>
62987ec681f3Smrg      <opt>v2</opt>
62997ec681f3Smrg      <opt>v3</opt>
63007ec681f3Smrg      <opt>v4</opt>
63017ec681f3Smrg    </mod>
63027ec681f3Smrg    <encoding mask="0xf0600" exact="0x40600">
63037ec681f3Smrg      <neq left="register_format" right="#auto"/>
63047ec681f3Smrg      <derived start="13" size="3">
63057ec681f3Smrg        <eq left="register_format" right="#f16"/>
63067ec681f3Smrg        <eq left="register_format" right="#f32"/>
63077ec681f3Smrg        <eq left="register_format" right="#s32"/>
63087ec681f3Smrg        <eq left="register_format" right="#u32"/>
63097ec681f3Smrg        <eq left="register_format" right="#s16"/>
63107ec681f3Smrg        <eq left="register_format" right="#u16"/>
63117ec681f3Smrg        <eq left="register_format" right="#f64"/>
63127ec681f3Smrg        <eq left="register_format" right="#i64"/>
63137ec681f3Smrg      </derived>
63147ec681f3Smrg    </encoding>
63157ec681f3Smrg    <encoding mask="0xfe600" exact="0xc4600">
63167ec681f3Smrg      <eq left="register_format" right="#auto"/>
63177ec681f3Smrg    </encoding>
63187ec681f3Smrg  </ins>
63197ec681f3Smrg
63207ec681f3Smrg  <ins name="+LD_CVT" staging="w=format" mask="0xff800" exact="0xc9000" message="load">
63217ec681f3Smrg    <src start="0"/>
63227ec681f3Smrg    <src start="3"/>
63237ec681f3Smrg    <src start="6" mask="0xf7"/>
63247ec681f3Smrg    <mod name="register_format" size="4" pseudo="true">
63257ec681f3Smrg      <opt>f16</opt>
63267ec681f3Smrg      <opt>f32</opt>
63277ec681f3Smrg      <opt>s32</opt>
63287ec681f3Smrg      <opt>u32</opt>
63297ec681f3Smrg      <opt>s16</opt>
63307ec681f3Smrg      <opt>u16</opt>
63317ec681f3Smrg      <opt>f64</opt>
63327ec681f3Smrg      <opt>i64</opt>
63337ec681f3Smrg    </mod>
63347ec681f3Smrg    <mod name="vecsize" start="9" size="2">
63357ec681f3Smrg      <opt>none</opt>
63367ec681f3Smrg      <opt>v2</opt>
63377ec681f3Smrg      <opt>v3</opt>
63387ec681f3Smrg      <opt>v4</opt>
63397ec681f3Smrg    </mod>
63407ec681f3Smrg  </ins>
63417ec681f3Smrg
63427ec681f3Smrg  <ins name="+LD_GCLK.u64" staging="w=2" mask="0xffff8" exact="0xd7800" message="attribute">
63437ec681f3Smrg    <mod name="source" start="0" size="3">
63447ec681f3Smrg      <reserved/>
63457ec681f3Smrg      <reserved/>
63467ec681f3Smrg      <reserved/>
63477ec681f3Smrg      <reserved/>
63487ec681f3Smrg      <reserved/>
63497ec681f3Smrg      <reserved/>
63507ec681f3Smrg      <opt>system_timestamp</opt>
63517ec681f3Smrg      <opt>cycle_counter</opt>
63527ec681f3Smrg    </mod>
63537ec681f3Smrg  </ins>
63547ec681f3Smrg
63557ec681f3Smrg  <ins name="+LD_TILE" staging="w=vecsize" mask="0xff800" exact="0xcb000" message="tile">
63567ec681f3Smrg    <src start="0"/>
63577ec681f3Smrg    <src start="3"/>
63587ec681f3Smrg    <src start="6" mask="0xf7"/>
63597ec681f3Smrg    <mod name="vecsize" start="9" size="2">
63607ec681f3Smrg      <opt>none</opt>
63617ec681f3Smrg      <opt>v2</opt>
63627ec681f3Smrg      <opt>v3</opt>
63637ec681f3Smrg      <opt>v4</opt>
63647ec681f3Smrg    </mod>
63657ec681f3Smrg  </ins>
63667ec681f3Smrg
63677ec681f3Smrg  <ins name="+LD_VAR" staging="w=vecsize" message="varying">
63687ec681f3Smrg    <src start="0"/>
63697ec681f3Smrg    <src start="3"/>
63707ec681f3Smrg    <mod name="vecsize" start="8" size="2">
63717ec681f3Smrg      <opt>none</opt>
63727ec681f3Smrg      <opt>v2</opt>
63737ec681f3Smrg      <opt>v3</opt>
63747ec681f3Smrg      <opt>v4</opt>
63757ec681f3Smrg    </mod>
63767ec681f3Smrg    <mod name="update" size="2">
63777ec681f3Smrg      <opt>store</opt>
63787ec681f3Smrg      <opt>retrieve</opt>
63797ec681f3Smrg      <opt>conditional</opt>
63807ec681f3Smrg      <opt>clobber</opt>
63817ec681f3Smrg    </mod>
63827ec681f3Smrg    <mod name="register_format" size="2">
63837ec681f3Smrg      <opt>f32</opt>
63847ec681f3Smrg      <opt>f16</opt>
63857ec681f3Smrg      <opt>auto</opt>
63867ec681f3Smrg    </mod>
63877ec681f3Smrg    <mod name="sample" size="3">
63887ec681f3Smrg      <opt>center</opt>
63897ec681f3Smrg      <opt>centroid</opt>
63907ec681f3Smrg      <opt>sample</opt>
63917ec681f3Smrg      <opt>explicit</opt>
63927ec681f3Smrg      <opt>none</opt>
63937ec681f3Smrg    </mod>
63947ec681f3Smrg    <encoding mask="0x7c0c0" exact="0x500c0">
63957ec681f3Smrg      <neq left="register_format" right="#auto"/>
63967ec681f3Smrg      <derived start="19" size="1">
63977ec681f3Smrg        <eq left="register_format" right="#f32"/>
63987ec681f3Smrg        <eq left="register_format" right="#f16"/>
63997ec681f3Smrg      </derived>
64007ec681f3Smrg      <derived start="10" size="4">
64017ec681f3Smrg        <and>
64027ec681f3Smrg          <eq left="sample" right="#center"/>
64037ec681f3Smrg          <eq left="update" right="#store"/>
64047ec681f3Smrg        </and>
64057ec681f3Smrg        <and>
64067ec681f3Smrg          <eq left="sample" right="#centroid"/>
64077ec681f3Smrg          <eq left="update" right="#store"/>
64087ec681f3Smrg        </and>
64097ec681f3Smrg        <and>
64107ec681f3Smrg          <eq left="sample" right="#sample"/>
64117ec681f3Smrg          <eq left="update" right="#store"/>
64127ec681f3Smrg        </and>
64137ec681f3Smrg        <and>
64147ec681f3Smrg          <eq left="sample" right="#explicit"/>
64157ec681f3Smrg          <eq left="update" right="#store"/>
64167ec681f3Smrg        </and>
64177ec681f3Smrg        <and>
64187ec681f3Smrg          <eq left="sample" right="#none"/>
64197ec681f3Smrg          <eq left="update" right="#retrieve"/>
64207ec681f3Smrg        </and>
64217ec681f3Smrg        <reserved/>
64227ec681f3Smrg        <reserved/>
64237ec681f3Smrg        <reserved/>
64247ec681f3Smrg        <and>
64257ec681f3Smrg          <eq left="sample" right="#center"/>
64267ec681f3Smrg          <eq left="update" right="#conditional"/>
64277ec681f3Smrg        </and>
64287ec681f3Smrg        <and>
64297ec681f3Smrg          <eq left="sample" right="#centroid"/>
64307ec681f3Smrg          <eq left="update" right="#conditional"/>
64317ec681f3Smrg        </and>
64327ec681f3Smrg        <and>
64337ec681f3Smrg          <eq left="sample" right="#center"/>
64347ec681f3Smrg          <eq left="update" right="#clobber"/>
64357ec681f3Smrg        </and>
64367ec681f3Smrg        <and>
64377ec681f3Smrg          <eq left="sample" right="#centroid"/>
64387ec681f3Smrg          <eq left="update" right="#clobber"/>
64397ec681f3Smrg        </and>
64407ec681f3Smrg        <and>
64417ec681f3Smrg          <eq left="sample" right="#sample"/>
64427ec681f3Smrg          <eq left="update" right="#clobber"/>
64437ec681f3Smrg        </and>
64447ec681f3Smrg        <and>
64457ec681f3Smrg          <eq left="sample" right="#explicit"/>
64467ec681f3Smrg          <eq left="update" right="#clobber"/>
64477ec681f3Smrg        </and>
64487ec681f3Smrg        <reserved/>
64497ec681f3Smrg        <reserved/>
64507ec681f3Smrg      </derived>
64517ec681f3Smrg    </encoding>
64527ec681f3Smrg    <encoding mask="0xfc0c0" exact="0xcc0c0">
64537ec681f3Smrg      <eq left="register_format" right="#auto"/>
64547ec681f3Smrg      <derived start="10" size="4">
64557ec681f3Smrg        <and>
64567ec681f3Smrg          <eq left="sample" right="#center"/>
64577ec681f3Smrg          <eq left="update" right="#store"/>
64587ec681f3Smrg        </and>
64597ec681f3Smrg        <and>
64607ec681f3Smrg          <eq left="sample" right="#centroid"/>
64617ec681f3Smrg          <eq left="update" right="#store"/>
64627ec681f3Smrg        </and>
64637ec681f3Smrg        <and>
64647ec681f3Smrg          <eq left="sample" right="#sample"/>
64657ec681f3Smrg          <eq left="update" right="#store"/>
64667ec681f3Smrg        </and>
64677ec681f3Smrg        <and>
64687ec681f3Smrg          <eq left="sample" right="#explicit"/>
64697ec681f3Smrg          <eq left="update" right="#store"/>
64707ec681f3Smrg        </and>
64717ec681f3Smrg        <and>
64727ec681f3Smrg          <eq left="sample" right="#none"/>
64737ec681f3Smrg          <eq left="update" right="#retrieve"/>
64747ec681f3Smrg        </and>
64757ec681f3Smrg        <reserved/>
64767ec681f3Smrg        <reserved/>
64777ec681f3Smrg        <reserved/>
64787ec681f3Smrg        <and>
64797ec681f3Smrg          <eq left="sample" right="#center"/>
64807ec681f3Smrg          <eq left="update" right="#conditional"/>
64817ec681f3Smrg        </and>
64827ec681f3Smrg        <and>
64837ec681f3Smrg          <eq left="sample" right="#centroid"/>
64847ec681f3Smrg          <eq left="update" right="#conditional"/>
64857ec681f3Smrg        </and>
64867ec681f3Smrg        <and>
64877ec681f3Smrg          <eq left="sample" right="#center"/>
64887ec681f3Smrg          <eq left="update" right="#clobber"/>
64897ec681f3Smrg        </and>
64907ec681f3Smrg        <and>
64917ec681f3Smrg          <eq left="sample" right="#centroid"/>
64927ec681f3Smrg          <eq left="update" right="#clobber"/>
64937ec681f3Smrg        </and>
64947ec681f3Smrg        <and>
64957ec681f3Smrg          <eq left="sample" right="#sample"/>
64967ec681f3Smrg          <eq left="update" right="#clobber"/>
64977ec681f3Smrg        </and>
64987ec681f3Smrg        <and>
64997ec681f3Smrg          <eq left="sample" right="#explicit"/>
65007ec681f3Smrg          <eq left="update" right="#clobber"/>
65017ec681f3Smrg        </and>
65027ec681f3Smrg        <reserved/>
65037ec681f3Smrg        <reserved/>
65047ec681f3Smrg      </derived>
65057ec681f3Smrg    </encoding>
65067ec681f3Smrg  </ins>
65077ec681f3Smrg
65087ec681f3Smrg  <ins name="+LD_VAR_FLAT" staging="w=format" message="varying">
65097ec681f3Smrg    <src start="3"/>
65107ec681f3Smrg    <mod name="vecsize" start="8" size="2">
65117ec681f3Smrg      <opt>none</opt>
65127ec681f3Smrg      <opt>v2</opt>
65137ec681f3Smrg      <opt>v3</opt>
65147ec681f3Smrg      <opt>v4</opt>
65157ec681f3Smrg    </mod>
65167ec681f3Smrg    <mod name="register_format" size="3">
65177ec681f3Smrg      <opt>f32</opt>
65187ec681f3Smrg      <opt>f16</opt>
65197ec681f3Smrg      <opt>u32</opt>
65207ec681f3Smrg      <opt>s32</opt>
65217ec681f3Smrg      <opt>auto</opt>
65227ec681f3Smrg    </mod>
65237ec681f3Smrg    <mod name="function" start="0" size="3">
65247ec681f3Smrg      <reserved/>
65257ec681f3Smrg      <reserved/>
65267ec681f3Smrg      <reserved/>
65277ec681f3Smrg      <opt>none</opt>
65287ec681f3Smrg      <reserved/>
65297ec681f3Smrg      <reserved/>
65307ec681f3Smrg      <opt>and</opt>
65317ec681f3Smrg      <opt>or</opt>
65327ec681f3Smrg    </mod>
65337ec681f3Smrg    <encoding mask="0x7f8c0" exact="0x538c0">
65347ec681f3Smrg      <neq left="register_format" right="#auto"/>
65357ec681f3Smrg      <derived start="10" size="1">
65367ec681f3Smrg        <or>
65377ec681f3Smrg          <eq left="register_format" right="#f32"/>
65387ec681f3Smrg          <eq left="register_format" right="#f16"/>
65397ec681f3Smrg        </or>
65407ec681f3Smrg        <or>
65417ec681f3Smrg          <eq left="register_format" right="#u32"/>
65427ec681f3Smrg          <eq left="register_format" right="#s32"/>
65437ec681f3Smrg        </or>
65447ec681f3Smrg      </derived>
65457ec681f3Smrg      <derived start="19" size="1">
65467ec681f3Smrg        <or>
65477ec681f3Smrg          <eq left="register_format" right="#f32"/>
65487ec681f3Smrg          <eq left="register_format" right="#u32"/>
65497ec681f3Smrg        </or>
65507ec681f3Smrg        <or>
65517ec681f3Smrg          <eq left="register_format" right="#f16"/>
65527ec681f3Smrg          <eq left="register_format" right="#s32"/>
65537ec681f3Smrg        </or>
65547ec681f3Smrg      </derived>
65557ec681f3Smrg    </encoding>
65567ec681f3Smrg    <encoding mask="0xffcc0" exact="0xcf8c0">
65577ec681f3Smrg      <eq left="register_format" right="#auto"/>
65587ec681f3Smrg    </encoding>
65597ec681f3Smrg  </ins>
65607ec681f3Smrg
65617ec681f3Smrg  <ins name="+LD_VAR_FLAT_IMM" staging="w=format" message="varying">
65627ec681f3Smrg    <immediate name="index" start="3" size="5"/>
65637ec681f3Smrg    <mod name="vecsize" start="8" size="2">
65647ec681f3Smrg      <opt>none</opt>
65657ec681f3Smrg      <opt>v2</opt>
65667ec681f3Smrg      <opt>v3</opt>
65677ec681f3Smrg      <opt>v4</opt>
65687ec681f3Smrg    </mod>
65697ec681f3Smrg    <mod name="register_format" size="3">
65707ec681f3Smrg      <opt>f32</opt>
65717ec681f3Smrg      <opt>f16</opt>
65727ec681f3Smrg      <opt>u32</opt>
65737ec681f3Smrg      <opt>s32</opt>
65747ec681f3Smrg      <opt>auto</opt>
65757ec681f3Smrg    </mod>
65767ec681f3Smrg    <mod name="function" start="0" size="3">
65777ec681f3Smrg      <reserved/>
65787ec681f3Smrg      <reserved/>
65797ec681f3Smrg      <reserved/>
65807ec681f3Smrg      <opt>none</opt>
65817ec681f3Smrg      <reserved/>
65827ec681f3Smrg      <reserved/>
65837ec681f3Smrg      <opt>and</opt>
65847ec681f3Smrg      <opt>or</opt>
65857ec681f3Smrg    </mod>
65867ec681f3Smrg    <encoding mask="0x7f800" exact="0x53800">
65877ec681f3Smrg      <neq left="register_format" right="#auto"/>
65887ec681f3Smrg      <derived start="10" size="1">
65897ec681f3Smrg        <or>
65907ec681f3Smrg          <eq left="register_format" right="#f32"/>
65917ec681f3Smrg          <eq left="register_format" right="#f16"/>
65927ec681f3Smrg        </or>
65937ec681f3Smrg        <or>
65947ec681f3Smrg          <eq left="register_format" right="#u32"/>
65957ec681f3Smrg          <eq left="register_format" right="#s32"/>
65967ec681f3Smrg        </or>
65977ec681f3Smrg      </derived>
65987ec681f3Smrg      <derived start="19" size="1">
65997ec681f3Smrg        <or>
66007ec681f3Smrg          <eq left="register_format" right="#f32"/>
66017ec681f3Smrg          <eq left="register_format" right="#u32"/>
66027ec681f3Smrg        </or>
66037ec681f3Smrg        <or>
66047ec681f3Smrg          <eq left="register_format" right="#f16"/>
66057ec681f3Smrg          <eq left="register_format" right="#s32"/>
66067ec681f3Smrg        </or>
66077ec681f3Smrg      </derived>
66087ec681f3Smrg    </encoding>
66097ec681f3Smrg    <encoding mask="0xffc00" exact="0xcf800">
66107ec681f3Smrg      <eq left="register_format" right="#auto"/>
66117ec681f3Smrg    </encoding>
66127ec681f3Smrg  </ins>
66137ec681f3Smrg
66147ec681f3Smrg  <ins name="+LD_VAR_IMM" staging="w=format" message="varying">
66157ec681f3Smrg    <src start="0"/>
66167ec681f3Smrg    <immediate name="index" start="3" size="5"/>
66177ec681f3Smrg    <mod name="vecsize" start="8" size="2">
66187ec681f3Smrg      <opt>none</opt>
66197ec681f3Smrg      <opt>v2</opt>
66207ec681f3Smrg      <opt>v3</opt>
66217ec681f3Smrg      <opt>v4</opt>
66227ec681f3Smrg    </mod>
66237ec681f3Smrg    <mod name="update" size="2">
66247ec681f3Smrg      <opt>store</opt>
66257ec681f3Smrg      <opt>retrieve</opt>
66267ec681f3Smrg      <opt>conditional</opt>
66277ec681f3Smrg      <opt>clobber</opt>
66287ec681f3Smrg    </mod>
66297ec681f3Smrg    <mod name="register_format" size="2">
66307ec681f3Smrg      <opt>f32</opt>
66317ec681f3Smrg      <opt>f16</opt>
66327ec681f3Smrg      <opt>auto</opt>
66337ec681f3Smrg    </mod>
66347ec681f3Smrg    <mod name="sample" size="3">
66357ec681f3Smrg      <opt>center</opt>
66367ec681f3Smrg      <opt>centroid</opt>
66377ec681f3Smrg      <opt>sample</opt>
66387ec681f3Smrg      <opt>explicit</opt>
66397ec681f3Smrg      <opt>none</opt>
66407ec681f3Smrg    </mod>
66417ec681f3Smrg    <encoding mask="0x7c000" exact="0x50000">
66427ec681f3Smrg      <neq left="register_format" right="#auto"/>
66437ec681f3Smrg      <derived start="19" size="1">
66447ec681f3Smrg        <eq left="register_format" right="#f32"/>
66457ec681f3Smrg        <eq left="register_format" right="#f16"/>
66467ec681f3Smrg      </derived>
66477ec681f3Smrg      <derived start="10" size="4">
66487ec681f3Smrg        <and>
66497ec681f3Smrg          <eq left="sample" right="#center"/>
66507ec681f3Smrg          <eq left="update" right="#store"/>
66517ec681f3Smrg        </and>
66527ec681f3Smrg        <and>
66537ec681f3Smrg          <eq left="sample" right="#centroid"/>
66547ec681f3Smrg          <eq left="update" right="#store"/>
66557ec681f3Smrg        </and>
66567ec681f3Smrg        <and>
66577ec681f3Smrg          <eq left="sample" right="#sample"/>
66587ec681f3Smrg          <eq left="update" right="#store"/>
66597ec681f3Smrg        </and>
66607ec681f3Smrg        <and>
66617ec681f3Smrg          <eq left="sample" right="#explicit"/>
66627ec681f3Smrg          <eq left="update" right="#store"/>
66637ec681f3Smrg        </and>
66647ec681f3Smrg        <and>
66657ec681f3Smrg          <eq left="sample" right="#none"/>
66667ec681f3Smrg          <eq left="update" right="#retrieve"/>
66677ec681f3Smrg        </and>
66687ec681f3Smrg        <reserved/>
66697ec681f3Smrg        <reserved/>
66707ec681f3Smrg        <reserved/>
66717ec681f3Smrg        <and>
66727ec681f3Smrg          <eq left="sample" right="#center"/>
66737ec681f3Smrg          <eq left="update" right="#conditional"/>
66747ec681f3Smrg        </and>
66757ec681f3Smrg        <and>
66767ec681f3Smrg          <eq left="sample" right="#centroid"/>
66777ec681f3Smrg          <eq left="update" right="#conditional"/>
66787ec681f3Smrg        </and>
66797ec681f3Smrg        <and>
66807ec681f3Smrg          <eq left="sample" right="#center"/>
66817ec681f3Smrg          <eq left="update" right="#clobber"/>
66827ec681f3Smrg        </and>
66837ec681f3Smrg        <and>
66847ec681f3Smrg          <eq left="sample" right="#centroid"/>
66857ec681f3Smrg          <eq left="update" right="#clobber"/>
66867ec681f3Smrg        </and>
66877ec681f3Smrg        <and>
66887ec681f3Smrg          <eq left="sample" right="#sample"/>
66897ec681f3Smrg          <eq left="update" right="#clobber"/>
66907ec681f3Smrg        </and>
66917ec681f3Smrg        <and>
66927ec681f3Smrg          <eq left="sample" right="#explicit"/>
66937ec681f3Smrg          <eq left="update" right="#clobber"/>
66947ec681f3Smrg        </and>
66957ec681f3Smrg        <reserved/>
66967ec681f3Smrg        <reserved/>
66977ec681f3Smrg      </derived>
66987ec681f3Smrg    </encoding>
66997ec681f3Smrg    <encoding mask="0xfc000" exact="0xcc000">
67007ec681f3Smrg      <eq left="register_format" right="#auto"/>
67017ec681f3Smrg      <derived start="10" size="4">
67027ec681f3Smrg        <and>
67037ec681f3Smrg          <eq left="sample" right="#center"/>
67047ec681f3Smrg          <eq left="update" right="#store"/>
67057ec681f3Smrg        </and>
67067ec681f3Smrg        <and>
67077ec681f3Smrg          <eq left="sample" right="#centroid"/>
67087ec681f3Smrg          <eq left="update" right="#store"/>
67097ec681f3Smrg        </and>
67107ec681f3Smrg        <and>
67117ec681f3Smrg          <eq left="sample" right="#sample"/>
67127ec681f3Smrg          <eq left="update" right="#store"/>
67137ec681f3Smrg        </and>
67147ec681f3Smrg        <and>
67157ec681f3Smrg          <eq left="sample" right="#explicit"/>
67167ec681f3Smrg          <eq left="update" right="#store"/>
67177ec681f3Smrg        </and>
67187ec681f3Smrg        <and>
67197ec681f3Smrg          <eq left="sample" right="#none"/>
67207ec681f3Smrg          <eq left="update" right="#retrieve"/>
67217ec681f3Smrg        </and>
67227ec681f3Smrg        <reserved/>
67237ec681f3Smrg        <reserved/>
67247ec681f3Smrg        <reserved/>
67257ec681f3Smrg        <and>
67267ec681f3Smrg          <eq left="sample" right="#center"/>
67277ec681f3Smrg          <eq left="update" right="#conditional"/>
67287ec681f3Smrg        </and>
67297ec681f3Smrg        <and>
67307ec681f3Smrg          <eq left="sample" right="#centroid"/>
67317ec681f3Smrg          <eq left="update" right="#conditional"/>
67327ec681f3Smrg        </and>
67337ec681f3Smrg        <and>
67347ec681f3Smrg          <eq left="sample" right="#center"/>
67357ec681f3Smrg          <eq left="update" right="#clobber"/>
67367ec681f3Smrg        </and>
67377ec681f3Smrg        <and>
67387ec681f3Smrg          <eq left="sample" right="#centroid"/>
67397ec681f3Smrg          <eq left="update" right="#clobber"/>
67407ec681f3Smrg        </and>
67417ec681f3Smrg        <and>
67427ec681f3Smrg          <eq left="sample" right="#sample"/>
67437ec681f3Smrg          <eq left="update" right="#clobber"/>
67447ec681f3Smrg        </and>
67457ec681f3Smrg        <and>
67467ec681f3Smrg          <eq left="sample" right="#explicit"/>
67477ec681f3Smrg          <eq left="update" right="#clobber"/>
67487ec681f3Smrg        </and>
67497ec681f3Smrg        <reserved/>
67507ec681f3Smrg        <reserved/>
67517ec681f3Smrg      </derived>
67527ec681f3Smrg    </encoding>
67537ec681f3Smrg  </ins>
67547ec681f3Smrg
67557ec681f3Smrg  <ins name="+LD_VAR_SPECIAL" staging="w=format" message="varying">
67567ec681f3Smrg    <src start="0"/>
67577ec681f3Smrg    <mod name="varying_name" size="5">
67587ec681f3Smrg      <opt>point</opt>
67597ec681f3Smrg      <reserved/>
67607ec681f3Smrg      <opt>frag_w</opt>
67617ec681f3Smrg      <opt>frag_z</opt>
67627ec681f3Smrg    </mod>
67637ec681f3Smrg    <mod name="vecsize" size="2">
67647ec681f3Smrg      <opt>none</opt>
67657ec681f3Smrg      <opt>v2</opt>
67667ec681f3Smrg      <opt>v3</opt>
67677ec681f3Smrg      <opt>v4</opt>
67687ec681f3Smrg    </mod>
67697ec681f3Smrg    <mod name="update" size="2">
67707ec681f3Smrg      <opt>store</opt>
67717ec681f3Smrg      <opt>retrieve</opt>
67727ec681f3Smrg      <opt>conditional</opt>
67737ec681f3Smrg      <opt>clobber</opt>
67747ec681f3Smrg    </mod>
67757ec681f3Smrg    <mod name="register_format" size="2">
67767ec681f3Smrg      <opt>f32</opt>
67777ec681f3Smrg      <opt>f16</opt>
67787ec681f3Smrg      <opt>auto</opt>
67797ec681f3Smrg    </mod>
67807ec681f3Smrg    <mod name="sample" size="3">
67817ec681f3Smrg      <opt>center</opt>
67827ec681f3Smrg      <opt>centroid</opt>
67837ec681f3Smrg      <opt>sample</opt>
67847ec681f3Smrg      <opt>explicit</opt>
67857ec681f3Smrg      <opt>none</opt>
67867ec681f3Smrg    </mod>
67877ec681f3Smrg    <encoding mask="0x7c3e0" exact="0x500a0">
67887ec681f3Smrg      <neq left="register_format" right="#auto"/>
67897ec681f3Smrg      <derived start="3" size="2">
67907ec681f3Smrg        <and>
67917ec681f3Smrg          <eq left="varying_name" right="#point"/>
67927ec681f3Smrg          <eq left="vecsize" right="#v2"/>
67937ec681f3Smrg          <eq left="update" right="#clobber"/>
67947ec681f3Smrg        </and>
67957ec681f3Smrg        <reserved/>
67967ec681f3Smrg        <and>
67977ec681f3Smrg          <eq left="varying_name" right="#frag_w"/>
67987ec681f3Smrg          <eq left="vecsize" right="#none"/>
67997ec681f3Smrg          <eq left="update" right="#clobber"/>
68007ec681f3Smrg        </and>
68017ec681f3Smrg        <and>
68027ec681f3Smrg          <eq left="varying_name" right="#frag_z"/>
68037ec681f3Smrg          <eq left="vecsize" right="#none"/>
68047ec681f3Smrg          <eq left="update" right="#clobber"/>
68057ec681f3Smrg          <neq left="sample" right="#explicit"/>
68067ec681f3Smrg          <neq left="register_format" right="#auto"/>
68077ec681f3Smrg        </and>
68087ec681f3Smrg      </derived>
68097ec681f3Smrg      <derived start="19" size="1">
68107ec681f3Smrg        <eq left="register_format" right="#f32"/>
68117ec681f3Smrg        <eq left="register_format" right="#f16"/>
68127ec681f3Smrg      </derived>
68137ec681f3Smrg      <derived start="10" size="4">
68147ec681f3Smrg        <and>
68157ec681f3Smrg          <eq left="sample" right="#center"/>
68167ec681f3Smrg          <eq left="update" right="#store"/>
68177ec681f3Smrg        </and>
68187ec681f3Smrg        <and>
68197ec681f3Smrg          <eq left="sample" right="#centroid"/>
68207ec681f3Smrg          <eq left="update" right="#store"/>
68217ec681f3Smrg        </and>
68227ec681f3Smrg        <and>
68237ec681f3Smrg          <eq left="sample" right="#sample"/>
68247ec681f3Smrg          <eq left="update" right="#store"/>
68257ec681f3Smrg        </and>
68267ec681f3Smrg        <and>
68277ec681f3Smrg          <eq left="sample" right="#explicit"/>
68287ec681f3Smrg          <eq left="update" right="#store"/>
68297ec681f3Smrg        </and>
68307ec681f3Smrg        <and>
68317ec681f3Smrg          <eq left="sample" right="#none"/>
68327ec681f3Smrg          <eq left="update" right="#retrieve"/>
68337ec681f3Smrg        </and>
68347ec681f3Smrg        <reserved/>
68357ec681f3Smrg        <reserved/>
68367ec681f3Smrg        <reserved/>
68377ec681f3Smrg        <and>
68387ec681f3Smrg          <eq left="sample" right="#center"/>
68397ec681f3Smrg          <eq left="update" right="#conditional"/>
68407ec681f3Smrg        </and>
68417ec681f3Smrg        <and>
68427ec681f3Smrg          <eq left="sample" right="#centroid"/>
68437ec681f3Smrg          <eq left="update" right="#conditional"/>
68447ec681f3Smrg        </and>
68457ec681f3Smrg        <and>
68467ec681f3Smrg          <eq left="sample" right="#center"/>
68477ec681f3Smrg          <eq left="update" right="#clobber"/>
68487ec681f3Smrg        </and>
68497ec681f3Smrg        <and>
68507ec681f3Smrg          <eq left="sample" right="#centroid"/>
68517ec681f3Smrg          <eq left="update" right="#clobber"/>
68527ec681f3Smrg        </and>
68537ec681f3Smrg        <and>
68547ec681f3Smrg          <eq left="sample" right="#sample"/>
68557ec681f3Smrg          <eq left="update" right="#clobber"/>
68567ec681f3Smrg        </and>
68577ec681f3Smrg        <and>
68587ec681f3Smrg          <eq left="sample" right="#explicit"/>
68597ec681f3Smrg          <eq left="update" right="#clobber"/>
68607ec681f3Smrg        </and>
68617ec681f3Smrg        <reserved/>
68627ec681f3Smrg        <reserved/>
68637ec681f3Smrg      </derived>
68647ec681f3Smrg    </encoding>
68657ec681f3Smrg    <encoding mask="0xfc3e0" exact="0xcc0a0">
68667ec681f3Smrg      <eq left="register_format" right="#auto"/>
68677ec681f3Smrg      <derived start="3" size="2">
68687ec681f3Smrg        <and>
68697ec681f3Smrg          <eq left="varying_name" right="#point"/>
68707ec681f3Smrg          <eq left="vecsize" right="#v2"/>
68717ec681f3Smrg          <eq left="update" right="#clobber"/>
68727ec681f3Smrg        </and>
68737ec681f3Smrg        <reserved/>
68747ec681f3Smrg        <and>
68757ec681f3Smrg          <eq left="varying_name" right="#frag_w"/>
68767ec681f3Smrg          <eq left="vecsize" right="#none"/>
68777ec681f3Smrg          <eq left="update" right="#clobber"/>
68787ec681f3Smrg        </and>
68797ec681f3Smrg        <and>
68807ec681f3Smrg          <eq left="varying_name" right="#frag_z"/>
68817ec681f3Smrg          <eq left="vecsize" right="#none"/>
68827ec681f3Smrg          <eq left="update" right="#clobber"/>
68837ec681f3Smrg          <neq left="sample" right="#explicit"/>
68847ec681f3Smrg          <neq left="register_format" right="#auto"/>
68857ec681f3Smrg        </and>
68867ec681f3Smrg      </derived>
68877ec681f3Smrg      <derived start="10" size="4">
68887ec681f3Smrg        <and>
68897ec681f3Smrg          <eq left="sample" right="#center"/>
68907ec681f3Smrg          <eq left="update" right="#store"/>
68917ec681f3Smrg        </and>
68927ec681f3Smrg        <and>
68937ec681f3Smrg          <eq left="sample" right="#centroid"/>
68947ec681f3Smrg          <eq left="update" right="#store"/>
68957ec681f3Smrg        </and>
68967ec681f3Smrg        <and>
68977ec681f3Smrg          <eq left="sample" right="#sample"/>
68987ec681f3Smrg          <eq left="update" right="#store"/>
68997ec681f3Smrg        </and>
69007ec681f3Smrg        <and>
69017ec681f3Smrg          <eq left="sample" right="#explicit"/>
69027ec681f3Smrg          <eq left="update" right="#store"/>
69037ec681f3Smrg        </and>
69047ec681f3Smrg        <and>
69057ec681f3Smrg          <eq left="sample" right="#none"/>
69067ec681f3Smrg          <eq left="update" right="#retrieve"/>
69077ec681f3Smrg        </and>
69087ec681f3Smrg        <reserved/>
69097ec681f3Smrg        <reserved/>
69107ec681f3Smrg        <reserved/>
69117ec681f3Smrg        <and>
69127ec681f3Smrg          <eq left="sample" right="#center"/>
69137ec681f3Smrg          <eq left="update" right="#conditional"/>
69147ec681f3Smrg        </and>
69157ec681f3Smrg        <and>
69167ec681f3Smrg          <eq left="sample" right="#centroid"/>
69177ec681f3Smrg          <eq left="update" right="#conditional"/>
69187ec681f3Smrg        </and>
69197ec681f3Smrg        <and>
69207ec681f3Smrg          <eq left="sample" right="#center"/>
69217ec681f3Smrg          <eq left="update" right="#clobber"/>
69227ec681f3Smrg        </and>
69237ec681f3Smrg        <and>
69247ec681f3Smrg          <eq left="sample" right="#centroid"/>
69257ec681f3Smrg          <eq left="update" right="#clobber"/>
69267ec681f3Smrg        </and>
69277ec681f3Smrg        <and>
69287ec681f3Smrg          <eq left="sample" right="#sample"/>
69297ec681f3Smrg          <eq left="update" right="#clobber"/>
69307ec681f3Smrg        </and>
69317ec681f3Smrg        <and>
69327ec681f3Smrg          <eq left="sample" right="#explicit"/>
69337ec681f3Smrg          <eq left="update" right="#clobber"/>
69347ec681f3Smrg        </and>
69357ec681f3Smrg        <reserved/>
69367ec681f3Smrg        <reserved/>
69377ec681f3Smrg      </derived>
69387ec681f3Smrg    </encoding>
69397ec681f3Smrg  </ins>
69407ec681f3Smrg
69417ec681f3Smrg  <ins name="+LEA_ATTR" staging="w=3" message="attribute">
69427ec681f3Smrg    <src start="0"/>
69437ec681f3Smrg    <src start="3"/>
69447ec681f3Smrg    <src start="6"/>
69457ec681f3Smrg    <mod name="register_format" size="4">
69467ec681f3Smrg      <opt>f16</opt>
69477ec681f3Smrg      <opt>f32</opt>
69487ec681f3Smrg      <opt>s32</opt>
69497ec681f3Smrg      <opt>u32</opt>
69507ec681f3Smrg      <opt>s16</opt>
69517ec681f3Smrg      <opt>u16</opt>
69527ec681f3Smrg      <opt>f64</opt>
69537ec681f3Smrg      <opt>i64</opt>
69547ec681f3Smrg      <opt>auto</opt>
69557ec681f3Smrg    </mod>
69567ec681f3Smrg    <encoding mask="0xfc600" exact="0xc0400">
69577ec681f3Smrg      <neq left="register_format" right="#auto"/>
69587ec681f3Smrg      <derived start="11" size="3">
69597ec681f3Smrg        <eq left="register_format" right="#f16"/>
69607ec681f3Smrg        <eq left="register_format" right="#f32"/>
69617ec681f3Smrg        <eq left="register_format" right="#s32"/>
69627ec681f3Smrg        <eq left="register_format" right="#u32"/>
69637ec681f3Smrg        <eq left="register_format" right="#s16"/>
69647ec681f3Smrg        <eq left="register_format" right="#u16"/>
69657ec681f3Smrg        <eq left="register_format" right="#f64"/>
69667ec681f3Smrg        <eq left="register_format" right="#i64"/>
69677ec681f3Smrg      </derived>
69687ec681f3Smrg    </encoding>
69697ec681f3Smrg    <encoding mask="0xffe00" exact="0xc8400">
69707ec681f3Smrg      <eq left="register_format" right="#auto"/>
69717ec681f3Smrg    </encoding>
69727ec681f3Smrg  </ins>
69737ec681f3Smrg
69747ec681f3Smrg  <ins name="+LEA_ATTR_IMM" staging="w=3" message="attribute">
69757ec681f3Smrg    <src start="0"/>
69767ec681f3Smrg    <src start="3"/>
69777ec681f3Smrg    <immediate name="attribute_index" start="6" size="4"/>
69787ec681f3Smrg    <mod name="register_format" size="4">
69797ec681f3Smrg      <opt>f16</opt>
69807ec681f3Smrg      <opt>f32</opt>
69817ec681f3Smrg      <opt>s32</opt>
69827ec681f3Smrg      <opt>u32</opt>
69837ec681f3Smrg      <opt>s16</opt>
69847ec681f3Smrg      <opt>u16</opt>
69857ec681f3Smrg      <opt>f64</opt>
69867ec681f3Smrg      <opt>i64</opt>
69877ec681f3Smrg      <opt>auto</opt>
69887ec681f3Smrg    </mod>
69897ec681f3Smrg    <encoding mask="0xfc400" exact="0xc0000">
69907ec681f3Smrg      <neq left="register_format" right="#auto"/>
69917ec681f3Smrg      <derived start="11" size="3">
69927ec681f3Smrg        <eq left="register_format" right="#f16"/>
69937ec681f3Smrg        <eq left="register_format" right="#f32"/>
69947ec681f3Smrg        <eq left="register_format" right="#s32"/>
69957ec681f3Smrg        <eq left="register_format" right="#u32"/>
69967ec681f3Smrg        <eq left="register_format" right="#s16"/>
69977ec681f3Smrg        <eq left="register_format" right="#u16"/>
69987ec681f3Smrg        <eq left="register_format" right="#f64"/>
69997ec681f3Smrg        <eq left="register_format" right="#i64"/>
70007ec681f3Smrg      </derived>
70017ec681f3Smrg    </encoding>
70027ec681f3Smrg    <encoding mask="0xffc00" exact="0xc8000">
70037ec681f3Smrg      <eq left="register_format" right="#auto"/>
70047ec681f3Smrg    </encoding>
70057ec681f3Smrg  </ins>
70067ec681f3Smrg
70077ec681f3Smrg  <ins name="+LEA_ATTR_TEX" staging="w=3" message="attribute">
70087ec681f3Smrg    <src start="0"/>
70097ec681f3Smrg    <src start="3"/>
70107ec681f3Smrg    <src start="6"/>
70117ec681f3Smrg    <mod name="register_format" size="4">
70127ec681f3Smrg      <opt>f16</opt>
70137ec681f3Smrg      <opt>f32</opt>
70147ec681f3Smrg      <opt>s32</opt>
70157ec681f3Smrg      <opt>u32</opt>
70167ec681f3Smrg      <opt>s16</opt>
70177ec681f3Smrg      <opt>u16</opt>
70187ec681f3Smrg      <opt>f64</opt>
70197ec681f3Smrg      <opt>i64</opt>
70207ec681f3Smrg      <opt>auto</opt>
70217ec681f3Smrg    </mod>
70227ec681f3Smrg    <encoding mask="0xfc600" exact="0xc0600">
70237ec681f3Smrg      <neq left="register_format" right="#auto"/>
70247ec681f3Smrg      <derived start="11" size="3">
70257ec681f3Smrg        <eq left="register_format" right="#f16"/>
70267ec681f3Smrg        <eq left="register_format" right="#f32"/>
70277ec681f3Smrg        <eq left="register_format" right="#s32"/>
70287ec681f3Smrg        <eq left="register_format" right="#u32"/>
70297ec681f3Smrg        <eq left="register_format" right="#s16"/>
70307ec681f3Smrg        <eq left="register_format" right="#u16"/>
70317ec681f3Smrg        <eq left="register_format" right="#f64"/>
70327ec681f3Smrg        <eq left="register_format" right="#i64"/>
70337ec681f3Smrg      </derived>
70347ec681f3Smrg    </encoding>
70357ec681f3Smrg    <encoding mask="0xffe00" exact="0xc8600">
70367ec681f3Smrg      <eq left="register_format" right="#auto"/>
70377ec681f3Smrg    </encoding>
70387ec681f3Smrg  </ins>
70397ec681f3Smrg
70407ec681f3Smrg  <ins name="+LEA_TEX" staging="w=3" mask="0xff600" exact="0xd6600" message="attribute">
70417ec681f3Smrg    <src start="0"/>
70427ec681f3Smrg    <src start="3"/>
70437ec681f3Smrg    <src start="6"/>
70447ec681f3Smrg    <mod name="format" start="11" size="1">
70457ec681f3Smrg      <opt>u16</opt>
70467ec681f3Smrg      <opt>u32</opt>
70477ec681f3Smrg    </mod>
70487ec681f3Smrg  </ins>
70497ec681f3Smrg
70507ec681f3Smrg  <ins name="+LEA_TEX_IMM" staging="w=3" mask="0xff000" exact="0xd6000" message="attribute">
70517ec681f3Smrg    <src start="0"/>
70527ec681f3Smrg    <src start="3"/>
70537ec681f3Smrg    <immediate name="texture_index" start="6" size="5"/>
70547ec681f3Smrg    <mod name="format" start="11" size="1">
70557ec681f3Smrg      <opt>u16</opt>
70567ec681f3Smrg      <opt>u32</opt>
70577ec681f3Smrg    </mod>
70587ec681f3Smrg  </ins>
70597ec681f3Smrg
70607ec681f3Smrg  <ins name="+LOAD.i128" staging="w=4" mask="0xffe00" exact="0x61000" message="load">
70617ec681f3Smrg    <src start="0"/>
70627ec681f3Smrg    <src start="3"/>
70637ec681f3Smrg    <mod name="seg" start="6" size="3">
70647ec681f3Smrg      <reserved/>
70657ec681f3Smrg      <opt>none</opt>
70667ec681f3Smrg      <opt>wls</opt>
70677ec681f3Smrg      <opt>stream</opt>
70687ec681f3Smrg      <opt>ubo</opt>
70697ec681f3Smrg      <reserved/>
70707ec681f3Smrg      <reserved/>
70717ec681f3Smrg      <opt>tl</opt>
70727ec681f3Smrg    </mod>
70737ec681f3Smrg  </ins>
70747ec681f3Smrg
70757ec681f3Smrg  <ins name="+LOAD.i16" staging="w=1" message="load">
70767ec681f3Smrg    <src start="0"/>
70777ec681f3Smrg    <src start="3"/>
70787ec681f3Smrg    <mod name="seg" start="6" size="3">
70797ec681f3Smrg      <reserved/>
70807ec681f3Smrg      <opt>none</opt>
70817ec681f3Smrg      <opt>wls</opt>
70827ec681f3Smrg      <opt>stream</opt>
70837ec681f3Smrg      <opt>ubo</opt>
70847ec681f3Smrg      <reserved/>
70857ec681f3Smrg      <reserved/>
70867ec681f3Smrg      <opt>tl</opt>
70877ec681f3Smrg    </mod>
70887ec681f3Smrg    <mod name="lane_dest" size="2" default="h0">
70897ec681f3Smrg      <opt>h0</opt>
70907ec681f3Smrg      <opt>h1</opt>
70917ec681f3Smrg      <opt>w0</opt>
70927ec681f3Smrg      <opt>d0</opt>
70937ec681f3Smrg    </mod>
70947ec681f3Smrg    <mod name="extend" size="2">
70957ec681f3Smrg      <opt>none</opt>
70967ec681f3Smrg      <opt>sext</opt>
70977ec681f3Smrg      <opt>zext</opt>
70987ec681f3Smrg    </mod>
70997ec681f3Smrg    <encoding mask="0xffc00" exact="0x60800">
71007ec681f3Smrg      <and>
71017ec681f3Smrg        <eq left="extend" right="#none"/>
71027ec681f3Smrg        <or>
71037ec681f3Smrg          <eq left="lane_dest" right="#h0"/>
71047ec681f3Smrg          <eq left="lane_dest" right="#h1"/>
71057ec681f3Smrg        </or>
71067ec681f3Smrg      </and>
71077ec681f3Smrg      <derived start="9" size="1">
71087ec681f3Smrg        <eq left="lane_dest" right="#h0"/>
71097ec681f3Smrg        <eq left="lane_dest" right="#h1"/>
71107ec681f3Smrg      </derived>
71117ec681f3Smrg    </encoding>
71127ec681f3Smrg    <encoding mask="0xffc00" exact="0x63000">
71137ec681f3Smrg      <and>
71147ec681f3Smrg        <neq left="extend" right="#none"/>
71157ec681f3Smrg        <eq left="lane_dest" right="#w0"/>
71167ec681f3Smrg      </and>
71177ec681f3Smrg      <derived start="9" size="1">
71187ec681f3Smrg        <eq left="extend" right="#sext"/>
71197ec681f3Smrg        <eq left="extend" right="#zext"/>
71207ec681f3Smrg      </derived>
71217ec681f3Smrg    </encoding>
71227ec681f3Smrg    <encoding mask="0xffc00" exact="0x61800">
71237ec681f3Smrg      <and>
71247ec681f3Smrg        <neq left="extend" right="#none"/>
71257ec681f3Smrg        <eq left="lane_dest" right="#d0"/>
71267ec681f3Smrg      </and>
71277ec681f3Smrg      <derived start="9" size="1">
71287ec681f3Smrg        <eq left="extend" right="#sext"/>
71297ec681f3Smrg        <eq left="extend" right="#zext"/>
71307ec681f3Smrg      </derived>
71317ec681f3Smrg    </encoding>
71327ec681f3Smrg  </ins>
71337ec681f3Smrg
71347ec681f3Smrg  <ins name="+LOAD.i24" staging="w=1" mask="0xffe00" exact="0x65000" message="load">
71357ec681f3Smrg    <src start="0"/>
71367ec681f3Smrg    <src start="3"/>
71377ec681f3Smrg    <mod name="seg" start="6" size="3">
71387ec681f3Smrg      <reserved/>
71397ec681f3Smrg      <opt>none</opt>
71407ec681f3Smrg      <opt>wls</opt>
71417ec681f3Smrg      <opt>stream</opt>
71427ec681f3Smrg      <opt>ubo</opt>
71437ec681f3Smrg      <reserved/>
71447ec681f3Smrg      <reserved/>
71457ec681f3Smrg      <opt>tl</opt>
71467ec681f3Smrg    </mod>
71477ec681f3Smrg  </ins>
71487ec681f3Smrg
71497ec681f3Smrg  <ins name="+LOAD.i32" staging="w=1" message="load">
71507ec681f3Smrg    <src start="0"/>
71517ec681f3Smrg    <src start="3"/>
71527ec681f3Smrg    <mod name="seg" start="6" size="3">
71537ec681f3Smrg      <reserved/>
71547ec681f3Smrg      <opt>none</opt>
71557ec681f3Smrg      <opt>wls</opt>
71567ec681f3Smrg      <opt>stream</opt>
71577ec681f3Smrg      <opt>ubo</opt>
71587ec681f3Smrg      <reserved/>
71597ec681f3Smrg      <reserved/>
71607ec681f3Smrg      <opt>tl</opt>
71617ec681f3Smrg    </mod>
71627ec681f3Smrg    <mod name="lane_dest" size="1" opt="d0"/>
71637ec681f3Smrg    <mod name="extend" size="2">
71647ec681f3Smrg      <opt>none</opt>
71657ec681f3Smrg      <opt>sext</opt>
71667ec681f3Smrg      <opt>zext</opt>
71677ec681f3Smrg    </mod>
71687ec681f3Smrg    <encoding mask="0xffe00" exact="0x60c00">
71697ec681f3Smrg      <and>
71707ec681f3Smrg        <eq left="extend" right="#none"/>
71717ec681f3Smrg        <eq left="lane_dest" right="#none"/>
71727ec681f3Smrg      </and>
71737ec681f3Smrg    </encoding>
71747ec681f3Smrg    <encoding mask="0xffc00" exact="0x61c00">
71757ec681f3Smrg      <and>
71767ec681f3Smrg        <neq left="extend" right="#none"/>
71777ec681f3Smrg        <eq left="lane_dest" right="#d0"/>
71787ec681f3Smrg      </and>
71797ec681f3Smrg      <derived start="9" size="1">
71807ec681f3Smrg        <eq left="extend" right="#sext"/>
71817ec681f3Smrg        <eq left="extend" right="#zext"/>
71827ec681f3Smrg      </derived>
71837ec681f3Smrg    </encoding>
71847ec681f3Smrg  </ins>
71857ec681f3Smrg
71867ec681f3Smrg  <ins name="+LOAD.i48" staging="w=2" mask="0xffe00" exact="0x65200" message="load">
71877ec681f3Smrg    <src start="0"/>
71887ec681f3Smrg    <src start="3"/>
71897ec681f3Smrg    <mod name="seg" start="6" size="3">
71907ec681f3Smrg      <reserved/>
71917ec681f3Smrg      <opt>none</opt>
71927ec681f3Smrg      <opt>wls</opt>
71937ec681f3Smrg      <opt>stream</opt>
71947ec681f3Smrg      <opt>ubo</opt>
71957ec681f3Smrg      <reserved/>
71967ec681f3Smrg      <reserved/>
71977ec681f3Smrg      <opt>tl</opt>
71987ec681f3Smrg    </mod>
71997ec681f3Smrg  </ins>
72007ec681f3Smrg
72017ec681f3Smrg  <ins name="+LOAD.i64" staging="w=2" mask="0xffe00" exact="0x60e00" message="load">
72027ec681f3Smrg    <src start="0"/>
72037ec681f3Smrg    <src start="3"/>
72047ec681f3Smrg    <mod name="seg" start="6" size="3">
72057ec681f3Smrg      <reserved/>
72067ec681f3Smrg      <opt>none</opt>
72077ec681f3Smrg      <opt>wls</opt>
72087ec681f3Smrg      <opt>stream</opt>
72097ec681f3Smrg      <opt>ubo</opt>
72107ec681f3Smrg      <reserved/>
72117ec681f3Smrg      <reserved/>
72127ec681f3Smrg      <opt>tl</opt>
72137ec681f3Smrg    </mod>
72147ec681f3Smrg  </ins>
72157ec681f3Smrg
72167ec681f3Smrg  <ins name="+LOAD.i8" staging="w=1" message="load">
72177ec681f3Smrg    <src start="0"/>
72187ec681f3Smrg    <src start="3"/>
72197ec681f3Smrg    <mod name="seg" start="6" size="3">
72207ec681f3Smrg      <reserved/>
72217ec681f3Smrg      <opt>none</opt>
72227ec681f3Smrg      <opt>wls</opt>
72237ec681f3Smrg      <opt>stream</opt>
72247ec681f3Smrg      <opt>ubo</opt>
72257ec681f3Smrg      <reserved/>
72267ec681f3Smrg      <reserved/>
72277ec681f3Smrg      <opt>tl</opt>
72287ec681f3Smrg    </mod>
72297ec681f3Smrg    <mod name="lane_dest" size="3" default="b0">
72307ec681f3Smrg      <opt>b0</opt>
72317ec681f3Smrg      <opt>b1</opt>
72327ec681f3Smrg      <opt>b2</opt>
72337ec681f3Smrg      <opt>b3</opt>
72347ec681f3Smrg      <opt>h0</opt>
72357ec681f3Smrg      <opt>h1</opt>
72367ec681f3Smrg      <opt>w0</opt>
72377ec681f3Smrg      <opt>d0</opt>
72387ec681f3Smrg    </mod>
72397ec681f3Smrg    <mod name="extend" size="2">
72407ec681f3Smrg      <opt>none</opt>
72417ec681f3Smrg      <opt>sext</opt>
72427ec681f3Smrg      <opt>zext</opt>
72437ec681f3Smrg    </mod>
72447ec681f3Smrg    <encoding mask="0xff800" exact="0x60000">
72457ec681f3Smrg      <and>
72467ec681f3Smrg        <eq left="extend" right="#none"/>
72477ec681f3Smrg        <or>
72487ec681f3Smrg          <eq left="lane_dest" right="#b0"/>
72497ec681f3Smrg          <eq left="lane_dest" right="#b1"/>
72507ec681f3Smrg          <eq left="lane_dest" right="#b2"/>
72517ec681f3Smrg          <eq left="lane_dest" right="#b3"/>
72527ec681f3Smrg        </or>
72537ec681f3Smrg      </and>
72547ec681f3Smrg      <derived start="9" size="2">
72557ec681f3Smrg        <eq left="lane_dest" right="#b0"/>
72567ec681f3Smrg        <eq left="lane_dest" right="#b1"/>
72577ec681f3Smrg        <eq left="lane_dest" right="#b2"/>
72587ec681f3Smrg        <eq left="lane_dest" right="#b3"/>
72597ec681f3Smrg      </derived>
72607ec681f3Smrg    </encoding>
72617ec681f3Smrg    <encoding mask="0xff800" exact="0x63800">
72627ec681f3Smrg      <and>
72637ec681f3Smrg        <neq left="extend" right="#none"/>
72647ec681f3Smrg        <or>
72657ec681f3Smrg          <eq left="lane_dest" right="#h0"/>
72667ec681f3Smrg          <eq left="lane_dest" right="#h1"/>
72677ec681f3Smrg        </or>
72687ec681f3Smrg      </and>
72697ec681f3Smrg      <derived start="9" size="1">
72707ec681f3Smrg        <eq left="extend" right="#sext"/>
72717ec681f3Smrg        <eq left="extend" right="#zext"/>
72727ec681f3Smrg      </derived>
72737ec681f3Smrg      <derived start="10" size="1">
72747ec681f3Smrg        <eq left="lane_dest" right="#h0"/>
72757ec681f3Smrg        <eq left="lane_dest" right="#h1"/>
72767ec681f3Smrg      </derived>
72777ec681f3Smrg    </encoding>
72787ec681f3Smrg    <encoding mask="0xffc00" exact="0x63400">
72797ec681f3Smrg      <and>
72807ec681f3Smrg        <neq left="extend" right="#none"/>
72817ec681f3Smrg        <eq left="lane_dest" right="#w0"/>
72827ec681f3Smrg      </and>
72837ec681f3Smrg      <derived start="9" size="1">
72847ec681f3Smrg        <eq left="extend" right="#sext"/>
72857ec681f3Smrg        <eq left="extend" right="#zext"/>
72867ec681f3Smrg      </derived>
72877ec681f3Smrg    </encoding>
72887ec681f3Smrg    <encoding mask="0xffc00" exact="0x61400">
72897ec681f3Smrg      <and>
72907ec681f3Smrg        <neq left="extend" right="#none"/>
72917ec681f3Smrg        <eq left="lane_dest" right="#d0"/>
72927ec681f3Smrg      </and>
72937ec681f3Smrg      <derived start="9" size="1">
72947ec681f3Smrg        <eq left="extend" right="#sext"/>
72957ec681f3Smrg        <eq left="extend" right="#zext"/>
72967ec681f3Smrg      </derived>
72977ec681f3Smrg    </encoding>
72987ec681f3Smrg  </ins>
72997ec681f3Smrg
73007ec681f3Smrg  <ins name="+LOAD.i96" staging="w=3" mask="0xffe00" exact="0x65400" message="load">
73017ec681f3Smrg    <src start="0"/>
73027ec681f3Smrg    <src start="3"/>
73037ec681f3Smrg    <mod name="seg" start="6" size="3">
73047ec681f3Smrg      <reserved/>
73057ec681f3Smrg      <opt>none</opt>
73067ec681f3Smrg      <opt>wls</opt>
73077ec681f3Smrg      <opt>stream</opt>
73087ec681f3Smrg      <opt>ubo</opt>
73097ec681f3Smrg      <reserved/>
73107ec681f3Smrg      <reserved/>
73117ec681f3Smrg      <opt>tl</opt>
73127ec681f3Smrg    </mod>
73137ec681f3Smrg  </ins>
73147ec681f3Smrg
73157ec681f3Smrg  <ins name="+LOGB.f32" mask="0xfffe0" exact="0x3d9a0">
73167ec681f3Smrg    <src start="0"/>
73177ec681f3Smrg    <mod name="widen0" start="3" size="2">
73187ec681f3Smrg      <reserved/>
73197ec681f3Smrg      <opt>none</opt>
73207ec681f3Smrg      <opt>h0</opt>
73217ec681f3Smrg      <opt>h1</opt>
73227ec681f3Smrg    </mod>
73237ec681f3Smrg  </ins>
73247ec681f3Smrg
73257ec681f3Smrg  <ins name="+LOGB.v2f16" mask="0xfffe0" exact="0x3d980">
73267ec681f3Smrg    <src start="0"/>
73277ec681f3Smrg    <mod name="swz0" start="3" size="2" default="h01">
73287ec681f3Smrg      <opt>h00</opt>
73297ec681f3Smrg      <opt>h10</opt>
73307ec681f3Smrg      <opt>h01</opt>
73317ec681f3Smrg      <opt>h11</opt>
73327ec681f3Smrg    </mod>
73337ec681f3Smrg  </ins>
73347ec681f3Smrg
73357ec681f3Smrg  <ins name="+MKVEC.v2i16" mask="0xfff00" exact="0x75300">
73367ec681f3Smrg    <src start="0"/>
73377ec681f3Smrg    <src start="3"/>
73387ec681f3Smrg    <mod name="lane0" start="6" size="1" default="h0">
73397ec681f3Smrg      <opt>h0</opt>
73407ec681f3Smrg      <opt>h1</opt>
73417ec681f3Smrg    </mod>
73427ec681f3Smrg    <mod name="lane1" start="7" size="1" default="h0">
73437ec681f3Smrg      <opt>h0</opt>
73447ec681f3Smrg      <opt>h1</opt>
73457ec681f3Smrg    </mod>
73467ec681f3Smrg  </ins>
73477ec681f3Smrg
73487ec681f3Smrg  <ins name="+MOV.i32" mask="0xffff8" exact="0x3d968">
73497ec681f3Smrg    <src start="0"/>
73507ec681f3Smrg  </ins>
73517ec681f3Smrg
73527ec681f3Smrg  <ins name="+MUX.i32" mask="0xff800" exact="0x74000">
73537ec681f3Smrg    <src start="0"/>
73547ec681f3Smrg    <src start="3"/>
73557ec681f3Smrg    <src start="6"/>
73567ec681f3Smrg    <mod name="mux" start="9" size="2" default="int_zero">
73577ec681f3Smrg      <opt>neg</opt>
73587ec681f3Smrg      <opt>int_zero</opt>
73597ec681f3Smrg      <opt>fp_zero</opt>
73607ec681f3Smrg      <opt>bit</opt>
73617ec681f3Smrg    </mod>
73627ec681f3Smrg  </ins>
73637ec681f3Smrg
73647ec681f3Smrg  <ins name="+MUX.v2i16" mask="0xfc000" exact="0x70000">
73657ec681f3Smrg    <src start="0"/>
73667ec681f3Smrg    <src start="3"/>
73677ec681f3Smrg    <src start="6"/>
73687ec681f3Smrg    <mod name="mux" start="9" size="2" default="int_zero">
73697ec681f3Smrg      <opt>neg</opt>
73707ec681f3Smrg      <opt>int_zero</opt>
73717ec681f3Smrg      <opt>fp_zero</opt>
73727ec681f3Smrg      <opt>bit</opt>
73737ec681f3Smrg    </mod>
73747ec681f3Smrg    <mod name="swap2" start="11" size="1" default="h01">
73757ec681f3Smrg      <opt>h01</opt>
73767ec681f3Smrg      <opt>h10</opt>
73777ec681f3Smrg    </mod>
73787ec681f3Smrg    <mod name="swap1" start="12" size="1" default="h01">
73797ec681f3Smrg      <opt>h01</opt>
73807ec681f3Smrg      <opt>h10</opt>
73817ec681f3Smrg    </mod>
73827ec681f3Smrg    <mod name="swap0" start="13" size="1" default="h01">
73837ec681f3Smrg      <opt>h01</opt>
73847ec681f3Smrg      <opt>h10</opt>
73857ec681f3Smrg    </mod>
73867ec681f3Smrg  </ins>
73877ec681f3Smrg
73887ec681f3Smrg  <ins name="+MUX.v4i8" mask="0xffc00" exact="0x74800">
73897ec681f3Smrg    <src start="0"/>
73907ec681f3Smrg    <src start="3"/>
73917ec681f3Smrg    <src start="6"/>
73927ec681f3Smrg    <mod name="mux" start="9" size="1" default="int_zero">
73937ec681f3Smrg      <opt>neg</opt>
73947ec681f3Smrg      <opt>int_zero</opt>
73957ec681f3Smrg    </mod>
73967ec681f3Smrg  </ins>
73977ec681f3Smrg
73987ec681f3Smrg  <ins name="+NOP" mask="0xfffff" exact="0x3d964"/>
73997ec681f3Smrg
74007ec681f3Smrg  <ins name="+QUIET.f32" mask="0xffff8" exact="0x3d970">
74017ec681f3Smrg    <src start="0"/>
74027ec681f3Smrg  </ins>
74037ec681f3Smrg
74047ec681f3Smrg  <ins name="+QUIET.v2f16" mask="0xfffc8" exact="0x3d900">
74057ec681f3Smrg    <src start="0"/>
74067ec681f3Smrg    <mod name="swz0" start="4" size="2" default="h01">
74077ec681f3Smrg      <opt>h00</opt>
74087ec681f3Smrg      <opt>h10</opt>
74097ec681f3Smrg      <opt>h01</opt>
74107ec681f3Smrg      <opt>h11</opt>
74117ec681f3Smrg    </mod>
74127ec681f3Smrg  </ins>
74137ec681f3Smrg
74147ec681f3Smrg  <ins name="+S16_TO_F32" mask="0xfffe8" exact="0x3cce0">
74157ec681f3Smrg    <src start="0"/>
74167ec681f3Smrg    <mod name="lane0" start="4" size="1" default="h0">
74177ec681f3Smrg      <opt>h0</opt>
74187ec681f3Smrg      <opt>h1</opt>
74197ec681f3Smrg    </mod>
74207ec681f3Smrg  </ins>
74217ec681f3Smrg
74227ec681f3Smrg  <ins name="+S16_TO_S32" mask="0xfffe8" exact="0x3ccc0">
74237ec681f3Smrg    <src start="0"/>
74247ec681f3Smrg    <mod name="lane0" start="4" size="1" default="h0">
74257ec681f3Smrg      <opt>h0</opt>
74267ec681f3Smrg      <opt>h1</opt>
74277ec681f3Smrg    </mod>
74287ec681f3Smrg  </ins>
74297ec681f3Smrg
74307ec681f3Smrg  <ins name="+S32_TO_F32">
74317ec681f3Smrg    <src start="0"/>
74327ec681f3Smrg    <mod name="round" size="3">
74337ec681f3Smrg      <opt>none</opt>
74347ec681f3Smrg      <opt>rtp</opt>
74357ec681f3Smrg      <opt>rtn</opt>
74367ec681f3Smrg      <opt>rtz</opt>
74377ec681f3Smrg      <opt>rtna</opt>
74387ec681f3Smrg    </mod>
74397ec681f3Smrg    <encoding mask="0xfffc8" exact="0x3cbc0">
74407ec681f3Smrg      <neq left="round" right="#rtna"/>
74417ec681f3Smrg      <derived start="4" size="2">
74427ec681f3Smrg        <eq left="round" right="#none"/>
74437ec681f3Smrg        <eq left="round" right="#rtp"/>
74447ec681f3Smrg        <eq left="round" right="#rtn"/>
74457ec681f3Smrg        <eq left="round" right="#rtz"/>
74467ec681f3Smrg      </derived>
74477ec681f3Smrg    </encoding>
74487ec681f3Smrg    <encoding mask="0xffff8" exact="0x3cd00">
74497ec681f3Smrg      <eq left="round" right="#rtna"/>
74507ec681f3Smrg    </encoding>
74517ec681f3Smrg  </ins>
74527ec681f3Smrg
74537ec681f3Smrg  <ins name="+S8_TO_F32" mask="0xfffc8" exact="0x3cb80">
74547ec681f3Smrg    <src start="0"/>
74557ec681f3Smrg    <mod name="lane0" start="4" size="2" default="b0">
74567ec681f3Smrg      <opt>b0</opt>
74577ec681f3Smrg      <opt>b1</opt>
74587ec681f3Smrg      <opt>b2</opt>
74597ec681f3Smrg      <opt>b3</opt>
74607ec681f3Smrg    </mod>
74617ec681f3Smrg  </ins>
74627ec681f3Smrg
74637ec681f3Smrg  <ins name="+S8_TO_S32" mask="0xfffc8" exact="0x3cb40">
74647ec681f3Smrg    <src start="0"/>
74657ec681f3Smrg    <mod name="lane0" start="4" size="2" default="b0">
74667ec681f3Smrg      <opt>b0</opt>
74677ec681f3Smrg      <opt>b1</opt>
74687ec681f3Smrg      <opt>b2</opt>
74697ec681f3Smrg      <opt>b3</opt>
74707ec681f3Smrg    </mod>
74717ec681f3Smrg  </ins>
74727ec681f3Smrg
74737ec681f3Smrg  <ins name="+SEG_ADD" mask="0xfff40" exact="0x3d500">
74747ec681f3Smrg    <src start="0"/>
74757ec681f3Smrg    <mod name="seg" start="3" size="3">
74767ec681f3Smrg      <reserved/>
74777ec681f3Smrg      <reserved/>
74787ec681f3Smrg      <opt>wls</opt>
74797ec681f3Smrg      <reserved/>
74807ec681f3Smrg      <reserved/>
74817ec681f3Smrg      <reserved/>
74827ec681f3Smrg      <reserved/>
74837ec681f3Smrg      <opt>tl</opt>
74847ec681f3Smrg    </mod>
74857ec681f3Smrg    <mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
74867ec681f3Smrg  </ins>
74877ec681f3Smrg
74887ec681f3Smrg  <ins name="+SEG_SUB" mask="0xfff40" exact="0x3d540" unused="true">
74897ec681f3Smrg    <src start="0"/>
74907ec681f3Smrg    <mod name="seg" start="3" size="3">
74917ec681f3Smrg      <reserved/>
74927ec681f3Smrg      <reserved/>
74937ec681f3Smrg      <opt>wls</opt>
74947ec681f3Smrg      <reserved/>
74957ec681f3Smrg      <reserved/>
74967ec681f3Smrg      <reserved/>
74977ec681f3Smrg      <reserved/>
74987ec681f3Smrg      <opt>tl</opt>
74997ec681f3Smrg    </mod>
75007ec681f3Smrg    <mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
75017ec681f3Smrg  </ins>
75027ec681f3Smrg
75037ec681f3Smrg  <ins name="+SHADDXH.i32" mask="0xfffc0" exact="0x3f8c0">
75047ec681f3Smrg    <src start="0"/>
75057ec681f3Smrg    <src start="3"/>
75067ec681f3Smrg  </ins>
75077ec681f3Smrg
75087ec681f3Smrg  <ins name="+SHIFT_DOUBLE.i32" mask="0xffe00" exact="0xefe00">
75097ec681f3Smrg    <src start="0"/>
75107ec681f3Smrg    <src start="3"/>
75117ec681f3Smrg    <src start="6"/>
75127ec681f3Smrg  </ins>
75137ec681f3Smrg
75147ec681f3Smrg  <ins name="+STORE.i128" staging="r=4" mask="0xffe00" exact="0x61200" message="store" dests="0">
75157ec681f3Smrg    <src start="0"/>
75167ec681f3Smrg    <src start="3"/>
75177ec681f3Smrg    <mod name="seg" start="6" size="3">
75187ec681f3Smrg      <reserved/>
75197ec681f3Smrg      <opt>none</opt>
75207ec681f3Smrg      <opt>wls</opt>
75217ec681f3Smrg      <opt>stream</opt>
75227ec681f3Smrg      <reserved/>
75237ec681f3Smrg      <reserved/>
75247ec681f3Smrg      <reserved/>
75257ec681f3Smrg      <opt>tl</opt>
75267ec681f3Smrg    </mod>
75277ec681f3Smrg  </ins>
75287ec681f3Smrg
75297ec681f3Smrg  <ins name="+STORE.i16" staging="r=1" mask="0xffe00" exact="0x62800" message="store" dests="0">
75307ec681f3Smrg    <src start="0"/>
75317ec681f3Smrg    <src start="3"/>
75327ec681f3Smrg    <mod name="seg" start="6" size="3">
75337ec681f3Smrg      <reserved/>
75347ec681f3Smrg      <opt>none</opt>
75357ec681f3Smrg      <opt>wls</opt>
75367ec681f3Smrg      <opt>stream</opt>
75377ec681f3Smrg      <reserved/>
75387ec681f3Smrg      <reserved/>
75397ec681f3Smrg      <reserved/>
75407ec681f3Smrg      <opt>tl</opt>
75417ec681f3Smrg    </mod>
75427ec681f3Smrg  </ins>
75437ec681f3Smrg
75447ec681f3Smrg  <ins name="+STORE.i24" staging="r=1" mask="0xffe00" exact="0x65800" message="store" dests="0">
75457ec681f3Smrg    <src start="0"/>
75467ec681f3Smrg    <src start="3"/>
75477ec681f3Smrg    <mod name="seg" start="6" size="3">
75487ec681f3Smrg      <reserved/>
75497ec681f3Smrg      <opt>none</opt>
75507ec681f3Smrg      <opt>wls</opt>
75517ec681f3Smrg      <opt>stream</opt>
75527ec681f3Smrg      <reserved/>
75537ec681f3Smrg      <reserved/>
75547ec681f3Smrg      <reserved/>
75557ec681f3Smrg      <opt>tl</opt>
75567ec681f3Smrg    </mod>
75577ec681f3Smrg  </ins>
75587ec681f3Smrg
75597ec681f3Smrg  <ins name="+STORE.i32" staging="r=1" mask="0xffe00" exact="0x62c00" message="store" dests="0">
75607ec681f3Smrg    <src start="0"/>
75617ec681f3Smrg    <src start="3"/>
75627ec681f3Smrg    <mod name="seg" start="6" size="3">
75637ec681f3Smrg      <reserved/>
75647ec681f3Smrg      <opt>none</opt>
75657ec681f3Smrg      <opt>wls</opt>
75667ec681f3Smrg      <opt>stream</opt>
75677ec681f3Smrg      <reserved/>
75687ec681f3Smrg      <reserved/>
75697ec681f3Smrg      <reserved/>
75707ec681f3Smrg      <opt>tl</opt>
75717ec681f3Smrg    </mod>
75727ec681f3Smrg  </ins>
75737ec681f3Smrg
75747ec681f3Smrg  <ins name="+STORE.i48" staging="r=2" mask="0xffe00" exact="0x65a00" message="store" dests="0">
75757ec681f3Smrg    <src start="0"/>
75767ec681f3Smrg    <src start="3"/>
75777ec681f3Smrg    <mod name="seg" start="6" size="3">
75787ec681f3Smrg      <reserved/>
75797ec681f3Smrg      <opt>none</opt>
75807ec681f3Smrg      <opt>wls</opt>
75817ec681f3Smrg      <opt>stream</opt>
75827ec681f3Smrg      <reserved/>
75837ec681f3Smrg      <reserved/>
75847ec681f3Smrg      <reserved/>
75857ec681f3Smrg      <opt>tl</opt>
75867ec681f3Smrg    </mod>
75877ec681f3Smrg  </ins>
75887ec681f3Smrg
75897ec681f3Smrg  <ins name="+STORE.i64" staging="r=2" mask="0xffe00" exact="0x62e00" message="store" dests="0">
75907ec681f3Smrg    <src start="0"/>
75917ec681f3Smrg    <src start="3"/>
75927ec681f3Smrg    <mod name="seg" start="6" size="3">
75937ec681f3Smrg      <reserved/>
75947ec681f3Smrg      <opt>none</opt>
75957ec681f3Smrg      <opt>wls</opt>
75967ec681f3Smrg      <opt>stream</opt>
75977ec681f3Smrg      <reserved/>
75987ec681f3Smrg      <reserved/>
75997ec681f3Smrg      <reserved/>
76007ec681f3Smrg      <opt>tl</opt>
76017ec681f3Smrg    </mod>
76027ec681f3Smrg  </ins>
76037ec681f3Smrg
76047ec681f3Smrg  <ins name="+STORE.i8" staging="r=1" mask="0xffe00" exact="0x62000" message="store" dests="0">
76057ec681f3Smrg    <src start="0"/>
76067ec681f3Smrg    <src start="3"/>
76077ec681f3Smrg    <mod name="seg" start="6" size="3">
76087ec681f3Smrg      <reserved/>
76097ec681f3Smrg      <opt>none</opt>
76107ec681f3Smrg      <opt>wls</opt>
76117ec681f3Smrg      <opt>stream</opt>
76127ec681f3Smrg      <reserved/>
76137ec681f3Smrg      <reserved/>
76147ec681f3Smrg      <reserved/>
76157ec681f3Smrg      <opt>tl</opt>
76167ec681f3Smrg    </mod>
76177ec681f3Smrg  </ins>
76187ec681f3Smrg
76197ec681f3Smrg  <ins name="+STORE.i96" staging="r=3" mask="0xffe00" exact="0x65c00" message="store" dests="0">
76207ec681f3Smrg    <src start="0"/>
76217ec681f3Smrg    <src start="3"/>
76227ec681f3Smrg    <mod name="seg" start="6" size="3">
76237ec681f3Smrg      <reserved/>
76247ec681f3Smrg      <opt>none</opt>
76257ec681f3Smrg      <opt>wls</opt>
76267ec681f3Smrg      <opt>stream</opt>
76277ec681f3Smrg      <reserved/>
76287ec681f3Smrg      <reserved/>
76297ec681f3Smrg      <reserved/>
76307ec681f3Smrg      <opt>tl</opt>
76317ec681f3Smrg    </mod>
76327ec681f3Smrg  </ins>
76337ec681f3Smrg
76347ec681f3Smrg  <ins name="+ST_CVT" staging="r=format" mask="0xff800" exact="0xc9800" message="store" dests="0">
76357ec681f3Smrg    <src start="0"/>
76367ec681f3Smrg    <src start="3"/>
76377ec681f3Smrg    <src start="6" mask="0xf7"/>
76387ec681f3Smrg    <mod name="register_format" size="4" pseudo="true">
76397ec681f3Smrg      <opt>f16</opt>
76407ec681f3Smrg      <opt>f32</opt>
76417ec681f3Smrg      <opt>s32</opt>
76427ec681f3Smrg      <opt>u32</opt>
76437ec681f3Smrg      <opt>s16</opt>
76447ec681f3Smrg      <opt>u16</opt>
76457ec681f3Smrg      <opt>f64</opt>
76467ec681f3Smrg      <opt>i64</opt>
76477ec681f3Smrg    </mod>
76487ec681f3Smrg    <mod name="vecsize" start="9" size="2">
76497ec681f3Smrg      <opt>none</opt>
76507ec681f3Smrg      <opt>v2</opt>
76517ec681f3Smrg      <opt>v3</opt>
76527ec681f3Smrg      <opt>v4</opt>
76537ec681f3Smrg    </mod>
76547ec681f3Smrg  </ins>
76557ec681f3Smrg
76567ec681f3Smrg  <ins name="+ST_TILE" staging="r=format" mask="0xff800" exact="0xcb800" message="tile" dests="0">
76577ec681f3Smrg    <src start="0"/>
76587ec681f3Smrg    <src start="3"/>
76597ec681f3Smrg    <src start="6" mask="0xf7"/>
76607ec681f3Smrg    <mod name="vecsize" start="9" size="2">
76617ec681f3Smrg      <opt>none</opt>
76627ec681f3Smrg      <opt>v2</opt>
76637ec681f3Smrg      <opt>v3</opt>
76647ec681f3Smrg      <opt>v4</opt>
76657ec681f3Smrg    </mod>
76667ec681f3Smrg  </ins>
76677ec681f3Smrg
76687ec681f3Smrg  <ins name="+SWZ.v2i16" mask="0xfffc8" exact="0x3d948">
76697ec681f3Smrg    <src start="0"/>
76707ec681f3Smrg    <mod name="swz0" start="4" size="2">
76717ec681f3Smrg      <opt>h00</opt>
76727ec681f3Smrg      <opt>h10</opt>
76737ec681f3Smrg      <reserved/>
76747ec681f3Smrg      <opt>h11</opt>
76757ec681f3Smrg    </mod>
76767ec681f3Smrg  </ins>
76777ec681f3Smrg
76787ec681f3Smrg  <ins name="+SWZ.v4i8" mask="0xfffc0" exact="0x3df40">
76797ec681f3Smrg    <src start="0"/>
76807ec681f3Smrg    <mod name="swz0" start="3" size="3">
76817ec681f3Smrg      <opt>b0000</opt>
76827ec681f3Smrg      <opt>b1111</opt>
76837ec681f3Smrg      <opt>b2222</opt>
76847ec681f3Smrg      <opt>b3333</opt>
76857ec681f3Smrg      <opt>b0011</opt>
76867ec681f3Smrg      <opt>b2233</opt>
76877ec681f3Smrg      <opt>b1032</opt>
76887ec681f3Smrg      <opt>b3210</opt>
76897ec681f3Smrg    </mod>
76907ec681f3Smrg  </ins>
76917ec681f3Smrg
76927ec681f3Smrg  <ins name="+TEXC" staging="rw=sr_count" mask="0xffc00" exact="0xd7000" message="tex">
76937ec681f3Smrg    <src start="0"/>
76947ec681f3Smrg    <src start="3"/>
76957ec681f3Smrg    <src start="6" mask="0xf7"/>
76967ec681f3Smrg    <mod name="skip" start="9" size="1" opt="skip"/>
76977ec681f3Smrg    <!-- not actually encoded, but used for IR -->
76987ec681f3Smrg    <immediate name="sr_count" size="4" pseudo="true"/>
76997ec681f3Smrg    <mod name="lod_mode" start="13" size="1" default="zero_lod" pseudo="true">
77007ec681f3Smrg      <opt>computed_lod</opt>
77017ec681f3Smrg      <opt>zero_lod</opt>
77027ec681f3Smrg    </mod>
77037ec681f3Smrg  </ins>
77047ec681f3Smrg
77057ec681f3Smrg  <ins name="+TEXS_2D.f16" staging="w=2" mask="0xfc000" exact="0xd8000" message="tex">
77067ec681f3Smrg    <src start="0"/>
77077ec681f3Smrg    <src start="3"/>
77087ec681f3Smrg    <immediate name="texture_index" start="6" size="3"/>
77097ec681f3Smrg    <immediate name="sampler_index" start="10" size="3"/>
77107ec681f3Smrg    <mod name="skip" start="9" size="1" opt="skip"/>
77117ec681f3Smrg    <mod name="lod_mode" start="13" size="1" default="zero_lod">
77127ec681f3Smrg      <opt>computed_lod</opt>
77137ec681f3Smrg      <opt>zero_lod</opt>
77147ec681f3Smrg    </mod>
77157ec681f3Smrg  </ins>
77167ec681f3Smrg
77177ec681f3Smrg  <ins name="+TEXS_2D.f32" staging="w=4" mask="0xfc000" exact="0x58000" message="tex">
77187ec681f3Smrg    <src start="0"/>
77197ec681f3Smrg    <src start="3"/>
77207ec681f3Smrg    <immediate name="texture_index" start="6" size="3"/>
77217ec681f3Smrg    <immediate name="sampler_index" start="10" size="3"/>
77227ec681f3Smrg    <mod name="skip" start="9" size="1" opt="skip"/>
77237ec681f3Smrg    <mod name="lod_mode" start="13" size="1" default="zero_lod">
77247ec681f3Smrg      <opt>computed_lod</opt>
77257ec681f3Smrg      <opt>zero_lod</opt>
77267ec681f3Smrg    </mod>
77277ec681f3Smrg  </ins>
77287ec681f3Smrg
77297ec681f3Smrg  <ins name="+TEXS_CUBE.f16" staging="w=2" mask="0xfc000" exact="0xdc000" message="tex">
77307ec681f3Smrg    <src start="0"/>
77317ec681f3Smrg    <src start="3"/>
77327ec681f3Smrg    <src start="6"/>
77337ec681f3Smrg    <immediate name="sampler_index" start="10" size="2"/>
77347ec681f3Smrg    <immediate name="texture_index" start="12" size="2"/>
77357ec681f3Smrg    <mod name="skip" start="9" size="1" opt="skip"/>
77367ec681f3Smrg  </ins>
77377ec681f3Smrg
77387ec681f3Smrg  <ins name="+TEXS_CUBE.f32" staging="w=4" mask="0xfc000" exact="0x5c000" message="tex">
77397ec681f3Smrg    <src start="0"/>
77407ec681f3Smrg    <src start="3"/>
77417ec681f3Smrg    <src start="6"/>
77427ec681f3Smrg    <immediate name="sampler_index" start="10" size="2"/>
77437ec681f3Smrg    <immediate name="texture_index" start="12" size="2"/>
77447ec681f3Smrg    <mod name="skip" start="9" size="1" opt="skip"/>
77457ec681f3Smrg  </ins>
77467ec681f3Smrg
77477ec681f3Smrg  <ins name="+U16_TO_F32" mask="0xfffe8" exact="0x3cce8">
77487ec681f3Smrg    <src start="0"/>
77497ec681f3Smrg    <mod name="lane0" start="4" size="1" default="h0">
77507ec681f3Smrg      <opt>h0</opt>
77517ec681f3Smrg      <opt>h1</opt>
77527ec681f3Smrg    </mod>
77537ec681f3Smrg  </ins>
77547ec681f3Smrg
77557ec681f3Smrg  <ins name="+U16_TO_U32" mask="0xfffe8" exact="0x3ccc8">
77567ec681f3Smrg    <src start="0"/>
77577ec681f3Smrg    <mod name="lane0" start="4" size="1" default="h0">
77587ec681f3Smrg      <opt>h0</opt>
77597ec681f3Smrg      <opt>h1</opt>
77607ec681f3Smrg    </mod>
77617ec681f3Smrg  </ins>
77627ec681f3Smrg
77637ec681f3Smrg  <ins name="+U32_TO_F32">
77647ec681f3Smrg    <src start="0"/>
77657ec681f3Smrg    <mod name="round" size="3">
77667ec681f3Smrg      <opt>none</opt>
77677ec681f3Smrg      <opt>rtp</opt>
77687ec681f3Smrg      <opt>rtn</opt>
77697ec681f3Smrg      <opt>rtz</opt>
77707ec681f3Smrg      <opt>rtna</opt>
77717ec681f3Smrg    </mod>
77727ec681f3Smrg    <encoding mask="0xfffc8" exact="0x3cbc8">
77737ec681f3Smrg      <neq left="round" right="#rtna"/>
77747ec681f3Smrg      <derived start="4" size="2">
77757ec681f3Smrg        <eq left="round" right="#none"/>
77767ec681f3Smrg        <eq left="round" right="#rtp"/>
77777ec681f3Smrg        <eq left="round" right="#rtn"/>
77787ec681f3Smrg        <eq left="round" right="#rtz"/>
77797ec681f3Smrg      </derived>
77807ec681f3Smrg    </encoding>
77817ec681f3Smrg    <encoding mask="0xffff8" exact="0x3cd08">
77827ec681f3Smrg      <eq left="round" right="#rtna"/>
77837ec681f3Smrg    </encoding>
77847ec681f3Smrg  </ins>
77857ec681f3Smrg
77867ec681f3Smrg  <ins name="+U8_TO_F32" mask="0xfffc8" exact="0x3cb88">
77877ec681f3Smrg    <src start="0"/>
77887ec681f3Smrg    <mod name="lane0" start="4" size="2" default="b0">
77897ec681f3Smrg      <opt>b0</opt>
77907ec681f3Smrg      <opt>b1</opt>
77917ec681f3Smrg      <opt>b2</opt>
77927ec681f3Smrg      <opt>b3</opt>
77937ec681f3Smrg    </mod>
77947ec681f3Smrg  </ins>
77957ec681f3Smrg
77967ec681f3Smrg  <ins name="+U8_TO_U32" mask="0xfffc8" exact="0x3cb48">
77977ec681f3Smrg    <src start="0"/>
77987ec681f3Smrg    <mod name="lane0" start="4" size="2" default="b0">
77997ec681f3Smrg      <opt>b0</opt>
78007ec681f3Smrg      <opt>b1</opt>
78017ec681f3Smrg      <opt>b2</opt>
78027ec681f3Smrg      <opt>b3</opt>
78037ec681f3Smrg    </mod>
78047ec681f3Smrg  </ins>
78057ec681f3Smrg
78067ec681f3Smrg  <ins name="+V2F16_TO_V2S16">
78077ec681f3Smrg    <src start="0"/>
78087ec681f3Smrg    <mod name="round" size="3">
78097ec681f3Smrg      <opt>none</opt>
78107ec681f3Smrg      <opt>rtp</opt>
78117ec681f3Smrg      <opt>rtn</opt>
78127ec681f3Smrg      <opt>rtz</opt>
78137ec681f3Smrg      <opt>rtna</opt>
78147ec681f3Smrg    </mod>
78157ec681f3Smrg    <mod name="swz0" size="2" default="h01">
78167ec681f3Smrg      <opt>h00</opt>
78177ec681f3Smrg      <opt>h10</opt>
78187ec681f3Smrg      <opt>h01</opt>
78197ec681f3Smrg      <opt>h11</opt>
78207ec681f3Smrg    </mod>
78217ec681f3Smrg    <encoding mask="0xfff08" exact="0x3c200">
78227ec681f3Smrg      <neq left="round" right="#rtna"/>
78237ec681f3Smrg      <copy name="swz0" start="6"/>
78247ec681f3Smrg      <derived start="4" size="2">
78257ec681f3Smrg        <eq left="round" right="#none"/>
78267ec681f3Smrg        <eq left="round" right="#rtp"/>
78277ec681f3Smrg        <eq left="round" right="#rtn"/>
78287ec681f3Smrg        <eq left="round" right="#rtz"/>
78297ec681f3Smrg      </derived>
78307ec681f3Smrg    </encoding>
78317ec681f3Smrg    <encoding mask="0xfffc8" exact="0x3ca80">
78327ec681f3Smrg      <eq left="round" right="#rtna"/>
78337ec681f3Smrg      <copy name="swz0" start="4"/>
78347ec681f3Smrg    </encoding>
78357ec681f3Smrg  </ins>
78367ec681f3Smrg
78377ec681f3Smrg  <ins name="+V2F16_TO_V2U16">
78387ec681f3Smrg    <src start="0"/>
78397ec681f3Smrg    <mod name="round" size="3">
78407ec681f3Smrg      <opt>none</opt>
78417ec681f3Smrg      <opt>rtp</opt>
78427ec681f3Smrg      <opt>rtn</opt>
78437ec681f3Smrg      <opt>rtz</opt>
78447ec681f3Smrg      <opt>rtna</opt>
78457ec681f3Smrg    </mod>
78467ec681f3Smrg    <mod name="swz0" size="2" default="h01">
78477ec681f3Smrg      <opt>h00</opt>
78487ec681f3Smrg      <opt>h10</opt>
78497ec681f3Smrg      <opt>h01</opt>
78507ec681f3Smrg      <opt>h11</opt>
78517ec681f3Smrg    </mod>
78527ec681f3Smrg    <encoding mask="0xfff08" exact="0x3c208">
78537ec681f3Smrg      <neq left="round" right="#rtna"/>
78547ec681f3Smrg      <copy name="swz0" start="6"/>
78557ec681f3Smrg      <derived start="4" size="2">
78567ec681f3Smrg        <eq left="round" right="#none"/>
78577ec681f3Smrg        <eq left="round" right="#rtp"/>
78587ec681f3Smrg        <eq left="round" right="#rtn"/>
78597ec681f3Smrg        <eq left="round" right="#rtz"/>
78607ec681f3Smrg      </derived>
78617ec681f3Smrg    </encoding>
78627ec681f3Smrg    <encoding mask="0xfffc8" exact="0x3ca88">
78637ec681f3Smrg      <eq left="round" right="#rtna"/>
78647ec681f3Smrg      <copy name="swz0" start="4"/>
78657ec681f3Smrg    </encoding>
78667ec681f3Smrg  </ins>
78677ec681f3Smrg
78687ec681f3Smrg  <ins name="+V2F32_TO_V2F16" mask="0xfe000" exact="0x76000">
78697ec681f3Smrg    <src start="0"/>
78707ec681f3Smrg    <src start="3"/>
78717ec681f3Smrg    <mod name="abs0" size="1" opt="abs"/>
78727ec681f3Smrg    <mod name="abs1" size="1" opt="abs"/>
78737ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
78747ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
78757ec681f3Smrg    <mod name="clamp" start="8" size="2">
78767ec681f3Smrg      <opt>none</opt>
78777ec681f3Smrg      <opt>clamp_0_inf</opt>
78787ec681f3Smrg      <opt>clamp_m1_1</opt>
78797ec681f3Smrg      <opt>clamp_0_1</opt>
78807ec681f3Smrg    </mod>
78817ec681f3Smrg    <mod name="round" start="10" size="3">
78827ec681f3Smrg      <opt>none</opt>
78837ec681f3Smrg      <opt>rtp</opt>
78847ec681f3Smrg      <opt>rtn</opt>
78857ec681f3Smrg      <opt>rtz</opt>
78867ec681f3Smrg      <opt>rtna</opt>
78877ec681f3Smrg    </mod>
78887ec681f3Smrg    <derived start="6" size="1">
78897ec681f3Smrg      <and>
78907ec681f3Smrg        <eq left="abs0" right="#none"/>
78917ec681f3Smrg        <eq left="abs1" right="#none"/>
78927ec681f3Smrg      </and>
78937ec681f3Smrg      <and>
78947ec681f3Smrg        <eq left="abs0" right="#abs"/>
78957ec681f3Smrg        <eq left="abs1" right="#abs"/>
78967ec681f3Smrg      </and>
78977ec681f3Smrg    </derived>
78987ec681f3Smrg    <derived start="7" size="1">
78997ec681f3Smrg      <and>
79007ec681f3Smrg        <eq left="neg0" right="#none"/>
79017ec681f3Smrg        <eq left="neg1" right="#none"/>
79027ec681f3Smrg      </and>
79037ec681f3Smrg      <and>
79047ec681f3Smrg        <eq left="neg0" right="#neg"/>
79057ec681f3Smrg        <eq left="neg1" right="#neg"/>
79067ec681f3Smrg      </and>
79077ec681f3Smrg    </derived>
79087ec681f3Smrg  </ins>
79097ec681f3Smrg
79107ec681f3Smrg  <ins name="+V2S16_TO_V2F16">
79117ec681f3Smrg    <src start="0"/>
79127ec681f3Smrg    <mod name="round" size="3">
79137ec681f3Smrg      <opt>none</opt>
79147ec681f3Smrg      <opt>rtp</opt>
79157ec681f3Smrg      <opt>rtn</opt>
79167ec681f3Smrg      <opt>rtz</opt>
79177ec681f3Smrg      <opt>rtna</opt>
79187ec681f3Smrg    </mod>
79197ec681f3Smrg    <mod name="swz0" size="2" default="h01">
79207ec681f3Smrg      <opt>h00</opt>
79217ec681f3Smrg      <opt>h10</opt>
79227ec681f3Smrg      <opt>h01</opt>
79237ec681f3Smrg      <opt>h11</opt>
79247ec681f3Smrg    </mod>
79257ec681f3Smrg    <encoding mask="0xfff08" exact="0x3c600">
79267ec681f3Smrg      <neq left="round" right="#rtna"/>
79277ec681f3Smrg      <copy name="swz0" start="6"/>
79287ec681f3Smrg      <derived start="4" size="2">
79297ec681f3Smrg        <eq left="round" right="#none"/>
79307ec681f3Smrg        <eq left="round" right="#rtp"/>
79317ec681f3Smrg        <eq left="round" right="#rtn"/>
79327ec681f3Smrg        <eq left="round" right="#rtz"/>
79337ec681f3Smrg      </derived>
79347ec681f3Smrg    </encoding>
79357ec681f3Smrg    <encoding mask="0xfffc8" exact="0x3cb00">
79367ec681f3Smrg      <eq left="round" right="#rtna"/>
79377ec681f3Smrg      <copy name="swz0" start="4"/>
79387ec681f3Smrg    </encoding>
79397ec681f3Smrg  </ins>
79407ec681f3Smrg
79417ec681f3Smrg  <ins name="+V2S8_TO_V2F16" mask="0xfff08" exact="0x3c800">
79427ec681f3Smrg    <src start="0"/>
79437ec681f3Smrg    <mod name="swz0" start="4" size="4" default="b01">
79447ec681f3Smrg      <opt>b00</opt>
79457ec681f3Smrg      <opt>b10</opt>
79467ec681f3Smrg      <opt>b20</opt>
79477ec681f3Smrg      <opt>b30</opt>
79487ec681f3Smrg      <opt>b01</opt>
79497ec681f3Smrg      <opt>b11</opt>
79507ec681f3Smrg      <opt>b21</opt>
79517ec681f3Smrg      <opt>b31</opt>
79527ec681f3Smrg      <opt>b02</opt>
79537ec681f3Smrg      <opt>b12</opt>
79547ec681f3Smrg      <opt>b22</opt>
79557ec681f3Smrg      <opt>b32</opt>
79567ec681f3Smrg      <opt>b03</opt>
79577ec681f3Smrg      <opt>b13</opt>
79587ec681f3Smrg      <opt>b23</opt>
79597ec681f3Smrg      <opt>b33</opt>
79607ec681f3Smrg    </mod>
79617ec681f3Smrg  </ins>
79627ec681f3Smrg
79637ec681f3Smrg  <ins name="+V2S8_TO_V2S16" mask="0xfff08" exact="0x3c700">
79647ec681f3Smrg    <src start="0"/>
79657ec681f3Smrg    <mod name="swz0" start="4" size="4" default="b01">
79667ec681f3Smrg      <opt>b00</opt>
79677ec681f3Smrg      <opt>b10</opt>
79687ec681f3Smrg      <opt>b20</opt>
79697ec681f3Smrg      <opt>b30</opt>
79707ec681f3Smrg      <opt>b01</opt>
79717ec681f3Smrg      <opt>b11</opt>
79727ec681f3Smrg      <opt>b21</opt>
79737ec681f3Smrg      <opt>b31</opt>
79747ec681f3Smrg      <opt>b02</opt>
79757ec681f3Smrg      <opt>b12</opt>
79767ec681f3Smrg      <opt>b22</opt>
79777ec681f3Smrg      <opt>b32</opt>
79787ec681f3Smrg      <opt>b03</opt>
79797ec681f3Smrg      <opt>b13</opt>
79807ec681f3Smrg      <opt>b23</opt>
79817ec681f3Smrg      <opt>b33</opt>
79827ec681f3Smrg    </mod>
79837ec681f3Smrg  </ins>
79847ec681f3Smrg
79857ec681f3Smrg  <ins name="+V2U16_TO_V2F16">
79867ec681f3Smrg    <src start="0"/>
79877ec681f3Smrg    <mod name="round" size="3">
79887ec681f3Smrg      <opt>none</opt>
79897ec681f3Smrg      <opt>rtp</opt>
79907ec681f3Smrg      <opt>rtn</opt>
79917ec681f3Smrg      <opt>rtz</opt>
79927ec681f3Smrg      <opt>rtna</opt>
79937ec681f3Smrg    </mod>
79947ec681f3Smrg    <mod name="swz0" size="2" default="h01">
79957ec681f3Smrg      <opt>h00</opt>
79967ec681f3Smrg      <opt>h10</opt>
79977ec681f3Smrg      <opt>h01</opt>
79987ec681f3Smrg      <opt>h11</opt>
79997ec681f3Smrg    </mod>
80007ec681f3Smrg    <encoding mask="0xfff08" exact="0x3c608">
80017ec681f3Smrg      <neq left="round" right="#rtna"/>
80027ec681f3Smrg      <copy name="swz0" start="6"/>
80037ec681f3Smrg      <derived start="4" size="2">
80047ec681f3Smrg        <eq left="round" right="#none"/>
80057ec681f3Smrg        <eq left="round" right="#rtp"/>
80067ec681f3Smrg        <eq left="round" right="#rtn"/>
80077ec681f3Smrg        <eq left="round" right="#rtz"/>
80087ec681f3Smrg      </derived>
80097ec681f3Smrg    </encoding>
80107ec681f3Smrg    <encoding mask="0xfffc8" exact="0x3cb08">
80117ec681f3Smrg      <eq left="round" right="#rtna"/>
80127ec681f3Smrg      <copy name="swz0" start="4"/>
80137ec681f3Smrg    </encoding>
80147ec681f3Smrg  </ins>
80157ec681f3Smrg
80167ec681f3Smrg  <ins name="+V2U8_TO_V2F16" mask="0xfff08" exact="0x3c808">
80177ec681f3Smrg    <src start="0"/>
80187ec681f3Smrg    <mod name="swz0" start="4" size="4" default="b01">
80197ec681f3Smrg      <opt>b00</opt>
80207ec681f3Smrg      <opt>b10</opt>
80217ec681f3Smrg      <opt>b20</opt>
80227ec681f3Smrg      <opt>b30</opt>
80237ec681f3Smrg      <opt>b01</opt>
80247ec681f3Smrg      <opt>b11</opt>
80257ec681f3Smrg      <opt>b21</opt>
80267ec681f3Smrg      <opt>b31</opt>
80277ec681f3Smrg      <opt>b02</opt>
80287ec681f3Smrg      <opt>b12</opt>
80297ec681f3Smrg      <opt>b22</opt>
80307ec681f3Smrg      <opt>b32</opt>
80317ec681f3Smrg      <opt>b03</opt>
80327ec681f3Smrg      <opt>b13</opt>
80337ec681f3Smrg      <opt>b23</opt>
80347ec681f3Smrg      <opt>b33</opt>
80357ec681f3Smrg    </mod>
80367ec681f3Smrg  </ins>
80377ec681f3Smrg
80387ec681f3Smrg  <ins name="+V2U8_TO_V2U16" mask="0xfff08" exact="0x3c708">
80397ec681f3Smrg    <src start="0"/>
80407ec681f3Smrg    <mod name="swz0" start="4" size="4" default="b01">
80417ec681f3Smrg      <opt>b00</opt>
80427ec681f3Smrg      <opt>b10</opt>
80437ec681f3Smrg      <opt>b20</opt>
80447ec681f3Smrg      <opt>b30</opt>
80457ec681f3Smrg      <opt>b01</opt>
80467ec681f3Smrg      <opt>b11</opt>
80477ec681f3Smrg      <opt>b21</opt>
80487ec681f3Smrg      <opt>b31</opt>
80497ec681f3Smrg      <opt>b02</opt>
80507ec681f3Smrg      <opt>b12</opt>
80517ec681f3Smrg      <opt>b22</opt>
80527ec681f3Smrg      <opt>b32</opt>
80537ec681f3Smrg      <opt>b03</opt>
80547ec681f3Smrg      <opt>b13</opt>
80557ec681f3Smrg      <opt>b23</opt>
80567ec681f3Smrg      <opt>b33</opt>
80577ec681f3Smrg    </mod>
80587ec681f3Smrg  </ins>
80597ec681f3Smrg
80607ec681f3Smrg  <ins name="+VAR_TEX.f16" staging="w=2" mask="0xffd00" exact="0xca100" message="vartex">
80617ec681f3Smrg    <immediate name="varying_index" start="0" size="3"/>
80627ec681f3Smrg    <immediate name="texture_index" start="3" size="2"/>
80637ec681f3Smrg    <mod name="update" size="1">
80647ec681f3Smrg      <opt>store</opt>
80657ec681f3Smrg      <opt>retrieve</opt>
80667ec681f3Smrg    </mod>
80677ec681f3Smrg    <mod name="skip" start="7" size="1" opt="skip"/>
80687ec681f3Smrg    <mod name="lod_mode" start="9" size="1" default="zero_lod">
80697ec681f3Smrg      <opt>computed_lod</opt>
80707ec681f3Smrg      <opt>zero_lod</opt>
80717ec681f3Smrg    </mod>
80727ec681f3Smrg    <mod name="sample" size="1">
80737ec681f3Smrg      <opt>center</opt>
80747ec681f3Smrg      <opt>none</opt>
80757ec681f3Smrg    </mod>
80767ec681f3Smrg    <derived start="5" size="2">
80777ec681f3Smrg      <and>
80787ec681f3Smrg        <eq left="sample" right="#center"/>
80797ec681f3Smrg        <eq left="update" right="#store"/>
80807ec681f3Smrg      </and>
80817ec681f3Smrg      <and>
80827ec681f3Smrg        <eq left="sample" right="#none"/>
80837ec681f3Smrg        <eq left="update" right="#retrieve"/>
80847ec681f3Smrg      </and>
80857ec681f3Smrg      <reserved/>
80867ec681f3Smrg      <reserved/>
80877ec681f3Smrg    </derived>
80887ec681f3Smrg  </ins>
80897ec681f3Smrg
80907ec681f3Smrg  <ins name="+VAR_TEX.f32" staging="w=4" mask="0xffd00" exact="0xca000" message="vartex">
80917ec681f3Smrg    <immediate name="varying_index" start="0" size="3"/>
80927ec681f3Smrg    <immediate name="texture_index" start="3" size="2"/>
80937ec681f3Smrg    <mod name="update" size="1">
80947ec681f3Smrg      <opt>store</opt>
80957ec681f3Smrg      <opt>retrieve</opt>
80967ec681f3Smrg    </mod>
80977ec681f3Smrg    <mod name="skip" start="7" size="1" opt="skip"/>
80987ec681f3Smrg    <mod name="lod_mode" start="9" size="1" default="zero_lod">
80997ec681f3Smrg      <opt>computed_lod</opt>
81007ec681f3Smrg      <opt>zero_lod</opt>
81017ec681f3Smrg    </mod>
81027ec681f3Smrg    <mod name="sample" size="1">
81037ec681f3Smrg      <opt>center</opt>
81047ec681f3Smrg      <opt>none</opt>
81057ec681f3Smrg    </mod>
81067ec681f3Smrg    <derived start="5" size="2">
81077ec681f3Smrg      <and>
81087ec681f3Smrg        <eq left="sample" right="#center"/>
81097ec681f3Smrg        <eq left="update" right="#store"/>
81107ec681f3Smrg      </and>
81117ec681f3Smrg      <and>
81127ec681f3Smrg        <eq left="sample" right="#none"/>
81137ec681f3Smrg        <eq left="update" right="#retrieve"/>
81147ec681f3Smrg      </and>
81157ec681f3Smrg      <reserved/>
81167ec681f3Smrg      <reserved/>
81177ec681f3Smrg    </derived>
81187ec681f3Smrg  </ins>
81197ec681f3Smrg
81207ec681f3Smrg  <ins name="+VN_ASST2.f32">
81217ec681f3Smrg    <src start="0"/>
81227ec681f3Smrg    <mod name="scale" size="1" opt="scale"/>
81237ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
81247ec681f3Smrg    <encoding mask="0xffff0" exact="0x3df80">
81257ec681f3Smrg      <eq left="scale" right="#none"/>
81267ec681f3Smrg      <copy name="neg0" start="3"/>
81277ec681f3Smrg    </encoding>
81287ec681f3Smrg    <encoding mask="0xfffe8" exact="0x3de80">
81297ec681f3Smrg      <eq left="scale" right="#scale"/>
81307ec681f3Smrg      <copy name="neg0" start="4"/>
81317ec681f3Smrg    </encoding>
81327ec681f3Smrg  </ins>
81337ec681f3Smrg
81347ec681f3Smrg  <ins name="+VN_ASST2.v2f16" mask="0xffff0" exact="0x3dfa0">
81357ec681f3Smrg    <src start="0"/>
81367ec681f3Smrg    <mod name="neg0" start="3" size="1" opt="neg"/>
81377ec681f3Smrg  </ins>
81387ec681f3Smrg
81397ec681f3Smrg  <ins name="+WMASK" mask="0xfffc0" exact="0x3d700">
81407ec681f3Smrg    <src start="0"/>
81417ec681f3Smrg    <immediate name="fill" start="3" size="1"/>
81427ec681f3Smrg    <mod name="subgroup" start="4" size="2">
81437ec681f3Smrg      <opt>subgroup2</opt>
81447ec681f3Smrg      <opt>subgroup4</opt>
81457ec681f3Smrg      <opt>subgroup8</opt>
81467ec681f3Smrg    </mod>
81477ec681f3Smrg  </ins>
81487ec681f3Smrg
81497ec681f3Smrg  <ins name="+ZS_EMIT" staging="w=1" mask="0xff800" exact="0xd7800" message="z_stencil">
81507ec681f3Smrg    <src start="0"/>
81517ec681f3Smrg    <src start="3"/>
81527ec681f3Smrg    <src start="6"/>
81537ec681f3Smrg    <mod name="stencil" size="1" opt="stencil"/>
81547ec681f3Smrg    <mod name="z" size="1" opt="z"/>
81557ec681f3Smrg    <derived start="9" size="2">
81567ec681f3Smrg      <reserved/>
81577ec681f3Smrg      <and>
81587ec681f3Smrg        <eq left="stencil" right="#stencil"/>
81597ec681f3Smrg        <eq left="z" right="#none"/>
81607ec681f3Smrg      </and>
81617ec681f3Smrg      <and>
81627ec681f3Smrg        <eq left="stencil" right="#none"/>
81637ec681f3Smrg        <eq left="z" right="#z"/>
81647ec681f3Smrg      </and>
81657ec681f3Smrg      <and>
81667ec681f3Smrg        <eq left="stencil" right="#stencil"/>
81677ec681f3Smrg        <eq left="z" right="#z"/>
81687ec681f3Smrg      </and>
81697ec681f3Smrg    </derived>
81707ec681f3Smrg  </ins>
81717ec681f3Smrg
81727ec681f3Smrg  <!--- Lowered to *SEG_ADD/+SEG_ADD -->
81737ec681f3Smrg  <ins name="+SEG_ADD.i64" pseudo="true">
81747ec681f3Smrg    <src start="0"/>
81757ec681f3Smrg    <src start="3"/>
81767ec681f3Smrg    <mod name="seg" size="3">
81777ec681f3Smrg      <reserved/>
81787ec681f3Smrg      <reserved/>
81797ec681f3Smrg      <opt>wls</opt>
81807ec681f3Smrg      <reserved/>
81817ec681f3Smrg      <reserved/>
81827ec681f3Smrg      <reserved/>
81837ec681f3Smrg      <reserved/>
81847ec681f3Smrg      <opt>tl</opt>
81857ec681f3Smrg    </mod>
81867ec681f3Smrg    <mod name="preserve_null" size="1" opt="preserve_null"/>
81877ec681f3Smrg  </ins>
81887ec681f3Smrg
81897ec681f3Smrg  <!-- Scheduler lowered to *ATOM_C.i32/+ATOM_CX -->
81907ec681f3Smrg  <ins name="+PATOM_C.i32" pseudo="true" staging="rw=sr_count" message="atomic">
81917ec681f3Smrg    <src start="0"/>
81927ec681f3Smrg    <src start="3"/>
81937ec681f3Smrg    <mod name="atom_opc" start="9" size="4">
81947ec681f3Smrg      <reserved/>
81957ec681f3Smrg      <reserved/>
81967ec681f3Smrg      <opt>aadd</opt>
81977ec681f3Smrg      <reserved/>
81987ec681f3Smrg      <reserved/>
81997ec681f3Smrg      <reserved/>
82007ec681f3Smrg      <reserved/>
82017ec681f3Smrg      <reserved/>
82027ec681f3Smrg      <opt>asmin</opt>
82037ec681f3Smrg      <opt>asmax</opt>
82047ec681f3Smrg      <opt>aumin</opt>
82057ec681f3Smrg      <opt>aumax</opt>
82067ec681f3Smrg      <opt>aand</opt>
82077ec681f3Smrg      <opt>aor</opt>
82087ec681f3Smrg      <opt>axor</opt>
82097ec681f3Smrg    </mod>
82107ec681f3Smrg    <!-- not actually encoded, but used for IR -->
82117ec681f3Smrg    <immediate name="sr_count" size="4" pseudo="true"/>
82127ec681f3Smrg  </ins>
82137ec681f3Smrg
82147ec681f3Smrg  <ins name="+PATOM_C1.i32" pseudo="true" staging="w=sr_count" message="atomic">
82157ec681f3Smrg    <src start="0"/>
82167ec681f3Smrg    <src start="3"/>
82177ec681f3Smrg    <mod name="atom_opc" start="6" size="3">
82187ec681f3Smrg      <opt>ainc</opt>
82197ec681f3Smrg      <opt>adec</opt>
82207ec681f3Smrg      <opt>aumax1</opt>
82217ec681f3Smrg      <opt>asmax1</opt>
82227ec681f3Smrg      <opt>aor1</opt>
82237ec681f3Smrg    </mod>
82247ec681f3Smrg    <!-- not actually encoded, but used for IR -->
82257ec681f3Smrg    <immediate name="sr_count" size="4" pseudo="true"/>
82267ec681f3Smrg  </ins>
82277ec681f3Smrg
82287ec681f3Smrg  <!-- *CUBEFACE1/+CUBEFACE2 pair, two destinations, scheduler lowered -->
82297ec681f3Smrg  <ins name="+CUBEFACE" pseudo="true" dests="2">
82307ec681f3Smrg    <src start="0"/>
82317ec681f3Smrg    <src start="3"/>
82327ec681f3Smrg    <src start="6"/>
82337ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
82347ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
82357ec681f3Smrg    <mod name="neg2" size="1" opt="neg"/>
82367ec681f3Smrg  </ins>
82377ec681f3Smrg
82387ec681f3Smrg  <ins name="+IADD_IMM.i32" pseudo="true">
82397ec681f3Smrg    <src start="0"/>
82407ec681f3Smrg    <immediate name="index" size="32"/>
82417ec681f3Smrg  </ins>
82427ec681f3Smrg
82437ec681f3Smrg  <ins name="+IADD_IMM.v2i16" pseudo="true">
82447ec681f3Smrg    <src start="0"/>
82457ec681f3Smrg    <immediate name="index" size="32"/>
82467ec681f3Smrg  </ins>
82477ec681f3Smrg
82487ec681f3Smrg  <ins name="+IADD_IMM.v4i8" pseudo="true">
82497ec681f3Smrg    <src start="0"/>
82507ec681f3Smrg    <immediate name="index" size="32"/>
82517ec681f3Smrg  </ins>
82527ec681f3Smrg
82537ec681f3Smrg  <ins name="+FADD_IMM.f32" pseudo="true">
82547ec681f3Smrg    <src start="0"/>
82557ec681f3Smrg    <immediate name="index" size="32"/>
82567ec681f3Smrg  </ins>
82577ec681f3Smrg
82587ec681f3Smrg  <ins name="+FADD_IMM.v2f16" pseudo="true">
82597ec681f3Smrg    <src start="0"/>
82607ec681f3Smrg    <immediate name="index" size="32"/>
82617ec681f3Smrg  </ins>
82627ec681f3Smrg
82637ec681f3Smrg  <ins name="+FRSCALE.f32" pseudo="true">
82647ec681f3Smrg    <src start="0"/>
82657ec681f3Smrg    <src start="3"/>
82667ec681f3Smrg    <mod name="clamp" size="2">
82677ec681f3Smrg      <opt>none</opt>
82687ec681f3Smrg      <opt>clamp_0_inf</opt>
82697ec681f3Smrg      <opt>clamp_m1_1</opt>
82707ec681f3Smrg      <opt>clamp_0_1</opt>
82717ec681f3Smrg    </mod>
82727ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
82737ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
82747ec681f3Smrg    <mod name="abs0" start="15" size="1" opt="abs"/>
82757ec681f3Smrg    <mod name="abs1" start="15" size="1" opt="abs"/>
82767ec681f3Smrg  </ins>
82777ec681f3Smrg
82787ec681f3Smrg  <ins name="+FRSCALE.v2f16" pseudo="true">
82797ec681f3Smrg    <src start="0"/>
82807ec681f3Smrg    <src start="3"/>
82817ec681f3Smrg    <mod name="clamp" size="2">
82827ec681f3Smrg      <opt>none</opt>
82837ec681f3Smrg      <opt>clamp_0_inf</opt>
82847ec681f3Smrg      <opt>clamp_m1_1</opt>
82857ec681f3Smrg      <opt>clamp_0_1</opt>
82867ec681f3Smrg    </mod>
82877ec681f3Smrg    <mod name="neg0" size="1" opt="neg"/>
82887ec681f3Smrg    <mod name="neg1" size="1" opt="neg"/>
82897ec681f3Smrg    <mod name="abs0" start="15" size="1" opt="abs"/>
82907ec681f3Smrg    <mod name="abs1" start="15" size="1" opt="abs"/>
82917ec681f3Smrg  </ins>
82927ec681f3Smrg
82937ec681f3Smrg  <ins name="*FABSNEG.f32" pseudo="true">
82947ec681f3Smrg    <src start="0" mask="0xfb"/>
82957ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
82967ec681f3Smrg    <mod name="abs0" start="12" size="1" opt="abs"/>
82977ec681f3Smrg    <mod name="widen0" size="2">
82987ec681f3Smrg      <opt>none</opt>
82997ec681f3Smrg      <opt>h0</opt>
83007ec681f3Smrg      <opt>h1</opt>
83017ec681f3Smrg    </mod>
83027ec681f3Smrg  </ins>
83037ec681f3Smrg
83047ec681f3Smrg  <ins name="*FABSNEG.v2f16" pseudo="true">
83057ec681f3Smrg    <src start="0" mask="0xfb"/>
83067ec681f3Smrg    <mod name="abs0" size="1" opt="abs"/>
83077ec681f3Smrg    <mod name="neg0" start="7" size="1" opt="neg"/>
83087ec681f3Smrg    <mod name="swz0" start="9" size="2" default="h01">
83097ec681f3Smrg      <opt>h00</opt>
83107ec681f3Smrg      <opt>h10</opt>
83117ec681f3Smrg      <opt>h01</opt>
83127ec681f3Smrg      <opt>h11</opt>
83137ec681f3Smrg    </mod>
83147ec681f3Smrg  </ins>
83157ec681f3Smrg
83167ec681f3Smrg  <ins name="*FCLAMP.f32" pseudo="true">
83177ec681f3Smrg    <src start="0" mask="0xfb"/>
83187ec681f3Smrg    <mod name="clamp" start="15" size="2">
83197ec681f3Smrg      <opt>none</opt>
83207ec681f3Smrg      <opt>clamp_0_inf</opt>
83217ec681f3Smrg      <opt>clamp_m1_1</opt>
83227ec681f3Smrg      <opt>clamp_0_1</opt>
83237ec681f3Smrg    </mod>
83247ec681f3Smrg  </ins>
83257ec681f3Smrg
83267ec681f3Smrg  <ins name="*FCLAMP.v2f16" pseudo="true">
83277ec681f3Smrg    <src start="0" mask="0xfb"/>
83287ec681f3Smrg    <mod name="clamp" start="15" size="2">
83297ec681f3Smrg      <opt>none</opt>
83307ec681f3Smrg      <opt>clamp_0_inf</opt>
83317ec681f3Smrg      <opt>clamp_m1_1</opt>
83327ec681f3Smrg      <opt>clamp_0_1</opt>
83337ec681f3Smrg    </mod>
83347ec681f3Smrg  </ins>
83357ec681f3Smrg
83367ec681f3Smrg  <ins name="+DISCARD.b32" pseudo="true" dests="0">
83377ec681f3Smrg    <src start="0"/>
83387ec681f3Smrg    <mod name="widen0" size="2">
83397ec681f3Smrg      <opt>none</opt>
83407ec681f3Smrg      <opt>h0</opt>
83417ec681f3Smrg      <opt>h1</opt>
83427ec681f3Smrg    </mod>
83437ec681f3Smrg  </ins>
83447ec681f3Smrg
83457ec681f3Smrg</bifrost>
8346