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