aarch64-dis-2.c revision 1.1
1/* This file is automatically generated by aarch64-gen. Do not edit! */ 2/* Copyright 2012, 2013 Free Software Foundation, Inc. 3 Contributed by ARM Ltd. 4 5 This file is part of the GNU opcodes library. 6 7 This library is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 3, or (at your option) 10 any later version. 11 12 It is distributed in the hope that it will be useful, but WITHOUT 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15 License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; see the file COPYING3. If not, 19 see <http://www.gnu.org/licenses/>. */ 20 21#include "sysdep.h" 22#include "aarch64-dis.h" 23 24/* Called by aarch64_opcode_lookup. */ 25 26static int 27aarch64_opcode_lookup_1 (uint32_t word) 28{ 29 if (((word >> 26) & 0x1) == 0) 30 { 31 if (((word >> 25) & 0x1) == 0) 32 { 33 if (((word >> 27) & 0x1) == 0) 34 { 35 if (((word >> 24) & 0x1) == 0) 36 { 37 if (((word >> 31) & 0x1) == 0) 38 { 39 /* 33222222222211111111110000000000 40 10987654321098765432109876543210 41 xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0 42 adr. */ 43 return 781; 44 } 45 else 46 { 47 /* 33222222222211111111110000000000 48 10987654321098765432109876543210 49 xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1 50 adrp. */ 51 return 782; 52 } 53 } 54 else 55 { 56 if (((word >> 29) & 0x1) == 0) 57 { 58 if (((word >> 30) & 0x1) == 0) 59 { 60 /* 33222222222211111111110000000000 61 10987654321098765432109876543210 62 xxxxxxxxxxxxxxxxxxxxxxxx1000x00x 63 add. */ 64 return 12; 65 } 66 else 67 { 68 /* 33222222222211111111110000000000 69 10987654321098765432109876543210 70 xxxxxxxxxxxxxxxxxxxxxxxx1000x01x 71 sub. */ 72 return 16; 73 } 74 } 75 else 76 { 77 if (((word >> 30) & 0x1) == 0) 78 { 79 /* 33222222222211111111110000000000 80 10987654321098765432109876543210 81 xxxxxxxxxxxxxxxxxxxxxxxx1000x10x 82 adds. */ 83 return 14; 84 } 85 else 86 { 87 /* 33222222222211111111110000000000 88 10987654321098765432109876543210 89 xxxxxxxxxxxxxxxxxxxxxxxx1000x11x 90 subs. */ 91 return 17; 92 } 93 } 94 } 95 } 96 else 97 { 98 if (((word >> 28) & 0x1) == 0) 99 { 100 if (((word >> 22) & 0x1) == 0) 101 { 102 if (((word >> 23) & 0x1) == 0) 103 { 104 if (((word >> 29) & 0x1) == 0) 105 { 106 if (((word >> 15) & 0x1) == 0) 107 { 108 if (((word >> 21) & 0x1) == 0) 109 { 110 if (((word >> 31) & 0x1) == 0) 111 { 112 if (((word >> 30) & 0x1) == 0) 113 { 114 /* 33222222222211111111110000000000 115 10987654321098765432109876543210 116 xxxxxxxxxxxxxxx0xxxxx000x0010000 117 stxrb. */ 118 return 717; 119 } 120 else 121 { 122 /* 33222222222211111111110000000000 123 10987654321098765432109876543210 124 xxxxxxxxxxxxxxx0xxxxx000x0010010 125 stxrh. */ 126 return 723; 127 } 128 } 129 else 130 { 131 /* 33222222222211111111110000000000 132 10987654321098765432109876543210 133 xxxxxxxxxxxxxxx0xxxxx000x00100x1 134 stxr. */ 135 return 729; 136 } 137 } 138 else 139 { 140 /* 33222222222211111111110000000000 141 10987654321098765432109876543210 142 xxxxxxxxxxxxxxx0xxxxx100x00100xx 143 stxp. */ 144 return 731; 145 } 146 } 147 else 148 { 149 if (((word >> 21) & 0x1) == 0) 150 { 151 if (((word >> 31) & 0x1) == 0) 152 { 153 if (((word >> 30) & 0x1) == 0) 154 { 155 /* 33222222222211111111110000000000 156 10987654321098765432109876543210 157 xxxxxxxxxxxxxxx1xxxxx000x0010000 158 stlxrb. */ 159 return 718; 160 } 161 else 162 { 163 /* 33222222222211111111110000000000 164 10987654321098765432109876543210 165 xxxxxxxxxxxxxxx1xxxxx000x0010010 166 stlxrh. */ 167 return 724; 168 } 169 } 170 else 171 { 172 /* 33222222222211111111110000000000 173 10987654321098765432109876543210 174 xxxxxxxxxxxxxxx1xxxxx000x00100x1 175 stlxr. */ 176 return 730; 177 } 178 } 179 else 180 { 181 /* 33222222222211111111110000000000 182 10987654321098765432109876543210 183 xxxxxxxxxxxxxxx1xxxxx100x00100xx 184 stlxp. */ 185 return 732; 186 } 187 } 188 } 189 else 190 { 191 /* 33222222222211111111110000000000 192 10987654321098765432109876543210 193 xxxxxxxxxxxxxxxxxxxxxx00x00101xx 194 stnp. */ 195 return 739; 196 } 197 } 198 else 199 { 200 if (((word >> 29) & 0x1) == 0) 201 { 202 if (((word >> 31) & 0x1) == 0) 203 { 204 if (((word >> 30) & 0x1) == 0) 205 { 206 /* 33222222222211111111110000000000 207 10987654321098765432109876543210 208 xxxxxxxxxxxxxxxxxxxxxx01x0010000 209 stlrb. */ 210 return 721; 211 } 212 else 213 { 214 /* 33222222222211111111110000000000 215 10987654321098765432109876543210 216 xxxxxxxxxxxxxxxxxxxxxx01x0010010 217 stlrh. */ 218 return 727; 219 } 220 } 221 else 222 { 223 /* 33222222222211111111110000000000 224 10987654321098765432109876543210 225 xxxxxxxxxxxxxxxxxxxxxx01x00100x1 226 stlr. */ 227 return 737; 228 } 229 } 230 else 231 { 232 /* 33222222222211111111110000000000 233 10987654321098765432109876543210 234 xxxxxxxxxxxxxxxxxxxxxx01x00101xx 235 stp. */ 236 return 748; 237 } 238 } 239 } 240 else 241 { 242 if (((word >> 23) & 0x1) == 0) 243 { 244 if (((word >> 29) & 0x1) == 0) 245 { 246 if (((word >> 15) & 0x1) == 0) 247 { 248 if (((word >> 21) & 0x1) == 0) 249 { 250 if (((word >> 31) & 0x1) == 0) 251 { 252 if (((word >> 30) & 0x1) == 0) 253 { 254 /* 33222222222211111111110000000000 255 10987654321098765432109876543210 256 xxxxxxxxxxxxxxx0xxxxx010x0010000 257 ldxrb. */ 258 return 719; 259 } 260 else 261 { 262 /* 33222222222211111111110000000000 263 10987654321098765432109876543210 264 xxxxxxxxxxxxxxx0xxxxx010x0010010 265 ldxrh. */ 266 return 725; 267 } 268 } 269 else 270 { 271 /* 33222222222211111111110000000000 272 10987654321098765432109876543210 273 xxxxxxxxxxxxxxx0xxxxx010x00100x1 274 ldxr. */ 275 return 733; 276 } 277 } 278 else 279 { 280 /* 33222222222211111111110000000000 281 10987654321098765432109876543210 282 xxxxxxxxxxxxxxx0xxxxx110x00100xx 283 ldxp. */ 284 return 735; 285 } 286 } 287 else 288 { 289 if (((word >> 21) & 0x1) == 0) 290 { 291 if (((word >> 31) & 0x1) == 0) 292 { 293 if (((word >> 30) & 0x1) == 0) 294 { 295 /* 33222222222211111111110000000000 296 10987654321098765432109876543210 297 xxxxxxxxxxxxxxx1xxxxx010x0010000 298 ldaxrb. */ 299 return 720; 300 } 301 else 302 { 303 /* 33222222222211111111110000000000 304 10987654321098765432109876543210 305 xxxxxxxxxxxxxxx1xxxxx010x0010010 306 ldaxrh. */ 307 return 726; 308 } 309 } 310 else 311 { 312 /* 33222222222211111111110000000000 313 10987654321098765432109876543210 314 xxxxxxxxxxxxxxx1xxxxx010x00100x1 315 ldaxr. */ 316 return 734; 317 } 318 } 319 else 320 { 321 /* 33222222222211111111110000000000 322 10987654321098765432109876543210 323 xxxxxxxxxxxxxxx1xxxxx110x00100xx 324 ldaxp. */ 325 return 736; 326 } 327 } 328 } 329 else 330 { 331 if (((word >> 30) & 0x1) == 0) 332 { 333 /* 33222222222211111111110000000000 334 10987654321098765432109876543210 335 xxxxxxxxxxxxxxxxxxxxxx10x001010x 336 ldnp. */ 337 return 740; 338 } 339 else 340 { 341 /* 33222222222211111111110000000000 342 10987654321098765432109876543210 343 xxxxxxxxxxxxxxxxxxxxxx10x001011x 344 ldpsw. */ 345 return 747; 346 } 347 } 348 } 349 else 350 { 351 if (((word >> 29) & 0x1) == 0) 352 { 353 if (((word >> 31) & 0x1) == 0) 354 { 355 if (((word >> 30) & 0x1) == 0) 356 { 357 /* 33222222222211111111110000000000 358 10987654321098765432109876543210 359 xxxxxxxxxxxxxxxxxxxxxx11x0010000 360 ldarb. */ 361 return 722; 362 } 363 else 364 { 365 /* 33222222222211111111110000000000 366 10987654321098765432109876543210 367 xxxxxxxxxxxxxxxxxxxxxx11x0010010 368 ldarh. */ 369 return 728; 370 } 371 } 372 else 373 { 374 /* 33222222222211111111110000000000 375 10987654321098765432109876543210 376 xxxxxxxxxxxxxxxxxxxxxx11x00100x1 377 ldar. */ 378 return 738; 379 } 380 } 381 else 382 { 383 if (((word >> 30) & 0x1) == 0) 384 { 385 /* 33222222222211111111110000000000 386 10987654321098765432109876543210 387 xxxxxxxxxxxxxxxxxxxxxx11x001010x 388 ldp. */ 389 return 749; 390 } 391 else 392 { 393 /* 33222222222211111111110000000000 394 10987654321098765432109876543210 395 xxxxxxxxxxxxxxxxxxxxxx11x001011x 396 ldpsw. */ 397 return 752; 398 } 399 } 400 } 401 } 402 } 403 else 404 { 405 if (((word >> 24) & 0x1) == 0) 406 { 407 if (((word >> 29) & 0x1) == 0) 408 { 409 if (((word >> 31) & 0x1) == 0) 410 { 411 /* 33222222222211111111110000000000 412 10987654321098765432109876543210 413 xxxxxxxxxxxxxxxxxxxxxxxx000110x0 414 ldr. */ 415 return 753; 416 } 417 else 418 { 419 if (((word >> 30) & 0x1) == 0) 420 { 421 /* 33222222222211111111110000000000 422 10987654321098765432109876543210 423 xxxxxxxxxxxxxxxxxxxxxxxx00011001 424 ldrsw. */ 425 return 755; 426 } 427 else 428 { 429 /* 33222222222211111111110000000000 430 10987654321098765432109876543210 431 xxxxxxxxxxxxxxxxxxxxxxxx00011011 432 prfm. */ 433 return 756; 434 } 435 } 436 } 437 else 438 { 439 if (((word >> 10) & 0x1) == 0) 440 { 441 if (((word >> 11) & 0x1) == 0) 442 { 443 if (((word >> 23) & 0x1) == 0) 444 { 445 if (((word >> 22) & 0x1) == 0) 446 { 447 if (((word >> 31) & 0x1) == 0) 448 { 449 if (((word >> 30) & 0x1) == 0) 450 { 451 /* 33222222222211111111110000000000 452 10987654321098765432109876543210 453 xxxxxxxxxx00xxxxxxxxxx0000011100 454 sturb. */ 455 return 693; 456 } 457 else 458 { 459 /* 33222222222211111111110000000000 460 10987654321098765432109876543210 461 xxxxxxxxxx00xxxxxxxxxx0000011110 462 sturh. */ 463 return 703; 464 } 465 } 466 else 467 { 468 /* 33222222222211111111110000000000 469 10987654321098765432109876543210 470 xxxxxxxxxx00xxxxxxxxxx00000111x1 471 stur. */ 472 return 709; 473 } 474 } 475 else 476 { 477 if (((word >> 31) & 0x1) == 0) 478 { 479 if (((word >> 30) & 0x1) == 0) 480 { 481 /* 33222222222211111111110000000000 482 10987654321098765432109876543210 483 xxxxxxxxxx00xxxxxxxxxx1000011100 484 ldurb. */ 485 return 694; 486 } 487 else 488 { 489 /* 33222222222211111111110000000000 490 10987654321098765432109876543210 491 xxxxxxxxxx00xxxxxxxxxx1000011110 492 ldurh. */ 493 return 704; 494 } 495 } 496 else 497 { 498 /* 33222222222211111111110000000000 499 10987654321098765432109876543210 500 xxxxxxxxxx00xxxxxxxxxx10000111x1 501 ldur. */ 502 return 710; 503 } 504 } 505 } 506 else 507 { 508 if (((word >> 30) & 0x1) == 0) 509 { 510 if (((word >> 31) & 0x1) == 0) 511 { 512 /* 33222222222211111111110000000000 513 10987654321098765432109876543210 514 xxxxxxxxxx00xxxxxxxxxxx100011100 515 ldursb. */ 516 return 697; 517 } 518 else 519 { 520 /* 33222222222211111111110000000000 521 10987654321098765432109876543210 522 xxxxxxxxxx00xxxxxxxxxxx100011101 523 ldursw. */ 524 return 713; 525 } 526 } 527 else 528 { 529 if (((word >> 31) & 0x1) == 0) 530 { 531 /* 33222222222211111111110000000000 532 10987654321098765432109876543210 533 xxxxxxxxxx00xxxxxxxxxxx100011110 534 ldursh. */ 535 return 707; 536 } 537 else 538 { 539 /* 33222222222211111111110000000000 540 10987654321098765432109876543210 541 xxxxxxxxxx00xxxxxxxxxxx100011111 542 prfum. */ 543 return 715; 544 } 545 } 546 } 547 } 548 else 549 { 550 if (((word >> 21) & 0x1) == 0) 551 { 552 if (((word >> 23) & 0x1) == 0) 553 { 554 if (((word >> 22) & 0x1) == 0) 555 { 556 if (((word >> 31) & 0x1) == 0) 557 { 558 if (((word >> 30) & 0x1) == 0) 559 { 560 /* 33222222222211111111110000000000 561 10987654321098765432109876543210 562 xxxxxxxxxx01xxxxxxxxx00000011100 563 sttrb. */ 564 return 684; 565 } 566 else 567 { 568 /* 33222222222211111111110000000000 569 10987654321098765432109876543210 570 xxxxxxxxxx01xxxxxxxxx00000011110 571 sttrh. */ 572 return 687; 573 } 574 } 575 else 576 { 577 /* 33222222222211111111110000000000 578 10987654321098765432109876543210 579 xxxxxxxxxx01xxxxxxxxx000000111x1 580 sttr. */ 581 return 690; 582 } 583 } 584 else 585 { 586 if (((word >> 31) & 0x1) == 0) 587 { 588 if (((word >> 30) & 0x1) == 0) 589 { 590 /* 33222222222211111111110000000000 591 10987654321098765432109876543210 592 xxxxxxxxxx01xxxxxxxxx01000011100 593 ldtrb. */ 594 return 685; 595 } 596 else 597 { 598 /* 33222222222211111111110000000000 599 10987654321098765432109876543210 600 xxxxxxxxxx01xxxxxxxxx01000011110 601 ldtrh. */ 602 return 688; 603 } 604 } 605 else 606 { 607 /* 33222222222211111111110000000000 608 10987654321098765432109876543210 609 xxxxxxxxxx01xxxxxxxxx010000111x1 610 ldtr. */ 611 return 691; 612 } 613 } 614 } 615 else 616 { 617 if (((word >> 30) & 0x1) == 0) 618 { 619 if (((word >> 31) & 0x1) == 0) 620 { 621 /* 33222222222211111111110000000000 622 10987654321098765432109876543210 623 xxxxxxxxxx01xxxxxxxxx0x100011100 624 ldtrsb. */ 625 return 686; 626 } 627 else 628 { 629 /* 33222222222211111111110000000000 630 10987654321098765432109876543210 631 xxxxxxxxxx01xxxxxxxxx0x100011101 632 ldtrsw. */ 633 return 692; 634 } 635 } 636 else 637 { 638 /* 33222222222211111111110000000000 639 10987654321098765432109876543210 640 xxxxxxxxxx01xxxxxxxxx0x10001111x 641 ldtrsh. */ 642 return 689; 643 } 644 } 645 } 646 else 647 { 648 if (((word >> 23) & 0x1) == 0) 649 { 650 if (((word >> 22) & 0x1) == 0) 651 { 652 if (((word >> 31) & 0x1) == 0) 653 { 654 if (((word >> 30) & 0x1) == 0) 655 { 656 /* 33222222222211111111110000000000 657 10987654321098765432109876543210 658 xxxxxxxxxx01xxxxxxxxx10000011100 659 strb. */ 660 return 672; 661 } 662 else 663 { 664 /* 33222222222211111111110000000000 665 10987654321098765432109876543210 666 xxxxxxxxxx01xxxxxxxxx10000011110 667 strh. */ 668 return 677; 669 } 670 } 671 else 672 { 673 /* 33222222222211111111110000000000 674 10987654321098765432109876543210 675 xxxxxxxxxx01xxxxxxxxx100000111x1 676 str. */ 677 return 680; 678 } 679 } 680 else 681 { 682 if (((word >> 31) & 0x1) == 0) 683 { 684 if (((word >> 30) & 0x1) == 0) 685 { 686 /* 33222222222211111111110000000000 687 10987654321098765432109876543210 688 xxxxxxxxxx01xxxxxxxxx11000011100 689 ldrb. */ 690 return 673; 691 } 692 else 693 { 694 /* 33222222222211111111110000000000 695 10987654321098765432109876543210 696 xxxxxxxxxx01xxxxxxxxx11000011110 697 ldrh. */ 698 return 678; 699 } 700 } 701 else 702 { 703 /* 33222222222211111111110000000000 704 10987654321098765432109876543210 705 xxxxxxxxxx01xxxxxxxxx110000111x1 706 ldr. */ 707 return 681; 708 } 709 } 710 } 711 else 712 { 713 if (((word >> 30) & 0x1) == 0) 714 { 715 if (((word >> 31) & 0x1) == 0) 716 { 717 /* 33222222222211111111110000000000 718 10987654321098765432109876543210 719 xxxxxxxxxx01xxxxxxxxx1x100011100 720 ldrsb. */ 721 return 674; 722 } 723 else 724 { 725 /* 33222222222211111111110000000000 726 10987654321098765432109876543210 727 xxxxxxxxxx01xxxxxxxxx1x100011101 728 ldrsw. */ 729 return 682; 730 } 731 } 732 else 733 { 734 if (((word >> 31) & 0x1) == 0) 735 { 736 /* 33222222222211111111110000000000 737 10987654321098765432109876543210 738 xxxxxxxxxx01xxxxxxxxx1x100011110 739 ldrsh. */ 740 return 679; 741 } 742 else 743 { 744 /* 33222222222211111111110000000000 745 10987654321098765432109876543210 746 xxxxxxxxxx01xxxxxxxxx1x100011111 747 prfm. */ 748 return 683; 749 } 750 } 751 } 752 } 753 } 754 } 755 else 756 { 757 if (((word >> 23) & 0x1) == 0) 758 { 759 if (((word >> 22) & 0x1) == 0) 760 { 761 if (((word >> 31) & 0x1) == 0) 762 { 763 if (((word >> 30) & 0x1) == 0) 764 { 765 /* 33222222222211111111110000000000 766 10987654321098765432109876543210 767 xxxxxxxxxx1xxxxxxxxxxx0000011100 768 strb. */ 769 return 649; 770 } 771 else 772 { 773 /* 33222222222211111111110000000000 774 10987654321098765432109876543210 775 xxxxxxxxxx1xxxxxxxxxxx0000011110 776 strh. */ 777 return 654; 778 } 779 } 780 else 781 { 782 /* 33222222222211111111110000000000 783 10987654321098765432109876543210 784 xxxxxxxxxx1xxxxxxxxxxx00000111x1 785 str. */ 786 return 657; 787 } 788 } 789 else 790 { 791 if (((word >> 31) & 0x1) == 0) 792 { 793 if (((word >> 30) & 0x1) == 0) 794 { 795 /* 33222222222211111111110000000000 796 10987654321098765432109876543210 797 xxxxxxxxxx1xxxxxxxxxxx1000011100 798 ldrb. */ 799 return 650; 800 } 801 else 802 { 803 /* 33222222222211111111110000000000 804 10987654321098765432109876543210 805 xxxxxxxxxx1xxxxxxxxxxx1000011110 806 ldrh. */ 807 return 655; 808 } 809 } 810 else 811 { 812 /* 33222222222211111111110000000000 813 10987654321098765432109876543210 814 xxxxxxxxxx1xxxxxxxxxxx10000111x1 815 ldr. */ 816 return 658; 817 } 818 } 819 } 820 else 821 { 822 if (((word >> 30) & 0x1) == 0) 823 { 824 if (((word >> 31) & 0x1) == 0) 825 { 826 /* 33222222222211111111110000000000 827 10987654321098765432109876543210 828 xxxxxxxxxx1xxxxxxxxxxxx100011100 829 ldrsb. */ 830 return 651; 831 } 832 else 833 { 834 /* 33222222222211111111110000000000 835 10987654321098765432109876543210 836 xxxxxxxxxx1xxxxxxxxxxxx100011101 837 ldrsw. */ 838 return 659; 839 } 840 } 841 else 842 { 843 /* 33222222222211111111110000000000 844 10987654321098765432109876543210 845 xxxxxxxxxx1xxxxxxxxxxxx10001111x 846 ldrsh. */ 847 return 656; 848 } 849 } 850 } 851 } 852 } 853 else 854 { 855 if (((word >> 23) & 0x1) == 0) 856 { 857 if (((word >> 22) & 0x1) == 0) 858 { 859 if (((word >> 31) & 0x1) == 0) 860 { 861 if (((word >> 30) & 0x1) == 0) 862 { 863 /* 33222222222211111111110000000000 864 10987654321098765432109876543210 865 xxxxxxxxxxxxxxxxxxxxxx0010011x00 866 strb. */ 867 return 660; 868 } 869 else 870 { 871 /* 33222222222211111111110000000000 872 10987654321098765432109876543210 873 xxxxxxxxxxxxxxxxxxxxxx0010011x10 874 strh. */ 875 return 665; 876 } 877 } 878 else 879 { 880 /* 33222222222211111111110000000000 881 10987654321098765432109876543210 882 xxxxxxxxxxxxxxxxxxxxxx0010011xx1 883 str. */ 884 return 668; 885 } 886 } 887 else 888 { 889 if (((word >> 31) & 0x1) == 0) 890 { 891 if (((word >> 30) & 0x1) == 0) 892 { 893 /* 33222222222211111111110000000000 894 10987654321098765432109876543210 895 xxxxxxxxxxxxxxxxxxxxxx1010011x00 896 ldrb. */ 897 return 661; 898 } 899 else 900 { 901 /* 33222222222211111111110000000000 902 10987654321098765432109876543210 903 xxxxxxxxxxxxxxxxxxxxxx1010011x10 904 ldrh. */ 905 return 666; 906 } 907 } 908 else 909 { 910 /* 33222222222211111111110000000000 911 10987654321098765432109876543210 912 xxxxxxxxxxxxxxxxxxxxxx1010011xx1 913 ldr. */ 914 return 669; 915 } 916 } 917 } 918 else 919 { 920 if (((word >> 30) & 0x1) == 0) 921 { 922 if (((word >> 31) & 0x1) == 0) 923 { 924 /* 33222222222211111111110000000000 925 10987654321098765432109876543210 926 xxxxxxxxxxxxxxxxxxxxxxx110011x00 927 ldrsb. */ 928 return 662; 929 } 930 else 931 { 932 /* 33222222222211111111110000000000 933 10987654321098765432109876543210 934 xxxxxxxxxxxxxxxxxxxxxxx110011x01 935 ldrsw. */ 936 return 670; 937 } 938 } 939 else 940 { 941 if (((word >> 31) & 0x1) == 0) 942 { 943 /* 33222222222211111111110000000000 944 10987654321098765432109876543210 945 xxxxxxxxxxxxxxxxxxxxxxx110011x10 946 ldrsh. */ 947 return 667; 948 } 949 else 950 { 951 /* 33222222222211111111110000000000 952 10987654321098765432109876543210 953 xxxxxxxxxxxxxxxxxxxxxxx110011x11 954 prfm. */ 955 return 671; 956 } 957 } 958 } 959 } 960 } 961 } 962 } 963 else 964 { 965 if (((word >> 24) & 0x1) == 0) 966 { 967 if (((word >> 27) & 0x1) == 0) 968 { 969 if (((word >> 23) & 0x1) == 0) 970 { 971 if (((word >> 29) & 0x1) == 0) 972 { 973 if (((word >> 30) & 0x1) == 0) 974 { 975 /* 33222222222211111111110000000000 976 10987654321098765432109876543210 977 xxxxxxxxxxxxxxxxxxxxxxx00100x00x 978 and. */ 979 return 757; 980 } 981 else 982 { 983 /* 33222222222211111111110000000000 984 10987654321098765432109876543210 985 xxxxxxxxxxxxxxxxxxxxxxx00100x01x 986 eor. */ 987 return 761; 988 } 989 } 990 else 991 { 992 if (((word >> 30) & 0x1) == 0) 993 { 994 /* 33222222222211111111110000000000 995 10987654321098765432109876543210 996 xxxxxxxxxxxxxxxxxxxxxxx00100x10x 997 orr. */ 998 return 759; 999 } 1000 else 1001 { 1002 /* 33222222222211111111110000000000 1003 10987654321098765432109876543210 1004 xxxxxxxxxxxxxxxxxxxxxxx00100x11x 1005 ands. */ 1006 return 762; 1007 } 1008 } 1009 } 1010 else 1011 { 1012 if (((word >> 29) & 0x1) == 0) 1013 { 1014 if (((word >> 30) & 0x1) == 0) 1015 { 1016 /* 33222222222211111111110000000000 1017 10987654321098765432109876543210 1018 xxxxxxxxxxxxxxxxxxxxxxx10100x00x 1019 movn. */ 1020 return 776; 1021 } 1022 else 1023 { 1024 /* 33222222222211111111110000000000 1025 10987654321098765432109876543210 1026 xxxxxxxxxxxxxxxxxxxxxxx10100x01x 1027 movz. */ 1028 return 778; 1029 } 1030 } 1031 else 1032 { 1033 /* 33222222222211111111110000000000 1034 10987654321098765432109876543210 1035 xxxxxxxxxxxxxxxxxxxxxxx10100x1xx 1036 movk. */ 1037 return 780; 1038 } 1039 } 1040 } 1041 else 1042 { 1043 if (((word >> 21) & 0x1) == 0) 1044 { 1045 if (((word >> 28) & 0x1) == 0) 1046 { 1047 if (((word >> 29) & 0x1) == 0) 1048 { 1049 if (((word >> 30) & 0x1) == 0) 1050 { 1051 /* 33222222222211111111110000000000 1052 10987654321098765432109876543210 1053 xxxxxxxxxxxxxxxxxxxxx0xx0101000x 1054 and. */ 1055 return 764; 1056 } 1057 else 1058 { 1059 /* 33222222222211111111110000000000 1060 10987654321098765432109876543210 1061 xxxxxxxxxxxxxxxxxxxxx0xx0101001x 1062 eor. */ 1063 return 771; 1064 } 1065 } 1066 else 1067 { 1068 if (((word >> 30) & 0x1) == 0) 1069 { 1070 /* 33222222222211111111110000000000 1071 10987654321098765432109876543210 1072 xxxxxxxxxxxxxxxxxxxxx0xx0101010x 1073 orr. */ 1074 return 766; 1075 } 1076 else 1077 { 1078 /* 33222222222211111111110000000000 1079 10987654321098765432109876543210 1080 xxxxxxxxxxxxxxxxxxxxx0xx0101011x 1081 ands. */ 1082 return 773; 1083 } 1084 } 1085 } 1086 else 1087 { 1088 if (((word >> 10) & 0x1) == 0) 1089 { 1090 if (((word >> 11) & 0x1) == 0) 1091 { 1092 if (((word >> 22) & 0x1) == 0) 1093 { 1094 if (((word >> 23) & 0x1) == 0) 1095 { 1096 if (((word >> 29) & 0x1) == 0) 1097 { 1098 if (((word >> 30) & 0x1) == 0) 1099 { 1100 /* 33222222222211111111110000000000 1101 10987654321098765432109876543210 1102 xxxxxxxxxx00xxxxxxxxx0000101100x 1103 adc. */ 1104 return 0; 1105 } 1106 else 1107 { 1108 /* 33222222222211111111110000000000 1109 10987654321098765432109876543210 1110 xxxxxxxxxx00xxxxxxxxx0000101101x 1111 sbc. */ 1112 return 2; 1113 } 1114 } 1115 else 1116 { 1117 if (((word >> 30) & 0x1) == 0) 1118 { 1119 /* 33222222222211111111110000000000 1120 10987654321098765432109876543210 1121 xxxxxxxxxx00xxxxxxxxx0000101110x 1122 adcs. */ 1123 return 1; 1124 } 1125 else 1126 { 1127 /* 33222222222211111111110000000000 1128 10987654321098765432109876543210 1129 xxxxxxxxxx00xxxxxxxxx0000101111x 1130 sbcs. */ 1131 return 4; 1132 } 1133 } 1134 } 1135 else 1136 { 1137 if (((word >> 30) & 0x1) == 0) 1138 { 1139 /* 33222222222211111111110000000000 1140 10987654321098765432109876543210 1141 xxxxxxxxxx00xxxxxxxxx00101011x0x 1142 csel. */ 1143 return 524; 1144 } 1145 else 1146 { 1147 /* 33222222222211111111110000000000 1148 10987654321098765432109876543210 1149 xxxxxxxxxx00xxxxxxxxx00101011x1x 1150 csinv. */ 1151 return 528; 1152 } 1153 } 1154 } 1155 else 1156 { 1157 if (((word >> 23) & 0x1) == 0) 1158 { 1159 if (((word >> 30) & 0x1) == 0) 1160 { 1161 /* 33222222222211111111110000000000 1162 10987654321098765432109876543210 1163 xxxxxxxxxx00xxxxxxxxx01001011x0x 1164 ccmn. */ 1165 return 522; 1166 } 1167 else 1168 { 1169 /* 33222222222211111111110000000000 1170 10987654321098765432109876543210 1171 xxxxxxxxxx00xxxxxxxxx01001011x1x 1172 ccmp. */ 1173 return 523; 1174 } 1175 } 1176 else 1177 { 1178 if (((word >> 12) & 0x1) == 0) 1179 { 1180 if (((word >> 13) & 0x1) == 0) 1181 { 1182 if (((word >> 14) & 0x1) == 0) 1183 { 1184 /* 33222222222211111111110000000000 1185 10987654321098765432109876543210 1186 xxxxxxxxxx00000xxxxxx01101011xxx 1187 rbit. */ 1188 return 547; 1189 } 1190 else 1191 { 1192 /* 33222222222211111111110000000000 1193 10987654321098765432109876543210 1194 xxxxxxxxxx00001xxxxxx01101011xxx 1195 crc32b. */ 1196 return 564; 1197 } 1198 } 1199 else 1200 { 1201 /* 33222222222211111111110000000000 1202 10987654321098765432109876543210 1203 xxxxxxxxxx0001xxxxxxx01101011xxx 1204 lslv. */ 1205 return 556; 1206 } 1207 } 1208 else 1209 { 1210 if (((word >> 14) & 0x1) == 0) 1211 { 1212 /* 33222222222211111111110000000000 1213 10987654321098765432109876543210 1214 xxxxxxxxxx001x0xxxxxx01101011xxx 1215 clz. */ 1216 return 551; 1217 } 1218 else 1219 { 1220 /* 33222222222211111111110000000000 1221 10987654321098765432109876543210 1222 xxxxxxxxxx001x1xxxxxx01101011xxx 1223 crc32cb. */ 1224 return 568; 1225 } 1226 } 1227 } 1228 } 1229 } 1230 else 1231 { 1232 if (((word >> 23) & 0x1) == 0) 1233 { 1234 if (((word >> 30) & 0x1) == 0) 1235 { 1236 /* 33222222222211111111110000000000 1237 10987654321098765432109876543210 1238 xxxxxxxxxx01xxxxxxxxx0x001011x0x 1239 ccmn. */ 1240 return 520; 1241 } 1242 else 1243 { 1244 /* 33222222222211111111110000000000 1245 10987654321098765432109876543210 1246 xxxxxxxxxx01xxxxxxxxx0x001011x1x 1247 ccmp. */ 1248 return 521; 1249 } 1250 } 1251 else 1252 { 1253 if (((word >> 12) & 0x1) == 0) 1254 { 1255 if (((word >> 13) & 0x1) == 0) 1256 { 1257 if (((word >> 14) & 0x1) == 0) 1258 { 1259 if (((word >> 30) & 0x1) == 0) 1260 { 1261 /* 33222222222211111111110000000000 1262 10987654321098765432109876543210 1263 xxxxxxxxxx01000xxxxxx0x101011x0x 1264 udiv. */ 1265 return 554; 1266 } 1267 else 1268 { 1269 if (((word >> 31) & 0x1) == 0) 1270 { 1271 /* 33222222222211111111110000000000 1272 10987654321098765432109876543210 1273 xxxxxxxxxx01000xxxxxx0x101011x10 1274 rev. */ 1275 return 549; 1276 } 1277 else 1278 { 1279 /* 33222222222211111111110000000000 1280 10987654321098765432109876543210 1281 xxxxxxxxxx01000xxxxxx0x101011x11 1282 rev32. */ 1283 return 553; 1284 } 1285 } 1286 } 1287 else 1288 { 1289 /* 33222222222211111111110000000000 1290 10987654321098765432109876543210 1291 xxxxxxxxxx01001xxxxxx0x101011xxx 1292 crc32w. */ 1293 return 566; 1294 } 1295 } 1296 else 1297 { 1298 /* 33222222222211111111110000000000 1299 10987654321098765432109876543210 1300 xxxxxxxxxx0101xxxxxxx0x101011xxx 1301 asrv. */ 1302 return 560; 1303 } 1304 } 1305 else 1306 { 1307 /* 33222222222211111111110000000000 1308 10987654321098765432109876543210 1309 xxxxxxxxxx011xxxxxxxx0x101011xxx 1310 crc32cw. */ 1311 return 570; 1312 } 1313 } 1314 } 1315 } 1316 else 1317 { 1318 if (((word >> 11) & 0x1) == 0) 1319 { 1320 if (((word >> 22) & 0x1) == 0) 1321 { 1322 if (((word >> 30) & 0x1) == 0) 1323 { 1324 /* 33222222222211111111110000000000 1325 10987654321098765432109876543210 1326 xxxxxxxxxx10xxxxxxxxx00x01011x0x 1327 csinc. */ 1328 return 525; 1329 } 1330 else 1331 { 1332 /* 33222222222211111111110000000000 1333 10987654321098765432109876543210 1334 xxxxxxxxxx10xxxxxxxxx00x01011x1x 1335 csneg. */ 1336 return 531; 1337 } 1338 } 1339 else 1340 { 1341 if (((word >> 12) & 0x1) == 0) 1342 { 1343 if (((word >> 13) & 0x1) == 0) 1344 { 1345 if (((word >> 14) & 0x1) == 0) 1346 { 1347 /* 33222222222211111111110000000000 1348 10987654321098765432109876543210 1349 xxxxxxxxxx10000xxxxxx01x01011xxx 1350 rev16. */ 1351 return 548; 1352 } 1353 else 1354 { 1355 /* 33222222222211111111110000000000 1356 10987654321098765432109876543210 1357 xxxxxxxxxx10001xxxxxx01x01011xxx 1358 crc32h. */ 1359 return 565; 1360 } 1361 } 1362 else 1363 { 1364 /* 33222222222211111111110000000000 1365 10987654321098765432109876543210 1366 xxxxxxxxxx1001xxxxxxx01x01011xxx 1367 lsrv. */ 1368 return 558; 1369 } 1370 } 1371 else 1372 { 1373 if (((word >> 14) & 0x1) == 0) 1374 { 1375 /* 33222222222211111111110000000000 1376 10987654321098765432109876543210 1377 xxxxxxxxxx101x0xxxxxx01x01011xxx 1378 cls. */ 1379 return 552; 1380 } 1381 else 1382 { 1383 /* 33222222222211111111110000000000 1384 10987654321098765432109876543210 1385 xxxxxxxxxx101x1xxxxxx01x01011xxx 1386 crc32ch. */ 1387 return 569; 1388 } 1389 } 1390 } 1391 } 1392 else 1393 { 1394 if (((word >> 12) & 0x1) == 0) 1395 { 1396 if (((word >> 13) & 0x1) == 0) 1397 { 1398 if (((word >> 14) & 0x1) == 0) 1399 { 1400 if (((word >> 30) & 0x1) == 0) 1401 { 1402 /* 33222222222211111111110000000000 1403 10987654321098765432109876543210 1404 xxxxxxxxxx11000xxxxxx0xx01011x0x 1405 sdiv. */ 1406 return 555; 1407 } 1408 else 1409 { 1410 /* 33222222222211111111110000000000 1411 10987654321098765432109876543210 1412 xxxxxxxxxx11000xxxxxx0xx01011x1x 1413 rev. */ 1414 return 550; 1415 } 1416 } 1417 else 1418 { 1419 /* 33222222222211111111110000000000 1420 10987654321098765432109876543210 1421 xxxxxxxxxx11001xxxxxx0xx01011xxx 1422 crc32x. */ 1423 return 567; 1424 } 1425 } 1426 else 1427 { 1428 /* 33222222222211111111110000000000 1429 10987654321098765432109876543210 1430 xxxxxxxxxx1101xxxxxxx0xx01011xxx 1431 rorv. */ 1432 return 562; 1433 } 1434 } 1435 else 1436 { 1437 /* 33222222222211111111110000000000 1438 10987654321098765432109876543210 1439 xxxxxxxxxx111xxxxxxxx0xx01011xxx 1440 crc32cx. */ 1441 return 571; 1442 } 1443 } 1444 } 1445 } 1446 } 1447 else 1448 { 1449 if (((word >> 29) & 0x1) == 0) 1450 { 1451 if (((word >> 30) & 0x1) == 0) 1452 { 1453 /* 33222222222211111111110000000000 1454 10987654321098765432109876543210 1455 xxxxxxxxxxxxxxxxxxxxx1xx0101x00x 1456 bic. */ 1457 return 765; 1458 } 1459 else 1460 { 1461 /* 33222222222211111111110000000000 1462 10987654321098765432109876543210 1463 xxxxxxxxxxxxxxxxxxxxx1xx0101x01x 1464 eon. */ 1465 return 772; 1466 } 1467 } 1468 else 1469 { 1470 if (((word >> 30) & 0x1) == 0) 1471 { 1472 /* 33222222222211111111110000000000 1473 10987654321098765432109876543210 1474 xxxxxxxxxxxxxxxxxxxxx1xx0101x10x 1475 orn. */ 1476 return 769; 1477 } 1478 else 1479 { 1480 /* 33222222222211111111110000000000 1481 10987654321098765432109876543210 1482 xxxxxxxxxxxxxxxxxxxxx1xx0101x11x 1483 bics. */ 1484 return 775; 1485 } 1486 } 1487 } 1488 } 1489 } 1490 else 1491 { 1492 if (((word >> 27) & 0x1) == 0) 1493 { 1494 if (((word >> 23) & 0x1) == 0) 1495 { 1496 if (((word >> 29) & 0x1) == 0) 1497 { 1498 if (((word >> 30) & 0x1) == 0) 1499 { 1500 /* 33222222222211111111110000000000 1501 10987654321098765432109876543210 1502 xxxxxxxxxxxxxxxxxxxxxxx01100x00x 1503 sbfm. */ 1504 return 493; 1505 } 1506 else 1507 { 1508 /* 33222222222211111111110000000000 1509 10987654321098765432109876543210 1510 xxxxxxxxxxxxxxxxxxxxxxx01100x01x 1511 ubfm. */ 1512 return 503; 1513 } 1514 } 1515 else 1516 { 1517 /* 33222222222211111111110000000000 1518 10987654321098765432109876543210 1519 xxxxxxxxxxxxxxxxxxxxxxx01100x1xx 1520 bfm. */ 1521 return 500; 1522 } 1523 } 1524 else 1525 { 1526 /* 33222222222211111111110000000000 1527 10987654321098765432109876543210 1528 xxxxxxxxxxxxxxxxxxxxxxx11100xxxx 1529 extr. */ 1530 return 594; 1531 } 1532 } 1533 else 1534 { 1535 if (((word >> 21) & 0x1) == 0) 1536 { 1537 if (((word >> 28) & 0x1) == 0) 1538 { 1539 if (((word >> 29) & 0x1) == 0) 1540 { 1541 if (((word >> 30) & 0x1) == 0) 1542 { 1543 /* 33222222222211111111110000000000 1544 10987654321098765432109876543210 1545 xxxxxxxxxxxxxxxxxxxxx0xx1101000x 1546 add. */ 1547 return 19; 1548 } 1549 else 1550 { 1551 /* 33222222222211111111110000000000 1552 10987654321098765432109876543210 1553 xxxxxxxxxxxxxxxxxxxxx0xx1101001x 1554 sub. */ 1555 return 22; 1556 } 1557 } 1558 else 1559 { 1560 if (((word >> 30) & 0x1) == 0) 1561 { 1562 /* 33222222222211111111110000000000 1563 10987654321098765432109876543210 1564 xxxxxxxxxxxxxxxxxxxxx0xx1101010x 1565 adds. */ 1566 return 20; 1567 } 1568 else 1569 { 1570 /* 33222222222211111111110000000000 1571 10987654321098765432109876543210 1572 xxxxxxxxxxxxxxxxxxxxx0xx1101011x 1573 subs. */ 1574 return 24; 1575 } 1576 } 1577 } 1578 else 1579 { 1580 if (((word >> 15) & 0x1) == 0) 1581 { 1582 if (((word >> 22) & 0x1) == 0) 1583 { 1584 /* 33222222222211111111110000000000 1585 10987654321098765432109876543210 1586 xxxxxxxxxxxxxxx0xxxxx00x11011xxx 1587 madd. */ 1588 return 572; 1589 } 1590 else 1591 { 1592 if (((word >> 23) & 0x1) == 0) 1593 { 1594 /* 33222222222211111111110000000000 1595 10987654321098765432109876543210 1596 xxxxxxxxxxxxxxx0xxxxx01011011xxx 1597 smulh. */ 1598 return 580; 1599 } 1600 else 1601 { 1602 /* 33222222222211111111110000000000 1603 10987654321098765432109876543210 1604 xxxxxxxxxxxxxxx0xxxxx01111011xxx 1605 umulh. */ 1606 return 585; 1607 } 1608 } 1609 } 1610 else 1611 { 1612 /* 33222222222211111111110000000000 1613 10987654321098765432109876543210 1614 xxxxxxxxxxxxxxx1xxxxx0xx11011xxx 1615 msub. */ 1616 return 574; 1617 } 1618 } 1619 } 1620 else 1621 { 1622 if (((word >> 23) & 0x1) == 0) 1623 { 1624 if (((word >> 28) & 0x1) == 0) 1625 { 1626 if (((word >> 29) & 0x1) == 0) 1627 { 1628 if (((word >> 30) & 0x1) == 0) 1629 { 1630 /* 33222222222211111111110000000000 1631 10987654321098765432109876543210 1632 xxxxxxxxxxxxxxxxxxxxx1x01101000x 1633 add. */ 1634 return 6; 1635 } 1636 else 1637 { 1638 /* 33222222222211111111110000000000 1639 10987654321098765432109876543210 1640 xxxxxxxxxxxxxxxxxxxxx1x01101001x 1641 sub. */ 1642 return 9; 1643 } 1644 } 1645 else 1646 { 1647 if (((word >> 30) & 0x1) == 0) 1648 { 1649 /* 33222222222211111111110000000000 1650 10987654321098765432109876543210 1651 xxxxxxxxxxxxxxxxxxxxx1x01101010x 1652 adds. */ 1653 return 7; 1654 } 1655 else 1656 { 1657 /* 33222222222211111111110000000000 1658 10987654321098765432109876543210 1659 xxxxxxxxxxxxxxxxxxxxx1x01101011x 1660 subs. */ 1661 return 10; 1662 } 1663 } 1664 } 1665 else 1666 { 1667 if (((word >> 15) & 0x1) == 0) 1668 { 1669 /* 33222222222211111111110000000000 1670 10987654321098765432109876543210 1671 xxxxxxxxxxxxxxx0xxxxx1x011011xxx 1672 smaddl. */ 1673 return 576; 1674 } 1675 else 1676 { 1677 /* 33222222222211111111110000000000 1678 10987654321098765432109876543210 1679 xxxxxxxxxxxxxxx1xxxxx1x011011xxx 1680 smsubl. */ 1681 return 578; 1682 } 1683 } 1684 } 1685 else 1686 { 1687 if (((word >> 15) & 0x1) == 0) 1688 { 1689 /* 33222222222211111111110000000000 1690 10987654321098765432109876543210 1691 xxxxxxxxxxxxxxx0xxxxx1x11101xxxx 1692 umaddl. */ 1693 return 581; 1694 } 1695 else 1696 { 1697 /* 33222222222211111111110000000000 1698 10987654321098765432109876543210 1699 xxxxxxxxxxxxxxx1xxxxx1x11101xxxx 1700 umsubl. */ 1701 return 583; 1702 } 1703 } 1704 } 1705 } 1706 } 1707 } 1708 } 1709 else 1710 { 1711 if (((word >> 27) & 0x1) == 0) 1712 { 1713 if (((word >> 29) & 0x1) == 0) 1714 { 1715 if (((word >> 30) & 0x1) == 0) 1716 { 1717 if (((word >> 31) & 0x1) == 0) 1718 { 1719 /* 33222222222211111111110000000000 1720 10987654321098765432109876543210 1721 xxxxxxxxxxxxxxxxxxxxxxxxxx10x000 1722 b. */ 1723 return 510; 1724 } 1725 else 1726 { 1727 /* 33222222222211111111110000000000 1728 10987654321098765432109876543210 1729 xxxxxxxxxxxxxxxxxxxxxxxxxx10x001 1730 bl. */ 1731 return 511; 1732 } 1733 } 1734 else 1735 { 1736 if (((word >> 24) & 0x1) == 0) 1737 { 1738 if (((word >> 25) & 0x1) == 0) 1739 { 1740 if (((word >> 31) & 0x1) == 0) 1741 { 1742 /* 33222222222211111111110000000000 1743 10987654321098765432109876543210 1744 xxxxxxxxxxxxxxxxxxxxxxxx0010x010 1745 b.c. */ 1746 return 519; 1747 } 1748 else 1749 { 1750 if (((word >> 0) & 0x1) == 0) 1751 { 1752 if (((word >> 1) & 0x1) == 0) 1753 { 1754 if (((word >> 21) & 0x1) == 0) 1755 { 1756 /* 33222222222211111111110000000000 1757 10987654321098765432109876543210 1758 00xxxxxxxxxxxxxxxxxxx0xx0010x011 1759 hlt. */ 1760 return 590; 1761 } 1762 else 1763 { 1764 /* 33222222222211111111110000000000 1765 10987654321098765432109876543210 1766 00xxxxxxxxxxxxxxxxxxx1xx0010x011 1767 brk. */ 1768 return 589; 1769 } 1770 } 1771 else 1772 { 1773 if (((word >> 21) & 0x1) == 0) 1774 { 1775 /* 33222222222211111111110000000000 1776 10987654321098765432109876543210 1777 01xxxxxxxxxxxxxxxxxxx0xx0010x011 1778 hvc. */ 1779 return 587; 1780 } 1781 else 1782 { 1783 /* 33222222222211111111110000000000 1784 10987654321098765432109876543210 1785 01xxxxxxxxxxxxxxxxxxx1xx0010x011 1786 dcps2. */ 1787 return 592; 1788 } 1789 } 1790 } 1791 else 1792 { 1793 if (((word >> 1) & 0x1) == 0) 1794 { 1795 if (((word >> 21) & 0x1) == 0) 1796 { 1797 /* 33222222222211111111110000000000 1798 10987654321098765432109876543210 1799 10xxxxxxxxxxxxxxxxxxx0xx0010x011 1800 svc. */ 1801 return 586; 1802 } 1803 else 1804 { 1805 /* 33222222222211111111110000000000 1806 10987654321098765432109876543210 1807 10xxxxxxxxxxxxxxxxxxx1xx0010x011 1808 dcps1. */ 1809 return 591; 1810 } 1811 } 1812 else 1813 { 1814 if (((word >> 21) & 0x1) == 0) 1815 { 1816 /* 33222222222211111111110000000000 1817 10987654321098765432109876543210 1818 11xxxxxxxxxxxxxxxxxxx0xx0010x011 1819 smc. */ 1820 return 588; 1821 } 1822 else 1823 { 1824 /* 33222222222211111111110000000000 1825 10987654321098765432109876543210 1826 11xxxxxxxxxxxxxxxxxxx1xx0010x011 1827 dcps3. */ 1828 return 593; 1829 } 1830 } 1831 } 1832 } 1833 } 1834 else 1835 { 1836 if (((word >> 21) & 0x1) == 0) 1837 { 1838 if (((word >> 22) & 0x1) == 0) 1839 { 1840 if (((word >> 23) & 0x1) == 0) 1841 { 1842 /* 33222222222211111111110000000000 1843 10987654321098765432109876543210 1844 xxxxxxxxxxxxxxxxxxxxx0000110x01x 1845 br. */ 1846 return 512; 1847 } 1848 else 1849 { 1850 /* 33222222222211111111110000000000 1851 10987654321098765432109876543210 1852 xxxxxxxxxxxxxxxxxxxxx0010110x01x 1853 eret. */ 1854 return 515; 1855 } 1856 } 1857 else 1858 { 1859 /* 33222222222211111111110000000000 1860 10987654321098765432109876543210 1861 xxxxxxxxxxxxxxxxxxxxx01x0110x01x 1862 ret. */ 1863 return 514; 1864 } 1865 } 1866 else 1867 { 1868 if (((word >> 23) & 0x1) == 0) 1869 { 1870 /* 33222222222211111111110000000000 1871 10987654321098765432109876543210 1872 xxxxxxxxxxxxxxxxxxxxx1x00110x01x 1873 blr. */ 1874 return 513; 1875 } 1876 else 1877 { 1878 /* 33222222222211111111110000000000 1879 10987654321098765432109876543210 1880 xxxxxxxxxxxxxxxxxxxxx1x10110x01x 1881 drps. */ 1882 return 516; 1883 } 1884 } 1885 } 1886 } 1887 else 1888 { 1889 if (((word >> 20) & 0x1) == 0) 1890 { 1891 if (((word >> 19) & 0x1) == 0) 1892 { 1893 if (((word >> 12) & 0x1) == 0) 1894 { 1895 if (((word >> 13) & 0x1) == 0) 1896 { 1897 /* 33222222222211111111110000000000 1898 10987654321098765432109876543210 1899 xxxxxxxxxxxx00xxxxx00xxx1x10x01x 1900 msr. */ 1901 return 783; 1902 } 1903 else 1904 { 1905 /* 33222222222211111111110000000000 1906 10987654321098765432109876543210 1907 xxxxxxxxxxxx01xxxxx00xxx1x10x01x 1908 hint. */ 1909 return 784; 1910 } 1911 } 1912 else 1913 { 1914 if (((word >> 5) & 0x1) == 0) 1915 { 1916 if (((word >> 6) & 0x1) == 0) 1917 { 1918 /* 33222222222211111111110000000000 1919 10987654321098765432109876543210 1920 xxxxx00xxxxx1xxxxxx00xxx1x10x01x 1921 dsb. */ 1922 return 792; 1923 } 1924 else 1925 { 1926 if (((word >> 7) & 0x1) == 0) 1927 { 1928 /* 33222222222211111111110000000000 1929 10987654321098765432109876543210 1930 xxxxx010xxxx1xxxxxx00xxx1x10x01x 1931 clrex. */ 1932 return 791; 1933 } 1934 else 1935 { 1936 /* 33222222222211111111110000000000 1937 10987654321098765432109876543210 1938 xxxxx011xxxx1xxxxxx00xxx1x10x01x 1939 isb. */ 1940 return 794; 1941 } 1942 } 1943 } 1944 else 1945 { 1946 /* 33222222222211111111110000000000 1947 10987654321098765432109876543210 1948 xxxxx1xxxxxx1xxxxxx00xxx1x10x01x 1949 dmb. */ 1950 return 793; 1951 } 1952 } 1953 } 1954 else 1955 { 1956 if (((word >> 21) & 0x1) == 0) 1957 { 1958 /* 33222222222211111111110000000000 1959 10987654321098765432109876543210 1960 xxxxxxxxxxxxxxxxxxx100xx1x10x01x 1961 sys. */ 1962 return 795; 1963 } 1964 else 1965 { 1966 /* 33222222222211111111110000000000 1967 10987654321098765432109876543210 1968 xxxxxxxxxxxxxxxxxxx101xx1x10x01x 1969 sysl. */ 1970 return 801; 1971 } 1972 } 1973 } 1974 else 1975 { 1976 if (((word >> 21) & 0x1) == 0) 1977 { 1978 /* 33222222222211111111110000000000 1979 10987654321098765432109876543210 1980 xxxxxxxxxxxxxxxxxxxx10xx1x10x01x 1981 msr. */ 1982 return 800; 1983 } 1984 else 1985 { 1986 /* 33222222222211111111110000000000 1987 10987654321098765432109876543210 1988 xxxxxxxxxxxxxxxxxxxx11xx1x10x01x 1989 mrs. */ 1990 return 802; 1991 } 1992 } 1993 } 1994 } 1995 } 1996 else 1997 { 1998 if (((word >> 24) & 0x1) == 0) 1999 { 2000 if (((word >> 25) & 0x1) == 0) 2001 { 2002 /* 33222222222211111111110000000000 2003 10987654321098765432109876543210 2004 xxxxxxxxxxxxxxxxxxxxxxxx0010x1xx 2005 cbz. */ 2006 return 517; 2007 } 2008 else 2009 { 2010 /* 33222222222211111111110000000000 2011 10987654321098765432109876543210 2012 xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx 2013 tbz. */ 2014 return 803; 2015 } 2016 } 2017 else 2018 { 2019 if (((word >> 25) & 0x1) == 0) 2020 { 2021 /* 33222222222211111111110000000000 2022 10987654321098765432109876543210 2023 xxxxxxxxxxxxxxxxxxxxxxxx1010x1xx 2024 cbnz. */ 2025 return 518; 2026 } 2027 else 2028 { 2029 /* 33222222222211111111110000000000 2030 10987654321098765432109876543210 2031 xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx 2032 tbnz. */ 2033 return 804; 2034 } 2035 } 2036 } 2037 } 2038 else 2039 { 2040 if (((word >> 25) & 0x1) == 0) 2041 { 2042 if (((word >> 28) & 0x1) == 0) 2043 { 2044 if (((word >> 22) & 0x1) == 0) 2045 { 2046 if (((word >> 23) & 0x1) == 0) 2047 { 2048 if (((word >> 24) & 0x1) == 0) 2049 { 2050 if (((word >> 29) & 0x1) == 0) 2051 { 2052 /* 33222222222211111111110000000000 2053 10987654321098765432109876543210 2054 xxxxxxxxxxxxxxxxxxxxxx00001100xx 2055 st4. */ 2056 return 355; 2057 } 2058 else 2059 { 2060 /* 33222222222211111111110000000000 2061 10987654321098765432109876543210 2062 xxxxxxxxxxxxxxxxxxxxxx00001101xx 2063 stnp. */ 2064 return 741; 2065 } 2066 } 2067 else 2068 { 2069 if (((word >> 29) & 0x1) == 0) 2070 { 2071 if (((word >> 13) & 0x1) == 0) 2072 { 2073 if (((word >> 21) & 0x1) == 0) 2074 { 2075 /* 33222222222211111111110000000000 2076 10987654321098765432109876543210 2077 xxxxxxxxxxxxx0xxxxxxx000101100xx 2078 st1. */ 2079 return 371; 2080 } 2081 else 2082 { 2083 /* 33222222222211111111110000000000 2084 10987654321098765432109876543210 2085 xxxxxxxxxxxxx0xxxxxxx100101100xx 2086 st2. */ 2087 return 373; 2088 } 2089 } 2090 else 2091 { 2092 if (((word >> 21) & 0x1) == 0) 2093 { 2094 /* 33222222222211111111110000000000 2095 10987654321098765432109876543210 2096 xxxxxxxxxxxxx1xxxxxxx000101100xx 2097 st3. */ 2098 return 372; 2099 } 2100 else 2101 { 2102 /* 33222222222211111111110000000000 2103 10987654321098765432109876543210 2104 xxxxxxxxxxxxx1xxxxxxx100101100xx 2105 st4. */ 2106 return 374; 2107 } 2108 } 2109 } 2110 else 2111 { 2112 /* 33222222222211111111110000000000 2113 10987654321098765432109876543210 2114 xxxxxxxxxxxxxxxxxxxxxx00101101xx 2115 stp. */ 2116 return 745; 2117 } 2118 } 2119 } 2120 else 2121 { 2122 if (((word >> 29) & 0x1) == 0) 2123 { 2124 if (((word >> 21) & 0x1) == 0) 2125 { 2126 if (((word >> 24) & 0x1) == 0) 2127 { 2128 /* 33222222222211111111110000000000 2129 10987654321098765432109876543210 2130 xxxxxxxxxxxxxxxxxxxxx001001100xx 2131 st4. */ 2132 return 363; 2133 } 2134 else 2135 { 2136 if (((word >> 13) & 0x1) == 0) 2137 { 2138 /* 33222222222211111111110000000000 2139 10987654321098765432109876543210 2140 xxxxxxxxxxxxx0xxxxxxx001101100xx 2141 st1. */ 2142 return 383; 2143 } 2144 else 2145 { 2146 /* 33222222222211111111110000000000 2147 10987654321098765432109876543210 2148 xxxxxxxxxxxxx1xxxxxxx001101100xx 2149 st3. */ 2150 return 384; 2151 } 2152 } 2153 } 2154 else 2155 { 2156 if (((word >> 13) & 0x1) == 0) 2157 { 2158 /* 33222222222211111111110000000000 2159 10987654321098765432109876543210 2160 xxxxxxxxxxxxx0xxxxxxx101x01100xx 2161 st2. */ 2162 return 385; 2163 } 2164 else 2165 { 2166 /* 33222222222211111111110000000000 2167 10987654321098765432109876543210 2168 xxxxxxxxxxxxx1xxxxxxx101x01100xx 2169 st4. */ 2170 return 386; 2171 } 2172 } 2173 } 2174 else 2175 { 2176 /* 33222222222211111111110000000000 2177 10987654321098765432109876543210 2178 xxxxxxxxxxxxxxxxxxxxxx01x01101xx 2179 stp. */ 2180 return 750; 2181 } 2182 } 2183 } 2184 else 2185 { 2186 if (((word >> 23) & 0x1) == 0) 2187 { 2188 if (((word >> 24) & 0x1) == 0) 2189 { 2190 if (((word >> 29) & 0x1) == 0) 2191 { 2192 /* 33222222222211111111110000000000 2193 10987654321098765432109876543210 2194 xxxxxxxxxxxxxxxxxxxxxx10001100xx 2195 ld4. */ 2196 return 359; 2197 } 2198 else 2199 { 2200 /* 33222222222211111111110000000000 2201 10987654321098765432109876543210 2202 xxxxxxxxxxxxxxxxxxxxxx10001101xx 2203 ldnp. */ 2204 return 742; 2205 } 2206 } 2207 else 2208 { 2209 if (((word >> 29) & 0x1) == 0) 2210 { 2211 if (((word >> 13) & 0x1) == 0) 2212 { 2213 if (((word >> 21) & 0x1) == 0) 2214 { 2215 /* 33222222222211111111110000000000 2216 10987654321098765432109876543210 2217 xxxxxxxxxxxxx0xxxxxxx010101100xx 2218 ld1. */ 2219 return 375; 2220 } 2221 else 2222 { 2223 /* 33222222222211111111110000000000 2224 10987654321098765432109876543210 2225 xxxxxxxxxxxxx0xxxxxxx110101100xx 2226 ld2. */ 2227 return 379; 2228 } 2229 } 2230 else 2231 { 2232 if (((word >> 21) & 0x1) == 0) 2233 { 2234 /* 33222222222211111111110000000000 2235 10987654321098765432109876543210 2236 xxxxxxxxxxxxx1xxxxxxx010101100xx 2237 ld3. */ 2238 return 376; 2239 } 2240 else 2241 { 2242 /* 33222222222211111111110000000000 2243 10987654321098765432109876543210 2244 xxxxxxxxxxxxx1xxxxxxx110101100xx 2245 ld4. */ 2246 return 380; 2247 } 2248 } 2249 } 2250 else 2251 { 2252 /* 33222222222211111111110000000000 2253 10987654321098765432109876543210 2254 xxxxxxxxxxxxxxxxxxxxxx10101101xx 2255 ldp. */ 2256 return 746; 2257 } 2258 } 2259 } 2260 else 2261 { 2262 if (((word >> 29) & 0x1) == 0) 2263 { 2264 if (((word >> 21) & 0x1) == 0) 2265 { 2266 if (((word >> 24) & 0x1) == 0) 2267 { 2268 /* 33222222222211111111110000000000 2269 10987654321098765432109876543210 2270 xxxxxxxxxxxxxxxxxxxxx011001100xx 2271 ld4. */ 2272 return 367; 2273 } 2274 else 2275 { 2276 if (((word >> 13) & 0x1) == 0) 2277 { 2278 /* 33222222222211111111110000000000 2279 10987654321098765432109876543210 2280 xxxxxxxxxxxxx0xxxxxxx011101100xx 2281 ld1. */ 2282 return 387; 2283 } 2284 else 2285 { 2286 /* 33222222222211111111110000000000 2287 10987654321098765432109876543210 2288 xxxxxxxxxxxxx1xxxxxxx011101100xx 2289 ld3. */ 2290 return 388; 2291 } 2292 } 2293 } 2294 else 2295 { 2296 if (((word >> 13) & 0x1) == 0) 2297 { 2298 /* 33222222222211111111110000000000 2299 10987654321098765432109876543210 2300 xxxxxxxxxxxxx0xxxxxxx111x01100xx 2301 ld2. */ 2302 return 391; 2303 } 2304 else 2305 { 2306 /* 33222222222211111111110000000000 2307 10987654321098765432109876543210 2308 xxxxxxxxxxxxx1xxxxxxx111x01100xx 2309 ld4. */ 2310 return 392; 2311 } 2312 } 2313 } 2314 else 2315 { 2316 /* 33222222222211111111110000000000 2317 10987654321098765432109876543210 2318 xxxxxxxxxxxxxxxxxxxxxx11x01101xx 2319 ldp. */ 2320 return 751; 2321 } 2322 } 2323 } 2324 } 2325 else 2326 { 2327 if (((word >> 24) & 0x1) == 0) 2328 { 2329 if (((word >> 29) & 0x1) == 0) 2330 { 2331 /* 33222222222211111111110000000000 2332 10987654321098765432109876543210 2333 xxxxxxxxxxxxxxxxxxxxxxxx001110xx 2334 ldr. */ 2335 return 754; 2336 } 2337 else 2338 { 2339 if (((word >> 10) & 0x1) == 0) 2340 { 2341 if (((word >> 11) & 0x1) == 0) 2342 { 2343 if (((word >> 22) & 0x1) == 0) 2344 { 2345 /* 33222222222211111111110000000000 2346 10987654321098765432109876543210 2347 xxxxxxxxxx00xxxxxxxxxx0x001111xx 2348 stur. */ 2349 return 699; 2350 } 2351 else 2352 { 2353 /* 33222222222211111111110000000000 2354 10987654321098765432109876543210 2355 xxxxxxxxxx00xxxxxxxxxx1x001111xx 2356 ldur. */ 2357 return 700; 2358 } 2359 } 2360 else 2361 { 2362 if (((word >> 22) & 0x1) == 0) 2363 { 2364 /* 33222222222211111111110000000000 2365 10987654321098765432109876543210 2366 xxxxxxxxxx01xxxxxxxxxx0x001111xx 2367 str. */ 2368 return 675; 2369 } 2370 else 2371 { 2372 /* 33222222222211111111110000000000 2373 10987654321098765432109876543210 2374 xxxxxxxxxx01xxxxxxxxxx1x001111xx 2375 ldr. */ 2376 return 676; 2377 } 2378 } 2379 } 2380 else 2381 { 2382 if (((word >> 22) & 0x1) == 0) 2383 { 2384 /* 33222222222211111111110000000000 2385 10987654321098765432109876543210 2386 xxxxxxxxxx1xxxxxxxxxxx0x001111xx 2387 str. */ 2388 return 652; 2389 } 2390 else 2391 { 2392 /* 33222222222211111111110000000000 2393 10987654321098765432109876543210 2394 xxxxxxxxxx1xxxxxxxxxxx1x001111xx 2395 ldr. */ 2396 return 653; 2397 } 2398 } 2399 } 2400 } 2401 else 2402 { 2403 if (((word >> 22) & 0x1) == 0) 2404 { 2405 /* 33222222222211111111110000000000 2406 10987654321098765432109876543210 2407 xxxxxxxxxxxxxxxxxxxxxx0x10111xxx 2408 str. */ 2409 return 663; 2410 } 2411 else 2412 { 2413 /* 33222222222211111111110000000000 2414 10987654321098765432109876543210 2415 xxxxxxxxxxxxxxxxxxxxxx1x10111xxx 2416 ldr. */ 2417 return 664; 2418 } 2419 } 2420 } 2421 } 2422 else 2423 { 2424 if (((word >> 24) & 0x1) == 0) 2425 { 2426 if (((word >> 21) & 0x1) == 0) 2427 { 2428 if (((word >> 28) & 0x1) == 0) 2429 { 2430 if (((word >> 10) & 0x1) == 0) 2431 { 2432 if (((word >> 29) & 0x1) == 0) 2433 { 2434 if (((word >> 11) & 0x1) == 0) 2435 { 2436 if (((word >> 12) & 0x1) == 0) 2437 { 2438 /* 33222222222211111111110000000000 2439 10987654321098765432109876543210 2440 xxxxxxxxxx000xxxxxxxx0xx011100xx 2441 tbl. */ 2442 return 341; 2443 } 2444 else 2445 { 2446 /* 33222222222211111111110000000000 2447 10987654321098765432109876543210 2448 xxxxxxxxxx001xxxxxxxx0xx011100xx 2449 tbx. */ 2450 return 342; 2451 } 2452 } 2453 else 2454 { 2455 if (((word >> 12) & 0x1) == 0) 2456 { 2457 if (((word >> 14) & 0x1) == 0) 2458 { 2459 /* 33222222222211111111110000000000 2460 10987654321098765432109876543210 2461 xxxxxxxxxx010x0xxxxxx0xx011100xx 2462 trn1. */ 2463 return 216; 2464 } 2465 else 2466 { 2467 /* 33222222222211111111110000000000 2468 10987654321098765432109876543210 2469 xxxxxxxxxx010x1xxxxxx0xx011100xx 2470 trn2. */ 2471 return 219; 2472 } 2473 } 2474 else 2475 { 2476 if (((word >> 13) & 0x1) == 0) 2477 { 2478 if (((word >> 14) & 0x1) == 0) 2479 { 2480 /* 33222222222211111111110000000000 2481 10987654321098765432109876543210 2482 xxxxxxxxxx01100xxxxxx0xx011100xx 2483 uzp1. */ 2484 return 215; 2485 } 2486 else 2487 { 2488 /* 33222222222211111111110000000000 2489 10987654321098765432109876543210 2490 xxxxxxxxxx01101xxxxxx0xx011100xx 2491 uzp2. */ 2492 return 218; 2493 } 2494 } 2495 else 2496 { 2497 if (((word >> 14) & 0x1) == 0) 2498 { 2499 /* 33222222222211111111110000000000 2500 10987654321098765432109876543210 2501 xxxxxxxxxx01110xxxxxx0xx011100xx 2502 zip1. */ 2503 return 217; 2504 } 2505 else 2506 { 2507 /* 33222222222211111111110000000000 2508 10987654321098765432109876543210 2509 xxxxxxxxxx01111xxxxxx0xx011100xx 2510 zip2. */ 2511 return 220; 2512 } 2513 } 2514 } 2515 } 2516 } 2517 else 2518 { 2519 /* 33222222222211111111110000000000 2520 10987654321098765432109876543210 2521 xxxxxxxxxx0xxxxxxxxxx0xx011101xx 2522 ext. */ 2523 return 119; 2524 } 2525 } 2526 else 2527 { 2528 if (((word >> 29) & 0x1) == 0) 2529 { 2530 if (((word >> 11) & 0x1) == 0) 2531 { 2532 /* 33222222222211111111110000000000 2533 10987654321098765432109876543210 2534 xxxxxxxxxx10xxxxxxxxx0xx011100xx 2535 dup. */ 2536 return 135; 2537 } 2538 else 2539 { 2540 if (((word >> 12) & 0x1) == 0) 2541 { 2542 if (((word >> 13) & 0x1) == 0) 2543 { 2544 /* 33222222222211111111110000000000 2545 10987654321098765432109876543210 2546 xxxxxxxxxx1100xxxxxxx0xx011100xx 2547 dup. */ 2548 return 136; 2549 } 2550 else 2551 { 2552 /* 33222222222211111111110000000000 2553 10987654321098765432109876543210 2554 xxxxxxxxxx1101xxxxxxx0xx011100xx 2555 smov. */ 2556 return 137; 2557 } 2558 } 2559 else 2560 { 2561 if (((word >> 13) & 0x1) == 0) 2562 { 2563 /* 33222222222211111111110000000000 2564 10987654321098765432109876543210 2565 xxxxxxxxxx1110xxxxxxx0xx011100xx 2566 ins. */ 2567 return 140; 2568 } 2569 else 2570 { 2571 /* 33222222222211111111110000000000 2572 10987654321098765432109876543210 2573 xxxxxxxxxx1111xxxxxxx0xx011100xx 2574 umov. */ 2575 return 138; 2576 } 2577 } 2578 } 2579 } 2580 else 2581 { 2582 /* 33222222222211111111110000000000 2583 10987654321098765432109876543210 2584 xxxxxxxxxx1xxxxxxxxxx0xx011101xx 2585 ins. */ 2586 return 142; 2587 } 2588 } 2589 } 2590 else 2591 { 2592 if (((word >> 30) & 0x1) == 0) 2593 { 2594 if (((word >> 16) & 0x1) == 0) 2595 { 2596 if (((word >> 17) & 0x1) == 0) 2597 { 2598 /* 33222222222211111111110000000000 2599 10987654321098765432109876543210 2600 xxxxxxxxxxxxxxxx00xxx0xx01111x0x 2601 fcvtzs. */ 2602 return 598; 2603 } 2604 else 2605 { 2606 /* 33222222222211111111110000000000 2607 10987654321098765432109876543210 2608 xxxxxxxxxxxxxxxx01xxx0xx01111x0x 2609 scvtf. */ 2610 return 596; 2611 } 2612 } 2613 else 2614 { 2615 if (((word >> 17) & 0x1) == 0) 2616 { 2617 /* 33222222222211111111110000000000 2618 10987654321098765432109876543210 2619 xxxxxxxxxxxxxxxx10xxx0xx01111x0x 2620 fcvtzu. */ 2621 return 599; 2622 } 2623 else 2624 { 2625 /* 33222222222211111111110000000000 2626 10987654321098765432109876543210 2627 xxxxxxxxxxxxxxxx11xxx0xx01111x0x 2628 ucvtf. */ 2629 return 597; 2630 } 2631 } 2632 } 2633 else 2634 { 2635 if (((word >> 10) & 0x1) == 0) 2636 { 2637 if (((word >> 12) & 0x1) == 0) 2638 { 2639 if (((word >> 13) & 0x1) == 0) 2640 { 2641 if (((word >> 14) & 0x1) == 0) 2642 { 2643 /* 33222222222211111111110000000000 2644 10987654321098765432109876543210 2645 xxxxxxxxxx0x000xxxxxx0xx01111x1x 2646 sha1c. */ 2647 return 540; 2648 } 2649 else 2650 { 2651 /* 33222222222211111111110000000000 2652 10987654321098765432109876543210 2653 xxxxxxxxxx0x001xxxxxx0xx01111x1x 2654 sha256h. */ 2655 return 544; 2656 } 2657 } 2658 else 2659 { 2660 if (((word >> 14) & 0x1) == 0) 2661 { 2662 /* 33222222222211111111110000000000 2663 10987654321098765432109876543210 2664 xxxxxxxxxx0x010xxxxxx0xx01111x1x 2665 sha1m. */ 2666 return 542; 2667 } 2668 else 2669 { 2670 /* 33222222222211111111110000000000 2671 10987654321098765432109876543210 2672 xxxxxxxxxx0x011xxxxxx0xx01111x1x 2673 sha256su1. */ 2674 return 546; 2675 } 2676 } 2677 } 2678 else 2679 { 2680 if (((word >> 13) & 0x1) == 0) 2681 { 2682 if (((word >> 14) & 0x1) == 0) 2683 { 2684 /* 33222222222211111111110000000000 2685 10987654321098765432109876543210 2686 xxxxxxxxxx0x100xxxxxx0xx01111x1x 2687 sha1p. */ 2688 return 541; 2689 } 2690 else 2691 { 2692 /* 33222222222211111111110000000000 2693 10987654321098765432109876543210 2694 xxxxxxxxxx0x101xxxxxx0xx01111x1x 2695 sha256h2. */ 2696 return 545; 2697 } 2698 } 2699 else 2700 { 2701 /* 33222222222211111111110000000000 2702 10987654321098765432109876543210 2703 xxxxxxxxxx0x11xxxxxxx0xx01111x1x 2704 sha1su0. */ 2705 return 543; 2706 } 2707 } 2708 } 2709 else 2710 { 2711 /* 33222222222211111111110000000000 2712 10987654321098765432109876543210 2713 xxxxxxxxxx1xxxxxxxxxx0xx01111x1x 2714 dup. */ 2715 return 430; 2716 } 2717 } 2718 } 2719 } 2720 else 2721 { 2722 if (((word >> 10) & 0x1) == 0) 2723 { 2724 if (((word >> 11) & 0x1) == 0) 2725 { 2726 if (((word >> 12) & 0x1) == 0) 2727 { 2728 if (((word >> 13) & 0x1) == 0) 2729 { 2730 if (((word >> 14) & 0x1) == 0) 2731 { 2732 if (((word >> 15) & 0x1) == 0) 2733 { 2734 if (((word >> 28) & 0x1) == 0) 2735 { 2736 if (((word >> 29) & 0x1) == 0) 2737 { 2738 if (((word >> 30) & 0x1) == 0) 2739 { 2740 /* 33222222222211111111110000000000 2741 10987654321098765432109876543210 2742 xxxxxxxxxx000000xxxxx1xx0111000x 2743 saddl. */ 2744 return 38; 2745 } 2746 else 2747 { 2748 /* 33222222222211111111110000000000 2749 10987654321098765432109876543210 2750 xxxxxxxxxx000000xxxxx1xx0111001x 2751 saddl2. */ 2752 return 39; 2753 } 2754 } 2755 else 2756 { 2757 if (((word >> 30) & 0x1) == 0) 2758 { 2759 /* 33222222222211111111110000000000 2760 10987654321098765432109876543210 2761 xxxxxxxxxx000000xxxxx1xx0111010x 2762 uaddl. */ 2763 return 70; 2764 } 2765 else 2766 { 2767 /* 33222222222211111111110000000000 2768 10987654321098765432109876543210 2769 xxxxxxxxxx000000xxxxx1xx0111011x 2770 uaddl2. */ 2771 return 71; 2772 } 2773 } 2774 } 2775 else 2776 { 2777 if (((word >> 16) & 0x1) == 0) 2778 { 2779 if (((word >> 17) & 0x1) == 0) 2780 { 2781 if (((word >> 18) & 0x1) == 0) 2782 { 2783 if (((word >> 19) & 0x1) == 0) 2784 { 2785 if (((word >> 20) & 0x1) == 0) 2786 { 2787 /* 33222222222211111111110000000000 2788 10987654321098765432109876543210 2789 xxxxxxxxxx000000000001xx01111xxx 2790 fcvtns. */ 2791 return 600; 2792 } 2793 else 2794 { 2795 /* 33222222222211111111110000000000 2796 10987654321098765432109876543210 2797 xxxxxxxxxx000000000011xx01111xxx 2798 fcvtms. */ 2799 return 610; 2800 } 2801 } 2802 else 2803 { 2804 if (((word >> 20) & 0x1) == 0) 2805 { 2806 /* 33222222222211111111110000000000 2807 10987654321098765432109876543210 2808 xxxxxxxxxx000000000101xx01111xxx 2809 fcvtps. */ 2810 return 608; 2811 } 2812 else 2813 { 2814 /* 33222222222211111111110000000000 2815 10987654321098765432109876543210 2816 xxxxxxxxxx000000000111xx01111xxx 2817 fcvtzs. */ 2818 return 612; 2819 } 2820 } 2821 } 2822 else 2823 { 2824 /* 33222222222211111111110000000000 2825 10987654321098765432109876543210 2826 xxxxxxxxxx000000001xx1xx01111xxx 2827 fcvtas. */ 2828 return 604; 2829 } 2830 } 2831 else 2832 { 2833 if (((word >> 18) & 0x1) == 0) 2834 { 2835 /* 33222222222211111111110000000000 2836 10987654321098765432109876543210 2837 xxxxxxxxxx000000010xx1xx01111xxx 2838 scvtf. */ 2839 return 602; 2840 } 2841 else 2842 { 2843 if (((word >> 19) & 0x1) == 0) 2844 { 2845 /* 33222222222211111111110000000000 2846 10987654321098765432109876543210 2847 xxxxxxxxxx0000000110x1xx01111xxx 2848 fmov. */ 2849 return 606; 2850 } 2851 else 2852 { 2853 /* 33222222222211111111110000000000 2854 10987654321098765432109876543210 2855 xxxxxxxxxx0000000111x1xx01111xxx 2856 fmov. */ 2857 return 614; 2858 } 2859 } 2860 } 2861 } 2862 else 2863 { 2864 if (((word >> 17) & 0x1) == 0) 2865 { 2866 if (((word >> 18) & 0x1) == 0) 2867 { 2868 if (((word >> 19) & 0x1) == 0) 2869 { 2870 if (((word >> 20) & 0x1) == 0) 2871 { 2872 /* 33222222222211111111110000000000 2873 10987654321098765432109876543210 2874 xxxxxxxxxx000000100001xx01111xxx 2875 fcvtnu. */ 2876 return 601; 2877 } 2878 else 2879 { 2880 /* 33222222222211111111110000000000 2881 10987654321098765432109876543210 2882 xxxxxxxxxx000000100011xx01111xxx 2883 fcvtmu. */ 2884 return 611; 2885 } 2886 } 2887 else 2888 { 2889 if (((word >> 20) & 0x1) == 0) 2890 { 2891 /* 33222222222211111111110000000000 2892 10987654321098765432109876543210 2893 xxxxxxxxxx000000100101xx01111xxx 2894 fcvtpu. */ 2895 return 609; 2896 } 2897 else 2898 { 2899 /* 33222222222211111111110000000000 2900 10987654321098765432109876543210 2901 xxxxxxxxxx000000100111xx01111xxx 2902 fcvtzu. */ 2903 return 613; 2904 } 2905 } 2906 } 2907 else 2908 { 2909 /* 33222222222211111111110000000000 2910 10987654321098765432109876543210 2911 xxxxxxxxxx000000101xx1xx01111xxx 2912 fcvtau. */ 2913 return 605; 2914 } 2915 } 2916 else 2917 { 2918 if (((word >> 18) & 0x1) == 0) 2919 { 2920 /* 33222222222211111111110000000000 2921 10987654321098765432109876543210 2922 xxxxxxxxxx000000110xx1xx01111xxx 2923 ucvtf. */ 2924 return 603; 2925 } 2926 else 2927 { 2928 if (((word >> 19) & 0x1) == 0) 2929 { 2930 /* 33222222222211111111110000000000 2931 10987654321098765432109876543210 2932 xxxxxxxxxx0000001110x1xx01111xxx 2933 fmov. */ 2934 return 607; 2935 } 2936 else 2937 { 2938 /* 33222222222211111111110000000000 2939 10987654321098765432109876543210 2940 xxxxxxxxxx0000001111x1xx01111xxx 2941 fmov. */ 2942 return 615; 2943 } 2944 } 2945 } 2946 } 2947 } 2948 } 2949 else 2950 { 2951 if (((word >> 29) & 0x1) == 0) 2952 { 2953 if (((word >> 30) & 0x1) == 0) 2954 { 2955 /* 33222222222211111111110000000000 2956 10987654321098765432109876543210 2957 xxxxxxxxxx000001xxxxx1xx0111x00x 2958 smlal. */ 2959 return 54; 2960 } 2961 else 2962 { 2963 /* 33222222222211111111110000000000 2964 10987654321098765432109876543210 2965 xxxxxxxxxx000001xxxxx1xx0111x01x 2966 smlal2. */ 2967 return 55; 2968 } 2969 } 2970 else 2971 { 2972 if (((word >> 30) & 0x1) == 0) 2973 { 2974 /* 33222222222211111111110000000000 2975 10987654321098765432109876543210 2976 xxxxxxxxxx000001xxxxx1xx0111x10x 2977 umlal. */ 2978 return 86; 2979 } 2980 else 2981 { 2982 /* 33222222222211111111110000000000 2983 10987654321098765432109876543210 2984 xxxxxxxxxx000001xxxxx1xx0111x11x 2985 umlal2. */ 2986 return 87; 2987 } 2988 } 2989 } 2990 } 2991 else 2992 { 2993 if (((word >> 28) & 0x1) == 0) 2994 { 2995 if (((word >> 15) & 0x1) == 0) 2996 { 2997 if (((word >> 29) & 0x1) == 0) 2998 { 2999 if (((word >> 30) & 0x1) == 0) 3000 { 3001 /* 33222222222211111111110000000000 3002 10987654321098765432109876543210 3003 xxxxxxxxxx000010xxxxx1xx0111000x 3004 addhn. */ 3005 return 46; 3006 } 3007 else 3008 { 3009 /* 33222222222211111111110000000000 3010 10987654321098765432109876543210 3011 xxxxxxxxxx000010xxxxx1xx0111001x 3012 addhn2. */ 3013 return 47; 3014 } 3015 } 3016 else 3017 { 3018 if (((word >> 30) & 0x1) == 0) 3019 { 3020 /* 33222222222211111111110000000000 3021 10987654321098765432109876543210 3022 xxxxxxxxxx000010xxxxx1xx0111010x 3023 raddhn. */ 3024 return 78; 3025 } 3026 else 3027 { 3028 /* 33222222222211111111110000000000 3029 10987654321098765432109876543210 3030 xxxxxxxxxx000010xxxxx1xx0111011x 3031 raddhn2. */ 3032 return 79; 3033 } 3034 } 3035 } 3036 else 3037 { 3038 if (((word >> 29) & 0x1) == 0) 3039 { 3040 if (((word >> 30) & 0x1) == 0) 3041 { 3042 /* 33222222222211111111110000000000 3043 10987654321098765432109876543210 3044 xxxxxxxxxx000011xxxxx1xx0111000x 3045 smull. */ 3046 return 62; 3047 } 3048 else 3049 { 3050 /* 33222222222211111111110000000000 3051 10987654321098765432109876543210 3052 xxxxxxxxxx000011xxxxx1xx0111001x 3053 smull2. */ 3054 return 63; 3055 } 3056 } 3057 else 3058 { 3059 if (((word >> 30) & 0x1) == 0) 3060 { 3061 /* 33222222222211111111110000000000 3062 10987654321098765432109876543210 3063 xxxxxxxxxx000011xxxxx1xx0111010x 3064 umull. */ 3065 return 90; 3066 } 3067 else 3068 { 3069 /* 33222222222211111111110000000000 3070 10987654321098765432109876543210 3071 xxxxxxxxxx000011xxxxx1xx0111011x 3072 umull2. */ 3073 return 91; 3074 } 3075 } 3076 } 3077 } 3078 else 3079 { 3080 if (((word >> 17) & 0x1) == 0) 3081 { 3082 if (((word >> 15) & 0x1) == 0) 3083 { 3084 if (((word >> 16) & 0x1) == 0) 3085 { 3086 if (((word >> 18) & 0x1) == 0) 3087 { 3088 /* 33222222222211111111110000000000 3089 10987654321098765432109876543210 3090 xxxxxxxxxx000010000xx1xx01111xxx 3091 fmov. */ 3092 return 622; 3093 } 3094 else 3095 { 3096 /* 33222222222211111111110000000000 3097 10987654321098765432109876543210 3098 xxxxxxxxxx000010001xx1xx01111xxx 3099 frintn. */ 3100 return 627; 3101 } 3102 } 3103 else 3104 { 3105 if (((word >> 18) & 0x1) == 0) 3106 { 3107 /* 33222222222211111111110000000000 3108 10987654321098765432109876543210 3109 xxxxxxxxxx000010100xx1xx01111xxx 3110 fneg. */ 3111 return 624; 3112 } 3113 else 3114 { 3115 /* 33222222222211111111110000000000 3116 10987654321098765432109876543210 3117 xxxxxxxxxx000010101xx1xx01111xxx 3118 frintm. */ 3119 return 629; 3120 } 3121 } 3122 } 3123 else 3124 { 3125 if (((word >> 16) & 0x1) == 0) 3126 { 3127 if (((word >> 18) & 0x1) == 0) 3128 { 3129 /* 33222222222211111111110000000000 3130 10987654321098765432109876543210 3131 xxxxxxxxxx000011000xx1xx01111xxx 3132 fabs. */ 3133 return 623; 3134 } 3135 else 3136 { 3137 /* 33222222222211111111110000000000 3138 10987654321098765432109876543210 3139 xxxxxxxxxx000011001xx1xx01111xxx 3140 frintp. */ 3141 return 628; 3142 } 3143 } 3144 else 3145 { 3146 if (((word >> 18) & 0x1) == 0) 3147 { 3148 /* 33222222222211111111110000000000 3149 10987654321098765432109876543210 3150 xxxxxxxxxx000011100xx1xx01111xxx 3151 fsqrt. */ 3152 return 625; 3153 } 3154 else 3155 { 3156 /* 33222222222211111111110000000000 3157 10987654321098765432109876543210 3158 xxxxxxxxxx000011101xx1xx01111xxx 3159 frintz. */ 3160 return 630; 3161 } 3162 } 3163 } 3164 } 3165 else 3166 { 3167 if (((word >> 18) & 0x1) == 0) 3168 { 3169 /* 33222222222211111111110000000000 3170 10987654321098765432109876543210 3171 xxxxxxxxxx00001xx10xx1xx01111xxx 3172 fcvt. */ 3173 return 626; 3174 } 3175 else 3176 { 3177 if (((word >> 15) & 0x1) == 0) 3178 { 3179 if (((word >> 16) & 0x1) == 0) 3180 { 3181 /* 33222222222211111111110000000000 3182 10987654321098765432109876543210 3183 xxxxxxxxxx000010011xx1xx01111xxx 3184 frinta. */ 3185 return 631; 3186 } 3187 else 3188 { 3189 /* 33222222222211111111110000000000 3190 10987654321098765432109876543210 3191 xxxxxxxxxx000010111xx1xx01111xxx 3192 frintx. */ 3193 return 632; 3194 } 3195 } 3196 else 3197 { 3198 /* 33222222222211111111110000000000 3199 10987654321098765432109876543210 3200 xxxxxxxxxx000011x11xx1xx01111xxx 3201 frinti. */ 3202 return 633; 3203 } 3204 } 3205 } 3206 } 3207 } 3208 } 3209 else 3210 { 3211 if (((word >> 14) & 0x1) == 0) 3212 { 3213 if (((word >> 15) & 0x1) == 0) 3214 { 3215 if (((word >> 28) & 0x1) == 0) 3216 { 3217 if (((word >> 29) & 0x1) == 0) 3218 { 3219 if (((word >> 30) & 0x1) == 0) 3220 { 3221 /* 33222222222211111111110000000000 3222 10987654321098765432109876543210 3223 xxxxxxxxxx000100xxxxx1xx0111000x 3224 ssubl. */ 3225 return 42; 3226 } 3227 else 3228 { 3229 /* 33222222222211111111110000000000 3230 10987654321098765432109876543210 3231 xxxxxxxxxx000100xxxxx1xx0111001x 3232 ssubl2. */ 3233 return 43; 3234 } 3235 } 3236 else 3237 { 3238 if (((word >> 30) & 0x1) == 0) 3239 { 3240 /* 33222222222211111111110000000000 3241 10987654321098765432109876543210 3242 xxxxxxxxxx000100xxxxx1xx0111010x 3243 usubl. */ 3244 return 74; 3245 } 3246 else 3247 { 3248 /* 33222222222211111111110000000000 3249 10987654321098765432109876543210 3250 xxxxxxxxxx000100xxxxx1xx0111011x 3251 usubl2. */ 3252 return 75; 3253 } 3254 } 3255 } 3256 else 3257 { 3258 if (((word >> 3) & 0x1) == 0) 3259 { 3260 if (((word >> 4) & 0x1) == 0) 3261 { 3262 /* 33222222222211111111110000000000 3263 10987654321098765432109876543210 3264 xxx00xxxxx000100xxxxx1xx01111xxx 3265 fcmp. */ 3266 return 618; 3267 } 3268 else 3269 { 3270 /* 33222222222211111111110000000000 3271 10987654321098765432109876543210 3272 xxx01xxxxx000100xxxxx1xx01111xxx 3273 fcmpe. */ 3274 return 619; 3275 } 3276 } 3277 else 3278 { 3279 if (((word >> 4) & 0x1) == 0) 3280 { 3281 /* 33222222222211111111110000000000 3282 10987654321098765432109876543210 3283 xxx10xxxxx000100xxxxx1xx01111xxx 3284 fcmp. */ 3285 return 620; 3286 } 3287 else 3288 { 3289 /* 33222222222211111111110000000000 3290 10987654321098765432109876543210 3291 xxx11xxxxx000100xxxxx1xx01111xxx 3292 fcmpe. */ 3293 return 621; 3294 } 3295 } 3296 } 3297 } 3298 else 3299 { 3300 if (((word >> 29) & 0x1) == 0) 3301 { 3302 if (((word >> 30) & 0x1) == 0) 3303 { 3304 /* 33222222222211111111110000000000 3305 10987654321098765432109876543210 3306 xxxxxxxxxx000101xxxxx1xx0111x00x 3307 smlsl. */ 3308 return 58; 3309 } 3310 else 3311 { 3312 /* 33222222222211111111110000000000 3313 10987654321098765432109876543210 3314 xxxxxxxxxx000101xxxxx1xx0111x01x 3315 smlsl2. */ 3316 return 59; 3317 } 3318 } 3319 else 3320 { 3321 if (((word >> 30) & 0x1) == 0) 3322 { 3323 /* 33222222222211111111110000000000 3324 10987654321098765432109876543210 3325 xxxxxxxxxx000101xxxxx1xx0111x10x 3326 umlsl. */ 3327 return 88; 3328 } 3329 else 3330 { 3331 /* 33222222222211111111110000000000 3332 10987654321098765432109876543210 3333 xxxxxxxxxx000101xxxxx1xx0111x11x 3334 umlsl2. */ 3335 return 89; 3336 } 3337 } 3338 } 3339 } 3340 else 3341 { 3342 if (((word >> 15) & 0x1) == 0) 3343 { 3344 if (((word >> 29) & 0x1) == 0) 3345 { 3346 if (((word >> 30) & 0x1) == 0) 3347 { 3348 /* 33222222222211111111110000000000 3349 10987654321098765432109876543210 3350 xxxxxxxxxx000110xxxxx1xx0111x00x 3351 subhn. */ 3352 return 50; 3353 } 3354 else 3355 { 3356 /* 33222222222211111111110000000000 3357 10987654321098765432109876543210 3358 xxxxxxxxxx000110xxxxx1xx0111x01x 3359 subhn2. */ 3360 return 51; 3361 } 3362 } 3363 else 3364 { 3365 if (((word >> 30) & 0x1) == 0) 3366 { 3367 /* 33222222222211111111110000000000 3368 10987654321098765432109876543210 3369 xxxxxxxxxx000110xxxxx1xx0111x10x 3370 rsubhn. */ 3371 return 82; 3372 } 3373 else 3374 { 3375 /* 33222222222211111111110000000000 3376 10987654321098765432109876543210 3377 xxxxxxxxxx000110xxxxx1xx0111x11x 3378 rsubhn2. */ 3379 return 83; 3380 } 3381 } 3382 } 3383 else 3384 { 3385 if (((word >> 22) & 0x1) == 0) 3386 { 3387 if (((word >> 30) & 0x1) == 0) 3388 { 3389 /* 33222222222211111111110000000000 3390 10987654321098765432109876543210 3391 xxxxxxxxxx000111xxxxx10x0111xx0x 3392 pmull. */ 3393 return 66; 3394 } 3395 else 3396 { 3397 /* 33222222222211111111110000000000 3398 10987654321098765432109876543210 3399 xxxxxxxxxx000111xxxxx10x0111xx1x 3400 pmull2. */ 3401 return 68; 3402 } 3403 } 3404 else 3405 { 3406 if (((word >> 30) & 0x1) == 0) 3407 { 3408 /* 33222222222211111111110000000000 3409 10987654321098765432109876543210 3410 xxxxxxxxxx000111xxxxx11x0111xx0x 3411 pmull. */ 3412 return 67; 3413 } 3414 else 3415 { 3416 /* 33222222222211111111110000000000 3417 10987654321098765432109876543210 3418 xxxxxxxxxx000111xxxxx11x0111xx1x 3419 pmull2. */ 3420 return 69; 3421 } 3422 } 3423 } 3424 } 3425 } 3426 } 3427 else 3428 { 3429 if (((word >> 28) & 0x1) == 0) 3430 { 3431 if (((word >> 13) & 0x1) == 0) 3432 { 3433 if (((word >> 14) & 0x1) == 0) 3434 { 3435 if (((word >> 15) & 0x1) == 0) 3436 { 3437 if (((word >> 29) & 0x1) == 0) 3438 { 3439 if (((word >> 30) & 0x1) == 0) 3440 { 3441 /* 33222222222211111111110000000000 3442 10987654321098765432109876543210 3443 xxxxxxxxxx001000xxxxx1xx0111000x 3444 saddw. */ 3445 return 40; 3446 } 3447 else 3448 { 3449 /* 33222222222211111111110000000000 3450 10987654321098765432109876543210 3451 xxxxxxxxxx001000xxxxx1xx0111001x 3452 saddw2. */ 3453 return 41; 3454 } 3455 } 3456 else 3457 { 3458 if (((word >> 30) & 0x1) == 0) 3459 { 3460 /* 33222222222211111111110000000000 3461 10987654321098765432109876543210 3462 xxxxxxxxxx001000xxxxx1xx0111010x 3463 uaddw. */ 3464 return 72; 3465 } 3466 else 3467 { 3468 /* 33222222222211111111110000000000 3469 10987654321098765432109876543210 3470 xxxxxxxxxx001000xxxxx1xx0111011x 3471 uaddw2. */ 3472 return 73; 3473 } 3474 } 3475 } 3476 else 3477 { 3478 if (((word >> 30) & 0x1) == 0) 3479 { 3480 /* 33222222222211111111110000000000 3481 10987654321098765432109876543210 3482 xxxxxxxxxx001001xxxxx1xx01110x0x 3483 sqdmlal. */ 3484 return 56; 3485 } 3486 else 3487 { 3488 /* 33222222222211111111110000000000 3489 10987654321098765432109876543210 3490 xxxxxxxxxx001001xxxxx1xx01110x1x 3491 sqdmlal2. */ 3492 return 57; 3493 } 3494 } 3495 } 3496 else 3497 { 3498 if (((word >> 15) & 0x1) == 0) 3499 { 3500 if (((word >> 29) & 0x1) == 0) 3501 { 3502 if (((word >> 30) & 0x1) == 0) 3503 { 3504 /* 33222222222211111111110000000000 3505 10987654321098765432109876543210 3506 xxxxxxxxxx001010xxxxx1xx0111000x 3507 sabal. */ 3508 return 48; 3509 } 3510 else 3511 { 3512 /* 33222222222211111111110000000000 3513 10987654321098765432109876543210 3514 xxxxxxxxxx001010xxxxx1xx0111001x 3515 sabal2. */ 3516 return 49; 3517 } 3518 } 3519 else 3520 { 3521 if (((word >> 30) & 0x1) == 0) 3522 { 3523 /* 33222222222211111111110000000000 3524 10987654321098765432109876543210 3525 xxxxxxxxxx001010xxxxx1xx0111010x 3526 uabal. */ 3527 return 80; 3528 } 3529 else 3530 { 3531 /* 33222222222211111111110000000000 3532 10987654321098765432109876543210 3533 xxxxxxxxxx001010xxxxx1xx0111011x 3534 uabal2. */ 3535 return 81; 3536 } 3537 } 3538 } 3539 else 3540 { 3541 if (((word >> 30) & 0x1) == 0) 3542 { 3543 /* 33222222222211111111110000000000 3544 10987654321098765432109876543210 3545 xxxxxxxxxx001011xxxxx1xx01110x0x 3546 sqdmull. */ 3547 return 64; 3548 } 3549 else 3550 { 3551 /* 33222222222211111111110000000000 3552 10987654321098765432109876543210 3553 xxxxxxxxxx001011xxxxx1xx01110x1x 3554 sqdmull2. */ 3555 return 65; 3556 } 3557 } 3558 } 3559 } 3560 else 3561 { 3562 if (((word >> 14) & 0x1) == 0) 3563 { 3564 if (((word >> 15) & 0x1) == 0) 3565 { 3566 if (((word >> 29) & 0x1) == 0) 3567 { 3568 if (((word >> 30) & 0x1) == 0) 3569 { 3570 /* 33222222222211111111110000000000 3571 10987654321098765432109876543210 3572 xxxxxxxxxx001100xxxxx1xx0111000x 3573 ssubw. */ 3574 return 44; 3575 } 3576 else 3577 { 3578 /* 33222222222211111111110000000000 3579 10987654321098765432109876543210 3580 xxxxxxxxxx001100xxxxx1xx0111001x 3581 ssubw2. */ 3582 return 45; 3583 } 3584 } 3585 else 3586 { 3587 if (((word >> 30) & 0x1) == 0) 3588 { 3589 /* 33222222222211111111110000000000 3590 10987654321098765432109876543210 3591 xxxxxxxxxx001100xxxxx1xx0111010x 3592 usubw. */ 3593 return 76; 3594 } 3595 else 3596 { 3597 /* 33222222222211111111110000000000 3598 10987654321098765432109876543210 3599 xxxxxxxxxx001100xxxxx1xx0111011x 3600 usubw2. */ 3601 return 77; 3602 } 3603 } 3604 } 3605 else 3606 { 3607 if (((word >> 30) & 0x1) == 0) 3608 { 3609 /* 33222222222211111111110000000000 3610 10987654321098765432109876543210 3611 xxxxxxxxxx001101xxxxx1xx01110x0x 3612 sqdmlsl. */ 3613 return 60; 3614 } 3615 else 3616 { 3617 /* 33222222222211111111110000000000 3618 10987654321098765432109876543210 3619 xxxxxxxxxx001101xxxxx1xx01110x1x 3620 sqdmlsl2. */ 3621 return 61; 3622 } 3623 } 3624 } 3625 else 3626 { 3627 if (((word >> 29) & 0x1) == 0) 3628 { 3629 if (((word >> 30) & 0x1) == 0) 3630 { 3631 /* 33222222222211111111110000000000 3632 10987654321098765432109876543210 3633 xxxxxxxxxx00111xxxxxx1xx0111000x 3634 sabdl. */ 3635 return 52; 3636 } 3637 else 3638 { 3639 /* 33222222222211111111110000000000 3640 10987654321098765432109876543210 3641 xxxxxxxxxx00111xxxxxx1xx0111001x 3642 sabdl2. */ 3643 return 53; 3644 } 3645 } 3646 else 3647 { 3648 if (((word >> 30) & 0x1) == 0) 3649 { 3650 /* 33222222222211111111110000000000 3651 10987654321098765432109876543210 3652 xxxxxxxxxx00111xxxxxx1xx0111010x 3653 uabdl. */ 3654 return 84; 3655 } 3656 else 3657 { 3658 /* 33222222222211111111110000000000 3659 10987654321098765432109876543210 3660 xxxxxxxxxx00111xxxxxx1xx0111011x 3661 uabdl2. */ 3662 return 85; 3663 } 3664 } 3665 } 3666 } 3667 } 3668 else 3669 { 3670 if (((word >> 30) & 0x1) == 0) 3671 { 3672 /* 33222222222211111111110000000000 3673 10987654321098765432109876543210 3674 xxxxxxxxxx001xxxxxxxx1xx01111x0x 3675 fmov. */ 3676 return 647; 3677 } 3678 else 3679 { 3680 if (((word >> 13) & 0x1) == 0) 3681 { 3682 if (((word >> 14) & 0x1) == 0) 3683 { 3684 /* 33222222222211111111110000000000 3685 10987654321098765432109876543210 3686 xxxxxxxxxx00100xxxxxx1xx01111x1x 3687 sqdmlal. */ 3688 return 343; 3689 } 3690 else 3691 { 3692 /* 33222222222211111111110000000000 3693 10987654321098765432109876543210 3694 xxxxxxxxxx00101xxxxxx1xx01111x1x 3695 sqdmull. */ 3696 return 345; 3697 } 3698 } 3699 else 3700 { 3701 /* 33222222222211111111110000000000 3702 10987654321098765432109876543210 3703 xxxxxxxxxx0011xxxxxxx1xx01111x1x 3704 sqdmlsl. */ 3705 return 344; 3706 } 3707 } 3708 } 3709 } 3710 } 3711 else 3712 { 3713 if (((word >> 12) & 0x1) == 0) 3714 { 3715 if (((word >> 13) & 0x1) == 0) 3716 { 3717 if (((word >> 14) & 0x1) == 0) 3718 { 3719 if (((word >> 15) & 0x1) == 0) 3720 { 3721 if (((word >> 28) & 0x1) == 0) 3722 { 3723 if (((word >> 29) & 0x1) == 0) 3724 { 3725 /* 33222222222211111111110000000000 3726 10987654321098765432109876543210 3727 xxxxxxxxxx010000xxxxx1xx011100xx 3728 rev64. */ 3729 return 144; 3730 } 3731 else 3732 { 3733 /* 33222222222211111111110000000000 3734 10987654321098765432109876543210 3735 xxxxxxxxxx010000xxxxx1xx011101xx 3736 rev32. */ 3737 return 180; 3738 } 3739 } 3740 else 3741 { 3742 if (((word >> 30) & 0x1) == 0) 3743 { 3744 /* 33222222222211111111110000000000 3745 10987654321098765432109876543210 3746 xxxxxxxxxx010000xxxxx1xx01111x0x 3747 fmul. */ 3748 return 634; 3749 } 3750 else 3751 { 3752 /* 33222222222211111111110000000000 3753 10987654321098765432109876543210 3754 xxxxxxxxxx010000xxxxx1xx01111x1x 3755 sha1h. */ 3756 return 537; 3757 } 3758 } 3759 } 3760 else 3761 { 3762 if (((word >> 28) & 0x1) == 0) 3763 { 3764 if (((word >> 16) & 0x1) == 0) 3765 { 3766 if (((word >> 29) & 0x1) == 0) 3767 { 3768 /* 33222222222211111111110000000000 3769 10987654321098765432109876543210 3770 xxxxxxxxxx0100010xxxx1xx011100xx 3771 cmgt. */ 3772 return 152; 3773 } 3774 else 3775 { 3776 /* 33222222222211111111110000000000 3777 10987654321098765432109876543210 3778 xxxxxxxxxx0100010xxxx1xx011101xx 3779 cmge. */ 3780 return 186; 3781 } 3782 } 3783 else 3784 { 3785 if (((word >> 23) & 0x1) == 0) 3786 { 3787 if (((word >> 29) & 0x1) == 0) 3788 { 3789 /* 33222222222211111111110000000000 3790 10987654321098765432109876543210 3791 xxxxxxxxxx0100011xxxx1x0011100xx 3792 frintn. */ 3793 return 164; 3794 } 3795 else 3796 { 3797 /* 33222222222211111111110000000000 3798 10987654321098765432109876543210 3799 xxxxxxxxxx0100011xxxx1x0011101xx 3800 frinta. */ 3801 return 197; 3802 } 3803 } 3804 else 3805 { 3806 /* 33222222222211111111110000000000 3807 10987654321098765432109876543210 3808 xxxxxxxxxx0100011xxxx1x101110xxx 3809 frintp. */ 3810 return 174; 3811 } 3812 } 3813 } 3814 else 3815 { 3816 if (((word >> 29) & 0x1) == 0) 3817 { 3818 if (((word >> 30) & 0x1) == 0) 3819 { 3820 /* 33222222222211111111110000000000 3821 10987654321098765432109876543210 3822 xxxxxxxxxx010001xxxxx1xx0111100x 3823 fnmul. */ 3824 return 642; 3825 } 3826 else 3827 { 3828 /* 33222222222211111111110000000000 3829 10987654321098765432109876543210 3830 xxxxxxxxxx010001xxxxx1xx0111101x 3831 cmgt. */ 3832 return 397; 3833 } 3834 } 3835 else 3836 { 3837 /* 33222222222211111111110000000000 3838 10987654321098765432109876543210 3839 xxxxxxxxxx010001xxxxx1xx011111xx 3840 cmge. */ 3841 return 415; 3842 } 3843 } 3844 } 3845 } 3846 else 3847 { 3848 if (((word >> 15) & 0x1) == 0) 3849 { 3850 if (((word >> 28) & 0x1) == 0) 3851 { 3852 if (((word >> 16) & 0x1) == 0) 3853 { 3854 if (((word >> 19) & 0x1) == 0) 3855 { 3856 if (((word >> 29) & 0x1) == 0) 3857 { 3858 /* 33222222222211111111110000000000 3859 10987654321098765432109876543210 3860 xxxxxxxxxx0100100xx0x1xx011100xx 3861 cls. */ 3862 return 148; 3863 } 3864 else 3865 { 3866 /* 33222222222211111111110000000000 3867 10987654321098765432109876543210 3868 xxxxxxxxxx0100100xx0x1xx011101xx 3869 clz. */ 3870 return 183; 3871 } 3872 } 3873 else 3874 { 3875 /* 33222222222211111111110000000000 3876 10987654321098765432109876543210 3877 xxxxxxxxxx0100100xx1x1xx01110xxx 3878 aese. */ 3879 return 533; 3880 } 3881 } 3882 else 3883 { 3884 if (((word >> 29) & 0x1) == 0) 3885 { 3886 if (((word >> 30) & 0x1) == 0) 3887 { 3888 /* 33222222222211111111110000000000 3889 10987654321098765432109876543210 3890 xxxxxxxxxx0100101xxxx1xx0111000x 3891 sqxtn. */ 3892 return 158; 3893 } 3894 else 3895 { 3896 /* 33222222222211111111110000000000 3897 10987654321098765432109876543210 3898 xxxxxxxxxx0100101xxxx1xx0111001x 3899 sqxtn2. */ 3900 return 159; 3901 } 3902 } 3903 else 3904 { 3905 if (((word >> 30) & 0x1) == 0) 3906 { 3907 /* 33222222222211111111110000000000 3908 10987654321098765432109876543210 3909 xxxxxxxxxx0100101xxxx1xx0111010x 3910 uqxtn. */ 3911 return 193; 3912 } 3913 else 3914 { 3915 /* 33222222222211111111110000000000 3916 10987654321098765432109876543210 3917 xxxxxxxxxx0100101xxxx1xx0111011x 3918 uqxtn2. */ 3919 return 194; 3920 } 3921 } 3922 } 3923 } 3924 else 3925 { 3926 if (((word >> 29) & 0x1) == 0) 3927 { 3928 if (((word >> 30) & 0x1) == 0) 3929 { 3930 /* 33222222222211111111110000000000 3931 10987654321098765432109876543210 3932 xxxxxxxxxx010010xxxxx1xx0111100x 3933 fmax. */ 3934 return 638; 3935 } 3936 else 3937 { 3938 /* 33222222222211111111110000000000 3939 10987654321098765432109876543210 3940 xxxxxxxxxx010010xxxxx1xx0111101x 3941 sqxtn. */ 3942 return 401; 3943 } 3944 } 3945 else 3946 { 3947 /* 33222222222211111111110000000000 3948 10987654321098765432109876543210 3949 xxxxxxxxxx010010xxxxx1xx011111xx 3950 uqxtn. */ 3951 return 419; 3952 } 3953 } 3954 } 3955 else 3956 { 3957 if (((word >> 16) & 0x1) == 0) 3958 { 3959 if (((word >> 20) & 0x1) == 0) 3960 { 3961 if (((word >> 28) & 0x1) == 0) 3962 { 3963 if (((word >> 29) & 0x1) == 0) 3964 { 3965 /* 33222222222211111111110000000000 3966 10987654321098765432109876543210 3967 xxxxxxxxxx0100110xxx01xx011100xx 3968 fcmgt. */ 3969 return 170; 3970 } 3971 else 3972 { 3973 /* 33222222222211111111110000000000 3974 10987654321098765432109876543210 3975 xxxxxxxxxx0100110xxx01xx011101xx 3976 fcmge. */ 3977 return 206; 3978 } 3979 } 3980 else 3981 { 3982 if (((word >> 29) & 0x1) == 0) 3983 { 3984 /* 33222222222211111111110000000000 3985 10987654321098765432109876543210 3986 xxxxxxxxxx0100110xxx01xx011110xx 3987 fcmgt. */ 3988 return 406; 3989 } 3990 else 3991 { 3992 /* 33222222222211111111110000000000 3993 10987654321098765432109876543210 3994 xxxxxxxxxx0100110xxx01xx011111xx 3995 fcmge. */ 3996 return 425; 3997 } 3998 } 3999 } 4000 else 4001 { 4002 if (((word >> 23) & 0x1) == 0) 4003 { 4004 if (((word >> 28) & 0x1) == 0) 4005 { 4006 /* 33222222222211111111110000000000 4007 10987654321098765432109876543210 4008 xxxxxxxxxx0100110xxx11x001110xxx 4009 fmaxnmv. */ 4010 return 34; 4011 } 4012 else 4013 { 4014 /* 33222222222211111111110000000000 4015 10987654321098765432109876543210 4016 xxxxxxxxxx0100110xxx11x001111xxx 4017 fmaxnmp. */ 4018 return 433; 4019 } 4020 } 4021 else 4022 { 4023 if (((word >> 28) & 0x1) == 0) 4024 { 4025 /* 33222222222211111111110000000000 4026 10987654321098765432109876543210 4027 xxxxxxxxxx0100110xxx11x101110xxx 4028 fminnmv. */ 4029 return 36; 4030 } 4031 else 4032 { 4033 /* 33222222222211111111110000000000 4034 10987654321098765432109876543210 4035 xxxxxxxxxx0100110xxx11x101111xxx 4036 fminnmp. */ 4037 return 436; 4038 } 4039 } 4040 } 4041 } 4042 else 4043 { 4044 if (((word >> 23) & 0x1) == 0) 4045 { 4046 if (((word >> 28) & 0x1) == 0) 4047 { 4048 if (((word >> 29) & 0x1) == 0) 4049 { 4050 /* 33222222222211111111110000000000 4051 10987654321098765432109876543210 4052 xxxxxxxxxx0100111xxxx1x0011100xx 4053 fcvtas. */ 4054 return 168; 4055 } 4056 else 4057 { 4058 /* 33222222222211111111110000000000 4059 10987654321098765432109876543210 4060 xxxxxxxxxx0100111xxxx1x0011101xx 4061 fcvtau. */ 4062 return 201; 4063 } 4064 } 4065 else 4066 { 4067 if (((word >> 29) & 0x1) == 0) 4068 { 4069 /* 33222222222211111111110000000000 4070 10987654321098765432109876543210 4071 xxxxxxxxxx0100111xxxx1x0011110xx 4072 fcvtas. */ 4073 return 404; 4074 } 4075 else 4076 { 4077 /* 33222222222211111111110000000000 4078 10987654321098765432109876543210 4079 xxxxxxxxxx0100111xxxx1x0011111xx 4080 fcvtau. */ 4081 return 423; 4082 } 4083 } 4084 } 4085 else 4086 { 4087 if (((word >> 29) & 0x1) == 0) 4088 { 4089 /* 33222222222211111111110000000000 4090 10987654321098765432109876543210 4091 xxxxxxxxxx0100111xxxx1x10111x0xx 4092 urecpe. */ 4093 return 178; 4094 } 4095 else 4096 { 4097 /* 33222222222211111111110000000000 4098 10987654321098765432109876543210 4099 xxxxxxxxxx0100111xxxx1x10111x1xx 4100 ursqrte. */ 4101 return 212; 4102 } 4103 } 4104 } 4105 } 4106 } 4107 } 4108 else 4109 { 4110 if (((word >> 14) & 0x1) == 0) 4111 { 4112 if (((word >> 15) & 0x1) == 0) 4113 { 4114 if (((word >> 28) & 0x1) == 0) 4115 { 4116 if (((word >> 16) & 0x1) == 0) 4117 { 4118 if (((word >> 29) & 0x1) == 0) 4119 { 4120 /* 33222222222211111111110000000000 4121 10987654321098765432109876543210 4122 xxxxxxxxxx0101000xxxx1xx011100xx 4123 saddlp. */ 4124 return 146; 4125 } 4126 else 4127 { 4128 /* 33222222222211111111110000000000 4129 10987654321098765432109876543210 4130 xxxxxxxxxx0101000xxxx1xx011101xx 4131 uaddlp. */ 4132 return 181; 4133 } 4134 } 4135 else 4136 { 4137 if (((word >> 29) & 0x1) == 0) 4138 { 4139 if (((word >> 30) & 0x1) == 0) 4140 { 4141 /* 33222222222211111111110000000000 4142 10987654321098765432109876543210 4143 xxxxxxxxxx0101001xxxx1xx0111000x 4144 xtn. */ 4145 return 156; 4146 } 4147 else 4148 { 4149 /* 33222222222211111111110000000000 4150 10987654321098765432109876543210 4151 xxxxxxxxxx0101001xxxx1xx0111001x 4152 xtn2. */ 4153 return 157; 4154 } 4155 } 4156 else 4157 { 4158 if (((word >> 30) & 0x1) == 0) 4159 { 4160 /* 33222222222211111111110000000000 4161 10987654321098765432109876543210 4162 xxxxxxxxxx0101001xxxx1xx0111010x 4163 sqxtun. */ 4164 return 189; 4165 } 4166 else 4167 { 4168 /* 33222222222211111111110000000000 4169 10987654321098765432109876543210 4170 xxxxxxxxxx0101001xxxx1xx0111011x 4171 sqxtun2. */ 4172 return 190; 4173 } 4174 } 4175 } 4176 } 4177 else 4178 { 4179 if (((word >> 29) & 0x1) == 0) 4180 { 4181 if (((word >> 30) & 0x1) == 0) 4182 { 4183 /* 33222222222211111111110000000000 4184 10987654321098765432109876543210 4185 xxxxxxxxxx010100xxxxx1xx0111100x 4186 fadd. */ 4187 return 636; 4188 } 4189 else 4190 { 4191 /* 33222222222211111111110000000000 4192 10987654321098765432109876543210 4193 xxxxxxxxxx010100xxxxx1xx0111101x 4194 sha256su0. */ 4195 return 539; 4196 } 4197 } 4198 else 4199 { 4200 /* 33222222222211111111110000000000 4201 10987654321098765432109876543210 4202 xxxxxxxxxx010100xxxxx1xx011111xx 4203 sqxtun. */ 4204 return 418; 4205 } 4206 } 4207 } 4208 else 4209 { 4210 if (((word >> 16) & 0x1) == 0) 4211 { 4212 if (((word >> 20) & 0x1) == 0) 4213 { 4214 if (((word >> 28) & 0x1) == 0) 4215 { 4216 /* 33222222222211111111110000000000 4217 10987654321098765432109876543210 4218 xxxxxxxxxx0101010xxx01xx01110xxx 4219 cmlt. */ 4220 return 154; 4221 } 4222 else 4223 { 4224 /* 33222222222211111111110000000000 4225 10987654321098765432109876543210 4226 xxxxxxxxxx0101010xxx01xx01111xxx 4227 cmlt. */ 4228 return 399; 4229 } 4230 } 4231 else 4232 { 4233 if (((word >> 29) & 0x1) == 0) 4234 { 4235 /* 33222222222211111111110000000000 4236 10987654321098765432109876543210 4237 xxxxxxxxxx0101010xxx11xx0111x0xx 4238 smaxv. */ 4239 return 28; 4240 } 4241 else 4242 { 4243 /* 33222222222211111111110000000000 4244 10987654321098765432109876543210 4245 xxxxxxxxxx0101010xxx11xx0111x1xx 4246 umaxv. */ 4247 return 32; 4248 } 4249 } 4250 } 4251 else 4252 { 4253 if (((word >> 20) & 0x1) == 0) 4254 { 4255 if (((word >> 23) & 0x1) == 0) 4256 { 4257 if (((word >> 28) & 0x1) == 0) 4258 { 4259 if (((word >> 29) & 0x1) == 0) 4260 { 4261 /* 33222222222211111111110000000000 4262 10987654321098765432109876543210 4263 xxxxxxxxxx0101011xxx01x0011100xx 4264 fcvtns. */ 4265 return 166; 4266 } 4267 else 4268 { 4269 /* 33222222222211111111110000000000 4270 10987654321098765432109876543210 4271 xxxxxxxxxx0101011xxx01x0011101xx 4272 fcvtnu. */ 4273 return 199; 4274 } 4275 } 4276 else 4277 { 4278 if (((word >> 29) & 0x1) == 0) 4279 { 4280 /* 33222222222211111111110000000000 4281 10987654321098765432109876543210 4282 xxxxxxxxxx0101011xxx01x0011110xx 4283 fcvtns. */ 4284 return 402; 4285 } 4286 else 4287 { 4288 /* 33222222222211111111110000000000 4289 10987654321098765432109876543210 4290 xxxxxxxxxx0101011xxx01x0011111xx 4291 fcvtnu. */ 4292 return 421; 4293 } 4294 } 4295 } 4296 else 4297 { 4298 if (((word >> 28) & 0x1) == 0) 4299 { 4300 if (((word >> 29) & 0x1) == 0) 4301 { 4302 /* 33222222222211111111110000000000 4303 10987654321098765432109876543210 4304 xxxxxxxxxx0101011xxx01x1011100xx 4305 fcvtps. */ 4306 return 176; 4307 } 4308 else 4309 { 4310 /* 33222222222211111111110000000000 4311 10987654321098765432109876543210 4312 xxxxxxxxxx0101011xxx01x1011101xx 4313 fcvtpu. */ 4314 return 210; 4315 } 4316 } 4317 else 4318 { 4319 if (((word >> 29) & 0x1) == 0) 4320 { 4321 /* 33222222222211111111110000000000 4322 10987654321098765432109876543210 4323 xxxxxxxxxx0101011xxx01x1011110xx 4324 fcvtps. */ 4325 return 409; 4326 } 4327 else 4328 { 4329 /* 33222222222211111111110000000000 4330 10987654321098765432109876543210 4331 xxxxxxxxxx0101011xxx01x1011111xx 4332 fcvtpu. */ 4333 return 427; 4334 } 4335 } 4336 } 4337 } 4338 else 4339 { 4340 if (((word >> 29) & 0x1) == 0) 4341 { 4342 /* 33222222222211111111110000000000 4343 10987654321098765432109876543210 4344 xxxxxxxxxx0101011xxx11xx0111x0xx 4345 sminv. */ 4346 return 29; 4347 } 4348 else 4349 { 4350 /* 33222222222211111111110000000000 4351 10987654321098765432109876543210 4352 xxxxxxxxxx0101011xxx11xx0111x1xx 4353 uminv. */ 4354 return 33; 4355 } 4356 } 4357 } 4358 } 4359 } 4360 else 4361 { 4362 if (((word >> 15) & 0x1) == 0) 4363 { 4364 if (((word >> 28) & 0x1) == 0) 4365 { 4366 if (((word >> 16) & 0x1) == 0) 4367 { 4368 if (((word >> 19) & 0x1) == 0) 4369 { 4370 if (((word >> 29) & 0x1) == 0) 4371 { 4372 /* 33222222222211111111110000000000 4373 10987654321098765432109876543210 4374 xxxxxxxxxx0101100xx0x1xx011100xx 4375 sadalp. */ 4376 return 150; 4377 } 4378 else 4379 { 4380 /* 33222222222211111111110000000000 4381 10987654321098765432109876543210 4382 xxxxxxxxxx0101100xx0x1xx011101xx 4383 uadalp. */ 4384 return 184; 4385 } 4386 } 4387 else 4388 { 4389 /* 33222222222211111111110000000000 4390 10987654321098765432109876543210 4391 xxxxxxxxxx0101100xx1x1xx01110xxx 4392 aesmc. */ 4393 return 535; 4394 } 4395 } 4396 else 4397 { 4398 if (((word >> 29) & 0x1) == 0) 4399 { 4400 if (((word >> 30) & 0x1) == 0) 4401 { 4402 /* 33222222222211111111110000000000 4403 10987654321098765432109876543210 4404 xxxxxxxxxx0101101xxxx1xx0111000x 4405 fcvtn. */ 4406 return 160; 4407 } 4408 else 4409 { 4410 /* 33222222222211111111110000000000 4411 10987654321098765432109876543210 4412 xxxxxxxxxx0101101xxxx1xx0111001x 4413 fcvtn2. */ 4414 return 161; 4415 } 4416 } 4417 else 4418 { 4419 if (((word >> 30) & 0x1) == 0) 4420 { 4421 /* 33222222222211111111110000000000 4422 10987654321098765432109876543210 4423 xxxxxxxxxx0101101xxxx1xx0111010x 4424 fcvtxn. */ 4425 return 195; 4426 } 4427 else 4428 { 4429 /* 33222222222211111111110000000000 4430 10987654321098765432109876543210 4431 xxxxxxxxxx0101101xxxx1xx0111011x 4432 fcvtxn2. */ 4433 return 196; 4434 } 4435 } 4436 } 4437 } 4438 else 4439 { 4440 if (((word >> 29) & 0x1) == 0) 4441 { 4442 /* 33222222222211111111110000000000 4443 10987654321098765432109876543210 4444 xxxxxxxxxx010110xxxxx1xx011110xx 4445 fmaxnm. */ 4446 return 640; 4447 } 4448 else 4449 { 4450 /* 33222222222211111111110000000000 4451 10987654321098765432109876543210 4452 xxxxxxxxxx010110xxxxx1xx011111xx 4453 fcvtxn. */ 4454 return 420; 4455 } 4456 } 4457 } 4458 else 4459 { 4460 if (((word >> 28) & 0x1) == 0) 4461 { 4462 /* 33222222222211111111110000000000 4463 10987654321098765432109876543210 4464 xxxxxxxxxx010111xxxxx1xx01110xxx 4465 fcmlt. */ 4466 return 172; 4467 } 4468 else 4469 { 4470 /* 33222222222211111111110000000000 4471 10987654321098765432109876543210 4472 xxxxxxxxxx010111xxxxx1xx01111xxx 4473 fcmlt. */ 4474 return 408; 4475 } 4476 } 4477 } 4478 } 4479 } 4480 else 4481 { 4482 if (((word >> 13) & 0x1) == 0) 4483 { 4484 if (((word >> 14) & 0x1) == 0) 4485 { 4486 if (((word >> 15) & 0x1) == 0) 4487 { 4488 if (((word >> 28) & 0x1) == 0) 4489 { 4490 /* 33222222222211111111110000000000 4491 10987654321098765432109876543210 4492 xxxxxxxxxx011000xxxxx1xx01110xxx 4493 rev16. */ 4494 return 145; 4495 } 4496 else 4497 { 4498 if (((word >> 30) & 0x1) == 0) 4499 { 4500 /* 33222222222211111111110000000000 4501 10987654321098765432109876543210 4502 xxxxxxxxxx011000xxxxx1xx01111x0x 4503 fdiv. */ 4504 return 635; 4505 } 4506 else 4507 { 4508 /* 33222222222211111111110000000000 4509 10987654321098765432109876543210 4510 xxxxxxxxxx011000xxxxx1xx01111x1x 4511 sha1su1. */ 4512 return 538; 4513 } 4514 } 4515 } 4516 else 4517 { 4518 if (((word >> 16) & 0x1) == 0) 4519 { 4520 if (((word >> 28) & 0x1) == 0) 4521 { 4522 if (((word >> 29) & 0x1) == 0) 4523 { 4524 /* 33222222222211111111110000000000 4525 10987654321098765432109876543210 4526 xxxxxxxxxx0110010xxxx1xx011100xx 4527 cmeq. */ 4528 return 153; 4529 } 4530 else 4531 { 4532 /* 33222222222211111111110000000000 4533 10987654321098765432109876543210 4534 xxxxxxxxxx0110010xxxx1xx011101xx 4535 cmle. */ 4536 return 187; 4537 } 4538 } 4539 else 4540 { 4541 if (((word >> 29) & 0x1) == 0) 4542 { 4543 /* 33222222222211111111110000000000 4544 10987654321098765432109876543210 4545 xxxxxxxxxx0110010xxxx1xx011110xx 4546 cmeq. */ 4547 return 398; 4548 } 4549 else 4550 { 4551 /* 33222222222211111111110000000000 4552 10987654321098765432109876543210 4553 xxxxxxxxxx0110010xxxx1xx011111xx 4554 cmle. */ 4555 return 416; 4556 } 4557 } 4558 } 4559 else 4560 { 4561 if (((word >> 23) & 0x1) == 0) 4562 { 4563 if (((word >> 29) & 0x1) == 0) 4564 { 4565 /* 33222222222211111111110000000000 4566 10987654321098765432109876543210 4567 xxxxxxxxxx0110011xxxx1x00111x0xx 4568 frintm. */ 4569 return 165; 4570 } 4571 else 4572 { 4573 /* 33222222222211111111110000000000 4574 10987654321098765432109876543210 4575 xxxxxxxxxx0110011xxxx1x00111x1xx 4576 frintx. */ 4577 return 198; 4578 } 4579 } 4580 else 4581 { 4582 if (((word >> 29) & 0x1) == 0) 4583 { 4584 /* 33222222222211111111110000000000 4585 10987654321098765432109876543210 4586 xxxxxxxxxx0110011xxxx1x10111x0xx 4587 frintz. */ 4588 return 175; 4589 } 4590 else 4591 { 4592 /* 33222222222211111111110000000000 4593 10987654321098765432109876543210 4594 xxxxxxxxxx0110011xxxx1x10111x1xx 4595 frinti. */ 4596 return 209; 4597 } 4598 } 4599 } 4600 } 4601 } 4602 else 4603 { 4604 if (((word >> 15) & 0x1) == 0) 4605 { 4606 if (((word >> 28) & 0x1) == 0) 4607 { 4608 if (((word >> 19) & 0x1) == 0) 4609 { 4610 if (((word >> 29) & 0x1) == 0) 4611 { 4612 /* 33222222222211111111110000000000 4613 10987654321098765432109876543210 4614 xxxxxxxxxx011010xxx0x1xx011100xx 4615 cnt. */ 4616 return 149; 4617 } 4618 else 4619 { 4620 if (((word >> 22) & 0x1) == 0) 4621 { 4622 /* 33222222222211111111110000000000 4623 10987654321098765432109876543210 4624 xxxxxxxxxx011010xxx0x10x011101xx 4625 not. */ 4626 return 203; 4627 } 4628 else 4629 { 4630 /* 33222222222211111111110000000000 4631 10987654321098765432109876543210 4632 xxxxxxxxxx011010xxx0x11x011101xx 4633 rbit. */ 4634 return 205; 4635 } 4636 } 4637 } 4638 else 4639 { 4640 /* 33222222222211111111110000000000 4641 10987654321098765432109876543210 4642 xxxxxxxxxx011010xxx1x1xx01110xxx 4643 aesd. */ 4644 return 534; 4645 } 4646 } 4647 else 4648 { 4649 /* 33222222222211111111110000000000 4650 10987654321098765432109876543210 4651 xxxxxxxxxx011010xxxxx1xx01111xxx 4652 fmin. */ 4653 return 639; 4654 } 4655 } 4656 else 4657 { 4658 if (((word >> 16) & 0x1) == 0) 4659 { 4660 if (((word >> 20) & 0x1) == 0) 4661 { 4662 if (((word >> 28) & 0x1) == 0) 4663 { 4664 if (((word >> 29) & 0x1) == 0) 4665 { 4666 /* 33222222222211111111110000000000 4667 10987654321098765432109876543210 4668 xxxxxxxxxx0110110xxx01xx011100xx 4669 fcmeq. */ 4670 return 171; 4671 } 4672 else 4673 { 4674 /* 33222222222211111111110000000000 4675 10987654321098765432109876543210 4676 xxxxxxxxxx0110110xxx01xx011101xx 4677 fcmle. */ 4678 return 207; 4679 } 4680 } 4681 else 4682 { 4683 if (((word >> 29) & 0x1) == 0) 4684 { 4685 /* 33222222222211111111110000000000 4686 10987654321098765432109876543210 4687 xxxxxxxxxx0110110xxx01xx011110xx 4688 fcmeq. */ 4689 return 407; 4690 } 4691 else 4692 { 4693 /* 33222222222211111111110000000000 4694 10987654321098765432109876543210 4695 xxxxxxxxxx0110110xxx01xx011111xx 4696 fcmle. */ 4697 return 426; 4698 } 4699 } 4700 } 4701 else 4702 { 4703 /* 33222222222211111111110000000000 4704 10987654321098765432109876543210 4705 xxxxxxxxxx0110110xxx11xx0111xxxx 4706 faddp. */ 4707 return 434; 4708 } 4709 } 4710 else 4711 { 4712 if (((word >> 23) & 0x1) == 0) 4713 { 4714 if (((word >> 28) & 0x1) == 0) 4715 { 4716 if (((word >> 29) & 0x1) == 0) 4717 { 4718 /* 33222222222211111111110000000000 4719 10987654321098765432109876543210 4720 xxxxxxxxxx0110111xxxx1x0011100xx 4721 scvtf. */ 4722 return 169; 4723 } 4724 else 4725 { 4726 /* 33222222222211111111110000000000 4727 10987654321098765432109876543210 4728 xxxxxxxxxx0110111xxxx1x0011101xx 4729 ucvtf. */ 4730 return 202; 4731 } 4732 } 4733 else 4734 { 4735 if (((word >> 29) & 0x1) == 0) 4736 { 4737 /* 33222222222211111111110000000000 4738 10987654321098765432109876543210 4739 xxxxxxxxxx0110111xxxx1x0011110xx 4740 scvtf. */ 4741 return 405; 4742 } 4743 else 4744 { 4745 /* 33222222222211111111110000000000 4746 10987654321098765432109876543210 4747 xxxxxxxxxx0110111xxxx1x0011111xx 4748 ucvtf. */ 4749 return 424; 4750 } 4751 } 4752 } 4753 else 4754 { 4755 if (((word >> 28) & 0x1) == 0) 4756 { 4757 if (((word >> 29) & 0x1) == 0) 4758 { 4759 /* 33222222222211111111110000000000 4760 10987654321098765432109876543210 4761 xxxxxxxxxx0110111xxxx1x1011100xx 4762 frecpe. */ 4763 return 179; 4764 } 4765 else 4766 { 4767 /* 33222222222211111111110000000000 4768 10987654321098765432109876543210 4769 xxxxxxxxxx0110111xxxx1x1011101xx 4770 frsqrte. */ 4771 return 213; 4772 } 4773 } 4774 else 4775 { 4776 if (((word >> 29) & 0x1) == 0) 4777 { 4778 /* 33222222222211111111110000000000 4779 10987654321098765432109876543210 4780 xxxxxxxxxx0110111xxxx1x1011110xx 4781 frecpe. */ 4782 return 411; 4783 } 4784 else 4785 { 4786 /* 33222222222211111111110000000000 4787 10987654321098765432109876543210 4788 xxxxxxxxxx0110111xxxx1x1011111xx 4789 frsqrte. */ 4790 return 429; 4791 } 4792 } 4793 } 4794 } 4795 } 4796 } 4797 } 4798 else 4799 { 4800 if (((word >> 14) & 0x1) == 0) 4801 { 4802 if (((word >> 15) & 0x1) == 0) 4803 { 4804 if (((word >> 28) & 0x1) == 0) 4805 { 4806 if (((word >> 16) & 0x1) == 0) 4807 { 4808 if (((word >> 20) & 0x1) == 0) 4809 { 4810 if (((word >> 29) & 0x1) == 0) 4811 { 4812 /* 33222222222211111111110000000000 4813 10987654321098765432109876543210 4814 xxxxxxxxxx0111000xxx01xx011100xx 4815 suqadd. */ 4816 return 147; 4817 } 4818 else 4819 { 4820 /* 33222222222211111111110000000000 4821 10987654321098765432109876543210 4822 xxxxxxxxxx0111000xxx01xx011101xx 4823 usqadd. */ 4824 return 182; 4825 } 4826 } 4827 else 4828 { 4829 if (((word >> 29) & 0x1) == 0) 4830 { 4831 /* 33222222222211111111110000000000 4832 10987654321098765432109876543210 4833 xxxxxxxxxx0111000xxx11xx011100xx 4834 saddlv. */ 4835 return 27; 4836 } 4837 else 4838 { 4839 /* 33222222222211111111110000000000 4840 10987654321098765432109876543210 4841 xxxxxxxxxx0111000xxx11xx011101xx 4842 uaddlv. */ 4843 return 31; 4844 } 4845 } 4846 } 4847 else 4848 { 4849 if (((word >> 30) & 0x1) == 0) 4850 { 4851 /* 33222222222211111111110000000000 4852 10987654321098765432109876543210 4853 xxxxxxxxxx0111001xxxx1xx01110x0x 4854 shll. */ 4855 return 191; 4856 } 4857 else 4858 { 4859 /* 33222222222211111111110000000000 4860 10987654321098765432109876543210 4861 xxxxxxxxxx0111001xxxx1xx01110x1x 4862 shll2. */ 4863 return 192; 4864 } 4865 } 4866 } 4867 else 4868 { 4869 if (((word >> 29) & 0x1) == 0) 4870 { 4871 if (((word >> 30) & 0x1) == 0) 4872 { 4873 /* 33222222222211111111110000000000 4874 10987654321098765432109876543210 4875 xxxxxxxxxx011100xxxxx1xx0111100x 4876 fsub. */ 4877 return 637; 4878 } 4879 else 4880 { 4881 /* 33222222222211111111110000000000 4882 10987654321098765432109876543210 4883 xxxxxxxxxx011100xxxxx1xx0111101x 4884 suqadd. */ 4885 return 395; 4886 } 4887 } 4888 else 4889 { 4890 /* 33222222222211111111110000000000 4891 10987654321098765432109876543210 4892 xxxxxxxxxx011100xxxxx1xx011111xx 4893 usqadd. */ 4894 return 413; 4895 } 4896 } 4897 } 4898 else 4899 { 4900 if (((word >> 16) & 0x1) == 0) 4901 { 4902 if (((word >> 28) & 0x1) == 0) 4903 { 4904 if (((word >> 29) & 0x1) == 0) 4905 { 4906 /* 33222222222211111111110000000000 4907 10987654321098765432109876543210 4908 xxxxxxxxxx0111010xxxx1xx011100xx 4909 abs. */ 4910 return 155; 4911 } 4912 else 4913 { 4914 /* 33222222222211111111110000000000 4915 10987654321098765432109876543210 4916 xxxxxxxxxx0111010xxxx1xx011101xx 4917 neg. */ 4918 return 188; 4919 } 4920 } 4921 else 4922 { 4923 if (((word >> 29) & 0x1) == 0) 4924 { 4925 /* 33222222222211111111110000000000 4926 10987654321098765432109876543210 4927 xxxxxxxxxx0111010xxxx1xx011110xx 4928 abs. */ 4929 return 400; 4930 } 4931 else 4932 { 4933 /* 33222222222211111111110000000000 4934 10987654321098765432109876543210 4935 xxxxxxxxxx0111010xxxx1xx011111xx 4936 neg. */ 4937 return 417; 4938 } 4939 } 4940 } 4941 else 4942 { 4943 if (((word >> 20) & 0x1) == 0) 4944 { 4945 if (((word >> 23) & 0x1) == 0) 4946 { 4947 if (((word >> 28) & 0x1) == 0) 4948 { 4949 if (((word >> 29) & 0x1) == 0) 4950 { 4951 /* 33222222222211111111110000000000 4952 10987654321098765432109876543210 4953 xxxxxxxxxx0111011xxx01x0011100xx 4954 fcvtms. */ 4955 return 167; 4956 } 4957 else 4958 { 4959 /* 33222222222211111111110000000000 4960 10987654321098765432109876543210 4961 xxxxxxxxxx0111011xxx01x0011101xx 4962 fcvtmu. */ 4963 return 200; 4964 } 4965 } 4966 else 4967 { 4968 if (((word >> 29) & 0x1) == 0) 4969 { 4970 /* 33222222222211111111110000000000 4971 10987654321098765432109876543210 4972 xxxxxxxxxx0111011xxx01x0011110xx 4973 fcvtms. */ 4974 return 403; 4975 } 4976 else 4977 { 4978 /* 33222222222211111111110000000000 4979 10987654321098765432109876543210 4980 xxxxxxxxxx0111011xxx01x0011111xx 4981 fcvtmu. */ 4982 return 422; 4983 } 4984 } 4985 } 4986 else 4987 { 4988 if (((word >> 28) & 0x1) == 0) 4989 { 4990 if (((word >> 29) & 0x1) == 0) 4991 { 4992 /* 33222222222211111111110000000000 4993 10987654321098765432109876543210 4994 xxxxxxxxxx0111011xxx01x1011100xx 4995 fcvtzs. */ 4996 return 177; 4997 } 4998 else 4999 { 5000 /* 33222222222211111111110000000000 5001 10987654321098765432109876543210 5002 xxxxxxxxxx0111011xxx01x1011101xx 5003 fcvtzu. */ 5004 return 211; 5005 } 5006 } 5007 else 5008 { 5009 if (((word >> 29) & 0x1) == 0) 5010 { 5011 /* 33222222222211111111110000000000 5012 10987654321098765432109876543210 5013 xxxxxxxxxx0111011xxx01x1011110xx 5014 fcvtzs. */ 5015 return 410; 5016 } 5017 else 5018 { 5019 /* 33222222222211111111110000000000 5020 10987654321098765432109876543210 5021 xxxxxxxxxx0111011xxx01x1011111xx 5022 fcvtzu. */ 5023 return 428; 5024 } 5025 } 5026 } 5027 } 5028 else 5029 { 5030 if (((word >> 28) & 0x1) == 0) 5031 { 5032 /* 33222222222211111111110000000000 5033 10987654321098765432109876543210 5034 xxxxxxxxxx0111011xxx11xx01110xxx 5035 addv. */ 5036 return 30; 5037 } 5038 else 5039 { 5040 /* 33222222222211111111110000000000 5041 10987654321098765432109876543210 5042 xxxxxxxxxx0111011xxx11xx01111xxx 5043 addp. */ 5044 return 432; 5045 } 5046 } 5047 } 5048 } 5049 } 5050 else 5051 { 5052 if (((word >> 15) & 0x1) == 0) 5053 { 5054 if (((word >> 28) & 0x1) == 0) 5055 { 5056 if (((word >> 16) & 0x1) == 0) 5057 { 5058 if (((word >> 19) & 0x1) == 0) 5059 { 5060 if (((word >> 29) & 0x1) == 0) 5061 { 5062 /* 33222222222211111111110000000000 5063 10987654321098765432109876543210 5064 xxxxxxxxxx0111100xx0x1xx011100xx 5065 sqabs. */ 5066 return 151; 5067 } 5068 else 5069 { 5070 /* 33222222222211111111110000000000 5071 10987654321098765432109876543210 5072 xxxxxxxxxx0111100xx0x1xx011101xx 5073 sqneg. */ 5074 return 185; 5075 } 5076 } 5077 else 5078 { 5079 /* 33222222222211111111110000000000 5080 10987654321098765432109876543210 5081 xxxxxxxxxx0111100xx1x1xx01110xxx 5082 aesimc. */ 5083 return 536; 5084 } 5085 } 5086 else 5087 { 5088 if (((word >> 30) & 0x1) == 0) 5089 { 5090 /* 33222222222211111111110000000000 5091 10987654321098765432109876543210 5092 xxxxxxxxxx0111101xxxx1xx01110x0x 5093 fcvtl. */ 5094 return 162; 5095 } 5096 else 5097 { 5098 /* 33222222222211111111110000000000 5099 10987654321098765432109876543210 5100 xxxxxxxxxx0111101xxxx1xx01110x1x 5101 fcvtl2. */ 5102 return 163; 5103 } 5104 } 5105 } 5106 else 5107 { 5108 if (((word >> 29) & 0x1) == 0) 5109 { 5110 if (((word >> 30) & 0x1) == 0) 5111 { 5112 /* 33222222222211111111110000000000 5113 10987654321098765432109876543210 5114 xxxxxxxxxx011110xxxxx1xx0111100x 5115 fminnm. */ 5116 return 641; 5117 } 5118 else 5119 { 5120 /* 33222222222211111111110000000000 5121 10987654321098765432109876543210 5122 xxxxxxxxxx011110xxxxx1xx0111101x 5123 sqabs. */ 5124 return 396; 5125 } 5126 } 5127 else 5128 { 5129 /* 33222222222211111111110000000000 5130 10987654321098765432109876543210 5131 xxxxxxxxxx011110xxxxx1xx011111xx 5132 sqneg. */ 5133 return 414; 5134 } 5135 } 5136 } 5137 else 5138 { 5139 if (((word >> 16) & 0x1) == 0) 5140 { 5141 if (((word >> 20) & 0x1) == 0) 5142 { 5143 if (((word >> 29) & 0x1) == 0) 5144 { 5145 /* 33222222222211111111110000000000 5146 10987654321098765432109876543210 5147 xxxxxxxxxx0111110xxx01xx0111x0xx 5148 fabs. */ 5149 return 173; 5150 } 5151 else 5152 { 5153 /* 33222222222211111111110000000000 5154 10987654321098765432109876543210 5155 xxxxxxxxxx0111110xxx01xx0111x1xx 5156 fneg. */ 5157 return 208; 5158 } 5159 } 5160 else 5161 { 5162 if (((word >> 23) & 0x1) == 0) 5163 { 5164 if (((word >> 28) & 0x1) == 0) 5165 { 5166 /* 33222222222211111111110000000000 5167 10987654321098765432109876543210 5168 xxxxxxxxxx0111110xxx11x001110xxx 5169 fmaxv. */ 5170 return 35; 5171 } 5172 else 5173 { 5174 /* 33222222222211111111110000000000 5175 10987654321098765432109876543210 5176 xxxxxxxxxx0111110xxx11x001111xxx 5177 fmaxp. */ 5178 return 435; 5179 } 5180 } 5181 else 5182 { 5183 if (((word >> 28) & 0x1) == 0) 5184 { 5185 /* 33222222222211111111110000000000 5186 10987654321098765432109876543210 5187 xxxxxxxxxx0111110xxx11x101110xxx 5188 fminv. */ 5189 return 37; 5190 } 5191 else 5192 { 5193 /* 33222222222211111111110000000000 5194 10987654321098765432109876543210 5195 xxxxxxxxxx0111110xxx11x101111xxx 5196 fminp. */ 5197 return 437; 5198 } 5199 } 5200 } 5201 } 5202 else 5203 { 5204 if (((word >> 28) & 0x1) == 0) 5205 { 5206 /* 33222222222211111111110000000000 5207 10987654321098765432109876543210 5208 xxxxxxxxxx0111111xxxx1xx01110xxx 5209 fsqrt. */ 5210 return 214; 5211 } 5212 else 5213 { 5214 /* 33222222222211111111110000000000 5215 10987654321098765432109876543210 5216 xxxxxxxxxx0111111xxxx1xx01111xxx 5217 frecpx. */ 5218 return 412; 5219 } 5220 } 5221 } 5222 } 5223 } 5224 } 5225 } 5226 } 5227 else 5228 { 5229 if (((word >> 11) & 0x1) == 0) 5230 { 5231 if (((word >> 28) & 0x1) == 0) 5232 { 5233 if (((word >> 12) & 0x1) == 0) 5234 { 5235 if (((word >> 13) & 0x1) == 0) 5236 { 5237 if (((word >> 14) & 0x1) == 0) 5238 { 5239 if (((word >> 15) & 0x1) == 0) 5240 { 5241 if (((word >> 29) & 0x1) == 0) 5242 { 5243 /* 33222222222211111111110000000000 5244 10987654321098765432109876543210 5245 xxxxxxxxxx100000xxxxx1xx011100xx 5246 shadd. */ 5247 return 221; 5248 } 5249 else 5250 { 5251 /* 33222222222211111111110000000000 5252 10987654321098765432109876543210 5253 xxxxxxxxxx100000xxxxx1xx011101xx 5254 uhadd. */ 5255 return 261; 5256 } 5257 } 5258 else 5259 { 5260 if (((word >> 29) & 0x1) == 0) 5261 { 5262 /* 33222222222211111111110000000000 5263 10987654321098765432109876543210 5264 xxxxxxxxxx100001xxxxx1xx011100xx 5265 add. */ 5266 return 236; 5267 } 5268 else 5269 { 5270 /* 33222222222211111111110000000000 5271 10987654321098765432109876543210 5272 xxxxxxxxxx100001xxxxx1xx011101xx 5273 sub. */ 5274 return 276; 5275 } 5276 } 5277 } 5278 else 5279 { 5280 if (((word >> 15) & 0x1) == 0) 5281 { 5282 if (((word >> 29) & 0x1) == 0) 5283 { 5284 /* 33222222222211111111110000000000 5285 10987654321098765432109876543210 5286 xxxxxxxxxx100010xxxxx1xx011100xx 5287 sshl. */ 5288 return 228; 5289 } 5290 else 5291 { 5292 /* 33222222222211111111110000000000 5293 10987654321098765432109876543210 5294 xxxxxxxxxx100010xxxxx1xx011101xx 5295 ushl. */ 5296 return 268; 5297 } 5298 } 5299 else 5300 { 5301 if (((word >> 23) & 0x1) == 0) 5302 { 5303 if (((word >> 29) & 0x1) == 0) 5304 { 5305 /* 33222222222211111111110000000000 5306 10987654321098765432109876543210 5307 xxxxxxxxxx100011xxxxx1x0011100xx 5308 fmaxnm. */ 5309 return 244; 5310 } 5311 else 5312 { 5313 /* 33222222222211111111110000000000 5314 10987654321098765432109876543210 5315 xxxxxxxxxx100011xxxxx1x0011101xx 5316 fmaxnmp. */ 5317 return 283; 5318 } 5319 } 5320 else 5321 { 5322 if (((word >> 29) & 0x1) == 0) 5323 { 5324 /* 33222222222211111111110000000000 5325 10987654321098765432109876543210 5326 xxxxxxxxxx100011xxxxx1x1011100xx 5327 fminnm. */ 5328 return 253; 5329 } 5330 else 5331 { 5332 /* 33222222222211111111110000000000 5333 10987654321098765432109876543210 5334 xxxxxxxxxx100011xxxxx1x1011101xx 5335 fminnmp. */ 5336 return 292; 5337 } 5338 } 5339 } 5340 } 5341 } 5342 else 5343 { 5344 if (((word >> 14) & 0x1) == 0) 5345 { 5346 if (((word >> 15) & 0x1) == 0) 5347 { 5348 if (((word >> 29) & 0x1) == 0) 5349 { 5350 /* 33222222222211111111110000000000 5351 10987654321098765432109876543210 5352 xxxxxxxxxx100100xxxxx1xx011100xx 5353 shsub. */ 5354 return 224; 5355 } 5356 else 5357 { 5358 /* 33222222222211111111110000000000 5359 10987654321098765432109876543210 5360 xxxxxxxxxx100100xxxxx1xx011101xx 5361 uhsub. */ 5362 return 264; 5363 } 5364 } 5365 else 5366 { 5367 if (((word >> 29) & 0x1) == 0) 5368 { 5369 /* 33222222222211111111110000000000 5370 10987654321098765432109876543210 5371 xxxxxxxxxx100101xxxxx1xx011100xx 5372 smaxp. */ 5373 return 240; 5374 } 5375 else 5376 { 5377 /* 33222222222211111111110000000000 5378 10987654321098765432109876543210 5379 xxxxxxxxxx100101xxxxx1xx011101xx 5380 umaxp. */ 5381 return 280; 5382 } 5383 } 5384 } 5385 else 5386 { 5387 if (((word >> 15) & 0x1) == 0) 5388 { 5389 if (((word >> 29) & 0x1) == 0) 5390 { 5391 /* 33222222222211111111110000000000 5392 10987654321098765432109876543210 5393 xxxxxxxxxx100110xxxxx1xx011100xx 5394 smax. */ 5395 return 232; 5396 } 5397 else 5398 { 5399 /* 33222222222211111111110000000000 5400 10987654321098765432109876543210 5401 xxxxxxxxxx100110xxxxx1xx011101xx 5402 umax. */ 5403 return 272; 5404 } 5405 } 5406 else 5407 { 5408 if (((word >> 23) & 0x1) == 0) 5409 { 5410 if (((word >> 29) & 0x1) == 0) 5411 { 5412 /* 33222222222211111111110000000000 5413 10987654321098765432109876543210 5414 xxxxxxxxxx100111xxxxx1x0011100xx 5415 fcmeq. */ 5416 return 248; 5417 } 5418 else 5419 { 5420 /* 33222222222211111111110000000000 5421 10987654321098765432109876543210 5422 xxxxxxxxxx100111xxxxx1x0011101xx 5423 fcmge. */ 5424 return 286; 5425 } 5426 } 5427 else 5428 { 5429 /* 33222222222211111111110000000000 5430 10987654321098765432109876543210 5431 xxxxxxxxxx100111xxxxx1x101110xxx 5432 fcmgt. */ 5433 return 294; 5434 } 5435 } 5436 } 5437 } 5438 } 5439 else 5440 { 5441 if (((word >> 13) & 0x1) == 0) 5442 { 5443 if (((word >> 14) & 0x1) == 0) 5444 { 5445 if (((word >> 15) & 0x1) == 0) 5446 { 5447 if (((word >> 29) & 0x1) == 0) 5448 { 5449 /* 33222222222211111111110000000000 5450 10987654321098765432109876543210 5451 xxxxxxxxxx101000xxxxx1xx011100xx 5452 srhadd. */ 5453 return 223; 5454 } 5455 else 5456 { 5457 /* 33222222222211111111110000000000 5458 10987654321098765432109876543210 5459 xxxxxxxxxx101000xxxxx1xx011101xx 5460 urhadd. */ 5461 return 263; 5462 } 5463 } 5464 else 5465 { 5466 if (((word >> 29) & 0x1) == 0) 5467 { 5468 /* 33222222222211111111110000000000 5469 10987654321098765432109876543210 5470 xxxxxxxxxx101001xxxxx1xx011100xx 5471 mla. */ 5472 return 238; 5473 } 5474 else 5475 { 5476 /* 33222222222211111111110000000000 5477 10987654321098765432109876543210 5478 xxxxxxxxxx101001xxxxx1xx011101xx 5479 mls. */ 5480 return 278; 5481 } 5482 } 5483 } 5484 else 5485 { 5486 if (((word >> 15) & 0x1) == 0) 5487 { 5488 if (((word >> 29) & 0x1) == 0) 5489 { 5490 /* 33222222222211111111110000000000 5491 10987654321098765432109876543210 5492 xxxxxxxxxx101010xxxxx1xx011100xx 5493 srshl. */ 5494 return 230; 5495 } 5496 else 5497 { 5498 /* 33222222222211111111110000000000 5499 10987654321098765432109876543210 5500 xxxxxxxxxx101010xxxxx1xx011101xx 5501 urshl. */ 5502 return 270; 5503 } 5504 } 5505 else 5506 { 5507 if (((word >> 23) & 0x1) == 0) 5508 { 5509 if (((word >> 29) & 0x1) == 0) 5510 { 5511 /* 33222222222211111111110000000000 5512 10987654321098765432109876543210 5513 xxxxxxxxxx101011xxxxx1x0011100xx 5514 fadd. */ 5515 return 246; 5516 } 5517 else 5518 { 5519 /* 33222222222211111111110000000000 5520 10987654321098765432109876543210 5521 xxxxxxxxxx101011xxxxx1x0011101xx 5522 faddp. */ 5523 return 284; 5524 } 5525 } 5526 else 5527 { 5528 if (((word >> 29) & 0x1) == 0) 5529 { 5530 /* 33222222222211111111110000000000 5531 10987654321098765432109876543210 5532 xxxxxxxxxx101011xxxxx1x1011100xx 5533 fsub. */ 5534 return 255; 5535 } 5536 else 5537 { 5538 /* 33222222222211111111110000000000 5539 10987654321098765432109876543210 5540 xxxxxxxxxx101011xxxxx1x1011101xx 5541 fabd. */ 5542 return 293; 5543 } 5544 } 5545 } 5546 } 5547 } 5548 else 5549 { 5550 if (((word >> 14) & 0x1) == 0) 5551 { 5552 if (((word >> 15) & 0x1) == 0) 5553 { 5554 if (((word >> 29) & 0x1) == 0) 5555 { 5556 /* 33222222222211111111110000000000 5557 10987654321098765432109876543210 5558 xxxxxxxxxx101100xxxxx1xx011100xx 5559 cmgt. */ 5560 return 226; 5561 } 5562 else 5563 { 5564 /* 33222222222211111111110000000000 5565 10987654321098765432109876543210 5566 xxxxxxxxxx101100xxxxx1xx011101xx 5567 cmhi. */ 5568 return 266; 5569 } 5570 } 5571 else 5572 { 5573 if (((word >> 29) & 0x1) == 0) 5574 { 5575 /* 33222222222211111111110000000000 5576 10987654321098765432109876543210 5577 xxxxxxxxxx101101xxxxx1xx011100xx 5578 sqdmulh. */ 5579 return 242; 5580 } 5581 else 5582 { 5583 /* 33222222222211111111110000000000 5584 10987654321098765432109876543210 5585 xxxxxxxxxx101101xxxxx1xx011101xx 5586 sqrdmulh. */ 5587 return 282; 5588 } 5589 } 5590 } 5591 else 5592 { 5593 if (((word >> 15) & 0x1) == 0) 5594 { 5595 if (((word >> 29) & 0x1) == 0) 5596 { 5597 /* 33222222222211111111110000000000 5598 10987654321098765432109876543210 5599 xxxxxxxxxx101110xxxxx1xx011100xx 5600 sabd. */ 5601 return 234; 5602 } 5603 else 5604 { 5605 /* 33222222222211111111110000000000 5606 10987654321098765432109876543210 5607 xxxxxxxxxx101110xxxxx1xx011101xx 5608 uabd. */ 5609 return 274; 5610 } 5611 } 5612 else 5613 { 5614 if (((word >> 23) & 0x1) == 0) 5615 { 5616 if (((word >> 29) & 0x1) == 0) 5617 { 5618 /* 33222222222211111111110000000000 5619 10987654321098765432109876543210 5620 xxxxxxxxxx101111xxxxx1x0011100xx 5621 fmax. */ 5622 return 249; 5623 } 5624 else 5625 { 5626 /* 33222222222211111111110000000000 5627 10987654321098765432109876543210 5628 xxxxxxxxxx101111xxxxx1x0011101xx 5629 fmaxp. */ 5630 return 288; 5631 } 5632 } 5633 else 5634 { 5635 if (((word >> 29) & 0x1) == 0) 5636 { 5637 /* 33222222222211111111110000000000 5638 10987654321098765432109876543210 5639 xxxxxxxxxx101111xxxxx1x1011100xx 5640 fmin. */ 5641 return 256; 5642 } 5643 else 5644 { 5645 /* 33222222222211111111110000000000 5646 10987654321098765432109876543210 5647 xxxxxxxxxx101111xxxxx1x1011101xx 5648 fminp. */ 5649 return 296; 5650 } 5651 } 5652 } 5653 } 5654 } 5655 } 5656 } 5657 else 5658 { 5659 if (((word >> 29) & 0x1) == 0) 5660 { 5661 if (((word >> 30) & 0x1) == 0) 5662 { 5663 if (((word >> 4) & 0x1) == 0) 5664 { 5665 /* 33222222222211111111110000000000 5666 10987654321098765432109876543210 5667 xxxx0xxxxx10xxxxxxxxx1xx0111100x 5668 fccmp. */ 5669 return 616; 5670 } 5671 else 5672 { 5673 /* 33222222222211111111110000000000 5674 10987654321098765432109876543210 5675 xxxx1xxxxx10xxxxxxxxx1xx0111100x 5676 fccmpe. */ 5677 return 617; 5678 } 5679 } 5680 else 5681 { 5682 if (((word >> 12) & 0x1) == 0) 5683 { 5684 if (((word >> 13) & 0x1) == 0) 5685 { 5686 if (((word >> 14) & 0x1) == 0) 5687 { 5688 /* 33222222222211111111110000000000 5689 10987654321098765432109876543210 5690 xxxxxxxxxx10000xxxxxx1xx0111101x 5691 add. */ 5692 return 451; 5693 } 5694 else 5695 { 5696 /* 33222222222211111111110000000000 5697 10987654321098765432109876543210 5698 xxxxxxxxxx10001xxxxxx1xx0111101x 5699 sshl. */ 5700 return 449; 5701 } 5702 } 5703 else 5704 { 5705 /* 33222222222211111111110000000000 5706 10987654321098765432109876543210 5707 xxxxxxxxxx1001xxxxxxx1xx0111101x 5708 fcmeq. */ 5709 return 444; 5710 } 5711 } 5712 else 5713 { 5714 if (((word >> 13) & 0x1) == 0) 5715 { 5716 /* 33222222222211111111110000000000 5717 10987654321098765432109876543210 5718 xxxxxxxxxx1010xxxxxxx1xx0111101x 5719 srshl. */ 5720 return 450; 5721 } 5722 else 5723 { 5724 if (((word >> 15) & 0x1) == 0) 5725 { 5726 /* 33222222222211111111110000000000 5727 10987654321098765432109876543210 5728 xxxxxxxxxx1011x0xxxxx1xx0111101x 5729 cmgt. */ 5730 return 447; 5731 } 5732 else 5733 { 5734 /* 33222222222211111111110000000000 5735 10987654321098765432109876543210 5736 xxxxxxxxxx1011x1xxxxx1xx0111101x 5737 sqdmulh. */ 5738 return 442; 5739 } 5740 } 5741 } 5742 } 5743 } 5744 else 5745 { 5746 if (((word >> 12) & 0x1) == 0) 5747 { 5748 if (((word >> 13) & 0x1) == 0) 5749 { 5750 if (((word >> 14) & 0x1) == 0) 5751 { 5752 /* 33222222222211111111110000000000 5753 10987654321098765432109876543210 5754 xxxxxxxxxx10000xxxxxx1xx011111xx 5755 sub. */ 5756 return 467; 5757 } 5758 else 5759 { 5760 /* 33222222222211111111110000000000 5761 10987654321098765432109876543210 5762 xxxxxxxxxx10001xxxxxx1xx011111xx 5763 ushl. */ 5764 return 465; 5765 } 5766 } 5767 else 5768 { 5769 if (((word >> 23) & 0x1) == 0) 5770 { 5771 /* 33222222222211111111110000000000 5772 10987654321098765432109876543210 5773 xxxxxxxxxx1001xxxxxxx1x0011111xx 5774 fcmge. */ 5775 return 458; 5776 } 5777 else 5778 { 5779 /* 33222222222211111111110000000000 5780 10987654321098765432109876543210 5781 xxxxxxxxxx1001xxxxxxx1x1011111xx 5782 fcmgt. */ 5783 return 461; 5784 } 5785 } 5786 } 5787 else 5788 { 5789 if (((word >> 13) & 0x1) == 0) 5790 { 5791 if (((word >> 15) & 0x1) == 0) 5792 { 5793 /* 33222222222211111111110000000000 5794 10987654321098765432109876543210 5795 xxxxxxxxxx1010x0xxxxx1xx011111xx 5796 urshl. */ 5797 return 466; 5798 } 5799 else 5800 { 5801 /* 33222222222211111111110000000000 5802 10987654321098765432109876543210 5803 xxxxxxxxxx1010x1xxxxx1xx011111xx 5804 fabd. */ 5805 return 460; 5806 } 5807 } 5808 else 5809 { 5810 if (((word >> 15) & 0x1) == 0) 5811 { 5812 /* 33222222222211111111110000000000 5813 10987654321098765432109876543210 5814 xxxxxxxxxx1011x0xxxxx1xx011111xx 5815 cmhi. */ 5816 return 463; 5817 } 5818 else 5819 { 5820 /* 33222222222211111111110000000000 5821 10987654321098765432109876543210 5822 xxxxxxxxxx1011x1xxxxx1xx011111xx 5823 sqrdmulh. */ 5824 return 457; 5825 } 5826 } 5827 } 5828 } 5829 } 5830 } 5831 else 5832 { 5833 if (((word >> 28) & 0x1) == 0) 5834 { 5835 if (((word >> 12) & 0x1) == 0) 5836 { 5837 if (((word >> 13) & 0x1) == 0) 5838 { 5839 if (((word >> 14) & 0x1) == 0) 5840 { 5841 if (((word >> 15) & 0x1) == 0) 5842 { 5843 if (((word >> 29) & 0x1) == 0) 5844 { 5845 /* 33222222222211111111110000000000 5846 10987654321098765432109876543210 5847 xxxxxxxxxx110000xxxxx1xx011100xx 5848 sqadd. */ 5849 return 222; 5850 } 5851 else 5852 { 5853 /* 33222222222211111111110000000000 5854 10987654321098765432109876543210 5855 xxxxxxxxxx110000xxxxx1xx011101xx 5856 uqadd. */ 5857 return 262; 5858 } 5859 } 5860 else 5861 { 5862 if (((word >> 29) & 0x1) == 0) 5863 { 5864 /* 33222222222211111111110000000000 5865 10987654321098765432109876543210 5866 xxxxxxxxxx110001xxxxx1xx011100xx 5867 cmtst. */ 5868 return 237; 5869 } 5870 else 5871 { 5872 /* 33222222222211111111110000000000 5873 10987654321098765432109876543210 5874 xxxxxxxxxx110001xxxxx1xx011101xx 5875 cmeq. */ 5876 return 277; 5877 } 5878 } 5879 } 5880 else 5881 { 5882 if (((word >> 15) & 0x1) == 0) 5883 { 5884 if (((word >> 29) & 0x1) == 0) 5885 { 5886 /* 33222222222211111111110000000000 5887 10987654321098765432109876543210 5888 xxxxxxxxxx110010xxxxx1xx011100xx 5889 sqshl. */ 5890 return 229; 5891 } 5892 else 5893 { 5894 /* 33222222222211111111110000000000 5895 10987654321098765432109876543210 5896 xxxxxxxxxx110010xxxxx1xx011101xx 5897 uqshl. */ 5898 return 269; 5899 } 5900 } 5901 else 5902 { 5903 if (((word >> 23) & 0x1) == 0) 5904 { 5905 /* 33222222222211111111110000000000 5906 10987654321098765432109876543210 5907 xxxxxxxxxx110011xxxxx1x001110xxx 5908 fmla. */ 5909 return 245; 5910 } 5911 else 5912 { 5913 /* 33222222222211111111110000000000 5914 10987654321098765432109876543210 5915 xxxxxxxxxx110011xxxxx1x101110xxx 5916 fmls. */ 5917 return 254; 5918 } 5919 } 5920 } 5921 } 5922 else 5923 { 5924 if (((word >> 14) & 0x1) == 0) 5925 { 5926 if (((word >> 15) & 0x1) == 0) 5927 { 5928 if (((word >> 29) & 0x1) == 0) 5929 { 5930 /* 33222222222211111111110000000000 5931 10987654321098765432109876543210 5932 xxxxxxxxxx110100xxxxx1xx011100xx 5933 sqsub. */ 5934 return 225; 5935 } 5936 else 5937 { 5938 /* 33222222222211111111110000000000 5939 10987654321098765432109876543210 5940 xxxxxxxxxx110100xxxxx1xx011101xx 5941 uqsub. */ 5942 return 265; 5943 } 5944 } 5945 else 5946 { 5947 if (((word >> 29) & 0x1) == 0) 5948 { 5949 /* 33222222222211111111110000000000 5950 10987654321098765432109876543210 5951 xxxxxxxxxx110101xxxxx1xx011100xx 5952 sminp. */ 5953 return 241; 5954 } 5955 else 5956 { 5957 /* 33222222222211111111110000000000 5958 10987654321098765432109876543210 5959 xxxxxxxxxx110101xxxxx1xx011101xx 5960 uminp. */ 5961 return 281; 5962 } 5963 } 5964 } 5965 else 5966 { 5967 if (((word >> 15) & 0x1) == 0) 5968 { 5969 if (((word >> 29) & 0x1) == 0) 5970 { 5971 /* 33222222222211111111110000000000 5972 10987654321098765432109876543210 5973 xxxxxxxxxx110110xxxxx1xx011100xx 5974 smin. */ 5975 return 233; 5976 } 5977 else 5978 { 5979 /* 33222222222211111111110000000000 5980 10987654321098765432109876543210 5981 xxxxxxxxxx110110xxxxx1xx011101xx 5982 umin. */ 5983 return 273; 5984 } 5985 } 5986 else 5987 { 5988 if (((word >> 23) & 0x1) == 0) 5989 { 5990 /* 33222222222211111111110000000000 5991 10987654321098765432109876543210 5992 xxxxxxxxxx110111xxxxx1x001110xxx 5993 facge. */ 5994 return 287; 5995 } 5996 else 5997 { 5998 /* 33222222222211111111110000000000 5999 10987654321098765432109876543210 6000 xxxxxxxxxx110111xxxxx1x101110xxx 6001 facgt. */ 6002 return 295; 6003 } 6004 } 6005 } 6006 } 6007 } 6008 else 6009 { 6010 if (((word >> 13) & 0x1) == 0) 6011 { 6012 if (((word >> 14) & 0x1) == 0) 6013 { 6014 if (((word >> 15) & 0x1) == 0) 6015 { 6016 if (((word >> 22) & 0x1) == 0) 6017 { 6018 if (((word >> 23) & 0x1) == 0) 6019 { 6020 if (((word >> 29) & 0x1) == 0) 6021 { 6022 /* 33222222222211111111110000000000 6023 10987654321098765432109876543210 6024 xxxxxxxxxx111000xxxxx100011100xx 6025 and. */ 6026 return 251; 6027 } 6028 else 6029 { 6030 /* 33222222222211111111110000000000 6031 10987654321098765432109876543210 6032 xxxxxxxxxx111000xxxxx100011101xx 6033 eor. */ 6034 return 290; 6035 } 6036 } 6037 else 6038 { 6039 if (((word >> 29) & 0x1) == 0) 6040 { 6041 /* 33222222222211111111110000000000 6042 10987654321098765432109876543210 6043 xxxxxxxxxx111000xxxxx101011100xx 6044 orr. */ 6045 return 258; 6046 } 6047 else 6048 { 6049 /* 33222222222211111111110000000000 6050 10987654321098765432109876543210 6051 xxxxxxxxxx111000xxxxx101011101xx 6052 bit. */ 6053 return 297; 6054 } 6055 } 6056 } 6057 else 6058 { 6059 if (((word >> 23) & 0x1) == 0) 6060 { 6061 if (((word >> 29) & 0x1) == 0) 6062 { 6063 /* 33222222222211111111110000000000 6064 10987654321098765432109876543210 6065 xxxxxxxxxx111000xxxxx110011100xx 6066 bic. */ 6067 return 252; 6068 } 6069 else 6070 { 6071 /* 33222222222211111111110000000000 6072 10987654321098765432109876543210 6073 xxxxxxxxxx111000xxxxx110011101xx 6074 bsl. */ 6075 return 291; 6076 } 6077 } 6078 else 6079 { 6080 if (((word >> 29) & 0x1) == 0) 6081 { 6082 /* 33222222222211111111110000000000 6083 10987654321098765432109876543210 6084 xxxxxxxxxx111000xxxxx111011100xx 6085 orn. */ 6086 return 260; 6087 } 6088 else 6089 { 6090 /* 33222222222211111111110000000000 6091 10987654321098765432109876543210 6092 xxxxxxxxxx111000xxxxx111011101xx 6093 bif. */ 6094 return 298; 6095 } 6096 } 6097 } 6098 } 6099 else 6100 { 6101 if (((word >> 29) & 0x1) == 0) 6102 { 6103 /* 33222222222211111111110000000000 6104 10987654321098765432109876543210 6105 xxxxxxxxxx111001xxxxx1xx011100xx 6106 mul. */ 6107 return 239; 6108 } 6109 else 6110 { 6111 /* 33222222222211111111110000000000 6112 10987654321098765432109876543210 6113 xxxxxxxxxx111001xxxxx1xx011101xx 6114 pmul. */ 6115 return 279; 6116 } 6117 } 6118 } 6119 else 6120 { 6121 if (((word >> 15) & 0x1) == 0) 6122 { 6123 if (((word >> 29) & 0x1) == 0) 6124 { 6125 /* 33222222222211111111110000000000 6126 10987654321098765432109876543210 6127 xxxxxxxxxx111010xxxxx1xx011100xx 6128 sqrshl. */ 6129 return 231; 6130 } 6131 else 6132 { 6133 /* 33222222222211111111110000000000 6134 10987654321098765432109876543210 6135 xxxxxxxxxx111010xxxxx1xx011101xx 6136 uqrshl. */ 6137 return 271; 6138 } 6139 } 6140 else 6141 { 6142 if (((word >> 29) & 0x1) == 0) 6143 { 6144 /* 33222222222211111111110000000000 6145 10987654321098765432109876543210 6146 xxxxxxxxxx111011xxxxx1xx011100xx 6147 fmulx. */ 6148 return 247; 6149 } 6150 else 6151 { 6152 /* 33222222222211111111110000000000 6153 10987654321098765432109876543210 6154 xxxxxxxxxx111011xxxxx1xx011101xx 6155 fmul. */ 6156 return 285; 6157 } 6158 } 6159 } 6160 } 6161 else 6162 { 6163 if (((word >> 14) & 0x1) == 0) 6164 { 6165 if (((word >> 15) & 0x1) == 0) 6166 { 6167 if (((word >> 29) & 0x1) == 0) 6168 { 6169 /* 33222222222211111111110000000000 6170 10987654321098765432109876543210 6171 xxxxxxxxxx111100xxxxx1xx011100xx 6172 cmge. */ 6173 return 227; 6174 } 6175 else 6176 { 6177 /* 33222222222211111111110000000000 6178 10987654321098765432109876543210 6179 xxxxxxxxxx111100xxxxx1xx011101xx 6180 cmhs. */ 6181 return 267; 6182 } 6183 } 6184 else 6185 { 6186 /* 33222222222211111111110000000000 6187 10987654321098765432109876543210 6188 xxxxxxxxxx111101xxxxx1xx01110xxx 6189 addp. */ 6190 return 243; 6191 } 6192 } 6193 else 6194 { 6195 if (((word >> 15) & 0x1) == 0) 6196 { 6197 if (((word >> 29) & 0x1) == 0) 6198 { 6199 /* 33222222222211111111110000000000 6200 10987654321098765432109876543210 6201 xxxxxxxxxx111110xxxxx1xx011100xx 6202 saba. */ 6203 return 235; 6204 } 6205 else 6206 { 6207 /* 33222222222211111111110000000000 6208 10987654321098765432109876543210 6209 xxxxxxxxxx111110xxxxx1xx011101xx 6210 uaba. */ 6211 return 275; 6212 } 6213 } 6214 else 6215 { 6216 if (((word >> 23) & 0x1) == 0) 6217 { 6218 if (((word >> 29) & 0x1) == 0) 6219 { 6220 /* 33222222222211111111110000000000 6221 10987654321098765432109876543210 6222 xxxxxxxxxx111111xxxxx1x0011100xx 6223 frecps. */ 6224 return 250; 6225 } 6226 else 6227 { 6228 /* 33222222222211111111110000000000 6229 10987654321098765432109876543210 6230 xxxxxxxxxx111111xxxxx1x0011101xx 6231 fdiv. */ 6232 return 289; 6233 } 6234 } 6235 else 6236 { 6237 /* 33222222222211111111110000000000 6238 10987654321098765432109876543210 6239 xxxxxxxxxx111111xxxxx1x101110xxx 6240 frsqrts. */ 6241 return 257; 6242 } 6243 } 6244 } 6245 } 6246 } 6247 } 6248 else 6249 { 6250 if (((word >> 29) & 0x1) == 0) 6251 { 6252 if (((word >> 30) & 0x1) == 0) 6253 { 6254 /* 33222222222211111111110000000000 6255 10987654321098765432109876543210 6256 xxxxxxxxxx11xxxxxxxxx1xx0111100x 6257 fcsel. */ 6258 return 648; 6259 } 6260 else 6261 { 6262 if (((word >> 12) & 0x1) == 0) 6263 { 6264 if (((word >> 13) & 0x1) == 0) 6265 { 6266 if (((word >> 14) & 0x1) == 0) 6267 { 6268 if (((word >> 15) & 0x1) == 0) 6269 { 6270 /* 33222222222211111111110000000000 6271 10987654321098765432109876543210 6272 xxxxxxxxxx110000xxxxx1xx0111101x 6273 sqadd. */ 6274 return 438; 6275 } 6276 else 6277 { 6278 /* 33222222222211111111110000000000 6279 10987654321098765432109876543210 6280 xxxxxxxxxx110001xxxxx1xx0111101x 6281 cmtst. */ 6282 return 452; 6283 } 6284 } 6285 else 6286 { 6287 /* 33222222222211111111110000000000 6288 10987654321098765432109876543210 6289 xxxxxxxxxx11001xxxxxx1xx0111101x 6290 sqshl. */ 6291 return 440; 6292 } 6293 } 6294 else 6295 { 6296 /* 33222222222211111111110000000000 6297 10987654321098765432109876543210 6298 xxxxxxxxxx1101xxxxxxx1xx0111101x 6299 sqsub. */ 6300 return 439; 6301 } 6302 } 6303 else 6304 { 6305 if (((word >> 13) & 0x1) == 0) 6306 { 6307 if (((word >> 15) & 0x1) == 0) 6308 { 6309 /* 33222222222211111111110000000000 6310 10987654321098765432109876543210 6311 xxxxxxxxxx1110x0xxxxx1xx0111101x 6312 sqrshl. */ 6313 return 441; 6314 } 6315 else 6316 { 6317 /* 33222222222211111111110000000000 6318 10987654321098765432109876543210 6319 xxxxxxxxxx1110x1xxxxx1xx0111101x 6320 fmulx. */ 6321 return 443; 6322 } 6323 } 6324 else 6325 { 6326 if (((word >> 14) & 0x1) == 0) 6327 { 6328 /* 33222222222211111111110000000000 6329 10987654321098765432109876543210 6330 xxxxxxxxxx11110xxxxxx1xx0111101x 6331 cmge. */ 6332 return 448; 6333 } 6334 else 6335 { 6336 if (((word >> 23) & 0x1) == 0) 6337 { 6338 /* 33222222222211111111110000000000 6339 10987654321098765432109876543210 6340 xxxxxxxxxx11111xxxxxx1x00111101x 6341 frecps. */ 6342 return 445; 6343 } 6344 else 6345 { 6346 /* 33222222222211111111110000000000 6347 10987654321098765432109876543210 6348 xxxxxxxxxx11111xxxxxx1x10111101x 6349 frsqrts. */ 6350 return 446; 6351 } 6352 } 6353 } 6354 } 6355 } 6356 } 6357 else 6358 { 6359 if (((word >> 12) & 0x1) == 0) 6360 { 6361 if (((word >> 13) & 0x1) == 0) 6362 { 6363 if (((word >> 14) & 0x1) == 0) 6364 { 6365 if (((word >> 15) & 0x1) == 0) 6366 { 6367 /* 33222222222211111111110000000000 6368 10987654321098765432109876543210 6369 xxxxxxxxxx110000xxxxx1xx011111xx 6370 uqadd. */ 6371 return 453; 6372 } 6373 else 6374 { 6375 /* 33222222222211111111110000000000 6376 10987654321098765432109876543210 6377 xxxxxxxxxx110001xxxxx1xx011111xx 6378 cmeq. */ 6379 return 468; 6380 } 6381 } 6382 else 6383 { 6384 /* 33222222222211111111110000000000 6385 10987654321098765432109876543210 6386 xxxxxxxxxx11001xxxxxx1xx011111xx 6387 uqshl. */ 6388 return 455; 6389 } 6390 } 6391 else 6392 { 6393 if (((word >> 14) & 0x1) == 0) 6394 { 6395 /* 33222222222211111111110000000000 6396 10987654321098765432109876543210 6397 xxxxxxxxxx11010xxxxxx1xx011111xx 6398 uqsub. */ 6399 return 454; 6400 } 6401 else 6402 { 6403 if (((word >> 23) & 0x1) == 0) 6404 { 6405 /* 33222222222211111111110000000000 6406 10987654321098765432109876543210 6407 xxxxxxxxxx11011xxxxxx1x0011111xx 6408 facge. */ 6409 return 459; 6410 } 6411 else 6412 { 6413 /* 33222222222211111111110000000000 6414 10987654321098765432109876543210 6415 xxxxxxxxxx11011xxxxxx1x1011111xx 6416 facgt. */ 6417 return 462; 6418 } 6419 } 6420 } 6421 } 6422 else 6423 { 6424 if (((word >> 13) & 0x1) == 0) 6425 { 6426 /* 33222222222211111111110000000000 6427 10987654321098765432109876543210 6428 xxxxxxxxxx1110xxxxxxx1xx011111xx 6429 uqrshl. */ 6430 return 456; 6431 } 6432 else 6433 { 6434 /* 33222222222211111111110000000000 6435 10987654321098765432109876543210 6436 xxxxxxxxxx1111xxxxxxx1xx011111xx 6437 cmhs. */ 6438 return 464; 6439 } 6440 } 6441 } 6442 } 6443 } 6444 } 6445 } 6446 } 6447 else 6448 { 6449 if (((word >> 15) & 0x1) == 0) 6450 { 6451 if (((word >> 28) & 0x1) == 0) 6452 { 6453 if (((word >> 10) & 0x1) == 0) 6454 { 6455 if (((word >> 12) & 0x1) == 0) 6456 { 6457 if (((word >> 13) & 0x1) == 0) 6458 { 6459 if (((word >> 14) & 0x1) == 0) 6460 { 6461 /* 33222222222211111111110000000000 6462 10987654321098765432109876543210 6463 xxxxxxxxxx0x0000xxxxxxxx11110xxx 6464 mla. */ 6465 return 110; 6466 } 6467 else 6468 { 6469 /* 33222222222211111111110000000000 6470 10987654321098765432109876543210 6471 xxxxxxxxxx0x0010xxxxxxxx11110xxx 6472 mls. */ 6473 return 113; 6474 } 6475 } 6476 else 6477 { 6478 if (((word >> 14) & 0x1) == 0) 6479 { 6480 if (((word >> 29) & 0x1) == 0) 6481 { 6482 if (((word >> 30) & 0x1) == 0) 6483 { 6484 /* 33222222222211111111110000000000 6485 10987654321098765432109876543210 6486 xxxxxxxxxx0x0100xxxxxxxx1111000x 6487 smlal. */ 6488 return 92; 6489 } 6490 else 6491 { 6492 /* 33222222222211111111110000000000 6493 10987654321098765432109876543210 6494 xxxxxxxxxx0x0100xxxxxxxx1111001x 6495 smlal2. */ 6496 return 93; 6497 } 6498 } 6499 else 6500 { 6501 if (((word >> 30) & 0x1) == 0) 6502 { 6503 /* 33222222222211111111110000000000 6504 10987654321098765432109876543210 6505 xxxxxxxxxx0x0100xxxxxxxx1111010x 6506 umlal. */ 6507 return 111; 6508 } 6509 else 6510 { 6511 /* 33222222222211111111110000000000 6512 10987654321098765432109876543210 6513 xxxxxxxxxx0x0100xxxxxxxx1111011x 6514 umlal2. */ 6515 return 112; 6516 } 6517 } 6518 } 6519 else 6520 { 6521 if (((word >> 29) & 0x1) == 0) 6522 { 6523 if (((word >> 30) & 0x1) == 0) 6524 { 6525 /* 33222222222211111111110000000000 6526 10987654321098765432109876543210 6527 xxxxxxxxxx0x0110xxxxxxxx1111000x 6528 smlsl. */ 6529 return 96; 6530 } 6531 else 6532 { 6533 /* 33222222222211111111110000000000 6534 10987654321098765432109876543210 6535 xxxxxxxxxx0x0110xxxxxxxx1111001x 6536 smlsl2. */ 6537 return 97; 6538 } 6539 } 6540 else 6541 { 6542 if (((word >> 30) & 0x1) == 0) 6543 { 6544 /* 33222222222211111111110000000000 6545 10987654321098765432109876543210 6546 xxxxxxxxxx0x0110xxxxxxxx1111010x 6547 umlsl. */ 6548 return 114; 6549 } 6550 else 6551 { 6552 /* 33222222222211111111110000000000 6553 10987654321098765432109876543210 6554 xxxxxxxxxx0x0110xxxxxxxx1111011x 6555 umlsl2. */ 6556 return 115; 6557 } 6558 } 6559 } 6560 } 6561 } 6562 else 6563 { 6564 if (((word >> 13) & 0x1) == 0) 6565 { 6566 if (((word >> 14) & 0x1) == 0) 6567 { 6568 /* 33222222222211111111110000000000 6569 10987654321098765432109876543210 6570 xxxxxxxxxx0x1000xxxxxxxx11110xxx 6571 fmla. */ 6572 return 107; 6573 } 6574 else 6575 { 6576 /* 33222222222211111111110000000000 6577 10987654321098765432109876543210 6578 xxxxxxxxxx0x1010xxxxxxxx11110xxx 6579 fmls. */ 6580 return 108; 6581 } 6582 } 6583 else 6584 { 6585 if (((word >> 14) & 0x1) == 0) 6586 { 6587 if (((word >> 30) & 0x1) == 0) 6588 { 6589 /* 33222222222211111111110000000000 6590 10987654321098765432109876543210 6591 xxxxxxxxxx0x1100xxxxxxxx11110x0x 6592 sqdmlal. */ 6593 return 94; 6594 } 6595 else 6596 { 6597 /* 33222222222211111111110000000000 6598 10987654321098765432109876543210 6599 xxxxxxxxxx0x1100xxxxxxxx11110x1x 6600 sqdmlal2. */ 6601 return 95; 6602 } 6603 } 6604 else 6605 { 6606 if (((word >> 30) & 0x1) == 0) 6607 { 6608 /* 33222222222211111111110000000000 6609 10987654321098765432109876543210 6610 xxxxxxxxxx0x1110xxxxxxxx11110x0x 6611 sqdmlsl. */ 6612 return 98; 6613 } 6614 else 6615 { 6616 /* 33222222222211111111110000000000 6617 10987654321098765432109876543210 6618 xxxxxxxxxx0x1110xxxxxxxx11110x1x 6619 sqdmlsl2. */ 6620 return 99; 6621 } 6622 } 6623 } 6624 } 6625 } 6626 else 6627 { 6628 if (((word >> 12) & 0x1) == 0) 6629 { 6630 if (((word >> 29) & 0x1) == 0) 6631 { 6632 /* 33222222222211111111110000000000 6633 10987654321098765432109876543210 6634 xxxxxxxxxx1x0xx0xxxxxxxx111100xx 6635 movi. */ 6636 return 120; 6637 } 6638 else 6639 { 6640 /* 33222222222211111111110000000000 6641 10987654321098765432109876543210 6642 xxxxxxxxxx1x0xx0xxxxxxxx111101xx 6643 mvni. */ 6644 return 127; 6645 } 6646 } 6647 else 6648 { 6649 if (((word >> 29) & 0x1) == 0) 6650 { 6651 /* 33222222222211111111110000000000 6652 10987654321098765432109876543210 6653 xxxxxxxxxx1x1xx0xxxxxxxx111100xx 6654 orr. */ 6655 return 121; 6656 } 6657 else 6658 { 6659 /* 33222222222211111111110000000000 6660 10987654321098765432109876543210 6661 xxxxxxxxxx1x1xx0xxxxxxxx111101xx 6662 bic. */ 6663 return 128; 6664 } 6665 } 6666 } 6667 } 6668 else 6669 { 6670 if (((word >> 29) & 0x1) == 0) 6671 { 6672 if (((word >> 30) & 0x1) == 0) 6673 { 6674 if (((word >> 21) & 0x1) == 0) 6675 { 6676 /* 33222222222211111111110000000000 6677 10987654321098765432109876543210 6678 xxxxxxxxxxxxxxx0xxxxx0xx1111100x 6679 fmadd. */ 6680 return 643; 6681 } 6682 else 6683 { 6684 /* 33222222222211111111110000000000 6685 10987654321098765432109876543210 6686 xxxxxxxxxxxxxxx0xxxxx1xx1111100x 6687 fnmadd. */ 6688 return 645; 6689 } 6690 } 6691 else 6692 { 6693 if (((word >> 10) & 0x1) == 0) 6694 { 6695 if (((word >> 13) & 0x1) == 0) 6696 { 6697 if (((word >> 14) & 0x1) == 0) 6698 { 6699 /* 33222222222211111111110000000000 6700 10987654321098765432109876543210 6701 xxxxxxxxxx0xx000xxxxxxxx1111101x 6702 fmla. */ 6703 return 351; 6704 } 6705 else 6706 { 6707 /* 33222222222211111111110000000000 6708 10987654321098765432109876543210 6709 xxxxxxxxxx0xx010xxxxxxxx1111101x 6710 fmls. */ 6711 return 352; 6712 } 6713 } 6714 else 6715 { 6716 if (((word >> 14) & 0x1) == 0) 6717 { 6718 /* 33222222222211111111110000000000 6719 10987654321098765432109876543210 6720 xxxxxxxxxx0xx100xxxxxxxx1111101x 6721 sqdmlal. */ 6722 return 346; 6723 } 6724 else 6725 { 6726 /* 33222222222211111111110000000000 6727 10987654321098765432109876543210 6728 xxxxxxxxxx0xx110xxxxxxxx1111101x 6729 sqdmlsl. */ 6730 return 347; 6731 } 6732 } 6733 } 6734 else 6735 { 6736 if (((word >> 12) & 0x1) == 0) 6737 { 6738 if (((word >> 13) & 0x1) == 0) 6739 { 6740 /* 33222222222211111111110000000000 6741 10987654321098765432109876543210 6742 xxxxxxxxxx1x00x0xxxxxxxx1111101x 6743 sshr. */ 6744 return 469; 6745 } 6746 else 6747 { 6748 /* 33222222222211111111110000000000 6749 10987654321098765432109876543210 6750 xxxxxxxxxx1x01x0xxxxxxxx1111101x 6751 srshr. */ 6752 return 471; 6753 } 6754 } 6755 else 6756 { 6757 if (((word >> 13) & 0x1) == 0) 6758 { 6759 if (((word >> 14) & 0x1) == 0) 6760 { 6761 /* 33222222222211111111110000000000 6762 10987654321098765432109876543210 6763 xxxxxxxxxx1x1000xxxxxxxx1111101x 6764 ssra. */ 6765 return 470; 6766 } 6767 else 6768 { 6769 /* 33222222222211111111110000000000 6770 10987654321098765432109876543210 6771 xxxxxxxxxx1x1010xxxxxxxx1111101x 6772 shl. */ 6773 return 473; 6774 } 6775 } 6776 else 6777 { 6778 if (((word >> 14) & 0x1) == 0) 6779 { 6780 /* 33222222222211111111110000000000 6781 10987654321098765432109876543210 6782 xxxxxxxxxx1x1100xxxxxxxx1111101x 6783 srsra. */ 6784 return 472; 6785 } 6786 else 6787 { 6788 /* 33222222222211111111110000000000 6789 10987654321098765432109876543210 6790 xxxxxxxxxx1x1110xxxxxxxx1111101x 6791 sqshl. */ 6792 return 474; 6793 } 6794 } 6795 } 6796 } 6797 } 6798 } 6799 else 6800 { 6801 if (((word >> 12) & 0x1) == 0) 6802 { 6803 if (((word >> 13) & 0x1) == 0) 6804 { 6805 if (((word >> 14) & 0x1) == 0) 6806 { 6807 /* 33222222222211111111110000000000 6808 10987654321098765432109876543210 6809 xxxxxxxxxxxx0000xxxxxxxx111111xx 6810 ushr. */ 6811 return 479; 6812 } 6813 else 6814 { 6815 /* 33222222222211111111110000000000 6816 10987654321098765432109876543210 6817 xxxxxxxxxxxx0010xxxxxxxx111111xx 6818 sri. */ 6819 return 483; 6820 } 6821 } 6822 else 6823 { 6824 if (((word >> 14) & 0x1) == 0) 6825 { 6826 /* 33222222222211111111110000000000 6827 10987654321098765432109876543210 6828 xxxxxxxxxxxx0100xxxxxxxx111111xx 6829 urshr. */ 6830 return 481; 6831 } 6832 else 6833 { 6834 /* 33222222222211111111110000000000 6835 10987654321098765432109876543210 6836 xxxxxxxxxxxx0110xxxxxxxx111111xx 6837 sqshlu. */ 6838 return 485; 6839 } 6840 } 6841 } 6842 else 6843 { 6844 if (((word >> 13) & 0x1) == 0) 6845 { 6846 if (((word >> 14) & 0x1) == 0) 6847 { 6848 /* 33222222222211111111110000000000 6849 10987654321098765432109876543210 6850 xxxxxxxxxxxx1000xxxxxxxx111111xx 6851 usra. */ 6852 return 480; 6853 } 6854 else 6855 { 6856 /* 33222222222211111111110000000000 6857 10987654321098765432109876543210 6858 xxxxxxxxxxxx1010xxxxxxxx111111xx 6859 sli. */ 6860 return 484; 6861 } 6862 } 6863 else 6864 { 6865 if (((word >> 14) & 0x1) == 0) 6866 { 6867 /* 33222222222211111111110000000000 6868 10987654321098765432109876543210 6869 xxxxxxxxxxxx1100xxxxxxxx111111xx 6870 ursra. */ 6871 return 482; 6872 } 6873 else 6874 { 6875 /* 33222222222211111111110000000000 6876 10987654321098765432109876543210 6877 xxxxxxxxxxxx1110xxxxxxxx111111xx 6878 uqshl. */ 6879 return 486; 6880 } 6881 } 6882 } 6883 } 6884 } 6885 } 6886 else 6887 { 6888 if (((word >> 28) & 0x1) == 0) 6889 { 6890 if (((word >> 10) & 0x1) == 0) 6891 { 6892 if (((word >> 12) & 0x1) == 0) 6893 { 6894 if (((word >> 13) & 0x1) == 0) 6895 { 6896 if (((word >> 14) & 0x1) == 0) 6897 { 6898 /* 33222222222211111111110000000000 6899 10987654321098765432109876543210 6900 xxxxxxxxxx0x0001xxxxxxxx11110xxx 6901 mul. */ 6902 return 100; 6903 } 6904 else 6905 { 6906 /* 33222222222211111111110000000000 6907 10987654321098765432109876543210 6908 xxxxxxxxxx0x0011xxxxxxxx11110xxx 6909 sqdmulh. */ 6910 return 105; 6911 } 6912 } 6913 else 6914 { 6915 if (((word >> 29) & 0x1) == 0) 6916 { 6917 if (((word >> 30) & 0x1) == 0) 6918 { 6919 /* 33222222222211111111110000000000 6920 10987654321098765432109876543210 6921 xxxxxxxxxx0x01x1xxxxxxxx1111000x 6922 smull. */ 6923 return 101; 6924 } 6925 else 6926 { 6927 /* 33222222222211111111110000000000 6928 10987654321098765432109876543210 6929 xxxxxxxxxx0x01x1xxxxxxxx1111001x 6930 smull2. */ 6931 return 102; 6932 } 6933 } 6934 else 6935 { 6936 if (((word >> 30) & 0x1) == 0) 6937 { 6938 /* 33222222222211111111110000000000 6939 10987654321098765432109876543210 6940 xxxxxxxxxx0x01x1xxxxxxxx1111010x 6941 umull. */ 6942 return 116; 6943 } 6944 else 6945 { 6946 /* 33222222222211111111110000000000 6947 10987654321098765432109876543210 6948 xxxxxxxxxx0x01x1xxxxxxxx1111011x 6949 umull2. */ 6950 return 117; 6951 } 6952 } 6953 } 6954 } 6955 else 6956 { 6957 if (((word >> 13) & 0x1) == 0) 6958 { 6959 if (((word >> 14) & 0x1) == 0) 6960 { 6961 if (((word >> 29) & 0x1) == 0) 6962 { 6963 /* 33222222222211111111110000000000 6964 10987654321098765432109876543210 6965 xxxxxxxxxx0x1001xxxxxxxx111100xx 6966 fmul. */ 6967 return 109; 6968 } 6969 else 6970 { 6971 /* 33222222222211111111110000000000 6972 10987654321098765432109876543210 6973 xxxxxxxxxx0x1001xxxxxxxx111101xx 6974 fmulx. */ 6975 return 118; 6976 } 6977 } 6978 else 6979 { 6980 /* 33222222222211111111110000000000 6981 10987654321098765432109876543210 6982 xxxxxxxxxx0x1011xxxxxxxx11110xxx 6983 sqrdmulh. */ 6984 return 106; 6985 } 6986 } 6987 else 6988 { 6989 if (((word >> 30) & 0x1) == 0) 6990 { 6991 /* 33222222222211111111110000000000 6992 10987654321098765432109876543210 6993 xxxxxxxxxx0x11x1xxxxxxxx11110x0x 6994 sqdmull. */ 6995 return 103; 6996 } 6997 else 6998 { 6999 /* 33222222222211111111110000000000 7000 10987654321098765432109876543210 7001 xxxxxxxxxx0x11x1xxxxxxxx11110x1x 7002 sqdmull2. */ 7003 return 104; 7004 } 7005 } 7006 } 7007 } 7008 else 7009 { 7010 if (((word >> 11) & 0x1) == 0) 7011 { 7012 if (((word >> 14) & 0x1) == 0) 7013 { 7014 if (((word >> 12) & 0x1) == 0) 7015 { 7016 if (((word >> 29) & 0x1) == 0) 7017 { 7018 /* 33222222222211111111110000000000 7019 10987654321098765432109876543210 7020 xxxxxxxxxx100x01xxxxxxxx111100xx 7021 movi. */ 7022 return 122; 7023 } 7024 else 7025 { 7026 /* 33222222222211111111110000000000 7027 10987654321098765432109876543210 7028 xxxxxxxxxx100x01xxxxxxxx111101xx 7029 mvni. */ 7030 return 129; 7031 } 7032 } 7033 else 7034 { 7035 if (((word >> 29) & 0x1) == 0) 7036 { 7037 /* 33222222222211111111110000000000 7038 10987654321098765432109876543210 7039 xxxxxxxxxx101x01xxxxxxxx111100xx 7040 orr. */ 7041 return 123; 7042 } 7043 else 7044 { 7045 /* 33222222222211111111110000000000 7046 10987654321098765432109876543210 7047 xxxxxxxxxx101x01xxxxxxxx111101xx 7048 bic. */ 7049 return 130; 7050 } 7051 } 7052 } 7053 else 7054 { 7055 if (((word >> 13) & 0x1) == 0) 7056 { 7057 if (((word >> 29) & 0x1) == 0) 7058 { 7059 /* 33222222222211111111110000000000 7060 10987654321098765432109876543210 7061 xxxxxxxxxx10x011xxxxxxxx111100xx 7062 movi. */ 7063 return 124; 7064 } 7065 else 7066 { 7067 /* 33222222222211111111110000000000 7068 10987654321098765432109876543210 7069 xxxxxxxxxx10x011xxxxxxxx111101xx 7070 mvni. */ 7071 return 131; 7072 } 7073 } 7074 else 7075 { 7076 if (((word >> 12) & 0x1) == 0) 7077 { 7078 if (((word >> 29) & 0x1) == 0) 7079 { 7080 /* 33222222222211111111110000000000 7081 10987654321098765432109876543210 7082 xxxxxxxxxx100111xxxxxxxx111100xx 7083 movi. */ 7084 return 125; 7085 } 7086 else 7087 { 7088 /* 33222222222211111111110000000000 7089 10987654321098765432109876543210 7090 xxxxxxxxxx100111xxxxxxxx111101xx 7091 movi. */ 7092 return 132; 7093 } 7094 } 7095 else 7096 { 7097 if (((word >> 29) & 0x1) == 0) 7098 { 7099 /* 33222222222211111111110000000000 7100 10987654321098765432109876543210 7101 xxxxxxxxxx101111xxxxxxxx111100xx 7102 fmov. */ 7103 return 126; 7104 } 7105 else 7106 { 7107 /* 33222222222211111111110000000000 7108 10987654321098765432109876543210 7109 xxxxxxxxxx101111xxxxxxxx111101xx 7110 fmov. */ 7111 return 134; 7112 } 7113 } 7114 } 7115 } 7116 } 7117 else 7118 { 7119 if (((word >> 12) & 0x1) == 0) 7120 { 7121 if (((word >> 29) & 0x1) == 0) 7122 { 7123 if (((word >> 30) & 0x1) == 0) 7124 { 7125 /* 33222222222211111111110000000000 7126 10987654321098765432109876543210 7127 xxxxxxxxxx110xx1xxxxxxxx1111000x 7128 rshrn. */ 7129 return 307; 7130 } 7131 else 7132 { 7133 /* 33222222222211111111110000000000 7134 10987654321098765432109876543210 7135 xxxxxxxxxx110xx1xxxxxxxx1111001x 7136 rshrn2. */ 7137 return 308; 7138 } 7139 } 7140 else 7141 { 7142 if (((word >> 30) & 0x1) == 0) 7143 { 7144 /* 33222222222211111111110000000000 7145 10987654321098765432109876543210 7146 xxxxxxxxxx110xx1xxxxxxxx1111010x 7147 sqrshrun. */ 7148 return 329; 7149 } 7150 else 7151 { 7152 /* 33222222222211111111110000000000 7153 10987654321098765432109876543210 7154 xxxxxxxxxx110xx1xxxxxxxx1111011x 7155 sqrshrun2. */ 7156 return 330; 7157 } 7158 } 7159 } 7160 else 7161 { 7162 if (((word >> 13) & 0x1) == 0) 7163 { 7164 if (((word >> 29) & 0x1) == 0) 7165 { 7166 if (((word >> 30) & 0x1) == 0) 7167 { 7168 /* 33222222222211111111110000000000 7169 10987654321098765432109876543210 7170 xxxxxxxxxx1110x1xxxxxxxx1111000x 7171 sqrshrn. */ 7172 return 311; 7173 } 7174 else 7175 { 7176 /* 33222222222211111111110000000000 7177 10987654321098765432109876543210 7178 xxxxxxxxxx1110x1xxxxxxxx1111001x 7179 sqrshrn2. */ 7180 return 312; 7181 } 7182 } 7183 else 7184 { 7185 if (((word >> 30) & 0x1) == 0) 7186 { 7187 /* 33222222222211111111110000000000 7188 10987654321098765432109876543210 7189 xxxxxxxxxx1110x1xxxxxxxx1111010x 7190 uqrshrn. */ 7191 return 333; 7192 } 7193 else 7194 { 7195 /* 33222222222211111111110000000000 7196 10987654321098765432109876543210 7197 xxxxxxxxxx1110x1xxxxxxxx1111011x 7198 uqrshrn2. */ 7199 return 334; 7200 } 7201 } 7202 } 7203 else 7204 { 7205 if (((word >> 29) & 0x1) == 0) 7206 { 7207 /* 33222222222211111111110000000000 7208 10987654321098765432109876543210 7209 xxxxxxxxxx1111x1xxxxxxxx111100xx 7210 fcvtzs. */ 7211 return 318; 7212 } 7213 else 7214 { 7215 /* 33222222222211111111110000000000 7216 10987654321098765432109876543210 7217 xxxxxxxxxx1111x1xxxxxxxx111101xx 7218 fcvtzu. */ 7219 return 340; 7220 } 7221 } 7222 } 7223 } 7224 } 7225 } 7226 else 7227 { 7228 if (((word >> 29) & 0x1) == 0) 7229 { 7230 if (((word >> 30) & 0x1) == 0) 7231 { 7232 if (((word >> 21) & 0x1) == 0) 7233 { 7234 /* 33222222222211111111110000000000 7235 10987654321098765432109876543210 7236 xxxxxxxxxxxxxxx1xxxxx0xx1111100x 7237 fmsub. */ 7238 return 644; 7239 } 7240 else 7241 { 7242 /* 33222222222211111111110000000000 7243 10987654321098765432109876543210 7244 xxxxxxxxxxxxxxx1xxxxx1xx1111100x 7245 fnmsub. */ 7246 return 646; 7247 } 7248 } 7249 else 7250 { 7251 if (((word >> 10) & 0x1) == 0) 7252 { 7253 if (((word >> 12) & 0x1) == 0) 7254 { 7255 /* 33222222222211111111110000000000 7256 10987654321098765432109876543210 7257 xxxxxxxxxx0x0xx1xxxxxxxx1111101x 7258 sqdmulh. */ 7259 return 349; 7260 } 7261 else 7262 { 7263 if (((word >> 13) & 0x1) == 0) 7264 { 7265 if (((word >> 14) & 0x1) == 0) 7266 { 7267 /* 33222222222211111111110000000000 7268 10987654321098765432109876543210 7269 xxxxxxxxxx0x1001xxxxxxxx1111101x 7270 fmul. */ 7271 return 353; 7272 } 7273 else 7274 { 7275 /* 33222222222211111111110000000000 7276 10987654321098765432109876543210 7277 xxxxxxxxxx0x1011xxxxxxxx1111101x 7278 sqrdmulh. */ 7279 return 350; 7280 } 7281 } 7282 else 7283 { 7284 /* 33222222222211111111110000000000 7285 10987654321098765432109876543210 7286 xxxxxxxxxx0x11x1xxxxxxxx1111101x 7287 sqdmull. */ 7288 return 348; 7289 } 7290 } 7291 } 7292 else 7293 { 7294 if (((word >> 11) & 0x1) == 0) 7295 { 7296 if (((word >> 12) & 0x1) == 0) 7297 { 7298 /* 33222222222211111111110000000000 7299 10987654321098765432109876543210 7300 xxxxxxxxxx100xx1xxxxxxxx1111101x 7301 scvtf. */ 7302 return 477; 7303 } 7304 else 7305 { 7306 /* 33222222222211111111110000000000 7307 10987654321098765432109876543210 7308 xxxxxxxxxx101xx1xxxxxxxx1111101x 7309 sqshrn. */ 7310 return 475; 7311 } 7312 } 7313 else 7314 { 7315 if (((word >> 13) & 0x1) == 0) 7316 { 7317 /* 33222222222211111111110000000000 7318 10987654321098765432109876543210 7319 xxxxxxxxxx11x0x1xxxxxxxx1111101x 7320 sqrshrn. */ 7321 return 476; 7322 } 7323 else 7324 { 7325 /* 33222222222211111111110000000000 7326 10987654321098765432109876543210 7327 xxxxxxxxxx11x1x1xxxxxxxx1111101x 7328 fcvtzs. */ 7329 return 478; 7330 } 7331 } 7332 } 7333 } 7334 } 7335 else 7336 { 7337 if (((word >> 10) & 0x1) == 0) 7338 { 7339 /* 33222222222211111111110000000000 7340 10987654321098765432109876543210 7341 xxxxxxxxxx0xxxx1xxxxxxxx111111xx 7342 fmulx. */ 7343 return 354; 7344 } 7345 else 7346 { 7347 if (((word >> 11) & 0x1) == 0) 7348 { 7349 if (((word >> 12) & 0x1) == 0) 7350 { 7351 if (((word >> 13) & 0x1) == 0) 7352 { 7353 /* 33222222222211111111110000000000 7354 10987654321098765432109876543210 7355 xxxxxxxxxx1000x1xxxxxxxx111111xx 7356 sqshrun. */ 7357 return 487; 7358 } 7359 else 7360 { 7361 /* 33222222222211111111110000000000 7362 10987654321098765432109876543210 7363 xxxxxxxxxx1001x1xxxxxxxx111111xx 7364 ucvtf. */ 7365 return 491; 7366 } 7367 } 7368 else 7369 { 7370 /* 33222222222211111111110000000000 7371 10987654321098765432109876543210 7372 xxxxxxxxxx101xx1xxxxxxxx111111xx 7373 uqshrn. */ 7374 return 489; 7375 } 7376 } 7377 else 7378 { 7379 if (((word >> 12) & 0x1) == 0) 7380 { 7381 /* 33222222222211111111110000000000 7382 10987654321098765432109876543210 7383 xxxxxxxxxx110xx1xxxxxxxx111111xx 7384 sqrshrun. */ 7385 return 488; 7386 } 7387 else 7388 { 7389 if (((word >> 13) & 0x1) == 0) 7390 { 7391 /* 33222222222211111111110000000000 7392 10987654321098765432109876543210 7393 xxxxxxxxxx1110x1xxxxxxxx111111xx 7394 uqrshrn. */ 7395 return 490; 7396 } 7397 else 7398 { 7399 /* 33222222222211111111110000000000 7400 10987654321098765432109876543210 7401 xxxxxxxxxx1111x1xxxxxxxx111111xx 7402 fcvtzu. */ 7403 return 492; 7404 } 7405 } 7406 } 7407 } 7408 } 7409 } 7410 } 7411 } 7412 } 7413 } 7414 } 7415} 7416 7417/* Lookup opcode WORD in the opcode table. N.B. all alias 7418 opcodes are ignored here. */ 7419 7420const aarch64_opcode * 7421aarch64_opcode_lookup (uint32_t word) 7422{ 7423 return aarch64_opcode_table + aarch64_opcode_lookup_1 (word); 7424} 7425 7426const aarch64_opcode * 7427aarch64_find_next_opcode (const aarch64_opcode *opcode) 7428{ 7429 /* Use the index as the key to locate the next opcode. */ 7430 int key = opcode - aarch64_opcode_table; 7431 int value; 7432 switch (key) 7433 { 7434 case 739: value = 743; break; /* stnp --> stp. */ 7435 case 743: return NULL; /* stp --> NULL. */ 7436 case 740: value = 744; break; /* ldnp --> ldp. */ 7437 case 744: return NULL; /* ldp --> NULL. */ 7438 case 355: value = 356; break; /* st4 --> st1. */ 7439 case 356: value = 357; break; /* st1 --> st2. */ 7440 case 357: value = 358; break; /* st2 --> st3. */ 7441 case 358: return NULL; /* st3 --> NULL. */ 7442 case 363: value = 364; break; /* st4 --> st1. */ 7443 case 364: value = 365; break; /* st1 --> st2. */ 7444 case 365: value = 366; break; /* st2 --> st3. */ 7445 case 366: return NULL; /* st3 --> NULL. */ 7446 case 359: value = 360; break; /* ld4 --> ld1. */ 7447 case 360: value = 361; break; /* ld1 --> ld2. */ 7448 case 361: value = 362; break; /* ld2 --> ld3. */ 7449 case 362: return NULL; /* ld3 --> NULL. */ 7450 case 375: value = 377; break; /* ld1 --> ld1r. */ 7451 case 377: return NULL; /* ld1r --> NULL. */ 7452 case 379: value = 381; break; /* ld2 --> ld2r. */ 7453 case 381: return NULL; /* ld2r --> NULL. */ 7454 case 376: value = 378; break; /* ld3 --> ld3r. */ 7455 case 378: return NULL; /* ld3r --> NULL. */ 7456 case 380: value = 382; break; /* ld4 --> ld4r. */ 7457 case 382: return NULL; /* ld4r --> NULL. */ 7458 case 367: value = 368; break; /* ld4 --> ld1. */ 7459 case 368: value = 369; break; /* ld1 --> ld2. */ 7460 case 369: value = 370; break; /* ld2 --> ld3. */ 7461 case 370: return NULL; /* ld3 --> NULL. */ 7462 case 387: value = 389; break; /* ld1 --> ld1r. */ 7463 case 389: return NULL; /* ld1r --> NULL. */ 7464 case 388: value = 390; break; /* ld3 --> ld3r. */ 7465 case 390: return NULL; /* ld3r --> NULL. */ 7466 case 391: value = 393; break; /* ld2 --> ld2r. */ 7467 case 393: return NULL; /* ld2r --> NULL. */ 7468 case 392: value = 394; break; /* ld4 --> ld4r. */ 7469 case 394: return NULL; /* ld4r --> NULL. */ 7470 case 120: value = 299; break; /* movi --> sshr. */ 7471 case 299: value = 301; break; /* sshr --> srshr. */ 7472 case 301: return NULL; /* srshr --> NULL. */ 7473 case 127: value = 319; break; /* mvni --> ushr. */ 7474 case 319: value = 321; break; /* ushr --> urshr. */ 7475 case 321: value = 323; break; /* urshr --> sri. */ 7476 case 323: value = 325; break; /* sri --> sqshlu. */ 7477 case 325: return NULL; /* sqshlu --> NULL. */ 7478 case 121: value = 300; break; /* orr --> ssra. */ 7479 case 300: value = 302; break; /* ssra --> srsra. */ 7480 case 302: value = 303; break; /* srsra --> shl. */ 7481 case 303: value = 304; break; /* shl --> sqshl. */ 7482 case 304: return NULL; /* sqshl --> NULL. */ 7483 case 128: value = 320; break; /* bic --> usra. */ 7484 case 320: value = 322; break; /* usra --> ursra. */ 7485 case 322: value = 324; break; /* ursra --> sli. */ 7486 case 324: value = 326; break; /* sli --> uqshl. */ 7487 case 326: return NULL; /* uqshl --> NULL. */ 7488 case 122: value = 305; break; /* movi --> shrn. */ 7489 case 305: value = 306; break; /* shrn --> shrn2. */ 7490 case 306: value = 313; break; /* shrn2 --> sshll. */ 7491 case 313: value = 315; break; /* sshll --> sshll2. */ 7492 case 315: return NULL; /* sshll2 --> NULL. */ 7493 case 129: value = 327; break; /* mvni --> sqshrun. */ 7494 case 327: value = 328; break; /* sqshrun --> sqshrun2. */ 7495 case 328: value = 335; break; /* sqshrun2 --> ushll. */ 7496 case 335: value = 337; break; /* ushll --> ushll2. */ 7497 case 337: return NULL; /* ushll2 --> NULL. */ 7498 case 123: value = 309; break; /* orr --> sqshrn. */ 7499 case 309: value = 310; break; /* sqshrn --> sqshrn2. */ 7500 case 310: return NULL; /* sqshrn2 --> NULL. */ 7501 case 130: value = 331; break; /* bic --> uqshrn. */ 7502 case 331: value = 332; break; /* uqshrn --> uqshrn2. */ 7503 case 332: return NULL; /* uqshrn2 --> NULL. */ 7504 case 125: value = 317; break; /* movi --> scvtf. */ 7505 case 317: return NULL; /* scvtf --> NULL. */ 7506 case 132: value = 133; break; /* movi --> movi. */ 7507 case 133: value = 339; break; /* movi --> ucvtf. */ 7508 case 339: return NULL; /* ucvtf --> NULL. */ 7509 default: return NULL; 7510 } 7511 7512 return aarch64_opcode_table + value; 7513} 7514 7515const aarch64_opcode * 7516aarch64_find_alias_opcode (const aarch64_opcode *opcode) 7517{ 7518 /* Use the index as the key to locate the alias opcode. */ 7519 int key = opcode - aarch64_opcode_table; 7520 int value; 7521 switch (key) 7522 { 7523 case 2: value = 3; break; /* sbc --> ngc. */ 7524 case 4: value = 5; break; /* sbcs --> ngcs. */ 7525 case 7: value = 8; break; /* adds --> cmn. */ 7526 case 10: value = 11; break; /* subs --> cmp. */ 7527 case 12: value = 13; break; /* add --> mov. */ 7528 case 14: value = 15; break; /* adds --> cmn. */ 7529 case 17: value = 18; break; /* subs --> cmp. */ 7530 case 20: value = 21; break; /* adds --> cmn. */ 7531 case 22: value = 23; break; /* sub --> neg. */ 7532 case 24: value = 26; break; /* subs --> negs. */ 7533 case 138: value = 139; break; /* umov --> mov. */ 7534 case 140: value = 141; break; /* ins --> mov. */ 7535 case 142: value = 143; break; /* ins --> mov. */ 7536 case 203: value = 204; break; /* not --> mvn. */ 7537 case 258: value = 259; break; /* orr --> mov. */ 7538 case 313: value = 314; break; /* sshll --> sxtl. */ 7539 case 315: value = 316; break; /* sshll2 --> sxtl2. */ 7540 case 335: value = 336; break; /* ushll --> uxtl. */ 7541 case 337: value = 338; break; /* ushll2 --> uxtl2. */ 7542 case 430: value = 431; break; /* dup --> mov. */ 7543 case 493: value = 498; break; /* sbfm --> sxtw. */ 7544 case 500: value = 502; break; /* bfm --> bfxil. */ 7545 case 503: value = 507; break; /* ubfm --> uxth. */ 7546 case 525: value = 527; break; /* csinc --> cset. */ 7547 case 528: value = 530; break; /* csinv --> csetm. */ 7548 case 531: value = 532; break; /* csneg --> cneg. */ 7549 case 556: value = 557; break; /* lslv --> lsl. */ 7550 case 558: value = 559; break; /* lsrv --> lsr. */ 7551 case 560: value = 561; break; /* asrv --> asr. */ 7552 case 562: value = 563; break; /* rorv --> ror. */ 7553 case 572: value = 573; break; /* madd --> mul. */ 7554 case 574: value = 575; break; /* msub --> mneg. */ 7555 case 576: value = 577; break; /* smaddl --> smull. */ 7556 case 578: value = 579; break; /* smsubl --> smnegl. */ 7557 case 581: value = 582; break; /* umaddl --> umull. */ 7558 case 583: value = 584; break; /* umsubl --> umnegl. */ 7559 case 594: value = 595; break; /* extr --> ror. */ 7560 case 693: value = 695; break; /* sturb --> strb. */ 7561 case 694: value = 696; break; /* ldurb --> ldrb. */ 7562 case 697: value = 698; break; /* ldursb --> ldrsb. */ 7563 case 699: value = 701; break; /* stur --> str. */ 7564 case 700: value = 702; break; /* ldur --> ldr. */ 7565 case 703: value = 705; break; /* sturh --> strh. */ 7566 case 704: value = 706; break; /* ldurh --> ldrh. */ 7567 case 707: value = 708; break; /* ldursh --> ldrsh. */ 7568 case 709: value = 711; break; /* stur --> str. */ 7569 case 710: value = 712; break; /* ldur --> ldr. */ 7570 case 713: value = 714; break; /* ldursw --> ldrsw. */ 7571 case 715: value = 716; break; /* prfum --> prfm. */ 7572 case 757: value = 758; break; /* and --> bic. */ 7573 case 759: value = 760; break; /* orr --> mov. */ 7574 case 762: value = 763; break; /* ands --> tst. */ 7575 case 766: value = 768; break; /* orr --> uxtw. */ 7576 case 769: value = 770; break; /* orn --> mvn. */ 7577 case 773: value = 774; break; /* ands --> tst. */ 7578 case 776: value = 777; break; /* movn --> mov. */ 7579 case 778: value = 779; break; /* movz --> mov. */ 7580 case 784: value = 790; break; /* hint --> sevl. */ 7581 case 795: value = 799; break; /* sys --> tlbi. */ 7582 default: return NULL; 7583 } 7584 7585 return aarch64_opcode_table + value; 7586} 7587 7588const aarch64_opcode * 7589aarch64_find_next_alias_opcode (const aarch64_opcode *opcode) 7590{ 7591 /* Use the index as the key to locate the next opcode. */ 7592 int key = opcode - aarch64_opcode_table; 7593 int value; 7594 switch (key) 7595 { 7596 case 26: value = 25; break; /* negs --> cmp. */ 7597 case 498: value = 497; break; /* sxtw --> sxth. */ 7598 case 497: value = 496; break; /* sxth --> sxtb. */ 7599 case 496: value = 499; break; /* sxtb --> asr. */ 7600 case 499: value = 495; break; /* asr --> sbfx. */ 7601 case 495: value = 494; break; /* sbfx --> sbfiz. */ 7602 case 502: value = 501; break; /* bfxil --> bfi. */ 7603 case 507: value = 506; break; /* uxth --> uxtb. */ 7604 case 506: value = 509; break; /* uxtb --> lsr. */ 7605 case 509: value = 508; break; /* lsr --> lsl. */ 7606 case 508: value = 505; break; /* lsl --> ubfx. */ 7607 case 505: value = 504; break; /* ubfx --> ubfiz. */ 7608 case 527: value = 526; break; /* cset --> cinc. */ 7609 case 530: value = 529; break; /* csetm --> cinv. */ 7610 case 768: value = 767; break; /* uxtw --> mov. */ 7611 case 790: value = 789; break; /* sevl --> sev. */ 7612 case 789: value = 788; break; /* sev --> wfi. */ 7613 case 788: value = 787; break; /* wfi --> wfe. */ 7614 case 787: value = 786; break; /* wfe --> yield. */ 7615 case 786: value = 785; break; /* yield --> nop. */ 7616 case 799: value = 798; break; /* tlbi --> ic. */ 7617 case 798: value = 797; break; /* ic --> dc. */ 7618 case 797: value = 796; break; /* dc --> at. */ 7619 default: return NULL; 7620 } 7621 7622 return aarch64_opcode_table + value; 7623} 7624 7625int 7626aarch64_extract_operand (const aarch64_operand *self, 7627 aarch64_opnd_info *info, 7628 aarch64_insn code, const aarch64_inst *inst) 7629{ 7630 /* Use the index as the key. */ 7631 int key = self - aarch64_operands; 7632 switch (key) 7633 { 7634 case 1: 7635 case 2: 7636 case 3: 7637 case 4: 7638 case 5: 7639 case 6: 7640 case 7: 7641 case 9: 7642 case 10: 7643 case 13: 7644 case 14: 7645 case 15: 7646 case 16: 7647 case 18: 7648 case 19: 7649 case 20: 7650 case 21: 7651 case 22: 7652 case 23: 7653 case 24: 7654 case 25: 7655 case 26: 7656 case 34: 7657 case 35: 7658 return aarch64_ext_regno (self, info, code, inst); 7659 case 8: 7660 return aarch64_ext_regrt_sysins (self, info, code, inst); 7661 case 11: 7662 return aarch64_ext_reg_extended (self, info, code, inst); 7663 case 12: 7664 return aarch64_ext_reg_shifted (self, info, code, inst); 7665 case 17: 7666 return aarch64_ext_ft (self, info, code, inst); 7667 case 27: 7668 case 28: 7669 case 29: 7670 return aarch64_ext_reglane (self, info, code, inst); 7671 case 30: 7672 return aarch64_ext_reglist (self, info, code, inst); 7673 case 31: 7674 return aarch64_ext_ldst_reglist (self, info, code, inst); 7675 case 32: 7676 return aarch64_ext_ldst_reglist_r (self, info, code, inst); 7677 case 33: 7678 return aarch64_ext_ldst_elemlist (self, info, code, inst); 7679 case 36: 7680 case 45: 7681 case 46: 7682 case 47: 7683 case 48: 7684 case 49: 7685 case 50: 7686 case 51: 7687 case 52: 7688 case 53: 7689 case 54: 7690 case 55: 7691 case 56: 7692 case 57: 7693 case 65: 7694 case 66: 7695 case 67: 7696 case 68: 7697 case 69: 7698 return aarch64_ext_imm (self, info, code, inst); 7699 case 37: 7700 case 38: 7701 return aarch64_ext_advsimd_imm_shift (self, info, code, inst); 7702 case 39: 7703 case 40: 7704 case 41: 7705 return aarch64_ext_advsimd_imm_modified (self, info, code, inst); 7706 case 42: 7707 return aarch64_ext_shll_imm (self, info, code, inst); 7708 case 58: 7709 return aarch64_ext_limm (self, info, code, inst); 7710 case 59: 7711 return aarch64_ext_aimm (self, info, code, inst); 7712 case 60: 7713 return aarch64_ext_imm_half (self, info, code, inst); 7714 case 61: 7715 return aarch64_ext_fbits (self, info, code, inst); 7716 case 63: 7717 case 64: 7718 return aarch64_ext_cond (self, info, code, inst); 7719 case 70: 7720 case 76: 7721 return aarch64_ext_addr_simple (self, info, code, inst); 7722 case 71: 7723 return aarch64_ext_addr_regoff (self, info, code, inst); 7724 case 72: 7725 case 73: 7726 case 74: 7727 return aarch64_ext_addr_simm (self, info, code, inst); 7728 case 75: 7729 return aarch64_ext_addr_uimm12 (self, info, code, inst); 7730 case 77: 7731 return aarch64_ext_simd_addr_post (self, info, code, inst); 7732 case 78: 7733 return aarch64_ext_sysreg (self, info, code, inst); 7734 case 79: 7735 return aarch64_ext_pstatefield (self, info, code, inst); 7736 case 80: 7737 case 81: 7738 case 82: 7739 case 83: 7740 return aarch64_ext_sysins_op (self, info, code, inst); 7741 case 84: 7742 case 85: 7743 return aarch64_ext_barrier (self, info, code, inst); 7744 case 86: 7745 return aarch64_ext_prfop (self, info, code, inst); 7746 default: assert (0); abort (); 7747 } 7748} 7749