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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 328 <src start="0" mask="0xfb"/> 329 </ins> 330 331 <ins name="CLZ.u32" mask="0x7ffff0" exact="0x701fd0" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 1303 <src start="0" mask="0xfb"/> 1304 <src start="3" mask="0xfb"/> 1305 </ins> 1306 1307 <ins name="FREXPE.f32" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 1986 <src start="0" mask="0xfb"/> 1987 </ins> 1988 1989 <ins name="NOP" mask="0x7fffff" exact="0x701963" dests="0" unit="fma"/> 1990 1991 <ins name="POPCOUNT.i32" mask="0x7ffff8" exact="0x73c6d8" unit="fma"> 1992 <src start="0" mask="0xfb"/> 1993 </ins> 1994 1995 <ins name="QUIET.f32" mask="0x7ffff8" exact="0x701970" unit="fma"> 1996 <src start="0" mask="0xfb"/> 1997 </ins> 1998 1999 <ins name="QUIET.v2f16" mask="0x7fffc8" exact="0x701900" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="fma"> 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" unit="add"> 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" unit="add"> 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" unit="add"> 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" unit="add"> 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" unit="add"> 2497 <src start="0" mask="0xf7"/> 2498 <src start="3" mask="0xf7"/> 2499 <!-- ATEST parameter datum. Implicitly encoded into the tuple on Bifrost. 2500 Real source on Valhall. --> 2501 <src start="6" pseudo="true"/> 2502 <mod name="widen1" start="6" size="2"> 2503 <reserved/> 2504 <opt>none</opt> 2505 <opt>h0</opt> 2506 <opt>h1</opt> 2507 </mod> 2508 </ins> 2509 2510 <ins name="ATOM_CX" staging="rw=sr_count" mask="0xffe00" exact="0xd7400" message="atomic" unit="add"> 2511 <src start="0"/> 2512 <src start="3"/> 2513 <src start="6"/> 2514 <!-- not actually encoded, but used for IR --> 2515 <immediate name="sr_count" size="4" pseudo="true"/> 2516 </ins> 2517 2518 <ins name="AXCHG.i32" staging="rw=1" mask="0xffdc0" exact="0x640c0" message="atomic" unit="add"> 2519 <src start="0"/> 2520 <src start="3"/> 2521 <mod name="seg" start="9" size="1" opt="wls"/> 2522 </ins> 2523 2524 <ins name="AXCHG.i64" staging="rw=2" mask="0xffdc0" exact="0x64100" message="atomic" unit="add"> 2525 <src start="0"/> 2526 <src start="3"/> 2527 <mod name="seg" start="9" size="1" opt="wls"/> 2528 </ins> 2529 2530 <ins name="BARRIER" mask="0xfffff" exact="0xd7874" message="barrier" last="true" dests="0" unit="add"/> 2531 2532 <ins name="BLEND" staging="r=sr_count" mask="0xffe00" exact="0xca800" message="blend" last="true" unit="add"> 2533 <src start="0"/> 2534 <src start="3" mask="0xf7"/> 2535 <src start="6" mask="0xf7"/> 2536 <!-- pseudo source for a dual source blend input --> 2537 <src start="9" pseudo="true"/> 2538 <!-- not actually encoded, but used for IR --> 2539 <immediate name="sr_count" size="4" pseudo="true"/> 2540 <immediate name="sr_count_2" size="4" pseudo="true"/> 2541 <mod name="register_format" size="4" pseudo="true"> 2542 <opt>f16</opt> 2543 <opt>f32</opt> 2544 <opt>s32</opt> 2545 <opt>u32</opt> 2546 <opt>s16</opt> 2547 <opt>u16</opt> 2548 <opt>f64</opt> 2549 <opt>i64</opt> 2550 <opt>auto</opt> 2551 </mod> 2552 </ins> 2553 2554 <ins name="BRANCH.f16" mask="0xf8000" exact="0x68000" last="true" dests="0" unit="add"> 2555 <src start="0"/> 2556 <src start="3"/> 2557 <src start="6" mask="0xf7"/> 2558 <mod name="widen0" size="2"> 2559 <opt>none</opt> 2560 <opt>h0</opt> 2561 <opt>h1</opt> 2562 </mod> 2563 <mod name="widen1" size="2"> 2564 <opt>none</opt> 2565 <opt>h0</opt> 2566 <opt>h1</opt> 2567 </mod> 2568 <mod name="cmpf" size="3"> 2569 <opt>eq</opt> 2570 <opt>gt</opt> 2571 <opt>ge</opt> 2572 <opt>ne</opt> 2573 <opt>lt</opt> 2574 <opt>le</opt> 2575 </mod> 2576 <derived start="12" size="3"> 2577 <reserved/> 2578 <and> 2579 <eq left="widen0" right="#h0"/> 2580 <eq left="widen1" right="#h0"/> 2581 </and> 2582 <and> 2583 <eq left="widen0" right="#h1"/> 2584 <eq left="widen1" right="#h1"/> 2585 </and> 2586 <and> 2587 <eq left="widen0" right="#h1"/> 2588 <eq left="widen1" right="#h0"/> 2589 <or> 2590 <eq left="cmpf" right="#ne"/> 2591 <eq left="cmpf" right="#ge"/> 2592 <eq left="cmpf" right="#le"/> 2593 </or> 2594 </and> 2595 <and> 2596 <eq left="widen0" right="#h1"/> 2597 <eq left="widen1" right="#h0"/> 2598 <or> 2599 <eq left="cmpf" right="#eq"/> 2600 <eq left="cmpf" right="#gt"/> 2601 <eq left="cmpf" right="#lt"/> 2602 </or> 2603 </and> 2604 <reserved/> 2605 <reserved/> 2606 <reserved/> 2607 </derived> 2608 <derived start="9" size="3"> 2609 <reserved/> 2610 <reserved/> 2611 <reserved/> 2612 <reserved/> 2613 <and alias="true"> 2614 <eq left="widen0" right="widen1"/> 2615 <eq left="ordering" right="#eq"/> 2616 <or> 2617 <eq left="cmpf" right="#gt"/> 2618 <eq left="cmpf" right="#lt"/> 2619 </or> 2620 </and> 2621 <or> 2622 <and> 2623 <eq left="widen0" right="#h1"/> 2624 <eq left="widen1" right="#h0"/> 2625 <or> 2626 <eq left="cmpf" right="#eq"/> 2627 <eq left="cmpf" right="#ne"/> 2628 </or> 2629 </and> 2630 <and> 2631 <eq left="widen0" right="widen1"/> 2632 <eq left="ordering" right="#lt"/> 2633 <eq left="cmpf" right="#eq"/> 2634 </and> 2635 <and> 2636 <eq left="widen0" right="widen1"/> 2637 <neq left="ordering" right="#lt"/> 2638 <eq left="cmpf" right="#ne"/> 2639 </and> 2640 </or> 2641 <or> 2642 <and> 2643 <eq left="widen0" right="#h1"/> 2644 <eq left="widen1" right="#h0"/> 2645 <or> 2646 <eq left="cmpf" right="#gt"/> 2647 <eq left="cmpf" right="#ge"/> 2648 </or> 2649 </and> 2650 <and> 2651 <eq left="widen0" right="widen1"/> 2652 <eq left="ordering" right="#lt"/> 2653 <eq left="cmpf" right="#gt"/> 2654 </and> 2655 <and> 2656 <eq left="widen0" right="widen1"/> 2657 <neq left="ordering" right="#lt"/> 2658 <eq left="cmpf" right="#ge"/> 2659 </and> 2660 </or> 2661 <or> 2662 <and> 2663 <eq left="widen0" right="#h1"/> 2664 <eq left="widen1" right="#h0"/> 2665 <or> 2666 <eq left="cmpf" right="#lt"/> 2667 <eq left="cmpf" right="#le"/> 2668 </or> 2669 </and> 2670 <and> 2671 <eq left="widen0" right="widen1"/> 2672 <eq left="ordering" right="#lt"/> 2673 <eq left="cmpf" right="#lt"/> 2674 </and> 2675 <and> 2676 <eq left="widen0" right="widen1"/> 2677 <neq left="ordering" right="#lt"/> 2678 <eq left="cmpf" right="#le"/> 2679 </and> 2680 <and alias="true"> 2681 <eq left="widen0" right="widen1"/> 2682 <eq left="ordering" right="#eq"/> 2683 <eq left="cmpf" right="#eq"/> 2684 </and> 2685 </or> 2686 </derived> 2687 <swap left="0" right="1"> 2688 <or> 2689 <and> 2690 <eq left="widen0" right="#h0"/> 2691 <eq left="widen1" right="#h1"/> 2692 </and> 2693 <and> 2694 <eq left="widen0" right="widen1"/> 2695 <eq left="ordering" right="#gt"/> 2696 <or> 2697 <eq left="cmpf" right="#eq"/> 2698 <eq left="cmpf" right="#gt"/> 2699 <eq left="cmpf" right="#lt"/> 2700 </or> 2701 </and> 2702 <and> 2703 <eq left="widen0" right="widen1"/> 2704 <eq left="ordering" right="#lt"/> 2705 <or> 2706 <eq left="cmpf" right="#ne"/> 2707 <eq left="cmpf" right="#ge"/> 2708 <eq left="cmpf" right="#le"/> 2709 </or> 2710 </and> 2711 </or> 2712 <rewrite name="cmpf"> 2713 <map from="lt" to="gt"/> 2714 <map from="le" to="ge"/> 2715 <map from="gt" to="lt"/> 2716 <map from="ge" to="le"/> 2717 </rewrite> 2718 </swap> 2719 </ins> 2720 2721 <ins name="BRANCH.f32" mask="0xf8000" exact="0x68000" last="true" dests="0" unit="add"> 2722 <src start="0"/> 2723 <src start="3"/> 2724 <src start="6" mask="0xf7"/> 2725 <mod name="widen0" size="2"> 2726 <opt>none</opt> 2727 <opt>h0</opt> 2728 <opt>h1</opt> 2729 </mod> 2730 <mod name="widen1" size="2"> 2731 <opt>none</opt> 2732 <opt>h0</opt> 2733 <opt>h1</opt> 2734 </mod> 2735 <mod name="cmpf" size="3"> 2736 <opt>eq</opt> 2737 <opt>gt</opt> 2738 <opt>ge</opt> 2739 <opt>ne</opt> 2740 <opt>lt</opt> 2741 <opt>le</opt> 2742 </mod> 2743 <derived start="12" size="3"> 2744 <and> 2745 <eq left="widen0" right="#none"/> 2746 <eq left="widen1" right="#none"/> 2747 </and> 2748 <reserved/> 2749 <reserved/> 2750 <reserved/> 2751 <reserved/> 2752 <and> 2753 <eq left="widen0" right="#none"/> 2754 <eq left="widen1" right="#h0"/> 2755 </and> 2756 <and> 2757 <eq left="widen0" right="#none"/> 2758 <eq left="widen1" right="#h1"/> 2759 </and> 2760 <reserved/> 2761 </derived> 2762 <derived start="9" size="3"> 2763 <reserved/> 2764 <and> 2765 <eq left="widen0" right="#none"/> 2766 <neq left="widen1" right="#none"/> 2767 <eq left="cmpf" right="#ne"/> 2768 </and> 2769 <and> 2770 <eq left="widen0" right="#none"/> 2771 <neq left="widen1" right="#none"/> 2772 <eq left="cmpf" right="#ge"/> 2773 </and> 2774 <and> 2775 <eq left="widen0" right="#none"/> 2776 <neq left="widen1" right="#none"/> 2777 <eq left="cmpf" right="#le"/> 2778 </and> 2779 <and alias="true"> 2780 <eq left="widen0" right="#none"/> 2781 <eq left="widen1" right="#none"/> 2782 <eq left="ordering" right="#eq"/> 2783 <or> 2784 <eq left="cmpf" right="#gt"/> 2785 <eq left="cmpf" right="#lt"/> 2786 </or> 2787 </and> 2788 <or> 2789 <and> 2790 <eq left="widen0" right="#none"/> 2791 <neq left="widen1" right="#none"/> 2792 <eq left="cmpf" right="#eq"/> 2793 </and> 2794 <and> 2795 <eq left="widen0" right="#none"/> 2796 <eq left="widen1" right="#none"/> 2797 <eq left="ordering" right="#lt"/> 2798 <eq left="cmpf" right="#eq"/> 2799 </and> 2800 <and> 2801 <eq left="widen0" right="#none"/> 2802 <eq left="widen1" right="#none"/> 2803 <neq left="ordering" right="#lt"/> 2804 <eq left="cmpf" right="#ne"/> 2805 </and> 2806 </or> 2807 <or> 2808 <and> 2809 <eq left="widen0" right="#none"/> 2810 <neq left="widen1" right="#none"/> 2811 <eq left="cmpf" right="#gt"/> 2812 </and> 2813 <and> 2814 <eq left="widen0" right="#none"/> 2815 <eq left="widen1" right="#none"/> 2816 <eq left="ordering" right="#lt"/> 2817 <eq left="cmpf" right="#gt"/> 2818 </and> 2819 <and> 2820 <eq left="widen0" right="#none"/> 2821 <eq left="widen1" right="#none"/> 2822 <neq left="ordering" right="#lt"/> 2823 <eq left="cmpf" right="#ge"/> 2824 </and> 2825 </or> 2826 <or> 2827 <and> 2828 <eq left="widen0" right="#none"/> 2829 <neq left="widen1" right="#none"/> 2830 <eq left="cmpf" right="#lt"/> 2831 </and> 2832 <and> 2833 <eq left="widen0" right="#none"/> 2834 <eq left="widen1" right="#none"/> 2835 <eq left="ordering" right="#lt"/> 2836 <eq left="cmpf" right="#lt"/> 2837 </and> 2838 <and> 2839 <eq left="widen0" right="#none"/> 2840 <eq left="widen1" right="#none"/> 2841 <neq left="ordering" right="#lt"/> 2842 <eq left="cmpf" right="#le"/> 2843 </and> 2844 <and alias="true"> 2845 <eq left="widen0" right="#none"/> 2846 <eq left="widen1" right="#none"/> 2847 <eq left="ordering" right="#eq"/> 2848 <eq left="cmpf" right="#eq"/> 2849 </and> 2850 </or> 2851 </derived> 2852 <swap left="0" right="1"> 2853 <or> 2854 <and> 2855 <neq left="widen0" right="#none"/> 2856 <eq left="widen1" right="#none"/> 2857 </and> 2858 <and> 2859 <eq left="widen0" right="#none"/> 2860 <eq left="widen1" right="#none"/> 2861 <eq left="ordering" right="#gt"/> 2862 <or> 2863 <eq left="cmpf" right="#eq"/> 2864 <eq left="cmpf" right="#gt"/> 2865 <eq left="cmpf" right="#lt"/> 2866 </or> 2867 </and> 2868 <and> 2869 <eq left="widen0" right="#none"/> 2870 <eq left="widen1" right="#none"/> 2871 <eq left="ordering" right="#lt"/> 2872 <or> 2873 <eq left="cmpf" right="#ne"/> 2874 <eq left="cmpf" right="#ge"/> 2875 <eq left="cmpf" right="#le"/> 2876 </or> 2877 </and> 2878 </or> 2879 <rewrite name="cmpf"> 2880 <map from="lt" to="gt"/> 2881 <map from="le" to="ge"/> 2882 <map from="gt" to="lt"/> 2883 <map from="ge" to="le"/> 2884 </rewrite> 2885 </swap> 2886 </ins> 2887 2888 <ins name="BRANCH.i16" mask="0xf8000" exact="0x68000" last="true" dests="0" unit="add"> 2889 <src start="0"/> 2890 <src start="3"/> 2891 <src start="6" mask="0xf7"/> 2892 <mod name="widen0" size="2"> 2893 <opt>none</opt> 2894 <opt>h0</opt> 2895 <opt>h1</opt> 2896 </mod> 2897 <mod name="widen1" size="2"> 2898 <opt>none</opt> 2899 <opt>h0</opt> 2900 <opt>h1</opt> 2901 </mod> 2902 <mod name="cmpf" size="1"> 2903 <opt>eq</opt> 2904 <opt>ne</opt> 2905 </mod> 2906 <derived start="12" size="3"> 2907 <reserved/> 2908 <and> 2909 <eq left="widen0" right="#h0"/> 2910 <eq left="widen1" right="#h0"/> 2911 </and> 2912 <and> 2913 <eq left="widen0" right="#h1"/> 2914 <eq left="widen1" right="#h1"/> 2915 </and> 2916 <and> 2917 <eq left="widen0" right="#h1"/> 2918 <eq left="widen1" right="#h0"/> 2919 <eq left="cmpf" right="#ne"/> 2920 </and> 2921 <and> 2922 <eq left="widen0" right="#h1"/> 2923 <eq left="widen1" right="#h0"/> 2924 <eq left="cmpf" right="#eq"/> 2925 </and> 2926 <reserved/> 2927 <reserved/> 2928 <reserved/> 2929 </derived> 2930 <derived start="9" size="3"> 2931 <reserved/> 2932 <and alias="true"> 2933 <eq left="widen0" right="widen1"/> 2934 <eq left="ordering" right="#eq"/> 2935 <eq left="cmpf" right="#eq"/> 2936 </and> 2937 <reserved/> 2938 <reserved/> 2939 <or> 2940 <and> 2941 <eq left="widen0" right="#h1"/> 2942 <eq left="widen1" right="#h0"/> 2943 </and> 2944 <and> 2945 <eq left="widen0" right="widen1"/> 2946 <eq left="ordering" right="#lt"/> 2947 <eq left="cmpf" right="#eq"/> 2948 </and> 2949 <and> 2950 <eq left="widen0" right="widen1"/> 2951 <neq left="ordering" right="#lt"/> 2952 <eq left="cmpf" right="#ne"/> 2953 </and> 2954 </or> 2955 <reserved/> 2956 <reserved/> 2957 <reserved/> 2958 </derived> 2959 <swap left="0" right="1"> 2960 <or> 2961 <and> 2962 <eq left="widen0" right="#h0"/> 2963 <eq left="widen1" right="#h1"/> 2964 </and> 2965 <and> 2966 <eq left="widen0" right="widen1"/> 2967 <eq left="ordering" right="#gt"/> 2968 <eq left="cmpf" right="#eq"/> 2969 </and> 2970 <and> 2971 <eq left="widen0" right="widen1"/> 2972 <eq left="ordering" right="#lt"/> 2973 <eq left="cmpf" right="#ne"/> 2974 </and> 2975 </or> 2976 </swap> 2977 </ins> 2978 2979 <ins name="BRANCH.i32" mask="0xf8000" exact="0x68000" last="true" dests="0" unit="add"> 2980 <src start="0"/> 2981 <src start="3"/> 2982 <src start="6" mask="0xf7"/> 2983 <mod name="widen0" size="2"> 2984 <opt>none</opt> 2985 <opt>h0</opt> 2986 <opt>h1</opt> 2987 </mod> 2988 <mod name="widen1" size="2"> 2989 <opt>none</opt> 2990 <opt>h0</opt> 2991 <opt>h1</opt> 2992 </mod> 2993 <mod name="cmpf" size="1"> 2994 <opt>eq</opt> 2995 <opt>ne</opt> 2996 </mod> 2997 <derived start="12" size="3"> 2998 <and> 2999 <eq left="widen0" right="#none"/> 3000 <eq left="widen1" right="#none"/> 3001 </and> 3002 <reserved/> 3003 <reserved/> 3004 <reserved/> 3005 <reserved/> 3006 <reserved/> 3007 <reserved/> 3008 <reserved/> 3009 </derived> 3010 <derived start="9" size="3"> 3011 <reserved/> 3012 <and alias="true"> 3013 <eq left="ordering" right="#eq"/> 3014 <eq left="cmpf" right="#eq"/> 3015 </and> 3016 <reserved/> 3017 <reserved/> 3018 <or> 3019 <and> 3020 <eq left="ordering" right="#lt"/> 3021 <eq left="cmpf" right="#eq"/> 3022 </and> 3023 <and> 3024 <neq left="ordering" right="#lt"/> 3025 <eq left="cmpf" right="#ne"/> 3026 </and> 3027 </or> 3028 <reserved/> 3029 <reserved/> 3030 <reserved/> 3031 </derived> 3032 <swap left="0" right="1"> 3033 <or> 3034 <and> 3035 <eq left="ordering" right="#gt"/> 3036 <eq left="cmpf" right="#eq"/> 3037 </and> 3038 <and> 3039 <eq left="ordering" right="#lt"/> 3040 <eq left="cmpf" right="#ne"/> 3041 </and> 3042 </or> 3043 </swap> 3044 </ins> 3045 3046 <ins name="BRANCH.s16" mask="0xf8000" exact="0x68000" last="true" dests="0" unit="add"> 3047 <src start="0"/> 3048 <src start="3"/> 3049 <src start="6" mask="0xf7"/> 3050 <mod name="widen0" size="2"> 3051 <opt>none</opt> 3052 <opt>h0</opt> 3053 <opt>h1</opt> 3054 </mod> 3055 <mod name="widen1" size="2"> 3056 <opt>none</opt> 3057 <opt>h0</opt> 3058 <opt>h1</opt> 3059 </mod> 3060 <mod name="cmpf" size="2"> 3061 <opt>gt</opt> 3062 <opt>ge</opt> 3063 <opt>lt</opt> 3064 <opt>le</opt> 3065 </mod> 3066 <derived start="12" size="3"> 3067 <reserved/> 3068 <and> 3069 <eq left="widen0" right="#h0"/> 3070 <eq left="widen1" right="#h0"/> 3071 </and> 3072 <and> 3073 <eq left="widen0" right="#h1"/> 3074 <eq left="widen1" right="#h1"/> 3075 </and> 3076 <reserved/> 3077 <and> 3078 <eq left="widen0" right="#h1"/> 3079 <eq left="widen1" right="#h0"/> 3080 </and> 3081 <reserved/> 3082 <reserved/> 3083 <reserved/> 3084 </derived> 3085 <derived start="9" size="3"> 3086 <or> 3087 <and> 3088 <eq left="widen0" right="#h1"/> 3089 <eq left="widen1" right="#h0"/> 3090 <eq left="cmpf" right="#lt"/> 3091 </and> 3092 <and> 3093 <eq left="widen0" right="widen1"/> 3094 <eq left="ordering" right="#lt"/> 3095 <eq left="cmpf" right="#lt"/> 3096 </and> 3097 </or> 3098 <or> 3099 <and> 3100 <eq left="widen0" right="#h1"/> 3101 <eq left="widen1" right="#h0"/> 3102 <eq left="cmpf" right="#le"/> 3103 </and> 3104 <and> 3105 <eq left="widen0" right="widen1"/> 3106 <eq left="ordering" right="#lt"/> 3107 <eq left="cmpf" right="#le"/> 3108 </and> 3109 <and alias="true"> 3110 <eq left="widen0" right="widen1"/> 3111 <eq left="ordering" right="#eq"/> 3112 <or> 3113 <eq left="cmpf" right="#le"/> 3114 <eq left="cmpf" right="#ge"/> 3115 </or> 3116 </and> 3117 </or> 3118 <or> 3119 <and> 3120 <eq left="widen0" right="#h1"/> 3121 <eq left="widen1" right="#h0"/> 3122 <eq left="cmpf" right="#ge"/> 3123 </and> 3124 <and> 3125 <eq left="widen0" right="widen1"/> 3126 <eq left="ordering" right="#lt"/> 3127 <eq left="cmpf" right="#ge"/> 3128 </and> 3129 </or> 3130 <or> 3131 <and> 3132 <eq left="widen0" right="#h1"/> 3133 <eq left="widen1" right="#h0"/> 3134 <eq left="cmpf" right="#gt"/> 3135 </and> 3136 <and> 3137 <eq left="widen0" right="widen1"/> 3138 <eq left="ordering" right="#lt"/> 3139 <eq left="cmpf" right="#gt"/> 3140 </and> 3141 </or> 3142 <and alias="true"> 3143 <eq left="widen0" right="widen1"/> 3144 <eq left="ordering" right="#eq"/> 3145 <or> 3146 <eq left="cmpf" right="#lt"/> 3147 <eq left="cmpf" right="#gt"/> 3148 </or> 3149 </and> 3150 <reserved/> 3151 <reserved/> 3152 <reserved/> 3153 </derived> 3154 <swap left="0" right="1"> 3155 <or> 3156 <and> 3157 <eq left="widen0" right="#h0"/> 3158 <eq left="widen1" right="#h1"/> 3159 </and> 3160 <and> 3161 <eq left="widen0" right="widen1"/> 3162 <eq left="ordering" right="#gt"/> 3163 </and> 3164 </or> 3165 <rewrite name="cmpf"> 3166 <map from="lt" to="gt"/> 3167 <map from="le" to="ge"/> 3168 <map from="gt" to="lt"/> 3169 <map from="ge" to="le"/> 3170 </rewrite> 3171 </swap> 3172 </ins> 3173 3174 <ins name="BRANCH.s32" mask="0xf8000" exact="0x68000" last="true" dests="0" unit="add"> 3175 <src start="0"/> 3176 <src start="3"/> 3177 <src start="6" mask="0xf7"/> 3178 <mod name="widen0" size="2"> 3179 <opt>none</opt> 3180 <opt>h0</opt> 3181 <opt>h1</opt> 3182 </mod> 3183 <mod name="widen1" size="2"> 3184 <opt>none</opt> 3185 <opt>h0</opt> 3186 <opt>h1</opt> 3187 </mod> 3188 <mod name="cmpf" size="2"> 3189 <opt>gt</opt> 3190 <opt>ge</opt> 3191 <opt>lt</opt> 3192 <opt>le</opt> 3193 </mod> 3194 <derived start="12" size="3"> 3195 <and> 3196 <eq left="widen0" right="#none"/> 3197 <eq left="widen1" right="#none"/> 3198 </and> 3199 <reserved/> 3200 <reserved/> 3201 <reserved/> 3202 <reserved/> 3203 <reserved/> 3204 <reserved/> 3205 <reserved/> 3206 </derived> 3207 <derived start="9" size="3"> 3208 <and> 3209 <eq left="ordering" right="#lt"/> 3210 <eq left="cmpf" right="#lt"/> 3211 </and> 3212 <or> 3213 <and> 3214 <eq left="ordering" right="#lt"/> 3215 <eq left="cmpf" right="#le"/> 3216 </and> 3217 <and alias="true"> 3218 <eq left="ordering" right="#eq"/> 3219 <or> 3220 <eq left="cmpf" right="#le"/> 3221 <eq left="cmpf" right="#ge"/> 3222 </or> 3223 </and> 3224 </or> 3225 <and> 3226 <eq left="ordering" right="#lt"/> 3227 <eq left="cmpf" right="#ge"/> 3228 </and> 3229 <and> 3230 <eq left="ordering" right="#lt"/> 3231 <eq left="cmpf" right="#gt"/> 3232 </and> 3233 <and alias="true"> 3234 <eq left="ordering" right="#eq"/> 3235 <or> 3236 <eq left="cmpf" right="#lt"/> 3237 <eq left="cmpf" right="#gt"/> 3238 </or> 3239 </and> 3240 <reserved/> 3241 <reserved/> 3242 <reserved/> 3243 </derived> 3244 <swap left="0" right="1"> 3245 <eq left="ordering" right="#gt"/> 3246 <rewrite name="cmpf"> 3247 <map from="lt" to="gt"/> 3248 <map from="le" to="ge"/> 3249 <map from="gt" to="lt"/> 3250 <map from="ge" to="le"/> 3251 </rewrite> 3252 </swap> 3253 </ins> 3254 3255 <ins name="BRANCH.u16" mask="0xf8000" exact="0x68000" last="true" dests="0" unit="add"> 3256 <src start="0"/> 3257 <src start="3"/> 3258 <src start="6" mask="0xf7"/> 3259 <mod name="widen0" size="2"> 3260 <opt>none</opt> 3261 <opt>h0</opt> 3262 <opt>h1</opt> 3263 </mod> 3264 <mod name="widen1" size="2"> 3265 <opt>none</opt> 3266 <opt>h0</opt> 3267 <opt>h1</opt> 3268 </mod> 3269 <mod name="cmpf" size="2"> 3270 <opt>gt</opt> 3271 <opt>ge</opt> 3272 <opt>lt</opt> 3273 <opt>le</opt> 3274 </mod> 3275 <derived start="12" size="3"> 3276 <reserved/> 3277 <and> 3278 <eq left="widen0" right="#h0"/> 3279 <eq left="widen1" right="#h0"/> 3280 </and> 3281 <and> 3282 <eq left="widen0" right="#h1"/> 3283 <eq left="widen1" right="#h1"/> 3284 </and> 3285 <and> 3286 <eq left="widen0" right="#h1"/> 3287 <eq left="widen1" right="#h0"/> 3288 </and> 3289 <reserved/> 3290 <reserved/> 3291 <reserved/> 3292 <reserved/> 3293 </derived> 3294 <derived start="9" size="3"> 3295 <or> 3296 <and> 3297 <eq left="widen0" right="#h1"/> 3298 <eq left="widen1" right="#h0"/> 3299 <eq left="cmpf" right="#lt"/> 3300 </and> 3301 <and> 3302 <eq left="widen0" right="widen1"/> 3303 <neq left="ordering" right="#lt"/> 3304 <eq left="cmpf" right="#lt"/> 3305 </and> 3306 </or> 3307 <or> 3308 <and> 3309 <eq left="widen0" right="#h1"/> 3310 <eq left="widen1" right="#h0"/> 3311 <eq left="cmpf" right="#le"/> 3312 </and> 3313 <and> 3314 <eq left="widen0" right="widen1"/> 3315 <neq left="ordering" right="#lt"/> 3316 <eq left="cmpf" right="#le"/> 3317 </and> 3318 </or> 3319 <or> 3320 <and> 3321 <eq left="widen0" right="#h1"/> 3322 <eq left="widen1" right="#h0"/> 3323 <eq left="cmpf" right="#ge"/> 3324 </and> 3325 <and> 3326 <eq left="widen0" right="widen1"/> 3327 <neq left="ordering" right="#lt"/> 3328 <eq left="cmpf" right="#ge"/> 3329 </and> 3330 </or> 3331 <or> 3332 <and> 3333 <eq left="widen0" right="#h1"/> 3334 <eq left="widen1" right="#h0"/> 3335 <eq left="cmpf" right="#gt"/> 3336 </and> 3337 <and> 3338 <eq left="widen0" right="widen1"/> 3339 <neq left="ordering" right="#lt"/> 3340 <eq left="cmpf" right="#gt"/> 3341 </and> 3342 </or> 3343 <reserved/> 3344 <reserved/> 3345 <reserved/> 3346 <reserved/> 3347 </derived> 3348 <swap left="0" right="1"> 3349 <or> 3350 <and> 3351 <eq left="widen0" right="#h0"/> 3352 <eq left="widen1" right="#h1"/> 3353 </and> 3354 <and> 3355 <eq left="widen0" right="widen1"/> 3356 <eq left="ordering" right="#lt"/> 3357 </and> 3358 </or> 3359 <rewrite name="cmpf"> 3360 <map from="lt" to="gt"/> 3361 <map from="le" to="ge"/> 3362 <map from="gt" to="lt"/> 3363 <map from="ge" to="le"/> 3364 </rewrite> 3365 </swap> 3366 </ins> 3367 3368 <ins name="BRANCH.u32" mask="0xf8000" exact="0x68000" last="true" dests="0" unit="add"> 3369 <src start="0"/> 3370 <src start="3"/> 3371 <src start="6" mask="0xf7"/> 3372 <mod name="widen0" size="2"> 3373 <opt>none</opt> 3374 <opt>h0</opt> 3375 <opt>h1</opt> 3376 </mod> 3377 <mod name="widen1" size="2"> 3378 <opt>none</opt> 3379 <opt>h0</opt> 3380 <opt>h1</opt> 3381 </mod> 3382 <mod name="cmpf" size="2"> 3383 <opt>gt</opt> 3384 <opt>ge</opt> 3385 <opt>lt</opt> 3386 <opt>le</opt> 3387 </mod> 3388 <derived start="12" size="3"> 3389 <and> 3390 <eq left="widen0" right="#none"/> 3391 <eq left="widen1" right="#none"/> 3392 </and> 3393 <reserved/> 3394 <reserved/> 3395 <reserved/> 3396 <reserved/> 3397 <reserved/> 3398 <reserved/> 3399 <reserved/> 3400 </derived> 3401 <derived start="9" size="3"> 3402 <and> 3403 <neq left="ordering" right="#lt"/> 3404 <eq left="cmpf" right="#lt"/> 3405 </and> 3406 <and> 3407 <neq left="ordering" right="#lt"/> 3408 <eq left="cmpf" right="#le"/> 3409 </and> 3410 <and> 3411 <neq left="ordering" right="#lt"/> 3412 <eq left="cmpf" right="#ge"/> 3413 </and> 3414 <and> 3415 <neq left="ordering" right="#lt"/> 3416 <eq left="cmpf" right="#gt"/> 3417 </and> 3418 <reserved/> 3419 <reserved/> 3420 <reserved/> 3421 <reserved/> 3422 </derived> 3423 <swap left="0" right="1"> 3424 <eq left="ordering" right="#lt"/> 3425 <rewrite name="cmpf"> 3426 <map from="lt" to="gt"/> 3427 <map from="le" to="ge"/> 3428 <map from="gt" to="lt"/> 3429 <map from="ge" to="le"/> 3430 </rewrite> 3431 </swap> 3432 </ins> 3433 3434 <ins name="BRANCHC.i16" mask="0xff830" exact="0x6f030" last="true" dests="0" unit="add"> 3435 <src start="0"/> 3436 <src start="6" mask="0xf7"/> 3437 <mod name="combine" start="10" size="1"> 3438 <opt>any</opt> 3439 <opt>all</opt> 3440 </mod> 3441 <mod name="lane0" size="1" default="h0"> 3442 <opt>h0</opt> 3443 <opt>h1</opt> 3444 </mod> 3445 <derived start="9" size="1"> 3446 <eq left="lane0" right="#h0"/> 3447 <eq left="lane0" right="#h1"/> 3448 </derived> 3449 <derived start="3" size="1"> 3450 <eq left="lane0" right="#h1"/> 3451 <eq left="lane0" right="#h0"/> 3452 </derived> 3453 </ins> 3454 3455 <ins name="BRANCHC.i32" mask="0xffa38" exact="0x6f238" last="true" dests="0" unit="add"> 3456 <src start="0"/> 3457 <src start="6" mask="0xf7"/> 3458 <mod name="combine" start="10" size="1"> 3459 <opt>any</opt> 3460 <opt>all</opt> 3461 </mod> 3462 </ins> 3463 3464 <ins name="BRANCHZ.f16" mask="0xff000" exact="0x6f000" last="true" dests="0" unit="add"> 3465 <src start="0"/> 3466 <src start="6" mask="0xf7"/> 3467 <mod name="widen0" size="2"> 3468 <opt>none</opt> 3469 <opt>h0</opt> 3470 <opt>h1</opt> 3471 </mod> 3472 <mod name="cmpf" size="3"> 3473 <opt>eq</opt> 3474 <opt>gt</opt> 3475 <opt>ge</opt> 3476 <opt>ne</opt> 3477 <opt>lt</opt> 3478 <opt>le</opt> 3479 </mod> 3480 <derived start="4" size="2"> 3481 <reserved/> 3482 <eq left="widen0" right="#h1"/> 3483 <eq left="widen0" right="#h0"/> 3484 <reserved/> 3485 </derived> 3486 <derived start="3" size="1"> 3487 <or> 3488 <eq left="cmpf" right="#ne"/> 3489 <eq left="cmpf" right="#ge"/> 3490 <eq left="cmpf" right="#le"/> 3491 </or> 3492 <or> 3493 <eq left="cmpf" right="#eq"/> 3494 <eq left="cmpf" right="#gt"/> 3495 <eq left="cmpf" right="#lt"/> 3496 </or> 3497 </derived> 3498 <derived start="9" size="3"> 3499 <reserved/> 3500 <reserved/> 3501 <reserved/> 3502 <reserved/> 3503 <reserved/> 3504 <or> 3505 <eq left="cmpf" right="#ne"/> 3506 <eq left="cmpf" right="#eq"/> 3507 </or> 3508 <or> 3509 <eq left="cmpf" right="#ge"/> 3510 <eq left="cmpf" right="#gt"/> 3511 </or> 3512 <or> 3513 <eq left="cmpf" right="#le"/> 3514 <eq left="cmpf" right="#lt"/> 3515 </or> 3516 </derived> 3517 </ins> 3518 3519 <ins name="BRANCHZ.f32" mask="0xff030" exact="0x6f000" last="true" dests="0" unit="add"> 3520 <src start="0"/> 3521 <src start="6" mask="0xf7"/> 3522 <mod name="cmpf" size="3"> 3523 <opt>eq</opt> 3524 <opt>gt</opt> 3525 <opt>ge</opt> 3526 <opt>ne</opt> 3527 <opt>lt</opt> 3528 <opt>le</opt> 3529 </mod> 3530 <derived start="3" size="1"> 3531 <or> 3532 <eq left="cmpf" right="#ne"/> 3533 <eq left="cmpf" right="#ge"/> 3534 <eq left="cmpf" right="#le"/> 3535 </or> 3536 <or> 3537 <eq left="cmpf" right="#eq"/> 3538 <eq left="cmpf" right="#gt"/> 3539 <eq left="cmpf" right="#lt"/> 3540 </or> 3541 </derived> 3542 <derived start="9" size="3"> 3543 <reserved/> 3544 <reserved/> 3545 <reserved/> 3546 <reserved/> 3547 <reserved/> 3548 <or> 3549 <eq left="cmpf" right="#ne"/> 3550 <eq left="cmpf" right="#eq"/> 3551 </or> 3552 <or> 3553 <eq left="cmpf" right="#ge"/> 3554 <eq left="cmpf" right="#gt"/> 3555 </or> 3556 <or> 3557 <eq left="cmpf" right="#le"/> 3558 <eq left="cmpf" right="#lt"/> 3559 </or> 3560 </derived> 3561 </ins> 3562 3563 <ins name="BRANCHZ.i16" mask="0xffe00" exact="0x6f800" last="true" dests="0" unit="add"> 3564 <src start="0"/> 3565 <src start="6" mask="0xf7"/> 3566 <mod name="widen0" size="2"> 3567 <opt>none</opt> 3568 <opt>h0</opt> 3569 <opt>h1</opt> 3570 </mod> 3571 <mod name="cmpf" size="1"> 3572 <opt>eq</opt> 3573 <opt>ne</opt> 3574 </mod> 3575 <derived start="4" size="2"> 3576 <reserved/> 3577 <eq left="widen0" right="#h1"/> 3578 <eq left="widen0" right="#h0"/> 3579 <reserved/> 3580 </derived> 3581 <derived start="3" size="1"> 3582 <eq left="cmpf" right="#ne"/> 3583 <eq left="cmpf" right="#eq"/> 3584 </derived> 3585 </ins> 3586 3587 <ins name="BRANCHZ.i32" mask="0xffe30" exact="0x6f800" last="true" dests="0" unit="add"> 3588 <src start="0"/> 3589 <src start="6" mask="0xf7"/> 3590 <mod name="cmpf" size="1"> 3591 <opt>eq</opt> 3592 <opt>ne</opt> 3593 </mod> 3594 <derived start="3" size="1"> 3595 <eq left="cmpf" right="#ne"/> 3596 <eq left="cmpf" right="#eq"/> 3597 </derived> 3598 </ins> 3599 3600 <ins name="BRANCHZ.s16" mask="0xff008" exact="0x6f008" last="true" dests="0" unit="add"> 3601 <src start="0"/> 3602 <src start="6" mask="0xf7"/> 3603 <mod name="widen0" size="2"> 3604 <opt>none</opt> 3605 <opt>h0</opt> 3606 <opt>h1</opt> 3607 </mod> 3608 <mod name="cmpf" size="2"> 3609 <opt>gt</opt> 3610 <opt>ge</opt> 3611 <opt>lt</opt> 3612 <opt>le</opt> 3613 </mod> 3614 <derived start="4" size="2"> 3615 <reserved/> 3616 <eq left="widen0" right="#h1"/> 3617 <eq left="widen0" right="#h0"/> 3618 <reserved/> 3619 </derived> 3620 <derived start="9" size="3"> 3621 <eq left="cmpf" right="#lt"/> 3622 <eq left="cmpf" right="#le"/> 3623 <eq left="cmpf" right="#ge"/> 3624 <eq left="cmpf" right="#gt"/> 3625 <reserved/> 3626 <reserved/> 3627 <reserved/> 3628 <reserved/> 3629 </derived> 3630 </ins> 3631 3632 <ins name="BRANCHZ.s32" mask="0xff038" exact="0x6f008" last="true" dests="0" unit="add"> 3633 <src start="0"/> 3634 <src start="6" mask="0xf7"/> 3635 <mod name="cmpf" size="2"> 3636 <opt>gt</opt> 3637 <opt>ge</opt> 3638 <opt>lt</opt> 3639 <opt>le</opt> 3640 </mod> 3641 <derived start="9" size="3"> 3642 <eq left="cmpf" right="#lt"/> 3643 <eq left="cmpf" right="#le"/> 3644 <eq left="cmpf" right="#ge"/> 3645 <eq left="cmpf" right="#gt"/> 3646 <reserved/> 3647 <reserved/> 3648 <reserved/> 3649 <reserved/> 3650 </derived> 3651 </ins> 3652 3653 <ins name="BRANCHZ.u16" mask="0xff008" exact="0x6f000" last="true" dests="0" unit="add"> 3654 <src start="0"/> 3655 <src start="6" mask="0xf7"/> 3656 <mod name="widen0" size="2"> 3657 <opt>none</opt> 3658 <opt>h0</opt> 3659 <opt>h1</opt> 3660 </mod> 3661 <mod name="cmpf" size="2"> 3662 <opt>gt</opt> 3663 <opt>ge</opt> 3664 <opt>lt</opt> 3665 <opt>le</opt> 3666 </mod> 3667 <derived start="4" size="2"> 3668 <reserved/> 3669 <eq left="widen0" right="#h1"/> 3670 <eq left="widen0" right="#h0"/> 3671 <reserved/> 3672 </derived> 3673 <derived start="9" size="3"> 3674 <eq left="cmpf" right="#lt"/> 3675 <eq left="cmpf" right="#le"/> 3676 <eq left="cmpf" right="#ge"/> 3677 <eq left="cmpf" right="#gt"/> 3678 <reserved/> 3679 <reserved/> 3680 <reserved/> 3681 <reserved/> 3682 </derived> 3683 </ins> 3684 3685 <ins name="BRANCHZ.u32" mask="0xff038" exact="0x6f000" last="true" dests="0" unit="add"> 3686 <src start="0"/> 3687 <src start="6" mask="0xf7"/> 3688 <mod name="cmpf" size="2"> 3689 <opt>gt</opt> 3690 <opt>ge</opt> 3691 <opt>lt</opt> 3692 <opt>le</opt> 3693 </mod> 3694 <derived start="9" size="3"> 3695 <eq left="cmpf" right="#lt"/> 3696 <eq left="cmpf" right="#le"/> 3697 <eq left="cmpf" right="#ge"/> 3698 <eq left="cmpf" right="#gt"/> 3699 <reserved/> 3700 <reserved/> 3701 <reserved/> 3702 <reserved/> 3703 </derived> 3704 </ins> 3705 3706 <ins name="BRANCH_DIVERG" mask="0xffe3f" exact="0x6f83c" last="true" dests="0" unit="add"> 3707 <src start="6" mask="0xf7"/> 3708 </ins> 3709 3710 <ins name="BRANCH_LOWBITS.f32" mask="0xffe38" exact="0x6fa38" last="true" dests="0" unit="add"> 3711 <src start="0"/> 3712 <src start="6" mask="0xf7"/> 3713 </ins> 3714 3715 <ins name="BRANCH_NO_DIVERG" mask="0xffe3f" exact="0x6fa34" last="true" dests="0" unit="add"> 3716 <src start="6" mask="0xf7"/> 3717 </ins> 3718 3719 <ins name="CLPER_OLD.i32" mask="0xfffc0" exact="0x3f0c0" unit="add"> 3720 <src start="0" mask="0x7"/> 3721 <src start="3"/> 3722 </ins> 3723 3724 <ins name="CLPER.i32" mask="0xfc000" exact="0x7c000" unit="add"> 3725 <src start="0" mask="0x7"/> 3726 <src start="3"/> 3727 <mod name="lane_op" start="6" size="2"> 3728 <opt>none</opt> 3729 <opt>xor</opt> 3730 <opt>accumulate</opt> 3731 <opt>shift</opt> 3732 </mod> 3733 <mod name="subgroup" start="8" size="2"> 3734 <opt>subgroup2</opt> 3735 <opt>subgroup4</opt> 3736 <opt>subgroup8</opt> 3737 <opt pseudo="true">subgroup16</opt> <!-- Only on Valhall --> 3738 </mod> 3739 <mod name="inactive_result" start="10" size="4"> 3740 <opt>zero</opt> 3741 <opt>umax</opt> 3742 <opt>i1</opt> 3743 <opt>v2i1</opt> 3744 <opt>smin</opt> 3745 <opt>smax</opt> 3746 <opt>v2smin</opt> 3747 <opt>v2smax</opt> 3748 <opt>v4smin</opt> 3749 <opt>v4smax</opt> 3750 <opt>f1</opt> 3751 <opt>v2f1</opt> 3752 <opt>infn</opt> 3753 <opt>inf</opt> 3754 <opt>v2infn</opt> 3755 <opt>v2inf</opt> 3756 </mod> 3757 </ins> 3758 3759 <ins name="CUBEFACE2" mask="0xffff8" exact="0x3de58" unit="add"> 3760 <src start="0"/> 3761 </ins> 3762 3763 <ins name="CUBE_SSEL" mask="0xffc00" exact="0x3e000" unit="add"> 3764 <src start="0"/> 3765 <src start="3"/> 3766 <src start="6"/> 3767 <mod name="neg0" size="1" opt="neg"/> 3768 <mod name="neg1" size="1" opt="neg"/> 3769 <derived start="9" size="1"> 3770 <and> 3771 <eq left="neg0" right="#none"/> 3772 <eq left="neg1" right="#none"/> 3773 </and> 3774 <and> 3775 <eq left="neg0" right="#neg"/> 3776 <eq left="neg1" right="#neg"/> 3777 </and> 3778 </derived> 3779 </ins> 3780 3781 <ins name="CUBE_TSEL" mask="0xffc00" exact="0x3e400" unit="add"> 3782 <src start="0"/> 3783 <src start="3"/> 3784 <src start="6"/> 3785 <mod name="neg0" size="1" opt="neg"/> 3786 <mod name="neg1" size="1" opt="neg"/> 3787 <derived start="9" size="1"> 3788 <and> 3789 <eq left="neg0" right="#none"/> 3790 <eq left="neg1" right="#none"/> 3791 </and> 3792 <and> 3793 <eq left="neg0" right="#neg"/> 3794 <eq left="neg1" right="#neg"/> 3795 </and> 3796 </derived> 3797 </ins> 3798 3799 <ins name="DISCARD.f32" mask="0xff800" exact="0xc8800" dests="0" unit="add"> 3800 <src start="0"/> 3801 <src start="3"/> 3802 <mod name="cmpf" size="3"> 3803 <opt>eq</opt> 3804 <opt>gt</opt> 3805 <opt>ge</opt> 3806 <opt>ne</opt> 3807 <opt>lt</opt> 3808 <opt>le</opt> 3809 </mod> 3810 <mod name="widen0" size="2"> 3811 <opt>none</opt> 3812 <opt>h0</opt> 3813 <opt>h1</opt> 3814 </mod> 3815 <mod name="widen1" size="2"> 3816 <opt>none</opt> 3817 <opt>h0</opt> 3818 <opt>h1</opt> 3819 </mod> 3820 <derived start="6" size="2"> 3821 <eq left="cmpf" right="#eq"/> 3822 <eq left="cmpf" right="#ne"/> 3823 <eq left="cmpf" right="#lt"/> 3824 <eq left="cmpf" right="#le"/> 3825 </derived> 3826 <derived start="8" size="3"> 3827 <and> 3828 <eq left="widen0" right="#h0"/> 3829 <eq left="widen1" right="#h0"/> 3830 </and> 3831 <and> 3832 <eq left="widen0" right="#h1"/> 3833 <eq left="widen1" right="#h0"/> 3834 </and> 3835 <and> 3836 <eq left="widen0" right="#h0"/> 3837 <eq left="widen1" right="#h1"/> 3838 </and> 3839 <and> 3840 <eq left="widen0" right="#h1"/> 3841 <eq left="widen1" right="#h1"/> 3842 </and> 3843 <and> 3844 <eq left="widen0" right="#none"/> 3845 <eq left="widen1" right="#none"/> 3846 </and> 3847 <reserved/> 3848 <reserved/> 3849 <reserved/> 3850 </derived> 3851 <swap left="0" right="1"> 3852 <or> 3853 <eq left="cmpf" right="#gt"/> 3854 <eq left="cmpf" right="#ge"/> 3855 </or> 3856 <rewrite name="cmpf"> 3857 <map from="gt" to="lt"/> 3858 <map from="ge" to="le"/> 3859 </rewrite> 3860 </swap> 3861 </ins> 3862 3863 <ins name="DOORBELL" mask="0xffff8" exact="0xd7860" unused="true" message="job_management" dests="0" unit="add"> 3864 <src start="0"/> 3865 </ins> 3866 3867 <ins name="EUREKA" mask="0xffff8" exact="0xd7850" unused="true" message="job_management" dests="0" unit="add"> 3868 <src start="0"/> 3869 </ins> 3870 3871 <ins name="F16_TO_F32" mask="0xffff0" exact="0x3cd10" unit="add"> 3872 <src start="0"/> 3873 <mod name="lane0" start="3" size="1" default="h0"> 3874 <opt>h0</opt> 3875 <opt>h1</opt> 3876 </mod> 3877 <mod name="ftz" start="9" size="1" opt="ftz" pseudo="true"/> 3878 </ins> 3879 3880 <ins name="F16_TO_S32" unit="add"> 3881 <src start="0"/> 3882 <mod name="round" size="3"> 3883 <opt>none</opt> 3884 <opt>rtp</opt> 3885 <opt>rtn</opt> 3886 <opt>rtz</opt> 3887 <opt>rtna</opt> 3888 </mod> 3889 <mod name="lane0" size="1" default="h0"> 3890 <opt>h0</opt> 3891 <opt>h1</opt> 3892 </mod> 3893 <encoding mask="0xfff48" exact="0x3c500"> 3894 <neq left="round" right="#rtna"/> 3895 <copy name="lane0" start="7"/> 3896 <derived start="4" size="2"> 3897 <eq left="round" right="#none"/> 3898 <eq left="round" right="#rtp"/> 3899 <eq left="round" right="#rtn"/> 3900 <eq left="round" right="#rtz"/> 3901 </derived> 3902 </encoding> 3903 <encoding mask="0xfffd8" exact="0x3cc40"> 3904 <eq left="round" right="#rtna"/> 3905 <copy name="lane0" start="5"/> 3906 </encoding> 3907 </ins> 3908 3909 <ins name="F16_TO_U32" unit="add"> 3910 <src start="0"/> 3911 <mod name="round" size="3"> 3912 <opt>none</opt> 3913 <opt>rtp</opt> 3914 <opt>rtn</opt> 3915 <opt>rtz</opt> 3916 <opt>rtna</opt> 3917 </mod> 3918 <mod name="lane0" size="1" default="h0"> 3919 <opt>h0</opt> 3920 <opt>h1</opt> 3921 </mod> 3922 <encoding mask="0xfff48" exact="0x3c508"> 3923 <neq left="round" right="#rtna"/> 3924 <copy name="lane0" start="7"/> 3925 <derived start="4" size="2"> 3926 <eq left="round" right="#none"/> 3927 <eq left="round" right="#rtp"/> 3928 <eq left="round" right="#rtn"/> 3929 <eq left="round" right="#rtz"/> 3930 </derived> 3931 </encoding> 3932 <encoding mask="0xfffd8" exact="0x3cc48"> 3933 <eq left="round" right="#rtna"/> 3934 <copy name="lane0" start="5"/> 3935 </encoding> 3936 </ins> 3937 3938 <ins name="F32_TO_S32" unit="add"> 3939 <src start="0"/> 3940 <mod name="round" size="3"> 3941 <opt>none</opt> 3942 <opt>rtp</opt> 3943 <opt>rtn</opt> 3944 <opt>rtz</opt> 3945 <opt>rtna</opt> 3946 </mod> 3947 <encoding mask="0xfffc8" exact="0x3c980"> 3948 <neq left="round" right="#rtna"/> 3949 <derived start="4" size="2"> 3950 <eq left="round" right="#none"/> 3951 <eq left="round" right="#rtp"/> 3952 <eq left="round" right="#rtn"/> 3953 <eq left="round" right="#rtz"/> 3954 </derived> 3955 </encoding> 3956 <encoding mask="0xffff8" exact="0x3cca0"> 3957 <eq left="round" right="#rtna"/> 3958 </encoding> 3959 </ins> 3960 3961 <ins name="F32_TO_U32" unit="add"> 3962 <src start="0"/> 3963 <mod name="round" size="3"> 3964 <opt>none</opt> 3965 <opt>rtp</opt> 3966 <opt>rtn</opt> 3967 <opt>rtz</opt> 3968 <opt>rtna</opt> 3969 </mod> 3970 <encoding mask="0xfffc8" exact="0x3c988"> 3971 <neq left="round" right="#rtna"/> 3972 <derived start="4" size="2"> 3973 <eq left="round" right="#none"/> 3974 <eq left="round" right="#rtp"/> 3975 <eq left="round" right="#rtn"/> 3976 <eq left="round" right="#rtz"/> 3977 </derived> 3978 </encoding> 3979 <encoding mask="0xffff8" exact="0x3cca8"> 3980 <eq left="round" right="#rtna"/> 3981 </encoding> 3982 </ins> 3983 3984 <ins name="FADD.f32" unit="add"> 3985 <src start="0"/> 3986 <src start="3"/> 3987 <mod name="round" size="3"> 3988 <opt>none</opt> 3989 <opt>rtp</opt> 3990 <opt>rtn</opt> 3991 <opt>rtz</opt> 3992 <opt>rto</opt> 3993 </mod> 3994 <mod name="abs1" size="1" opt="abs"/> 3995 <mod name="neg0" size="1" opt="neg"/> 3996 <mod name="neg1" size="1" opt="neg"/> 3997 <mod name="clamp" size="2"> 3998 <opt>none</opt> 3999 <opt>clamp_0_inf</opt> 4000 <opt>clamp_m1_1</opt> 4001 <opt>clamp_0_1</opt> 4002 </mod> 4003 <mod name="abs0" size="1" opt="abs"/> 4004 <mod name="widen0" size="2"> 4005 <opt>none</opt> 4006 <opt>h0</opt> 4007 <opt>h1</opt> 4008 </mod> 4009 <mod name="widen1" size="2"> 4010 <opt>none</opt> 4011 <opt>h0</opt> 4012 <opt>h1</opt> 4013 </mod> 4014 <encoding mask="0xf0000" exact="0x20000"> 4015 <neq left="round" right="#rto"/> 4016 <copy name="abs1" start="6"/> 4017 <copy name="neg0" start="7"/> 4018 <copy name="neg1" start="8"/> 4019 <copy name="clamp" start="11"/> 4020 <copy name="abs0" start="15"/> 4021 <derived start="13" size="2"> 4022 <eq left="round" right="#none"/> 4023 <eq left="round" right="#rtp"/> 4024 <eq left="round" right="#rtn"/> 4025 <eq left="round" right="#rtz"/> 4026 </derived> 4027 <derived start="9" size="2"> 4028 <and> 4029 <eq left="widen0" right="#none"/> 4030 <eq left="widen1" right="#none"/> 4031 </and> 4032 <and> 4033 <eq left="widen0" right="#none"/> 4034 <eq left="widen1" right="#h0"/> 4035 </and> 4036 <and> 4037 <eq left="widen0" right="#none"/> 4038 <eq left="widen1" right="#h1"/> 4039 </and> 4040 <and> 4041 <eq left="widen0" right="#h0"/> 4042 <eq left="widen1" right="#h0"/> 4043 </and> 4044 </derived> 4045 </encoding> 4046 <encoding mask="0xfffc0" exact="0x75200"> 4047 <and> 4048 <eq left="round" right="#rto"/> 4049 <eq left="widen0" right="#none"/> 4050 <eq left="widen1" right="#none"/> 4051 <eq left="abs0" right="#none"/> 4052 <eq left="abs1" right="#none"/> 4053 <eq left="neg0" right="#none"/> 4054 <eq left="neg1" right="#none"/> 4055 <eq left="clamp" right="#none"/> 4056 </and> 4057 </encoding> 4058 <swap left="0" right="1"> 4059 <or> 4060 <and> 4061 <eq left="widen0" right="#h0"/> 4062 <eq left="widen1" right="#none"/> 4063 </and> 4064 <and> 4065 <eq left="widen0" right="#h1"/> 4066 <eq left="widen1" right="#none"/> 4067 </and> 4068 </or> 4069 </swap> 4070 </ins> 4071 4072 <ins name="FADD.v2f16" mask="0xf0000" exact="0xa0000" unit="add"> 4073 <src start="0"/> 4074 <src start="3"/> 4075 <mod name="abs1" start="6" size="1" opt="abs"/> 4076 <mod name="neg0" start="7" size="1" opt="neg"/> 4077 <mod name="neg1" start="8" size="1" opt="neg"/> 4078 <mod name="swz0" start="9" size="2" default="h01"> 4079 <opt>h00</opt> 4080 <opt>h10</opt> 4081 <opt>h01</opt> 4082 <opt>h11</opt> 4083 </mod> 4084 <mod name="swz1" start="11" size="2" default="h01"> 4085 <opt>h00</opt> 4086 <opt>h10</opt> 4087 <opt>h01</opt> 4088 <opt>h11</opt> 4089 </mod> 4090 <mod name="round" start="13" size="2"> 4091 <opt>none</opt> 4092 <opt>rtp</opt> 4093 <opt>rtn</opt> 4094 <opt>rtz</opt> 4095 </mod> 4096 <mod name="abs0" start="15" size="1" opt="abs"/> 4097 </ins> 4098 4099 <ins name="FADD_RSCALE.f32" mask="0xe8000" exact="0x88000" unit="add"> 4100 <src start="0"/> 4101 <src start="3"/> 4102 <src start="6"/> 4103 <mod name="clamp" size="1" opt="clamp_0_1"/> 4104 <mod name="special" size="1" opt="n"/> 4105 <mod name="round" size="3"> 4106 <opt>none</opt> 4107 <opt>rtp</opt> 4108 <opt>rtn</opt> 4109 <opt>rtz</opt> 4110 <opt>rtna</opt> 4111 </mod> 4112 <mod name="abs1" start="12" size="1" opt="abs"/> 4113 <mod name="neg0" start="13" size="1" opt="neg"/> 4114 <mod name="neg1" start="14" size="1" opt="neg"/> 4115 <mod name="abs0" start="16" size="1" opt="abs"/> 4116 <derived start="9" size="3"> 4117 <and> 4118 <eq left="clamp" right="#none"/> 4119 <eq left="special" right="#none"/> 4120 <eq left="round" right="#none"/> 4121 </and> 4122 <reserved/> 4123 <and> 4124 <eq left="clamp" right="#clamp_0_1"/> 4125 <eq left="special" right="#none"/> 4126 <eq left="round" right="#none"/> 4127 </and> 4128 <and> 4129 <eq left="clamp" right="#none"/> 4130 <eq left="special" right="#n"/> 4131 <eq left="round" right="#rtna"/> 4132 </and> 4133 <and> 4134 <eq left="clamp" right="#none"/> 4135 <eq left="special" right="#n"/> 4136 <eq left="round" right="#none"/> 4137 </and> 4138 <and> 4139 <eq left="clamp" right="#none"/> 4140 <eq left="special" right="#n"/> 4141 <eq left="round" right="#rtp"/> 4142 </and> 4143 <and> 4144 <eq left="clamp" right="#none"/> 4145 <eq left="special" right="#n"/> 4146 <eq left="round" right="#rtn"/> 4147 </and> 4148 <and> 4149 <eq left="clamp" right="#none"/> 4150 <eq left="special" right="#n"/> 4151 <eq left="round" right="#rtz"/> 4152 </and> 4153 </derived> 4154 </ins> 4155 4156 <ins name="FATAN_ASSIST.f16" mask="0xfff00" exact="0x67800" unused="true" table="true" unit="add"> 4157 <src start="0" mask="0xf7"/> 4158 <src start="3" mask="0xf7"/> 4159 <mod name="lane1" start="6" size="1" default="h0"> 4160 <opt>h0</opt> 4161 <opt>h1</opt> 4162 </mod> 4163 <mod name="lane0" start="7" size="1" default="h0"> 4164 <opt>h0</opt> 4165 <opt>h1</opt> 4166 </mod> 4167 </ins> 4168 4169 <ins name="FATAN_ASSIST.f32" mask="0xfffc0" exact="0x67a00" unused="true" table="true" unit="add"> 4170 <src start="0" mask="0xf7"/> 4171 <src start="3" mask="0xf7"/> 4172 </ins> 4173 4174 <ins name="FATAN_TABLE.f16" mask="0xfff00" exact="0x67900" unused="true" table="true" unit="add"> 4175 <src start="0" mask="0xf7"/> 4176 <src start="3" mask="0xf7"/> 4177 <mod name="lane1" start="6" size="1" default="h0"> 4178 <opt>h0</opt> 4179 <opt>h1</opt> 4180 </mod> 4181 <mod name="lane0" start="7" size="1" default="h0"> 4182 <opt>h0</opt> 4183 <opt>h1</opt> 4184 </mod> 4185 </ins> 4186 4187 <ins name="FATAN_TABLE.f32" mask="0xfffc0" exact="0x67a40" unused="true" table="true" unit="add"> 4188 <src start="0" mask="0xf7"/> 4189 <src start="3" mask="0xf7"/> 4190 </ins> 4191 4192 <ins name="FCMP.f32" mask="0xf0000" exact="0x30000" unit="add"> 4193 <src start="0"/> 4194 <src start="3"/> 4195 <mod name="widen0" size="2"> 4196 <opt>none</opt> 4197 <opt>h0</opt> 4198 <opt>h1</opt> 4199 </mod> 4200 <mod name="widen1" size="2"> 4201 <opt>none</opt> 4202 <opt>h0</opt> 4203 <opt>h1</opt> 4204 </mod> 4205 <mod name="neg0" size="1" opt="neg"/> 4206 <mod name="neg1" size="1" opt="neg"/> 4207 <mod name="cmpf" start="6" size="3"> 4208 <opt>eq</opt> 4209 <opt>gt</opt> 4210 <opt>ge</opt> 4211 <opt>ne</opt> 4212 <opt>lt</opt> 4213 <opt>le</opt> 4214 <opt>gtlt</opt> 4215 <opt>total</opt> 4216 </mod> 4217 <mod name="abs0" start="11" size="1" opt="abs"/> 4218 <mod name="abs1" start="12" size="1" opt="abs"/> 4219 <mod name="result_type" start="14" size="2" default="i1"> 4220 <opt>i1</opt> 4221 <opt>f1</opt> 4222 <opt>m1</opt> 4223 </mod> 4224 <derived start="9" size="2"> 4225 <and> 4226 <eq left="widen0" right="#none"/> 4227 <eq left="widen1" right="#none"/> 4228 </and> 4229 <and> 4230 <eq left="widen0" right="#none"/> 4231 <eq left="widen1" right="#h0"/> 4232 </and> 4233 <and> 4234 <eq left="widen0" right="#none"/> 4235 <eq left="widen1" right="#h1"/> 4236 </and> 4237 <and> 4238 <eq left="widen0" right="#h0"/> 4239 <eq left="widen1" right="#h0"/> 4240 </and> 4241 </derived> 4242 <derived start="13" size="1"> 4243 <and> 4244 <eq left="neg0" right="#none"/> 4245 <eq left="neg1" right="#none"/> 4246 </and> 4247 <and> 4248 <eq left="neg0" right="#neg"/> 4249 <eq left="neg1" right="#none"/> 4250 </and> 4251 </derived> 4252 <swap left="0" right="1"> 4253 <or> 4254 <and> 4255 <eq left="neg0" right="#none"/> 4256 <eq left="neg1" right="#neg"/> 4257 </and> 4258 <and> 4259 <eq left="widen0" right="#h0"/> 4260 <eq left="widen1" right="#none"/> 4261 </and> 4262 <and> 4263 <eq left="widen0" right="#h1"/> 4264 <eq left="widen1" right="#none"/> 4265 </and> 4266 </or> 4267 <rewrite name="cmpf"> 4268 <map from="lt" to="gt"/> 4269 <map from="le" to="ge"/> 4270 <map from="gt" to="lt"/> 4271 <map from="ge" to="le"/> 4272 </rewrite> 4273 </swap> 4274 </ins> 4275 4276 <ins name="FCMP.v2f16" mask="0xf0000" exact="0xb0000" unit="add"> 4277 <src start="0"/> 4278 <src start="3"/> 4279 <mod name="neg0" size="1" opt="neg"/> 4280 <mod name="neg1" size="1" opt="neg"/> 4281 <mod name="cmpf" start="6" size="3"> 4282 <opt>eq</opt> 4283 <opt>gt</opt> 4284 <opt>ge</opt> 4285 <opt>ne</opt> 4286 <opt>lt</opt> 4287 <opt>le</opt> 4288 <opt>gtlt</opt> 4289 <opt>total</opt> 4290 </mod> 4291 <mod name="swz0" start="9" size="2" default="h01"> 4292 <opt>h00</opt> 4293 <opt>h10</opt> 4294 <opt>h01</opt> 4295 <opt>h11</opt> 4296 </mod> 4297 <mod name="swz1" start="11" size="2" default="h01"> 4298 <opt>h00</opt> 4299 <opt>h10</opt> 4300 <opt>h01</opt> 4301 <opt>h11</opt> 4302 </mod> 4303 <mod name="result_type" start="14" size="2" default="i1"> 4304 <opt>i1</opt> 4305 <opt>f1</opt> 4306 <opt>m1</opt> 4307 </mod> 4308 <derived start="13" size="1"> 4309 <and> 4310 <eq left="neg0" right="#none"/> 4311 <eq left="neg1" right="#none"/> 4312 </and> 4313 <and> 4314 <eq left="neg0" right="#neg"/> 4315 <eq left="neg1" right="#none"/> 4316 </and> 4317 </derived> 4318 <swap left="0" right="1"> 4319 <and> 4320 <eq left="neg0" right="#none"/> 4321 <eq left="neg1" right="#neg"/> 4322 </and> 4323 <rewrite name="cmpf"> 4324 <map from="lt" to="gt"/> 4325 <map from="le" to="ge"/> 4326 <map from="gt" to="lt"/> 4327 <map from="ge" to="le"/> 4328 </rewrite> 4329 </swap> 4330 </ins> 4331 4332 <ins name="FCOS_TABLE.u6" mask="0xfffe8" exact="0x67a88" table="true" unit="add"> 4333 <src start="0" mask="0xf7"/> 4334 <mod name="offset" start="4" size="1" opt="offset"/> 4335 </ins> 4336 4337 <ins name="FEXP.f32" mask="0xfffc0" exact="0x66ac0" table="true" unit="add"> 4338 <src start="0" mask="0xf7"/> 4339 <src start="3" mask="0xf7"/> 4340 </ins> 4341 4342 <ins name="FEXP_TABLE.u4" mask="0xfffe0" exact="0x67ac0" table="true" unit="add"> 4343 <src start="0" mask="0xf7"/> 4344 <mod name="adj" start="3" size="2"> 4345 <opt>none</opt> 4346 <opt>small</opt> 4347 <opt>low</opt> 4348 </mod> 4349 </ins> 4350 4351 <ins name="FLOGD.f32" mask="0xffff8" exact="0x66340" table="true" unit="add"> 4352 <src start="0" mask="0xf7"/> 4353 </ins> 4354 4355 <ins name="FLOG_TABLE.f32" table="true" unit="add"> 4356 <src start="0" mask="0xf7"/> 4357 <mod name="widen0" size="2"> 4358 <opt>none</opt> 4359 <opt>h0</opt> 4360 <opt>h1</opt> 4361 </mod> 4362 <mod name="mode" size="2"> 4363 <opt>red</opt> 4364 <opt>base2</opt> 4365 <opt>natural</opt> 4366 </mod> 4367 <mod name="precision" size="2"> 4368 <opt>none</opt> 4369 <opt>high</opt> 4370 <opt>low</opt> 4371 </mod> 4372 <mod name="neg0" size="1" opt="neg"/> 4373 <mod name="abs0" size="1" opt="abs"/> 4374 <mod name="divzero" size="1" opt="divzero"/> 4375 <encoding mask="0xfffc0" exact="0x67300"> 4376 <and> 4377 <eq left="mode" right="#red"/> 4378 <eq left="widen0" right="#none"/> 4379 <eq left="precision" right="#none"/> 4380 </and> 4381 <copy name="neg0" start="3"/> 4382 <copy name="abs0" start="4"/> 4383 <copy name="divzero" start="5"/> 4384 </encoding> 4385 <encoding mask="0xfff40" exact="0x67340"> 4386 <and> 4387 <eq left="mode" right="#red"/> 4388 <neq left="widen0" right="#none"/> 4389 <eq left="precision" right="#none"/> 4390 </and> 4391 <copy name="neg0" start="3"/> 4392 <copy name="abs0" start="4"/> 4393 <copy name="divzero" start="5"/> 4394 <derived start="7" size="1"> 4395 <eq left="widen0" right="#h0"/> 4396 <eq left="widen0" right="#h1"/> 4397 </derived> 4398 </encoding> 4399 <encoding mask="0xfffc0" exact="0x67b00"> 4400 <and> 4401 <neq left="mode" right="#red"/> 4402 <eq left="widen0" right="#none"/> 4403 <eq left="precision" right="#none"/> 4404 <eq left="divzero" right="#none"/> 4405 </and> 4406 <copy name="neg0" start="3"/> 4407 <copy name="abs0" start="4"/> 4408 <derived start="5" size="1"> 4409 <eq left="mode" right="#base2"/> 4410 <eq left="mode" right="#natural"/> 4411 </derived> 4412 </encoding> 4413 <encoding mask="0xfff40" exact="0x67b40"> 4414 <and> 4415 <neq left="mode" right="#red"/> 4416 <neq left="widen0" right="#none"/> 4417 <eq left="precision" right="#none"/> 4418 <eq left="divzero" right="#none"/> 4419 </and> 4420 <copy name="neg0" start="3"/> 4421 <copy name="abs0" start="4"/> 4422 <derived start="5" size="1"> 4423 <eq left="mode" right="#base2"/> 4424 <eq left="mode" right="#natural"/> 4425 </derived> 4426 <derived start="7" size="1"> 4427 <eq left="widen0" right="#h0"/> 4428 <eq left="widen0" right="#h1"/> 4429 </derived> 4430 </encoding> 4431 <encoding mask="0xfffe0" exact="0x67ae0"> 4432 <and> 4433 <neq left="mode" right="#red"/> 4434 <eq left="widen0" right="#none"/> 4435 <neq left="precision" right="#none"/> 4436 <eq left="divzero" right="#none"/> 4437 <eq left="abs0" right="#none"/> 4438 <eq left="neg0" right="#none"/> 4439 </and> 4440 <derived start="3" size="1"> 4441 <eq left="mode" right="#natural"/> 4442 <eq left="mode" right="#base2"/> 4443 </derived> 4444 <derived start="4" size="1"> 4445 <eq left="precision" right="#high"/> 4446 <eq left="precision" right="#low"/> 4447 </derived> 4448 </encoding> 4449 </ins> 4450 4451 <ins name="FMAX.f32" mask="0xf0600" exact="0x0" unit="add"> 4452 <src start="0"/> 4453 <src start="3"/> 4454 <mod name="abs1" start="6" size="1" opt="abs"/> 4455 <mod name="neg0" start="7" size="1" opt="neg"/> 4456 <mod name="neg1" start="8" size="1" opt="neg"/> 4457 <mod name="clamp" start="11" size="2"> 4458 <opt>none</opt> 4459 <opt>clamp_0_inf</opt> 4460 <opt>clamp_m1_1</opt> 4461 <opt>clamp_0_1</opt> 4462 </mod> 4463 <mod name="sem" start="13" size="2" default="nan_suppress"> 4464 <opt>nan_suppress</opt> 4465 <opt>nan_propagate</opt> 4466 <opt>c</opt> 4467 <opt>inverse_c</opt> 4468 </mod> 4469 <mod name="abs0" start="15" size="1" opt="abs"/> 4470 </ins> 4471 4472 <ins name="FMAX.v2f16" mask="0xf8000" exact="0x80000" unit="add"> 4473 <src start="0"/> 4474 <src start="3"/> 4475 <mod name="abs0" size="1" opt="abs"/> 4476 <mod name="abs1" size="1" opt="abs"/> 4477 <mod name="neg0" start="7" size="1" opt="neg"/> 4478 <mod name="neg1" start="8" size="1" opt="neg"/> 4479 <mod name="swz0" start="9" size="2" default="h01"> 4480 <opt>h00</opt> 4481 <opt>h10</opt> 4482 <opt>h01</opt> 4483 <opt>h11</opt> 4484 </mod> 4485 <mod name="swz1" start="11" size="2" default="h01"> 4486 <opt>h00</opt> 4487 <opt>h10</opt> 4488 <opt>h01</opt> 4489 <opt>h11</opt> 4490 </mod> 4491 <mod name="sem" start="13" size="2" default="nan_suppress"> 4492 <opt>nan_suppress</opt> 4493 <opt>nan_propagate</opt> 4494 <opt>c</opt> 4495 <opt>inverse_c</opt> 4496 </mod> 4497 <derived start="6" size="1"> 4498 <or> 4499 <and> 4500 <eq left="abs0" right="#abs"/> 4501 <eq left="abs1" right="#none"/> 4502 <eq left="ordering" right="#gt"/> 4503 </and> 4504 <and> 4505 <eq left="abs0" right="#none"/> 4506 <eq left="abs1" right="#none"/> 4507 <neq left="ordering" right="#gt"/> 4508 </and> 4509 </or> 4510 <or> 4511 <and> 4512 <eq left="abs0" right="#abs"/> 4513 <eq left="abs1" right="#abs"/> 4514 <eq left="ordering" right="#gt"/> 4515 </and> 4516 <and> 4517 <eq left="abs0" right="#abs"/> 4518 <eq left="abs1" right="#none"/> 4519 <neq left="ordering" right="#gt"/> 4520 </and> 4521 </or> 4522 </derived> 4523 <swap left="0" right="1"> 4524 <or> 4525 <and> 4526 <eq left="abs0" right="#none"/> 4527 <eq left="ordering" right="#gt"/> 4528 </and> 4529 <and> 4530 <eq left="abs1" right="#abs"/> 4531 <neq left="ordering" right="#gt"/> 4532 </and> 4533 </or> 4534 <rewrite name="sem"> 4535 <map from="c" to="inverse_c"/> 4536 <map from="inverse_c" to="c"/> 4537 </rewrite> 4538 </swap> 4539 </ins> 4540 4541 <ins name="FMIN.f32" mask="0xf0600" exact="0x10000" unit="add"> 4542 <src start="0"/> 4543 <src start="3"/> 4544 <mod name="abs1" start="6" size="1" opt="abs"/> 4545 <mod name="neg0" start="7" size="1" opt="neg"/> 4546 <mod name="neg1" start="8" size="1" opt="neg"/> 4547 <mod name="clamp" start="11" size="2"> 4548 <opt>none</opt> 4549 <opt>clamp_0_inf</opt> 4550 <opt>clamp_m1_1</opt> 4551 <opt>clamp_0_1</opt> 4552 </mod> 4553 <mod name="sem" start="13" size="2" default="nan_suppress"> 4554 <opt>nan_suppress</opt> 4555 <opt>nan_propagate</opt> 4556 <opt>c</opt> 4557 <opt>inverse_c</opt> 4558 </mod> 4559 <mod name="abs0" start="15" size="1" opt="abs"/> 4560 </ins> 4561 4562 <ins name="FMIN.v2f16" mask="0xf8000" exact="0x90000" unit="add"> 4563 <src start="0"/> 4564 <src start="3"/> 4565 <mod name="abs0" size="1" opt="abs"/> 4566 <mod name="abs1" size="1" opt="abs"/> 4567 <mod name="neg0" start="7" size="1" opt="neg"/> 4568 <mod name="neg1" start="8" size="1" opt="neg"/> 4569 <mod name="swz0" start="9" size="2" default="h01"> 4570 <opt>h00</opt> 4571 <opt>h10</opt> 4572 <opt>h01</opt> 4573 <opt>h11</opt> 4574 </mod> 4575 <mod name="swz1" start="11" size="2" default="h01"> 4576 <opt>h00</opt> 4577 <opt>h10</opt> 4578 <opt>h01</opt> 4579 <opt>h11</opt> 4580 </mod> 4581 <mod name="sem" start="13" size="2" default="nan_suppress"> 4582 <opt>nan_suppress</opt> 4583 <opt>nan_propagate</opt> 4584 <opt>c</opt> 4585 <opt>inverse_c</opt> 4586 </mod> 4587 <derived start="6" size="1"> 4588 <or> 4589 <and> 4590 <eq left="abs0" right="#abs"/> 4591 <eq left="abs1" right="#none"/> 4592 <eq left="ordering" right="#gt"/> 4593 </and> 4594 <and> 4595 <eq left="abs0" right="#none"/> 4596 <eq left="abs1" right="#none"/> 4597 <neq left="ordering" right="#gt"/> 4598 </and> 4599 </or> 4600 <or> 4601 <and> 4602 <eq left="abs0" right="#abs"/> 4603 <eq left="abs1" right="#abs"/> 4604 <eq left="ordering" right="#gt"/> 4605 </and> 4606 <and> 4607 <eq left="abs0" right="#abs"/> 4608 <eq left="abs1" right="#none"/> 4609 <neq left="ordering" right="#gt"/> 4610 </and> 4611 </or> 4612 </derived> 4613 <swap left="0" right="1"> 4614 <or> 4615 <and> 4616 <eq left="abs0" right="#none"/> 4617 <eq left="ordering" right="#gt"/> 4618 </and> 4619 <and> 4620 <eq left="abs1" right="#abs"/> 4621 <neq left="ordering" right="#gt"/> 4622 </and> 4623 </or> 4624 <rewrite name="sem"> 4625 <map from="c" to="inverse_c"/> 4626 <map from="inverse_c" to="c"/> 4627 </rewrite> 4628 </swap> 4629 </ins> 4630 4631 <ins name="FPCLASS.f16" mask="0xffff0" exact="0x67c40" table="true" unit="add"> 4632 <src start="0" mask="0xf7"/> 4633 <mod name="lane0" start="3" size="1" default="h0"> 4634 <opt>h0</opt> 4635 <opt>h1</opt> 4636 </mod> 4637 </ins> 4638 4639 <ins name="FPCLASS.f32" mask="0xffff8" exact="0x67c50" table="true" unit="add"> 4640 <src start="0" mask="0xf7"/> 4641 </ins> 4642 4643 <ins name="FPOW_SC_APPLY" mask="0xfffc0" exact="0x75080" unit="add"> 4644 <src start="0"/> 4645 <src start="3"/> 4646 </ins> 4647 4648 <ins name="FPOW_SC_DET.f16" table="true" unit="add"> 4649 <src start="0" mask="0xf7"/> 4650 <src start="3" mask="0xf7"/> 4651 <mod name="func" size="2"> 4652 <opt>pow</opt> 4653 <opt>powr</opt> 4654 <opt>pown</opt> 4655 <opt>rootn</opt> 4656 </mod> 4657 <mod name="lane1" size="2"> 4658 <opt>h0</opt> 4659 <opt>h1</opt> 4660 <opt>none</opt> 4661 </mod> 4662 <mod name="lane0" start="7" size="1" default="h0"> 4663 <opt>h0</opt> 4664 <opt>h1</opt> 4665 </mod> 4666 <encoding mask="0xffe00" exact="0x67400"> 4667 <or> 4668 <eq left="func" right="#pow"/> 4669 <eq left="func" right="#powr"/> 4670 </or> 4671 <derived start="6" size="1"> 4672 <or> 4673 <eq alias="true" left="lane1" right="#none"/> 4674 <eq left="lane1" right="#h0"/> 4675 </or> 4676 <eq left="lane1" right="#h1"/> 4677 </derived> 4678 <derived start="8" size="1"> 4679 <eq left="func" right="#pow"/> 4680 <eq left="func" right="#powr"/> 4681 </derived> 4682 </encoding> 4683 <encoding mask="0xffe40" exact="0x67600"> 4684 <and> 4685 <or> 4686 <eq left="func" right="#pown"/> 4687 <eq left="func" right="#rootn"/> 4688 </or> 4689 <eq left="lane1" right="#none"/> 4690 </and> 4691 <derived start="8" size="1"> 4692 <eq left="func" right="#pown"/> 4693 <eq left="func" right="#rootn"/> 4694 </derived> 4695 </encoding> 4696 </ins> 4697 4698 <ins name="FPOW_SC_DET.f32" mask="0xffe40" exact="0x67640" table="true" unit="add"> 4699 <src start="0" mask="0xf7"/> 4700 <src start="3" mask="0xf7"/> 4701 <mod name="func" start="7" size="2"> 4702 <opt>pow</opt> 4703 <opt>powr</opt> 4704 <opt>pown</opt> 4705 <opt>rootn</opt> 4706 </mod> 4707 </ins> 4708 4709 <ins name="FRCBRT_APPROX_A.f32" unused="true" table="true" unit="add"> 4710 <src start="0" mask="0xf7"/> 4711 <mod name="widen0" size="2"> 4712 <opt>none</opt> 4713 <opt>h0</opt> 4714 <opt>h1</opt> 4715 </mod> 4716 <mod name="neg0" start="3" size="1" opt="neg"/> 4717 <mod name="abs0" start="4" size="1" opt="abs"/> 4718 <mod name="divzero" start="5" size="1" opt="divzero"/> 4719 <encoding mask="0xfffc0" exact="0x67200"> 4720 <eq left="widen0" right="#none"/> 4721 </encoding> 4722 <encoding mask="0xfff40" exact="0x67240"> 4723 <neq left="widen0" right="#none"/> 4724 <derived start="7" size="1"> 4725 <eq left="widen0" right="#h0"/> 4726 <eq left="widen0" right="#h1"/> 4727 </derived> 4728 </encoding> 4729 </ins> 4730 4731 <ins name="FRCBRT_APPROX_B.f32" mask="0xffff8" exact="0x67ab0" unused="true" table="true" unit="add"> 4732 <src start="0" mask="0xf7"/> 4733 </ins> 4734 4735 <ins name="FRCBRT_APPROX_C.f32" mask="0xffff8" exact="0x67ab8" unused="true" table="true" unit="add"> 4736 <src start="0" mask="0xf7"/> 4737 </ins> 4738 4739 <ins name="FRCP.f16" mask="0xffec0" exact="0x67080" table="true" unit="add"> 4740 <src start="0" mask="0xf7"/> 4741 <mod name="neg0" start="3" size="1" opt="neg"/> 4742 <mod name="abs0" start="4" size="1" opt="abs"/> 4743 <mod name="divzero" start="5" size="1" opt="divzero"/> 4744 <mod name="lane0" start="8" size="1" default="h0"> 4745 <opt>h0</opt> 4746 <opt>h1</opt> 4747 </mod> 4748 </ins> 4749 4750 <ins name="FRCP.f32" mask="0xfffa0" exact="0x66000" table="true" unit="add"> 4751 <src start="0" mask="0xf7"/> 4752 <mod name="widen0" size="2"> 4753 <opt>none</opt> 4754 </mod> 4755 <mod name="neg0" start="3" size="1" opt="neg"/> 4756 <mod name="abs0" start="4" size="1" opt="abs"/> 4757 <derived start="6" size="1"> 4758 <eq left="widen0" right="#none"/> 4759 <reserved/> 4760 </derived> 4761 </ins> 4762 4763 <ins name="FRCP_APPROX.f32" table="true" unit="add"> 4764 <src start="0" mask="0xf7"/> 4765 <mod name="widen0" size="2"> 4766 <opt>none</opt> 4767 <opt>h0</opt> 4768 <opt>h1</opt> 4769 </mod> 4770 <mod name="neg0" start="3" size="1" opt="neg"/> 4771 <mod name="abs0" start="4" size="1" opt="abs"/> 4772 <mod name="divzero" start="5" size="1" opt="divzero"/> 4773 <encoding mask="0xfffc0" exact="0x67000"> 4774 <eq left="widen0" right="#none"/> 4775 </encoding> 4776 <encoding mask="0xfff40" exact="0x67040"> 4777 <neq left="widen0" right="#none"/> 4778 <derived start="7" size="1"> 4779 <eq left="widen0" right="#h0"/> 4780 <eq left="widen0" right="#h1"/> 4781 </derived> 4782 </encoding> 4783 </ins> 4784 4785 <ins name="FREXPE.f32" unit="add"> 4786 <src start="0"/> 4787 <mod name="neg0" size="1" opt="neg"/> 4788 <mod name="sqrt" size="1" opt="sqrt"/> 4789 <mod name="log" size="1" opt="log"/> 4790 <mod name="widen0" start="3" size="2"> 4791 <reserved/> 4792 <opt>none</opt> 4793 <opt>h0</opt> 4794 <opt>h1</opt> 4795 </mod> 4796 <encoding mask="0xffea0" exact="0x3dc20"> 4797 <eq left="log" right="#none"/> 4798 <copy name="neg0" start="6"/> 4799 <copy name="sqrt" start="8"/> 4800 </encoding> 4801 <encoding mask="0xfffe0" exact="0x3de20"> 4802 <and> 4803 <eq left="log" right="#log"/> 4804 <eq left="sqrt" right="#none"/> 4805 <eq left="neg0" right="#none"/> 4806 </and> 4807 </encoding> 4808 </ins> 4809 4810 <ins name="FREXPE.v2f16" unit="add"> 4811 <src start="0"/> 4812 <mod name="neg0" size="1" opt="neg"/> 4813 <mod name="sqrt" size="1" opt="sqrt"/> 4814 <mod name="log" size="1" opt="log"/> 4815 <mod name="swz0" start="3" size="2" default="h01"> 4816 <opt>h00</opt> 4817 <opt>h10</opt> 4818 <opt>h01</opt> 4819 <opt>h11</opt> 4820 </mod> 4821 <encoding mask="0xffea0" exact="0x3dc00"> 4822 <eq left="log" right="#none"/> 4823 <copy name="neg0" start="6"/> 4824 <copy name="sqrt" start="8"/> 4825 </encoding> 4826 <encoding mask="0xfffe0" exact="0x3de00"> 4827 <and> 4828 <eq left="log" right="#log"/> 4829 <eq left="sqrt" right="#none"/> 4830 <eq left="neg0" right="#none"/> 4831 </and> 4832 </encoding> 4833 </ins> 4834 4835 <ins name="FREXPM.f32" unit="add"> 4836 <src start="0"/> 4837 <mod name="abs0" start="6" size="1" opt="abs"/> 4838 <mod name="sqrt" size="1" opt="sqrt"/> 4839 <mod name="log" size="1" opt="log"/> 4840 <mod name="widen0" start="3" size="2"> 4841 <reserved/> 4842 <opt>none</opt> 4843 <opt>h0</opt> 4844 <opt>h1</opt> 4845 </mod> 4846 <mod name="neg0" size="1" opt="neg"/> 4847 <encoding mask="0xfff20" exact="0x3db20"> 4848 <and> 4849 <eq left="log" right="#none"/> 4850 <eq left="neg0" right="#none"/> 4851 </and> 4852 <copy name="sqrt" start="7"/> 4853 </encoding> 4854 <encoding mask="0xfff20" exact="0x3da20"> 4855 <and> 4856 <eq left="log" right="#log"/> 4857 <eq left="sqrt" right="#none"/> 4858 </and> 4859 <copy name="neg0" start="7"/> 4860 </encoding> 4861 </ins> 4862 4863 <ins name="FREXPM.v2f16" unit="add"> 4864 <src start="0"/> 4865 <mod name="abs0" start="6" size="1" opt="abs"/> 4866 <mod name="sqrt" size="1" opt="sqrt"/> 4867 <mod name="log" size="1" opt="log"/> 4868 <mod name="swz0" start="3" size="2" default="h01"> 4869 <opt>h00</opt> 4870 <opt>h10</opt> 4871 <opt>h01</opt> 4872 <opt>h11</opt> 4873 </mod> 4874 <mod name="neg0" size="1" opt="neg"/> 4875 <encoding mask="0xfff20" exact="0x3db00"> 4876 <and> 4877 <eq left="log" right="#none"/> 4878 <eq left="neg0" right="#none"/> 4879 </and> 4880 <copy name="sqrt" start="7"/> 4881 </encoding> 4882 <encoding mask="0xfff20" exact="0x3da00"> 4883 <and> 4884 <eq left="log" right="#log"/> 4885 <eq left="sqrt" right="#none"/> 4886 </and> 4887 <copy name="neg0" start="7"/> 4888 </encoding> 4889 </ins> 4890 4891 <ins name="FROUND.f32" mask="0xff860" exact="0x3e820" unit="add"> 4892 <src start="0"/> 4893 <mod name="abs0" start="7" size="1" opt="abs"/> 4894 <mod name="neg0" start="8" size="1" opt="neg"/> 4895 <mod name="widen0" start="3" size="2"> 4896 <reserved/> 4897 <opt>none</opt> 4898 <opt>h0</opt> 4899 <opt>h1</opt> 4900 </mod> 4901 <mod name="round" start="9" size="2"> 4902 <opt>none</opt> 4903 <opt>rtp</opt> 4904 <opt>rtn</opt> 4905 <opt>rtz</opt> 4906 </mod> 4907 </ins> 4908 4909 <ins name="FROUND.v2f16" mask="0xff860" exact="0x3e800" unit="add"> 4910 <src start="0"/> 4911 <mod name="abs0" start="7" size="1" opt="abs"/> 4912 <mod name="neg0" start="8" size="1" opt="neg"/> 4913 <mod name="swz0" start="3" size="2" default="h01"> 4914 <opt>h00</opt> 4915 <opt>h10</opt> 4916 <opt>h01</opt> 4917 <opt>h11</opt> 4918 </mod> 4919 <mod name="round" start="9" size="2"> 4920 <opt>none</opt> 4921 <opt>rtp</opt> 4922 <opt>rtn</opt> 4923 <opt>rtz</opt> 4924 </mod> 4925 </ins> 4926 4927 <ins name="FRSQ.f16" mask="0xffec0" exact="0x67280" table="true" unit="add"> 4928 <src start="0" mask="0xf7"/> 4929 <mod name="neg0" start="3" size="1" opt="neg"/> 4930 <mod name="abs0" start="4" size="1" opt="abs"/> 4931 <mod name="divzero" start="5" size="1" opt="divzero"/> 4932 <mod name="lane0" start="8" size="1" default="h0"> 4933 <opt>h0</opt> 4934 <opt>h1</opt> 4935 </mod> 4936 </ins> 4937 4938 <ins name="FRSQ.f32" mask="0xfffa0" exact="0x66100" table="true" unit="add"> 4939 <src start="0" mask="0xf7"/> 4940 <mod name="widen0" size="2"> 4941 <opt>none</opt> 4942 </mod> 4943 <mod name="neg0" start="3" size="1" opt="neg"/> 4944 <mod name="abs0" start="4" size="1" opt="abs"/> 4945 <derived start="6" size="1"> 4946 <eq left="widen0" right="#none"/> 4947 <reserved/> 4948 </derived> 4949 </ins> 4950 4951 <ins name="FRSQ_APPROX.f32" table="true" unit="add"> 4952 <src start="0" mask="0xf7"/> 4953 <mod name="widen0" size="2"> 4954 <opt>none</opt> 4955 <opt>h0</opt> 4956 <opt>h1</opt> 4957 </mod> 4958 <mod name="neg0" start="3" size="1" opt="neg"/> 4959 <mod name="abs0" start="4" size="1" opt="abs"/> 4960 <mod name="divzero" start="5" size="1" opt="divzero"/> 4961 <encoding mask="0xfffc0" exact="0x67100"> 4962 <eq left="widen0" right="#none"/> 4963 </encoding> 4964 <encoding mask="0xfff40" exact="0x67140"> 4965 <neq left="widen0" right="#none"/> 4966 <derived start="7" size="1"> 4967 <eq left="widen0" right="#h0"/> 4968 <eq left="widen0" right="#h1"/> 4969 </derived> 4970 </encoding> 4971 </ins> 4972 4973 <ins name="FSINCOS_OFFSET.u6" mask="0xffff0" exact="0x67aa0" table="true" unit="add"> 4974 <src start="0" mask="0xf7"/> 4975 <mod name="scale" start="3" size="1" opt="scale"/> 4976 </ins> 4977 4978 <ins name="FSIN_TABLE.u6" mask="0xfffe8" exact="0x67a80" table="true" unit="add"> 4979 <src start="0" mask="0xf7"/> 4980 <mod name="offset" start="4" size="1" opt="offset"/> 4981 </ins> 4982 4983 <ins name="HADD.s32" mask="0xfefc0" exact="0xbc640" unit="add"> 4984 <src start="0"/> 4985 <src start="3"/> 4986 <mod name="round" start="12" size="1" default="rtn"> 4987 <opt>rtn</opt> 4988 <opt>rtp</opt> 4989 </mod> 4990 </ins> 4991 4992 <ins name="HADD.u32" mask="0xfefc0" exact="0xbc6c0" unit="add"> 4993 <src start="0"/> 4994 <src start="3"/> 4995 <mod name="round" start="12" size="1" default="rtn"> 4996 <opt>rtn</opt> 4997 <opt>rtp</opt> 4998 </mod> 4999 </ins> 5000 5001 <ins name="HADD.v2s16" mask="0xfe9c0" exact="0xbc840" unit="add"> 5002 <src start="0"/> 5003 <src start="3"/> 5004 <mod name="round" start="12" size="1" default="rtn"> 5005 <opt>rtn</opt> 5006 <opt>rtp</opt> 5007 </mod> 5008 <mod name="swap1" start="9" size="1" default="h01"> 5009 <opt>h01</opt> 5010 <opt>h10</opt> 5011 </mod> 5012 <mod name="swap0" start="10" size="1" default="h01"> 5013 <opt>h01</opt> 5014 <opt>h10</opt> 5015 </mod> 5016 </ins> 5017 5018 <ins name="HADD.v2u16" mask="0xfe9c0" exact="0xbc8c0" unit="add"> 5019 <src start="0"/> 5020 <src start="3"/> 5021 <mod name="round" start="12" size="1" default="rtn"> 5022 <opt>rtn</opt> 5023 <opt>rtp</opt> 5024 </mod> 5025 <mod name="swap1" start="9" size="1" default="h01"> 5026 <opt>h01</opt> 5027 <opt>h10</opt> 5028 </mod> 5029 <mod name="swap0" start="10" size="1" default="h01"> 5030 <opt>h01</opt> 5031 <opt>h10</opt> 5032 </mod> 5033 </ins> 5034 5035 <ins name="HADD.v4s8" mask="0xfefc0" exact="0xbc440" unit="add"> 5036 <src start="0"/> 5037 <src start="3"/> 5038 <mod name="round" start="12" size="1" default="rtn"> 5039 <opt>rtn</opt> 5040 <opt>rtp</opt> 5041 </mod> 5042 </ins> 5043 5044 <ins name="HADD.v4u8" mask="0xfefc0" exact="0xbc4c0" unit="add"> 5045 <src start="0"/> 5046 <src start="3"/> 5047 <mod name="round" start="12" size="1" default="rtn"> 5048 <opt>rtn</opt> 5049 <opt>rtp</opt> 5050 </mod> 5051 </ins> 5052 5053 <ins name="IABS.s32" mask="0xffff8" exact="0x3dea0" unit="add"> 5054 <src start="0"/> 5055 </ins> 5056 5057 <ins name="IABS.v2s16" mask="0xfffc8" exact="0x3de88" unit="add"> 5058 <src start="0"/> 5059 <mod name="swz0" start="4" size="2" default="h01"> 5060 <opt>h00</opt> 5061 <opt>h10</opt> 5062 <opt>h01</opt> 5063 <opt>h11</opt> 5064 </mod> 5065 </ins> 5066 5067 <ins name="IABS.v4s8" mask="0xffff8" exact="0x3deb0" unit="add"> 5068 <src start="0"/> 5069 </ins> 5070 5071 <ins name="IADD.s32" unit="add"> 5072 <src start="0"/> 5073 <src start="3"/> 5074 <mod name="saturate" start="8" size="1" opt="sat"/> 5075 <mod name="lanes1" size="3"> 5076 <opt>none</opt> 5077 <opt>h0</opt> 5078 <opt>h1</opt> 5079 <opt>b0</opt> 5080 <opt>b1</opt> 5081 <opt>b2</opt> 5082 <opt>b3</opt> 5083 </mod> 5084 <encoding mask="0xffec0" exact="0xbc600"> 5085 <eq left="lanes1" right="#none"/> 5086 </encoding> 5087 <encoding mask="0xffcc0" exact="0xbec00"> 5088 <or> 5089 <eq left="lanes1" right="#h0"/> 5090 <eq left="lanes1" right="#h1"/> 5091 </or> 5092 <derived start="9" size="1"> 5093 <eq left="lanes1" right="#h0"/> 5094 <eq left="lanes1" right="#h1"/> 5095 </derived> 5096 </encoding> 5097 <encoding mask="0xff8c0" exact="0xbe000"> 5098 <or> 5099 <eq left="lanes1" right="#b0"/> 5100 <eq left="lanes1" right="#b1"/> 5101 <eq left="lanes1" right="#b2"/> 5102 <eq left="lanes1" right="#b3"/> 5103 </or> 5104 <derived start="9" size="2"> 5105 <eq left="lanes1" right="#b0"/> 5106 <eq left="lanes1" right="#b1"/> 5107 <eq left="lanes1" right="#b2"/> 5108 <eq left="lanes1" right="#b3"/> 5109 </derived> 5110 </encoding> 5111 </ins> 5112 5113 <ins name="IADD.u32" unit="add"> 5114 <src start="0"/> 5115 <src start="3"/> 5116 <mod name="saturate" start="8" size="1" opt="sat"/> 5117 <mod name="lanes1" size="3"> 5118 <opt>none</opt> 5119 <opt>h0</opt> 5120 <opt>h1</opt> 5121 <opt>b0</opt> 5122 <opt>b1</opt> 5123 <opt>b2</opt> 5124 <opt>b3</opt> 5125 </mod> 5126 <encoding mask="0xffe40" exact="0xbc600"> 5127 <eq left="lanes1" right="#none"/> 5128 <derived start="7" size="1"> 5129 <and alias="true"> 5130 <eq left="saturate" right="#none"/> 5131 <eq left="lanes1" right="#none"/> 5132 </and> 5133 <or> 5134 <eq left="saturate" right="#sat"/> 5135 <neq left="lanes1" right="#none"/> 5136 </or> 5137 </derived> 5138 </encoding> 5139 <encoding mask="0xffc40" exact="0xbec00"> 5140 <or> 5141 <eq left="lanes1" right="#h0"/> 5142 <eq left="lanes1" right="#h1"/> 5143 </or> 5144 <derived start="7" size="1"> 5145 <and alias="true"> 5146 <eq left="saturate" right="#none"/> 5147 <eq left="lanes1" right="#none"/> 5148 </and> 5149 <or> 5150 <eq left="saturate" right="#sat"/> 5151 <neq left="lanes1" right="#none"/> 5152 </or> 5153 </derived> 5154 <derived start="9" size="1"> 5155 <eq left="lanes1" right="#h0"/> 5156 <eq left="lanes1" right="#h1"/> 5157 </derived> 5158 </encoding> 5159 <encoding mask="0xff840" exact="0xbe000"> 5160 <or> 5161 <eq left="lanes1" right="#b0"/> 5162 <eq left="lanes1" right="#b1"/> 5163 <eq left="lanes1" right="#b2"/> 5164 <eq left="lanes1" right="#b3"/> 5165 </or> 5166 <derived start="7" size="1"> 5167 <and alias="true"> 5168 <eq left="saturate" right="#none"/> 5169 <eq left="lanes1" right="#none"/> 5170 </and> 5171 <or> 5172 <eq left="saturate" right="#sat"/> 5173 <neq left="lanes1" right="#none"/> 5174 </or> 5175 </derived> 5176 <derived start="9" size="2"> 5177 <eq left="lanes1" right="#b0"/> 5178 <eq left="lanes1" right="#b1"/> 5179 <eq left="lanes1" right="#b2"/> 5180 <eq left="lanes1" right="#b3"/> 5181 </derived> 5182 </encoding> 5183 </ins> 5184 5185 <ins name="IADD.v2s16" unit="add"> 5186 <src start="0"/> 5187 <src start="3"/> 5188 <mod name="saturate" start="8" size="1" opt="sat"/> 5189 <mod name="lanes0" size="1" default="h01"> 5190 <opt>h01</opt> 5191 <opt>h10</opt> 5192 </mod> 5193 <mod name="lanes1" size="3" default="h01"> 5194 <opt>h01</opt> 5195 <opt>h10</opt> 5196 <opt>h00</opt> 5197 <opt>h11</opt> 5198 <opt>b01</opt> 5199 <opt>b23</opt> 5200 </mod> 5201 <encoding mask="0xff8c0" exact="0xbc800"> 5202 <and> 5203 <or> 5204 <eq left="lanes0" right="#h01"/> 5205 <eq left="lanes0" right="#h10"/> 5206 </or> 5207 <or> 5208 <eq left="lanes1" right="#h01"/> 5209 <eq left="lanes1" right="#h10"/> 5210 </or> 5211 </and> 5212 <derived start="9" size="1"> 5213 <eq left="lanes1" right="#h01"/> 5214 <eq left="lanes1" right="#h10"/> 5215 </derived> 5216 <derived start="10" size="1"> 5217 <eq left="lanes0" right="#h01"/> 5218 <eq left="lanes0" right="#h10"/> 5219 </derived> 5220 </encoding> 5221 <encoding mask="0xffcc0" exact="0xbec40"> 5222 <and> 5223 <eq left="lanes0" right="#h01"/> 5224 <or> 5225 <eq left="lanes1" right="#h00"/> 5226 <eq left="lanes1" right="#h11"/> 5227 </or> 5228 </and> 5229 <derived start="9" size="1"> 5230 <eq left="lanes1" right="#h00"/> 5231 <eq left="lanes1" right="#h11"/> 5232 </derived> 5233 </encoding> 5234 <encoding mask="0xffcc0" exact="0xbe800"> 5235 <and> 5236 <eq left="lanes0" right="#h01"/> 5237 <or> 5238 <eq left="lanes1" right="#b01"/> 5239 <eq left="lanes1" right="#b23"/> 5240 </or> 5241 </and> 5242 <derived start="9" size="1"> 5243 <eq left="lanes1" right="#b01"/> 5244 <eq left="lanes1" right="#b23"/> 5245 </derived> 5246 </encoding> 5247 </ins> 5248 5249 <ins name="IADD.v2u16" unit="add"> 5250 <src start="0"/> 5251 <src start="3"/> 5252 <mod name="saturate" start="8" size="1" opt="sat"/> 5253 <mod name="lanes0" size="1" default="h01"> 5254 <opt>h01</opt> 5255 <opt>h10</opt> 5256 </mod> 5257 <mod name="lanes1" size="3" default="h01"> 5258 <opt>h01</opt> 5259 <opt>h10</opt> 5260 <opt>h00</opt> 5261 <opt>h11</opt> 5262 <opt>b01</opt> 5263 <opt>b23</opt> 5264 </mod> 5265 <encoding mask="0xff840" exact="0xbc800"> 5266 <and> 5267 <or> 5268 <eq left="lanes0" right="#h01"/> 5269 <eq left="lanes0" right="#h10"/> 5270 </or> 5271 <or> 5272 <eq left="lanes1" right="#h01"/> 5273 <eq left="lanes1" right="#h10"/> 5274 </or> 5275 </and> 5276 <derived start="7" size="1"> 5277 <and alias="true"> 5278 <eq left="saturate" right="#none"/> 5279 <neq left="lanes1" right="#b01"/> 5280 <neq left="lanes1" right="#b23"/> 5281 </and> 5282 <or> 5283 <eq left="saturate" right="#sat"/> 5284 <eq left="lanes1" right="#b01"/> 5285 <eq left="lanes1" right="#b23"/> 5286 </or> 5287 </derived> 5288 <derived start="9" size="1"> 5289 <eq left="lanes1" right="#h01"/> 5290 <eq left="lanes1" right="#h10"/> 5291 </derived> 5292 <derived start="10" size="1"> 5293 <eq left="lanes0" right="#h01"/> 5294 <eq left="lanes0" right="#h10"/> 5295 </derived> 5296 </encoding> 5297 <encoding mask="0xffc40" exact="0xbec40"> 5298 <and> 5299 <eq left="lanes0" right="#h01"/> 5300 <or> 5301 <eq left="lanes1" right="#h00"/> 5302 <eq left="lanes1" right="#h11"/> 5303 </or> 5304 </and> 5305 <derived start="7" size="1"> 5306 <and alias="true"> 5307 <eq left="saturate" right="#none"/> 5308 <neq left="lanes1" right="#b01"/> 5309 <neq left="lanes1" right="#b23"/> 5310 </and> 5311 <or> 5312 <eq left="saturate" right="#sat"/> 5313 <eq left="lanes1" right="#b01"/> 5314 <eq left="lanes1" right="#b23"/> 5315 </or> 5316 </derived> 5317 <derived start="9" size="1"> 5318 <eq left="lanes1" right="#h00"/> 5319 <eq left="lanes1" right="#h11"/> 5320 </derived> 5321 </encoding> 5322 <encoding mask="0xffc40" exact="0xbe800"> 5323 <and> 5324 <eq left="lanes0" right="#h01"/> 5325 <or> 5326 <eq left="lanes1" right="#b01"/> 5327 <eq left="lanes1" right="#b23"/> 5328 </or> 5329 </and> 5330 <derived start="7" size="1"> 5331 <and alias="true"> 5332 <eq left="saturate" right="#none"/> 5333 <neq left="lanes1" right="#b01"/> 5334 <neq left="lanes1" right="#b23"/> 5335 </and> 5336 <or> 5337 <eq left="saturate" right="#sat"/> 5338 <eq left="lanes1" right="#b01"/> 5339 <eq left="lanes1" right="#b23"/> 5340 </or> 5341 </derived> 5342 <derived start="9" size="1"> 5343 <eq left="lanes1" right="#b01"/> 5344 <eq left="lanes1" right="#b23"/> 5345 </derived> 5346 </encoding> 5347 </ins> 5348 5349 <ins name="IADD.v4s8" unit="add"> 5350 <src start="0"/> 5351 <src start="3"/> 5352 <mod name="saturate" start="8" size="1" opt="sat"/> 5353 <mod name="lanes0" size="3" default="b0123"> 5354 <opt>b0123</opt> 5355 </mod> 5356 <mod name="lanes1" size="3" default="b0123"> 5357 <opt>b0123</opt> 5358 <opt>b0000</opt> 5359 <opt>b1111</opt> 5360 <opt>b2222</opt> 5361 <opt>b3333</opt> 5362 <opt>b0101</opt> 5363 <opt>b2323</opt> 5364 </mod> 5365 <encoding mask="0xffec0" exact="0xbc400"> 5366 <and> 5367 <eq left="lanes0" right="#b0123"/> 5368 <eq left="lanes1" right="#b0123"/> 5369 </and> 5370 </encoding> 5371 <encoding mask="0xff8c0" exact="0xbe040"> 5372 <and> 5373 <eq left="lanes0" right="#b0123"/> 5374 <or> 5375 <eq left="lanes1" right="#b0000"/> 5376 <eq left="lanes1" right="#b1111"/> 5377 <eq left="lanes1" right="#b2222"/> 5378 <eq left="lanes1" right="#b3333"/> 5379 </or> 5380 </and> 5381 <derived start="9" size="2"> 5382 <eq left="lanes1" right="#b0000"/> 5383 <eq left="lanes1" right="#b1111"/> 5384 <eq left="lanes1" right="#b2222"/> 5385 <eq left="lanes1" right="#b3333"/> 5386 </derived> 5387 </encoding> 5388 <encoding mask="0xffcc0" exact="0xbe840"> 5389 <and> 5390 <eq left="lanes0" right="#b0123"/> 5391 <or> 5392 <eq left="lanes1" right="#b0101"/> 5393 <eq left="lanes1" right="#b2323"/> 5394 </or> 5395 </and> 5396 <derived start="9" size="1"> 5397 <eq left="lanes1" right="#b0101"/> 5398 <eq left="lanes1" right="#b2323"/> 5399 </derived> 5400 </encoding> 5401 </ins> 5402 5403 <ins name="IADD.v4u8" unit="add"> 5404 <src start="0"/> 5405 <src start="3"/> 5406 <mod name="saturate" start="8" size="1" opt="sat"/> 5407 <mod name="lanes0" size="3" default="b0123"> 5408 <opt>b0123</opt> 5409 </mod> 5410 <mod name="lanes1" size="3" default="b0123"> 5411 <opt>b0123</opt> 5412 <opt>b0000</opt> 5413 <opt>b1111</opt> 5414 <opt>b2222</opt> 5415 <opt>b3333</opt> 5416 <opt>b0101</opt> 5417 <opt>b2323</opt> 5418 </mod> 5419 <encoding mask="0xffe40" exact="0xbc400"> 5420 <and> 5421 <eq left="lanes0" right="#b0123"/> 5422 <eq left="lanes1" right="#b0123"/> 5423 </and> 5424 <derived start="7" size="1"> 5425 <eq alias="true" left="saturate" right="#none"/> 5426 <eq left="saturate" right="#sat"/> 5427 </derived> 5428 </encoding> 5429 <encoding mask="0xff840" exact="0xbe040"> 5430 <and> 5431 <eq left="lanes0" right="#b0123"/> 5432 <or> 5433 <eq left="lanes1" right="#b0000"/> 5434 <eq left="lanes1" right="#b1111"/> 5435 <eq left="lanes1" right="#b2222"/> 5436 <eq left="lanes1" right="#b3333"/> 5437 </or> 5438 </and> 5439 <derived start="7" size="1"> 5440 <eq alias="true" left="saturate" right="#none"/> 5441 <eq left="saturate" right="#sat"/> 5442 </derived> 5443 <derived start="9" size="2"> 5444 <eq left="lanes1" right="#b0000"/> 5445 <eq left="lanes1" right="#b1111"/> 5446 <eq left="lanes1" right="#b2222"/> 5447 <eq left="lanes1" right="#b3333"/> 5448 </derived> 5449 </encoding> 5450 <encoding mask="0xffc40" exact="0xbe840"> 5451 <and> 5452 <eq left="lanes0" right="#b0123"/> 5453 <or> 5454 <eq left="lanes1" right="#b0101"/> 5455 <eq left="lanes1" right="#b2323"/> 5456 </or> 5457 </and> 5458 <derived start="7" size="1"> 5459 <eq alias="true" left="saturate" right="#none"/> 5460 <eq left="saturate" right="#sat"/> 5461 </derived> 5462 <derived start="9" size="1"> 5463 <eq left="lanes1" right="#b0101"/> 5464 <eq left="lanes1" right="#b2323"/> 5465 </derived> 5466 </encoding> 5467 </ins> 5468 5469 <ins name="ICMP.i32" mask="0xffb80" exact="0x7b300" unit="add"> 5470 <src start="0"/> 5471 <src start="3"/> 5472 <mod name="result_type" start="10" size="1" default="i1"> 5473 <opt>i1</opt> 5474 <opt>m1</opt> 5475 </mod> 5476 <mod name="cmpf" start="6" size="1"> 5477 <opt>eq</opt> 5478 <opt>ne</opt> 5479 </mod> 5480 </ins> 5481 5482 <ins name="ICMP.s32" mask="0xffb80" exact="0x7b200" unit="add"> 5483 <src start="0"/> 5484 <src start="3"/> 5485 <mod name="result_type" start="10" size="1" default="i1"> 5486 <opt>i1</opt> 5487 <opt>m1</opt> 5488 </mod> 5489 <mod name="cmpf" size="2"> 5490 <opt>gt</opt> 5491 <opt>ge</opt> 5492 <opt>lt</opt> 5493 <opt>le</opt> 5494 </mod> 5495 <derived start="6" size="1"> 5496 <eq left="cmpf" right="#gt"/> 5497 <eq left="cmpf" right="#ge"/> 5498 </derived> 5499 <swap left="0" right="1"> 5500 <or> 5501 <eq left="cmpf" right="#lt"/> 5502 <eq left="cmpf" right="#le"/> 5503 </or> 5504 <rewrite name="cmpf"> 5505 <map from="lt" to="gt"/> 5506 <map from="le" to="ge"/> 5507 </rewrite> 5508 </swap> 5509 </ins> 5510 5511 <ins name="ICMP.u32" mask="0xffb80" exact="0x7b280" unit="add"> 5512 <src start="0"/> 5513 <src start="3"/> 5514 <mod name="result_type" start="10" size="1" default="i1"> 5515 <opt>i1</opt> 5516 <opt>m1</opt> 5517 </mod> 5518 <mod name="cmpf" size="2"> 5519 <opt>gt</opt> 5520 <opt>ge</opt> 5521 <opt>lt</opt> 5522 <opt>le</opt> 5523 </mod> 5524 <derived start="6" size="1"> 5525 <eq left="cmpf" right="#gt"/> 5526 <eq left="cmpf" right="#ge"/> 5527 </derived> 5528 <swap left="0" right="1"> 5529 <or> 5530 <eq left="cmpf" right="#lt"/> 5531 <eq left="cmpf" right="#le"/> 5532 </or> 5533 <rewrite name="cmpf"> 5534 <map from="lt" to="gt"/> 5535 <map from="le" to="ge"/> 5536 </rewrite> 5537 </swap> 5538 </ins> 5539 5540 <ins name="ICMP.v2i16" mask="0xff000" exact="0x7a000" unit="add"> 5541 <src start="0"/> 5542 <src start="3"/> 5543 <mod name="swz0" start="6" size="2" default="h01"> 5544 <opt>h00</opt> 5545 <opt>h10</opt> 5546 <opt>h01</opt> 5547 <opt>h11</opt> 5548 </mod> 5549 <mod name="swz1" start="8" size="2" default="h01"> 5550 <opt>h00</opt> 5551 <opt>h10</opt> 5552 <opt>h01</opt> 5553 <opt>h11</opt> 5554 </mod> 5555 <mod name="result_type" start="10" size="1" default="i1"> 5556 <opt>i1</opt> 5557 <opt>m1</opt> 5558 </mod> 5559 <mod name="cmpf" start="11" size="1"> 5560 <opt>eq</opt> 5561 <opt>ne</opt> 5562 </mod> 5563 </ins> 5564 5565 <ins name="ICMP.v2s16" mask="0xfe800" exact="0x78000" unit="add"> 5566 <src start="0"/> 5567 <src start="3"/> 5568 <mod name="swz0" start="6" size="2" default="h01"> 5569 <opt>h00</opt> 5570 <opt>h10</opt> 5571 <opt>h01</opt> 5572 <opt>h11</opt> 5573 </mod> 5574 <mod name="swz1" start="8" size="2" default="h01"> 5575 <opt>h00</opt> 5576 <opt>h10</opt> 5577 <opt>h01</opt> 5578 <opt>h11</opt> 5579 </mod> 5580 <mod name="result_type" start="10" size="1" default="i1"> 5581 <opt>i1</opt> 5582 <opt>m1</opt> 5583 </mod> 5584 <mod name="cmpf" size="2"> 5585 <opt>gt</opt> 5586 <opt>ge</opt> 5587 <opt>lt</opt> 5588 <opt>le</opt> 5589 </mod> 5590 <derived start="12" size="1"> 5591 <eq left="cmpf" right="#gt"/> 5592 <eq left="cmpf" right="#ge"/> 5593 </derived> 5594 <swap left="0" right="1"> 5595 <or> 5596 <eq left="cmpf" right="#lt"/> 5597 <eq left="cmpf" right="#le"/> 5598 </or> 5599 <rewrite name="cmpf"> 5600 <map from="lt" to="gt"/> 5601 <map from="le" to="ge"/> 5602 </rewrite> 5603 </swap> 5604 </ins> 5605 5606 <ins name="ICMP.v2u16" mask="0xfe800" exact="0x78800" unit="add"> 5607 <src start="0"/> 5608 <src start="3"/> 5609 <mod name="swz0" start="6" size="2" default="h01"> 5610 <opt>h00</opt> 5611 <opt>h10</opt> 5612 <opt>h01</opt> 5613 <opt>h11</opt> 5614 </mod> 5615 <mod name="swz1" start="8" size="2" default="h01"> 5616 <opt>h00</opt> 5617 <opt>h10</opt> 5618 <opt>h01</opt> 5619 <opt>h11</opt> 5620 </mod> 5621 <mod name="result_type" start="10" size="1" default="i1"> 5622 <opt>i1</opt> 5623 <opt>m1</opt> 5624 </mod> 5625 <mod name="cmpf" size="2"> 5626 <opt>gt</opt> 5627 <opt>ge</opt> 5628 <opt>lt</opt> 5629 <opt>le</opt> 5630 </mod> 5631 <derived start="12" size="1"> 5632 <eq left="cmpf" right="#gt"/> 5633 <eq left="cmpf" right="#ge"/> 5634 </derived> 5635 <swap left="0" right="1"> 5636 <or> 5637 <eq left="cmpf" right="#lt"/> 5638 <eq left="cmpf" right="#le"/> 5639 </or> 5640 <rewrite name="cmpf"> 5641 <map from="lt" to="gt"/> 5642 <map from="le" to="ge"/> 5643 </rewrite> 5644 </swap> 5645 </ins> 5646 5647 <ins name="ICMP.v4i8" mask="0xffb80" exact="0x7b100" unit="add"> 5648 <src start="0"/> 5649 <src start="3"/> 5650 <mod name="result_type" start="10" size="1" default="i1"> 5651 <opt>i1</opt> 5652 <opt>m1</opt> 5653 </mod> 5654 <mod name="cmpf" start="6" size="1"> 5655 <opt>eq</opt> 5656 <opt>ne</opt> 5657 </mod> 5658 </ins> 5659 5660 <ins name="ICMP.v4s8" mask="0xffb80" exact="0x7b000" unit="add"> 5661 <src start="0"/> 5662 <src start="3"/> 5663 <mod name="result_type" start="10" size="1" default="i1"> 5664 <opt>i1</opt> 5665 <opt>m1</opt> 5666 </mod> 5667 <mod name="cmpf" size="2"> 5668 <opt>gt</opt> 5669 <opt>ge</opt> 5670 <opt>lt</opt> 5671 <opt>le</opt> 5672 </mod> 5673 <derived start="6" size="1"> 5674 <eq left="cmpf" right="#gt"/> 5675 <eq left="cmpf" right="#ge"/> 5676 </derived> 5677 <swap left="0" right="1"> 5678 <or> 5679 <eq left="cmpf" right="#lt"/> 5680 <eq left="cmpf" right="#le"/> 5681 </or> 5682 <rewrite name="cmpf"> 5683 <map from="lt" to="gt"/> 5684 <map from="le" to="ge"/> 5685 </rewrite> 5686 </swap> 5687 </ins> 5688 5689 <ins name="ICMP.v4u8" mask="0xffb80" exact="0x7b080" unit="add"> 5690 <src start="0"/> 5691 <src start="3"/> 5692 <mod name="result_type" start="10" size="1" default="i1"> 5693 <opt>i1</opt> 5694 <opt>m1</opt> 5695 </mod> 5696 <mod name="cmpf" size="2"> 5697 <opt>gt</opt> 5698 <opt>ge</opt> 5699 <opt>lt</opt> 5700 <opt>le</opt> 5701 </mod> 5702 <derived start="6" size="1"> 5703 <eq left="cmpf" right="#gt"/> 5704 <eq left="cmpf" right="#ge"/> 5705 </derived> 5706 <swap left="0" right="1"> 5707 <or> 5708 <eq left="cmpf" right="#lt"/> 5709 <eq left="cmpf" right="#le"/> 5710 </or> 5711 <rewrite name="cmpf"> 5712 <map from="lt" to="gt"/> 5713 <map from="le" to="ge"/> 5714 </rewrite> 5715 </swap> 5716 </ins> 5717 5718 <ins name="ICMPF.i32" mask="0xffe00" exact="0x7be00" unit="add"> 5719 <src start="0"/> 5720 <src start="3"/> 5721 <src start="6"/> 5722 </ins> 5723 5724 <ins name="ICMPI.i32" mask="0xffb80" exact="0x7b900" unit="add"> 5725 <src start="0"/> 5726 <src start="3"/> 5727 <mod name="result_type" start="10" size="1" default="i1"> 5728 <opt>i1</opt> 5729 <opt>m1</opt> 5730 </mod> 5731 <mod name="cmpf" start="6" size="1"> 5732 <opt>eq</opt> 5733 <opt>ne</opt> 5734 </mod> 5735 </ins> 5736 5737 <ins name="ICMPI.s32" mask="0xffb80" exact="0x7b800" unit="add"> 5738 <src start="0"/> 5739 <src start="3"/> 5740 <mod name="result_type" start="10" size="1" default="i1"> 5741 <opt>i1</opt> 5742 <opt>m1</opt> 5743 </mod> 5744 <mod name="cmpf" start="6" size="1"> 5745 <opt>gt</opt> 5746 <opt>ge</opt> 5747 </mod> 5748 </ins> 5749 5750 <ins name="ICMPI.u32" mask="0xffb80" exact="0x7b880" unit="add"> 5751 <src start="0"/> 5752 <src start="3"/> 5753 <mod name="result_type" start="10" size="1" default="i1"> 5754 <opt>i1</opt> 5755 <opt>m1</opt> 5756 </mod> 5757 <mod name="cmpf" start="6" size="1"> 5758 <opt>gt</opt> 5759 <opt>ge</opt> 5760 </mod> 5761 </ins> 5762 5763 <ins name="ICMPM.i32" mask="0xffe00" exact="0x7ba00" unit="add"> 5764 <src start="0"/> 5765 <src start="3"/> 5766 <src start="6"/> 5767 </ins> 5768 5769 <ins name="ILOGB.f32" mask="0xfffe0" exact="0x3d9e0" unit="add"> 5770 <src start="0"/> 5771 <mod name="widen0" start="3" size="2"> 5772 <reserved/> 5773 <opt>none</opt> 5774 <opt>h0</opt> 5775 <opt>h1</opt> 5776 </mod> 5777 </ins> 5778 5779 <ins name="ILOGB.v2f16" mask="0xfffe0" exact="0x3d9c0" unit="add"> 5780 <src start="0"/> 5781 <mod name="swz0" start="3" size="2" default="h01"> 5782 <opt>h00</opt> 5783 <opt>h10</opt> 5784 <opt>h01</opt> 5785 <opt>h11</opt> 5786 </mod> 5787 </ins> 5788 5789 <ins name="IMOV_FMA" mask="0xffff7" exact="0xd7820" unit="add"> 5790 <mod name="threads" start="3" size="1" default="odd"> 5791 <opt>even</opt> 5792 <opt>odd</opt> 5793 </mod> 5794 </ins> 5795 5796 <ins name="ISUB.s32" unit="add"> 5797 <src start="0"/> 5798 <src start="3"/> 5799 <mod name="saturate" start="8" size="1" opt="sat"/> 5800 <mod name="lanes1" size="3"> 5801 <opt>none</opt> 5802 <opt>h0</opt> 5803 <opt>h1</opt> 5804 <opt>b0</opt> 5805 <opt>b1</opt> 5806 <opt>b2</opt> 5807 <opt>b3</opt> 5808 </mod> 5809 <encoding mask="0xffec0" exact="0xbd600"> 5810 <eq left="lanes1" right="#none"/> 5811 </encoding> 5812 <encoding mask="0xffcc0" exact="0xbfc00"> 5813 <or> 5814 <eq left="lanes1" right="#h0"/> 5815 <eq left="lanes1" right="#h1"/> 5816 </or> 5817 <derived start="9" size="1"> 5818 <eq left="lanes1" right="#h0"/> 5819 <eq left="lanes1" right="#h1"/> 5820 </derived> 5821 </encoding> 5822 <encoding mask="0xff8c0" exact="0xbf000"> 5823 <or> 5824 <eq left="lanes1" right="#b0"/> 5825 <eq left="lanes1" right="#b1"/> 5826 <eq left="lanes1" right="#b2"/> 5827 <eq left="lanes1" right="#b3"/> 5828 </or> 5829 <derived start="9" size="2"> 5830 <eq left="lanes1" right="#b0"/> 5831 <eq left="lanes1" right="#b1"/> 5832 <eq left="lanes1" right="#b2"/> 5833 <eq left="lanes1" right="#b3"/> 5834 </derived> 5835 </encoding> 5836 </ins> 5837 5838 <ins name="ISUB.u32" unit="add"> 5839 <src start="0"/> 5840 <src start="3"/> 5841 <mod name="saturate" start="8" size="1" opt="sat"/> 5842 <mod name="lanes1" size="3"> 5843 <opt>none</opt> 5844 <opt>h0</opt> 5845 <opt>h1</opt> 5846 <opt>b0</opt> 5847 <opt>b1</opt> 5848 <opt>b2</opt> 5849 <opt>b3</opt> 5850 </mod> 5851 <encoding mask="0xffe40" exact="0xbd600"> 5852 <eq left="lanes1" right="#none"/> 5853 <derived start="7" size="1"> 5854 <and alias="true"> 5855 <eq left="saturate" right="#none"/> 5856 <eq left="lanes1" right="#none"/> 5857 </and> 5858 <or> 5859 <eq left="saturate" right="#sat"/> 5860 <neq left="lanes1" right="#none"/> 5861 </or> 5862 </derived> 5863 </encoding> 5864 <encoding mask="0xffc40" exact="0xbfc00"> 5865 <or> 5866 <eq left="lanes1" right="#h0"/> 5867 <eq left="lanes1" right="#h1"/> 5868 </or> 5869 <derived start="7" size="1"> 5870 <and alias="true"> 5871 <eq left="saturate" right="#none"/> 5872 <eq left="lanes1" right="#none"/> 5873 </and> 5874 <or> 5875 <eq left="saturate" right="#sat"/> 5876 <neq left="lanes1" right="#none"/> 5877 </or> 5878 </derived> 5879 <derived start="9" size="1"> 5880 <eq left="lanes1" right="#h0"/> 5881 <eq left="lanes1" right="#h1"/> 5882 </derived> 5883 </encoding> 5884 <encoding mask="0xff840" exact="0xbf000"> 5885 <or> 5886 <eq left="lanes1" right="#b0"/> 5887 <eq left="lanes1" right="#b1"/> 5888 <eq left="lanes1" right="#b2"/> 5889 <eq left="lanes1" right="#b3"/> 5890 </or> 5891 <derived start="7" size="1"> 5892 <and alias="true"> 5893 <eq left="saturate" right="#none"/> 5894 <eq left="lanes1" right="#none"/> 5895 </and> 5896 <or> 5897 <eq left="saturate" right="#sat"/> 5898 <neq left="lanes1" right="#none"/> 5899 </or> 5900 </derived> 5901 <derived start="9" size="2"> 5902 <eq left="lanes1" right="#b0"/> 5903 <eq left="lanes1" right="#b1"/> 5904 <eq left="lanes1" right="#b2"/> 5905 <eq left="lanes1" right="#b3"/> 5906 </derived> 5907 </encoding> 5908 </ins> 5909 5910 <ins name="ISUB.v2s16" unit="add"> 5911 <src start="0"/> 5912 <src start="3"/> 5913 <mod name="saturate" start="8" size="1" opt="sat"/> 5914 <mod name="lanes0" size="1" default="h01"> 5915 <opt>h01</opt> 5916 <opt>h10</opt> 5917 </mod> 5918 <mod name="lanes1" size="3" default="h01"> 5919 <opt>h01</opt> 5920 <opt>h10</opt> 5921 <opt>h00</opt> 5922 <opt>h11</opt> 5923 <opt>b01</opt> 5924 <opt>b23</opt> 5925 </mod> 5926 <encoding mask="0xff8c0" exact="0xbd800"> 5927 <and> 5928 <or> 5929 <eq left="lanes0" right="#h01"/> 5930 <eq left="lanes0" right="#h10"/> 5931 </or> 5932 <or> 5933 <eq left="lanes1" right="#h01"/> 5934 <eq left="lanes1" right="#h10"/> 5935 </or> 5936 </and> 5937 <derived start="9" size="1"> 5938 <eq left="lanes1" right="#h01"/> 5939 <eq left="lanes1" right="#h10"/> 5940 </derived> 5941 <derived start="10" size="1"> 5942 <eq left="lanes0" right="#h01"/> 5943 <eq left="lanes0" right="#h10"/> 5944 </derived> 5945 </encoding> 5946 <encoding mask="0xffcc0" exact="0xbfc40"> 5947 <and> 5948 <eq left="lanes0" right="#h01"/> 5949 <or> 5950 <eq left="lanes1" right="#h00"/> 5951 <eq left="lanes1" right="#h11"/> 5952 </or> 5953 </and> 5954 <derived start="9" size="1"> 5955 <eq left="lanes1" right="#h00"/> 5956 <eq left="lanes1" right="#h11"/> 5957 </derived> 5958 </encoding> 5959 <encoding mask="0xffcc0" exact="0xbf800"> 5960 <and> 5961 <eq left="lanes0" right="#h01"/> 5962 <or> 5963 <eq left="lanes1" right="#b01"/> 5964 <eq left="lanes1" right="#b23"/> 5965 </or> 5966 </and> 5967 <derived start="9" size="1"> 5968 <eq left="lanes1" right="#b01"/> 5969 <eq left="lanes1" right="#b23"/> 5970 </derived> 5971 </encoding> 5972 </ins> 5973 5974 <ins name="ISUB.v2u16" unit="add"> 5975 <src start="0"/> 5976 <src start="3"/> 5977 <mod name="saturate" start="8" size="1" opt="sat"/> 5978 <mod name="lanes0" size="1" default="h01"> 5979 <opt>h01</opt> 5980 <opt>h10</opt> 5981 </mod> 5982 <mod name="lanes1" size="3" default="h01"> 5983 <opt>h01</opt> 5984 <opt>h10</opt> 5985 <opt>h00</opt> 5986 <opt>h11</opt> 5987 <opt>b01</opt> 5988 <opt>b23</opt> 5989 </mod> 5990 <encoding mask="0xff840" exact="0xbd800"> 5991 <and> 5992 <or> 5993 <eq left="lanes0" right="#h01"/> 5994 <eq left="lanes0" right="#h10"/> 5995 </or> 5996 <or> 5997 <eq left="lanes1" right="#h01"/> 5998 <eq left="lanes1" right="#h10"/> 5999 </or> 6000 </and> 6001 <derived start="7" size="1"> 6002 <and alias="true"> 6003 <eq left="saturate" right="#none"/> 6004 <neq left="lanes1" right="#b01"/> 6005 <neq left="lanes1" right="#b23"/> 6006 </and> 6007 <or> 6008 <eq left="saturate" right="#sat"/> 6009 <eq left="lanes1" right="#b01"/> 6010 <eq left="lanes1" right="#b23"/> 6011 </or> 6012 </derived> 6013 <derived start="9" size="1"> 6014 <eq left="lanes1" right="#h01"/> 6015 <eq left="lanes1" right="#h10"/> 6016 </derived> 6017 <derived start="10" size="1"> 6018 <eq left="lanes0" right="#h01"/> 6019 <eq left="lanes0" right="#h10"/> 6020 </derived> 6021 </encoding> 6022 <encoding mask="0xffc40" exact="0xbfc40"> 6023 <and> 6024 <eq left="lanes0" right="#h01"/> 6025 <or> 6026 <eq left="lanes1" right="#h00"/> 6027 <eq left="lanes1" right="#h11"/> 6028 </or> 6029 </and> 6030 <derived start="7" size="1"> 6031 <and alias="true"> 6032 <eq left="saturate" right="#none"/> 6033 <neq left="lanes1" right="#b01"/> 6034 <neq left="lanes1" right="#b23"/> 6035 </and> 6036 <or> 6037 <eq left="saturate" right="#sat"/> 6038 <eq left="lanes1" right="#b01"/> 6039 <eq left="lanes1" right="#b23"/> 6040 </or> 6041 </derived> 6042 <derived start="9" size="1"> 6043 <eq left="lanes1" right="#h00"/> 6044 <eq left="lanes1" right="#h11"/> 6045 </derived> 6046 </encoding> 6047 <encoding mask="0xffc40" exact="0xbf800"> 6048 <and> 6049 <eq left="lanes0" right="#h01"/> 6050 <or> 6051 <eq left="lanes1" right="#b01"/> 6052 <eq left="lanes1" right="#b23"/> 6053 </or> 6054 </and> 6055 <derived start="7" size="1"> 6056 <and alias="true"> 6057 <eq left="saturate" right="#none"/> 6058 <neq left="lanes1" right="#b01"/> 6059 <neq left="lanes1" right="#b23"/> 6060 </and> 6061 <or> 6062 <eq left="saturate" right="#sat"/> 6063 <eq left="lanes1" right="#b01"/> 6064 <eq left="lanes1" right="#b23"/> 6065 </or> 6066 </derived> 6067 <derived start="9" size="1"> 6068 <eq left="lanes1" right="#b01"/> 6069 <eq left="lanes1" right="#b23"/> 6070 </derived> 6071 </encoding> 6072 </ins> 6073 6074 <ins name="ISUB.v4s8" unit="add"> 6075 <src start="0"/> 6076 <src start="3"/> 6077 <mod name="saturate" start="8" size="1" opt="sat"/> 6078 <mod name="lanes0" size="3" default="b0123"> 6079 <opt>b0123</opt> 6080 </mod> 6081 <mod name="lanes1" size="3" default="b0123"> 6082 <opt>b0123</opt> 6083 <opt>b0000</opt> 6084 <opt>b1111</opt> 6085 <opt>b2222</opt> 6086 <opt>b3333</opt> 6087 <opt>b0101</opt> 6088 <opt>b2323</opt> 6089 </mod> 6090 <encoding mask="0xffec0" exact="0xbd400"> 6091 <and> 6092 <eq left="lanes0" right="#b0123"/> 6093 <eq left="lanes1" right="#b0123"/> 6094 </and> 6095 </encoding> 6096 <encoding mask="0xff8c0" exact="0xbf040"> 6097 <and> 6098 <eq left="lanes0" right="#b0123"/> 6099 <or> 6100 <eq left="lanes1" right="#b0000"/> 6101 <eq left="lanes1" right="#b1111"/> 6102 <eq left="lanes1" right="#b2222"/> 6103 <eq left="lanes1" right="#b3333"/> 6104 </or> 6105 </and> 6106 <derived start="9" size="2"> 6107 <eq left="lanes1" right="#b0000"/> 6108 <eq left="lanes1" right="#b1111"/> 6109 <eq left="lanes1" right="#b2222"/> 6110 <eq left="lanes1" right="#b3333"/> 6111 </derived> 6112 </encoding> 6113 <encoding mask="0xffcc0" exact="0xbf840"> 6114 <and> 6115 <eq left="lanes0" right="#b0123"/> 6116 <or> 6117 <eq left="lanes1" right="#b0101"/> 6118 <eq left="lanes1" right="#b2323"/> 6119 </or> 6120 </and> 6121 <derived start="9" size="1"> 6122 <eq left="lanes1" right="#b0101"/> 6123 <eq left="lanes1" right="#b2323"/> 6124 </derived> 6125 </encoding> 6126 </ins> 6127 6128 <ins name="ISUB.v4u8" unit="add"> 6129 <src start="0"/> 6130 <src start="3"/> 6131 <mod name="saturate" start="8" size="1" opt="sat"/> 6132 <mod name="lanes0" size="3" default="b0123"> 6133 <opt>b0123</opt> 6134 </mod> 6135 <mod name="lanes1" size="3" default="b0123"> 6136 <opt>b0123</opt> 6137 <opt>b0000</opt> 6138 <opt>b1111</opt> 6139 <opt>b2222</opt> 6140 <opt>b3333</opt> 6141 <opt>b0101</opt> 6142 <opt>b2323</opt> 6143 </mod> 6144 <encoding mask="0xffe40" exact="0xbd400"> 6145 <and> 6146 <eq left="lanes0" right="#b0123"/> 6147 <eq left="lanes1" right="#b0123"/> 6148 </and> 6149 <derived start="7" size="1"> 6150 <eq alias="true" left="saturate" right="#none"/> 6151 <eq left="saturate" right="#sat"/> 6152 </derived> 6153 </encoding> 6154 <encoding mask="0xff840" exact="0xbf040"> 6155 <and> 6156 <eq left="lanes0" right="#b0123"/> 6157 <or> 6158 <eq left="lanes1" right="#b0000"/> 6159 <eq left="lanes1" right="#b1111"/> 6160 <eq left="lanes1" right="#b2222"/> 6161 <eq left="lanes1" right="#b3333"/> 6162 </or> 6163 </and> 6164 <derived start="7" size="1"> 6165 <eq alias="true" left="saturate" right="#none"/> 6166 <eq left="saturate" right="#sat"/> 6167 </derived> 6168 <derived start="9" size="2"> 6169 <eq left="lanes1" right="#b0000"/> 6170 <eq left="lanes1" right="#b1111"/> 6171 <eq left="lanes1" right="#b2222"/> 6172 <eq left="lanes1" right="#b3333"/> 6173 </derived> 6174 </encoding> 6175 <encoding mask="0xffc40" exact="0xbf840"> 6176 <and> 6177 <eq left="lanes0" right="#b0123"/> 6178 <or> 6179 <eq left="lanes1" right="#b0101"/> 6180 <eq left="lanes1" right="#b2323"/> 6181 </or> 6182 </and> 6183 <derived start="7" size="1"> 6184 <eq alias="true" left="saturate" right="#none"/> 6185 <eq left="saturate" right="#sat"/> 6186 </derived> 6187 <derived start="9" size="1"> 6188 <eq left="lanes1" right="#b0101"/> 6189 <eq left="lanes1" right="#b2323"/> 6190 </derived> 6191 </encoding> 6192 </ins> 6193 6194 <ins name="JUMP" mask="0xffe3f" exact="0x6fe34" last="true" dests="0" unit="add"> 6195 <src start="6" mask="0xf7"/> 6196 </ins> 6197 6198 <ins name="KABOOM" mask="0xffff8" exact="0xd7858" message="job" dests="0" unit="add"> 6199 <src start="0"/> 6200 </ins> 6201 6202 <ins name="LDEXP.f32" mask="0xffe00" exact="0x74c00" unit="add"> 6203 <src start="0"/> 6204 <src start="3"/> 6205 <mod name="round" start="6" size="3"> 6206 <opt>none</opt> 6207 <opt>rtp</opt> 6208 <opt>rtn</opt> 6209 <opt>rtz</opt> 6210 <opt>rtna</opt> 6211 <reserved/> 6212 <opt>inf</opt> 6213 <opt>inf0</opt> 6214 </mod> 6215 </ins> 6216 6217 <ins name="LDEXP.v2f16" mask="0xffe00" exact="0x74e00" unit="add"> 6218 <src start="0"/> 6219 <src start="3"/> 6220 <mod name="round" start="6" size="3"> 6221 <opt>none</opt> 6222 <opt>rtp</opt> 6223 <opt>rtn</opt> 6224 <opt>rtz</opt> 6225 <opt>rtna</opt> 6226 <reserved/> 6227 <opt>inf</opt> 6228 <opt>inf0</opt> 6229 </mod> 6230 </ins> 6231 6232 <ins name="LD_ATTR" staging="w=format" message="attribute" unit="add"> 6233 <src start="0"/> 6234 <src start="3"/> 6235 <src start="6"/> 6236 <mod name="register_format" size="4"> 6237 <opt>f16</opt> 6238 <opt>f32</opt> 6239 <opt>s32</opt> 6240 <opt>u32</opt> 6241 <opt>s16</opt> 6242 <opt>u16</opt> 6243 <opt>f64</opt> 6244 <opt>i64</opt> 6245 <opt>auto</opt> 6246 </mod> 6247 <mod name="vecsize" start="11" size="2"> 6248 <opt>none</opt> 6249 <opt>v2</opt> 6250 <opt>v3</opt> 6251 <opt>v4</opt> 6252 </mod> 6253 <encoding mask="0xf0600" exact="0x40400"> 6254 <neq left="register_format" right="#auto"/> 6255 <derived start="13" size="3"> 6256 <eq left="register_format" right="#f16"/> 6257 <eq left="register_format" right="#f32"/> 6258 <eq left="register_format" right="#s32"/> 6259 <eq left="register_format" right="#u32"/> 6260 <eq left="register_format" right="#s16"/> 6261 <eq left="register_format" right="#u16"/> 6262 <eq left="register_format" right="#f64"/> 6263 <eq left="register_format" right="#i64"/> 6264 </derived> 6265 </encoding> 6266 <encoding mask="0xfe600" exact="0xc4400"> 6267 <eq left="register_format" right="#auto"/> 6268 </encoding> 6269 </ins> 6270 6271 <ins name="LD_ATTR_IMM" staging="w=format" message="attribute" unit="add"> 6272 <src start="0"/> 6273 <src start="3"/> 6274 <immediate name="attribute_index" start="6" size="4"/> 6275 <mod name="register_format" size="4"> 6276 <opt>f16</opt> 6277 <opt>f32</opt> 6278 <opt>s32</opt> 6279 <opt>u32</opt> 6280 <opt>s16</opt> 6281 <opt>u16</opt> 6282 <opt>f64</opt> 6283 <opt>i64</opt> 6284 <opt>auto</opt> 6285 </mod> 6286 <mod name="vecsize" start="11" size="2"> 6287 <opt>none</opt> 6288 <opt>v2</opt> 6289 <opt>v3</opt> 6290 <opt>v4</opt> 6291 </mod> 6292 <encoding mask="0xf0400" exact="0x40000"> 6293 <neq left="register_format" right="#auto"/> 6294 <derived start="13" size="3"> 6295 <eq left="register_format" right="#f16"/> 6296 <eq left="register_format" right="#f32"/> 6297 <eq left="register_format" right="#s32"/> 6298 <eq left="register_format" right="#u32"/> 6299 <eq left="register_format" right="#s16"/> 6300 <eq left="register_format" right="#u16"/> 6301 <eq left="register_format" right="#f64"/> 6302 <eq left="register_format" right="#i64"/> 6303 </derived> 6304 </encoding> 6305 <encoding mask="0xfe400" exact="0xc4000"> 6306 <eq left="register_format" right="#auto"/> 6307 </encoding> 6308 </ins> 6309 6310 <ins name="LD_ATTR_TEX" staging="w=format" message="attribute" unit="add"> 6311 <src start="0"/> 6312 <src start="3"/> 6313 <src start="6"/> 6314 <mod name="register_format" size="4"> 6315 <opt>f16</opt> 6316 <opt>f32</opt> 6317 <opt>s32</opt> 6318 <opt>u32</opt> 6319 <opt>s16</opt> 6320 <opt>u16</opt> 6321 <opt>f64</opt> 6322 <opt>i64</opt> 6323 <opt>auto</opt> 6324 </mod> 6325 <mod name="vecsize" start="11" size="2"> 6326 <opt>none</opt> 6327 <opt>v2</opt> 6328 <opt>v3</opt> 6329 <opt>v4</opt> 6330 </mod> 6331 <encoding mask="0xf0600" exact="0x40600"> 6332 <neq left="register_format" right="#auto"/> 6333 <derived start="13" size="3"> 6334 <eq left="register_format" right="#f16"/> 6335 <eq left="register_format" right="#f32"/> 6336 <eq left="register_format" right="#s32"/> 6337 <eq left="register_format" right="#u32"/> 6338 <eq left="register_format" right="#s16"/> 6339 <eq left="register_format" right="#u16"/> 6340 <eq left="register_format" right="#f64"/> 6341 <eq left="register_format" right="#i64"/> 6342 </derived> 6343 </encoding> 6344 <encoding mask="0xfe600" exact="0xc4600"> 6345 <eq left="register_format" right="#auto"/> 6346 </encoding> 6347 </ins> 6348 6349 <ins name="LD_CVT" staging="w=format" mask="0xff800" exact="0xc9000" message="load" unit="add"> 6350 <src start="0"/> 6351 <src start="3"/> 6352 <src start="6" mask="0xf7"/> 6353 <mod name="register_format" size="4" pseudo="true"> 6354 <opt>f16</opt> 6355 <opt>f32</opt> 6356 <opt>s32</opt> 6357 <opt>u32</opt> 6358 <opt>s16</opt> 6359 <opt>u16</opt> 6360 <opt>f64</opt> 6361 <opt>i64</opt> 6362 </mod> 6363 <mod name="vecsize" start="9" size="2"> 6364 <opt>none</opt> 6365 <opt>v2</opt> 6366 <opt>v3</opt> 6367 <opt>v4</opt> 6368 </mod> 6369 </ins> 6370 6371 <ins name="LD_GCLK.u64" staging="w=2" mask="0xffff8" exact="0xd7800" message="attribute" unit="add"> 6372 <mod name="source" start="0" size="3"> 6373 <reserved/> 6374 <reserved/> 6375 <reserved/> 6376 <reserved/> 6377 <reserved/> 6378 <reserved/> 6379 <opt>system_timestamp</opt> 6380 <opt>cycle_counter</opt> 6381 </mod> 6382 </ins> 6383 6384 <ins name="LD_TILE" staging="w=format" mask="0xff800" exact="0xcb000" message="tile" unit="add"> 6385 <src start="0"/> 6386 <src start="3"/> 6387 <src start="6" mask="0xf7"/> 6388 <mod name="vecsize" start="9" size="2"> 6389 <opt>none</opt> 6390 <opt>v2</opt> 6391 <opt>v3</opt> 6392 <opt>v4</opt> 6393 </mod> 6394 <mod name="register_format" size="3" pseudo="true"> 6395 <opt>f32</opt> 6396 <opt>f16</opt> 6397 <opt>u32</opt> 6398 <opt>s32</opt> 6399 </mod> 6400 </ins> 6401 6402 <ins name="LD_VAR" staging="w=format" message="varying" unit="add"> 6403 <src start="0"/> 6404 <src start="3"/> 6405 <mod name="vecsize" start="8" size="2"> 6406 <opt>none</opt> 6407 <opt>v2</opt> 6408 <opt>v3</opt> 6409 <opt>v4</opt> 6410 </mod> 6411 <mod name="update" size="2"> 6412 <opt>store</opt> 6413 <opt>retrieve</opt> 6414 <opt>conditional</opt> 6415 <opt>clobber</opt> 6416 </mod> 6417 <mod name="register_format" size="2"> 6418 <opt>f32</opt> 6419 <opt>f16</opt> 6420 <opt>auto</opt> 6421 </mod> 6422 <mod name="sample" size="3"> 6423 <opt>center</opt> 6424 <opt>centroid</opt> 6425 <opt>sample</opt> 6426 <opt>explicit</opt> 6427 <opt>none</opt> 6428 </mod> 6429 <encoding mask="0x7c0c0" exact="0x500c0"> 6430 <neq left="register_format" right="#auto"/> 6431 <derived start="19" size="1"> 6432 <eq left="register_format" right="#f32"/> 6433 <eq left="register_format" right="#f16"/> 6434 </derived> 6435 <derived start="10" size="4"> 6436 <and> 6437 <eq left="sample" right="#center"/> 6438 <eq left="update" right="#store"/> 6439 </and> 6440 <and> 6441 <eq left="sample" right="#centroid"/> 6442 <eq left="update" right="#store"/> 6443 </and> 6444 <and> 6445 <eq left="sample" right="#sample"/> 6446 <eq left="update" right="#store"/> 6447 </and> 6448 <and> 6449 <eq left="sample" right="#explicit"/> 6450 <eq left="update" right="#store"/> 6451 </and> 6452 <and> 6453 <eq left="sample" right="#none"/> 6454 <eq left="update" right="#retrieve"/> 6455 </and> 6456 <reserved/> 6457 <reserved/> 6458 <reserved/> 6459 <and> 6460 <eq left="sample" right="#center"/> 6461 <eq left="update" right="#conditional"/> 6462 </and> 6463 <and> 6464 <eq left="sample" right="#centroid"/> 6465 <eq left="update" right="#conditional"/> 6466 </and> 6467 <and> 6468 <eq left="sample" right="#center"/> 6469 <eq left="update" right="#clobber"/> 6470 </and> 6471 <and> 6472 <eq left="sample" right="#centroid"/> 6473 <eq left="update" right="#clobber"/> 6474 </and> 6475 <and> 6476 <eq left="sample" right="#sample"/> 6477 <eq left="update" right="#clobber"/> 6478 </and> 6479 <and> 6480 <eq left="sample" right="#explicit"/> 6481 <eq left="update" right="#clobber"/> 6482 </and> 6483 <reserved/> 6484 <reserved/> 6485 </derived> 6486 </encoding> 6487 <encoding mask="0xfc0c0" exact="0xcc0c0"> 6488 <eq left="register_format" right="#auto"/> 6489 <derived start="10" size="4"> 6490 <and> 6491 <eq left="sample" right="#center"/> 6492 <eq left="update" right="#store"/> 6493 </and> 6494 <and> 6495 <eq left="sample" right="#centroid"/> 6496 <eq left="update" right="#store"/> 6497 </and> 6498 <and> 6499 <eq left="sample" right="#sample"/> 6500 <eq left="update" right="#store"/> 6501 </and> 6502 <and> 6503 <eq left="sample" right="#explicit"/> 6504 <eq left="update" right="#store"/> 6505 </and> 6506 <and> 6507 <eq left="sample" right="#none"/> 6508 <eq left="update" right="#retrieve"/> 6509 </and> 6510 <reserved/> 6511 <reserved/> 6512 <reserved/> 6513 <and> 6514 <eq left="sample" right="#center"/> 6515 <eq left="update" right="#conditional"/> 6516 </and> 6517 <and> 6518 <eq left="sample" right="#centroid"/> 6519 <eq left="update" right="#conditional"/> 6520 </and> 6521 <and> 6522 <eq left="sample" right="#center"/> 6523 <eq left="update" right="#clobber"/> 6524 </and> 6525 <and> 6526 <eq left="sample" right="#centroid"/> 6527 <eq left="update" right="#clobber"/> 6528 </and> 6529 <and> 6530 <eq left="sample" right="#sample"/> 6531 <eq left="update" right="#clobber"/> 6532 </and> 6533 <and> 6534 <eq left="sample" right="#explicit"/> 6535 <eq left="update" right="#clobber"/> 6536 </and> 6537 <reserved/> 6538 <reserved/> 6539 </derived> 6540 </encoding> 6541 </ins> 6542 6543 <ins name="LD_VAR_FLAT" staging="w=format" message="varying" unit="add"> 6544 <src start="3"/> 6545 <mod name="vecsize" start="8" size="2"> 6546 <opt>none</opt> 6547 <opt>v2</opt> 6548 <opt>v3</opt> 6549 <opt>v4</opt> 6550 </mod> 6551 <mod name="register_format" size="3"> 6552 <opt>f32</opt> 6553 <opt>f16</opt> 6554 <opt>u32</opt> 6555 <opt>s32</opt> 6556 <opt>auto</opt> 6557 </mod> 6558 <mod name="function" start="0" size="3"> 6559 <reserved/> 6560 <reserved/> 6561 <reserved/> 6562 <opt>none</opt> 6563 <reserved/> 6564 <reserved/> 6565 <opt>and</opt> 6566 <opt>or</opt> 6567 </mod> 6568 <encoding mask="0x7f8c0" exact="0x538c0"> 6569 <neq left="register_format" right="#auto"/> 6570 <derived start="10" size="1"> 6571 <or> 6572 <eq left="register_format" right="#f32"/> 6573 <eq left="register_format" right="#f16"/> 6574 </or> 6575 <or> 6576 <eq left="register_format" right="#u32"/> 6577 <eq left="register_format" right="#s32"/> 6578 </or> 6579 </derived> 6580 <derived start="19" size="1"> 6581 <or> 6582 <eq left="register_format" right="#f32"/> 6583 <eq left="register_format" right="#u32"/> 6584 </or> 6585 <or> 6586 <eq left="register_format" right="#f16"/> 6587 <eq left="register_format" right="#s32"/> 6588 </or> 6589 </derived> 6590 </encoding> 6591 <encoding mask="0xffcc0" exact="0xcf8c0"> 6592 <eq left="register_format" right="#auto"/> 6593 </encoding> 6594 </ins> 6595 6596 <ins name="LD_VAR_FLAT_IMM" staging="w=format" message="varying" unit="add"> 6597 <immediate name="index" start="3" size="5"/> 6598 <mod name="vecsize" start="8" size="2"> 6599 <opt>none</opt> 6600 <opt>v2</opt> 6601 <opt>v3</opt> 6602 <opt>v4</opt> 6603 </mod> 6604 <mod name="register_format" size="3"> 6605 <opt>f32</opt> 6606 <opt>f16</opt> 6607 <opt>u32</opt> 6608 <opt>s32</opt> 6609 <opt>auto</opt> 6610 </mod> 6611 <mod name="function" start="0" size="3"> 6612 <reserved/> 6613 <reserved/> 6614 <reserved/> 6615 <opt>none</opt> 6616 <reserved/> 6617 <reserved/> 6618 <opt>and</opt> 6619 <opt>or</opt> 6620 </mod> 6621 <encoding mask="0x7f800" exact="0x53800"> 6622 <neq left="register_format" right="#auto"/> 6623 <derived start="10" size="1"> 6624 <or> 6625 <eq left="register_format" right="#f32"/> 6626 <eq left="register_format" right="#f16"/> 6627 </or> 6628 <or> 6629 <eq left="register_format" right="#u32"/> 6630 <eq left="register_format" right="#s32"/> 6631 </or> 6632 </derived> 6633 <derived start="19" size="1"> 6634 <or> 6635 <eq left="register_format" right="#f32"/> 6636 <eq left="register_format" right="#u32"/> 6637 </or> 6638 <or> 6639 <eq left="register_format" right="#f16"/> 6640 <eq left="register_format" right="#s32"/> 6641 </or> 6642 </derived> 6643 </encoding> 6644 <encoding mask="0xffc00" exact="0xcf800"> 6645 <eq left="register_format" right="#auto"/> 6646 </encoding> 6647 </ins> 6648 6649 <ins name="LD_VAR_IMM" staging="w=format" message="varying" unit="add"> 6650 <src start="0"/> 6651 <immediate name="index" start="3" size="5"/> 6652 <mod name="vecsize" start="8" size="2"> 6653 <opt>none</opt> 6654 <opt>v2</opt> 6655 <opt>v3</opt> 6656 <opt>v4</opt> 6657 </mod> 6658 <mod name="update" size="2"> 6659 <opt>store</opt> 6660 <opt>retrieve</opt> 6661 <opt>conditional</opt> 6662 <opt>clobber</opt> 6663 </mod> 6664 <mod name="register_format" size="2"> 6665 <opt>f32</opt> 6666 <opt>f16</opt> 6667 <opt>auto</opt> 6668 </mod> 6669 <mod name="sample" size="3"> 6670 <opt>center</opt> 6671 <opt>centroid</opt> 6672 <opt>sample</opt> 6673 <opt>explicit</opt> 6674 <opt>none</opt> 6675 </mod> 6676 <encoding mask="0x7c000" exact="0x50000"> 6677 <neq left="register_format" right="#auto"/> 6678 <derived start="19" size="1"> 6679 <eq left="register_format" right="#f32"/> 6680 <eq left="register_format" right="#f16"/> 6681 </derived> 6682 <derived start="10" size="4"> 6683 <and> 6684 <eq left="sample" right="#center"/> 6685 <eq left="update" right="#store"/> 6686 </and> 6687 <and> 6688 <eq left="sample" right="#centroid"/> 6689 <eq left="update" right="#store"/> 6690 </and> 6691 <and> 6692 <eq left="sample" right="#sample"/> 6693 <eq left="update" right="#store"/> 6694 </and> 6695 <and> 6696 <eq left="sample" right="#explicit"/> 6697 <eq left="update" right="#store"/> 6698 </and> 6699 <and> 6700 <eq left="sample" right="#none"/> 6701 <eq left="update" right="#retrieve"/> 6702 </and> 6703 <reserved/> 6704 <reserved/> 6705 <reserved/> 6706 <and> 6707 <eq left="sample" right="#center"/> 6708 <eq left="update" right="#conditional"/> 6709 </and> 6710 <and> 6711 <eq left="sample" right="#centroid"/> 6712 <eq left="update" right="#conditional"/> 6713 </and> 6714 <and> 6715 <eq left="sample" right="#center"/> 6716 <eq left="update" right="#clobber"/> 6717 </and> 6718 <and> 6719 <eq left="sample" right="#centroid"/> 6720 <eq left="update" right="#clobber"/> 6721 </and> 6722 <and> 6723 <eq left="sample" right="#sample"/> 6724 <eq left="update" right="#clobber"/> 6725 </and> 6726 <and> 6727 <eq left="sample" right="#explicit"/> 6728 <eq left="update" right="#clobber"/> 6729 </and> 6730 <reserved/> 6731 <reserved/> 6732 </derived> 6733 </encoding> 6734 <encoding mask="0xfc000" exact="0xcc000"> 6735 <eq left="register_format" right="#auto"/> 6736 <derived start="10" size="4"> 6737 <and> 6738 <eq left="sample" right="#center"/> 6739 <eq left="update" right="#store"/> 6740 </and> 6741 <and> 6742 <eq left="sample" right="#centroid"/> 6743 <eq left="update" right="#store"/> 6744 </and> 6745 <and> 6746 <eq left="sample" right="#sample"/> 6747 <eq left="update" right="#store"/> 6748 </and> 6749 <and> 6750 <eq left="sample" right="#explicit"/> 6751 <eq left="update" right="#store"/> 6752 </and> 6753 <and> 6754 <eq left="sample" right="#none"/> 6755 <eq left="update" right="#retrieve"/> 6756 </and> 6757 <reserved/> 6758 <reserved/> 6759 <reserved/> 6760 <and> 6761 <eq left="sample" right="#center"/> 6762 <eq left="update" right="#conditional"/> 6763 </and> 6764 <and> 6765 <eq left="sample" right="#centroid"/> 6766 <eq left="update" right="#conditional"/> 6767 </and> 6768 <and> 6769 <eq left="sample" right="#center"/> 6770 <eq left="update" right="#clobber"/> 6771 </and> 6772 <and> 6773 <eq left="sample" right="#centroid"/> 6774 <eq left="update" right="#clobber"/> 6775 </and> 6776 <and> 6777 <eq left="sample" right="#sample"/> 6778 <eq left="update" right="#clobber"/> 6779 </and> 6780 <and> 6781 <eq left="sample" right="#explicit"/> 6782 <eq left="update" right="#clobber"/> 6783 </and> 6784 <reserved/> 6785 <reserved/> 6786 </derived> 6787 </encoding> 6788 </ins> 6789 6790 <ins name="LD_VAR_SPECIAL" staging="w=format" message="varying" unit="add"> 6791 <src start="0"/> 6792 <mod name="varying_name" size="5"> 6793 <opt>point</opt> 6794 <reserved/> 6795 <opt>frag_w</opt> 6796 <opt>frag_z</opt> 6797 </mod> 6798 <mod name="vecsize" size="2"> 6799 <opt>none</opt> 6800 <opt>v2</opt> 6801 <opt>v3</opt> 6802 <opt>v4</opt> 6803 </mod> 6804 <mod name="update" size="2"> 6805 <opt>store</opt> 6806 <opt>retrieve</opt> 6807 <opt>conditional</opt> 6808 <opt>clobber</opt> 6809 </mod> 6810 <mod name="register_format" size="2"> 6811 <opt>f32</opt> 6812 <opt>f16</opt> 6813 <opt>auto</opt> 6814 </mod> 6815 <mod name="sample" size="3"> 6816 <opt>center</opt> 6817 <opt>centroid</opt> 6818 <opt>sample</opt> 6819 <opt>explicit</opt> 6820 <opt>none</opt> 6821 </mod> 6822 <encoding mask="0x7c3e0" exact="0x500a0"> 6823 <neq left="register_format" right="#auto"/> 6824 <derived start="3" size="2"> 6825 <and> 6826 <eq left="varying_name" right="#point"/> 6827 <eq left="vecsize" right="#v2"/> 6828 <eq left="update" right="#clobber"/> 6829 </and> 6830 <reserved/> 6831 <and> 6832 <eq left="varying_name" right="#frag_w"/> 6833 <eq left="vecsize" right="#none"/> 6834 <eq left="update" right="#clobber"/> 6835 </and> 6836 <and> 6837 <eq left="varying_name" right="#frag_z"/> 6838 <eq left="vecsize" right="#none"/> 6839 <eq left="update" right="#clobber"/> 6840 <neq left="sample" right="#explicit"/> 6841 <neq left="register_format" right="#auto"/> 6842 </and> 6843 </derived> 6844 <derived start="19" size="1"> 6845 <eq left="register_format" right="#f32"/> 6846 <eq left="register_format" right="#f16"/> 6847 </derived> 6848 <derived start="10" size="4"> 6849 <and> 6850 <eq left="sample" right="#center"/> 6851 <eq left="update" right="#store"/> 6852 </and> 6853 <and> 6854 <eq left="sample" right="#centroid"/> 6855 <eq left="update" right="#store"/> 6856 </and> 6857 <and> 6858 <eq left="sample" right="#sample"/> 6859 <eq left="update" right="#store"/> 6860 </and> 6861 <and> 6862 <eq left="sample" right="#explicit"/> 6863 <eq left="update" right="#store"/> 6864 </and> 6865 <and> 6866 <eq left="sample" right="#none"/> 6867 <eq left="update" right="#retrieve"/> 6868 </and> 6869 <reserved/> 6870 <reserved/> 6871 <reserved/> 6872 <and> 6873 <eq left="sample" right="#center"/> 6874 <eq left="update" right="#conditional"/> 6875 </and> 6876 <and> 6877 <eq left="sample" right="#centroid"/> 6878 <eq left="update" right="#conditional"/> 6879 </and> 6880 <and> 6881 <eq left="sample" right="#center"/> 6882 <eq left="update" right="#clobber"/> 6883 </and> 6884 <and> 6885 <eq left="sample" right="#centroid"/> 6886 <eq left="update" right="#clobber"/> 6887 </and> 6888 <and> 6889 <eq left="sample" right="#sample"/> 6890 <eq left="update" right="#clobber"/> 6891 </and> 6892 <and> 6893 <eq left="sample" right="#explicit"/> 6894 <eq left="update" right="#clobber"/> 6895 </and> 6896 <reserved/> 6897 <reserved/> 6898 </derived> 6899 </encoding> 6900 <encoding mask="0xfc3e0" exact="0xcc0a0"> 6901 <eq left="register_format" right="#auto"/> 6902 <derived start="3" size="2"> 6903 <and> 6904 <eq left="varying_name" right="#point"/> 6905 <eq left="vecsize" right="#v2"/> 6906 <eq left="update" right="#clobber"/> 6907 </and> 6908 <reserved/> 6909 <and> 6910 <eq left="varying_name" right="#frag_w"/> 6911 <eq left="vecsize" right="#none"/> 6912 <eq left="update" right="#clobber"/> 6913 </and> 6914 <and> 6915 <eq left="varying_name" right="#frag_z"/> 6916 <eq left="vecsize" right="#none"/> 6917 <eq left="update" right="#clobber"/> 6918 <neq left="sample" right="#explicit"/> 6919 <neq left="register_format" right="#auto"/> 6920 </and> 6921 </derived> 6922 <derived start="10" size="4"> 6923 <and> 6924 <eq left="sample" right="#center"/> 6925 <eq left="update" right="#store"/> 6926 </and> 6927 <and> 6928 <eq left="sample" right="#centroid"/> 6929 <eq left="update" right="#store"/> 6930 </and> 6931 <and> 6932 <eq left="sample" right="#sample"/> 6933 <eq left="update" right="#store"/> 6934 </and> 6935 <and> 6936 <eq left="sample" right="#explicit"/> 6937 <eq left="update" right="#store"/> 6938 </and> 6939 <and> 6940 <eq left="sample" right="#none"/> 6941 <eq left="update" right="#retrieve"/> 6942 </and> 6943 <reserved/> 6944 <reserved/> 6945 <reserved/> 6946 <and> 6947 <eq left="sample" right="#center"/> 6948 <eq left="update" right="#conditional"/> 6949 </and> 6950 <and> 6951 <eq left="sample" right="#centroid"/> 6952 <eq left="update" right="#conditional"/> 6953 </and> 6954 <and> 6955 <eq left="sample" right="#center"/> 6956 <eq left="update" right="#clobber"/> 6957 </and> 6958 <and> 6959 <eq left="sample" right="#centroid"/> 6960 <eq left="update" right="#clobber"/> 6961 </and> 6962 <and> 6963 <eq left="sample" right="#sample"/> 6964 <eq left="update" right="#clobber"/> 6965 </and> 6966 <and> 6967 <eq left="sample" right="#explicit"/> 6968 <eq left="update" right="#clobber"/> 6969 </and> 6970 <reserved/> 6971 <reserved/> 6972 </derived> 6973 </encoding> 6974 </ins> 6975 6976 <ins name="LEA_ATTR" staging="w=3" message="attribute" unit="add"> 6977 <src start="0"/> 6978 <src start="3"/> 6979 <src start="6"/> 6980 <mod name="register_format" size="4"> 6981 <opt>f16</opt> 6982 <opt>f32</opt> 6983 <opt>s32</opt> 6984 <opt>u32</opt> 6985 <opt>s16</opt> 6986 <opt>u16</opt> 6987 <opt>f64</opt> 6988 <opt>i64</opt> 6989 <opt>auto</opt> 6990 </mod> 6991 <encoding mask="0xfc600" exact="0xc0400"> 6992 <neq left="register_format" right="#auto"/> 6993 <derived start="11" size="3"> 6994 <eq left="register_format" right="#f16"/> 6995 <eq left="register_format" right="#f32"/> 6996 <eq left="register_format" right="#s32"/> 6997 <eq left="register_format" right="#u32"/> 6998 <eq left="register_format" right="#s16"/> 6999 <eq left="register_format" right="#u16"/> 7000 <eq left="register_format" right="#f64"/> 7001 <eq left="register_format" right="#i64"/> 7002 </derived> 7003 </encoding> 7004 <encoding mask="0xffe00" exact="0xc8400"> 7005 <eq left="register_format" right="#auto"/> 7006 </encoding> 7007 </ins> 7008 7009 <ins name="LEA_ATTR_IMM" staging="w=3" message="attribute" unit="add"> 7010 <src start="0"/> 7011 <src start="3"/> 7012 <immediate name="attribute_index" start="6" size="4"/> 7013 <mod name="register_format" size="4"> 7014 <opt>f16</opt> 7015 <opt>f32</opt> 7016 <opt>s32</opt> 7017 <opt>u32</opt> 7018 <opt>s16</opt> 7019 <opt>u16</opt> 7020 <opt>f64</opt> 7021 <opt>i64</opt> 7022 <opt>auto</opt> 7023 </mod> 7024 <encoding mask="0xfc400" exact="0xc0000"> 7025 <neq left="register_format" right="#auto"/> 7026 <derived start="11" size="3"> 7027 <eq left="register_format" right="#f16"/> 7028 <eq left="register_format" right="#f32"/> 7029 <eq left="register_format" right="#s32"/> 7030 <eq left="register_format" right="#u32"/> 7031 <eq left="register_format" right="#s16"/> 7032 <eq left="register_format" right="#u16"/> 7033 <eq left="register_format" right="#f64"/> 7034 <eq left="register_format" right="#i64"/> 7035 </derived> 7036 </encoding> 7037 <encoding mask="0xffc00" exact="0xc8000"> 7038 <eq left="register_format" right="#auto"/> 7039 </encoding> 7040 </ins> 7041 7042 <ins name="LEA_ATTR_TEX" staging="w=3" message="attribute" unit="add"> 7043 <src start="0"/> 7044 <src start="3"/> 7045 <src start="6"/> 7046 <mod name="register_format" size="4"> 7047 <opt>f16</opt> 7048 <opt>f32</opt> 7049 <opt>s32</opt> 7050 <opt>u32</opt> 7051 <opt>s16</opt> 7052 <opt>u16</opt> 7053 <opt>f64</opt> 7054 <opt>i64</opt> 7055 <opt>auto</opt> 7056 </mod> 7057 <encoding mask="0xfc600" exact="0xc0600"> 7058 <neq left="register_format" right="#auto"/> 7059 <derived start="11" size="3"> 7060 <eq left="register_format" right="#f16"/> 7061 <eq left="register_format" right="#f32"/> 7062 <eq left="register_format" right="#s32"/> 7063 <eq left="register_format" right="#u32"/> 7064 <eq left="register_format" right="#s16"/> 7065 <eq left="register_format" right="#u16"/> 7066 <eq left="register_format" right="#f64"/> 7067 <eq left="register_format" right="#i64"/> 7068 </derived> 7069 </encoding> 7070 <encoding mask="0xffe00" exact="0xc8600"> 7071 <eq left="register_format" right="#auto"/> 7072 </encoding> 7073 </ins> 7074 7075 <ins name="LEA_TEX" staging="w=3" mask="0xff600" exact="0xd6600" message="attribute" unit="add"> 7076 <src start="0"/> 7077 <src start="3"/> 7078 <src start="6"/> 7079 <mod name="format" start="11" size="1"> 7080 <opt>u16</opt> 7081 <opt>u32</opt> 7082 </mod> 7083 </ins> 7084 7085 <ins name="LEA_TEX_IMM" staging="w=3" mask="0xff000" exact="0xd6000" message="attribute" unit="add"> 7086 <src start="0"/> 7087 <src start="3"/> 7088 <immediate name="texture_index" start="6" size="5"/> 7089 <mod name="format" start="11" size="1"> 7090 <opt>u16</opt> 7091 <opt>u32</opt> 7092 </mod> 7093 </ins> 7094 7095 <ins name="LOAD.i128" staging="w=4" mask="0xffe00" exact="0x61000" message="load" unit="add"> 7096 <src start="0"/> 7097 <src start="3"/> 7098 <mod name="seg" start="6" size="3"> 7099 <reserved/> 7100 <opt>none</opt> 7101 <opt>wls</opt> 7102 <opt>stream</opt> 7103 <opt>ubo</opt> 7104 <reserved/> 7105 <reserved/> 7106 <opt>tl</opt> 7107 </mod> 7108 <immediate name="byte_offset" size="16" pseudo="true"/> 7109 </ins> 7110 7111 <ins name="LOAD.i16" staging="w=1" message="load" unit="add"> 7112 <src start="0"/> 7113 <src start="3"/> 7114 <mod name="seg" start="6" size="3"> 7115 <reserved/> 7116 <opt>none</opt> 7117 <opt>wls</opt> 7118 <opt>stream</opt> 7119 <opt>ubo</opt> 7120 <reserved/> 7121 <reserved/> 7122 <opt>tl</opt> 7123 </mod> 7124 <mod name="lane_dest" size="2" default="h0"> 7125 <opt>h0</opt> 7126 <opt>h1</opt> 7127 <opt>w0</opt> 7128 <opt>d0</opt> 7129 </mod> 7130 <mod name="extend" size="2"> 7131 <opt>none</opt> 7132 <opt>sext</opt> 7133 <opt>zext</opt> 7134 </mod> 7135 <encoding mask="0xffc00" exact="0x60800"> 7136 <and> 7137 <eq left="extend" right="#none"/> 7138 <or> 7139 <eq left="lane_dest" right="#h0"/> 7140 <eq left="lane_dest" right="#h1"/> 7141 </or> 7142 </and> 7143 <derived start="9" size="1"> 7144 <eq left="lane_dest" right="#h0"/> 7145 <eq left="lane_dest" right="#h1"/> 7146 </derived> 7147 </encoding> 7148 <encoding mask="0xffc00" exact="0x63000"> 7149 <and> 7150 <neq left="extend" right="#none"/> 7151 <eq left="lane_dest" right="#w0"/> 7152 </and> 7153 <derived start="9" size="1"> 7154 <eq left="extend" right="#sext"/> 7155 <eq left="extend" right="#zext"/> 7156 </derived> 7157 </encoding> 7158 <encoding mask="0xffc00" exact="0x61800"> 7159 <and> 7160 <neq left="extend" right="#none"/> 7161 <eq left="lane_dest" right="#d0"/> 7162 </and> 7163 <derived start="9" size="1"> 7164 <eq left="extend" right="#sext"/> 7165 <eq left="extend" right="#zext"/> 7166 </derived> 7167 </encoding> 7168 <immediate name="byte_offset" size="16" pseudo="true"/> 7169 </ins> 7170 7171 <ins name="LOAD.i24" staging="w=1" mask="0xffe00" exact="0x65000" message="load" unit="add"> 7172 <src start="0"/> 7173 <src start="3"/> 7174 <mod name="seg" start="6" size="3"> 7175 <reserved/> 7176 <opt>none</opt> 7177 <opt>wls</opt> 7178 <opt>stream</opt> 7179 <opt>ubo</opt> 7180 <reserved/> 7181 <reserved/> 7182 <opt>tl</opt> 7183 </mod> 7184 <immediate name="byte_offset" size="16" pseudo="true"/> 7185 </ins> 7186 7187 <ins name="LOAD.i32" staging="w=1" message="load" unit="add"> 7188 <src start="0"/> 7189 <src start="3"/> 7190 <mod name="seg" start="6" size="3"> 7191 <reserved/> 7192 <opt>none</opt> 7193 <opt>wls</opt> 7194 <opt>stream</opt> 7195 <opt>ubo</opt> 7196 <reserved/> 7197 <reserved/> 7198 <opt>tl</opt> 7199 </mod> 7200 <mod name="lane_dest" size="1" opt="d0"/> 7201 <mod name="extend" size="2"> 7202 <opt>none</opt> 7203 <opt>sext</opt> 7204 <opt>zext</opt> 7205 </mod> 7206 <encoding mask="0xffe00" exact="0x60c00"> 7207 <and> 7208 <eq left="extend" right="#none"/> 7209 <eq left="lane_dest" right="#none"/> 7210 </and> 7211 </encoding> 7212 <encoding mask="0xffc00" exact="0x61c00"> 7213 <and> 7214 <neq left="extend" right="#none"/> 7215 <eq left="lane_dest" right="#d0"/> 7216 </and> 7217 <derived start="9" size="1"> 7218 <eq left="extend" right="#sext"/> 7219 <eq left="extend" right="#zext"/> 7220 </derived> 7221 </encoding> 7222 <immediate name="byte_offset" size="16" pseudo="true"/> 7223 </ins> 7224 7225 <ins name="LOAD.i48" staging="w=2" mask="0xffe00" exact="0x65200" message="load" unit="add"> 7226 <src start="0"/> 7227 <src start="3"/> 7228 <mod name="seg" start="6" size="3"> 7229 <reserved/> 7230 <opt>none</opt> 7231 <opt>wls</opt> 7232 <opt>stream</opt> 7233 <opt>ubo</opt> 7234 <reserved/> 7235 <reserved/> 7236 <opt>tl</opt> 7237 </mod> 7238 <immediate name="byte_offset" size="16" pseudo="true"/> 7239 </ins> 7240 7241 <ins name="LOAD.i64" staging="w=2" mask="0xffe00" exact="0x60e00" message="load" unit="add"> 7242 <src start="0"/> 7243 <src start="3"/> 7244 <mod name="seg" start="6" size="3"> 7245 <reserved/> 7246 <opt>none</opt> 7247 <opt>wls</opt> 7248 <opt>stream</opt> 7249 <opt>ubo</opt> 7250 <reserved/> 7251 <reserved/> 7252 <opt>tl</opt> 7253 </mod> 7254 <immediate name="byte_offset" size="16" pseudo="true"/> 7255 </ins> 7256 7257 <ins name="LOAD.i8" staging="w=1" message="load" unit="add"> 7258 <src start="0"/> 7259 <src start="3"/> 7260 <mod name="seg" start="6" size="3"> 7261 <reserved/> 7262 <opt>none</opt> 7263 <opt>wls</opt> 7264 <opt>stream</opt> 7265 <opt>ubo</opt> 7266 <reserved/> 7267 <reserved/> 7268 <opt>tl</opt> 7269 </mod> 7270 <mod name="lane_dest" size="3" default="b0"> 7271 <opt>b0</opt> 7272 <opt>b1</opt> 7273 <opt>b2</opt> 7274 <opt>b3</opt> 7275 <opt>h0</opt> 7276 <opt>h1</opt> 7277 <opt>w0</opt> 7278 <opt>d0</opt> 7279 </mod> 7280 <mod name="extend" size="2"> 7281 <opt>none</opt> 7282 <opt>sext</opt> 7283 <opt>zext</opt> 7284 </mod> 7285 <encoding mask="0xff800" exact="0x60000"> 7286 <and> 7287 <eq left="extend" right="#none"/> 7288 <or> 7289 <eq left="lane_dest" right="#b0"/> 7290 <eq left="lane_dest" right="#b1"/> 7291 <eq left="lane_dest" right="#b2"/> 7292 <eq left="lane_dest" right="#b3"/> 7293 </or> 7294 </and> 7295 <derived start="9" size="2"> 7296 <eq left="lane_dest" right="#b0"/> 7297 <eq left="lane_dest" right="#b1"/> 7298 <eq left="lane_dest" right="#b2"/> 7299 <eq left="lane_dest" right="#b3"/> 7300 </derived> 7301 </encoding> 7302 <encoding mask="0xff800" exact="0x63800"> 7303 <and> 7304 <neq left="extend" right="#none"/> 7305 <or> 7306 <eq left="lane_dest" right="#h0"/> 7307 <eq left="lane_dest" right="#h1"/> 7308 </or> 7309 </and> 7310 <derived start="9" size="1"> 7311 <eq left="extend" right="#sext"/> 7312 <eq left="extend" right="#zext"/> 7313 </derived> 7314 <derived start="10" size="1"> 7315 <eq left="lane_dest" right="#h0"/> 7316 <eq left="lane_dest" right="#h1"/> 7317 </derived> 7318 </encoding> 7319 <encoding mask="0xffc00" exact="0x63400"> 7320 <and> 7321 <neq left="extend" right="#none"/> 7322 <eq left="lane_dest" right="#w0"/> 7323 </and> 7324 <derived start="9" size="1"> 7325 <eq left="extend" right="#sext"/> 7326 <eq left="extend" right="#zext"/> 7327 </derived> 7328 </encoding> 7329 <encoding mask="0xffc00" exact="0x61400"> 7330 <and> 7331 <neq left="extend" right="#none"/> 7332 <eq left="lane_dest" right="#d0"/> 7333 </and> 7334 <derived start="9" size="1"> 7335 <eq left="extend" right="#sext"/> 7336 <eq left="extend" right="#zext"/> 7337 </derived> 7338 </encoding> 7339 <immediate name="byte_offset" size="16" pseudo="true"/> 7340 </ins> 7341 7342 <ins name="LOAD.i96" staging="w=3" mask="0xffe00" exact="0x65400" message="load" unit="add"> 7343 <src start="0"/> 7344 <src start="3"/> 7345 <mod name="seg" start="6" size="3"> 7346 <reserved/> 7347 <opt>none</opt> 7348 <opt>wls</opt> 7349 <opt>stream</opt> 7350 <opt>ubo</opt> 7351 <reserved/> 7352 <reserved/> 7353 <opt>tl</opt> 7354 </mod> 7355 <immediate name="byte_offset" size="16" pseudo="true"/> 7356 </ins> 7357 7358 <ins name="LOGB.f32" mask="0xfffe0" exact="0x3d9a0" unit="add"> 7359 <src start="0"/> 7360 <mod name="widen0" start="3" size="2"> 7361 <reserved/> 7362 <opt>none</opt> 7363 <opt>h0</opt> 7364 <opt>h1</opt> 7365 </mod> 7366 </ins> 7367 7368 <ins name="LOGB.v2f16" mask="0xfffe0" exact="0x3d980" unit="add"> 7369 <src start="0"/> 7370 <mod name="swz0" start="3" size="2" default="h01"> 7371 <opt>h00</opt> 7372 <opt>h10</opt> 7373 <opt>h01</opt> 7374 <opt>h11</opt> 7375 </mod> 7376 </ins> 7377 7378 <ins name="MKVEC.v2i16" mask="0xfff00" exact="0x75300" unit="add"> 7379 <src start="0"/> 7380 <src start="3"/> 7381 <mod name="lane0" start="6" size="1" default="h0"> 7382 <opt>h0</opt> 7383 <opt>h1</opt> 7384 </mod> 7385 <mod name="lane1" start="7" size="1" default="h0"> 7386 <opt>h0</opt> 7387 <opt>h1</opt> 7388 </mod> 7389 </ins> 7390 7391 <ins name="MOV.i32" mask="0xffff8" exact="0x3d968" unit="add"> 7392 <src start="0"/> 7393 </ins> 7394 7395 <ins name="MUX.i32" mask="0xff800" exact="0x74000" unit="add"> 7396 <src start="0"/> 7397 <src start="3"/> 7398 <src start="6"/> 7399 <mod name="mux" start="9" size="2" default="int_zero"> 7400 <opt>neg</opt> 7401 <opt>int_zero</opt> 7402 <opt>fp_zero</opt> 7403 <opt>bit</opt> 7404 </mod> 7405 </ins> 7406 7407 <ins name="MUX.v2i16" mask="0xfc000" exact="0x70000" unit="add"> 7408 <src start="0"/> 7409 <src start="3"/> 7410 <src start="6"/> 7411 <mod name="mux" start="9" size="2" default="int_zero"> 7412 <opt>neg</opt> 7413 <opt>int_zero</opt> 7414 <opt>fp_zero</opt> 7415 <opt>bit</opt> 7416 </mod> 7417 <mod name="swap2" start="11" size="1" default="h01"> 7418 <opt>h01</opt> 7419 <opt>h10</opt> 7420 </mod> 7421 <mod name="swap1" start="12" size="1" default="h01"> 7422 <opt>h01</opt> 7423 <opt>h10</opt> 7424 </mod> 7425 <mod name="swap0" start="13" size="1" default="h01"> 7426 <opt>h01</opt> 7427 <opt>h10</opt> 7428 </mod> 7429 </ins> 7430 7431 <ins name="MUX.v4i8" mask="0xffc00" exact="0x74800" unit="add"> 7432 <src start="0"/> 7433 <src start="3"/> 7434 <src start="6"/> 7435 <mod name="mux" start="9" size="1" default="int_zero"> 7436 <opt>neg</opt> 7437 <opt>int_zero</opt> 7438 </mod> 7439 </ins> 7440 7441 <ins name="NOP" mask="0xfffff" exact="0x3d964" dests="0" unit="add"/> 7442 7443 <ins name="QUIET.f32" mask="0xffff8" exact="0x3d970" unit="add"> 7444 <src start="0"/> 7445 </ins> 7446 7447 <ins name="QUIET.v2f16" mask="0xfffc8" exact="0x3d900" unit="add"> 7448 <src start="0"/> 7449 <mod name="swz0" start="4" size="2" default="h01"> 7450 <opt>h00</opt> 7451 <opt>h10</opt> 7452 <opt>h01</opt> 7453 <opt>h11</opt> 7454 </mod> 7455 </ins> 7456 7457 <ins name="S16_TO_F32" mask="0xfffe8" exact="0x3cce0" unit="add"> 7458 <src start="0"/> 7459 <mod name="lane0" start="4" size="1" default="h0"> 7460 <opt>h0</opt> 7461 <opt>h1</opt> 7462 </mod> 7463 </ins> 7464 7465 <ins name="S16_TO_S32" mask="0xfffe8" exact="0x3ccc0" unit="add"> 7466 <src start="0"/> 7467 <mod name="lane0" start="4" size="1" default="h0"> 7468 <opt>h0</opt> 7469 <opt>h1</opt> 7470 </mod> 7471 </ins> 7472 7473 <ins name="S32_TO_F32" unit="add"> 7474 <src start="0"/> 7475 <mod name="round" size="3"> 7476 <opt>none</opt> 7477 <opt>rtp</opt> 7478 <opt>rtn</opt> 7479 <opt>rtz</opt> 7480 <opt>rtna</opt> 7481 </mod> 7482 <encoding mask="0xfffc8" exact="0x3cbc0"> 7483 <neq left="round" right="#rtna"/> 7484 <derived start="4" size="2"> 7485 <eq left="round" right="#none"/> 7486 <eq left="round" right="#rtp"/> 7487 <eq left="round" right="#rtn"/> 7488 <eq left="round" right="#rtz"/> 7489 </derived> 7490 </encoding> 7491 <encoding mask="0xffff8" exact="0x3cd00"> 7492 <eq left="round" right="#rtna"/> 7493 </encoding> 7494 </ins> 7495 7496 <ins name="S8_TO_F32" mask="0xfffc8" exact="0x3cb80" unit="add"> 7497 <src start="0"/> 7498 <mod name="lane0" start="4" size="2" default="b0"> 7499 <opt>b0</opt> 7500 <opt>b1</opt> 7501 <opt>b2</opt> 7502 <opt>b3</opt> 7503 </mod> 7504 </ins> 7505 7506 <ins name="S8_TO_S32" mask="0xfffc8" exact="0x3cb40" unit="add"> 7507 <src start="0"/> 7508 <mod name="lane0" start="4" size="2" default="b0"> 7509 <opt>b0</opt> 7510 <opt>b1</opt> 7511 <opt>b2</opt> 7512 <opt>b3</opt> 7513 </mod> 7514 </ins> 7515 7516 <ins name="SEG_ADD" mask="0xfff40" exact="0x3d500" unit="add"> 7517 <src start="0"/> 7518 <mod name="seg" start="3" size="3"> 7519 <reserved/> 7520 <reserved/> 7521 <opt>wls</opt> 7522 <reserved/> 7523 <reserved/> 7524 <reserved/> 7525 <reserved/> 7526 <opt>tl</opt> 7527 </mod> 7528 <mod name="preserve_null" start="7" size="1" opt="preserve_null"/> 7529 </ins> 7530 7531 <ins name="SEG_SUB" mask="0xfff40" exact="0x3d540" unused="true" unit="add"> 7532 <src start="0"/> 7533 <mod name="seg" start="3" size="3"> 7534 <reserved/> 7535 <reserved/> 7536 <opt>wls</opt> 7537 <reserved/> 7538 <reserved/> 7539 <reserved/> 7540 <reserved/> 7541 <opt>tl</opt> 7542 </mod> 7543 <mod name="preserve_null" start="7" size="1" opt="preserve_null"/> 7544 </ins> 7545 7546 <ins name="SHADDXH.i32" mask="0xfffc0" exact="0x3f8c0" unit="add"> 7547 <src start="0"/> 7548 <src start="3"/> 7549 </ins> 7550 7551 <ins name="SHIFT_DOUBLE.i32" mask="0xffe00" exact="0xefe00" unit="add"> 7552 <src start="0"/> 7553 <src start="3"/> 7554 <src start="6"/> 7555 </ins> 7556 7557 <ins name="STORE.i128" staging="r=4" mask="0xffe00" exact="0x61200" message="store" dests="0" unit="add"> 7558 <src start="0"/> 7559 <src start="3"/> 7560 <mod name="seg" start="6" size="3"> 7561 <reserved/> 7562 <opt>none</opt> 7563 <opt>wls</opt> 7564 <opt>stream</opt> 7565 <opt pseudo="true">pos</opt> 7566 <opt pseudo="true">vary</opt> 7567 <reserved/> 7568 <opt>tl</opt> 7569 </mod> 7570 <immediate name="byte_offset" size="16" pseudo="true"/> 7571 </ins> 7572 7573 <ins name="STORE.i16" staging="r=1" mask="0xffe00" exact="0x62800" message="store" dests="0" unit="add"> 7574 <src start="0"/> 7575 <src start="3"/> 7576 <mod name="seg" start="6" size="3"> 7577 <reserved/> 7578 <opt>none</opt> 7579 <opt>wls</opt> 7580 <opt>stream</opt> 7581 <opt pseudo="true">pos</opt> 7582 <opt pseudo="true">vary</opt> 7583 <reserved/> 7584 <opt>tl</opt> 7585 </mod> 7586 <immediate name="byte_offset" size="16" pseudo="true"/> 7587 </ins> 7588 7589 <ins name="STORE.i24" staging="r=1" mask="0xffe00" exact="0x65800" message="store" dests="0" unit="add"> 7590 <src start="0"/> 7591 <src start="3"/> 7592 <mod name="seg" start="6" size="3"> 7593 <reserved/> 7594 <opt>none</opt> 7595 <opt>wls</opt> 7596 <opt>stream</opt> 7597 <opt pseudo="true">pos</opt> 7598 <opt pseudo="true">vary</opt> 7599 <reserved/> 7600 <opt>tl</opt> 7601 </mod> 7602 <immediate name="byte_offset" size="16" pseudo="true"/> 7603 </ins> 7604 7605 <ins name="STORE.i32" staging="r=1" mask="0xffe00" exact="0x62c00" message="store" dests="0" unit="add"> 7606 <src start="0"/> 7607 <src start="3"/> 7608 <mod name="seg" start="6" size="3"> 7609 <reserved/> 7610 <opt>none</opt> 7611 <opt>wls</opt> 7612 <opt>stream</opt> 7613 <opt pseudo="true">pos</opt> 7614 <opt pseudo="true">vary</opt> 7615 <reserved/> 7616 <opt>tl</opt> 7617 </mod> 7618 <immediate name="byte_offset" size="16" pseudo="true"/> 7619 </ins> 7620 7621 <ins name="STORE.i48" staging="r=2" mask="0xffe00" exact="0x65a00" message="store" dests="0" unit="add"> 7622 <src start="0"/> 7623 <src start="3"/> 7624 <mod name="seg" start="6" size="3"> 7625 <reserved/> 7626 <opt>none</opt> 7627 <opt>wls</opt> 7628 <opt>stream</opt> 7629 <opt pseudo="true">pos</opt> 7630 <opt pseudo="true">vary</opt> 7631 <reserved/> 7632 <opt>tl</opt> 7633 </mod> 7634 <immediate name="byte_offset" size="16" pseudo="true"/> 7635 </ins> 7636 7637 <ins name="STORE.i64" staging="r=2" mask="0xffe00" exact="0x62e00" message="store" dests="0" unit="add"> 7638 <src start="0"/> 7639 <src start="3"/> 7640 <mod name="seg" start="6" size="3"> 7641 <reserved/> 7642 <opt>none</opt> 7643 <opt>wls</opt> 7644 <opt>stream</opt> 7645 <opt pseudo="true">pos</opt> 7646 <opt pseudo="true">vary</opt> 7647 <reserved/> 7648 <opt>tl</opt> 7649 </mod> 7650 <immediate name="byte_offset" size="16" pseudo="true"/> 7651 </ins> 7652 7653 <ins name="STORE.i8" staging="r=1" mask="0xffe00" exact="0x62000" message="store" dests="0" unit="add"> 7654 <src start="0"/> 7655 <src start="3"/> 7656 <mod name="seg" start="6" size="3"> 7657 <reserved/> 7658 <opt>none</opt> 7659 <opt>wls</opt> 7660 <opt>stream</opt> 7661 <opt pseudo="true">pos</opt> 7662 <opt pseudo="true">vary</opt> 7663 <reserved/> 7664 <opt>tl</opt> 7665 </mod> 7666 <immediate name="byte_offset" size="16" pseudo="true"/> 7667 </ins> 7668 7669 <ins name="STORE.i96" staging="r=3" mask="0xffe00" exact="0x65c00" message="store" dests="0" unit="add"> 7670 <src start="0"/> 7671 <src start="3"/> 7672 <mod name="seg" start="6" size="3"> 7673 <reserved/> 7674 <opt>none</opt> 7675 <opt>wls</opt> 7676 <opt>stream</opt> 7677 <opt pseudo="true">pos</opt> 7678 <opt pseudo="true">vary</opt> 7679 <reserved/> 7680 <opt>tl</opt> 7681 </mod> 7682 <immediate name="byte_offset" size="16" pseudo="true"/> 7683 </ins> 7684 7685 <ins name="ST_CVT" staging="r=format" mask="0xff800" exact="0xc9800" message="store" dests="0" unit="add"> 7686 <src start="0"/> 7687 <src start="3"/> 7688 <src start="6" mask="0xf7"/> 7689 <mod name="register_format" size="4" pseudo="true"> 7690 <opt>f16</opt> 7691 <opt>f32</opt> 7692 <opt>s32</opt> 7693 <opt>u32</opt> 7694 <opt>s16</opt> 7695 <opt>u16</opt> 7696 <opt>f64</opt> 7697 <opt>i64</opt> 7698 </mod> 7699 <mod name="vecsize" start="9" size="2"> 7700 <opt>none</opt> 7701 <opt>v2</opt> 7702 <opt>v3</opt> 7703 <opt>v4</opt> 7704 </mod> 7705 </ins> 7706 7707 <ins name="ST_TILE" staging="r=format" mask="0xff800" exact="0xcb800" message="tile" dests="0" unit="add"> 7708 <src start="0"/> 7709 <src start="3"/> 7710 <src start="6" mask="0xf7"/> 7711 <mod name="vecsize" start="9" size="2"> 7712 <opt>none</opt> 7713 <opt>v2</opt> 7714 <opt>v3</opt> 7715 <opt>v4</opt> 7716 </mod> 7717 <mod name="register_format" size="3" pseudo="true"> 7718 <opt>f32</opt> 7719 <opt>f16</opt> 7720 <opt>u32</opt> 7721 <opt>s32</opt> 7722 </mod> 7723 </ins> 7724 7725 <ins name="SWZ.v2i16" mask="0xfffc8" exact="0x3d948" unit="add"> 7726 <src start="0"/> 7727 <mod name="swz0" start="4" size="2"> 7728 <opt>h00</opt> 7729 <opt>h10</opt> 7730 <reserved/> 7731 <opt>h11</opt> 7732 </mod> 7733 </ins> 7734 7735 <ins name="SWZ.v4i8" mask="0xfffc0" exact="0x3df40" unit="add"> 7736 <src start="0"/> 7737 <mod name="swz0" start="3" size="3"> 7738 <opt>b0000</opt> 7739 <opt>b1111</opt> 7740 <opt>b2222</opt> 7741 <opt>b3333</opt> 7742 <opt>b0011</opt> 7743 <opt>b2233</opt> 7744 <opt>b1032</opt> 7745 <opt>b3210</opt> 7746 </mod> 7747 </ins> 7748 7749 <ins name="TEXC" staging="rw=sr_count" mask="0xffc00" exact="0xd7000" message="tex" unit="add"> 7750 <src start="0"/> 7751 <src start="3"/> 7752 <src start="6" mask="0xf7"/> 7753 <mod name="skip" start="9" size="1" opt="skip"/> 7754 <!-- not actually encoded, but used for IR --> 7755 <immediate name="sr_count" size="4" pseudo="true"/> 7756 <immediate name="sr_count_2" size="4" pseudo="true"/> 7757 <mod name="lod_mode" start="13" size="1" default="zero_lod" pseudo="true"> 7758 <opt>computed_lod</opt> 7759 <opt>zero_lod</opt> 7760 </mod> 7761 </ins> 7762 7763 <!-- Pseudo instruction representing dual texturing on Bifrost. Lowered to 7764 TEXC after register allocation, when the second destination register can 7765 be combined with the texture operation descriptor. --> 7766 <ins name="TEXC_DUAL" staging="rw=sr_count" pseudo="true" message="tex" dests="2" unit="add"> 7767 <src start="0"/> 7768 <src start="3"/> 7769 <src start="6" mask="0xf7"/> 7770 <mod name="skip" start="9" size="1" opt="skip"/> 7771 <immediate name="sr_count" size="4" pseudo="true"/> 7772 <immediate name="sr_count_2" size="4" pseudo="true"/> 7773 <mod name="lod_mode" start="13" size="1" default="zero_lod" pseudo="true"> 7774 <opt>computed_lod</opt> 7775 <opt>zero_lod</opt> 7776 </mod> 7777 </ins> 7778 7779 <ins name="TEXS_2D.f16" staging="w=2" mask="0xfc000" exact="0xd8000" message="tex" unit="add"> 7780 <src start="0"/> 7781 <src start="3"/> 7782 <immediate name="texture_index" start="6" size="3"/> 7783 <immediate name="sampler_index" start="10" size="3"/> 7784 <mod name="skip" start="9" size="1" opt="skip"/> 7785 <mod name="lod_mode" start="13" size="1" default="zero_lod"> 7786 <opt>computed_lod</opt> 7787 <opt>zero_lod</opt> 7788 </mod> 7789 </ins> 7790 7791 <ins name="TEXS_2D.f32" staging="w=4" mask="0xfc000" exact="0x58000" message="tex" unit="add"> 7792 <src start="0"/> 7793 <src start="3"/> 7794 <immediate name="texture_index" start="6" size="3"/> 7795 <immediate name="sampler_index" start="10" size="3"/> 7796 <mod name="skip" start="9" size="1" opt="skip"/> 7797 <mod name="lod_mode" start="13" size="1" default="zero_lod"> 7798 <opt>computed_lod</opt> 7799 <opt>zero_lod</opt> 7800 </mod> 7801 </ins> 7802 7803 <ins name="TEXS_CUBE.f16" staging="w=2" mask="0xfc000" exact="0xdc000" message="tex" unit="add"> 7804 <src start="0"/> 7805 <src start="3"/> 7806 <src start="6"/> 7807 <immediate name="sampler_index" start="10" size="2"/> 7808 <immediate name="texture_index" start="12" size="2"/> 7809 <mod name="skip" start="9" size="1" opt="skip"/> 7810 </ins> 7811 7812 <ins name="TEXS_CUBE.f32" staging="w=4" mask="0xfc000" exact="0x5c000" message="tex" unit="add"> 7813 <src start="0"/> 7814 <src start="3"/> 7815 <src start="6"/> 7816 <immediate name="sampler_index" start="10" size="2"/> 7817 <immediate name="texture_index" start="12" size="2"/> 7818 <mod name="skip" start="9" size="1" opt="skip"/> 7819 </ins> 7820 7821 <ins name="U16_TO_F32" mask="0xfffe8" exact="0x3cce8" unit="add"> 7822 <src start="0"/> 7823 <mod name="lane0" start="4" size="1" default="h0"> 7824 <opt>h0</opt> 7825 <opt>h1</opt> 7826 </mod> 7827 </ins> 7828 7829 <ins name="U16_TO_U32" mask="0xfffe8" exact="0x3ccc8" unit="add"> 7830 <src start="0"/> 7831 <mod name="lane0" start="4" size="1" default="h0"> 7832 <opt>h0</opt> 7833 <opt>h1</opt> 7834 </mod> 7835 </ins> 7836 7837 <ins name="U32_TO_F32" unit="add"> 7838 <src start="0"/> 7839 <mod name="round" size="3"> 7840 <opt>none</opt> 7841 <opt>rtp</opt> 7842 <opt>rtn</opt> 7843 <opt>rtz</opt> 7844 <opt>rtna</opt> 7845 </mod> 7846 <encoding mask="0xfffc8" exact="0x3cbc8"> 7847 <neq left="round" right="#rtna"/> 7848 <derived start="4" size="2"> 7849 <eq left="round" right="#none"/> 7850 <eq left="round" right="#rtp"/> 7851 <eq left="round" right="#rtn"/> 7852 <eq left="round" right="#rtz"/> 7853 </derived> 7854 </encoding> 7855 <encoding mask="0xffff8" exact="0x3cd08"> 7856 <eq left="round" right="#rtna"/> 7857 </encoding> 7858 </ins> 7859 7860 <ins name="U8_TO_F32" mask="0xfffc8" exact="0x3cb88" unit="add"> 7861 <src start="0"/> 7862 <mod name="lane0" start="4" size="2" default="b0"> 7863 <opt>b0</opt> 7864 <opt>b1</opt> 7865 <opt>b2</opt> 7866 <opt>b3</opt> 7867 </mod> 7868 </ins> 7869 7870 <ins name="U8_TO_U32" mask="0xfffc8" exact="0x3cb48" unit="add"> 7871 <src start="0"/> 7872 <mod name="lane0" start="4" size="2" default="b0"> 7873 <opt>b0</opt> 7874 <opt>b1</opt> 7875 <opt>b2</opt> 7876 <opt>b3</opt> 7877 </mod> 7878 </ins> 7879 7880 <ins name="V2F16_TO_V2S16" unit="add"> 7881 <src start="0"/> 7882 <mod name="round" size="3"> 7883 <opt>none</opt> 7884 <opt>rtp</opt> 7885 <opt>rtn</opt> 7886 <opt>rtz</opt> 7887 <opt>rtna</opt> 7888 </mod> 7889 <mod name="swz0" size="2" default="h01"> 7890 <opt>h00</opt> 7891 <opt>h10</opt> 7892 <opt>h01</opt> 7893 <opt>h11</opt> 7894 </mod> 7895 <encoding mask="0xfff08" exact="0x3c200"> 7896 <neq left="round" right="#rtna"/> 7897 <copy name="swz0" start="6"/> 7898 <derived start="4" size="2"> 7899 <eq left="round" right="#none"/> 7900 <eq left="round" right="#rtp"/> 7901 <eq left="round" right="#rtn"/> 7902 <eq left="round" right="#rtz"/> 7903 </derived> 7904 </encoding> 7905 <encoding mask="0xfffc8" exact="0x3ca80"> 7906 <eq left="round" right="#rtna"/> 7907 <copy name="swz0" start="4"/> 7908 </encoding> 7909 </ins> 7910 7911 <ins name="V2F16_TO_V2U16" unit="add"> 7912 <src start="0"/> 7913 <mod name="round" size="3"> 7914 <opt>none</opt> 7915 <opt>rtp</opt> 7916 <opt>rtn</opt> 7917 <opt>rtz</opt> 7918 <opt>rtna</opt> 7919 </mod> 7920 <mod name="swz0" size="2" default="h01"> 7921 <opt>h00</opt> 7922 <opt>h10</opt> 7923 <opt>h01</opt> 7924 <opt>h11</opt> 7925 </mod> 7926 <encoding mask="0xfff08" exact="0x3c208"> 7927 <neq left="round" right="#rtna"/> 7928 <copy name="swz0" start="6"/> 7929 <derived start="4" size="2"> 7930 <eq left="round" right="#none"/> 7931 <eq left="round" right="#rtp"/> 7932 <eq left="round" right="#rtn"/> 7933 <eq left="round" right="#rtz"/> 7934 </derived> 7935 </encoding> 7936 <encoding mask="0xfffc8" exact="0x3ca88"> 7937 <eq left="round" right="#rtna"/> 7938 <copy name="swz0" start="4"/> 7939 </encoding> 7940 </ins> 7941 7942 <ins name="V2F32_TO_V2F16" mask="0xfe000" exact="0x76000" unit="add"> 7943 <src start="0"/> 7944 <src start="3"/> 7945 <mod name="abs0" size="1" opt="abs"/> 7946 <mod name="abs1" size="1" opt="abs"/> 7947 <mod name="neg0" size="1" opt="neg"/> 7948 <mod name="neg1" size="1" opt="neg"/> 7949 <mod name="clamp" start="8" size="2"> 7950 <opt>none</opt> 7951 <opt>clamp_0_inf</opt> 7952 <opt>clamp_m1_1</opt> 7953 <opt>clamp_0_1</opt> 7954 </mod> 7955 <mod name="round" start="10" size="3"> 7956 <opt>none</opt> 7957 <opt>rtp</opt> 7958 <opt>rtn</opt> 7959 <opt>rtz</opt> 7960 <opt>rtna</opt> 7961 </mod> 7962 <mod name="ftz" start="9" size="1" opt="ftz" pseudo="true"/> 7963 <derived start="6" size="1"> 7964 <and> 7965 <eq left="abs0" right="#none"/> 7966 <eq left="abs1" right="#none"/> 7967 </and> 7968 <and> 7969 <eq left="abs0" right="#abs"/> 7970 <eq left="abs1" right="#abs"/> 7971 </and> 7972 </derived> 7973 <derived start="7" size="1"> 7974 <and> 7975 <eq left="neg0" right="#none"/> 7976 <eq left="neg1" right="#none"/> 7977 </and> 7978 <and> 7979 <eq left="neg0" right="#neg"/> 7980 <eq left="neg1" right="#neg"/> 7981 </and> 7982 </derived> 7983 </ins> 7984 7985 <ins name="V2S16_TO_V2F16" unit="add"> 7986 <src start="0"/> 7987 <mod name="round" size="3"> 7988 <opt>none</opt> 7989 <opt>rtp</opt> 7990 <opt>rtn</opt> 7991 <opt>rtz</opt> 7992 <opt>rtna</opt> 7993 </mod> 7994 <mod name="swz0" size="2" default="h01"> 7995 <opt>h00</opt> 7996 <opt>h10</opt> 7997 <opt>h01</opt> 7998 <opt>h11</opt> 7999 </mod> 8000 <encoding mask="0xfff08" exact="0x3c600"> 8001 <neq left="round" right="#rtna"/> 8002 <copy name="swz0" start="6"/> 8003 <derived start="4" size="2"> 8004 <eq left="round" right="#none"/> 8005 <eq left="round" right="#rtp"/> 8006 <eq left="round" right="#rtn"/> 8007 <eq left="round" right="#rtz"/> 8008 </derived> 8009 </encoding> 8010 <encoding mask="0xfffc8" exact="0x3cb00"> 8011 <eq left="round" right="#rtna"/> 8012 <copy name="swz0" start="4"/> 8013 </encoding> 8014 </ins> 8015 8016 <ins name="V2S8_TO_V2F16" mask="0xfff08" exact="0x3c800" unit="add"> 8017 <src start="0"/> 8018 <mod name="swz0" start="4" size="4" default="b01"> 8019 <opt>b00</opt> 8020 <opt>b10</opt> 8021 <opt>b20</opt> 8022 <opt>b30</opt> 8023 <opt>b01</opt> 8024 <opt>b11</opt> 8025 <opt>b21</opt> 8026 <opt>b31</opt> 8027 <opt>b02</opt> 8028 <opt>b12</opt> 8029 <opt>b22</opt> 8030 <opt>b32</opt> 8031 <opt>b03</opt> 8032 <opt>b13</opt> 8033 <opt>b23</opt> 8034 <opt>b33</opt> 8035 </mod> 8036 </ins> 8037 8038 <ins name="V2S8_TO_V2S16" mask="0xfff08" exact="0x3c700" unit="add"> 8039 <src start="0"/> 8040 <mod name="swz0" start="4" size="4" default="b01"> 8041 <opt>b00</opt> 8042 <opt>b10</opt> 8043 <opt>b20</opt> 8044 <opt>b30</opt> 8045 <opt>b01</opt> 8046 <opt>b11</opt> 8047 <opt>b21</opt> 8048 <opt>b31</opt> 8049 <opt>b02</opt> 8050 <opt>b12</opt> 8051 <opt>b22</opt> 8052 <opt>b32</opt> 8053 <opt>b03</opt> 8054 <opt>b13</opt> 8055 <opt>b23</opt> 8056 <opt>b33</opt> 8057 </mod> 8058 </ins> 8059 8060 <ins name="V2U16_TO_V2F16" unit="add"> 8061 <src start="0"/> 8062 <mod name="round" size="3"> 8063 <opt>none</opt> 8064 <opt>rtp</opt> 8065 <opt>rtn</opt> 8066 <opt>rtz</opt> 8067 <opt>rtna</opt> 8068 </mod> 8069 <mod name="swz0" size="2" default="h01"> 8070 <opt>h00</opt> 8071 <opt>h10</opt> 8072 <opt>h01</opt> 8073 <opt>h11</opt> 8074 </mod> 8075 <encoding mask="0xfff08" exact="0x3c608"> 8076 <neq left="round" right="#rtna"/> 8077 <copy name="swz0" start="6"/> 8078 <derived start="4" size="2"> 8079 <eq left="round" right="#none"/> 8080 <eq left="round" right="#rtp"/> 8081 <eq left="round" right="#rtn"/> 8082 <eq left="round" right="#rtz"/> 8083 </derived> 8084 </encoding> 8085 <encoding mask="0xfffc8" exact="0x3cb08"> 8086 <eq left="round" right="#rtna"/> 8087 <copy name="swz0" start="4"/> 8088 </encoding> 8089 </ins> 8090 8091 <ins name="V2U8_TO_V2F16" mask="0xfff08" exact="0x3c808" unit="add"> 8092 <src start="0"/> 8093 <mod name="swz0" start="4" size="4" default="b01"> 8094 <opt>b00</opt> 8095 <opt>b10</opt> 8096 <opt>b20</opt> 8097 <opt>b30</opt> 8098 <opt>b01</opt> 8099 <opt>b11</opt> 8100 <opt>b21</opt> 8101 <opt>b31</opt> 8102 <opt>b02</opt> 8103 <opt>b12</opt> 8104 <opt>b22</opt> 8105 <opt>b32</opt> 8106 <opt>b03</opt> 8107 <opt>b13</opt> 8108 <opt>b23</opt> 8109 <opt>b33</opt> 8110 </mod> 8111 </ins> 8112 8113 <ins name="V2U8_TO_V2U16" mask="0xfff08" exact="0x3c708" unit="add"> 8114 <src start="0"/> 8115 <mod name="swz0" start="4" size="4" default="b01"> 8116 <opt>b00</opt> 8117 <opt>b10</opt> 8118 <opt>b20</opt> 8119 <opt>b30</opt> 8120 <opt>b01</opt> 8121 <opt>b11</opt> 8122 <opt>b21</opt> 8123 <opt>b31</opt> 8124 <opt>b02</opt> 8125 <opt>b12</opt> 8126 <opt>b22</opt> 8127 <opt>b32</opt> 8128 <opt>b03</opt> 8129 <opt>b13</opt> 8130 <opt>b23</opt> 8131 <opt>b33</opt> 8132 </mod> 8133 </ins> 8134 8135 <ins name="VAR_TEX.f16" staging="w=2" mask="0xffd00" exact="0xca100" message="vartex" unit="add"> 8136 <immediate name="varying_index" start="0" size="3"/> 8137 <immediate name="texture_index" start="3" size="2"/> 8138 <mod name="update" size="1"> 8139 <opt>store</opt> 8140 <opt>retrieve</opt> 8141 </mod> 8142 <mod name="skip" start="7" size="1" opt="skip"/> 8143 <mod name="lod_mode" start="9" size="1" default="zero_lod"> 8144 <opt>computed_lod</opt> 8145 <opt>zero_lod</opt> 8146 </mod> 8147 <mod name="sample" size="1"> 8148 <opt>center</opt> 8149 <opt>none</opt> 8150 </mod> 8151 <derived start="5" size="2"> 8152 <and> 8153 <eq left="sample" right="#center"/> 8154 <eq left="update" right="#store"/> 8155 </and> 8156 <and> 8157 <eq left="sample" right="#none"/> 8158 <eq left="update" right="#retrieve"/> 8159 </and> 8160 <reserved/> 8161 <reserved/> 8162 </derived> 8163 </ins> 8164 8165 <ins name="VAR_TEX.f32" staging="w=4" mask="0xffd00" exact="0xca000" message="vartex" unit="add"> 8166 <immediate name="varying_index" start="0" size="3"/> 8167 <immediate name="texture_index" start="3" size="2"/> 8168 <mod name="update" size="1"> 8169 <opt>store</opt> 8170 <opt>retrieve</opt> 8171 </mod> 8172 <mod name="skip" start="7" size="1" opt="skip"/> 8173 <mod name="lod_mode" start="9" size="1" default="zero_lod"> 8174 <opt>computed_lod</opt> 8175 <opt>zero_lod</opt> 8176 </mod> 8177 <mod name="sample" size="1"> 8178 <opt>center</opt> 8179 <opt>none</opt> 8180 </mod> 8181 <derived start="5" size="2"> 8182 <and> 8183 <eq left="sample" right="#center"/> 8184 <eq left="update" right="#store"/> 8185 </and> 8186 <and> 8187 <eq left="sample" right="#none"/> 8188 <eq left="update" right="#retrieve"/> 8189 </and> 8190 <reserved/> 8191 <reserved/> 8192 </derived> 8193 </ins> 8194 8195 <ins name="VN_ASST2.f32" unit="add"> 8196 <src start="0"/> 8197 <mod name="scale" size="1" opt="scale"/> 8198 <mod name="neg0" size="1" opt="neg"/> 8199 <encoding mask="0xffff0" exact="0x3df80"> 8200 <eq left="scale" right="#none"/> 8201 <copy name="neg0" start="3"/> 8202 </encoding> 8203 <encoding mask="0xfffe8" exact="0x3de80"> 8204 <eq left="scale" right="#scale"/> 8205 <copy name="neg0" start="4"/> 8206 </encoding> 8207 </ins> 8208 8209 <ins name="VN_ASST2.v2f16" mask="0xffff0" exact="0x3dfa0" unit="add"> 8210 <src start="0"/> 8211 <mod name="neg0" start="3" size="1" opt="neg"/> 8212 </ins> 8213 8214 <ins name="WMASK" mask="0xfffc0" exact="0x3d700" unit="add"> 8215 <src start="0"/> 8216 <immediate name="fill" start="3" size="1"/> 8217 <mod name="subgroup" start="4" size="2"> 8218 <opt>subgroup2</opt> 8219 <opt>subgroup4</opt> 8220 <opt>subgroup8</opt> 8221 </mod> 8222 </ins> 8223 8224 <ins name="ZS_EMIT" staging="w=1" mask="0xff800" exact="0xd7800" message="z_stencil" unit="add"> 8225 <src start="0"/> 8226 <src start="3"/> 8227 <src start="6"/> 8228 <mod name="stencil" size="1" opt="stencil"/> 8229 <mod name="z" size="1" opt="z"/> 8230 <derived start="9" size="2"> 8231 <reserved/> 8232 <and> 8233 <eq left="stencil" right="#stencil"/> 8234 <eq left="z" right="#none"/> 8235 </and> 8236 <and> 8237 <eq left="stencil" right="#none"/> 8238 <eq left="z" right="#z"/> 8239 </and> 8240 <and> 8241 <eq left="stencil" right="#stencil"/> 8242 <eq left="z" right="#z"/> 8243 </and> 8244 </derived> 8245 </ins> 8246 8247 <!--- Lowered to *SEG_ADD/+SEG_ADD --> 8248 <ins name="SEG_ADD.i64" pseudo="true" unit="add"> 8249 <src start="0"/> 8250 <src start="3"/> 8251 <mod name="seg" size="3"> 8252 <reserved/> 8253 <reserved/> 8254 <opt>wls</opt> 8255 <reserved/> 8256 <reserved/> 8257 <reserved/> 8258 <reserved/> 8259 <opt>tl</opt> 8260 </mod> 8261 <mod name="preserve_null" size="1" opt="preserve_null"/> 8262 </ins> 8263 8264 <!-- Scheduler lowered to *ATOM_C.i32/+ATOM_CX. Real Valhall instructions. --> 8265 <ins name="ATOM_RETURN.i32" pseudo="true" staging="rw=sr_count" message="atomic" unit="add"> 8266 <src start="0"/> 8267 <src start="3"/> 8268 <mod name="atom_opc" start="9" size="5"> 8269 <reserved/> 8270 <reserved/> 8271 <opt>aadd</opt> 8272 <reserved/> 8273 <reserved/> 8274 <reserved/> 8275 <reserved/> 8276 <reserved/> 8277 <opt>asmin</opt> 8278 <opt>asmax</opt> 8279 <opt>aumin</opt> 8280 <opt>aumax</opt> 8281 <opt>aand</opt> 8282 <opt>aor</opt> 8283 <opt>axor</opt> 8284 <opt>axchg</opt> <!-- For Valhall --> 8285 <opt>acmpxchg</opt> <!-- For Valhall --> 8286 </mod> 8287 <!-- not actually encoded, but used for IR --> 8288 <immediate name="sr_count" size="4" pseudo="true"/> 8289 </ins> 8290 8291 <ins name="ATOM1_RETURN.i32" pseudo="true" staging="w=sr_count" message="atomic" unit="add"> 8292 <src start="0"/> 8293 <src start="3"/> 8294 <mod name="atom_opc" start="6" size="3"> 8295 <opt>ainc</opt> 8296 <opt>adec</opt> 8297 <opt>aumax1</opt> 8298 <opt>asmax1</opt> 8299 <opt>aor1</opt> 8300 </mod> 8301 <!-- not actually encoded, but used for IR --> 8302 <immediate name="sr_count" size="4" pseudo="true"/> 8303 </ins> 8304 8305 <ins name="ATOM.i32" pseudo="true" staging="r=sr_count" message="atomic" unit="add"> 8306 <src start="0"/> 8307 <src start="3"/> 8308 <mod name="atom_opc" start="9" size="4"> 8309 <reserved/> 8310 <reserved/> 8311 <opt>aadd</opt> 8312 <reserved/> 8313 <reserved/> 8314 <reserved/> 8315 <reserved/> 8316 <reserved/> 8317 <opt>asmin</opt> 8318 <opt>asmax</opt> 8319 <opt>aumin</opt> 8320 <opt>aumax</opt> 8321 <opt>aand</opt> 8322 <opt>aor</opt> 8323 <opt>axor</opt> 8324 </mod> 8325 <!-- not actually encoded, but used for IR --> 8326 <immediate name="sr_count" size="4" pseudo="true"/> 8327 </ins> 8328 8329 <!-- *CUBEFACE1/+CUBEFACE2 pair, two destinations, scheduler lowered --> 8330 <ins name="CUBEFACE" pseudo="true" dests="2" unit="add"> 8331 <src start="0"/> 8332 <src start="3"/> 8333 <src start="6"/> 8334 <mod name="neg0" size="1" opt="neg"/> 8335 <mod name="neg1" size="1" opt="neg"/> 8336 <mod name="neg2" size="1" opt="neg"/> 8337 </ins> 8338 8339 <ins name="IADD_IMM.i32" pseudo="true" unit="add"> 8340 <src start="0"/> 8341 <immediate name="index" size="32"/> 8342 </ins> 8343 8344 <ins name="IADD_IMM.v2i16" pseudo="true" unit="add"> 8345 <src start="0"/> 8346 <immediate name="index" size="32"/> 8347 </ins> 8348 8349 <ins name="IADD_IMM.v4i8" pseudo="true" unit="add"> 8350 <src start="0"/> 8351 <immediate name="index" size="32"/> 8352 </ins> 8353 8354 <ins name="FADD_IMM.f32" pseudo="true" unit="add"> 8355 <src start="0"/> 8356 <immediate name="index" size="32"/> 8357 </ins> 8358 8359 <ins name="FADD_IMM.v2f16" pseudo="true" unit="add"> 8360 <src start="0"/> 8361 <immediate name="index" size="32"/> 8362 </ins> 8363 8364 <ins name="FABSNEG.f32" pseudo="true" unit="fma"> 8365 <src start="0" mask="0xfb"/> 8366 <mod name="neg0" start="7" size="1" opt="neg"/> 8367 <mod name="abs0" start="12" size="1" opt="abs"/> 8368 <mod name="widen0" size="2"> 8369 <opt>none</opt> 8370 <opt>h0</opt> 8371 <opt>h1</opt> 8372 </mod> 8373 </ins> 8374 8375 <ins name="FABSNEG.v2f16" pseudo="true" unit="fma"> 8376 <src start="0" mask="0xfb"/> 8377 <mod name="abs0" size="1" opt="abs"/> 8378 <mod name="neg0" start="7" size="1" opt="neg"/> 8379 <mod name="swz0" start="9" size="2" default="h01"> 8380 <opt>h00</opt> 8381 <opt>h10</opt> 8382 <opt>h01</opt> 8383 <opt>h11</opt> 8384 </mod> 8385 </ins> 8386 8387 <ins name="FCLAMP.f32" pseudo="true" unit="fma"> 8388 <src start="0" mask="0xfb"/> 8389 <mod name="clamp" start="15" size="2"> 8390 <opt>none</opt> 8391 <opt>clamp_0_inf</opt> 8392 <opt>clamp_m1_1</opt> 8393 <opt>clamp_0_1</opt> 8394 </mod> 8395 </ins> 8396 8397 <ins name="FCLAMP.v2f16" pseudo="true" unit="fma"> 8398 <src start="0" mask="0xfb"/> 8399 <mod name="clamp" start="15" size="2"> 8400 <opt>none</opt> 8401 <opt>clamp_0_inf</opt> 8402 <opt>clamp_m1_1</opt> 8403 <opt>clamp_0_1</opt> 8404 </mod> 8405 </ins> 8406 8407 <ins name="DISCARD.b32" pseudo="true" dests="0" unit="add"> 8408 <src start="0"/> 8409 <mod name="widen0" size="2"> 8410 <opt>none</opt> 8411 <opt>h0</opt> 8412 <opt>h1</opt> 8413 </mod> 8414 </ins> 8415 8416 <ins name="TEX_SINGLE" staging="rw=sr_count" message="tex" pseudo="true" unit="add"> 8417 <src start="0"/> 8418 <src start="1"/> 8419 <immediate name="sr_count" size="4" pseudo="true"/> 8420 <mod name="wide_indices" start="8" size="1" opt="wide_indices"/> 8421 <mod name="texel_offset" start="9" size="1" opt="texel_offset"/> 8422 <mod name="skip" start="9" size="1" opt="skip"/> 8423 <mod name="shadow" start="9" size="1" opt="shadow"/> 8424 <mod name="array_enable" start="9" size="1" opt="array_enable"/> 8425 <mod name="dimension" start="9" size="2"> 8426 <opt>1d</opt> 8427 <opt>2d</opt> 8428 <opt>3d</opt> 8429 <opt>cube</opt> 8430 </mod> 8431 <mod name="write_mask" start="9" size="4"> 8432 <opt>none</opt> 8433 <opt>r</opt> 8434 <opt>g</opt> 8435 <opt>rg</opt> 8436 <opt>b</opt> 8437 <opt>rb</opt> 8438 <opt>gb</opt> 8439 <opt>rgb</opt> 8440 <opt>a</opt> 8441 <opt>ra</opt> 8442 <opt>ga</opt> 8443 <opt>rga</opt> 8444 <opt>ba</opt> 8445 <opt>rba</opt> 8446 <opt>gba</opt> 8447 <opt>rgba</opt> 8448 </mod> 8449 <mod name="va_lod_mode" start="13" size="3" default="zero_lod"> 8450 <opt>zero_lod</opt> 8451 <opt>computed_lod</opt> 8452 <opt>explicit</opt> 8453 <opt>computed_bias</opt> 8454 <opt>grdesc</opt> 8455 </mod> 8456 <mod name="register_format" size="4"> 8457 <opt>f16</opt> 8458 <opt>f32</opt> 8459 <opt>s32</opt> 8460 <opt>u32</opt> 8461 <opt>s16</opt> 8462 <opt>u16</opt> 8463 </mod> 8464 </ins> 8465 8466 <ins name="TEX_FETCH" staging="rw=sr_count" message="tex" pseudo="true" unit="add"> 8467 <src start="0"/> 8468 <src start="1"/> 8469 <immediate name="sr_count" size="4" pseudo="true"/> 8470 <mod name="wide_indices" start="8" size="1" opt="wide_indices"/> 8471 <mod name="texel_offset" start="9" size="1" opt="texel_offset"/> 8472 <mod name="skip" start="9" size="1" opt="skip"/> 8473 <mod name="array_enable" start="9" size="1" opt="array_enable"/> 8474 <mod name="dimension" start="9" size="2"> 8475 <opt>1d</opt> 8476 <opt>2d</opt> 8477 <opt>3d</opt> 8478 <opt>cube</opt> 8479 </mod> 8480 <mod name="write_mask" start="9" size="4"> 8481 <opt>none</opt> 8482 <opt>r</opt> 8483 <opt>g</opt> 8484 <opt>rg</opt> 8485 <opt>b</opt> 8486 <opt>rb</opt> 8487 <opt>gb</opt> 8488 <opt>rgb</opt> 8489 <opt>a</opt> 8490 <opt>ra</opt> 8491 <opt>ga</opt> 8492 <opt>rga</opt> 8493 <opt>ba</opt> 8494 <opt>rba</opt> 8495 <opt>gba</opt> 8496 <opt>rgba</opt> 8497 </mod> 8498 <mod name="register_format" size="4"> 8499 <opt>f16</opt> 8500 <opt>f32</opt> 8501 <opt>s32</opt> 8502 <opt>u32</opt> 8503 <opt>s16</opt> 8504 <opt>u16</opt> 8505 </mod> 8506 </ins> 8507 8508 <ins name="TEX_GATHER" staging="rw=sr_count" message="tex" pseudo="true" unit="add"> 8509 <src start="0"/> 8510 <src start="1"/> 8511 <immediate name="sr_count" size="4" pseudo="true"/> 8512 <mod name="wide_indices" start="8" size="1" opt="wide_indices"/> 8513 <mod name="texel_offset" start="9" size="1" opt="texel_offset"/> 8514 <mod name="skip" start="9" size="1" opt="skip"/> 8515 <mod name="shadow" start="9" size="1" opt="shadow"/> 8516 <mod name="array_enable" start="9" size="1" opt="array_enable"/> 8517 <mod name="integer_coordinates" start="9" size="1" opt="integer_coordinates"/> 8518 <mod name="fetch_component" start="9" size="2"> 8519 <opt>gather4_r</opt> 8520 <opt>gather4_g</opt> 8521 <opt>gather4_b</opt> 8522 <opt>gather4_a</opt> 8523 </mod> 8524 <mod name="dimension" start="9" size="2"> 8525 <opt>1d</opt> 8526 <opt>2d</opt> 8527 <opt>3d</opt> 8528 <opt>cube</opt> 8529 </mod> 8530 <mod name="write_mask" start="9" size="4"> 8531 <opt>none</opt> 8532 <opt>r</opt> 8533 <opt>g</opt> 8534 <opt>rg</opt> 8535 <opt>b</opt> 8536 <opt>rb</opt> 8537 <opt>gb</opt> 8538 <opt>rgb</opt> 8539 <opt>a</opt> 8540 <opt>ra</opt> 8541 <opt>ga</opt> 8542 <opt>rga</opt> 8543 <opt>ba</opt> 8544 <opt>rba</opt> 8545 <opt>gba</opt> 8546 <opt>rgba</opt> 8547 </mod> 8548 <mod name="register_format" size="4"> 8549 <opt>f16</opt> 8550 <opt>f32</opt> 8551 <opt>s32</opt> 8552 <opt>u32</opt> 8553 <opt>s16</opt> 8554 <opt>u16</opt> 8555 </mod> 8556 </ins> 8557 8558 <ins name="CUBEFACE2_V9" pseudo="true" unit="add"> 8559 <src start="0" mask="0xfb"/> 8560 <src start="3" mask="0xfb"/> 8561 <src start="6"/> 8562 <mod name="neg0" size="1" opt="neg"/> 8563 <mod name="neg1" size="1" opt="neg"/> 8564 <mod name="neg2" size="1" opt="neg"/> 8565 </ins> 8566 8567 <ins name="LD_VAR_BUF_IMM.f32" staging="w=format" message="varying" pseudo="true" unit="add"> 8568 <src start="0"/> 8569 <immediate name="index" start="3" size="5"/> 8570 <mod name="vecsize" start="8" size="2"> 8571 <opt>none</opt> 8572 <opt>v2</opt> 8573 <opt>v3</opt> 8574 <opt>v4</opt> 8575 </mod> 8576 <mod name="update" size="2"> 8577 <opt>store</opt> 8578 <opt>retrieve</opt> 8579 <opt>conditional</opt> 8580 <opt>clobber</opt> 8581 </mod> 8582 <mod name="register_format" size="2"> 8583 <opt>f32</opt> 8584 <opt>f16</opt> 8585 <opt>u32</opt> 8586 <opt>u16</opt> 8587 </mod> 8588 <mod name="source_format" size="2"> 8589 <opt>flat32</opt> 8590 <opt>flat16</opt> 8591 <opt>f32</opt> 8592 <opt>f16</opt> 8593 </mod> 8594 <mod name="sample" size="3"> 8595 <opt>center</opt> 8596 <opt>centroid</opt> 8597 <opt>sample</opt> 8598 <opt>explicit</opt> 8599 <opt>none</opt> 8600 </mod> 8601 </ins> 8602 8603 <ins name="LD_VAR_BUF.f32" staging="w=format" message="varying" pseudo="true" unit="add"> 8604 <src start="0"/> 8605 <src start="1"/> 8606 <mod name="vecsize" start="8" size="2"> 8607 <opt>none</opt> 8608 <opt>v2</opt> 8609 <opt>v3</opt> 8610 <opt>v4</opt> 8611 </mod> 8612 <mod name="update" size="2"> 8613 <opt>store</opt> 8614 <opt>retrieve</opt> 8615 <opt>conditional</opt> 8616 <opt>clobber</opt> 8617 </mod> 8618 <mod name="register_format" size="2"> 8619 <opt>f32</opt> 8620 <opt>f16</opt> 8621 <opt>u32</opt> 8622 <opt>u16</opt> 8623 </mod> 8624 <mod name="source_format" size="2"> 8625 <opt>flat32</opt> 8626 <opt>flat16</opt> 8627 <opt>f32</opt> 8628 <opt>f16</opt> 8629 </mod> 8630 <mod name="sample" size="3"> 8631 <opt>center</opt> 8632 <opt>centroid</opt> 8633 <opt>sample</opt> 8634 <opt>explicit</opt> 8635 <opt>none</opt> 8636 </mod> 8637 </ins> 8638 8639 <ins name="LD_VAR_BUF_IMM.f16" staging="w=format" message="varying" pseudo="true" unit="add"> 8640 <src start="0"/> 8641 <immediate name="index" start="3" size="5"/> 8642 <mod name="vecsize" start="8" size="2"> 8643 <opt>none</opt> 8644 <opt>v2</opt> 8645 <opt>v3</opt> 8646 <opt>v4</opt> 8647 </mod> 8648 <mod name="update" size="2"> 8649 <opt>store</opt> 8650 <opt>retrieve</opt> 8651 <opt>conditional</opt> 8652 <opt>clobber</opt> 8653 </mod> 8654 <mod name="register_format" size="2"> 8655 <opt>f32</opt> 8656 <opt>f16</opt> 8657 <opt>u32</opt> 8658 <opt>u16</opt> 8659 </mod> 8660 <mod name="source_format" size="2"> 8661 <opt>flat32</opt> 8662 <opt>flat16</opt> 8663 <opt>f32</opt> 8664 <opt>f16</opt> 8665 </mod> 8666 <mod name="sample" size="3"> 8667 <opt>center</opt> 8668 <opt>centroid</opt> 8669 <opt>sample</opt> 8670 <opt>explicit</opt> 8671 <opt>none</opt> 8672 </mod> 8673 </ins> 8674 8675 <ins name="LD_VAR_BUF.f16" staging="w=format" message="varying" pseudo="true" unit="add"> 8676 <src start="0"/> 8677 <src start="1"/> 8678 <mod name="vecsize" start="8" size="2"> 8679 <opt>none</opt> 8680 <opt>v2</opt> 8681 <opt>v3</opt> 8682 <opt>v4</opt> 8683 </mod> 8684 <mod name="update" size="2"> 8685 <opt>store</opt> 8686 <opt>retrieve</opt> 8687 <opt>conditional</opt> 8688 <opt>clobber</opt> 8689 </mod> 8690 <mod name="register_format" size="2"> 8691 <opt>f32</opt> 8692 <opt>f16</opt> 8693 <opt>u32</opt> 8694 <opt>u16</opt> 8695 </mod> 8696 <mod name="source_format" size="2"> 8697 <opt>flat32</opt> 8698 <opt>flat16</opt> 8699 <opt>f32</opt> 8700 <opt>f16</opt> 8701 </mod> 8702 <mod name="sample" size="3"> 8703 <opt>center</opt> 8704 <opt>centroid</opt> 8705 <opt>sample</opt> 8706 <opt>explicit</opt> 8707 <opt>none</opt> 8708 </mod> 8709 </ins> 8710 8711 <ins name="LEA_BUF_IMM" staging="w=2" message="attribute" pseudo="true" unit="add"> 8712 <src start="0"/> 8713 </ins> 8714 8715 <ins name="LD_BUFFER.i128" staging="w=4" pseudo="true" message="load" unit="add"> 8716 <src start="0"/> 8717 <src start="3"/> 8718 </ins> 8719 8720 <ins name="LD_BUFFER.i16" staging="w=1" pseudo="true" message="load" unit="add"> 8721 <src start="0"/> 8722 <src start="3"/> 8723 <mod name="lane_dest" size="2" default="h0"> 8724 <opt>h0</opt> 8725 <opt>h1</opt> 8726 <opt>w0</opt> 8727 <opt>d0</opt> 8728 </mod> 8729 <mod name="extend" size="2"> 8730 <opt>none</opt> 8731 <opt>sext</opt> 8732 <opt>zext</opt> 8733 </mod> 8734 </ins> 8735 8736 <ins name="LD_BUFFER.i24" staging="w=1" pseudo="true" message="load" unit="add"> 8737 <src start="0"/> 8738 <src start="3"/> 8739 </ins> 8740 8741 <ins name="LD_BUFFER.i32" staging="w=1" pseudo="true" message="load" unit="add"> 8742 <src start="0"/> 8743 <src start="3"/> 8744 <mod name="lane_dest" size="1" opt="d0"/> 8745 <mod name="extend" size="2"> 8746 <opt>none</opt> 8747 <opt>sext</opt> 8748 <opt>zext</opt> 8749 </mod> 8750 </ins> 8751 8752 <ins name="LD_BUFFER.i48" staging="w=2" pseudo="true" message="load" unit="add"> 8753 <src start="0"/> 8754 <src start="3"/> 8755 </ins> 8756 8757 <ins name="LD_BUFFER.i64" staging="w=2" pseudo="true" message="load" unit="add"> 8758 <src start="0"/> 8759 <src start="3"/> 8760 </ins> 8761 8762 <ins name="LD_BUFFER.i8" staging="w=1" pseudo="true" message="load" unit="add"> 8763 <src start="0"/> 8764 <src start="3"/> 8765 <mod name="lane_dest" size="3" default="b0"> 8766 <opt>b0</opt> 8767 <opt>b1</opt> 8768 <opt>b2</opt> 8769 <opt>b3</opt> 8770 <opt>h0</opt> 8771 <opt>h1</opt> 8772 <opt>w0</opt> 8773 <opt>d0</opt> 8774 </mod> 8775 <mod name="extend" size="2"> 8776 <opt>none</opt> 8777 <opt>sext</opt> 8778 <opt>zext</opt> 8779 </mod> 8780 </ins> 8781 8782 <ins name="LD_BUFFER.i96" staging="w=3" pseudo="true" message="load" unit="add"> 8783 <src start="0"/> 8784 <src start="3"/> 8785 </ins> 8786 8787 <ins name="BRANCHZI" pseudo="true" last="true" dests="0" unit="add"> 8788 <src start="0"/> 8789 <src start="6" mask="0xf7"/> 8790 <mod name="cmpf" size="1"> 8791 <opt>eq</opt> 8792 <opt>ne</opt> 8793 </mod> 8794 </ins> 8795 8796 <ins name="LD_TEX" pseudo="true" staging="w=format" message="attribute" unit="add"> 8797 <src start="0"/> 8798 <src start="3"/> 8799 <src start="6"/> 8800 <mod name="register_format" size="4"> 8801 <opt>f16</opt> 8802 <opt>f32</opt> 8803 <opt>s32</opt> 8804 <opt>u32</opt> 8805 <opt>s16</opt> 8806 <opt>u16</opt> 8807 <opt>f64</opt> 8808 <opt>i64</opt> 8809 <opt>auto</opt> 8810 </mod> 8811 <mod name="vecsize" start="11" size="2"> 8812 <opt>none</opt> 8813 <opt>v2</opt> 8814 <opt>v3</opt> 8815 <opt>v4</opt> 8816 </mod> 8817 </ins> 8818 8819 <ins name="LD_TEX_IMM" pseudo="true" staging="w=format" message="attribute" unit="add"> 8820 <src start="0"/> 8821 <src start="3"/> 8822 <immediate name="texture_index" start="6" size="4"/> 8823 <mod name="register_format" size="4"> 8824 <opt>f16</opt> 8825 <opt>f32</opt> 8826 <opt>s32</opt> 8827 <opt>u32</opt> 8828 <opt>s16</opt> 8829 <opt>u16</opt> 8830 <opt>f64</opt> 8831 <opt>i64</opt> 8832 <opt>auto</opt> 8833 </mod> 8834 <mod name="vecsize" start="11" size="2"> 8835 <opt>none</opt> 8836 <opt>v2</opt> 8837 <opt>v3</opt> 8838 <opt>v4</opt> 8839 </mod> 8840 </ins> 8841 8842 <ins name="MKVEC.v2i8" pseudo="true" unit="fma"> 8843 <src start="0"/> 8844 <src start="3"/> 8845 <src start="6"/> 8846 <mod name="lane0" start="12" size="2" default="b0"> 8847 <opt>b0</opt> 8848 <opt>b1</opt> 8849 <opt>b2</opt> 8850 <opt>b3</opt> 8851 </mod> 8852 <mod name="lane1" start="13" size="2" default="b0"> 8853 <opt>b0</opt> 8854 <opt>b1</opt> 8855 <opt>b2</opt> 8856 <opt>b3</opt> 8857 </mod> 8858 </ins> 8859 8860 <ins name="PHI" pseudo="true" variable_srcs="true" unit="add"/> 8861 8862 <ins name="COLLECT.i32" pseudo="true" variable_srcs="true" unit="add"/> 8863 8864 <ins name="SPLIT.i32" pseudo="true" variable_dests="true" unit="add"> 8865 <src start="0"/> 8866 </ins> 8867 8868 <ins name="FCMP_OR.f32" pseudo="true" unit="fma"> 8869 <src start="0" mask="0xfb"/> 8870 <src start="3" mask="0xfb"/> 8871 <src start="6" mask="0xfb"/> 8872 <mod name="widen0" size="2"> 8873 <opt>none</opt> 8874 <opt>h0</opt> 8875 <opt>h1</opt> 8876 </mod> 8877 <mod name="widen1" size="2"> 8878 <opt>none</opt> 8879 <opt>h0</opt> 8880 <opt>h1</opt> 8881 </mod> 8882 <mod name="abs1" start="6" size="1" opt="abs"/> 8883 <mod name="neg0" start="7" size="1" opt="neg"/> 8884 <mod name="neg1" start="8" size="1" opt="neg"/> 8885 <mod name="abs0" start="12" size="1" opt="abs"/> 8886 <mod name="cmpf" start="13" size="3"> 8887 <opt>eq</opt> 8888 <opt>gt</opt> 8889 <opt>ge</opt> 8890 <opt>ne</opt> 8891 <opt>lt</opt> 8892 <opt>le</opt> 8893 <opt>gtlt</opt> 8894 <opt>total</opt> 8895 </mod> 8896 <mod name="result_type" start="16" size="2" default="i1"> 8897 <opt>i1</opt> 8898 <opt>f1</opt> 8899 <opt>m1</opt> 8900 </mod> 8901 </ins> 8902 8903 <ins name="FCMP_OR.v2f16" pseudo="true" unit="fma"> 8904 <src start="0" mask="0xfb"/> 8905 <src start="3" mask="0xfb"/> 8906 <src start="6" mask="0xfb"/> 8907 <mod name="abs0" size="1" opt="abs"/> 8908 <mod name="abs1" size="1" opt="abs"/> 8909 <mod name="cmpf" size="3"> 8910 <opt>eq</opt> 8911 <opt>gt</opt> 8912 <opt>ge</opt> 8913 <opt>ne</opt> 8914 <opt>lt</opt> 8915 <opt>le</opt> 8916 <opt>gtlt</opt> 8917 <opt>total</opt> 8918 </mod> 8919 <mod name="neg0" start="7" size="1" opt="neg"/> 8920 <mod name="neg1" start="8" size="1" opt="neg"/> 8921 <mod name="swz0" start="9" size="2" default="h01"> 8922 <opt>h00</opt> 8923 <opt>h10</opt> 8924 <opt>h01</opt> 8925 <opt>h11</opt> 8926 </mod> 8927 <mod name="swz1" start="11" size="2" default="h01"> 8928 <opt>h00</opt> 8929 <opt>h10</opt> 8930 <opt>h01</opt> 8931 <opt>h11</opt> 8932 </mod> 8933 <mod name="result_type" start="16" size="2" default="i1"> 8934 <opt>i1</opt> 8935 <opt>f1</opt> 8936 <opt>m1</opt> 8937 </mod> 8938 </ins> 8939 8940 <ins name="FCMP_AND.f32" pseudo="true" unit="fma"> 8941 <src start="0" mask="0xfb"/> 8942 <src start="3" mask="0xfb"/> 8943 <src start="6" mask="0xfb"/> 8944 <mod name="widen0" size="2"> 8945 <opt>none</opt> 8946 <opt>h0</opt> 8947 <opt>h1</opt> 8948 </mod> 8949 <mod name="widen1" size="2"> 8950 <opt>none</opt> 8951 <opt>h0</opt> 8952 <opt>h1</opt> 8953 </mod> 8954 <mod name="abs1" start="6" size="1" opt="abs"/> 8955 <mod name="neg0" start="7" size="1" opt="neg"/> 8956 <mod name="neg1" start="8" size="1" opt="neg"/> 8957 <mod name="abs0" start="12" size="1" opt="abs"/> 8958 <mod name="cmpf" start="13" size="3"> 8959 <opt>eq</opt> 8960 <opt>gt</opt> 8961 <opt>ge</opt> 8962 <opt>ne</opt> 8963 <opt>lt</opt> 8964 <opt>le</opt> 8965 <opt>gtlt</opt> 8966 <opt>total</opt> 8967 </mod> 8968 <mod name="result_type" start="16" size="2" default="i1"> 8969 <opt>i1</opt> 8970 <opt>f1</opt> 8971 <opt>m1</opt> 8972 </mod> 8973 </ins> 8974 8975 <ins name="FCMP_AND.v2f16" pseudo="true" unit="fma"> 8976 <src start="0" mask="0xfb"/> 8977 <src start="3" mask="0xfb"/> 8978 <src start="6" mask="0xfb"/> 8979 <mod name="abs0" size="1" opt="abs"/> 8980 <mod name="abs1" size="1" opt="abs"/> 8981 <mod name="cmpf" size="3"> 8982 <opt>eq</opt> 8983 <opt>gt</opt> 8984 <opt>ge</opt> 8985 <opt>ne</opt> 8986 <opt>lt</opt> 8987 <opt>le</opt> 8988 <opt>gtlt</opt> 8989 <opt>total</opt> 8990 </mod> 8991 <mod name="neg0" start="7" size="1" opt="neg"/> 8992 <mod name="neg1" start="8" size="1" opt="neg"/> 8993 <mod name="swz0" start="9" size="2" default="h01"> 8994 <opt>h00</opt> 8995 <opt>h10</opt> 8996 <opt>h01</opt> 8997 <opt>h11</opt> 8998 </mod> 8999 <mod name="swz1" start="11" size="2" default="h01"> 9000 <opt>h00</opt> 9001 <opt>h10</opt> 9002 <opt>h01</opt> 9003 <opt>h11</opt> 9004 </mod> 9005 <mod name="result_type" start="16" size="2" default="i1"> 9006 <opt>i1</opt> 9007 <opt>f1</opt> 9008 <opt>m1</opt> 9009 </mod> 9010 </ins> 9011 9012 <ins name="ICMP_MULTI.s32" pseudo="true" unit="add"> 9013 <src start="0"/> 9014 <src start="3"/> 9015 <src start="6"/> 9016 <mod name="result_type" start="10" size="1" default="i1"> 9017 <opt>i1</opt> 9018 <opt>m1</opt> 9019 </mod> 9020 <mod name="cmpf" size="2"> 9021 <opt>eq</opt> 9022 <opt>ne</opt> 9023 <opt>gt</opt> 9024 <opt>ge</opt> 9025 <opt>lt</opt> 9026 <opt>le</opt> 9027 </mod> 9028 </ins> 9029 9030 <ins name="ICMP_MULTI.u32" pseudo="true" unit="add"> 9031 <src start="0"/> 9032 <src start="3"/> 9033 <src start="6"/> 9034 <mod name="result_type" start="10" size="1" default="i1"> 9035 <opt>i1</opt> 9036 <opt>m1</opt> 9037 </mod> 9038 <mod name="cmpf" size="2"> 9039 <opt>eq</opt> 9040 <opt>ne</opt> 9041 <opt>gt</opt> 9042 <opt>ge</opt> 9043 <opt>lt</opt> 9044 <opt>le</opt> 9045 </mod> 9046 </ins> 9047 9048 <ins name="ICMP_OR.s32" pseudo="true" unit="add"> 9049 <src start="0"/> 9050 <src start="3"/> 9051 <src start="6"/> 9052 <mod name="result_type" start="10" size="1" default="i1"> 9053 <opt>i1</opt> 9054 <opt>m1</opt> 9055 </mod> 9056 <mod name="cmpf" size="2"> 9057 <opt>eq</opt> 9058 <opt>ne</opt> 9059 <opt>gt</opt> 9060 <opt>ge</opt> 9061 <opt>lt</opt> 9062 <opt>le</opt> 9063 </mod> 9064 </ins> 9065 9066 <ins name="ICMP_OR.u32" pseudo="true" unit="add"> 9067 <src start="0"/> 9068 <src start="3"/> 9069 <src start="6"/> 9070 <mod name="result_type" start="10" size="1" default="i1"> 9071 <opt>i1</opt> 9072 <opt>m1</opt> 9073 </mod> 9074 <mod name="cmpf" size="2"> 9075 <opt>eq</opt> 9076 <opt>ne</opt> 9077 <opt>gt</opt> 9078 <opt>ge</opt> 9079 <opt>lt</opt> 9080 <opt>le</opt> 9081 </mod> 9082 </ins> 9083 9084 <ins name="ICMP_OR.v2s16" pseudo="true" unit="add"> 9085 <src start="0"/> 9086 <src start="3"/> 9087 <src start="6"/> 9088 <mod name="swz0" start="6" size="2" default="h01"> 9089 <opt>h00</opt> 9090 <opt>h10</opt> 9091 <opt>h01</opt> 9092 <opt>h11</opt> 9093 </mod> 9094 <mod name="swz1" start="8" size="2" default="h01"> 9095 <opt>h00</opt> 9096 <opt>h10</opt> 9097 <opt>h01</opt> 9098 <opt>h11</opt> 9099 </mod> 9100 <mod name="result_type" start="10" size="1" default="i1"> 9101 <opt>i1</opt> 9102 <opt>m1</opt> 9103 </mod> 9104 <mod name="cmpf" size="2"> 9105 <opt>eq</opt> 9106 <opt>ne</opt> 9107 <opt>gt</opt> 9108 <opt>ge</opt> 9109 <opt>lt</opt> 9110 <opt>le</opt> 9111 </mod> 9112 </ins> 9113 9114 <ins name="ICMP_OR.v2u16" pseudo="true" unit="add"> 9115 <src start="0"/> 9116 <src start="3"/> 9117 <src start="6"/> 9118 <mod name="swz0" start="6" size="2" default="h01"> 9119 <opt>h00</opt> 9120 <opt>h10</opt> 9121 <opt>h01</opt> 9122 <opt>h11</opt> 9123 </mod> 9124 <mod name="swz1" start="8" size="2" default="h01"> 9125 <opt>h00</opt> 9126 <opt>h10</opt> 9127 <opt>h01</opt> 9128 <opt>h11</opt> 9129 </mod> 9130 <mod name="result_type" start="10" size="1" default="i1"> 9131 <opt>i1</opt> 9132 <opt>m1</opt> 9133 </mod> 9134 <mod name="cmpf" size="2"> 9135 <opt>eq</opt> 9136 <opt>ne</opt> 9137 <opt>gt</opt> 9138 <opt>ge</opt> 9139 <opt>lt</opt> 9140 <opt>le</opt> 9141 </mod> 9142 </ins> 9143 9144 <ins name="ICMP_OR.v4s8" pseudo="true" unit="add"> 9145 <src start="0"/> 9146 <src start="3"/> 9147 <src start="6"/> 9148 <mod name="result_type" start="10" size="1" default="i1"> 9149 <opt>i1</opt> 9150 <opt>m1</opt> 9151 </mod> 9152 <mod name="cmpf" size="2"> 9153 <opt>eq</opt> 9154 <opt>ne</opt> 9155 <opt>gt</opt> 9156 <opt>ge</opt> 9157 <opt>lt</opt> 9158 <opt>le</opt> 9159 </mod> 9160 <derived start="6" size="1"> 9161 <eq left="cmpf" right="#gt"/> 9162 <eq left="cmpf" right="#ge"/> 9163 </derived> 9164 </ins> 9165 9166 <ins name="ICMP_OR.v4u8" pseudo="true" unit="add"> 9167 <src start="0"/> 9168 <src start="3"/> 9169 <src start="6"/> 9170 <mod name="result_type" start="10" size="1" default="i1"> 9171 <opt>i1</opt> 9172 <opt>m1</opt> 9173 </mod> 9174 <mod name="cmpf" size="2"> 9175 <opt>eq</opt> 9176 <opt>ne</opt> 9177 <opt>gt</opt> 9178 <opt>ge</opt> 9179 <opt>lt</opt> 9180 <opt>le</opt> 9181 </mod> 9182 </ins> 9183 9184 <ins name="ICMP_AND.s32" pseudo="true" unit="add"> 9185 <src start="0"/> 9186 <src start="3"/> 9187 <src start="6"/> 9188 <mod name="result_type" start="10" size="1" default="i1"> 9189 <opt>i1</opt> 9190 <opt>m1</opt> 9191 </mod> 9192 <mod name="cmpf" size="2"> 9193 <opt>eq</opt> 9194 <opt>ne</opt> 9195 <opt>gt</opt> 9196 <opt>ge</opt> 9197 <opt>lt</opt> 9198 <opt>le</opt> 9199 </mod> 9200 </ins> 9201 9202 <ins name="ICMP_AND.u32" pseudo="true" unit="add"> 9203 <src start="0"/> 9204 <src start="3"/> 9205 <src start="6"/> 9206 <mod name="result_type" start="10" size="1" default="i1"> 9207 <opt>i1</opt> 9208 <opt>m1</opt> 9209 </mod> 9210 <mod name="cmpf" size="2"> 9211 <opt>eq</opt> 9212 <opt>ne</opt> 9213 <opt>gt</opt> 9214 <opt>ge</opt> 9215 <opt>lt</opt> 9216 <opt>le</opt> 9217 </mod> 9218 </ins> 9219 9220 <ins name="ICMP_AND.v2s16" pseudo="true" unit="add"> 9221 <src start="0"/> 9222 <src start="3"/> 9223 <src start="6"/> 9224 <mod name="swz0" start="6" size="2" default="h01"> 9225 <opt>h00</opt> 9226 <opt>h10</opt> 9227 <opt>h01</opt> 9228 <opt>h11</opt> 9229 </mod> 9230 <mod name="swz1" start="8" size="2" default="h01"> 9231 <opt>h00</opt> 9232 <opt>h10</opt> 9233 <opt>h01</opt> 9234 <opt>h11</opt> 9235 </mod> 9236 <mod name="result_type" start="10" size="1" default="i1"> 9237 <opt>i1</opt> 9238 <opt>m1</opt> 9239 </mod> 9240 <mod name="cmpf" size="2"> 9241 <opt>eq</opt> 9242 <opt>ne</opt> 9243 <opt>gt</opt> 9244 <opt>ge</opt> 9245 <opt>lt</opt> 9246 <opt>le</opt> 9247 </mod> 9248 </ins> 9249 9250 <ins name="ICMP_AND.v2u16" pseudo="true" unit="add"> 9251 <src start="0"/> 9252 <src start="3"/> 9253 <src start="6"/> 9254 <mod name="swz0" start="6" size="2" default="h01"> 9255 <opt>h00</opt> 9256 <opt>h10</opt> 9257 <opt>h01</opt> 9258 <opt>h11</opt> 9259 </mod> 9260 <mod name="swz1" start="8" size="2" default="h01"> 9261 <opt>h00</opt> 9262 <opt>h10</opt> 9263 <opt>h01</opt> 9264 <opt>h11</opt> 9265 </mod> 9266 <mod name="result_type" start="10" size="1" default="i1"> 9267 <opt>i1</opt> 9268 <opt>m1</opt> 9269 </mod> 9270 <mod name="cmpf" size="2"> 9271 <opt>eq</opt> 9272 <opt>ne</opt> 9273 <opt>gt</opt> 9274 <opt>ge</opt> 9275 <opt>lt</opt> 9276 <opt>le</opt> 9277 </mod> 9278 </ins> 9279 9280 <ins name="ICMP_AND.v4s8" pseudo="true" unit="add"> 9281 <src start="0"/> 9282 <src start="3"/> 9283 <src start="6"/> 9284 <mod name="result_type" start="10" size="1" default="i1"> 9285 <opt>i1</opt> 9286 <opt>m1</opt> 9287 </mod> 9288 <mod name="cmpf" size="2"> 9289 <opt>eq</opt> 9290 <opt>ne</opt> 9291 <opt>gt</opt> 9292 <opt>ge</opt> 9293 <opt>lt</opt> 9294 <opt>le</opt> 9295 </mod> 9296 <derived start="6" size="1"> 9297 <eq left="cmpf" right="#gt"/> 9298 <eq left="cmpf" right="#ge"/> 9299 </derived> 9300 </ins> 9301 9302 <ins name="ICMP_AND.v4u8" pseudo="true" unit="add"> 9303 <src start="0"/> 9304 <src start="3"/> 9305 <src start="6"/> 9306 <mod name="result_type" start="10" size="1" default="i1"> 9307 <opt>i1</opt> 9308 <opt>m1</opt> 9309 </mod> 9310 <mod name="cmpf" size="2"> 9311 <opt>eq</opt> 9312 <opt>ne</opt> 9313 <opt>gt</opt> 9314 <opt>ge</opt> 9315 <opt>lt</opt> 9316 <opt>le</opt> 9317 </mod> 9318 </ins> 9319 9320</bifrost> 9321