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