| /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
| |* *| |
| |* Assembly Writer Source Fragment *| |
| |* *| |
| |* Automatically generated file, do not edit! *| |
| |* *| |
| \*===----------------------------------------------------------------------===*/ |
| |
| /// printInstruction - This method is automatically generated by tablegen |
| /// from the instruction set description. |
| void AArch64InstPrinter::printInstruction(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &O) { |
| static const char AsmStrs[] = { |
| /* 0 */ 's', 'h', 'a', '1', 's', 'u', '0', 9, 0, |
| /* 9 */ 's', 'h', 'a', '5', '1', '2', 's', 'u', '0', 9, 0, |
| /* 20 */ 's', 'h', 'a', '2', '5', '6', 's', 'u', '0', 9, 0, |
| /* 31 */ 'l', 'd', '1', 9, 0, |
| /* 36 */ 't', 'r', 'n', '1', 9, 0, |
| /* 42 */ 'z', 'i', 'p', '1', 9, 0, |
| /* 48 */ 'u', 'z', 'p', '1', 9, 0, |
| /* 54 */ 'd', 'c', 'p', 's', '1', 9, 0, |
| /* 61 */ 's', 'm', '3', 's', 's', '1', 9, 0, |
| /* 69 */ 's', 't', '1', 9, 0, |
| /* 74 */ 's', 'h', 'a', '1', 's', 'u', '1', 9, 0, |
| /* 83 */ 's', 'h', 'a', '5', '1', '2', 's', 'u', '1', 9, 0, |
| /* 94 */ 's', 'h', 'a', '2', '5', '6', 's', 'u', '1', 9, 0, |
| /* 105 */ 's', 'm', '3', 'p', 'a', 'r', 't', 'w', '1', 9, 0, |
| /* 116 */ 'r', 'a', 'x', '1', 9, 0, |
| /* 122 */ 'r', 'e', 'v', '3', '2', 9, 0, |
| /* 129 */ 'l', 'd', '2', 9, 0, |
| /* 134 */ 's', 'h', 'a', '5', '1', '2', 'h', '2', 9, 0, |
| /* 144 */ 's', 'h', 'a', '2', '5', '6', 'h', '2', 9, 0, |
| /* 154 */ 's', 'a', 'b', 'a', 'l', '2', 9, 0, |
| /* 162 */ 'u', 'a', 'b', 'a', 'l', '2', 9, 0, |
| /* 170 */ 's', 'q', 'd', 'm', 'l', 'a', 'l', '2', 9, 0, |
| /* 180 */ 's', 'm', 'l', 'a', 'l', '2', 9, 0, |
| /* 188 */ 'u', 'm', 'l', 'a', 'l', '2', 9, 0, |
| /* 196 */ 's', 's', 'u', 'b', 'l', '2', 9, 0, |
| /* 204 */ 'u', 's', 'u', 'b', 'l', '2', 9, 0, |
| /* 212 */ 's', 'a', 'b', 'd', 'l', '2', 9, 0, |
| /* 220 */ 'u', 'a', 'b', 'd', 'l', '2', 9, 0, |
| /* 228 */ 's', 'a', 'd', 'd', 'l', '2', 9, 0, |
| /* 236 */ 'u', 'a', 'd', 'd', 'l', '2', 9, 0, |
| /* 244 */ 's', 's', 'h', 'l', 'l', '2', 9, 0, |
| /* 252 */ 'u', 's', 'h', 'l', 'l', '2', 9, 0, |
| /* 260 */ 's', 'q', 'd', 'm', 'u', 'l', 'l', '2', 9, 0, |
| /* 270 */ 'p', 'm', 'u', 'l', 'l', '2', 9, 0, |
| /* 278 */ 's', 'm', 'u', 'l', 'l', '2', 9, 0, |
| /* 286 */ 'u', 'm', 'u', 'l', 'l', '2', 9, 0, |
| /* 294 */ 's', 'q', 'd', 'm', 'l', 's', 'l', '2', 9, 0, |
| /* 304 */ 's', 'm', 'l', 's', 'l', '2', 9, 0, |
| /* 312 */ 'u', 'm', 'l', 's', 'l', '2', 9, 0, |
| /* 320 */ 'f', 'c', 'v', 't', 'l', '2', 9, 0, |
| /* 328 */ 'r', 's', 'u', 'b', 'h', 'n', '2', 9, 0, |
| /* 337 */ 'r', 'a', 'd', 'd', 'h', 'n', '2', 9, 0, |
| /* 346 */ 's', 'q', 's', 'h', 'r', 'n', '2', 9, 0, |
| /* 355 */ 'u', 'q', 's', 'h', 'r', 'n', '2', 9, 0, |
| /* 364 */ 's', 'q', 'r', 's', 'h', 'r', 'n', '2', 9, 0, |
| /* 374 */ 'u', 'q', 'r', 's', 'h', 'r', 'n', '2', 9, 0, |
| /* 384 */ 't', 'r', 'n', '2', 9, 0, |
| /* 390 */ 'f', 'c', 'v', 't', 'n', '2', 9, 0, |
| /* 398 */ 's', 'q', 'x', 't', 'n', '2', 9, 0, |
| /* 406 */ 'u', 'q', 'x', 't', 'n', '2', 9, 0, |
| /* 414 */ 's', 'q', 's', 'h', 'r', 'u', 'n', '2', 9, 0, |
| /* 424 */ 's', 'q', 'r', 's', 'h', 'r', 'u', 'n', '2', 9, 0, |
| /* 435 */ 's', 'q', 'x', 't', 'u', 'n', '2', 9, 0, |
| /* 444 */ 'f', 'c', 'v', 't', 'x', 'n', '2', 9, 0, |
| /* 453 */ 'z', 'i', 'p', '2', 9, 0, |
| /* 459 */ 'u', 'z', 'p', '2', 9, 0, |
| /* 465 */ 'd', 'c', 'p', 's', '2', 9, 0, |
| /* 472 */ 's', 't', '2', 9, 0, |
| /* 477 */ 's', 's', 'u', 'b', 'w', '2', 9, 0, |
| /* 485 */ 'u', 's', 'u', 'b', 'w', '2', 9, 0, |
| /* 493 */ 's', 'a', 'd', 'd', 'w', '2', 9, 0, |
| /* 501 */ 'u', 'a', 'd', 'd', 'w', '2', 9, 0, |
| /* 509 */ 's', 'm', '3', 'p', 'a', 'r', 't', 'w', '2', 9, 0, |
| /* 520 */ 'l', 'd', '3', 9, 0, |
| /* 525 */ 'e', 'o', 'r', '3', 9, 0, |
| /* 531 */ 'd', 'c', 'p', 's', '3', 9, 0, |
| /* 538 */ 's', 't', '3', 9, 0, |
| /* 543 */ 'r', 'e', 'v', '6', '4', 9, 0, |
| /* 550 */ 'l', 'd', '4', 9, 0, |
| /* 555 */ 's', 't', '4', 9, 0, |
| /* 560 */ 's', 'e', 't', 'f', '1', '6', 9, 0, |
| /* 568 */ 'r', 'e', 'v', '1', '6', 9, 0, |
| /* 575 */ 's', 'e', 't', 'f', '8', 9, 0, |
| /* 582 */ 's', 'm', '3', 't', 't', '1', 'a', 9, 0, |
| /* 591 */ 's', 'm', '3', 't', 't', '2', 'a', 9, 0, |
| /* 600 */ 'b', 'r', 'a', 'a', 9, 0, |
| /* 606 */ 'l', 'd', 'r', 'a', 'a', 9, 0, |
| /* 613 */ 'b', 'l', 'r', 'a', 'a', 9, 0, |
| /* 620 */ 's', 'a', 'b', 'a', 9, 0, |
| /* 626 */ 'u', 'a', 'b', 'a', 9, 0, |
| /* 632 */ 'p', 'a', 'c', 'd', 'a', 9, 0, |
| /* 639 */ 'l', 'd', 'a', 'd', 'd', 'a', 9, 0, |
| /* 647 */ 'f', 'a', 'd', 'd', 'a', 9, 0, |
| /* 654 */ 'a', 'u', 't', 'd', 'a', 9, 0, |
| /* 661 */ 'p', 'a', 'c', 'g', 'a', 9, 0, |
| /* 668 */ 'p', 'a', 'c', 'i', 'a', 9, 0, |
| /* 675 */ 'a', 'u', 't', 'i', 'a', 9, 0, |
| /* 682 */ 'b', 'r', 'k', 'a', 9, 0, |
| /* 688 */ 'f', 'c', 'm', 'l', 'a', 9, 0, |
| /* 695 */ 'f', 'm', 'l', 'a', 9, 0, |
| /* 701 */ 'f', 'n', 'm', 'l', 'a', 9, 0, |
| /* 708 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 9, 0, |
| /* 717 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 9, 0, |
| /* 726 */ 'b', 'r', 'k', 'p', 'a', 9, 0, |
| /* 733 */ 'c', 'a', 's', 'p', 'a', 9, 0, |
| /* 740 */ 's', 'w', 'p', 'a', 9, 0, |
| /* 746 */ 'f', 'e', 'x', 'p', 'a', 9, 0, |
| /* 753 */ 'l', 'd', 'c', 'l', 'r', 'a', 9, 0, |
| /* 761 */ 'l', 'd', 'e', 'o', 'r', 'a', 9, 0, |
| /* 769 */ 's', 'r', 's', 'r', 'a', 9, 0, |
| /* 776 */ 'u', 'r', 's', 'r', 'a', 9, 0, |
| /* 783 */ 's', 's', 'r', 'a', 9, 0, |
| /* 789 */ 'u', 's', 'r', 'a', 9, 0, |
| /* 795 */ 'c', 'a', 's', 'a', 9, 0, |
| /* 801 */ 'l', 'd', 's', 'e', 't', 'a', 9, 0, |
| /* 809 */ 'f', 'r', 'i', 'n', 't', 'a', 9, 0, |
| /* 817 */ 'c', 'l', 'a', 's', 't', 'a', 9, 0, |
| /* 825 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 9, 0, |
| /* 834 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 9, 0, |
| /* 843 */ 'p', 'a', 'c', 'd', 'z', 'a', 9, 0, |
| /* 851 */ 'a', 'u', 't', 'd', 'z', 'a', 9, 0, |
| /* 859 */ 'p', 'a', 'c', 'i', 'z', 'a', 9, 0, |
| /* 867 */ 'a', 'u', 't', 'i', 'z', 'a', 9, 0, |
| /* 875 */ 'l', 'd', '1', 'b', 9, 0, |
| /* 881 */ 'l', 'd', 'f', 'f', '1', 'b', 9, 0, |
| /* 889 */ 'l', 'd', 'n', 'f', '1', 'b', 9, 0, |
| /* 897 */ 'l', 'd', 'n', 't', '1', 'b', 9, 0, |
| /* 905 */ 's', 't', 'n', 't', '1', 'b', 9, 0, |
| /* 913 */ 's', 't', '1', 'b', 9, 0, |
| /* 919 */ 's', 'm', '3', 't', 't', '1', 'b', 9, 0, |
| /* 928 */ 'c', 'r', 'c', '3', '2', 'b', 9, 0, |
| /* 936 */ 'l', 'd', '2', 'b', 9, 0, |
| /* 942 */ 's', 't', '2', 'b', 9, 0, |
| /* 948 */ 's', 'm', '3', 't', 't', '2', 'b', 9, 0, |
| /* 957 */ 'l', 'd', '3', 'b', 9, 0, |
| /* 963 */ 's', 't', '3', 'b', 9, 0, |
| /* 969 */ 'l', 'd', '4', 'b', 9, 0, |
| /* 975 */ 's', 't', '4', 'b', 9, 0, |
| /* 981 */ 'l', 'd', 'a', 'd', 'd', 'a', 'b', 9, 0, |
| /* 990 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 'b', 9, 0, |
| /* 1000 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 'b', 9, 0, |
| /* 1010 */ 's', 'w', 'p', 'a', 'b', 9, 0, |
| /* 1017 */ 'b', 'r', 'a', 'b', 9, 0, |
| /* 1023 */ 'l', 'd', 'r', 'a', 'b', 9, 0, |
| /* 1030 */ 'b', 'l', 'r', 'a', 'b', 9, 0, |
| /* 1037 */ 'l', 'd', 'c', 'l', 'r', 'a', 'b', 9, 0, |
| /* 1046 */ 'l', 'd', 'e', 'o', 'r', 'a', 'b', 9, 0, |
| /* 1055 */ 'c', 'a', 's', 'a', 'b', 9, 0, |
| /* 1062 */ 'l', 'd', 's', 'e', 't', 'a', 'b', 9, 0, |
| /* 1071 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 'b', 9, 0, |
| /* 1081 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 'b', 9, 0, |
| /* 1091 */ 'c', 'r', 'c', '3', '2', 'c', 'b', 9, 0, |
| /* 1100 */ 's', 'q', 'd', 'e', 'c', 'b', 9, 0, |
| /* 1108 */ 'u', 'q', 'd', 'e', 'c', 'b', 9, 0, |
| /* 1116 */ 's', 'q', 'i', 'n', 'c', 'b', 9, 0, |
| /* 1124 */ 'u', 'q', 'i', 'n', 'c', 'b', 9, 0, |
| /* 1132 */ 'p', 'a', 'c', 'd', 'b', 9, 0, |
| /* 1139 */ 'l', 'd', 'a', 'd', 'd', 'b', 9, 0, |
| /* 1147 */ 'a', 'u', 't', 'd', 'b', 9, 0, |
| /* 1154 */ 'p', 'r', 'f', 'b', 9, 0, |
| /* 1160 */ 'p', 'a', 'c', 'i', 'b', 9, 0, |
| /* 1167 */ 'a', 'u', 't', 'i', 'b', 9, 0, |
| /* 1174 */ 'b', 'r', 'k', 'b', 9, 0, |
| /* 1180 */ 'l', 'd', 'a', 'd', 'd', 'a', 'l', 'b', 9, 0, |
| /* 1190 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 'l', 'b', 9, 0, |
| /* 1201 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 'l', 'b', 9, 0, |
| /* 1212 */ 's', 'w', 'p', 'a', 'l', 'b', 9, 0, |
| /* 1220 */ 'l', 'd', 'c', 'l', 'r', 'a', 'l', 'b', 9, 0, |
| /* 1230 */ 'l', 'd', 'e', 'o', 'r', 'a', 'l', 'b', 9, 0, |
| /* 1240 */ 'c', 'a', 's', 'a', 'l', 'b', 9, 0, |
| /* 1248 */ 'l', 'd', 's', 'e', 't', 'a', 'l', 'b', 9, 0, |
| /* 1258 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 'l', 'b', 9, 0, |
| /* 1269 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 'l', 'b', 9, 0, |
| /* 1280 */ 'l', 'd', 'a', 'd', 'd', 'l', 'b', 9, 0, |
| /* 1289 */ 'l', 'd', 's', 'm', 'i', 'n', 'l', 'b', 9, 0, |
| /* 1299 */ 'l', 'd', 'u', 'm', 'i', 'n', 'l', 'b', 9, 0, |
| /* 1309 */ 's', 'w', 'p', 'l', 'b', 9, 0, |
| /* 1316 */ 'l', 'd', 'c', 'l', 'r', 'l', 'b', 9, 0, |
| /* 1325 */ 'l', 'd', 'e', 'o', 'r', 'l', 'b', 9, 0, |
| /* 1334 */ 'c', 'a', 's', 'l', 'b', 9, 0, |
| /* 1341 */ 'l', 'd', 's', 'e', 't', 'l', 'b', 9, 0, |
| /* 1350 */ 'l', 'd', 's', 'm', 'a', 'x', 'l', 'b', 9, 0, |
| /* 1360 */ 'l', 'd', 'u', 'm', 'a', 'x', 'l', 'b', 9, 0, |
| /* 1370 */ 'd', 'm', 'b', 9, 0, |
| /* 1375 */ 'l', 'd', 's', 'm', 'i', 'n', 'b', 9, 0, |
| /* 1384 */ 'l', 'd', 'u', 'm', 'i', 'n', 'b', 9, 0, |
| /* 1393 */ 'b', 'r', 'k', 'p', 'b', 9, 0, |
| /* 1400 */ 's', 'w', 'p', 'b', 9, 0, |
| /* 1406 */ 'l', 'd', '1', 'r', 'q', 'b', 9, 0, |
| /* 1414 */ 'l', 'd', '1', 'r', 'b', 9, 0, |
| /* 1421 */ 'l', 'd', 'a', 'r', 'b', 9, 0, |
| /* 1428 */ 'l', 'd', 'l', 'a', 'r', 'b', 9, 0, |
| /* 1436 */ 'l', 'd', 'r', 'b', 9, 0, |
| /* 1442 */ 'l', 'd', 'c', 'l', 'r', 'b', 9, 0, |
| /* 1450 */ 's', 't', 'l', 'l', 'r', 'b', 9, 0, |
| /* 1458 */ 's', 't', 'l', 'r', 'b', 9, 0, |
| /* 1465 */ 'l', 'd', 'e', 'o', 'r', 'b', 9, 0, |
| /* 1473 */ 'l', 'd', 'a', 'p', 'r', 'b', 9, 0, |
| /* 1481 */ 'l', 'd', 't', 'r', 'b', 9, 0, |
| /* 1488 */ 's', 't', 'r', 'b', 9, 0, |
| /* 1494 */ 's', 't', 't', 'r', 'b', 9, 0, |
| /* 1501 */ 'l', 'd', 'u', 'r', 'b', 9, 0, |
| /* 1508 */ 's', 't', 'l', 'u', 'r', 'b', 9, 0, |
| /* 1516 */ 'l', 'd', 'a', 'p', 'u', 'r', 'b', 9, 0, |
| /* 1525 */ 's', 't', 'u', 'r', 'b', 9, 0, |
| /* 1532 */ 'l', 'd', 'a', 'x', 'r', 'b', 9, 0, |
| /* 1540 */ 'l', 'd', 'x', 'r', 'b', 9, 0, |
| /* 1547 */ 's', 't', 'l', 'x', 'r', 'b', 9, 0, |
| /* 1555 */ 's', 't', 'x', 'r', 'b', 9, 0, |
| /* 1562 */ 'l', 'd', '1', 's', 'b', 9, 0, |
| /* 1569 */ 'l', 'd', 'f', 'f', '1', 's', 'b', 9, 0, |
| /* 1578 */ 'l', 'd', 'n', 'f', '1', 's', 'b', 9, 0, |
| /* 1587 */ 'c', 'a', 's', 'b', 9, 0, |
| /* 1593 */ 'd', 's', 'b', 9, 0, |
| /* 1598 */ 'i', 's', 'b', 9, 0, |
| /* 1603 */ 'f', 'm', 's', 'b', 9, 0, |
| /* 1609 */ 'f', 'n', 'm', 's', 'b', 9, 0, |
| /* 1616 */ 'l', 'd', '1', 'r', 's', 'b', 9, 0, |
| /* 1624 */ 'l', 'd', 'r', 's', 'b', 9, 0, |
| /* 1631 */ 'l', 'd', 't', 'r', 's', 'b', 9, 0, |
| /* 1639 */ 'l', 'd', 'u', 'r', 's', 'b', 9, 0, |
| /* 1647 */ 'l', 'd', 'a', 'p', 'u', 'r', 's', 'b', 9, 0, |
| /* 1657 */ 't', 's', 'b', 9, 0, |
| /* 1662 */ 'l', 'd', 's', 'e', 't', 'b', 9, 0, |
| /* 1670 */ 'c', 'n', 't', 'b', 9, 0, |
| /* 1676 */ 'c', 'l', 'a', 's', 't', 'b', 9, 0, |
| /* 1684 */ 's', 'x', 't', 'b', 9, 0, |
| /* 1690 */ 'u', 'x', 't', 'b', 9, 0, |
| /* 1696 */ 'f', 's', 'u', 'b', 9, 0, |
| /* 1702 */ 's', 'h', 's', 'u', 'b', 9, 0, |
| /* 1709 */ 'u', 'h', 's', 'u', 'b', 9, 0, |
| /* 1716 */ 'f', 'm', 's', 'u', 'b', 9, 0, |
| /* 1723 */ 'f', 'n', 'm', 's', 'u', 'b', 9, 0, |
| /* 1731 */ 's', 'q', 's', 'u', 'b', 9, 0, |
| /* 1738 */ 'u', 'q', 's', 'u', 'b', 9, 0, |
| /* 1745 */ 'r', 'e', 'v', 'b', 9, 0, |
| /* 1751 */ 'l', 'd', 's', 'm', 'a', 'x', 'b', 9, 0, |
| /* 1760 */ 'l', 'd', 'u', 'm', 'a', 'x', 'b', 9, 0, |
| /* 1769 */ 'p', 'a', 'c', 'd', 'z', 'b', 9, 0, |
| /* 1777 */ 'a', 'u', 't', 'd', 'z', 'b', 9, 0, |
| /* 1785 */ 'p', 'a', 'c', 'i', 'z', 'b', 9, 0, |
| /* 1793 */ 'a', 'u', 't', 'i', 'z', 'b', 9, 0, |
| /* 1801 */ 's', 'h', 'a', '1', 'c', 9, 0, |
| /* 1808 */ 's', 'b', 'c', 9, 0, |
| /* 1813 */ 'a', 'd', 'c', 9, 0, |
| /* 1818 */ 'b', 'i', 'c', 9, 0, |
| /* 1823 */ 'a', 'e', 's', 'i', 'm', 'c', 9, 0, |
| /* 1831 */ 'a', 'e', 's', 'm', 'c', 9, 0, |
| /* 1838 */ 'c', 's', 'i', 'n', 'c', 9, 0, |
| /* 1845 */ 'h', 'v', 'c', 9, 0, |
| /* 1850 */ 's', 'v', 'c', 9, 0, |
| /* 1855 */ 'l', 'd', '1', 'd', 9, 0, |
| /* 1861 */ 'l', 'd', 'f', 'f', '1', 'd', 9, 0, |
| /* 1869 */ 'l', 'd', 'n', 'f', '1', 'd', 9, 0, |
| /* 1877 */ 'l', 'd', 'n', 't', '1', 'd', 9, 0, |
| /* 1885 */ 's', 't', 'n', 't', '1', 'd', 9, 0, |
| /* 1893 */ 's', 't', '1', 'd', 9, 0, |
| /* 1899 */ 'l', 'd', '2', 'd', 9, 0, |
| /* 1905 */ 's', 't', '2', 'd', 9, 0, |
| /* 1911 */ 'l', 'd', '3', 'd', 9, 0, |
| /* 1917 */ 's', 't', '3', 'd', 9, 0, |
| /* 1923 */ 'l', 'd', '4', 'd', 9, 0, |
| /* 1929 */ 's', 't', '4', 'd', 9, 0, |
| /* 1935 */ 'f', 'm', 'a', 'd', 9, 0, |
| /* 1941 */ 'f', 'n', 'm', 'a', 'd', 9, 0, |
| /* 1948 */ 'f', 't', 'm', 'a', 'd', 9, 0, |
| /* 1955 */ 'f', 'a', 'b', 'd', 9, 0, |
| /* 1961 */ 's', 'a', 'b', 'd', 9, 0, |
| /* 1967 */ 'u', 'a', 'b', 'd', 9, 0, |
| /* 1973 */ 'x', 'p', 'a', 'c', 'd', 9, 0, |
| /* 1980 */ 's', 'q', 'd', 'e', 'c', 'd', 9, 0, |
| /* 1988 */ 'u', 'q', 'd', 'e', 'c', 'd', 9, 0, |
| /* 1996 */ 's', 'q', 'i', 'n', 'c', 'd', 9, 0, |
| /* 2004 */ 'u', 'q', 'i', 'n', 'c', 'd', 9, 0, |
| /* 2012 */ 'f', 'c', 'a', 'd', 'd', 9, 0, |
| /* 2019 */ 'l', 'd', 'a', 'd', 'd', 9, 0, |
| /* 2026 */ 'f', 'a', 'd', 'd', 9, 0, |
| /* 2032 */ 's', 'r', 'h', 'a', 'd', 'd', 9, 0, |
| /* 2040 */ 'u', 'r', 'h', 'a', 'd', 'd', 9, 0, |
| /* 2048 */ 's', 'h', 'a', 'd', 'd', 9, 0, |
| /* 2055 */ 'u', 'h', 'a', 'd', 'd', 9, 0, |
| /* 2062 */ 'f', 'm', 'a', 'd', 'd', 9, 0, |
| /* 2069 */ 'f', 'n', 'm', 'a', 'd', 'd', 9, 0, |
| /* 2077 */ 'u', 's', 'q', 'a', 'd', 'd', 9, 0, |
| /* 2085 */ 's', 'u', 'q', 'a', 'd', 'd', 9, 0, |
| /* 2093 */ 'p', 'r', 'f', 'd', 9, 0, |
| /* 2099 */ 'n', 'a', 'n', 'd', 9, 0, |
| /* 2105 */ 'l', 'd', '1', 'r', 'q', 'd', 9, 0, |
| /* 2113 */ 'l', 'd', '1', 'r', 'd', 9, 0, |
| /* 2120 */ 'a', 's', 'r', 'd', 9, 0, |
| /* 2126 */ 'a', 'e', 's', 'd', 9, 0, |
| /* 2132 */ 'c', 'n', 't', 'd', 9, 0, |
| /* 2138 */ 's', 'm', '4', 'e', 9, 0, |
| /* 2144 */ 's', 'p', 'l', 'i', 'c', 'e', 9, 0, |
| /* 2152 */ 'f', 'a', 'c', 'g', 'e', 9, 0, |
| /* 2159 */ 'f', 'c', 'm', 'g', 'e', 9, 0, |
| /* 2166 */ 'c', 'm', 'p', 'g', 'e', 9, 0, |
| /* 2173 */ 'f', 's', 'c', 'a', 'l', 'e', 9, 0, |
| /* 2181 */ 'w', 'h', 'i', 'l', 'e', 'l', 'e', 9, 0, |
| /* 2190 */ 'f', 'c', 'm', 'l', 'e', 9, 0, |
| /* 2197 */ 'c', 'm', 'p', 'l', 'e', 9, 0, |
| /* 2204 */ 'f', 'c', 'm', 'n', 'e', 9, 0, |
| /* 2211 */ 'c', 't', 'e', 'r', 'm', 'n', 'e', 9, 0, |
| /* 2220 */ 'c', 'm', 'p', 'n', 'e', 9, 0, |
| /* 2227 */ 'f', 'r', 'e', 'c', 'p', 'e', 9, 0, |
| /* 2235 */ 'u', 'r', 'e', 'c', 'p', 'e', 9, 0, |
| /* 2243 */ 'f', 'c', 'c', 'm', 'p', 'e', 9, 0, |
| /* 2251 */ 'f', 'c', 'm', 'p', 'e', 9, 0, |
| /* 2258 */ 'a', 'e', 's', 'e', 9, 0, |
| /* 2264 */ 'p', 'f', 'a', 'l', 's', 'e', 9, 0, |
| /* 2272 */ 'f', 'r', 's', 'q', 'r', 't', 'e', 9, 0, |
| /* 2281 */ 'u', 'r', 's', 'q', 'r', 't', 'e', 9, 0, |
| /* 2290 */ 'p', 't', 'r', 'u', 'e', 9, 0, |
| /* 2297 */ 'b', 'i', 'f', 9, 0, |
| /* 2302 */ 'r', 'm', 'i', 'f', 9, 0, |
| /* 2308 */ 's', 'c', 'v', 't', 'f', 9, 0, |
| /* 2315 */ 'u', 'c', 'v', 't', 'f', 9, 0, |
| /* 2322 */ 'f', 'n', 'e', 'g', 9, 0, |
| /* 2328 */ 's', 'q', 'n', 'e', 'g', 9, 0, |
| /* 2335 */ 'c', 's', 'n', 'e', 'g', 9, 0, |
| /* 2342 */ 's', 'h', 'a', '1', 'h', 9, 0, |
| /* 2349 */ 'l', 'd', '1', 'h', 9, 0, |
| /* 2355 */ 'l', 'd', 'f', 'f', '1', 'h', 9, 0, |
| /* 2363 */ 'l', 'd', 'n', 'f', '1', 'h', 9, 0, |
| /* 2371 */ 'l', 'd', 'n', 't', '1', 'h', 9, 0, |
| /* 2379 */ 's', 't', 'n', 't', '1', 'h', 9, 0, |
| /* 2387 */ 's', 't', '1', 'h', 9, 0, |
| /* 2393 */ 's', 'h', 'a', '5', '1', '2', 'h', 9, 0, |
| /* 2402 */ 'c', 'r', 'c', '3', '2', 'h', 9, 0, |
| /* 2410 */ 'l', 'd', '2', 'h', 9, 0, |
| /* 2416 */ 's', 't', '2', 'h', 9, 0, |
| /* 2422 */ 'l', 'd', '3', 'h', 9, 0, |
| /* 2428 */ 's', 't', '3', 'h', 9, 0, |
| /* 2434 */ 'l', 'd', '4', 'h', 9, 0, |
| /* 2440 */ 's', 't', '4', 'h', 9, 0, |
| /* 2446 */ 's', 'h', 'a', '2', '5', '6', 'h', 9, 0, |
| /* 2455 */ 'l', 'd', 'a', 'd', 'd', 'a', 'h', 9, 0, |
| /* 2464 */ 's', 'q', 'r', 'd', 'm', 'l', 'a', 'h', 9, 0, |
| /* 2474 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 'h', 9, 0, |
| /* 2484 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 'h', 9, 0, |
| /* 2494 */ 's', 'w', 'p', 'a', 'h', 9, 0, |
| /* 2501 */ 'l', 'd', 'c', 'l', 'r', 'a', 'h', 9, 0, |
| /* 2510 */ 'l', 'd', 'e', 'o', 'r', 'a', 'h', 9, 0, |
| /* 2519 */ 'c', 'a', 's', 'a', 'h', 9, 0, |
| /* 2526 */ 'l', 'd', 's', 'e', 't', 'a', 'h', 9, 0, |
| /* 2535 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 'h', 9, 0, |
| /* 2545 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 'h', 9, 0, |
| /* 2555 */ 'c', 'r', 'c', '3', '2', 'c', 'h', 9, 0, |
| /* 2564 */ 's', 'q', 'd', 'e', 'c', 'h', 9, 0, |
| /* 2572 */ 'u', 'q', 'd', 'e', 'c', 'h', 9, 0, |
| /* 2580 */ 's', 'q', 'i', 'n', 'c', 'h', 9, 0, |
| /* 2588 */ 'u', 'q', 'i', 'n', 'c', 'h', 9, 0, |
| /* 2596 */ 'l', 'd', 'a', 'd', 'd', 'h', 9, 0, |
| /* 2604 */ 'p', 'r', 'f', 'h', 9, 0, |
| /* 2610 */ 'l', 'd', 'a', 'd', 'd', 'a', 'l', 'h', 9, 0, |
| /* 2620 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 'l', 'h', 9, 0, |
| /* 2631 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 'l', 'h', 9, 0, |
| /* 2642 */ 's', 'w', 'p', 'a', 'l', 'h', 9, 0, |
| /* 2650 */ 'l', 'd', 'c', 'l', 'r', 'a', 'l', 'h', 9, 0, |
| /* 2660 */ 'l', 'd', 'e', 'o', 'r', 'a', 'l', 'h', 9, 0, |
| /* 2670 */ 'c', 'a', 's', 'a', 'l', 'h', 9, 0, |
| /* 2678 */ 'l', 'd', 's', 'e', 't', 'a', 'l', 'h', 9, 0, |
| /* 2688 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 'l', 'h', 9, 0, |
| /* 2699 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 'l', 'h', 9, 0, |
| /* 2710 */ 'l', 'd', 'a', 'd', 'd', 'l', 'h', 9, 0, |
| /* 2719 */ 'l', 'd', 's', 'm', 'i', 'n', 'l', 'h', 9, 0, |
| /* 2729 */ 'l', 'd', 'u', 'm', 'i', 'n', 'l', 'h', 9, 0, |
| /* 2739 */ 's', 'w', 'p', 'l', 'h', 9, 0, |
| /* 2746 */ 'l', 'd', 'c', 'l', 'r', 'l', 'h', 9, 0, |
| /* 2755 */ 'l', 'd', 'e', 'o', 'r', 'l', 'h', 9, 0, |
| /* 2764 */ 'c', 'a', 's', 'l', 'h', 9, 0, |
| /* 2771 */ 'l', 'd', 's', 'e', 't', 'l', 'h', 9, 0, |
| /* 2780 */ 's', 'q', 'd', 'm', 'u', 'l', 'h', 9, 0, |
| /* 2789 */ 's', 'q', 'r', 'd', 'm', 'u', 'l', 'h', 9, 0, |
| /* 2799 */ 's', 'm', 'u', 'l', 'h', 9, 0, |
| /* 2806 */ 'u', 'm', 'u', 'l', 'h', 9, 0, |
| /* 2813 */ 'l', 'd', 's', 'm', 'a', 'x', 'l', 'h', 9, 0, |
| /* 2823 */ 'l', 'd', 'u', 'm', 'a', 'x', 'l', 'h', 9, 0, |
| /* 2833 */ 'l', 'd', 's', 'm', 'i', 'n', 'h', 9, 0, |
| /* 2842 */ 'l', 'd', 'u', 'm', 'i', 'n', 'h', 9, 0, |
| /* 2851 */ 's', 'w', 'p', 'h', 9, 0, |
| /* 2857 */ 'l', 'd', '1', 'r', 'q', 'h', 9, 0, |
| /* 2865 */ 'l', 'd', '1', 'r', 'h', 9, 0, |
| /* 2872 */ 'l', 'd', 'a', 'r', 'h', 9, 0, |
| /* 2879 */ 'l', 'd', 'l', 'a', 'r', 'h', 9, 0, |
| /* 2887 */ 'l', 'd', 'r', 'h', 9, 0, |
| /* 2893 */ 'l', 'd', 'c', 'l', 'r', 'h', 9, 0, |
| /* 2901 */ 's', 't', 'l', 'l', 'r', 'h', 9, 0, |
| /* 2909 */ 's', 't', 'l', 'r', 'h', 9, 0, |
| /* 2916 */ 'l', 'd', 'e', 'o', 'r', 'h', 9, 0, |
| /* 2924 */ 'l', 'd', 'a', 'p', 'r', 'h', 9, 0, |
| /* 2932 */ 'l', 'd', 't', 'r', 'h', 9, 0, |
| /* 2939 */ 's', 't', 'r', 'h', 9, 0, |
| /* 2945 */ 's', 't', 't', 'r', 'h', 9, 0, |
| /* 2952 */ 'l', 'd', 'u', 'r', 'h', 9, 0, |
| /* 2959 */ 's', 't', 'l', 'u', 'r', 'h', 9, 0, |
| /* 2967 */ 'l', 'd', 'a', 'p', 'u', 'r', 'h', 9, 0, |
| /* 2976 */ 's', 't', 'u', 'r', 'h', 9, 0, |
| /* 2983 */ 'l', 'd', 'a', 'x', 'r', 'h', 9, 0, |
| /* 2991 */ 'l', 'd', 'x', 'r', 'h', 9, 0, |
| /* 2998 */ 's', 't', 'l', 'x', 'r', 'h', 9, 0, |
| /* 3006 */ 's', 't', 'x', 'r', 'h', 9, 0, |
| /* 3013 */ 'l', 'd', '1', 's', 'h', 9, 0, |
| /* 3020 */ 'l', 'd', 'f', 'f', '1', 's', 'h', 9, 0, |
| /* 3029 */ 'l', 'd', 'n', 'f', '1', 's', 'h', 9, 0, |
| /* 3038 */ 'c', 'a', 's', 'h', 9, 0, |
| /* 3044 */ 's', 'q', 'r', 'd', 'm', 'l', 's', 'h', 9, 0, |
| /* 3054 */ 'l', 'd', '1', 'r', 's', 'h', 9, 0, |
| /* 3062 */ 'l', 'd', 'r', 's', 'h', 9, 0, |
| /* 3069 */ 'l', 'd', 't', 'r', 's', 'h', 9, 0, |
| /* 3077 */ 'l', 'd', 'u', 'r', 's', 'h', 9, 0, |
| /* 3085 */ 'l', 'd', 'a', 'p', 'u', 'r', 's', 'h', 9, 0, |
| /* 3095 */ 'l', 'd', 's', 'e', 't', 'h', 9, 0, |
| /* 3103 */ 'c', 'n', 't', 'h', 9, 0, |
| /* 3109 */ 's', 'x', 't', 'h', 9, 0, |
| /* 3115 */ 'u', 'x', 't', 'h', 9, 0, |
| /* 3121 */ 'r', 'e', 'v', 'h', 9, 0, |
| /* 3127 */ 'l', 'd', 's', 'm', 'a', 'x', 'h', 9, 0, |
| /* 3136 */ 'l', 'd', 'u', 'm', 'a', 'x', 'h', 9, 0, |
| /* 3145 */ 'x', 'p', 'a', 'c', 'i', 9, 0, |
| /* 3152 */ 'p', 'u', 'n', 'p', 'k', 'h', 'i', 9, 0, |
| /* 3161 */ 's', 'u', 'n', 'p', 'k', 'h', 'i', 9, 0, |
| /* 3170 */ 'u', 'u', 'n', 'p', 'k', 'h', 'i', 9, 0, |
| /* 3179 */ 'c', 'm', 'h', 'i', 9, 0, |
| /* 3185 */ 'c', 'm', 'p', 'h', 'i', 9, 0, |
| /* 3192 */ 's', 'l', 'i', 9, 0, |
| /* 3197 */ 'm', 'v', 'n', 'i', 9, 0, |
| /* 3203 */ 's', 'r', 'i', 9, 0, |
| /* 3208 */ 'f', 'r', 'i', 'n', 't', 'i', 9, 0, |
| /* 3216 */ 'm', 'o', 'v', 'i', 9, 0, |
| /* 3222 */ 'b', 'r', 'k', 9, 0, |
| /* 3227 */ 'm', 'o', 'v', 'k', 9, 0, |
| /* 3233 */ 's', 'a', 'b', 'a', 'l', 9, 0, |
| /* 3240 */ 'u', 'a', 'b', 'a', 'l', 9, 0, |
| /* 3247 */ 'l', 'd', 'a', 'd', 'd', 'a', 'l', 9, 0, |
| /* 3256 */ 's', 'q', 'd', 'm', 'l', 'a', 'l', 9, 0, |
| /* 3265 */ 's', 'm', 'l', 'a', 'l', 9, 0, |
| /* 3272 */ 'u', 'm', 'l', 'a', 'l', 9, 0, |
| /* 3279 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 'l', 9, 0, |
| /* 3289 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 'l', 9, 0, |
| /* 3299 */ 'c', 'a', 's', 'p', 'a', 'l', 9, 0, |
| /* 3307 */ 's', 'w', 'p', 'a', 'l', 9, 0, |
| /* 3314 */ 'l', 'd', 'c', 'l', 'r', 'a', 'l', 9, 0, |
| /* 3323 */ 'l', 'd', 'e', 'o', 'r', 'a', 'l', 9, 0, |
| /* 3332 */ 'c', 'a', 's', 'a', 'l', 9, 0, |
| /* 3339 */ 'l', 'd', 's', 'e', 't', 'a', 'l', 9, 0, |
| /* 3348 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 'l', 9, 0, |
| /* 3358 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 'l', 9, 0, |
| /* 3368 */ 't', 'b', 'l', 9, 0, |
| /* 3373 */ 's', 'm', 's', 'u', 'b', 'l', 9, 0, |
| /* 3381 */ 'u', 'm', 's', 'u', 'b', 'l', 9, 0, |
| /* 3389 */ 's', 's', 'u', 'b', 'l', 9, 0, |
| /* 3396 */ 'u', 's', 'u', 'b', 'l', 9, 0, |
| /* 3403 */ 's', 'a', 'b', 'd', 'l', 9, 0, |
| /* 3410 */ 'u', 'a', 'b', 'd', 'l', 9, 0, |
| /* 3417 */ 'l', 'd', 'a', 'd', 'd', 'l', 9, 0, |
| /* 3425 */ 's', 'm', 'a', 'd', 'd', 'l', 9, 0, |
| /* 3433 */ 'u', 'm', 'a', 'd', 'd', 'l', 9, 0, |
| /* 3441 */ 's', 'a', 'd', 'd', 'l', 9, 0, |
| /* 3448 */ 'u', 'a', 'd', 'd', 'l', 9, 0, |
| /* 3455 */ 'f', 'c', 's', 'e', 'l', 9, 0, |
| /* 3462 */ 'f', 't', 's', 's', 'e', 'l', 9, 0, |
| /* 3470 */ 's', 'q', 's', 'h', 'l', 9, 0, |
| /* 3477 */ 'u', 'q', 's', 'h', 'l', 9, 0, |
| /* 3484 */ 's', 'q', 'r', 's', 'h', 'l', 9, 0, |
| /* 3492 */ 'u', 'q', 'r', 's', 'h', 'l', 9, 0, |
| /* 3500 */ 's', 'r', 's', 'h', 'l', 9, 0, |
| /* 3507 */ 'u', 'r', 's', 'h', 'l', 9, 0, |
| /* 3514 */ 's', 's', 'h', 'l', 9, 0, |
| /* 3520 */ 'u', 's', 'h', 'l', 9, 0, |
| /* 3526 */ 's', 's', 'h', 'l', 'l', 9, 0, |
| /* 3533 */ 'u', 's', 'h', 'l', 'l', 9, 0, |
| /* 3540 */ 's', 'q', 'd', 'm', 'u', 'l', 'l', 9, 0, |
| /* 3549 */ 'p', 'm', 'u', 'l', 'l', 9, 0, |
| /* 3556 */ 's', 'm', 'u', 'l', 'l', 9, 0, |
| /* 3563 */ 'u', 'm', 'u', 'l', 'l', 9, 0, |
| /* 3570 */ 'l', 'd', 's', 'm', 'i', 'n', 'l', 9, 0, |
| /* 3579 */ 'l', 'd', 'u', 'm', 'i', 'n', 'l', 9, 0, |
| /* 3588 */ 'a', 'd', 'd', 'p', 'l', 9, 0, |
| /* 3595 */ 'c', 'a', 's', 'p', 'l', 9, 0, |
| /* 3602 */ 's', 'w', 'p', 'l', 9, 0, |
| /* 3608 */ 'l', 'd', 'c', 'l', 'r', 'l', 9, 0, |
| /* 3616 */ 'l', 'd', 'e', 'o', 'r', 'l', 9, 0, |
| /* 3624 */ 'c', 'a', 's', 'l', 9, 0, |
| /* 3630 */ 'b', 's', 'l', 9, 0, |
| /* 3635 */ 's', 'q', 'd', 'm', 'l', 's', 'l', 9, 0, |
| /* 3644 */ 's', 'm', 'l', 's', 'l', 9, 0, |
| /* 3651 */ 'u', 'm', 'l', 's', 'l', 9, 0, |
| /* 3658 */ 's', 'y', 's', 'l', 9, 0, |
| /* 3664 */ 'l', 'd', 's', 'e', 't', 'l', 9, 0, |
| /* 3672 */ 'f', 'c', 'v', 't', 'l', 9, 0, |
| /* 3679 */ 'f', 'm', 'u', 'l', 9, 0, |
| /* 3685 */ 'f', 'n', 'm', 'u', 'l', 9, 0, |
| /* 3692 */ 'p', 'm', 'u', 'l', 9, 0, |
| /* 3698 */ 'f', 't', 's', 'm', 'u', 'l', 9, 0, |
| /* 3706 */ 'a', 'd', 'd', 'v', 'l', 9, 0, |
| /* 3713 */ 'r', 'd', 'v', 'l', 9, 0, |
| /* 3719 */ 'l', 'd', 's', 'm', 'a', 'x', 'l', 9, 0, |
| /* 3728 */ 'l', 'd', 'u', 'm', 'a', 'x', 'l', 9, 0, |
| /* 3737 */ 's', 'h', 'a', '1', 'm', 9, 0, |
| /* 3744 */ 's', 'b', 'f', 'm', 9, 0, |
| /* 3750 */ 'u', 'b', 'f', 'm', 9, 0, |
| /* 3756 */ 'p', 'r', 'f', 'm', 9, 0, |
| /* 3762 */ 'f', 'm', 'i', 'n', 'n', 'm', 9, 0, |
| /* 3770 */ 'f', 'm', 'a', 'x', 'n', 'm', 9, 0, |
| /* 3778 */ 'd', 'u', 'p', 'm', 9, 0, |
| /* 3784 */ 'f', 'r', 'i', 'n', 't', 'm', 9, 0, |
| /* 3792 */ 'p', 'r', 'f', 'u', 'm', 9, 0, |
| /* 3799 */ 'r', 's', 'u', 'b', 'h', 'n', 9, 0, |
| /* 3807 */ 'r', 'a', 'd', 'd', 'h', 'n', 9, 0, |
| /* 3815 */ 'f', 'm', 'i', 'n', 9, 0, |
| /* 3821 */ 'l', 'd', 's', 'm', 'i', 'n', 9, 0, |
| /* 3829 */ 'l', 'd', 'u', 'm', 'i', 'n', 9, 0, |
| /* 3837 */ 'b', 'r', 'k', 'n', 9, 0, |
| /* 3843 */ 'c', 'c', 'm', 'n', 9, 0, |
| /* 3849 */ 'e', 'o', 'n', 9, 0, |
| /* 3854 */ 's', 'q', 's', 'h', 'r', 'n', 9, 0, |
| /* 3862 */ 'u', 'q', 's', 'h', 'r', 'n', 9, 0, |
| /* 3870 */ 's', 'q', 'r', 's', 'h', 'r', 'n', 9, 0, |
| /* 3879 */ 'u', 'q', 'r', 's', 'h', 'r', 'n', 9, 0, |
| /* 3888 */ 'o', 'r', 'n', 9, 0, |
| /* 3893 */ 'f', 'r', 'i', 'n', 't', 'n', 9, 0, |
| /* 3901 */ 'f', 'c', 'v', 't', 'n', 9, 0, |
| /* 3908 */ 's', 'q', 'x', 't', 'n', 9, 0, |
| /* 3915 */ 'u', 'q', 'x', 't', 'n', 9, 0, |
| /* 3922 */ 's', 'q', 's', 'h', 'r', 'u', 'n', 9, 0, |
| /* 3931 */ 's', 'q', 'r', 's', 'h', 'r', 'u', 'n', 9, 0, |
| /* 3941 */ 's', 'q', 'x', 't', 'u', 'n', 9, 0, |
| /* 3949 */ 'm', 'o', 'v', 'n', 9, 0, |
| /* 3955 */ 'f', 'c', 'v', 't', 'x', 'n', 9, 0, |
| /* 3963 */ 'w', 'h', 'i', 'l', 'e', 'l', 'o', 9, 0, |
| /* 3972 */ 'p', 'u', 'n', 'p', 'k', 'l', 'o', 9, 0, |
| /* 3981 */ 's', 'u', 'n', 'p', 'k', 'l', 'o', 9, 0, |
| /* 3990 */ 'u', 'u', 'n', 'p', 'k', 'l', 'o', 9, 0, |
| /* 3999 */ 'c', 'm', 'p', 'l', 'o', 9, 0, |
| /* 4006 */ 'f', 'c', 'm', 'u', 'o', 9, 0, |
| /* 4013 */ 's', 'h', 'a', '1', 'p', 9, 0, |
| /* 4020 */ 's', 'q', 'd', 'e', 'c', 'p', 9, 0, |
| /* 4028 */ 'u', 'q', 'd', 'e', 'c', 'p', 9, 0, |
| /* 4036 */ 's', 'q', 'i', 'n', 'c', 'p', 9, 0, |
| /* 4044 */ 'u', 'q', 'i', 'n', 'c', 'p', 9, 0, |
| /* 4052 */ 'f', 'a', 'd', 'd', 'p', 9, 0, |
| /* 4059 */ 'l', 'd', 'p', 9, 0, |
| /* 4064 */ 's', 'a', 'd', 'a', 'l', 'p', 9, 0, |
| /* 4072 */ 'u', 'a', 'd', 'a', 'l', 'p', 9, 0, |
| /* 4080 */ 's', 'a', 'd', 'd', 'l', 'p', 9, 0, |
| /* 4088 */ 'u', 'a', 'd', 'd', 'l', 'p', 9, 0, |
| /* 4096 */ 'f', 'c', 'c', 'm', 'p', 9, 0, |
| /* 4103 */ 'f', 'c', 'm', 'p', 9, 0, |
| /* 4109 */ 'f', 'm', 'i', 'n', 'n', 'm', 'p', 9, 0, |
| /* 4118 */ 'f', 'm', 'a', 'x', 'n', 'm', 'p', 9, 0, |
| /* 4127 */ 'l', 'd', 'n', 'p', 9, 0, |
| /* 4133 */ 'f', 'm', 'i', 'n', 'p', 9, 0, |
| /* 4140 */ 's', 'm', 'i', 'n', 'p', 9, 0, |
| /* 4147 */ 'u', 'm', 'i', 'n', 'p', 9, 0, |
| /* 4154 */ 's', 't', 'n', 'p', 9, 0, |
| /* 4160 */ 'a', 'd', 'r', 'p', 9, 0, |
| /* 4166 */ 'c', 'a', 's', 'p', 9, 0, |
| /* 4172 */ 'c', 'n', 't', 'p', 9, 0, |
| /* 4178 */ 'f', 'r', 'i', 'n', 't', 'p', 9, 0, |
| /* 4186 */ 's', 't', 'p', 9, 0, |
| /* 4191 */ 'f', 'd', 'u', 'p', 9, 0, |
| /* 4197 */ 's', 'w', 'p', 9, 0, |
| /* 4202 */ 'l', 'd', 'a', 'x', 'p', 9, 0, |
| /* 4209 */ 'f', 'm', 'a', 'x', 'p', 9, 0, |
| /* 4216 */ 's', 'm', 'a', 'x', 'p', 9, 0, |
| /* 4223 */ 'u', 'm', 'a', 'x', 'p', 9, 0, |
| /* 4230 */ 'l', 'd', 'x', 'p', 9, 0, |
| /* 4236 */ 's', 't', 'l', 'x', 'p', 9, 0, |
| /* 4243 */ 's', 't', 'x', 'p', 9, 0, |
| /* 4249 */ 'f', 'c', 'm', 'e', 'q', 9, 0, |
| /* 4256 */ 'c', 't', 'e', 'r', 'm', 'e', 'q', 9, 0, |
| /* 4265 */ 'c', 'm', 'p', 'e', 'q', 9, 0, |
| /* 4272 */ 'l', 'd', '1', 'r', 9, 0, |
| /* 4278 */ 'l', 'd', '2', 'r', 9, 0, |
| /* 4284 */ 'l', 'd', '3', 'r', 9, 0, |
| /* 4290 */ 'l', 'd', '4', 'r', 9, 0, |
| /* 4296 */ 'l', 'd', 'a', 'r', 9, 0, |
| /* 4302 */ 'l', 'd', 'l', 'a', 'r', 9, 0, |
| /* 4309 */ 'x', 'a', 'r', 9, 0, |
| /* 4314 */ 'f', 's', 'u', 'b', 'r', 9, 0, |
| /* 4321 */ 'a', 'd', 'r', 9, 0, |
| /* 4326 */ 'l', 'd', 'r', 9, 0, |
| /* 4331 */ 'r', 'd', 'f', 'f', 'r', 9, 0, |
| /* 4338 */ 'w', 'r', 'f', 'f', 'r', 9, 0, |
| /* 4345 */ 's', 'r', 's', 'h', 'r', 9, 0, |
| /* 4352 */ 'u', 'r', 's', 'h', 'r', 9, 0, |
| /* 4359 */ 's', 's', 'h', 'r', 9, 0, |
| /* 4365 */ 'u', 's', 'h', 'r', 9, 0, |
| /* 4371 */ 'b', 'l', 'r', 9, 0, |
| /* 4376 */ 'l', 'd', 'c', 'l', 'r', 9, 0, |
| /* 4383 */ 's', 't', 'l', 'l', 'r', 9, 0, |
| /* 4390 */ 'l', 's', 'l', 'r', 9, 0, |
| /* 4396 */ 's', 't', 'l', 'r', 9, 0, |
| /* 4402 */ 'l', 'd', 'e', 'o', 'r', 9, 0, |
| /* 4409 */ 'n', 'o', 'r', 9, 0, |
| /* 4414 */ 'r', 'o', 'r', 9, 0, |
| /* 4419 */ 'l', 'd', 'a', 'p', 'r', 9, 0, |
| /* 4426 */ 'o', 'r', 'r', 9, 0, |
| /* 4431 */ 'a', 's', 'r', 'r', 9, 0, |
| /* 4437 */ 'l', 's', 'r', 'r', 9, 0, |
| /* 4443 */ 'a', 's', 'r', 9, 0, |
| /* 4448 */ 'l', 's', 'r', 9, 0, |
| /* 4453 */ 'm', 's', 'r', 9, 0, |
| /* 4458 */ 'i', 'n', 's', 'r', 9, 0, |
| /* 4464 */ 'l', 'd', 't', 'r', 9, 0, |
| /* 4470 */ 's', 't', 'r', 9, 0, |
| /* 4475 */ 's', 't', 't', 'r', 9, 0, |
| /* 4481 */ 'e', 'x', 't', 'r', 9, 0, |
| /* 4487 */ 'l', 'd', 'u', 'r', 9, 0, |
| /* 4493 */ 's', 't', 'l', 'u', 'r', 9, 0, |
| /* 4500 */ 'l', 'd', 'a', 'p', 'u', 'r', 9, 0, |
| /* 4508 */ 's', 't', 'u', 'r', 9, 0, |
| /* 4514 */ 'f', 'd', 'i', 'v', 'r', 9, 0, |
| /* 4521 */ 's', 'd', 'i', 'v', 'r', 9, 0, |
| /* 4528 */ 'u', 'd', 'i', 'v', 'r', 9, 0, |
| /* 4535 */ 'l', 'd', 'a', 'x', 'r', 9, 0, |
| /* 4542 */ 'l', 'd', 'x', 'r', 9, 0, |
| /* 4548 */ 's', 't', 'l', 'x', 'r', 9, 0, |
| /* 4555 */ 's', 't', 'x', 'r', 9, 0, |
| /* 4561 */ 'c', 'a', 's', 9, 0, |
| /* 4566 */ 'b', 'r', 'k', 'a', 's', 9, 0, |
| /* 4573 */ 'b', 'r', 'k', 'p', 'a', 's', 9, 0, |
| /* 4581 */ 'f', 'c', 'v', 't', 'a', 's', 9, 0, |
| /* 4589 */ 'f', 'a', 'b', 's', 9, 0, |
| /* 4595 */ 's', 'q', 'a', 'b', 's', 9, 0, |
| /* 4602 */ 'b', 'r', 'k', 'b', 's', 9, 0, |
| /* 4609 */ 'b', 'r', 'k', 'p', 'b', 's', 9, 0, |
| /* 4617 */ 's', 'u', 'b', 's', 9, 0, |
| /* 4623 */ 's', 'b', 'c', 's', 9, 0, |
| /* 4629 */ 'a', 'd', 'c', 's', 9, 0, |
| /* 4635 */ 'b', 'i', 'c', 's', 9, 0, |
| /* 4641 */ 'a', 'd', 'd', 's', 9, 0, |
| /* 4647 */ 'n', 'a', 'n', 'd', 's', 9, 0, |
| /* 4654 */ 'p', 't', 'r', 'u', 'e', 's', 9, 0, |
| /* 4662 */ 'c', 'm', 'h', 's', 9, 0, |
| /* 4668 */ 'c', 'm', 'p', 'h', 's', 9, 0, |
| /* 4675 */ 'c', 'l', 's', 9, 0, |
| /* 4680 */ 'w', 'h', 'i', 'l', 'e', 'l', 's', 9, 0, |
| /* 4689 */ 'f', 'm', 'l', 's', 9, 0, |
| /* 4695 */ 'f', 'n', 'm', 'l', 's', 9, 0, |
| /* 4702 */ 'c', 'm', 'p', 'l', 's', 9, 0, |
| /* 4709 */ 'f', 'c', 'v', 't', 'm', 's', 9, 0, |
| /* 4717 */ 'i', 'n', 's', 9, 0, |
| /* 4722 */ 'b', 'r', 'k', 'n', 's', 9, 0, |
| /* 4729 */ 'o', 'r', 'n', 's', 9, 0, |
| /* 4735 */ 'f', 'c', 'v', 't', 'n', 's', 9, 0, |
| /* 4743 */ 'f', 'r', 'e', 'c', 'p', 's', 9, 0, |
| /* 4751 */ 'f', 'c', 'v', 't', 'p', 's', 9, 0, |
| /* 4759 */ 'r', 'd', 'f', 'f', 'r', 's', 9, 0, |
| /* 4767 */ 'm', 'r', 's', 9, 0, |
| /* 4772 */ 'e', 'o', 'r', 's', 9, 0, |
| /* 4778 */ 'n', 'o', 'r', 's', 9, 0, |
| /* 4784 */ 'o', 'r', 'r', 's', 9, 0, |
| /* 4790 */ 'f', 'r', 's', 'q', 'r', 't', 's', 9, 0, |
| /* 4799 */ 's', 'y', 's', 9, 0, |
| /* 4804 */ 'f', 'c', 'v', 't', 'z', 's', 9, 0, |
| /* 4812 */ 'f', 'j', 'c', 'v', 't', 'z', 's', 9, 0, |
| /* 4821 */ 'c', 'o', 'm', 'p', 'a', 'c', 't', 9, 0, |
| /* 4830 */ 'r', 'e', 't', 9, 0, |
| /* 4835 */ 'l', 'd', 's', 'e', 't', 9, 0, |
| /* 4842 */ 'f', 'a', 'c', 'g', 't', 9, 0, |
| /* 4849 */ 'f', 'c', 'm', 'g', 't', 9, 0, |
| /* 4856 */ 'c', 'm', 'p', 'g', 't', 9, 0, |
| /* 4863 */ 'r', 'b', 'i', 't', 9, 0, |
| /* 4869 */ 'w', 'h', 'i', 'l', 'e', 'l', 't', 9, 0, |
| /* 4878 */ 'h', 'l', 't', 9, 0, |
| /* 4883 */ 'f', 'c', 'm', 'l', 't', 9, 0, |
| /* 4890 */ 'c', 'm', 'p', 'l', 't', 9, 0, |
| /* 4897 */ 'c', 'n', 't', 9, 0, |
| /* 4902 */ 'h', 'i', 'n', 't', 9, 0, |
| /* 4908 */ 's', 'd', 'o', 't', 9, 0, |
| /* 4914 */ 'u', 'd', 'o', 't', 9, 0, |
| /* 4920 */ 'c', 'n', 'o', 't', 9, 0, |
| /* 4926 */ 'f', 's', 'q', 'r', 't', 9, 0, |
| /* 4933 */ 'p', 't', 'e', 's', 't', 9, 0, |
| /* 4940 */ 'p', 'f', 'i', 'r', 's', 't', 9, 0, |
| /* 4948 */ 'c', 'm', 't', 's', 't', 9, 0, |
| /* 4955 */ 'f', 'c', 'v', 't', 9, 0, |
| /* 4961 */ 'p', 'n', 'e', 'x', 't', 9, 0, |
| /* 4968 */ 'f', 'c', 'v', 't', 'a', 'u', 9, 0, |
| /* 4976 */ 's', 'q', 's', 'h', 'l', 'u', 9, 0, |
| /* 4984 */ 'f', 'c', 'v', 't', 'm', 'u', 9, 0, |
| /* 4992 */ 'f', 'c', 'v', 't', 'n', 'u', 9, 0, |
| /* 5000 */ 'f', 'c', 'v', 't', 'p', 'u', 9, 0, |
| /* 5008 */ 'f', 'c', 'v', 't', 'z', 'u', 9, 0, |
| /* 5016 */ 'f', 'a', 'd', 'd', 'v', 9, 0, |
| /* 5023 */ 's', 'a', 'd', 'd', 'v', 9, 0, |
| /* 5030 */ 'u', 'a', 'd', 'd', 'v', 9, 0, |
| /* 5037 */ 'a', 'n', 'd', 'v', 9, 0, |
| /* 5043 */ 'r', 'e', 'v', 9, 0, |
| /* 5048 */ 'f', 'd', 'i', 'v', 9, 0, |
| /* 5054 */ 's', 'd', 'i', 'v', 9, 0, |
| /* 5060 */ 'u', 'd', 'i', 'v', 9, 0, |
| /* 5066 */ 's', 'a', 'd', 'd', 'l', 'v', 9, 0, |
| /* 5074 */ 'u', 'a', 'd', 'd', 'l', 'v', 9, 0, |
| /* 5082 */ 'f', 'm', 'i', 'n', 'n', 'm', 'v', 9, 0, |
| /* 5091 */ 'f', 'm', 'a', 'x', 'n', 'm', 'v', 9, 0, |
| /* 5100 */ 'f', 'm', 'i', 'n', 'v', 9, 0, |
| /* 5107 */ 's', 'm', 'i', 'n', 'v', 9, 0, |
| /* 5114 */ 'u', 'm', 'i', 'n', 'v', 9, 0, |
| /* 5121 */ 'c', 's', 'i', 'n', 'v', 9, 0, |
| /* 5128 */ 'f', 'm', 'o', 'v', 9, 0, |
| /* 5134 */ 's', 'm', 'o', 'v', 9, 0, |
| /* 5140 */ 'u', 'm', 'o', 'v', 9, 0, |
| /* 5146 */ 'e', 'o', 'r', 'v', 9, 0, |
| /* 5152 */ 'f', 'm', 'a', 'x', 'v', 9, 0, |
| /* 5159 */ 's', 'm', 'a', 'x', 'v', 9, 0, |
| /* 5166 */ 'u', 'm', 'a', 'x', 'v', 9, 0, |
| /* 5173 */ 'l', 'd', '1', 'w', 9, 0, |
| /* 5179 */ 'l', 'd', 'f', 'f', '1', 'w', 9, 0, |
| /* 5187 */ 'l', 'd', 'n', 'f', '1', 'w', 9, 0, |
| /* 5195 */ 'l', 'd', 'n', 't', '1', 'w', 9, 0, |
| /* 5203 */ 's', 't', 'n', 't', '1', 'w', 9, 0, |
| /* 5211 */ 's', 't', '1', 'w', 9, 0, |
| /* 5217 */ 'c', 'r', 'c', '3', '2', 'w', 9, 0, |
| /* 5225 */ 'l', 'd', '2', 'w', 9, 0, |
| /* 5231 */ 's', 't', '2', 'w', 9, 0, |
| /* 5237 */ 'l', 'd', '3', 'w', 9, 0, |
| /* 5243 */ 's', 't', '3', 'w', 9, 0, |
| /* 5249 */ 'l', 'd', '4', 'w', 9, 0, |
| /* 5255 */ 's', 't', '4', 'w', 9, 0, |
| /* 5261 */ 's', 's', 'u', 'b', 'w', 9, 0, |
| /* 5268 */ 'u', 's', 'u', 'b', 'w', 9, 0, |
| /* 5275 */ 'c', 'r', 'c', '3', '2', 'c', 'w', 9, 0, |
| /* 5284 */ 's', 'q', 'd', 'e', 'c', 'w', 9, 0, |
| /* 5292 */ 'u', 'q', 'd', 'e', 'c', 'w', 9, 0, |
| /* 5300 */ 's', 'q', 'i', 'n', 'c', 'w', 9, 0, |
| /* 5308 */ 'u', 'q', 'i', 'n', 'c', 'w', 9, 0, |
| /* 5316 */ 's', 'a', 'd', 'd', 'w', 9, 0, |
| /* 5323 */ 'u', 'a', 'd', 'd', 'w', 9, 0, |
| /* 5330 */ 'p', 'r', 'f', 'w', 9, 0, |
| /* 5336 */ 'l', 'd', '1', 'r', 'q', 'w', 9, 0, |
| /* 5344 */ 'l', 'd', '1', 'r', 'w', 9, 0, |
| /* 5351 */ 'l', 'd', '1', 's', 'w', 9, 0, |
| /* 5358 */ 'l', 'd', 'f', 'f', '1', 's', 'w', 9, 0, |
| /* 5367 */ 'l', 'd', 'n', 'f', '1', 's', 'w', 9, 0, |
| /* 5376 */ 'l', 'd', 'p', 's', 'w', 9, 0, |
| /* 5383 */ 'l', 'd', '1', 'r', 's', 'w', 9, 0, |
| /* 5391 */ 'l', 'd', 'r', 's', 'w', 9, 0, |
| /* 5398 */ 'l', 'd', 't', 'r', 's', 'w', 9, 0, |
| /* 5406 */ 'l', 'd', 'u', 'r', 's', 'w', 9, 0, |
| /* 5414 */ 'l', 'd', 'a', 'p', 'u', 'r', 's', 'w', 9, 0, |
| /* 5424 */ 'c', 'n', 't', 'w', 9, 0, |
| /* 5430 */ 's', 'x', 't', 'w', 9, 0, |
| /* 5436 */ 'u', 'x', 't', 'w', 9, 0, |
| /* 5442 */ 'r', 'e', 'v', 'w', 9, 0, |
| /* 5448 */ 'c', 'r', 'c', '3', '2', 'x', 9, 0, |
| /* 5456 */ 'b', 'c', 'a', 'x', 9, 0, |
| /* 5462 */ 'f', 'm', 'a', 'x', 9, 0, |
| /* 5468 */ 'l', 'd', 's', 'm', 'a', 'x', 9, 0, |
| /* 5476 */ 'l', 'd', 'u', 'm', 'a', 'x', 9, 0, |
| /* 5484 */ 't', 'b', 'x', 9, 0, |
| /* 5489 */ 'c', 'r', 'c', '3', '2', 'c', 'x', 9, 0, |
| /* 5498 */ 'i', 'n', 'd', 'e', 'x', 9, 0, |
| /* 5505 */ 'c', 'l', 'r', 'e', 'x', 9, 0, |
| /* 5512 */ 'm', 'o', 'v', 'p', 'r', 'f', 'x', 9, 0, |
| /* 5521 */ 'f', 'm', 'u', 'l', 'x', 9, 0, |
| /* 5528 */ 'f', 'r', 'e', 'c', 'p', 'x', 9, 0, |
| /* 5536 */ 'f', 'r', 'i', 'n', 't', 'x', 9, 0, |
| /* 5544 */ 's', 'm', '4', 'e', 'k', 'e', 'y', 9, 0, |
| /* 5553 */ 'f', 'c', 'p', 'y', 9, 0, |
| /* 5559 */ 'b', 'r', 'a', 'a', 'z', 9, 0, |
| /* 5566 */ 'b', 'l', 'r', 'a', 'a', 'z', 9, 0, |
| /* 5574 */ 'b', 'r', 'a', 'b', 'z', 9, 0, |
| /* 5581 */ 'b', 'l', 'r', 'a', 'b', 'z', 9, 0, |
| /* 5589 */ 'c', 'b', 'z', 9, 0, |
| /* 5594 */ 't', 'b', 'z', 9, 0, |
| /* 5599 */ 'c', 'l', 'z', 9, 0, |
| /* 5604 */ 'c', 'b', 'n', 'z', 9, 0, |
| /* 5610 */ 't', 'b', 'n', 'z', 9, 0, |
| /* 5616 */ 'f', 'r', 'i', 'n', 't', 'z', 9, 0, |
| /* 5624 */ 'm', 'o', 'v', 'z', 9, 0, |
| /* 5630 */ '.', 't', 'l', 's', 'd', 'e', 's', 'c', 'c', 'a', 'l', 'l', 32, 0, |
| /* 5644 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'P', 'a', 't', 'c', 'h', 'a', 'b', 'l', 'e', 32, 'R', 'E', 'T', '.', 0, |
| /* 5675 */ 'b', '.', 0, |
| /* 5678 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'y', 'p', 'e', 'd', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0, |
| /* 5702 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0, |
| /* 5727 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0, |
| /* 5750 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0, |
| /* 5773 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0, |
| /* 5795 */ 'p', 'a', 'c', 'i', 'a', '1', '7', '1', '6', 0, |
| /* 5805 */ 'a', 'u', 't', 'i', 'a', '1', '7', '1', '6', 0, |
| /* 5815 */ 'p', 'a', 'c', 'i', 'b', '1', '7', '1', '6', 0, |
| /* 5825 */ 'a', 'u', 't', 'i', 'b', '1', '7', '1', '6', 0, |
| /* 5835 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0, |
| /* 5848 */ 'B', 'U', 'N', 'D', 'L', 'E', 0, |
| /* 5855 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0, |
| /* 5865 */ 'D', 'B', 'G', '_', 'L', 'A', 'B', 'E', 'L', 0, |
| /* 5875 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0, |
| /* 5890 */ 'e', 'r', 'e', 't', 'a', 'a', 0, |
| /* 5897 */ 'e', 'r', 'e', 't', 'a', 'b', 0, |
| /* 5904 */ 'x', 'p', 'a', 'c', 'l', 'r', 'i', 0, |
| /* 5912 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0, |
| /* 5926 */ 'p', 'a', 'c', 'i', 'a', 's', 'p', 0, |
| /* 5934 */ 'a', 'u', 't', 'i', 'a', 's', 'p', 0, |
| /* 5942 */ 'p', 'a', 'c', 'i', 'b', 's', 'p', 0, |
| /* 5950 */ 'a', 'u', 't', 'i', 'b', 's', 'p', 0, |
| /* 5958 */ 's', 'e', 't', 'f', 'f', 'r', 0, |
| /* 5965 */ 'd', 'r', 'p', 's', 0, |
| /* 5970 */ 'e', 'r', 'e', 't', 0, |
| /* 5975 */ 'c', 'f', 'i', 'n', 'v', 0, |
| /* 5981 */ 'p', 'a', 'c', 'i', 'a', 'z', 0, |
| /* 5988 */ 'a', 'u', 't', 'i', 'a', 'z', 0, |
| /* 5995 */ 'p', 'a', 'c', 'i', 'b', 'z', 0, |
| /* 6002 */ 'a', 'u', 't', 'i', 'b', 'z', 0, |
| }; |
| |
| static const uint32_t OpInfo0[] = { |
| 0U, // PHI |
| 0U, // INLINEASM |
| 0U, // CFI_INSTRUCTION |
| 0U, // EH_LABEL |
| 0U, // GC_LABEL |
| 0U, // ANNOTATION_LABEL |
| 0U, // KILL |
| 0U, // EXTRACT_SUBREG |
| 0U, // INSERT_SUBREG |
| 0U, // IMPLICIT_DEF |
| 0U, // SUBREG_TO_REG |
| 0U, // COPY_TO_REGCLASS |
| 5856U, // DBG_VALUE |
| 5866U, // DBG_LABEL |
| 0U, // REG_SEQUENCE |
| 0U, // COPY |
| 5849U, // BUNDLE |
| 5876U, // LIFETIME_START |
| 5836U, // LIFETIME_END |
| 0U, // STACKMAP |
| 5913U, // FENTRY_CALL |
| 0U, // PATCHPOINT |
| 0U, // LOAD_STACK_GUARD |
| 0U, // STATEPOINT |
| 0U, // LOCAL_ESCAPE |
| 0U, // FAULTING_OP |
| 0U, // PATCHABLE_OP |
| 5728U, // PATCHABLE_FUNCTION_ENTER |
| 5645U, // PATCHABLE_RET |
| 5774U, // PATCHABLE_FUNCTION_EXIT |
| 5751U, // PATCHABLE_TAIL_CALL |
| 5703U, // PATCHABLE_EVENT_CALL |
| 5679U, // PATCHABLE_TYPED_EVENT_CALL |
| 0U, // ICALL_BRANCH_FUNNEL |
| 0U, // G_ADD |
| 0U, // G_SUB |
| 0U, // G_MUL |
| 0U, // G_SDIV |
| 0U, // G_UDIV |
| 0U, // G_SREM |
| 0U, // G_UREM |
| 0U, // G_AND |
| 0U, // G_OR |
| 0U, // G_XOR |
| 0U, // G_IMPLICIT_DEF |
| 0U, // G_PHI |
| 0U, // G_FRAME_INDEX |
| 0U, // G_GLOBAL_VALUE |
| 0U, // G_EXTRACT |
| 0U, // G_UNMERGE_VALUES |
| 0U, // G_INSERT |
| 0U, // G_MERGE_VALUES |
| 0U, // G_PTRTOINT |
| 0U, // G_INTTOPTR |
| 0U, // G_BITCAST |
| 0U, // G_LOAD |
| 0U, // G_SEXTLOAD |
| 0U, // G_ZEXTLOAD |
| 0U, // G_STORE |
| 0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS |
| 0U, // G_ATOMIC_CMPXCHG |
| 0U, // G_ATOMICRMW_XCHG |
| 0U, // G_ATOMICRMW_ADD |
| 0U, // G_ATOMICRMW_SUB |
| 0U, // G_ATOMICRMW_AND |
| 0U, // G_ATOMICRMW_NAND |
| 0U, // G_ATOMICRMW_OR |
| 0U, // G_ATOMICRMW_XOR |
| 0U, // G_ATOMICRMW_MAX |
| 0U, // G_ATOMICRMW_MIN |
| 0U, // G_ATOMICRMW_UMAX |
| 0U, // G_ATOMICRMW_UMIN |
| 0U, // G_BRCOND |
| 0U, // G_BRINDIRECT |
| 0U, // G_INTRINSIC |
| 0U, // G_INTRINSIC_W_SIDE_EFFECTS |
| 0U, // G_ANYEXT |
| 0U, // G_TRUNC |
| 0U, // G_CONSTANT |
| 0U, // G_FCONSTANT |
| 0U, // G_VASTART |
| 0U, // G_VAARG |
| 0U, // G_SEXT |
| 0U, // G_ZEXT |
| 0U, // G_SHL |
| 0U, // G_LSHR |
| 0U, // G_ASHR |
| 0U, // G_ICMP |
| 0U, // G_FCMP |
| 0U, // G_SELECT |
| 0U, // G_UADDE |
| 0U, // G_USUBE |
| 0U, // G_SADDO |
| 0U, // G_SSUBO |
| 0U, // G_UMULO |
| 0U, // G_SMULO |
| 0U, // G_UMULH |
| 0U, // G_SMULH |
| 0U, // G_FADD |
| 0U, // G_FSUB |
| 0U, // G_FMUL |
| 0U, // G_FMA |
| 0U, // G_FDIV |
| 0U, // G_FREM |
| 0U, // G_FPOW |
| 0U, // G_FEXP |
| 0U, // G_FEXP2 |
| 0U, // G_FLOG |
| 0U, // G_FLOG2 |
| 0U, // G_FNEG |
| 0U, // G_FPEXT |
| 0U, // G_FPTRUNC |
| 0U, // G_FPTOSI |
| 0U, // G_FPTOUI |
| 0U, // G_SITOFP |
| 0U, // G_UITOFP |
| 0U, // G_FABS |
| 0U, // G_GEP |
| 0U, // G_PTR_MASK |
| 0U, // G_BR |
| 0U, // G_INSERT_VECTOR_ELT |
| 0U, // G_EXTRACT_VECTOR_ELT |
| 0U, // G_SHUFFLE_VECTOR |
| 0U, // G_BSWAP |
| 0U, // G_ADDRSPACE_CAST |
| 0U, // G_BLOCK_ADDR |
| 12783U, // ABS_ZPmZ_B |
| 20975U, // ABS_ZPmZ_D |
| 2181591535U, // ABS_ZPmZ_H |
| 37359U, // ABS_ZPmZ_S |
| 68202991U, // ABSv16i8 |
| 2248200687U, // ABSv1i64 |
| 68727279U, // ABSv2i32 |
| 2216735215U, // ABSv2i64 |
| 69775855U, // ABSv4i16 |
| 2217783791U, // ABSv4i32 |
| 70824431U, // ABSv8i16 |
| 2218832367U, // ABSv8i8 |
| 100717078U, // ADCSWr |
| 100717078U, // ADCSXr |
| 100714262U, // ADCWr |
| 100714262U, // ADCXr |
| 2216210145U, // ADDHNv2i64_v2i32 |
| 2284904787U, // ADDHNv2i64_v4i32 |
| 69775073U, // ADDHNv4i32_v4i16 |
| 137945427U, // ADDHNv4i32_v8i16 |
| 2282807635U, // ADDHNv8i16_v16i8 |
| 2218831585U, // ADDHNv8i16_v8i8 |
| 100716037U, // ADDPL_XXI |
| 68202454U, // ADDPv16i8 |
| 2216210390U, // ADDPv2i32 |
| 2216734678U, // ADDPv2i64 |
| 2214645718U, // ADDPv2i64p |
| 69775318U, // ADDPv4i16 |
| 70299606U, // ADDPv4i32 |
| 2218307542U, // ADDPv8i16 |
| 2218831830U, // ADDPv8i8 |
| 100717090U, // ADDSWri |
| 0U, // ADDSWrr |
| 100717090U, // ADDSWrs |
| 100717090U, // ADDSWrx |
| 100717090U, // ADDSXri |
| 0U, // ADDSXrr |
| 100717090U, // ADDSXrs |
| 100717090U, // ADDSXrx |
| 100717090U, // ADDSXrx64 |
| 100716155U, // ADDVL_XXI |
| 67163034U, // ADDVv16i8v |
| 67163034U, // ADDVv4i16v |
| 2214646682U, // ADDVv4i32v |
| 67163034U, // ADDVv8i16v |
| 2214646682U, // ADDVv8i8v |
| 100714463U, // ADDWri |
| 0U, // ADDWrr |
| 100714463U, // ADDWrs |
| 100714463U, // ADDWrx |
| 100714463U, // ADDXri |
| 0U, // ADDXrr |
| 100714463U, // ADDXrs |
| 100714463U, // ADDXrx |
| 100714463U, // ADDXrx64 |
| 167782367U, // ADD_ZI_B |
| 201344991U, // ADD_ZI_D |
| 239626207U, // ADD_ZI_H |
| 268470239U, // ADD_ZI_S |
| 302000095U, // ADD_ZPmZ_B |
| 302008287U, // ADD_ZPmZ_D |
| 2186307551U, // ADD_ZPmZ_H |
| 302024671U, // ADD_ZPmZ_S |
| 167782367U, // ADD_ZZZ_B |
| 201344991U, // ADD_ZZZ_D |
| 2387109855U, // ADD_ZZZ_H |
| 268470239U, // ADD_ZZZ_S |
| 0U, // ADDlowTLS |
| 68200415U, // ADDv16i8 |
| 100714463U, // ADDv1i64 |
| 2216208351U, // ADDv2i32 |
| 2216732639U, // ADDv2i64 |
| 69773279U, // ADDv4i16 |
| 70297567U, // ADDv4i32 |
| 2218305503U, // ADDv8i16 |
| 2218829791U, // ADDv8i8 |
| 0U, // ADJCALLSTACKDOWN |
| 0U, // ADJCALLSTACKUP |
| 2248200418U, // ADR |
| 335597633U, // ADRP |
| 207114466U, // ADR_LSL_ZZZ_D_0 |
| 207114466U, // ADR_LSL_ZZZ_D_1 |
| 207114466U, // ADR_LSL_ZZZ_D_2 |
| 207114466U, // ADR_LSL_ZZZ_D_3 |
| 274239714U, // ADR_LSL_ZZZ_S_0 |
| 274239714U, // ADR_LSL_ZZZ_S_1 |
| 274239714U, // ADR_LSL_ZZZ_S_2 |
| 274239714U, // ADR_LSL_ZZZ_S_3 |
| 207114466U, // ADR_SXTW_ZZZ_D_0 |
| 207114466U, // ADR_SXTW_ZZZ_D_1 |
| 207114466U, // ADR_SXTW_ZZZ_D_2 |
| 207114466U, // ADR_SXTW_ZZZ_D_3 |
| 207114466U, // ADR_UXTW_ZZZ_D_0 |
| 207114466U, // ADR_UXTW_ZZZ_D_1 |
| 207114466U, // ADR_UXTW_ZZZ_D_2 |
| 207114466U, // ADR_UXTW_ZZZ_D_3 |
| 135325775U, // AESDrr |
| 135325907U, // AESErr |
| 68200224U, // AESIMCrr |
| 0U, // AESIMCrrTied |
| 68200232U, // AESMCrr |
| 0U, // AESMCrrTied |
| 100717097U, // ANDSWri |
| 0U, // ANDSWrr |
| 100717097U, // ANDSWrs |
| 100717097U, // ANDSXri |
| 0U, // ANDSXrr |
| 100717097U, // ANDSXrs |
| 302002729U, // ANDS_PPzPP |
| 302044078U, // ANDV_VPZ_B |
| 302044078U, // ANDV_VPZ_D |
| 302044078U, // ANDV_VPZ_H |
| 302044078U, // ANDV_VPZ_S |
| 100714549U, // ANDWri |
| 0U, // ANDWrr |
| 100714549U, // ANDWrs |
| 100714549U, // ANDXri |
| 0U, // ANDXrr |
| 100714549U, // ANDXrs |
| 302000181U, // AND_PPzPP |
| 201345077U, // AND_ZI |
| 302000181U, // AND_ZPmZ_B |
| 302008373U, // AND_ZPmZ_D |
| 2186307637U, // AND_ZPmZ_H |
| 302024757U, // AND_ZPmZ_S |
| 201345077U, // AND_ZZZ |
| 68200501U, // ANDv16i8 |
| 2218829877U, // ANDv8i8 |
| 302000201U, // ASRD_ZPmI_B |
| 302008393U, // ASRD_ZPmI_D |
| 2186307657U, // ASRD_ZPmI_H |
| 302024777U, // ASRD_ZPmI_S |
| 302002512U, // ASRR_ZPmZ_B |
| 302010704U, // ASRR_ZPmZ_D |
| 2186309968U, // ASRR_ZPmZ_H |
| 302027088U, // ASRR_ZPmZ_S |
| 100716892U, // ASRVWr |
| 100716892U, // ASRVXr |
| 302002524U, // ASR_WIDE_ZPmZ_B |
| 2186309980U, // ASR_WIDE_ZPmZ_H |
| 302027100U, // ASR_WIDE_ZPmZ_S |
| 167784796U, // ASR_WIDE_ZZZ_B |
| 2387112284U, // ASR_WIDE_ZZZ_H |
| 268472668U, // ASR_WIDE_ZZZ_S |
| 302002524U, // ASR_ZPmI_B |
| 302010716U, // ASR_ZPmI_D |
| 2186309980U, // ASR_ZPmI_H |
| 302027100U, // ASR_ZPmI_S |
| 302002524U, // ASR_ZPmZ_B |
| 302010716U, // ASR_ZPmZ_D |
| 2186309980U, // ASR_ZPmZ_H |
| 302027100U, // ASR_ZPmZ_S |
| 167784796U, // ASR_ZZI_B |
| 201347420U, // ASR_ZZI_D |
| 239628636U, // ASR_ZZI_H |
| 268472668U, // ASR_ZZI_S |
| 2248196751U, // AUTDA |
| 2248197244U, // AUTDB |
| 6341460U, // AUTDZA |
| 6342386U, // AUTDZB |
| 2248196772U, // AUTIA |
| 5806U, // AUTIA1716 |
| 5935U, // AUTIASP |
| 5989U, // AUTIAZ |
| 2248197264U, // AUTIB |
| 5826U, // AUTIB1716 |
| 5951U, // AUTIBSP |
| 6003U, // AUTIBZ |
| 6341476U, // AUTIZA |
| 6342402U, // AUTIZB |
| 66415U, // B |
| 68203857U, // BCAX |
| 369151650U, // BFMWri |
| 369151650U, // BFMXri |
| 0U, // BICSWrr |
| 100717084U, // BICSWrs |
| 0U, // BICSXrr |
| 100717084U, // BICSXrs |
| 302002716U, // BICS_PPzPP |
| 0U, // BICWrr |
| 100714267U, // BICWrs |
| 0U, // BICXrr |
| 100714267U, // BICXrs |
| 301999899U, // BIC_PPzPP |
| 301999899U, // BIC_ZPmZ_B |
| 302008091U, // BIC_ZPmZ_D |
| 2186307355U, // BIC_ZPmZ_H |
| 302024475U, // BIC_ZPmZ_S |
| 201344795U, // BIC_ZZZ |
| 68200219U, // BICv16i8 |
| 404285211U, // BICv2i32 |
| 405333787U, // BICv4i16 |
| 405858075U, // BICv4i32 |
| 406382363U, // BICv8i16 |
| 2218829595U, // BICv8i8 |
| 68200698U, // BIFv16i8 |
| 2218830074U, // BIFv8i8 |
| 135328513U, // BITv16i8 |
| 2285957889U, // BITv8i8 |
| 68906U, // BL |
| 6344980U, // BLR |
| 2248196710U, // BLRAA |
| 6346175U, // BLRAAZ |
| 2248197127U, // BLRAB |
| 6346190U, // BLRABZ |
| 6344926U, // BR |
| 2248196697U, // BRAA |
| 6346168U, // BRAAZ |
| 2248197114U, // BRAB |
| 6346183U, // BRABZ |
| 76951U, // BRK |
| 302002647U, // BRKAS_PPzP |
| 8875U, // BRKA_PPmP |
| 301998763U, // BRKA_PPzP |
| 302002683U, // BRKBS_PPzP |
| 9367U, // BRKB_PPmP |
| 301999255U, // BRKB_PPzP |
| 302002803U, // BRKNS_PPzP |
| 302001918U, // BRKN_PPzP |
| 302002654U, // BRKPAS_PPzPP |
| 301998807U, // BRKPA_PPzPP |
| 302002690U, // BRKPBS_PPzPP |
| 301999474U, // BRKPB_PPzPP |
| 135327279U, // BSLv16i8 |
| 2285956655U, // BSLv8i8 |
| 87596U, // Bcc |
| 2516673568U, // CASAB |
| 2516675032U, // CASAH |
| 2516673753U, // CASALB |
| 2516675183U, // CASALH |
| 2516675845U, // CASALW |
| 2516675845U, // CASALX |
| 2516673308U, // CASAW |
| 2516673308U, // CASAX |
| 2516674100U, // CASB |
| 2516675551U, // CASH |
| 2516673847U, // CASLB |
| 2516675277U, // CASLH |
| 2516676137U, // CASLW |
| 2516676137U, // CASLX |
| 101604U, // CASPALW |
| 109796U, // CASPALX |
| 99038U, // CASPAW |
| 107230U, // CASPAX |
| 101900U, // CASPLW |
| 110092U, // CASPLX |
| 102471U, // CASPW |
| 110663U, // CASPX |
| 2516677074U, // CASW |
| 2516677074U, // CASX |
| 436262373U, // CBNZW |
| 436262373U, // CBNZX |
| 436262358U, // CBZW |
| 436262358U, // CBZX |
| 100716292U, // CCMNWi |
| 100716292U, // CCMNWr |
| 100716292U, // CCMNXi |
| 100716292U, // CCMNXr |
| 100716546U, // CCMPWi |
| 100716546U, // CCMPWr |
| 100716546U, // CCMPXi |
| 100716546U, // CCMPXr |
| 5976U, // CFINV |
| 302039858U, // CLASTA_RPZ_B |
| 302039858U, // CLASTA_RPZ_D |
| 302039858U, // CLASTA_RPZ_H |
| 302039858U, // CLASTA_RPZ_S |
| 302039858U, // CLASTA_VPZ_B |
| 302039858U, // CLASTA_VPZ_D |
| 302039858U, // CLASTA_VPZ_H |
| 302039858U, // CLASTA_VPZ_S |
| 301998898U, // CLASTA_ZPZ_B |
| 302007090U, // CLASTA_ZPZ_D |
| 2387632946U, // CLASTA_ZPZ_H |
| 302023474U, // CLASTA_ZPZ_S |
| 302040717U, // CLASTB_RPZ_B |
| 302040717U, // CLASTB_RPZ_D |
| 302040717U, // CLASTB_RPZ_H |
| 302040717U, // CLASTB_RPZ_S |
| 302040717U, // CLASTB_VPZ_B |
| 302040717U, // CLASTB_VPZ_D |
| 302040717U, // CLASTB_VPZ_H |
| 302040717U, // CLASTB_VPZ_S |
| 301999757U, // CLASTB_ZPZ_B |
| 302007949U, // CLASTB_ZPZ_D |
| 2387633805U, // CLASTB_ZPZ_H |
| 302024333U, // CLASTB_ZPZ_S |
| 6346114U, // CLREX |
| 2248200772U, // CLSWr |
| 2248200772U, // CLSXr |
| 12868U, // CLS_ZPmZ_B |
| 21060U, // CLS_ZPmZ_D |
| 2181591620U, // CLS_ZPmZ_H |
| 37444U, // CLS_ZPmZ_S |
| 68203076U, // CLSv16i8 |
| 68727364U, // CLSv2i32 |
| 69775940U, // CLSv4i16 |
| 2217783876U, // CLSv4i32 |
| 70824516U, // CLSv8i16 |
| 2218832452U, // CLSv8i8 |
| 2248201696U, // CLZWr |
| 2248201696U, // CLZXr |
| 13792U, // CLZ_ZPmZ_B |
| 21984U, // CLZ_ZPmZ_D |
| 2181592544U, // CLZ_ZPmZ_H |
| 38368U, // CLZ_ZPmZ_S |
| 68204000U, // CLZv16i8 |
| 68728288U, // CLZv2i32 |
| 69776864U, // CLZv4i16 |
| 2217784800U, // CLZv4i32 |
| 70825440U, // CLZv8i16 |
| 2218833376U, // CLZv8i8 |
| 68202651U, // CMEQv16i8 |
| 68202651U, // CMEQv16i8rz |
| 100716699U, // CMEQv1i64 |
| 2248200347U, // CMEQv1i64rz |
| 2216210587U, // CMEQv2i32 |
| 68726939U, // CMEQv2i32rz |
| 2216734875U, // CMEQv2i64 |
| 2216734875U, // CMEQv2i64rz |
| 69775515U, // CMEQv4i16 |
| 69775515U, // CMEQv4i16rz |
| 70299803U, // CMEQv4i32 |
| 2217783451U, // CMEQv4i32rz |
| 2218307739U, // CMEQv8i16 |
| 70824091U, // CMEQv8i16rz |
| 2218832027U, // CMEQv8i8 |
| 2218832027U, // CMEQv8i8rz |
| 68200561U, // CMGEv16i8 |
| 68200561U, // CMGEv16i8rz |
| 100714609U, // CMGEv1i64 |
| 2248198257U, // CMGEv1i64rz |
| 2216208497U, // CMGEv2i32 |
| 68724849U, // CMGEv2i32rz |
| 2216732785U, // CMGEv2i64 |
| 2216732785U, // CMGEv2i64rz |
| 69773425U, // CMGEv4i16 |
| 69773425U, // CMGEv4i16rz |
| 70297713U, // CMGEv4i32 |
| 2217781361U, // CMGEv4i32rz |
| 2218305649U, // CMGEv8i16 |
| 70822001U, // CMGEv8i16rz |
| 2218829937U, // CMGEv8i8 |
| 2218829937U, // CMGEv8i8rz |
| 68203251U, // CMGTv16i8 |
| 68203251U, // CMGTv16i8rz |
| 100717299U, // CMGTv1i64 |
| 2248200947U, // CMGTv1i64rz |
| 2216211187U, // CMGTv2i32 |
| 68727539U, // CMGTv2i32rz |
| 2216735475U, // CMGTv2i64 |
| 2216735475U, // CMGTv2i64rz |
| 69776115U, // CMGTv4i16 |
| 69776115U, // CMGTv4i16rz |
| 70300403U, // CMGTv4i32 |
| 2217784051U, // CMGTv4i32rz |
| 2218308339U, // CMGTv8i16 |
| 70824691U, // CMGTv8i16rz |
| 2218832627U, // CMGTv8i8 |
| 2218832627U, // CMGTv8i8rz |
| 68201580U, // CMHIv16i8 |
| 100715628U, // CMHIv1i64 |
| 2216209516U, // CMHIv2i32 |
| 2216733804U, // CMHIv2i64 |
| 69774444U, // CMHIv4i16 |
| 70298732U, // CMHIv4i32 |
| 2218306668U, // CMHIv8i16 |
| 2218830956U, // CMHIv8i8 |
| 68203063U, // CMHSv16i8 |
| 100717111U, // CMHSv1i64 |
| 2216210999U, // CMHSv2i32 |
| 2216735287U, // CMHSv2i64 |
| 69775927U, // CMHSv4i16 |
| 70300215U, // CMHSv4i32 |
| 2218308151U, // CMHSv8i16 |
| 2218832439U, // CMHSv8i8 |
| 68200592U, // CMLEv16i8rz |
| 2248198288U, // CMLEv1i64rz |
| 68724880U, // CMLEv2i32rz |
| 2216732816U, // CMLEv2i64rz |
| 69773456U, // CMLEv4i16rz |
| 2217781392U, // CMLEv4i32rz |
| 70822032U, // CMLEv8i16rz |
| 2218829968U, // CMLEv8i8rz |
| 68203285U, // CMLTv16i8rz |
| 2248200981U, // CMLTv1i64rz |
| 68727573U, // CMLTv2i32rz |
| 2216735509U, // CMLTv2i64rz |
| 69776149U, // CMLTv4i16rz |
| 2217784085U, // CMLTv4i32rz |
| 70824725U, // CMLTv8i16rz |
| 2218832661U, // CMLTv8i8rz |
| 302002346U, // CMPEQ_PPzZI_B |
| 302010538U, // CMPEQ_PPzZI_D |
| 2622517418U, // CMPEQ_PPzZI_H |
| 302026922U, // CMPEQ_PPzZI_S |
| 302002346U, // CMPEQ_PPzZZ_B |
| 302010538U, // CMPEQ_PPzZZ_D |
| 2622517418U, // CMPEQ_PPzZZ_H |
| 302026922U, // CMPEQ_PPzZZ_S |
| 302002346U, // CMPEQ_WIDE_PPzZZ_B |
| 2622517418U, // CMPEQ_WIDE_PPzZZ_H |
| 302026922U, // CMPEQ_WIDE_PPzZZ_S |
| 302000247U, // CMPGE_PPzZI_B |
| 302008439U, // CMPGE_PPzZI_D |
| 2622515319U, // CMPGE_PPzZI_H |
| 302024823U, // CMPGE_PPzZI_S |
| 302000247U, // CMPGE_PPzZZ_B |
| 302008439U, // CMPGE_PPzZZ_D |
| 2622515319U, // CMPGE_PPzZZ_H |
| 302024823U, // CMPGE_PPzZZ_S |
| 302000247U, // CMPGE_WIDE_PPzZZ_B |
| 2622515319U, // CMPGE_WIDE_PPzZZ_H |
| 302024823U, // CMPGE_WIDE_PPzZZ_S |
| 302002937U, // CMPGT_PPzZI_B |
| 302011129U, // CMPGT_PPzZI_D |
| 2622518009U, // CMPGT_PPzZI_H |
| 302027513U, // CMPGT_PPzZI_S |
| 302002937U, // CMPGT_PPzZZ_B |
| 302011129U, // CMPGT_PPzZZ_D |
| 2622518009U, // CMPGT_PPzZZ_H |
| 302027513U, // CMPGT_PPzZZ_S |
| 302002937U, // CMPGT_WIDE_PPzZZ_B |
| 2622518009U, // CMPGT_WIDE_PPzZZ_H |
| 302027513U, // CMPGT_WIDE_PPzZZ_S |
| 302001266U, // CMPHI_PPzZI_B |
| 302009458U, // CMPHI_PPzZI_D |
| 2622516338U, // CMPHI_PPzZI_H |
| 302025842U, // CMPHI_PPzZI_S |
| 302001266U, // CMPHI_PPzZZ_B |
| 302009458U, // CMPHI_PPzZZ_D |
| 2622516338U, // CMPHI_PPzZZ_H |
| 302025842U, // CMPHI_PPzZZ_S |
| 302001266U, // CMPHI_WIDE_PPzZZ_B |
| 2622516338U, // CMPHI_WIDE_PPzZZ_H |
| 302025842U, // CMPHI_WIDE_PPzZZ_S |
| 302002749U, // CMPHS_PPzZI_B |
| 302010941U, // CMPHS_PPzZI_D |
| 2622517821U, // CMPHS_PPzZI_H |
| 302027325U, // CMPHS_PPzZI_S |
| 302002749U, // CMPHS_PPzZZ_B |
| 302010941U, // CMPHS_PPzZZ_D |
| 2622517821U, // CMPHS_PPzZZ_H |
| 302027325U, // CMPHS_PPzZZ_S |
| 302002749U, // CMPHS_WIDE_PPzZZ_B |
| 2622517821U, // CMPHS_WIDE_PPzZZ_H |
| 302027325U, // CMPHS_WIDE_PPzZZ_S |
| 302000278U, // CMPLE_PPzZI_B |
| 302008470U, // CMPLE_PPzZI_D |
| 2622515350U, // CMPLE_PPzZI_H |
| 302024854U, // CMPLE_PPzZI_S |
| 302000278U, // CMPLE_WIDE_PPzZZ_B |
| 2622515350U, // CMPLE_WIDE_PPzZZ_H |
| 302024854U, // CMPLE_WIDE_PPzZZ_S |
| 302002080U, // CMPLO_PPzZI_B |
| 302010272U, // CMPLO_PPzZI_D |
| 2622517152U, // CMPLO_PPzZI_H |
| 302026656U, // CMPLO_PPzZI_S |
| 302002080U, // CMPLO_WIDE_PPzZZ_B |
| 2622517152U, // CMPLO_WIDE_PPzZZ_H |
| 302026656U, // CMPLO_WIDE_PPzZZ_S |
| 302002783U, // CMPLS_PPzZI_B |
| 302010975U, // CMPLS_PPzZI_D |
| 2622517855U, // CMPLS_PPzZI_H |
| 302027359U, // CMPLS_PPzZI_S |
| 302002783U, // CMPLS_WIDE_PPzZZ_B |
| 2622517855U, // CMPLS_WIDE_PPzZZ_H |
| 302027359U, // CMPLS_WIDE_PPzZZ_S |
| 302002971U, // CMPLT_PPzZI_B |
| 302011163U, // CMPLT_PPzZI_D |
| 2622518043U, // CMPLT_PPzZI_H |
| 302027547U, // CMPLT_PPzZI_S |
| 302002971U, // CMPLT_WIDE_PPzZZ_B |
| 2622518043U, // CMPLT_WIDE_PPzZZ_H |
| 302027547U, // CMPLT_WIDE_PPzZZ_S |
| 302000301U, // CMPNE_PPzZI_B |
| 302008493U, // CMPNE_PPzZI_D |
| 2622515373U, // CMPNE_PPzZI_H |
| 302024877U, // CMPNE_PPzZI_S |
| 302000301U, // CMPNE_PPzZZ_B |
| 302008493U, // CMPNE_PPzZZ_D |
| 2622515373U, // CMPNE_PPzZZ_H |
| 302024877U, // CMPNE_PPzZZ_S |
| 302000301U, // CMPNE_WIDE_PPzZZ_B |
| 2622515373U, // CMPNE_WIDE_PPzZZ_H |
| 302024877U, // CMPNE_WIDE_PPzZZ_S |
| 0U, // CMP_SWAP_128 |
| 0U, // CMP_SWAP_16 |
| 0U, // CMP_SWAP_32 |
| 0U, // CMP_SWAP_64 |
| 0U, // CMP_SWAP_8 |
| 68203349U, // CMTSTv16i8 |
| 100717397U, // CMTSTv1i64 |
| 2216211285U, // CMTSTv2i32 |
| 2216735573U, // CMTSTv2i64 |
| 69776213U, // CMTSTv4i16 |
| 70300501U, // CMTSTv4i32 |
| 2218308437U, // CMTSTv8i16 |
| 2218832725U, // CMTSTv8i8 |
| 13113U, // CNOT_ZPmZ_B |
| 21305U, // CNOT_ZPmZ_D |
| 2181591865U, // CNOT_ZPmZ_H |
| 37689U, // CNOT_ZPmZ_S |
| 503367303U, // CNTB_XPiI |
| 503367765U, // CNTD_XPiI |
| 503368736U, // CNTH_XPiI |
| 302043213U, // CNTP_XPP_B |
| 302043213U, // CNTP_XPP_D |
| 302043213U, // CNTP_XPP_H |
| 302043213U, // CNTP_XPP_S |
| 503371057U, // CNTW_XPiI |
| 13090U, // CNT_ZPmZ_B |
| 21282U, // CNT_ZPmZ_D |
| 2181591842U, // CNT_ZPmZ_H |
| 37666U, // CNT_ZPmZ_S |
| 68203298U, // CNTv16i8 |
| 2218832674U, // CNTv8i8 |
| 302011094U, // COMPACT_ZPZ_D |
| 302027478U, // COMPACT_ZPZ_S |
| 13747U, // CPY_ZPmI_B |
| 21939U, // CPY_ZPmI_D |
| 2181592499U, // CPY_ZPmI_H |
| 38323U, // CPY_ZPmI_S |
| 13747U, // CPY_ZPmR_B |
| 21939U, // CPY_ZPmR_D |
| 34108851U, // CPY_ZPmR_H |
| 38323U, // CPY_ZPmR_S |
| 13747U, // CPY_ZPmV_B |
| 21939U, // CPY_ZPmV_D |
| 34108851U, // CPY_ZPmV_H |
| 38323U, // CPY_ZPmV_S |
| 302003635U, // CPY_ZPzI_B |
| 302011827U, // CPY_ZPzI_D |
| 2622518707U, // CPY_ZPzI_H |
| 302028211U, // CPY_ZPzI_S |
| 67163146U, // CPYi16 |
| 2214646794U, // CPYi32 |
| 67163146U, // CPYi64 |
| 2214646794U, // CPYi8 |
| 100713377U, // CRC32Brr |
| 100713540U, // CRC32CBrr |
| 100715004U, // CRC32CHrr |
| 100717724U, // CRC32CWrr |
| 100717938U, // CRC32CXrr |
| 100714851U, // CRC32Hrr |
| 100717666U, // CRC32Wrr |
| 100717897U, // CRC32Xrr |
| 100715905U, // CSELWr |
| 100715905U, // CSELXr |
| 100714287U, // CSINCWr |
| 100714287U, // CSINCXr |
| 100717570U, // CSINVWr |
| 100717570U, // CSINVXr |
| 100714784U, // CSNEGWr |
| 100714784U, // CSNEGXr |
| 2248200353U, // CTERMEQ_WW |
| 2248200353U, // CTERMEQ_XX |
| 2248198308U, // CTERMNE_WW |
| 2248198308U, // CTERMNE_XX |
| 0U, // CompilerBarrier |
| 73783U, // DCPS1 |
| 74194U, // DCPS2 |
| 74260U, // DCPS3 |
| 536921167U, // DECB_XPiI |
| 536922047U, // DECD_XPiI |
| 536889279U, // DECD_ZPiI |
| 536922631U, // DECH_XPiI |
| 6842887U, // DECH_ZPiI |
| 2315308983U, // DECP_XP_B |
| 2348863415U, // DECP_XP_D |
| 2717962167U, // DECP_XP_H |
| 2415972279U, // DECP_XP_S |
| 2147504055U, // DECP_ZP_D |
| 604532663U, // DECP_ZP_H |
| 2147520439U, // DECP_ZP_S |
| 536925351U, // DECW_XPiI |
| 536908967U, // DECW_ZPiI |
| 116059U, // DMB |
| 5966U, // DRPS |
| 116282U, // DSB |
| 637554371U, // DUPM_ZI |
| 671101025U, // DUP_ZI_B |
| 704663649U, // DUP_ZI_D |
| 7368801U, // DUP_ZI_H |
| 738234465U, // DUP_ZI_S |
| 2248159329U, // DUP_ZR_B |
| 2248167521U, // DUP_ZR_D |
| 611872865U, // DUP_ZR_H |
| 2248183905U, // DUP_ZR_S |
| 167784545U, // DUP_ZZI_B |
| 201347169U, // DUP_ZZI_D |
| 776499297U, // DUP_ZZI_H |
| 127073U, // DUP_ZZI_Q |
| 268472417U, // DUP_ZZI_S |
| 2249240673U, // DUPv16i8gpr |
| 2215686241U, // DUPv16i8lane |
| 2249764961U, // DUPv2i32gpr |
| 2216210529U, // DUPv2i32lane |
| 2250289249U, // DUPv2i64gpr |
| 69251169U, // DUPv2i64lane |
| 2250813537U, // DUPv4i16gpr |
| 69775457U, // DUPv4i16lane |
| 2251337825U, // DUPv4i32gpr |
| 2217783393U, // DUPv4i32lane |
| 2251862113U, // DUPv8i16gpr |
| 70824033U, // DUPv8i16lane |
| 2252386401U, // DUPv8i8gpr |
| 2218831969U, // DUPv8i8lane |
| 0U, // EONWrr |
| 100716298U, // EONWrs |
| 0U, // EONXrr |
| 100716298U, // EONXrs |
| 68198926U, // EOR3 |
| 302002853U, // EORS_PPzPP |
| 302044187U, // EORV_VPZ_B |
| 302044187U, // EORV_VPZ_D |
| 302044187U, // EORV_VPZ_H |
| 302044187U, // EORV_VPZ_S |
| 100716853U, // EORWri |
| 0U, // EORWrr |
| 100716853U, // EORWrs |
| 100716853U, // EORXri |
| 0U, // EORXrr |
| 100716853U, // EORXrs |
| 302002485U, // EOR_PPzPP |
| 201347381U, // EOR_ZI |
| 302002485U, // EOR_ZPmZ_B |
| 302010677U, // EOR_ZPmZ_D |
| 2186309941U, // EOR_ZPmZ_H |
| 302027061U, // EOR_ZPmZ_S |
| 201347381U, // EOR_ZZZ |
| 68202805U, // EORv16i8 |
| 2218832181U, // EORv8i8 |
| 5971U, // ERET |
| 5891U, // ERETAA |
| 5898U, // ERETAB |
| 100716930U, // EXTRWrri |
| 100716930U, // EXTRXrri |
| 167785316U, // EXT_ZZI |
| 68203364U, // EXTv16i8 |
| 2218832740U, // EXTv8i8 |
| 0U, // F128CSEL |
| 100714404U, // FABD16 |
| 100714404U, // FABD32 |
| 100714404U, // FABD64 |
| 302008228U, // FABD_ZPmZ_D |
| 2186307492U, // FABD_ZPmZ_H |
| 302024612U, // FABD_ZPmZ_S |
| 2216208292U, // FABDv2f32 |
| 2216732580U, // FABDv2f64 |
| 69773220U, // FABDv4f16 |
| 70297508U, // FABDv4f32 |
| 2218305444U, // FABDv8f16 |
| 2248200686U, // FABSDr |
| 2248200686U, // FABSHr |
| 2248200686U, // FABSSr |
| 20974U, // FABS_ZPmZ_D |
| 2181591534U, // FABS_ZPmZ_H |
| 37358U, // FABS_ZPmZ_S |
| 68727278U, // FABSv2f32 |
| 2216735214U, // FABSv2f64 |
| 69775854U, // FABSv4f16 |
| 2217783790U, // FABSv4f32 |
| 70824430U, // FABSv8f16 |
| 100714601U, // FACGE16 |
| 100714601U, // FACGE32 |
| 100714601U, // FACGE64 |
| 302008425U, // FACGE_PPzZZ_D |
| 2622515305U, // FACGE_PPzZZ_H |
| 302024809U, // FACGE_PPzZZ_S |
| 2216208489U, // FACGEv2f32 |
| 2216732777U, // FACGEv2f64 |
| 69773417U, // FACGEv4f16 |
| 70297705U, // FACGEv4f32 |
| 2218305641U, // FACGEv8f16 |
| 100717291U, // FACGT16 |
| 100717291U, // FACGT32 |
| 100717291U, // FACGT64 |
| 302011115U, // FACGT_PPzZZ_D |
| 2622517995U, // FACGT_PPzZZ_H |
| 302027499U, // FACGT_PPzZZ_S |
| 2216211179U, // FACGTv2f32 |
| 2216735467U, // FACGTv2f64 |
| 69776107U, // FACGTv4f16 |
| 70300395U, // FACGTv4f32 |
| 2218308331U, // FACGTv8f16 |
| 302039688U, // FADDA_VPZ_D |
| 302039688U, // FADDA_VPZ_H |
| 302039688U, // FADDA_VPZ_S |
| 100714475U, // FADDDrr |
| 100714475U, // FADDHrr |
| 2216210389U, // FADDPv2f32 |
| 2216734677U, // FADDPv2f64 |
| 2214645717U, // FADDPv2i16p |
| 67162069U, // FADDPv2i32p |
| 2214645717U, // FADDPv2i64p |
| 69775317U, // FADDPv4f16 |
| 70299605U, // FADDPv4f32 |
| 2218307541U, // FADDPv8f16 |
| 100714475U, // FADDSrr |
| 302044057U, // FADDV_VPZ_D |
| 302044057U, // FADDV_VPZ_H |
| 302044057U, // FADDV_VPZ_S |
| 302008299U, // FADD_ZPmI_D |
| 2186307563U, // FADD_ZPmI_H |
| 302024683U, // FADD_ZPmI_S |
| 302008299U, // FADD_ZPmZ_D |
| 2186307563U, // FADD_ZPmZ_H |
| 302024683U, // FADD_ZPmZ_S |
| 201345003U, // FADD_ZZZ_D |
| 2387109867U, // FADD_ZZZ_H |
| 268470251U, // FADD_ZZZ_S |
| 2216208363U, // FADDv2f32 |
| 2216732651U, // FADDv2f64 |
| 69773291U, // FADDv4f16 |
| 70297579U, // FADDv4f32 |
| 2218305515U, // FADDv8f16 |
| 302008285U, // FCADD_ZPmZ_D |
| 2186307549U, // FCADD_ZPmZ_H |
| 302024669U, // FCADD_ZPmZ_S |
| 2216208349U, // FCADDv2f32 |
| 2216732637U, // FCADDv2f64 |
| 69773277U, // FCADDv4f16 |
| 70297565U, // FCADDv4f32 |
| 2218305501U, // FCADDv8f16 |
| 100716545U, // FCCMPDrr |
| 100714692U, // FCCMPEDrr |
| 100714692U, // FCCMPEHrr |
| 100714692U, // FCCMPESrr |
| 100716545U, // FCCMPHrr |
| 100716545U, // FCCMPSrr |
| 100716698U, // FCMEQ16 |
| 100716698U, // FCMEQ32 |
| 100716698U, // FCMEQ64 |
| 302010522U, // FCMEQ_PPzZ0_D |
| 2622517402U, // FCMEQ_PPzZ0_H |
| 302026906U, // FCMEQ_PPzZ0_S |
| 302010522U, // FCMEQ_PPzZZ_D |
| 2622517402U, // FCMEQ_PPzZZ_H |
| 302026906U, // FCMEQ_PPzZZ_S |
| 100716698U, // FCMEQv1i16rz |
| 100716698U, // FCMEQv1i32rz |
| 100716698U, // FCMEQv1i64rz |
| 2216210586U, // FCMEQv2f32 |
| 2216734874U, // FCMEQv2f64 |
| 2216210586U, // FCMEQv2i32rz |
| 69251226U, // FCMEQv2i64rz |
| 69775514U, // FCMEQv4f16 |
| 70299802U, // FCMEQv4f32 |
| 2217259162U, // FCMEQv4i16rz |
| 70299802U, // FCMEQv4i32rz |
| 2218307738U, // FCMEQv8f16 |
| 2218307738U, // FCMEQv8i16rz |
| 100714608U, // FCMGE16 |
| 100714608U, // FCMGE32 |
| 100714608U, // FCMGE64 |
| 302008432U, // FCMGE_PPzZ0_D |
| 2622515312U, // FCMGE_PPzZ0_H |
| 302024816U, // FCMGE_PPzZ0_S |
| 302008432U, // FCMGE_PPzZZ_D |
| 2622515312U, // FCMGE_PPzZZ_H |
| 302024816U, // FCMGE_PPzZZ_S |
| 100714608U, // FCMGEv1i16rz |
| 100714608U, // FCMGEv1i32rz |
| 100714608U, // FCMGEv1i64rz |
| 2216208496U, // FCMGEv2f32 |
| 2216732784U, // FCMGEv2f64 |
| 2216208496U, // FCMGEv2i32rz |
| 69249136U, // FCMGEv2i64rz |
| 69773424U, // FCMGEv4f16 |
| 70297712U, // FCMGEv4f32 |
| 2217257072U, // FCMGEv4i16rz |
| 70297712U, // FCMGEv4i32rz |
| 2218305648U, // FCMGEv8f16 |
| 2218305648U, // FCMGEv8i16rz |
| 100717298U, // FCMGT16 |
| 100717298U, // FCMGT32 |
| 100717298U, // FCMGT64 |
| 302011122U, // FCMGT_PPzZ0_D |
| 2622518002U, // FCMGT_PPzZ0_H |
| 302027506U, // FCMGT_PPzZ0_S |
| 302011122U, // FCMGT_PPzZZ_D |
| 2622518002U, // FCMGT_PPzZZ_H |
| 302027506U, // FCMGT_PPzZZ_S |
| 100717298U, // FCMGTv1i16rz |
| 100717298U, // FCMGTv1i32rz |
| 100717298U, // FCMGTv1i64rz |
| 2216211186U, // FCMGTv2f32 |
| 2216735474U, // FCMGTv2f64 |
| 2216211186U, // FCMGTv2i32rz |
| 69251826U, // FCMGTv2i64rz |
| 69776114U, // FCMGTv4f16 |
| 70300402U, // FCMGTv4f32 |
| 2217259762U, // FCMGTv4i16rz |
| 70300402U, // FCMGTv4i32rz |
| 2218308338U, // FCMGTv8f16 |
| 2218308338U, // FCMGTv8i16rz |
| 302006961U, // FCMLA_ZPmZZ_D |
| 2186306225U, // FCMLA_ZPmZZ_H |
| 302023345U, // FCMLA_ZPmZZ_S |
| 243294897U, // FCMLA_ZZZI_H |
| 2952823473U, // FCMLA_ZZZI_S |
| 2283332273U, // FCMLAv2f32 |
| 2283856561U, // FCMLAv2f64 |
| 136897201U, // FCMLAv4f16 |
| 136897201U, // FCMLAv4f16_indexed |
| 137421489U, // FCMLAv4f32 |
| 137421489U, // FCMLAv4f32_indexed |
| 2285429425U, // FCMLAv8f16 |
| 2285429425U, // FCMLAv8f16_indexed |
| 302008463U, // FCMLE_PPzZ0_D |
| 2622515343U, // FCMLE_PPzZ0_H |
| 302024847U, // FCMLE_PPzZ0_S |
| 100714639U, // FCMLEv1i16rz |
| 100714639U, // FCMLEv1i32rz |
| 100714639U, // FCMLEv1i64rz |
| 2216208527U, // FCMLEv2i32rz |
| 69249167U, // FCMLEv2i64rz |
| 2217257103U, // FCMLEv4i16rz |
| 70297743U, // FCMLEv4i32rz |
| 2218305679U, // FCMLEv8i16rz |
| 302011156U, // FCMLT_PPzZ0_D |
| 2622518036U, // FCMLT_PPzZ0_H |
| 302027540U, // FCMLT_PPzZ0_S |
| 100717332U, // FCMLTv1i16rz |
| 100717332U, // FCMLTv1i32rz |
| 100717332U, // FCMLTv1i64rz |
| 2216211220U, // FCMLTv2i32rz |
| 69251860U, // FCMLTv2i64rz |
| 2217259796U, // FCMLTv4i16rz |
| 70300436U, // FCMLTv4i32rz |
| 2218308372U, // FCMLTv8i16rz |
| 302008477U, // FCMNE_PPzZ0_D |
| 2622515357U, // FCMNE_PPzZ0_H |
| 302024861U, // FCMNE_PPzZ0_S |
| 302008477U, // FCMNE_PPzZZ_D |
| 2622515357U, // FCMNE_PPzZZ_H |
| 302024861U, // FCMNE_PPzZZ_S |
| 8966152U, // FCMPDri |
| 2248200200U, // FCMPDrr |
| 8964300U, // FCMPEDri |
| 2248198348U, // FCMPEDrr |
| 8964300U, // FCMPEHri |
| 2248198348U, // FCMPEHrr |
| 8964300U, // FCMPESri |
| 2248198348U, // FCMPESrr |
| 8966152U, // FCMPHri |
| 2248200200U, // FCMPHrr |
| 8966152U, // FCMPSri |
| 2248200200U, // FCMPSrr |
| 302010279U, // FCMUO_PPzZZ_D |
| 2622517159U, // FCMUO_PPzZZ_H |
| 302026663U, // FCMUO_PPzZZ_S |
| 21938U, // FCPY_ZPmI_D |
| 34108850U, // FCPY_ZPmI_H |
| 38322U, // FCPY_ZPmI_S |
| 100715904U, // FCSELDrrr |
| 100715904U, // FCSELHrrr |
| 100715904U, // FCSELSrrr |
| 2248200678U, // FCVTASUWDr |
| 2248200678U, // FCVTASUWHr |
| 2248200678U, // FCVTASUWSr |
| 2248200678U, // FCVTASUXDr |
| 2248200678U, // FCVTASUXHr |
| 2248200678U, // FCVTASUXSr |
| 2248200678U, // FCVTASv1f16 |
| 2248200678U, // FCVTASv1i32 |
| 2248200678U, // FCVTASv1i64 |
| 68727270U, // FCVTASv2f32 |
| 2216735206U, // FCVTASv2f64 |
| 69775846U, // FCVTASv4f16 |
| 2217783782U, // FCVTASv4f32 |
| 70824422U, // FCVTASv8f16 |
| 2248201065U, // FCVTAUUWDr |
| 2248201065U, // FCVTAUUWHr |
| 2248201065U, // FCVTAUUWSr |
| 2248201065U, // FCVTAUUXDr |
| 2248201065U, // FCVTAUUXHr |
| 2248201065U, // FCVTAUUXSr |
| 2248201065U, // FCVTAUv1f16 |
| 2248201065U, // FCVTAUv1i32 |
| 2248201065U, // FCVTAUv1i64 |
| 68727657U, // FCVTAUv2f32 |
| 2216735593U, // FCVTAUv2f64 |
| 69776233U, // FCVTAUv4f16 |
| 2217784169U, // FCVTAUv4f32 |
| 70824809U, // FCVTAUv8f16 |
| 2248201052U, // FCVTDHr |
| 2248201052U, // FCVTDSr |
| 2248201052U, // FCVTHDr |
| 2248201052U, // FCVTHSr |
| 69250649U, // FCVTLv2i32 |
| 70299225U, // FCVTLv4i16 |
| 2216730945U, // FCVTLv4i32 |
| 70295873U, // FCVTLv8i16 |
| 2248200806U, // FCVTMSUWDr |
| 2248200806U, // FCVTMSUWHr |
| 2248200806U, // FCVTMSUWSr |
| 2248200806U, // FCVTMSUXDr |
| 2248200806U, // FCVTMSUXHr |
| 2248200806U, // FCVTMSUXSr |
| 2248200806U, // FCVTMSv1f16 |
| 2248200806U, // FCVTMSv1i32 |
| 2248200806U, // FCVTMSv1i64 |
| 68727398U, // FCVTMSv2f32 |
| 2216735334U, // FCVTMSv2f64 |
| 69775974U, // FCVTMSv4f16 |
| 2217783910U, // FCVTMSv4f32 |
| 70824550U, // FCVTMSv8f16 |
| 2248201081U, // FCVTMUUWDr |
| 2248201081U, // FCVTMUUWHr |
| 2248201081U, // FCVTMUUWSr |
| 2248201081U, // FCVTMUUXDr |
| 2248201081U, // FCVTMUUXHr |
| 2248201081U, // FCVTMUUXSr |
| 2248201081U, // FCVTMUv1f16 |
| 2248201081U, // FCVTMUv1i32 |
| 2248201081U, // FCVTMUv1i64 |
| 68727673U, // FCVTMUv2f32 |
| 2216735609U, // FCVTMUv2f64 |
| 69776249U, // FCVTMUv4f16 |
| 2217784185U, // FCVTMUv4f32 |
| 70824825U, // FCVTMUv8f16 |
| 2248200832U, // FCVTNSUWDr |
| 2248200832U, // FCVTNSUWHr |
| 2248200832U, // FCVTNSUWSr |
| 2248200832U, // FCVTNSUXDr |
| 2248200832U, // FCVTNSUXHr |
| 2248200832U, // FCVTNSUXSr |
| 2248200832U, // FCVTNSv1f16 |
| 2248200832U, // FCVTNSv1i32 |
| 2248200832U, // FCVTNSv1i64 |
| 68727424U, // FCVTNSv2f32 |
| 2216735360U, // FCVTNSv2f64 |
| 69776000U, // FCVTNSv4f16 |
| 2217783936U, // FCVTNSv4f32 |
| 70824576U, // FCVTNSv8f16 |
| 2248201089U, // FCVTNUUWDr |
| 2248201089U, // FCVTNUUWHr |
| 2248201089U, // FCVTNUUWSr |
| 2248201089U, // FCVTNUUXDr |
| 2248201089U, // FCVTNUUXHr |
| 2248201089U, // FCVTNUUXSr |
| 2248201089U, // FCVTNUv1f16 |
| 2248201089U, // FCVTNUv1i32 |
| 2248201089U, // FCVTNUv1i64 |
| 68727681U, // FCVTNUv2f32 |
| 2216735617U, // FCVTNUv2f64 |
| 69776257U, // FCVTNUv4f16 |
| 2217784193U, // FCVTNUv4f32 |
| 70824833U, // FCVTNUv8f16 |
| 2216210238U, // FCVTNv2i32 |
| 2217258814U, // FCVTNv4i16 |
| 2284904839U, // FCVTNv4i32 |
| 2285429127U, // FCVTNv8i16 |
| 2248200848U, // FCVTPSUWDr |
| 2248200848U, // FCVTPSUWHr |
| 2248200848U, // FCVTPSUWSr |
| 2248200848U, // FCVTPSUXDr |
| 2248200848U, // FCVTPSUXHr |
| 2248200848U, // FCVTPSUXSr |
| 2248200848U, // FCVTPSv1f16 |
| 2248200848U, // FCVTPSv1i32 |
| 2248200848U, // FCVTPSv1i64 |
| 68727440U, // FCVTPSv2f32 |
| 2216735376U, // FCVTPSv2f64 |
| 69776016U, // FCVTPSv4f16 |
| 2217783952U, // FCVTPSv4f32 |
| 70824592U, // FCVTPSv8f16 |
| 2248201097U, // FCVTPUUWDr |
| 2248201097U, // FCVTPUUWHr |
| 2248201097U, // FCVTPUUWSr |
| 2248201097U, // FCVTPUUXDr |
| 2248201097U, // FCVTPUUXHr |
| 2248201097U, // FCVTPUUXSr |
| 2248201097U, // FCVTPUv1f16 |
| 2248201097U, // FCVTPUv1i32 |
| 2248201097U, // FCVTPUv1i64 |
| 68727689U, // FCVTPUv2f32 |
| 2216735625U, // FCVTPUv2f64 |
| 69776265U, // FCVTPUv4f16 |
| 2217784201U, // FCVTPUv4f32 |
| 70824841U, // FCVTPUv8f16 |
| 2248201052U, // FCVTSDr |
| 2248201052U, // FCVTSHr |
| 2248200052U, // FCVTXNv1i64 |
| 2216210292U, // FCVTXNv2f32 |
| 2284904893U, // FCVTXNv4f32 |
| 100717253U, // FCVTZSSWDri |
| 100717253U, // FCVTZSSWHri |
| 100717253U, // FCVTZSSWSri |
| 100717253U, // FCVTZSSXDri |
| 100717253U, // FCVTZSSXHri |
| 100717253U, // FCVTZSSXSri |
| 2248200901U, // FCVTZSUWDr |
| 2248200901U, // FCVTZSUWHr |
| 2248200901U, // FCVTZSUWSr |
| 2248200901U, // FCVTZSUXDr |
| 2248200901U, // FCVTZSUXHr |
| 2248200901U, // FCVTZSUXSr |
| 21189U, // FCVTZS_ZPmZ_DtoD |
| 37573U, // FCVTZS_ZPmZ_DtoS |
| 21189U, // FCVTZS_ZPmZ_HtoD |
| 2181591749U, // FCVTZS_ZPmZ_HtoH |
| 37573U, // FCVTZS_ZPmZ_HtoS |
| 21189U, // FCVTZS_ZPmZ_StoD |
| 37573U, // FCVTZS_ZPmZ_StoS |
| 100717253U, // FCVTZSd |
| 100717253U, // FCVTZSh |
| 100717253U, // FCVTZSs |
| 2248200901U, // FCVTZSv1f16 |
| 2248200901U, // FCVTZSv1i32 |
| 2248200901U, // FCVTZSv1i64 |
| 68727493U, // FCVTZSv2f32 |
| 2216735429U, // FCVTZSv2f64 |
| 2216211141U, // FCVTZSv2i32_shift |
| 2216735429U, // FCVTZSv2i64_shift |
| 69776069U, // FCVTZSv4f16 |
| 2217784005U, // FCVTZSv4f32 |
| 69776069U, // FCVTZSv4i16_shift |
| 70300357U, // FCVTZSv4i32_shift |
| 70824645U, // FCVTZSv8f16 |
| 2218308293U, // FCVTZSv8i16_shift |
| 100717457U, // FCVTZUSWDri |
| 100717457U, // FCVTZUSWHri |
| 100717457U, // FCVTZUSWSri |
| 100717457U, // FCVTZUSXDri |
| 100717457U, // FCVTZUSXHri |
| 100717457U, // FCVTZUSXSri |
| 2248201105U, // FCVTZUUWDr |
| 2248201105U, // FCVTZUUWHr |
| 2248201105U, // FCVTZUUWSr |
| 2248201105U, // FCVTZUUXDr |
| 2248201105U, // FCVTZUUXHr |
| 2248201105U, // FCVTZUUXSr |
| 21393U, // FCVTZU_ZPmZ_DtoD |
| 37777U, // FCVTZU_ZPmZ_DtoS |
| 21393U, // FCVTZU_ZPmZ_HtoD |
| 2181591953U, // FCVTZU_ZPmZ_HtoH |
| 37777U, // FCVTZU_ZPmZ_HtoS |
| 21393U, // FCVTZU_ZPmZ_StoD |
| 37777U, // FCVTZU_ZPmZ_StoS |
| 100717457U, // FCVTZUd |
| 100717457U, // FCVTZUh |
| 100717457U, // FCVTZUs |
| 2248201105U, // FCVTZUv1f16 |
| 2248201105U, // FCVTZUv1i32 |
| 2248201105U, // FCVTZUv1i64 |
| 68727697U, // FCVTZUv2f32 |
| 2216735633U, // FCVTZUv2f64 |
| 2216211345U, // FCVTZUv2i32_shift |
| 2216735633U, // FCVTZUv2i64_shift |
| 69776273U, // FCVTZUv4f16 |
| 2217784209U, // FCVTZUv4f32 |
| 69776273U, // FCVTZUv4i16_shift |
| 70300561U, // FCVTZUv4i32_shift |
| 70824849U, // FCVTZUv8f16 |
| 2218308497U, // FCVTZUv8i16_shift |
| 2181591900U, // FCVT_ZPmZ_DtoH |
| 37724U, // FCVT_ZPmZ_DtoS |
| 21340U, // FCVT_ZPmZ_HtoD |
| 37724U, // FCVT_ZPmZ_HtoS |
| 21340U, // FCVT_ZPmZ_StoD |
| 2181591900U, // FCVT_ZPmZ_StoH |
| 100717497U, // FDIVDrr |
| 100717497U, // FDIVHrr |
| 302010787U, // FDIVR_ZPmZ_D |
| 2186310051U, // FDIVR_ZPmZ_H |
| 302027171U, // FDIVR_ZPmZ_S |
| 100717497U, // FDIVSrr |
| 302011321U, // FDIV_ZPmZ_D |
| 2186310585U, // FDIV_ZPmZ_H |
| 302027705U, // FDIV_ZPmZ_S |
| 2216211385U, // FDIVv2f32 |
| 2216735673U, // FDIVv2f64 |
| 69776313U, // FDIVv4f16 |
| 70300601U, // FDIVv4f32 |
| 2218308537U, // FDIVv8f16 |
| 838881376U, // FDUP_ZI_D |
| 9465952U, // FDUP_ZI_H |
| 838897760U, // FDUP_ZI_S |
| 2348827371U, // FEXPA_ZZ_D |
| 608723691U, // FEXPA_ZZ_H |
| 2415952619U, // FEXPA_ZZ_S |
| 2248200909U, // FJCVTZS |
| 100714511U, // FMADDDrrr |
| 100714511U, // FMADDHrrr |
| 100714511U, // FMADDSrrr |
| 302008208U, // FMAD_ZPmZZ_D |
| 2186307472U, // FMAD_ZPmZZ_H |
| 302024592U, // FMAD_ZPmZZ_S |
| 100717911U, // FMAXDrr |
| 100717911U, // FMAXHrr |
| 100716219U, // FMAXNMDrr |
| 100716219U, // FMAXNMHrr |
| 2216210455U, // FMAXNMPv2f32 |
| 2216734743U, // FMAXNMPv2f64 |
| 2214645783U, // FMAXNMPv2i16p |
| 67162135U, // FMAXNMPv2i32p |
| 2214645783U, // FMAXNMPv2i64p |
| 69775383U, // FMAXNMPv4f16 |
| 70299671U, // FMAXNMPv4f32 |
| 2218307607U, // FMAXNMPv8f16 |
| 100716219U, // FMAXNMSrr |
| 302044132U, // FMAXNMV_VPZ_D |
| 302044132U, // FMAXNMV_VPZ_H |
| 302044132U, // FMAXNMV_VPZ_S |
| 67163108U, // FMAXNMVv4i16v |
| 2214646756U, // FMAXNMVv4i32v |
| 67163108U, // FMAXNMVv8i16v |
| 302010043U, // FMAXNM_ZPmI_D |
| 2186309307U, // FMAXNM_ZPmI_H |
| 302026427U, // FMAXNM_ZPmI_S |
| 302010043U, // FMAXNM_ZPmZ_D |
| 2186309307U, // FMAXNM_ZPmZ_H |
| 302026427U, // FMAXNM_ZPmZ_S |
| 2216210107U, // FMAXNMv2f32 |
| 2216734395U, // FMAXNMv2f64 |
| 69775035U, // FMAXNMv4f16 |
| 70299323U, // FMAXNMv4f32 |
| 2218307259U, // FMAXNMv8f16 |
| 2216210546U, // FMAXPv2f32 |
| 2216734834U, // FMAXPv2f64 |
| 2214645874U, // FMAXPv2i16p |
| 67162226U, // FMAXPv2i32p |
| 2214645874U, // FMAXPv2i64p |
| 69775474U, // FMAXPv4f16 |
| 70299762U, // FMAXPv4f32 |
| 2218307698U, // FMAXPv8f16 |
| 100717911U, // FMAXSrr |
| 302044193U, // FMAXV_VPZ_D |
| 302044193U, // FMAXV_VPZ_H |
| 302044193U, // FMAXV_VPZ_S |
| 67163169U, // FMAXVv4i16v |
| 2214646817U, // FMAXVv4i32v |
| 67163169U, // FMAXVv8i16v |
| 302011735U, // FMAX_ZPmI_D |
| 2186310999U, // FMAX_ZPmI_H |
| 302028119U, // FMAX_ZPmI_S |
| 302011735U, // FMAX_ZPmZ_D |
| 2186310999U, // FMAX_ZPmZ_H |
| 302028119U, // FMAX_ZPmZ_S |
| 2216211799U, // FMAXv2f32 |
| 2216736087U, // FMAXv2f64 |
| 69776727U, // FMAXv4f16 |
| 70301015U, // FMAXv4f32 |
| 2218308951U, // FMAXv8f16 |
| 100716264U, // FMINDrr |
| 100716264U, // FMINHrr |
| 100716211U, // FMINNMDrr |
| 100716211U, // FMINNMHrr |
| 2216210446U, // FMINNMPv2f32 |
| 2216734734U, // FMINNMPv2f64 |
| 2214645774U, // FMINNMPv2i16p |
| 67162126U, // FMINNMPv2i32p |
| 2214645774U, // FMINNMPv2i64p |
| 69775374U, // FMINNMPv4f16 |
| 70299662U, // FMINNMPv4f32 |
| 2218307598U, // FMINNMPv8f16 |
| 100716211U, // FMINNMSrr |
| 302044123U, // FMINNMV_VPZ_D |
| 302044123U, // FMINNMV_VPZ_H |
| 302044123U, // FMINNMV_VPZ_S |
| 67163099U, // FMINNMVv4i16v |
| 2214646747U, // FMINNMVv4i32v |
| 67163099U, // FMINNMVv8i16v |
| 302010035U, // FMINNM_ZPmI_D |
| 2186309299U, // FMINNM_ZPmI_H |
| 302026419U, // FMINNM_ZPmI_S |
| 302010035U, // FMINNM_ZPmZ_D |
| 2186309299U, // FMINNM_ZPmZ_H |
| 302026419U, // FMINNM_ZPmZ_S |
| 2216210099U, // FMINNMv2f32 |
| 2216734387U, // FMINNMv2f64 |
| 69775027U, // FMINNMv4f16 |
| 70299315U, // FMINNMv4f32 |
| 2218307251U, // FMINNMv8f16 |
| 2216210470U, // FMINPv2f32 |
| 2216734758U, // FMINPv2f64 |
| 2214645798U, // FMINPv2i16p |
| 67162150U, // FMINPv2i32p |
| 2214645798U, // FMINPv2i64p |
| 69775398U, // FMINPv4f16 |
| 70299686U, // FMINPv4f32 |
| 2218307622U, // FMINPv8f16 |
| 100716264U, // FMINSrr |
| 302044141U, // FMINV_VPZ_D |
| 302044141U, // FMINV_VPZ_H |
| 302044141U, // FMINV_VPZ_S |
| 67163117U, // FMINVv4i16v |
| 2214646765U, // FMINVv4i32v |
| 67163117U, // FMINVv8i16v |
| 302010088U, // FMIN_ZPmI_D |
| 2186309352U, // FMIN_ZPmI_H |
| 302026472U, // FMIN_ZPmI_S |
| 302010088U, // FMIN_ZPmZ_D |
| 2186309352U, // FMIN_ZPmZ_H |
| 302026472U, // FMIN_ZPmZ_S |
| 2216210152U, // FMINv2f32 |
| 2216734440U, // FMINv2f64 |
| 69775080U, // FMINv4f16 |
| 70299368U, // FMINv4f32 |
| 2218307304U, // FMINv8f16 |
| 302006968U, // FMLA_ZPmZZ_D |
| 2186306232U, // FMLA_ZPmZZ_H |
| 302023352U, // FMLA_ZPmZZ_S |
| 3019915960U, // FMLA_ZZZI_D |
| 612393656U, // FMLA_ZZZI_H |
| 2952823480U, // FMLA_ZZZI_S |
| 369189560U, // FMLAv1i16_indexed |
| 369189560U, // FMLAv1i32_indexed |
| 369189560U, // FMLAv1i64_indexed |
| 2283332280U, // FMLAv2f32 |
| 2283856568U, // FMLAv2f64 |
| 2283332280U, // FMLAv2i32_indexed |
| 2283856568U, // FMLAv2i64_indexed |
| 136897208U, // FMLAv4f16 |
| 137421496U, // FMLAv4f32 |
| 136897208U, // FMLAv4i16_indexed |
| 137421496U, // FMLAv4i32_indexed |
| 2285429432U, // FMLAv8f16 |
| 2285429432U, // FMLAv8i16_indexed |
| 302010962U, // FMLS_ZPmZZ_D |
| 2186310226U, // FMLS_ZPmZZ_H |
| 302027346U, // FMLS_ZPmZZ_S |
| 3019919954U, // FMLS_ZZZI_D |
| 612397650U, // FMLS_ZZZI_H |
| 2952827474U, // FMLS_ZZZI_S |
| 369193554U, // FMLSv1i16_indexed |
| 369193554U, // FMLSv1i32_indexed |
| 369193554U, // FMLSv1i64_indexed |
| 2283336274U, // FMLSv2f32 |
| 2283860562U, // FMLSv2f64 |
| 2283336274U, // FMLSv2i32_indexed |
| 2283860562U, // FMLSv2i64_indexed |
| 136901202U, // FMLSv4f16 |
| 137425490U, // FMLSv4f32 |
| 136901202U, // FMLSv4i16_indexed |
| 137425490U, // FMLSv4i32_indexed |
| 2285433426U, // FMLSv8f16 |
| 2285433426U, // FMLSv8i16_indexed |
| 0U, // FMOVD0 |
| 67163145U, // FMOVDXHighr |
| 2248201225U, // FMOVDXr |
| 838915081U, // FMOVDi |
| 2248201225U, // FMOVDr |
| 0U, // FMOVH0 |
| 2248201225U, // FMOVHWr |
| 2248201225U, // FMOVHXr |
| 838915081U, // FMOVHi |
| 2248201225U, // FMOVHr |
| 0U, // FMOVS0 |
| 2248201225U, // FMOVSWr |
| 838915081U, // FMOVSi |
| 2248201225U, // FMOVSr |
| 2248201225U, // FMOVWHr |
| 2248201225U, // FMOVWSr |
| 2258154505U, // FMOVXDHighr |
| 2248201225U, // FMOVXDr |
| 2248201225U, // FMOVXHr |
| 840479753U, // FMOVv2f32_ns |
| 841004041U, // FMOVv2f64_ns |
| 841528329U, // FMOVv4f16_ns |
| 842052617U, // FMOVv4f32_ns |
| 842576905U, // FMOVv8f16_ns |
| 302007876U, // FMSB_ZPmZZ_D |
| 2186307140U, // FMSB_ZPmZZ_H |
| 302024260U, // FMSB_ZPmZZ_S |
| 100714165U, // FMSUBDrrr |
| 100714165U, // FMSUBHrrr |
| 100714165U, // FMSUBSrrr |
| 100716128U, // FMULDrr |
| 100716128U, // FMULHrr |
| 100716128U, // FMULSrr |
| 100717970U, // FMULX16 |
| 100717970U, // FMULX32 |
| 100717970U, // FMULX64 |
| 302011794U, // FMULX_ZPmZ_D |
| 2186311058U, // FMULX_ZPmZ_H |
| 302028178U, // FMULX_ZPmZ_S |
| 100717970U, // FMULXv1i16_indexed |
| 100717970U, // FMULXv1i32_indexed |
| 100717970U, // FMULXv1i64_indexed |
| 2216211858U, // FMULXv2f32 |
| 2216736146U, // FMULXv2f64 |
| 2216211858U, // FMULXv2i32_indexed |
| 2216736146U, // FMULXv2i64_indexed |
| 69776786U, // FMULXv4f16 |
| 70301074U, // FMULXv4f32 |
| 69776786U, // FMULXv4i16_indexed |
| 70301074U, // FMULXv4i32_indexed |
| 2218309010U, // FMULXv8f16 |
| 2218309010U, // FMULXv8i16_indexed |
| 302009952U, // FMUL_ZPmI_D |
| 2186309216U, // FMUL_ZPmI_H |
| 302026336U, // FMUL_ZPmI_S |
| 302009952U, // FMUL_ZPmZ_D |
| 2186309216U, // FMUL_ZPmZ_H |
| 302026336U, // FMUL_ZPmZ_S |
| 201346656U, // FMUL_ZZZI_D |
| 2387111520U, // FMUL_ZZZI_H |
| 268471904U, // FMUL_ZZZI_S |
| 201346656U, // FMUL_ZZZ_D |
| 2387111520U, // FMUL_ZZZ_H |
| 268471904U, // FMUL_ZZZ_S |
| 100716128U, // FMULv1i16_indexed |
| 100716128U, // FMULv1i32_indexed |
| 100716128U, // FMULv1i64_indexed |
| 2216210016U, // FMULv2f32 |
| 2216734304U, // FMULv2f64 |
| 2216210016U, // FMULv2i32_indexed |
| 2216734304U, // FMULv2i64_indexed |
| 69774944U, // FMULv4f16 |
| 70299232U, // FMULv4f32 |
| 69774944U, // FMULv4i16_indexed |
| 70299232U, // FMULv4i32_indexed |
| 2218307168U, // FMULv8f16 |
| 2218307168U, // FMULv8i16_indexed |
| 2248198419U, // FNEGDr |
| 2248198419U, // FNEGHr |
| 2248198419U, // FNEGSr |
| 18707U, // FNEG_ZPmZ_D |
| 2181589267U, // FNEG_ZPmZ_H |
| 35091U, // FNEG_ZPmZ_S |
| 68725011U, // FNEGv2f32 |
| 2216732947U, // FNEGv2f64 |
| 69773587U, // FNEGv4f16 |
| 2217781523U, // FNEGv4f32 |
| 70822163U, // FNEGv8f16 |
| 100714518U, // FNMADDDrrr |
| 100714518U, // FNMADDHrrr |
| 100714518U, // FNMADDSrrr |
| 302008214U, // FNMAD_ZPmZZ_D |
| 2186307478U, // FNMAD_ZPmZZ_H |
| 302024598U, // FNMAD_ZPmZZ_S |
| 302006974U, // FNMLA_ZPmZZ_D |
| 2186306238U, // FNMLA_ZPmZZ_H |
| 302023358U, // FNMLA_ZPmZZ_S |
| 302010968U, // FNMLS_ZPmZZ_D |
| 2186310232U, // FNMLS_ZPmZZ_H |
| 302027352U, // FNMLS_ZPmZZ_S |
| 302007882U, // FNMSB_ZPmZZ_D |
| 2186307146U, // FNMSB_ZPmZZ_H |
| 302024266U, // FNMSB_ZPmZZ_S |
| 100714172U, // FNMSUBDrrr |
| 100714172U, // FNMSUBHrrr |
| 100714172U, // FNMSUBSrrr |
| 100716134U, // FNMULDrr |
| 100716134U, // FNMULHrr |
| 100716134U, // FNMULSrr |
| 2348828852U, // FRECPE_ZZ_D |
| 608725172U, // FRECPE_ZZ_H |
| 2415954100U, // FRECPE_ZZ_S |
| 2248198324U, // FRECPEv1f16 |
| 2248198324U, // FRECPEv1i32 |
| 2248198324U, // FRECPEv1i64 |
| 68724916U, // FRECPEv2f32 |
| 2216732852U, // FRECPEv2f64 |
| 69773492U, // FRECPEv4f16 |
| 2217781428U, // FRECPEv4f32 |
| 70822068U, // FRECPEv8f16 |
| 100717192U, // FRECPS16 |
| 100717192U, // FRECPS32 |
| 100717192U, // FRECPS64 |
| 201347720U, // FRECPS_ZZZ_D |
| 2387112584U, // FRECPS_ZZZ_H |
| 268472968U, // FRECPS_ZZZ_S |
| 2216211080U, // FRECPSv2f32 |
| 2216735368U, // FRECPSv2f64 |
| 69776008U, // FRECPSv4f16 |
| 70300296U, // FRECPSv4f32 |
| 2218308232U, // FRECPSv8f16 |
| 21913U, // FRECPX_ZPmZ_D |
| 2181592473U, // FRECPX_ZPmZ_H |
| 38297U, // FRECPX_ZPmZ_S |
| 2248201625U, // FRECPXv1f16 |
| 2248201625U, // FRECPXv1i32 |
| 2248201625U, // FRECPXv1i64 |
| 2248196906U, // FRINTADr |
| 2248196906U, // FRINTAHr |
| 2248196906U, // FRINTASr |
| 17194U, // FRINTA_ZPmZ_D |
| 2181587754U, // FRINTA_ZPmZ_H |
| 33578U, // FRINTA_ZPmZ_S |
| 68723498U, // FRINTAv2f32 |
| 2216731434U, // FRINTAv2f64 |
| 69772074U, // FRINTAv4f16 |
| 2217780010U, // FRINTAv4f32 |
| 70820650U, // FRINTAv8f16 |
| 2248199305U, // FRINTIDr |
| 2248199305U, // FRINTIHr |
| 2248199305U, // FRINTISr |
| 19593U, // FRINTI_ZPmZ_D |
| 2181590153U, // FRINTI_ZPmZ_H |
| 35977U, // FRINTI_ZPmZ_S |
| 68725897U, // FRINTIv2f32 |
| 2216733833U, // FRINTIv2f64 |
| 69774473U, // FRINTIv4f16 |
| 2217782409U, // FRINTIv4f32 |
| 70823049U, // FRINTIv8f16 |
| 2248199881U, // FRINTMDr |
| 2248199881U, // FRINTMHr |
| 2248199881U, // FRINTMSr |
| 20169U, // FRINTM_ZPmZ_D |
| 2181590729U, // FRINTM_ZPmZ_H |
| 36553U, // FRINTM_ZPmZ_S |
| 68726473U, // FRINTMv2f32 |
| 2216734409U, // FRINTMv2f64 |
| 69775049U, // FRINTMv4f16 |
| 2217782985U, // FRINTMv4f32 |
| 70823625U, // FRINTMv8f16 |
| 2248199990U, // FRINTNDr |
| 2248199990U, // FRINTNHr |
| 2248199990U, // FRINTNSr |
| 20278U, // FRINTN_ZPmZ_D |
| 2181590838U, // FRINTN_ZPmZ_H |
| 36662U, // FRINTN_ZPmZ_S |
| 68726582U, // FRINTNv2f32 |
| 2216734518U, // FRINTNv2f64 |
| 69775158U, // FRINTNv4f16 |
| 2217783094U, // FRINTNv4f32 |
| 70823734U, // FRINTNv8f16 |
| 2248200275U, // FRINTPDr |
| 2248200275U, // FRINTPHr |
| 2248200275U, // FRINTPSr |
| 20563U, // FRINTP_ZPmZ_D |
| 2181591123U, // FRINTP_ZPmZ_H |
| 36947U, // FRINTP_ZPmZ_S |
| 68726867U, // FRINTPv2f32 |
| 2216734803U, // FRINTPv2f64 |
| 69775443U, // FRINTPv4f16 |
| 2217783379U, // FRINTPv4f32 |
| 70824019U, // FRINTPv8f16 |
| 2248201633U, // FRINTXDr |
| 2248201633U, // FRINTXHr |
| 2248201633U, // FRINTXSr |
| 21921U, // FRINTX_ZPmZ_D |
| 2181592481U, // FRINTX_ZPmZ_H |
| 38305U, // FRINTX_ZPmZ_S |
| 68728225U, // FRINTXv2f32 |
| 2216736161U, // FRINTXv2f64 |
| 69776801U, // FRINTXv4f16 |
| 2217784737U, // FRINTXv4f32 |
| 70825377U, // FRINTXv8f16 |
| 2248201713U, // FRINTZDr |
| 2248201713U, // FRINTZHr |
| 2248201713U, // FRINTZSr |
| 22001U, // FRINTZ_ZPmZ_D |
| 2181592561U, // FRINTZ_ZPmZ_H |
| 38385U, // FRINTZ_ZPmZ_S |
| 68728305U, // FRINTZv2f32 |
| 2216736241U, // FRINTZv2f64 |
| 69776881U, // FRINTZv4f16 |
| 2217784817U, // FRINTZv4f32 |
| 70825457U, // FRINTZv8f16 |
| 2348828897U, // FRSQRTE_ZZ_D |
| 608725217U, // FRSQRTE_ZZ_H |
| 2415954145U, // FRSQRTE_ZZ_S |
| 2248198369U, // FRSQRTEv1f16 |
| 2248198369U, // FRSQRTEv1i32 |
| 2248198369U, // FRSQRTEv1i64 |
| 68724961U, // FRSQRTEv2f32 |
| 2216732897U, // FRSQRTEv2f64 |
| 69773537U, // FRSQRTEv4f16 |
| 2217781473U, // FRSQRTEv4f32 |
| 70822113U, // FRSQRTEv8f16 |
| 100717239U, // FRSQRTS16 |
| 100717239U, // FRSQRTS32 |
| 100717239U, // FRSQRTS64 |
| 201347767U, // FRSQRTS_ZZZ_D |
| 2387112631U, // FRSQRTS_ZZZ_H |
| 268473015U, // FRSQRTS_ZZZ_S |
| 2216211127U, // FRSQRTSv2f32 |
| 2216735415U, // FRSQRTSv2f64 |
| 69776055U, // FRSQRTSv4f16 |
| 70300343U, // FRSQRTSv4f32 |
| 2218308279U, // FRSQRTSv8f16 |
| 302008446U, // FSCALE_ZPmZ_D |
| 2186307710U, // FSCALE_ZPmZ_H |
| 302024830U, // FSCALE_ZPmZ_S |
| 2248201023U, // FSQRTDr |
| 2248201023U, // FSQRTHr |
| 2248201023U, // FSQRTSr |
| 21311U, // FSQRT_ZPmZ_D |
| 2181591871U, // FSQRT_ZPmZ_H |
| 37695U, // FSQRT_ZPmZ_S |
| 68727615U, // FSQRTv2f32 |
| 2216735551U, // FSQRTv2f64 |
| 69776191U, // FSQRTv4f16 |
| 2217784127U, // FSQRTv4f32 |
| 70824767U, // FSQRTv8f16 |
| 100714145U, // FSUBDrr |
| 100714145U, // FSUBHrr |
| 302010587U, // FSUBR_ZPmI_D |
| 2186309851U, // FSUBR_ZPmI_H |
| 302026971U, // FSUBR_ZPmI_S |
| 302010587U, // FSUBR_ZPmZ_D |
| 2186309851U, // FSUBR_ZPmZ_H |
| 302026971U, // FSUBR_ZPmZ_S |
| 100714145U, // FSUBSrr |
| 302007969U, // FSUB_ZPmI_D |
| 2186307233U, // FSUB_ZPmI_H |
| 302024353U, // FSUB_ZPmI_S |
| 302007969U, // FSUB_ZPmZ_D |
| 2186307233U, // FSUB_ZPmZ_H |
| 302024353U, // FSUB_ZPmZ_S |
| 201344673U, // FSUB_ZZZ_D |
| 2387109537U, // FSUB_ZZZ_H |
| 268469921U, // FSUB_ZZZ_S |
| 2216208033U, // FSUBv2f32 |
| 2216732321U, // FSUBv2f64 |
| 69772961U, // FSUBv4f16 |
| 70297249U, // FSUBv4f32 |
| 2218305185U, // FSUBv8f16 |
| 201344925U, // FTMAD_ZZI_D |
| 2387109789U, // FTMAD_ZZI_H |
| 268470173U, // FTMAD_ZZI_S |
| 201346675U, // FTSMUL_ZZZ_D |
| 2387111539U, // FTSMUL_ZZZ_H |
| 268471923U, // FTSMUL_ZZZ_S |
| 201346439U, // FTSSEL_ZZZ_D |
| 2387111303U, // FTSSEL_ZZZ_H |
| 268471687U, // FTSSEL_ZZZ_S |
| 883032940U, // GLD1B_D_IMM_REAL |
| 379716460U, // GLD1B_D_REAL |
| 379716460U, // GLD1B_D_SXTW_REAL |
| 379716460U, // GLD1B_D_UXTW_REAL |
| 815932268U, // GLD1B_S_IMM_REAL |
| 379724652U, // GLD1B_S_SXTW_REAL |
| 379724652U, // GLD1B_S_UXTW_REAL |
| 883033920U, // GLD1D_IMM_REAL |
| 379717440U, // GLD1D_REAL |
| 379717440U, // GLD1D_SCALED_REAL |
| 379717440U, // GLD1D_SXTW_REAL |
| 379717440U, // GLD1D_SXTW_SCALED_REAL |
| 379717440U, // GLD1D_UXTW_REAL |
| 379717440U, // GLD1D_UXTW_SCALED_REAL |
| 3030518062U, // GLD1H_D_IMM_REAL |
| 379717934U, // GLD1H_D_REAL |
| 379717934U, // GLD1H_D_SCALED_REAL |
| 379717934U, // GLD1H_D_SXTW_REAL |
| 379717934U, // GLD1H_D_SXTW_SCALED_REAL |
| 379717934U, // GLD1H_D_UXTW_REAL |
| 379717934U, // GLD1H_D_UXTW_SCALED_REAL |
| 2963417390U, // GLD1H_S_IMM_REAL |
| 379726126U, // GLD1H_S_SXTW_REAL |
| 379726126U, // GLD1H_S_SXTW_SCALED_REAL |
| 379726126U, // GLD1H_S_UXTW_REAL |
| 379726126U, // GLD1H_S_UXTW_SCALED_REAL |
| 883033627U, // GLD1SB_D_IMM_REAL |
| 379717147U, // GLD1SB_D_REAL |
| 379717147U, // GLD1SB_D_SXTW_REAL |
| 379717147U, // GLD1SB_D_UXTW_REAL |
| 815932955U, // GLD1SB_S_IMM_REAL |
| 379725339U, // GLD1SB_S_SXTW_REAL |
| 379725339U, // GLD1SB_S_UXTW_REAL |
| 3030518726U, // GLD1SH_D_IMM_REAL |
| 379718598U, // GLD1SH_D_REAL |
| 379718598U, // GLD1SH_D_SCALED_REAL |
| 379718598U, // GLD1SH_D_SXTW_REAL |
| 379718598U, // GLD1SH_D_SXTW_SCALED_REAL |
| 379718598U, // GLD1SH_D_UXTW_REAL |
| 379718598U, // GLD1SH_D_UXTW_SCALED_REAL |
| 2963418054U, // GLD1SH_S_IMM_REAL |
| 379726790U, // GLD1SH_S_SXTW_REAL |
| 379726790U, // GLD1SH_S_SXTW_SCALED_REAL |
| 379726790U, // GLD1SH_S_UXTW_REAL |
| 379726790U, // GLD1SH_S_UXTW_SCALED_REAL |
| 883037416U, // GLD1SW_D_IMM_REAL |
| 379720936U, // GLD1SW_D_REAL |
| 379720936U, // GLD1SW_D_SCALED_REAL |
| 379720936U, // GLD1SW_D_SXTW_REAL |
| 379720936U, // GLD1SW_D_SXTW_SCALED_REAL |
| 379720936U, // GLD1SW_D_UXTW_REAL |
| 379720936U, // GLD1SW_D_UXTW_SCALED_REAL |
| 883037238U, // GLD1W_D_IMM_REAL |
| 379720758U, // GLD1W_D_REAL |
| 379720758U, // GLD1W_D_SCALED_REAL |
| 379720758U, // GLD1W_D_SXTW_REAL |
| 379720758U, // GLD1W_D_SXTW_SCALED_REAL |
| 379720758U, // GLD1W_D_UXTW_REAL |
| 379720758U, // GLD1W_D_UXTW_SCALED_REAL |
| 815936566U, // GLD1W_IMM_REAL |
| 379728950U, // GLD1W_SXTW_REAL |
| 379728950U, // GLD1W_SXTW_SCALED_REAL |
| 379728950U, // GLD1W_UXTW_REAL |
| 379728950U, // GLD1W_UXTW_SCALED_REAL |
| 883032946U, // GLDFF1B_D_IMM_REAL |
| 379716466U, // GLDFF1B_D_REAL |
| 379716466U, // GLDFF1B_D_SXTW_REAL |
| 379716466U, // GLDFF1B_D_UXTW_REAL |
| 815932274U, // GLDFF1B_S_IMM_REAL |
| 379724658U, // GLDFF1B_S_SXTW_REAL |
| 379724658U, // GLDFF1B_S_UXTW_REAL |
| 883033926U, // GLDFF1D_IMM_REAL |
| 379717446U, // GLDFF1D_REAL |
| 379717446U, // GLDFF1D_SCALED_REAL |
| 379717446U, // GLDFF1D_SXTW_REAL |
| 379717446U, // GLDFF1D_SXTW_SCALED_REAL |
| 379717446U, // GLDFF1D_UXTW_REAL |
| 379717446U, // GLDFF1D_UXTW_SCALED_REAL |
| 3030518068U, // GLDFF1H_D_IMM_REAL |
| 379717940U, // GLDFF1H_D_REAL |
| 379717940U, // GLDFF1H_D_SCALED_REAL |
| 379717940U, // GLDFF1H_D_SXTW_REAL |
| 379717940U, // GLDFF1H_D_SXTW_SCALED_REAL |
| 379717940U, // GLDFF1H_D_UXTW_REAL |
| 379717940U, // GLDFF1H_D_UXTW_SCALED_REAL |
| 2963417396U, // GLDFF1H_S_IMM_REAL |
| 379726132U, // GLDFF1H_S_SXTW_REAL |
| 379726132U, // GLDFF1H_S_SXTW_SCALED_REAL |
| 379726132U, // GLDFF1H_S_UXTW_REAL |
| 379726132U, // GLDFF1H_S_UXTW_SCALED_REAL |
| 883033634U, // GLDFF1SB_D_IMM_REAL |
| 379717154U, // GLDFF1SB_D_REAL |
| 379717154U, // GLDFF1SB_D_SXTW_REAL |
| 379717154U, // GLDFF1SB_D_UXTW_REAL |
| 815932962U, // GLDFF1SB_S_IMM_REAL |
| 379725346U, // GLDFF1SB_S_SXTW_REAL |
| 379725346U, // GLDFF1SB_S_UXTW_REAL |
| 3030518733U, // GLDFF1SH_D_IMM_REAL |
| 379718605U, // GLDFF1SH_D_REAL |
| 379718605U, // GLDFF1SH_D_SCALED_REAL |
| 379718605U, // GLDFF1SH_D_SXTW_REAL |
| 379718605U, // GLDFF1SH_D_SXTW_SCALED_REAL |
| 379718605U, // GLDFF1SH_D_UXTW_REAL |
| 379718605U, // GLDFF1SH_D_UXTW_SCALED_REAL |
| 2963418061U, // GLDFF1SH_S_IMM_REAL |
| 379726797U, // GLDFF1SH_S_SXTW_REAL |
| 379726797U, // GLDFF1SH_S_SXTW_SCALED_REAL |
| 379726797U, // GLDFF1SH_S_UXTW_REAL |
| 379726797U, // GLDFF1SH_S_UXTW_SCALED_REAL |
| 883037423U, // GLDFF1SW_D_IMM_REAL |
| 379720943U, // GLDFF1SW_D_REAL |
| 379720943U, // GLDFF1SW_D_SCALED_REAL |
| 379720943U, // GLDFF1SW_D_SXTW_REAL |
| 379720943U, // GLDFF1SW_D_SXTW_SCALED_REAL |
| 379720943U, // GLDFF1SW_D_UXTW_REAL |
| 379720943U, // GLDFF1SW_D_UXTW_SCALED_REAL |
| 883037244U, // GLDFF1W_D_IMM_REAL |
| 379720764U, // GLDFF1W_D_REAL |
| 379720764U, // GLDFF1W_D_SCALED_REAL |
| 379720764U, // GLDFF1W_D_SXTW_REAL |
| 379720764U, // GLDFF1W_D_SXTW_SCALED_REAL |
| 379720764U, // GLDFF1W_D_UXTW_REAL |
| 379720764U, // GLDFF1W_D_UXTW_SCALED_REAL |
| 815936572U, // GLDFF1W_IMM_REAL |
| 379728956U, // GLDFF1W_SXTW_REAL |
| 379728956U, // GLDFF1W_SXTW_SCALED_REAL |
| 379728956U, // GLDFF1W_UXTW_REAL |
| 379728956U, // GLDFF1W_UXTW_SCALED_REAL |
| 152359U, // HINT |
| 78607U, // HLT |
| 75574U, // HVC |
| 536921183U, // INCB_XPiI |
| 536922063U, // INCD_XPiI |
| 536889295U, // INCD_ZPiI |
| 536922647U, // INCH_XPiI |
| 6842903U, // INCH_ZPiI |
| 2315308999U, // INCP_XP_B |
| 2348863431U, // INCP_XP_D |
| 2717962183U, // INCP_XP_H |
| 2415972295U, // INCP_XP_S |
| 2147504071U, // INCP_ZP_D |
| 604532679U, // INCP_ZP_H |
| 2147520455U, // INCP_ZP_S |
| 536925367U, // INCW_XPiI |
| 536908983U, // INCW_ZPiI |
| 100676987U, // INDEX_II_B |
| 100685179U, // INDEX_II_D |
| 242775419U, // INDEX_II_H |
| 100701563U, // INDEX_II_S |
| 100676987U, // INDEX_IR_B |
| 100685179U, // INDEX_IR_D |
| 242775419U, // INDEX_IR_H |
| 100701563U, // INDEX_IR_S |
| 100676987U, // INDEX_RI_B |
| 100685179U, // INDEX_RI_D |
| 242775419U, // INDEX_RI_H |
| 100701563U, // INDEX_RI_S |
| 100676987U, // INDEX_RR_B |
| 100685179U, // INDEX_RR_D |
| 242775419U, // INDEX_RR_H |
| 100701563U, // INDEX_RR_S |
| 2516595051U, // INSR_ZR_B |
| 2516603243U, // INSR_ZR_D |
| 615018859U, // INSR_ZR_H |
| 2516619627U, // INSR_ZR_S |
| 2516595051U, // INSR_ZV_B |
| 2516603243U, // INSR_ZV_D |
| 615018859U, // INSR_ZV_H |
| 2516619627U, // INSR_ZV_S |
| 3065049710U, // INSvi16gpr |
| 951120494U, // INSvi16lane |
| 3065573998U, // INSvi32gpr |
| 3099128430U, // INSvi32lane |
| 3063476846U, // INSvi64gpr |
| 949547630U, // INSvi64lane |
| 3066098286U, // INSvi8gpr |
| 3099652718U, // INSvi8lane |
| 116287U, // ISB |
| 302039859U, // LASTA_RPZ_B |
| 302039859U, // LASTA_RPZ_D |
| 302039859U, // LASTA_RPZ_H |
| 302039859U, // LASTA_RPZ_S |
| 302039859U, // LASTA_VPZ_B |
| 302039859U, // LASTA_VPZ_D |
| 302039859U, // LASTA_VPZ_H |
| 302039859U, // LASTA_VPZ_S |
| 302040718U, // LASTB_RPZ_B |
| 302040718U, // LASTB_RPZ_D |
| 302040718U, // LASTB_RPZ_H |
| 302040718U, // LASTB_RPZ_S |
| 302040718U, // LASTB_VPZ_B |
| 302040718U, // LASTB_VPZ_D |
| 302040718U, // LASTB_VPZ_H |
| 302040718U, // LASTB_VPZ_S |
| 379741036U, // LD1B |
| 379716460U, // LD1B_D |
| 379716460U, // LD1B_D_IMM_REAL |
| 379749228U, // LD1B_H |
| 379749228U, // LD1B_H_IMM_REAL |
| 379741036U, // LD1B_IMM_REAL |
| 379724652U, // LD1B_S |
| 379724652U, // LD1B_S_IMM_REAL |
| 379717440U, // LD1D |
| 379717440U, // LD1D_IMM_REAL |
| 172064U, // LD1Fourv16b |
| 13287456U, // LD1Fourv16b_POST |
| 188448U, // LD1Fourv1d |
| 13828128U, // LD1Fourv1d_POST |
| 204832U, // LD1Fourv2d |
| 13320224U, // LD1Fourv2d_POST |
| 221216U, // LD1Fourv2s |
| 13860896U, // LD1Fourv2s_POST |
| 237600U, // LD1Fourv4h |
| 13877280U, // LD1Fourv4h_POST |
| 253984U, // LD1Fourv4s |
| 13369376U, // LD1Fourv4s_POST |
| 270368U, // LD1Fourv8b |
| 13910048U, // LD1Fourv8b_POST |
| 286752U, // LD1Fourv8h |
| 13402144U, // LD1Fourv8h_POST |
| 379750702U, // LD1H |
| 379717934U, // LD1H_D |
| 379717934U, // LD1H_D_IMM_REAL |
| 379750702U, // LD1H_IMM_REAL |
| 379726126U, // LD1H_S |
| 379726126U, // LD1H_S_IMM_REAL |
| 172064U, // LD1Onev16b |
| 14336032U, // LD1Onev16b_POST |
| 188448U, // LD1Onev1d |
| 14876704U, // LD1Onev1d_POST |
| 204832U, // LD1Onev2d |
| 14368800U, // LD1Onev2d_POST |
| 221216U, // LD1Onev2s |
| 14909472U, // LD1Onev2s_POST |
| 237600U, // LD1Onev4h |
| 14925856U, // LD1Onev4h_POST |
| 253984U, // LD1Onev4s |
| 14417952U, // LD1Onev4s_POST |
| 270368U, // LD1Onev8b |
| 14958624U, // LD1Onev8b_POST |
| 286752U, // LD1Onev8h |
| 14450720U, // LD1Onev8h_POST |
| 379716999U, // LD1RB_D_IMM |
| 379749767U, // LD1RB_H_IMM |
| 379741575U, // LD1RB_IMM |
| 379725191U, // LD1RB_S_IMM |
| 379717698U, // LD1RD_IMM |
| 379718450U, // LD1RH_D_IMM |
| 379751218U, // LD1RH_IMM |
| 379726642U, // LD1RH_S_IMM |
| 379741567U, // LD1RQ_B |
| 379741567U, // LD1RQ_B_IMM |
| 379717690U, // LD1RQ_D |
| 379717690U, // LD1RQ_D_IMM |
| 379751210U, // LD1RQ_H |
| 379751210U, // LD1RQ_H_IMM |
| 379729113U, // LD1RQ_W |
| 379729113U, // LD1RQ_W_IMM |
| 379717201U, // LD1RSB_D_IMM |
| 379749969U, // LD1RSB_H_IMM |
| 379725393U, // LD1RSB_S_IMM |
| 379718639U, // LD1RSH_D_IMM |
| 379726831U, // LD1RSH_S_IMM |
| 379720968U, // LD1RSW_IMM |
| 379720929U, // LD1RW_D_IMM |
| 379729121U, // LD1RW_IMM |
| 176305U, // LD1Rv16b |
| 15388849U, // LD1Rv16b_POST |
| 192689U, // LD1Rv1d |
| 14880945U, // LD1Rv1d_POST |
| 209073U, // LD1Rv2d |
| 14897329U, // LD1Rv2d_POST |
| 225457U, // LD1Rv2s |
| 15962289U, // LD1Rv2s_POST |
| 241841U, // LD1Rv4h |
| 16502961U, // LD1Rv4h_POST |
| 258225U, // LD1Rv4s |
| 15995057U, // LD1Rv4s_POST |
| 274609U, // LD1Rv8b |
| 15487153U, // LD1Rv8b_POST |
| 290993U, // LD1Rv8h |
| 16552113U, // LD1Rv8h_POST |
| 379717147U, // LD1SB_D |
| 379717147U, // LD1SB_D_IMM_REAL |
| 379749915U, // LD1SB_H |
| 379749915U, // LD1SB_H_IMM_REAL |
| 379725339U, // LD1SB_S |
| 379725339U, // LD1SB_S_IMM_REAL |
| 379718598U, // LD1SH_D |
| 379718598U, // LD1SH_D_IMM_REAL |
| 379726790U, // LD1SH_S |
| 379726790U, // LD1SH_S_IMM_REAL |
| 379720936U, // LD1SW_D |
| 379720936U, // LD1SW_D_IMM_REAL |
| 172064U, // LD1Threev16b |
| 16957472U, // LD1Threev16b_POST |
| 188448U, // LD1Threev1d |
| 17498144U, // LD1Threev1d_POST |
| 204832U, // LD1Threev2d |
| 16990240U, // LD1Threev2d_POST |
| 221216U, // LD1Threev2s |
| 17530912U, // LD1Threev2s_POST |
| 237600U, // LD1Threev4h |
| 17547296U, // LD1Threev4h_POST |
| 253984U, // LD1Threev4s |
| 17039392U, // LD1Threev4s_POST |
| 270368U, // LD1Threev8b |
| 17580064U, // LD1Threev8b_POST |
| 286752U, // LD1Threev8h |
| 17072160U, // LD1Threev8h_POST |
| 172064U, // LD1Twov16b |
| 13811744U, // LD1Twov16b_POST |
| 188448U, // LD1Twov1d |
| 14352416U, // LD1Twov1d_POST |
| 204832U, // LD1Twov2d |
| 13844512U, // LD1Twov2d_POST |
| 221216U, // LD1Twov2s |
| 14385184U, // LD1Twov2s_POST |
| 237600U, // LD1Twov4h |
| 14401568U, // LD1Twov4h_POST |
| 253984U, // LD1Twov4s |
| 13893664U, // LD1Twov4s_POST |
| 270368U, // LD1Twov8b |
| 14434336U, // LD1Twov8b_POST |
| 286752U, // LD1Twov8h |
| 13926432U, // LD1Twov8h_POST |
| 379728950U, // LD1W |
| 379720758U, // LD1W_D |
| 379720758U, // LD1W_D_IMM_REAL |
| 379728950U, // LD1W_IMM_REAL |
| 18128928U, // LD1i16 |
| 18661408U, // LD1i16_POST |
| 18145312U, // LD1i32 |
| 19202080U, // LD1i32_POST |
| 18161696U, // LD1i64 |
| 19742752U, // LD1i64_POST |
| 18178080U, // LD1i8 |
| 20283424U, // LD1i8_POST |
| 379741097U, // LD2B |
| 379741097U, // LD2B_IMM |
| 379717484U, // LD2D |
| 379717484U, // LD2D_IMM |
| 379750763U, // LD2H |
| 379750763U, // LD2H_IMM |
| 176311U, // LD2Rv16b |
| 16437431U, // LD2Rv16b_POST |
| 192695U, // LD2Rv1d |
| 14356663U, // LD2Rv1d_POST |
| 209079U, // LD2Rv2d |
| 14373047U, // LD2Rv2d_POST |
| 225463U, // LD2Rv2s |
| 14913719U, // LD2Rv2s_POST |
| 241847U, // LD2Rv4h |
| 15978679U, // LD2Rv4h_POST |
| 258231U, // LD2Rv4s |
| 14946487U, // LD2Rv4s_POST |
| 274615U, // LD2Rv8b |
| 16535735U, // LD2Rv8b_POST |
| 290999U, // LD2Rv8h |
| 16027831U, // LD2Rv8h_POST |
| 172162U, // LD2Twov16b |
| 13811842U, // LD2Twov16b_POST |
| 204930U, // LD2Twov2d |
| 13844610U, // LD2Twov2d_POST |
| 221314U, // LD2Twov2s |
| 14385282U, // LD2Twov2s_POST |
| 237698U, // LD2Twov4h |
| 14401666U, // LD2Twov4h_POST |
| 254082U, // LD2Twov4s |
| 13893762U, // LD2Twov4s_POST |
| 270466U, // LD2Twov8b |
| 14434434U, // LD2Twov8b_POST |
| 286850U, // LD2Twov8h |
| 13926530U, // LD2Twov8h_POST |
| 379729002U, // LD2W |
| 379729002U, // LD2W_IMM |
| 18129026U, // LD2i16 |
| 19185794U, // LD2i16_POST |
| 18145410U, // LD2i32 |
| 19726466U, // LD2i32_POST |
| 18161794U, // LD2i64 |
| 20791426U, // LD2i64_POST |
| 18178178U, // LD2i8 |
| 18710658U, // LD2i8_POST |
| 379741118U, // LD3B |
| 379741118U, // LD3B_IMM |
| 379717496U, // LD3D |
| 379717496U, // LD3D_IMM |
| 379750775U, // LD3H |
| 379750775U, // LD3H_IMM |
| 176317U, // LD3Rv16b |
| 21156029U, // LD3Rv16b_POST |
| 192701U, // LD3Rv1d |
| 17502397U, // LD3Rv1d_POST |
| 209085U, // LD3Rv2d |
| 17518781U, // LD3Rv2d_POST |
| 225469U, // LD3Rv2s |
| 21729469U, // LD3Rv2s_POST |
| 241853U, // LD3Rv4h |
| 22270141U, // LD3Rv4h_POST |
| 258237U, // LD3Rv4s |
| 21762237U, // LD3Rv4s_POST |
| 274621U, // LD3Rv8b |
| 21254333U, // LD3Rv8b_POST |
| 291005U, // LD3Rv8h |
| 22319293U, // LD3Rv8h_POST |
| 172553U, // LD3Threev16b |
| 16957961U, // LD3Threev16b_POST |
| 205321U, // LD3Threev2d |
| 16990729U, // LD3Threev2d_POST |
| 221705U, // LD3Threev2s |
| 17531401U, // LD3Threev2s_POST |
| 238089U, // LD3Threev4h |
| 17547785U, // LD3Threev4h_POST |
| 254473U, // LD3Threev4s |
| 17039881U, // LD3Threev4s_POST |
| 270857U, // LD3Threev8b |
| 17580553U, // LD3Threev8b_POST |
| 287241U, // LD3Threev8h |
| 17072649U, // LD3Threev8h_POST |
| 379729014U, // LD3W |
| 379729014U, // LD3W_IMM |
| 18129417U, // LD3i16 |
| 22856201U, // LD3i16_POST |
| 18145801U, // LD3i32 |
| 23396873U, // LD3i32_POST |
| 18162185U, // LD3i64 |
| 23937545U, // LD3i64_POST |
| 18178569U, // LD3i8 |
| 24478217U, // LD3i8_POST |
| 379741130U, // LD4B |
| 379741130U, // LD4B_IMM |
| 379717508U, // LD4D |
| 379717508U, // LD4D_IMM |
| 172583U, // LD4Fourv16b |
| 13287975U, // LD4Fourv16b_POST |
| 205351U, // LD4Fourv2d |
| 13320743U, // LD4Fourv2d_POST |
| 221735U, // LD4Fourv2s |
| 13861415U, // LD4Fourv2s_POST |
| 238119U, // LD4Fourv4h |
| 13877799U, // LD4Fourv4h_POST |
| 254503U, // LD4Fourv4s |
| 13369895U, // LD4Fourv4s_POST |
| 270887U, // LD4Fourv8b |
| 13910567U, // LD4Fourv8b_POST |
| 287271U, // LD4Fourv8h |
| 13402663U, // LD4Fourv8h_POST |
| 379750787U, // LD4H |
| 379750787U, // LD4H_IMM |
| 176323U, // LD4Rv16b |
| 15913155U, // LD4Rv16b_POST |
| 192707U, // LD4Rv1d |
| 13832387U, // LD4Rv1d_POST |
| 209091U, // LD4Rv2d |
| 13848771U, // LD4Rv2d_POST |
| 225475U, // LD4Rv2s |
| 14389443U, // LD4Rv2s_POST |
| 241859U, // LD4Rv4h |
| 14930115U, // LD4Rv4h_POST |
| 258243U, // LD4Rv4s |
| 14422211U, // LD4Rv4s_POST |
| 274627U, // LD4Rv8b |
| 16011459U, // LD4Rv8b_POST |
| 291011U, // LD4Rv8h |
| 14979267U, // LD4Rv8h_POST |
| 379729026U, // LD4W |
| 379729026U, // LD4W_IMM |
| 18129447U, // LD4i16 |
| 19710503U, // LD4i16_POST |
| 18145831U, // LD4i32 |
| 20775463U, // LD4i32_POST |
| 18162215U, // LD4i64 |
| 24986151U, // LD4i64_POST |
| 18178599U, // LD4i8 |
| 19235367U, // LD4i8_POST |
| 973169622U, // LDADDAB |
| 973171096U, // LDADDAH |
| 973169821U, // LDADDALB |
| 973171251U, // LDADDALH |
| 973171888U, // LDADDALW |
| 973171888U, // LDADDALX |
| 973169280U, // LDADDAW |
| 973169280U, // LDADDAX |
| 973169780U, // LDADDB |
| 973171237U, // LDADDH |
| 973169921U, // LDADDLB |
| 973171351U, // LDADDLH |
| 973172058U, // LDADDLW |
| 973172058U, // LDADDLX |
| 973170660U, // LDADDW |
| 973170660U, // LDADDX |
| 2253964738U, // LDAPRB |
| 2253966189U, // LDAPRH |
| 2253967684U, // LDAPRW |
| 2253967684U, // LDAPRX |
| 106481133U, // LDAPURBi |
| 106482584U, // LDAPURHi |
| 106481264U, // LDAPURSBWi |
| 106481264U, // LDAPURSBXi |
| 106482702U, // LDAPURSHWi |
| 106482702U, // LDAPURSHXi |
| 106485031U, // LDAPURSWi |
| 106484117U, // LDAPURXi |
| 106484117U, // LDAPURi |
| 2253964686U, // LDARB |
| 2253966137U, // LDARH |
| 2253967561U, // LDARW |
| 2253967561U, // LDARX |
| 2248200299U, // LDAXPW |
| 2248200299U, // LDAXPX |
| 2253964797U, // LDAXRB |
| 2253966248U, // LDAXRH |
| 2253967800U, // LDAXRW |
| 2253967800U, // LDAXRX |
| 973169678U, // LDCLRAB |
| 973171142U, // LDCLRAH |
| 973169861U, // LDCLRALB |
| 973171291U, // LDCLRALH |
| 973171955U, // LDCLRALW |
| 973171955U, // LDCLRALX |
| 973169394U, // LDCLRAW |
| 973169394U, // LDCLRAX |
| 973170083U, // LDCLRB |
| 973171534U, // LDCLRH |
| 973169957U, // LDCLRLB |
| 973171387U, // LDCLRLH |
| 973172249U, // LDCLRLW |
| 973172249U, // LDCLRLX |
| 973173017U, // LDCLRW |
| 973173017U, // LDCLRX |
| 973169687U, // LDEORAB |
| 973171151U, // LDEORAH |
| 973169871U, // LDEORALB |
| 973171301U, // LDEORALH |
| 973171964U, // LDEORALW |
| 973171964U, // LDEORALX |
| 973169402U, // LDEORAW |
| 973169402U, // LDEORAX |
| 973170106U, // LDEORB |
| 973171557U, // LDEORH |
| 973169966U, // LDEORLB |
| 973171396U, // LDEORLH |
| 973172257U, // LDEORLW |
| 973172257U, // LDEORLX |
| 973173043U, // LDEORW |
| 973173043U, // LDEORX |
| 379716466U, // LDFF1B_D_REAL |
| 379749234U, // LDFF1B_H_REAL |
| 379741042U, // LDFF1B_REAL |
| 379724658U, // LDFF1B_S_REAL |
| 379717446U, // LDFF1D_REAL |
| 379717940U, // LDFF1H_D_REAL |
| 379750708U, // LDFF1H_REAL |
| 379726132U, // LDFF1H_S_REAL |
| 379717154U, // LDFF1SB_D_REAL |
| 379749922U, // LDFF1SB_H_REAL |
| 379725346U, // LDFF1SB_S_REAL |
| 379718605U, // LDFF1SH_D_REAL |
| 379726797U, // LDFF1SH_S_REAL |
| 379720943U, // LDFF1SW_D_REAL |
| 379720764U, // LDFF1W_D_REAL |
| 379728956U, // LDFF1W_REAL |
| 2253964693U, // LDLARB |
| 2253966144U, // LDLARH |
| 2253967567U, // LDLARW |
| 2253967567U, // LDLARX |
| 379716474U, // LDNF1B_D_IMM_REAL |
| 379749242U, // LDNF1B_H_IMM_REAL |
| 379741050U, // LDNF1B_IMM_REAL |
| 379724666U, // LDNF1B_S_IMM_REAL |
| 379717454U, // LDNF1D_IMM_REAL |
| 379717948U, // LDNF1H_D_IMM_REAL |
| 379750716U, // LDNF1H_IMM_REAL |
| 379726140U, // LDNF1H_S_IMM_REAL |
| 379717163U, // LDNF1SB_D_IMM_REAL |
| 379749931U, // LDNF1SB_H_IMM_REAL |
| 379725355U, // LDNF1SB_S_IMM_REAL |
| 379718614U, // LDNF1SH_D_IMM_REAL |
| 379726806U, // LDNF1SH_S_IMM_REAL |
| 379720952U, // LDNF1SW_D_IMM_REAL |
| 379720772U, // LDNF1W_D_IMM_REAL |
| 379728964U, // LDNF1W_IMM_REAL |
| 2248200224U, // LDNPDi |
| 2248200224U, // LDNPQi |
| 2248200224U, // LDNPSi |
| 2248200224U, // LDNPWi |
| 2248200224U, // LDNPXi |
| 379741058U, // LDNT1B_ZRI |
| 379741058U, // LDNT1B_ZRR |
| 379717462U, // LDNT1D_ZRI |
| 379717462U, // LDNT1D_ZRR |
| 379750724U, // LDNT1H_ZRI |
| 379750724U, // LDNT1H_ZRR |
| 379728972U, // LDNT1W_ZRI |
| 379728972U, // LDNT1W_ZRR |
| 2248200156U, // LDPDi |
| 2516676572U, // LDPDpost |
| 2516676572U, // LDPDpre |
| 2248200156U, // LDPQi |
| 2516676572U, // LDPQpost |
| 2516676572U, // LDPQpre |
| 2248201473U, // LDPSWi |
| 2516677889U, // LDPSWpost |
| 2516677889U, // LDPSWpre |
| 2248200156U, // LDPSi |
| 2516676572U, // LDPSpost |
| 2516676572U, // LDPSpre |
| 2248200156U, // LDPWi |
| 2516676572U, // LDPWpost |
| 2516676572U, // LDPWpre |
| 2248200156U, // LDPXi |
| 2516676572U, // LDPXpost |
| 2516676572U, // LDPXpre |
| 106480223U, // LDRAAindexed |
| 374956639U, // LDRAAwriteback |
| 106480640U, // LDRABindexed |
| 374957056U, // LDRABwriteback |
| 374957469U, // LDRBBpost |
| 374957469U, // LDRBBpre |
| 106481053U, // LDRBBroW |
| 106481053U, // LDRBBroX |
| 106481053U, // LDRBBui |
| 374960359U, // LDRBpost |
| 374960359U, // LDRBpre |
| 106483943U, // LDRBroW |
| 106483943U, // LDRBroX |
| 106483943U, // LDRBui |
| 436261095U, // LDRDl |
| 374960359U, // LDRDpost |
| 374960359U, // LDRDpre |
| 106483943U, // LDRDroW |
| 106483943U, // LDRDroX |
| 106483943U, // LDRDui |
| 374958920U, // LDRHHpost |
| 374958920U, // LDRHHpre |
| 106482504U, // LDRHHroW |
| 106482504U, // LDRHHroX |
| 106482504U, // LDRHHui |
| 374960359U, // LDRHpost |
| 374960359U, // LDRHpre |
| 106483943U, // LDRHroW |
| 106483943U, // LDRHroX |
| 106483943U, // LDRHui |
| 436261095U, // LDRQl |
| 374960359U, // LDRQpost |
| 374960359U, // LDRQpre |
| 106483943U, // LDRQroW |
| 106483943U, // LDRQroX |
| 106483943U, // LDRQui |
| 374957657U, // LDRSBWpost |
| 374957657U, // LDRSBWpre |
| 106481241U, // LDRSBWroW |
| 106481241U, // LDRSBWroX |
| 106481241U, // LDRSBWui |
| 374957657U, // LDRSBXpost |
| 374957657U, // LDRSBXpre |
| 106481241U, // LDRSBXroW |
| 106481241U, // LDRSBXroX |
| 106481241U, // LDRSBXui |
| 374959095U, // LDRSHWpost |
| 374959095U, // LDRSHWpre |
| 106482679U, // LDRSHWroW |
| 106482679U, // LDRSHWroX |
| 106482679U, // LDRSHWui |
| 374959095U, // LDRSHXpost |
| 374959095U, // LDRSHXpre |
| 106482679U, // LDRSHXroW |
| 106482679U, // LDRSHXroX |
| 106482679U, // LDRSHXui |
| 436262160U, // LDRSWl |
| 374961424U, // LDRSWpost |
| 374961424U, // LDRSWpre |
| 106485008U, // LDRSWroW |
| 106485008U, // LDRSWroX |
| 106485008U, // LDRSWui |
| 436261095U, // LDRSl |
| 374960359U, // LDRSpost |
| 374960359U, // LDRSpre |
| 106483943U, // LDRSroW |
| 106483943U, // LDRSroX |
| 106483943U, // LDRSui |
| 436261095U, // LDRWl |
| 374960359U, // LDRWpost |
| 374960359U, // LDRWpre |
| 106483943U, // LDRWroW |
| 106483943U, // LDRWroX |
| 106483943U, // LDRWui |
| 436261095U, // LDRXl |
| 374960359U, // LDRXpost |
| 374960359U, // LDRXpre |
| 106483943U, // LDRXroW |
| 106483943U, // LDRXroX |
| 106483943U, // LDRXui |
| 106803431U, // LDR_PXI |
| 106803431U, // LDR_ZXI |
| 973169703U, // LDSETAB |
| 973171167U, // LDSETAH |
| 973169889U, // LDSETALB |
| 973171319U, // LDSETALH |
| 973171980U, // LDSETALW |
| 973171980U, // LDSETALX |
| 973169442U, // LDSETAW |
| 973169442U, // LDSETAX |
| 973170303U, // LDSETB |
| 973171736U, // LDSETH |
| 973169982U, // LDSETLB |
| 973171412U, // LDSETLH |
| 973172305U, // LDSETLW |
| 973172305U, // LDSETLX |
| 973173476U, // LDSETW |
| 973173476U, // LDSETX |
| 973169712U, // LDSMAXAB |
| 973171176U, // LDSMAXAH |
| 973169899U, // LDSMAXALB |
| 973171329U, // LDSMAXALH |
| 973171989U, // LDSMAXALW |
| 973171989U, // LDSMAXALX |
| 973169466U, // LDSMAXAW |
| 973169466U, // LDSMAXAX |
| 973170392U, // LDSMAXB |
| 973171768U, // LDSMAXH |
| 973169991U, // LDSMAXLB |
| 973171454U, // LDSMAXLH |
| 973172360U, // LDSMAXLW |
| 973172360U, // LDSMAXLX |
| 973174109U, // LDSMAXW |
| 973174109U, // LDSMAXX |
| 973169631U, // LDSMINAB |
| 973171115U, // LDSMINAH |
| 973169831U, // LDSMINALB |
| 973171261U, // LDSMINALH |
| 973171920U, // LDSMINALW |
| 973171920U, // LDSMINALX |
| 973169349U, // LDSMINAW |
| 973169349U, // LDSMINAX |
| 973170016U, // LDSMINB |
| 973171474U, // LDSMINH |
| 973169930U, // LDSMINLB |
| 973171360U, // LDSMINLH |
| 973172211U, // LDSMINLW |
| 973172211U, // LDSMINLX |
| 973172462U, // LDSMINW |
| 973172462U, // LDSMINX |
| 106481098U, // LDTRBi |
| 106482549U, // LDTRHi |
| 106481248U, // LDTRSBWi |
| 106481248U, // LDTRSBXi |
| 106482686U, // LDTRSHWi |
| 106482686U, // LDTRSHXi |
| 106485015U, // LDTRSWi |
| 106484081U, // LDTRWi |
| 106484081U, // LDTRXi |
| 973169722U, // LDUMAXAB |
| 973171186U, // LDUMAXAH |
| 973169910U, // LDUMAXALB |
| 973171340U, // LDUMAXALH |
| 973171999U, // LDUMAXALW |
| 973171999U, // LDUMAXALX |
| 973169475U, // LDUMAXAW |
| 973169475U, // LDUMAXAX |
| 973170401U, // LDUMAXB |
| 973171777U, // LDUMAXH |
| 973170001U, // LDUMAXLB |
| 973171464U, // LDUMAXLH |
| 973172369U, // LDUMAXLW |
| 973172369U, // LDUMAXLX |
| 973174117U, // LDUMAXW |
| 973174117U, // LDUMAXX |
| 973169641U, // LDUMINAB |
| 973171125U, // LDUMINAH |
| 973169842U, // LDUMINALB |
| 973171272U, // LDUMINALH |
| 973171930U, // LDUMINALW |
| 973171930U, // LDUMINALX |
| 973169358U, // LDUMINAW |
| 973169358U, // LDUMINAX |
| 973170025U, // LDUMINB |
| 973171483U, // LDUMINH |
| 973169940U, // LDUMINLB |
| 973171370U, // LDUMINLH |
| 973172220U, // LDUMINLW |
| 973172220U, // LDUMINLX |
| 973172470U, // LDUMINW |
| 973172470U, // LDUMINX |
| 106481118U, // LDURBBi |
| 106484104U, // LDURBi |
| 106484104U, // LDURDi |
| 106482569U, // LDURHHi |
| 106484104U, // LDURHi |
| 106484104U, // LDURQi |
| 106481256U, // LDURSBWi |
| 106481256U, // LDURSBXi |
| 106482694U, // LDURSHWi |
| 106482694U, // LDURSHXi |
| 106485023U, // LDURSWi |
| 106484104U, // LDURSi |
| 106484104U, // LDURWi |
| 106484104U, // LDURXi |
| 2248200327U, // LDXPW |
| 2248200327U, // LDXPX |
| 2253964805U, // LDXRB |
| 2253966256U, // LDXRH |
| 2253967807U, // LDXRW |
| 2253967807U, // LDXRX |
| 0U, // LOADgot |
| 302002471U, // LSLR_ZPmZ_B |
| 302010663U, // LSLR_ZPmZ_D |
| 2186309927U, // LSLR_ZPmZ_H |
| 302027047U, // LSLR_ZPmZ_S |
| 100716088U, // LSLVWr |
| 100716088U, // LSLVXr |
| 302001720U, // LSL_WIDE_ZPmZ_B |
| 2186309176U, // LSL_WIDE_ZPmZ_H |
| 302026296U, // LSL_WIDE_ZPmZ_S |
| 167783992U, // LSL_WIDE_ZZZ_B |
| 2387111480U, // LSL_WIDE_ZZZ_H |
| 268471864U, // LSL_WIDE_ZZZ_S |
| 302001720U, // LSL_ZPmI_B |
| 302009912U, // LSL_ZPmI_D |
| 2186309176U, // LSL_ZPmI_H |
| 302026296U, // LSL_ZPmI_S |
| 302001720U, // LSL_ZPmZ_B |
| 302009912U, // LSL_ZPmZ_D |
| 2186309176U, // LSL_ZPmZ_H |
| 302026296U, // LSL_ZPmZ_S |
| 167783992U, // LSL_ZZI_B |
| 201346616U, // LSL_ZZI_D |
| 239627832U, // LSL_ZZI_H |
| 268471864U, // LSL_ZZI_S |
| 302002518U, // LSRR_ZPmZ_B |
| 302010710U, // LSRR_ZPmZ_D |
| 2186309974U, // LSRR_ZPmZ_H |
| 302027094U, // LSRR_ZPmZ_S |
| 100716897U, // LSRVWr |
| 100716897U, // LSRVXr |
| 302002529U, // LSR_WIDE_ZPmZ_B |
| 2186309985U, // LSR_WIDE_ZPmZ_H |
| 302027105U, // LSR_WIDE_ZPmZ_S |
| 167784801U, // LSR_WIDE_ZZZ_B |
| 2387112289U, // LSR_WIDE_ZZZ_H |
| 268472673U, // LSR_WIDE_ZZZ_S |
| 302002529U, // LSR_ZPmI_B |
| 302010721U, // LSR_ZPmI_D |
| 2186309985U, // LSR_ZPmI_H |
| 302027105U, // LSR_ZPmI_S |
| 302002529U, // LSR_ZPmZ_B |
| 302010721U, // LSR_ZPmZ_D |
| 2186309985U, // LSR_ZPmZ_H |
| 302027105U, // LSR_ZPmZ_S |
| 167784801U, // LSR_ZZI_B |
| 201347425U, // LSR_ZZI_D |
| 239628641U, // LSR_ZZI_H |
| 268472673U, // LSR_ZZI_S |
| 100714512U, // MADDWrrr |
| 100714512U, // MADDXrrr |
| 302000017U, // MAD_ZPmZZ_B |
| 302008209U, // MAD_ZPmZZ_D |
| 2186307473U, // MAD_ZPmZZ_H |
| 302024593U, // MAD_ZPmZZ_S |
| 301998771U, // MLA_ZPmZZ_B |
| 302006963U, // MLA_ZPmZZ_D |
| 2186306227U, // MLA_ZPmZZ_H |
| 302023347U, // MLA_ZPmZZ_S |
| 135324339U, // MLAv16i8 |
| 2283332275U, // MLAv2i32 |
| 2283332275U, // MLAv2i32_indexed |
| 136897203U, // MLAv4i16 |
| 136897203U, // MLAv4i16_indexed |
| 137421491U, // MLAv4i32 |
| 137421491U, // MLAv4i32_indexed |
| 2285429427U, // MLAv8i16 |
| 2285429427U, // MLAv8i16_indexed |
| 2285953715U, // MLAv8i8 |
| 302002771U, // MLS_ZPmZZ_B |
| 302010963U, // MLS_ZPmZZ_D |
| 2186310227U, // MLS_ZPmZZ_H |
| 302027347U, // MLS_ZPmZZ_S |
| 135328339U, // MLSv16i8 |
| 2283336275U, // MLSv2i32 |
| 2283336275U, // MLSv2i32_indexed |
| 136901203U, // MLSv4i16 |
| 136901203U, // MLSv4i16_indexed |
| 137425491U, // MLSv4i32 |
| 137425491U, // MLSv4i32_indexed |
| 2285433427U, // MLSv8i16 |
| 2285433427U, // MLSv8i16_indexed |
| 2285957715U, // MLSv8i8 |
| 1006685329U, // MOVID |
| 3188763793U, // MOVIv16b_ns |
| 1008774289U, // MOVIv2d_ns |
| 3189288081U, // MOVIv2i32 |
| 3189288081U, // MOVIv2s_msl |
| 3190336657U, // MOVIv4i16 |
| 3190860945U, // MOVIv4i32 |
| 3190860945U, // MOVIv4s_msl |
| 3191909521U, // MOVIv8b_ns |
| 3191385233U, // MOVIv8i16 |
| 402705564U, // MOVKWi |
| 402705564U, // MOVKXi |
| 3187724142U, // MOVNWi |
| 3187724142U, // MOVNXi |
| 13705U, // MOVPRFX_ZPmZ_B |
| 21897U, // MOVPRFX_ZPmZ_D |
| 2181592457U, // MOVPRFX_ZPmZ_H |
| 38281U, // MOVPRFX_ZPmZ_S |
| 302003593U, // MOVPRFX_ZPzZ_B |
| 302011785U, // MOVPRFX_ZPzZ_D |
| 2622518665U, // MOVPRFX_ZPzZ_H |
| 302028169U, // MOVPRFX_ZPzZ_S |
| 2449847689U, // MOVPRFX_ZZ |
| 3187725817U, // MOVZWi |
| 3187725817U, // MOVZXi |
| 0U, // MOVaddr |
| 0U, // MOVaddrBA |
| 0U, // MOVaddrCP |
| 0U, // MOVaddrEXT |
| 0U, // MOVaddrJT |
| 0U, // MOVaddrTLS |
| 0U, // MOVbaseTLS |
| 0U, // MOVi32imm |
| 0U, // MOVi64imm |
| 1073795744U, // MRS |
| 301999685U, // MSB_ZPmZZ_B |
| 302007877U, // MSB_ZPmZZ_D |
| 2186307141U, // MSB_ZPmZZ_H |
| 302024261U, // MSB_ZPmZZ_S |
| 381286U, // MSR |
| 389478U, // MSRpstateImm1 |
| 389478U, // MSRpstateImm4 |
| 100714166U, // MSUBWrrr |
| 100714166U, // MSUBXrrr |
| 167784033U, // MUL_ZI_B |
| 201346657U, // MUL_ZI_D |
| 239627873U, // MUL_ZI_H |
| 268471905U, // MUL_ZI_S |
| 302001761U, // MUL_ZPmZ_B |
| 302009953U, // MUL_ZPmZ_D |
| 2186309217U, // MUL_ZPmZ_H |
| 302026337U, // MUL_ZPmZ_S |
| 68202081U, // MULv16i8 |
| 2216210017U, // MULv2i32 |
| 2216210017U, // MULv2i32_indexed |
| 69774945U, // MULv4i16 |
| 69774945U, // MULv4i16_indexed |
| 70299233U, // MULv4i32 |
| 70299233U, // MULv4i32_indexed |
| 2218307169U, // MULv8i16 |
| 2218307169U, // MULv8i16_indexed |
| 2218831457U, // MULv8i8 |
| 3189288062U, // MVNIv2i32 |
| 3189288062U, // MVNIv2s_msl |
| 3190336638U, // MVNIv4i16 |
| 3190860926U, // MVNIv4i32 |
| 3190860926U, // MVNIv4s_msl |
| 3191385214U, // MVNIv8i16 |
| 302002728U, // NANDS_PPzPP |
| 302000180U, // NAND_PPzPP |
| 10516U, // NEG_ZPmZ_B |
| 18708U, // NEG_ZPmZ_D |
| 2181589268U, // NEG_ZPmZ_H |
| 35092U, // NEG_ZPmZ_S |
| 68200724U, // NEGv16i8 |
| 2248198420U, // NEGv1i64 |
| 68725012U, // NEGv2i32 |
| 2216732948U, // NEGv2i64 |
| 69773588U, // NEGv4i16 |
| 2217781524U, // NEGv4i32 |
| 70822164U, // NEGv8i16 |
| 2218830100U, // NEGv8i8 |
| 302002859U, // NORS_PPzPP |
| 302002490U, // NOR_PPzPP |
| 13114U, // NOT_ZPmZ_B |
| 21306U, // NOT_ZPmZ_D |
| 2181591866U, // NOT_ZPmZ_H |
| 37690U, // NOT_ZPmZ_S |
| 68203322U, // NOTv16i8 |
| 2218832698U, // NOTv8i8 |
| 302002810U, // ORNS_PPzPP |
| 0U, // ORNWrr |
| 100716337U, // ORNWrs |
| 0U, // ORNXrr |
| 100716337U, // ORNXrs |
| 302001969U, // ORN_PPzPP |
| 68202289U, // ORNv16i8 |
| 2218831665U, // ORNv8i8 |
| 302002865U, // ORRS_PPzPP |
| 100716875U, // ORRWri |
| 0U, // ORRWrr |
| 100716875U, // ORRWrs |
| 100716875U, // ORRXri |
| 0U, // ORRXrr |
| 100716875U, // ORRXrs |
| 302002507U, // ORR_PPzPP |
| 201347403U, // ORR_ZI |
| 302002507U, // ORR_ZPmZ_B |
| 302010699U, // ORR_ZPmZ_D |
| 2186309963U, // ORR_ZPmZ_H |
| 302027083U, // ORR_ZPmZ_S |
| 201347403U, // ORR_ZZZ |
| 68202827U, // ORRv16i8 |
| 404287819U, // ORRv2i32 |
| 405336395U, // ORRv4i16 |
| 405860683U, // ORRv4i32 |
| 406384971U, // ORRv8i16 |
| 2218832203U, // ORRv8i8 |
| 302044188U, // ORV_VPZ_B |
| 302044188U, // ORV_VPZ_D |
| 302044188U, // ORV_VPZ_H |
| 302044188U, // ORV_VPZ_S |
| 2248196729U, // PACDA |
| 2248197229U, // PACDB |
| 6341452U, // PACDZA |
| 6342378U, // PACDZB |
| 100713110U, // PACGA |
| 2248196765U, // PACIA |
| 5796U, // PACIA1716 |
| 5927U, // PACIASP |
| 5982U, // PACIAZ |
| 2248197257U, // PACIB |
| 5816U, // PACIB1716 |
| 5943U, // PACIBSP |
| 5996U, // PACIBZ |
| 6341468U, // PACIZA |
| 6342394U, // PACIZB |
| 6301913U, // PFALSE |
| 70820111U, // PMULLv16i8 |
| 1132506590U, // PMULLv1i64 |
| 1166057743U, // PMULLv2i64 |
| 2218307038U, // PMULLv8i8 |
| 68202093U, // PMULv16i8 |
| 2218831469U, // PMULv8i8 |
| 302003042U, // PNEXT_B |
| 302011234U, // PNEXT_D |
| 2387637090U, // PNEXT_H |
| 302027618U, // PNEXT_S |
| 3079537795U, // PRFB_D_PZI |
| 246285443U, // PRFB_D_SCALED |
| 2393769091U, // PRFB_D_SXTW_SCALED |
| 246285443U, // PRFB_D_UXTW_SCALED |
| 246285443U, // PRFB_PRI |
| 2393769091U, // PRFB_PRR |
| 3080062083U, // PRFB_S_PZI |
| 246285443U, // PRFB_S_SXTW_SCALED |
| 2393769091U, // PRFB_S_UXTW_SCALED |
| 1200490542U, // PRFD_D_PZI |
| 246286382U, // PRFD_D_SCALED |
| 2393770030U, // PRFD_D_SXTW_SCALED |
| 246286382U, // PRFD_D_UXTW_SCALED |
| 246286382U, // PRFD_PRI |
| 2393770030U, // PRFD_PRR |
| 1201014830U, // PRFD_S_PZI |
| 246286382U, // PRFD_S_SXTW_SCALED |
| 2393770030U, // PRFD_S_UXTW_SCALED |
| 1234045485U, // PRFH_D_PZI |
| 246286893U, // PRFH_D_SCALED |
| 2393770541U, // PRFH_D_SXTW_SCALED |
| 246286893U, // PRFH_D_UXTW_SCALED |
| 246286893U, // PRFH_PRI |
| 2393770541U, // PRFH_PRR |
| 1234569773U, // PRFH_S_PZI |
| 246286893U, // PRFH_S_SXTW_SCALED |
| 2393770541U, // PRFH_S_UXTW_SCALED |
| 436612781U, // PRFMl |
| 106835629U, // PRFMroW |
| 106835629U, // PRFMroX |
| 106835629U, // PRFMui |
| 246289619U, // PRFS_PRR |
| 106835665U, // PRFUMi |
| 1267602643U, // PRFW_D_PZI |
| 2393773267U, // PRFW_D_SCALED |
| 246289619U, // PRFW_D_SXTW_SCALED |
| 2393773267U, // PRFW_D_UXTW_SCALED |
| 246289619U, // PRFW_PRI |
| 1268126931U, // PRFW_S_PZI |
| 246289619U, // PRFW_S_SXTW_SCALED |
| 2393773267U, // PRFW_S_UXTW_SCALED |
| 2315629382U, // PTEST_PP |
| 2650812975U, // PTRUES_B |
| 2650821167U, // PTRUES_D |
| 26767919U, // PTRUES_H |
| 2650837551U, // PTRUES_S |
| 2650810611U, // PTRUE_B |
| 2650818803U, // PTRUE_D |
| 26765555U, // PTRUE_H |
| 2650835187U, // PTRUE_S |
| 27290705U, // PUNPKHI_PP |
| 27291525U, // PUNPKLO_PP |
| 2216210144U, // RADDHNv2i64_v2i32 |
| 2284904786U, // RADDHNv2i64_v4i32 |
| 69775072U, // RADDHNv4i32_v4i16 |
| 137945426U, // RADDHNv4i32_v8i16 |
| 2282807634U, // RADDHNv8i16_v16i8 |
| 2218831584U, // RADDHNv8i16_v8i8 |
| 2216730741U, // RAX1 |
| 2248200960U, // RBITWr |
| 2248200960U, // RBITXr |
| 13056U, // RBIT_ZPmZ_B |
| 21248U, // RBIT_ZPmZ_D |
| 2181591808U, // RBIT_ZPmZ_H |
| 37632U, // RBIT_ZPmZ_S |
| 68203264U, // RBITv16i8 |
| 2218832640U, // RBITv8i8 |
| 302002840U, // RDFFRS_PPz |
| 6303980U, // RDFFR_P |
| 302002412U, // RDFFR_PPz |
| 2248199810U, // RDVLI_XI |
| 6345439U, // RET |
| 5892U, // RETAA |
| 5899U, // RETAB |
| 0U, // RET_ReallyLR |
| 2248196665U, // REV16Wr |
| 2248196665U, // REV16Xr |
| 68198969U, // REV16v16i8 |
| 2218828345U, // REV16v8i8 |
| 2248196219U, // REV32Xr |
| 68198523U, // REV32v16i8 |
| 69771387U, // REV32v4i16 |
| 70819963U, // REV32v8i16 |
| 2218827899U, // REV32v8i8 |
| 68198944U, // REV64v16i8 |
| 68723232U, // REV64v2i32 |
| 69771808U, // REV64v4i16 |
| 2217779744U, // REV64v4i32 |
| 70820384U, // REV64v8i16 |
| 2218828320U, // REV64v8i8 |
| 18130U, // REVB_ZPmZ_D |
| 2181588690U, // REVB_ZPmZ_H |
| 34514U, // REVB_ZPmZ_S |
| 19506U, // REVH_ZPmZ_D |
| 35890U, // REVH_ZPmZ_S |
| 21827U, // REVW_ZPmZ_D |
| 2248201140U, // REVWr |
| 2248201140U, // REVXr |
| 2315269044U, // REV_PP_B |
| 2348831668U, // REV_PP_D |
| 608727988U, // REV_PP_H |
| 2415956916U, // REV_PP_S |
| 2315269044U, // REV_ZZ_B |
| 2348831668U, // REV_ZZ_D |
| 608727988U, // REV_ZZ_H |
| 2415956916U, // REV_ZZ_S |
| 100714751U, // RMIF |
| 100716863U, // RORVWr |
| 100716863U, // RORVXr |
| 2282807663U, // RSHRNv16i8_shift |
| 2216210209U, // RSHRNv2i32_shift |
| 69775137U, // RSHRNv4i16_shift |
| 2284904815U, // RSHRNv4i32_shift |
| 137945455U, // RSHRNv8i16_shift |
| 2218831649U, // RSHRNv8i8_shift |
| 2216210136U, // RSUBHNv2i64_v2i32 |
| 2284904777U, // RSUBHNv2i64_v4i32 |
| 69775064U, // RSUBHNv4i32_v4i16 |
| 137945417U, // RSUBHNv4i32_v8i16 |
| 2282807625U, // RSUBHNv8i16_v16i8 |
| 2218831576U, // RSUBHNv8i16_v8i8 |
| 137945243U, // SABALv16i8_v8i16 |
| 2283859106U, // SABALv2i32_v2i64 |
| 137424034U, // SABALv4i16_v4i32 |
| 136372379U, // SABALv4i32_v2i64 |
| 2284904603U, // SABALv8i16_v4i32 |
| 2285431970U, // SABALv8i8_v8i16 |
| 135324269U, // SABAv16i8 |
| 2283332205U, // SABAv2i32 |
| 136897133U, // SABAv4i16 |
| 137421421U, // SABAv4i32 |
| 2285429357U, // SABAv8i16 |
| 2285953645U, // SABAv8i8 |
| 70820053U, // SABDLv16i8_v8i16 |
| 2216734028U, // SABDLv2i32_v2i64 |
| 70298956U, // SABDLv4i16_v4i32 |
| 69247189U, // SABDLv4i32_v2i64 |
| 2217779413U, // SABDLv8i16_v4i32 |
| 2218306892U, // SABDLv8i8_v8i16 |
| 302000042U, // SABD_ZPmZ_B |
| 302008234U, // SABD_ZPmZ_D |
| 2186307498U, // SABD_ZPmZ_H |
| 302024618U, // SABD_ZPmZ_S |
| 68200362U, // SABDv16i8 |
| 2216208298U, // SABDv2i32 |
| 69773226U, // SABDv4i16 |
| 70297514U, // SABDv4i32 |
| 2218305450U, // SABDv8i16 |
| 2218829738U, // SABDv8i8 |
| 137949153U, // SADALPv16i8_v8i16 |
| 162066401U, // SADALPv2i32_v1i64 |
| 135852001U, // SADALPv4i16_v2i32 |
| 2283859937U, // SADALPv4i32_v2i64 |
| 137424865U, // SADALPv8i16_v4i32 |
| 2284384225U, // SADALPv8i8_v4i16 |
| 70823921U, // SADDLPv16i8_v8i16 |
| 94941169U, // SADDLPv2i32_v1i64 |
| 68726769U, // SADDLPv4i16_v2i32 |
| 2216734705U, // SADDLPv4i32_v2i64 |
| 70299633U, // SADDLPv8i16_v4i32 |
| 2217258993U, // SADDLPv8i8_v4i16 |
| 67163083U, // SADDLVv16i8v |
| 67163083U, // SADDLVv4i16v |
| 2214646731U, // SADDLVv4i32v |
| 67163083U, // SADDLVv8i16v |
| 2214646731U, // SADDLVv8i8v |
| 70820069U, // SADDLv16i8_v8i16 |
| 2216734066U, // SADDLv2i32_v2i64 |
| 70298994U, // SADDLv4i16_v4i32 |
| 69247205U, // SADDLv4i32_v2i64 |
| 2217779429U, // SADDLv8i16_v4i32 |
| 2218306930U, // SADDLv8i8_v8i16 |
| 302044064U, // SADDV_VPZ_B |
| 302044064U, // SADDV_VPZ_H |
| 302044064U, // SADDV_VPZ_S |
| 2218303982U, // SADDWv16i8_v8i16 |
| 2216735941U, // SADDWv2i32_v2i64 |
| 70300869U, // SADDWv4i16_v4i32 |
| 2216731118U, // SADDWv4i32_v2i64 |
| 70296046U, // SADDWv8i16_v4i32 |
| 2218308805U, // SADDWv8i8_v8i16 |
| 100717072U, // SBCSWr |
| 100717072U, // SBCSXr |
| 100714257U, // SBCWr |
| 100714257U, // SBCXr |
| 100716193U, // SBFMWri |
| 100716193U, // SBFMXri |
| 100714757U, // SCVTFSWDri |
| 100714757U, // SCVTFSWHri |
| 100714757U, // SCVTFSWSri |
| 100714757U, // SCVTFSXDri |
| 100714757U, // SCVTFSXHri |
| 100714757U, // SCVTFSXSri |
| 2248198405U, // SCVTFUWDri |
| 2248198405U, // SCVTFUWHri |
| 2248198405U, // SCVTFUWSri |
| 2248198405U, // SCVTFUXDri |
| 2248198405U, // SCVTFUXHri |
| 2248198405U, // SCVTFUXSri |
| 18693U, // SCVTF_ZPmZ_DtoD |
| 2181589253U, // SCVTF_ZPmZ_DtoH |
| 35077U, // SCVTF_ZPmZ_DtoS |
| 2181589253U, // SCVTF_ZPmZ_HtoH |
| 18693U, // SCVTF_ZPmZ_StoD |
| 2181589253U, // SCVTF_ZPmZ_StoH |
| 35077U, // SCVTF_ZPmZ_StoS |
| 100714757U, // SCVTFd |
| 100714757U, // SCVTFh |
| 100714757U, // SCVTFs |
| 2248198405U, // SCVTFv1i16 |
| 2248198405U, // SCVTFv1i32 |
| 2248198405U, // SCVTFv1i64 |
| 68724997U, // SCVTFv2f32 |
| 2216732933U, // SCVTFv2f64 |
| 2216208645U, // SCVTFv2i32_shift |
| 2216732933U, // SCVTFv2i64_shift |
| 69773573U, // SCVTFv4f16 |
| 2217781509U, // SCVTFv4f32 |
| 69773573U, // SCVTFv4i16_shift |
| 70297861U, // SCVTFv4i32_shift |
| 70822149U, // SCVTFv8f16 |
| 2218305797U, // SCVTFv8i16_shift |
| 302010794U, // SDIVR_ZPmZ_D |
| 302027178U, // SDIVR_ZPmZ_S |
| 100717503U, // SDIVWr |
| 100717503U, // SDIVXr |
| 302011327U, // SDIV_ZPmZ_D |
| 302027711U, // SDIV_ZPmZ_S |
| 3422573357U, // SDOT_ZZZI_D |
| 3456144173U, // SDOT_ZZZI_S |
| 3422573357U, // SDOT_ZZZ_D |
| 3456144173U, // SDOT_ZZZ_S |
| 137425709U, // SDOTlanev16i8 |
| 2283336493U, // SDOTlanev8i8 |
| 137425709U, // SDOTv16i8 |
| 2283336493U, // SDOTv8i8 |
| 302001538U, // SEL_PPPP |
| 302001538U, // SEL_ZPZZ_B |
| 302009730U, // SEL_ZPZZ_D |
| 2387635586U, // SEL_ZPZZ_H |
| 302026114U, // SEL_ZPZZ_S |
| 6341169U, // SETF16 |
| 6341184U, // SETF8 |
| 5959U, // SETFFR |
| 369190666U, // SHA1Crrr |
| 2248198439U, // SHA1Hrr |
| 369192602U, // SHA1Mrrr |
| 369192878U, // SHA1Prrr |
| 137420801U, // SHA1SU0rrr |
| 2284904523U, // SHA1SU1rr |
| 369189009U, // SHA256H2rrr |
| 369191311U, // SHA256Hrrr |
| 2284904469U, // SHA256SU0rr |
| 137420895U, // SHA256SU1rrr |
| 369191258U, // SHA512H |
| 369188999U, // SHA512H2 |
| 2216730634U, // SHA512SU0 |
| 2283855956U, // SHA512SU1 |
| 68200449U, // SHADDv16i8 |
| 2216208385U, // SHADDv2i32 |
| 69773313U, // SHADDv4i16 |
| 70297601U, // SHADDv4i32 |
| 2218305537U, // SHADDv8i16 |
| 2218829825U, // SHADDv8i8 |
| 70820086U, // SHLLv16i8 |
| 2216734152U, // SHLLv2i32 |
| 70299080U, // SHLLv4i16 |
| 2216730870U, // SHLLv4i32 |
| 70295798U, // SHLLv8i16 |
| 2218307016U, // SHLLv8i8 |
| 100715921U, // SHLd |
| 68201873U, // SHLv16i8_shift |
| 2216209809U, // SHLv2i32_shift |
| 2216734097U, // SHLv2i64_shift |
| 69774737U, // SHLv4i16_shift |
| 70299025U, // SHLv4i32_shift |
| 2218306961U, // SHLv8i16_shift |
| 2218831249U, // SHLv8i8_shift |
| 2282807645U, // SHRNv16i8_shift |
| 2216210193U, // SHRNv2i32_shift |
| 69775121U, // SHRNv4i16_shift |
| 2284904797U, // SHRNv4i32_shift |
| 137945437U, // SHRNv8i16_shift |
| 2218831633U, // SHRNv8i8_shift |
| 68200103U, // SHSUBv16i8 |
| 2216208039U, // SHSUBv2i32 |
| 69772967U, // SHSUBv4i16 |
| 70297255U, // SHSUBv4i32 |
| 2218305191U, // SHSUBv8i16 |
| 2218829479U, // SHSUBv8i8 |
| 369192057U, // SLId |
| 135326841U, // SLIv16i8_shift |
| 2283334777U, // SLIv2i32_shift |
| 2283859065U, // SLIv2i64_shift |
| 136899705U, // SLIv4i16_shift |
| 137423993U, // SLIv4i32_shift |
| 2285431929U, // SLIv8i16_shift |
| 2285956217U, // SLIv8i8_shift |
| 137420906U, // SM3PARTW1 |
| 137421310U, // SM3PARTW2 |
| 70295614U, // SM3SS1 |
| 137421383U, // SM3TT1A |
| 137421720U, // SM3TT1B |
| 137421392U, // SM3TT2A |
| 137421749U, // SM3TT2B |
| 2217781339U, // SM4E |
| 70301097U, // SM4ENCKEY |
| 100715874U, // SMADDLrrr |
| 68202617U, // SMAXPv16i8 |
| 2216210553U, // SMAXPv2i32 |
| 69775481U, // SMAXPv4i16 |
| 70299769U, // SMAXPv4i32 |
| 2218307705U, // SMAXPv8i16 |
| 2218831993U, // SMAXPv8i8 |
| 302044200U, // SMAXV_VPZ_B |
| 302044200U, // SMAXV_VPZ_D |
| 302044200U, // SMAXV_VPZ_H |
| 302044200U, // SMAXV_VPZ_S |
| 67163176U, // SMAXVv16i8v |
| 67163176U, // SMAXVv4i16v |
| 2214646824U, // SMAXVv4i32v |
| 67163176U, // SMAXVv8i16v |
| 2214646824U, // SMAXVv8i8v |
| 167785823U, // SMAX_ZI_B |
| 201348447U, // SMAX_ZI_D |
| 239629663U, // SMAX_ZI_H |
| 268473695U, // SMAX_ZI_S |
| 302003551U, // SMAX_ZPmZ_B |
| 302011743U, // SMAX_ZPmZ_D |
| 2186311007U, // SMAX_ZPmZ_H |
| 302028127U, // SMAX_ZPmZ_S |
| 68203871U, // SMAXv16i8 |
| 2216211807U, // SMAXv2i32 |
| 69776735U, // SMAXv4i16 |
| 70301023U, // SMAXv4i32 |
| 2218308959U, // SMAXv8i16 |
| 2218833247U, // SMAXv8i8 |
| 75562U, // SMC |
| 68202541U, // SMINPv16i8 |
| 2216210477U, // SMINPv2i32 |
| 69775405U, // SMINPv4i16 |
| 70299693U, // SMINPv4i32 |
| 2218307629U, // SMINPv8i16 |
| 2218831917U, // SMINPv8i8 |
| 302044148U, // SMINV_VPZ_B |
| 302044148U, // SMINV_VPZ_D |
| 302044148U, // SMINV_VPZ_H |
| 302044148U, // SMINV_VPZ_S |
| 67163124U, // SMINVv16i8v |
| 67163124U, // SMINVv4i16v |
| 2214646772U, // SMINVv4i32v |
| 67163124U, // SMINVv8i16v |
| 2214646772U, // SMINVv8i8v |
| 167784176U, // SMIN_ZI_B |
| 201346800U, // SMIN_ZI_D |
| 239628016U, // SMIN_ZI_H |
| 268472048U, // SMIN_ZI_S |
| 302001904U, // SMIN_ZPmZ_B |
| 302010096U, // SMIN_ZPmZ_D |
| 2186309360U, // SMIN_ZPmZ_H |
| 302026480U, // SMIN_ZPmZ_S |
| 68202224U, // SMINv16i8 |
| 2216210160U, // SMINv2i32 |
| 69775088U, // SMINv4i16 |
| 70299376U, // SMINv4i32 |
| 2218307312U, // SMINv8i16 |
| 2218831600U, // SMINv8i8 |
| 137945269U, // SMLALv16i8_v8i16 |
| 2283859138U, // SMLALv2i32_indexed |
| 2283859138U, // SMLALv2i32_v2i64 |
| 137424066U, // SMLALv4i16_indexed |
| 137424066U, // SMLALv4i16_v4i32 |
| 136372405U, // SMLALv4i32_indexed |
| 136372405U, // SMLALv4i32_v2i64 |
| 2284904629U, // SMLALv8i16_indexed |
| 2284904629U, // SMLALv8i16_v4i32 |
| 2285432002U, // SMLALv8i8_v8i16 |
| 137945393U, // SMLSLv16i8_v8i16 |
| 2283859517U, // SMLSLv2i32_indexed |
| 2283859517U, // SMLSLv2i32_v2i64 |
| 137424445U, // SMLSLv4i16_indexed |
| 137424445U, // SMLSLv4i16_v4i32 |
| 136372529U, // SMLSLv4i32_indexed |
| 136372529U, // SMLSLv4i32_v2i64 |
| 2284904753U, // SMLSLv8i16_indexed |
| 2284904753U, // SMLSLv8i16_v4i32 |
| 2285432381U, // SMLSLv8i8_v8i16 |
| 67163151U, // SMOVvi16to32 |
| 67163151U, // SMOVvi16to64 |
| 2214646799U, // SMOVvi32to64 |
| 2214646799U, // SMOVvi8to32 |
| 2214646799U, // SMOVvi8to64 |
| 100715822U, // SMSUBLrrr |
| 302000880U, // SMULH_ZPmZ_B |
| 302009072U, // SMULH_ZPmZ_D |
| 2186308336U, // SMULH_ZPmZ_H |
| 302025456U, // SMULH_ZPmZ_S |
| 100715248U, // SMULHrr |
| 70820119U, // SMULLv16i8_v8i16 |
| 2216734181U, // SMULLv2i32_indexed |
| 2216734181U, // SMULLv2i32_v2i64 |
| 70299109U, // SMULLv4i16_indexed |
| 70299109U, // SMULLv4i16_v4i32 |
| 69247255U, // SMULLv4i32_indexed |
| 69247255U, // SMULLv4i32_v2i64 |
| 2217779479U, // SMULLv8i16_indexed |
| 2217779479U, // SMULLv8i16_v4i32 |
| 2218307045U, // SMULLv8i8_v8i16 |
| 302000225U, // SPLICE_ZPZ_B |
| 302008417U, // SPLICE_ZPZ_D |
| 2387634273U, // SPLICE_ZPZ_H |
| 302024801U, // SPLICE_ZPZ_S |
| 68202996U, // SQABSv16i8 |
| 2248200692U, // SQABSv1i16 |
| 2248200692U, // SQABSv1i32 |
| 2248200692U, // SQABSv1i64 |
| 2248200692U, // SQABSv1i8 |
| 68727284U, // SQABSv2i32 |
| 2216735220U, // SQABSv2i64 |
| 69775860U, // SQABSv4i16 |
| 2217783796U, // SQABSv4i32 |
| 70824436U, // SQABSv8i16 |
| 2218832372U, // SQABSv8i8 |
| 167782431U, // SQADD_ZI_B |
| 201345055U, // SQADD_ZI_D |
| 239626271U, // SQADD_ZI_H |
| 268470303U, // SQADD_ZI_S |
| 167782431U, // SQADD_ZZZ_B |
| 201345055U, // SQADD_ZZZ_D |
| 2387109919U, // SQADD_ZZZ_H |
| 268470303U, // SQADD_ZZZ_S |
| 68200479U, // SQADDv16i8 |
| 100714527U, // SQADDv1i16 |
| 100714527U, // SQADDv1i32 |
| 100714527U, // SQADDv1i64 |
| 100714527U, // SQADDv1i8 |
| 2216208415U, // SQADDv2i32 |
| 2216732703U, // SQADDv2i64 |
| 69773343U, // SQADDv4i16 |
| 70297631U, // SQADDv4i32 |
| 2218305567U, // SQADDv8i16 |
| 2218829855U, // SQADDv8i8 |
| 536921165U, // SQDECB_XPiI |
| 1342227533U, // SQDECB_XPiWdI |
| 536922045U, // SQDECD_XPiI |
| 1342228413U, // SQDECD_XPiWdI |
| 536889277U, // SQDECD_ZPiI |
| 536922629U, // SQDECH_XPiI |
| 1342228997U, // SQDECH_XPiWdI |
| 6842885U, // SQDECH_ZPiI |
| 167825333U, // SQDECP_XPWd_B |
| 201379765U, // SQDECP_XPWd_D |
| 570478517U, // SQDECP_XPWd_H |
| 268488629U, // SQDECP_XPWd_S |
| 2315308981U, // SQDECP_XP_B |
| 2348863413U, // SQDECP_XP_D |
| 2717962165U, // SQDECP_XP_H |
| 2415972277U, // SQDECP_XP_S |
| 2147504053U, // SQDECP_ZP_D |
| 604532661U, // SQDECP_ZP_H |
| 2147520437U, // SQDECP_ZP_S |
| 536925349U, // SQDECW_XPiI |
| 1342231717U, // SQDECW_XPiWdI |
| 536908965U, // SQDECW_ZPiI |
| 369192121U, // SQDMLALi16 |
| 369192121U, // SQDMLALi32 |
| 369192121U, // SQDMLALv1i32_indexed |
| 369192121U, // SQDMLALv1i64_indexed |
| 2283859129U, // SQDMLALv2i32_indexed |
| 2283859129U, // SQDMLALv2i32_v2i64 |
| 137424057U, // SQDMLALv4i16_indexed |
| 137424057U, // SQDMLALv4i16_v4i32 |
| 136372395U, // SQDMLALv4i32_indexed |
| 136372395U, // SQDMLALv4i32_v2i64 |
| 2284904619U, // SQDMLALv8i16_indexed |
| 2284904619U, // SQDMLALv8i16_v4i32 |
| 369192500U, // SQDMLSLi16 |
| 369192500U, // SQDMLSLi32 |
| 369192500U, // SQDMLSLv1i32_indexed |
| 369192500U, // SQDMLSLv1i64_indexed |
| 2283859508U, // SQDMLSLv2i32_indexed |
| 2283859508U, // SQDMLSLv2i32_v2i64 |
| 137424436U, // SQDMLSLv4i16_indexed |
| 137424436U, // SQDMLSLv4i16_v4i32 |
| 136372519U, // SQDMLSLv4i32_indexed |
| 136372519U, // SQDMLSLv4i32_v2i64 |
| 2284904743U, // SQDMLSLv8i16_indexed |
| 2284904743U, // SQDMLSLv8i16_v4i32 |
| 100715229U, // SQDMULHv1i16 |
| 100715229U, // SQDMULHv1i16_indexed |
| 100715229U, // SQDMULHv1i32 |
| 100715229U, // SQDMULHv1i32_indexed |
| 2216209117U, // SQDMULHv2i32 |
| 2216209117U, // SQDMULHv2i32_indexed |
| 69774045U, // SQDMULHv4i16 |
| 69774045U, // SQDMULHv4i16_indexed |
| 70298333U, // SQDMULHv4i32 |
| 70298333U, // SQDMULHv4i32_indexed |
| 2218306269U, // SQDMULHv8i16 |
| 2218306269U, // SQDMULHv8i16_indexed |
| 100715989U, // SQDMULLi16 |
| 100715989U, // SQDMULLi32 |
| 100715989U, // SQDMULLv1i32_indexed |
| 100715989U, // SQDMULLv1i64_indexed |
| 2216734165U, // SQDMULLv2i32_indexed |
| 2216734165U, // SQDMULLv2i32_v2i64 |
| 70299093U, // SQDMULLv4i16_indexed |
| 70299093U, // SQDMULLv4i16_v4i32 |
| 69247237U, // SQDMULLv4i32_indexed |
| 69247237U, // SQDMULLv4i32_v2i64 |
| 2217779461U, // SQDMULLv8i16_indexed |
| 2217779461U, // SQDMULLv8i16_v4i32 |
| 536921181U, // SQINCB_XPiI |
| 1342227549U, // SQINCB_XPiWdI |
| 536922061U, // SQINCD_XPiI |
| 1342228429U, // SQINCD_XPiWdI |
| 536889293U, // SQINCD_ZPiI |
| 536922645U, // SQINCH_XPiI |
| 1342229013U, // SQINCH_XPiWdI |
| 6842901U, // SQINCH_ZPiI |
| 167825349U, // SQINCP_XPWd_B |
| 201379781U, // SQINCP_XPWd_D |
| 570478533U, // SQINCP_XPWd_H |
| 268488645U, // SQINCP_XPWd_S |
| 2315308997U, // SQINCP_XP_B |
| 2348863429U, // SQINCP_XP_D |
| 2717962181U, // SQINCP_XP_H |
| 2415972293U, // SQINCP_XP_S |
| 2147504069U, // SQINCP_ZP_D |
| 604532677U, // SQINCP_ZP_H |
| 2147520453U, // SQINCP_ZP_S |
| 536925365U, // SQINCW_XPiI |
| 1342231733U, // SQINCW_XPiWdI |
| 536908981U, // SQINCW_ZPiI |
| 68200729U, // SQNEGv16i8 |
| 2248198425U, // SQNEGv1i16 |
| 2248198425U, // SQNEGv1i32 |
| 2248198425U, // SQNEGv1i64 |
| 2248198425U, // SQNEGv1i8 |
| 68725017U, // SQNEGv2i32 |
| 2216732953U, // SQNEGv2i64 |
| 69773593U, // SQNEGv4i16 |
| 2217781529U, // SQNEGv4i32 |
| 70822169U, // SQNEGv8i16 |
| 2218830105U, // SQNEGv8i8 |
| 369191329U, // SQRDMLAHi16_indexed |
| 369191329U, // SQRDMLAHi32_indexed |
| 369191329U, // SQRDMLAHv1i16 |
| 369191329U, // SQRDMLAHv1i32 |
| 2283334049U, // SQRDMLAHv2i32 |
| 2283334049U, // SQRDMLAHv2i32_indexed |
| 136898977U, // SQRDMLAHv4i16 |
| 136898977U, // SQRDMLAHv4i16_indexed |
| 137423265U, // SQRDMLAHv4i32 |
| 137423265U, // SQRDMLAHv4i32_indexed |
| 2285431201U, // SQRDMLAHv8i16 |
| 2285431201U, // SQRDMLAHv8i16_indexed |
| 369191909U, // SQRDMLSHi16_indexed |
| 369191909U, // SQRDMLSHi32_indexed |
| 369191909U, // SQRDMLSHv1i16 |
| 369191909U, // SQRDMLSHv1i32 |
| 2283334629U, // SQRDMLSHv2i32 |
| 2283334629U, // SQRDMLSHv2i32_indexed |
| 136899557U, // SQRDMLSHv4i16 |
| 136899557U, // SQRDMLSHv4i16_indexed |
| 137423845U, // SQRDMLSHv4i32 |
| 137423845U, // SQRDMLSHv4i32_indexed |
| 2285431781U, // SQRDMLSHv8i16 |
| 2285431781U, // SQRDMLSHv8i16_indexed |
| 100715238U, // SQRDMULHv1i16 |
| 100715238U, // SQRDMULHv1i16_indexed |
| 100715238U, // SQRDMULHv1i32 |
| 100715238U, // SQRDMULHv1i32_indexed |
| 2216209126U, // SQRDMULHv2i32 |
| 2216209126U, // SQRDMULHv2i32_indexed |
| 69774054U, // SQRDMULHv4i16 |
| 69774054U, // SQRDMULHv4i16_indexed |
| 70298342U, // SQRDMULHv4i32 |
| 70298342U, // SQRDMULHv4i32_indexed |
| 2218306278U, // SQRDMULHv8i16 |
| 2218306278U, // SQRDMULHv8i16_indexed |
| 68201885U, // SQRSHLv16i8 |
| 100715933U, // SQRSHLv1i16 |
| 100715933U, // SQRSHLv1i32 |
| 100715933U, // SQRSHLv1i64 |
| 100715933U, // SQRSHLv1i8 |
| 2216209821U, // SQRSHLv2i32 |
| 2216734109U, // SQRSHLv2i64 |
| 69774749U, // SQRSHLv4i16 |
| 70299037U, // SQRSHLv4i32 |
| 2218306973U, // SQRSHLv8i16 |
| 2218831261U, // SQRSHLv8i8 |
| 100716319U, // SQRSHRNb |
| 100716319U, // SQRSHRNh |
| 100716319U, // SQRSHRNs |
| 2282807661U, // SQRSHRNv16i8_shift |
| 2216210207U, // SQRSHRNv2i32_shift |
| 69775135U, // SQRSHRNv4i16_shift |
| 2284904813U, // SQRSHRNv4i32_shift |
| 137945453U, // SQRSHRNv8i16_shift |
| 2218831647U, // SQRSHRNv8i8_shift |
| 100716380U, // SQRSHRUNb |
| 100716380U, // SQRSHRUNh |
| 100716380U, // SQRSHRUNs |
| 2282807721U, // SQRSHRUNv16i8_shift |
| 2216210268U, // SQRSHRUNv2i32_shift |
| 69775196U, // SQRSHRUNv4i16_shift |
| 2284904873U, // SQRSHRUNv4i32_shift |
| 137945513U, // SQRSHRUNv8i16_shift |
| 2218831708U, // SQRSHRUNv8i8_shift |
| 100717425U, // SQSHLUb |
| 100717425U, // SQSHLUd |
| 100717425U, // SQSHLUh |
| 100717425U, // SQSHLUs |
| 68203377U, // SQSHLUv16i8_shift |
| 2216211313U, // SQSHLUv2i32_shift |
| 2216735601U, // SQSHLUv2i64_shift |
| 69776241U, // SQSHLUv4i16_shift |
| 70300529U, // SQSHLUv4i32_shift |
| 2218308465U, // SQSHLUv8i16_shift |
| 2218832753U, // SQSHLUv8i8_shift |
| 100715919U, // SQSHLb |
| 100715919U, // SQSHLd |
| 100715919U, // SQSHLh |
| 100715919U, // SQSHLs |
| 68201871U, // SQSHLv16i8 |
| 68201871U, // SQSHLv16i8_shift |
| 100715919U, // SQSHLv1i16 |
| 100715919U, // SQSHLv1i32 |
| 100715919U, // SQSHLv1i64 |
| 100715919U, // SQSHLv1i8 |
| 2216209807U, // SQSHLv2i32 |
| 2216209807U, // SQSHLv2i32_shift |
| 2216734095U, // SQSHLv2i64 |
| 2216734095U, // SQSHLv2i64_shift |
| 69774735U, // SQSHLv4i16 |
| 69774735U, // SQSHLv4i16_shift |
| 70299023U, // SQSHLv4i32 |
| 70299023U, // SQSHLv4i32_shift |
| 2218306959U, // SQSHLv8i16 |
| 2218306959U, // SQSHLv8i16_shift |
| 2218831247U, // SQSHLv8i8 |
| 2218831247U, // SQSHLv8i8_shift |
| 100716303U, // SQSHRNb |
| 100716303U, // SQSHRNh |
| 100716303U, // SQSHRNs |
| 2282807643U, // SQSHRNv16i8_shift |
| 2216210191U, // SQSHRNv2i32_shift |
| 69775119U, // SQSHRNv4i16_shift |
| 2284904795U, // SQSHRNv4i32_shift |
| 137945435U, // SQSHRNv8i16_shift |
| 2218831631U, // SQSHRNv8i8_shift |
| 100716371U, // SQSHRUNb |
| 100716371U, // SQSHRUNh |
| 100716371U, // SQSHRUNs |
| 2282807711U, // SQSHRUNv16i8_shift |
| 2216210259U, // SQSHRUNv2i32_shift |
| 69775187U, // SQSHRUNv4i16_shift |
| 2284904863U, // SQSHRUNv4i32_shift |
| 137945503U, // SQSHRUNv8i16_shift |
| 2218831699U, // SQSHRUNv8i8_shift |
| 167782084U, // SQSUB_ZI_B |
| 201344708U, // SQSUB_ZI_D |
| 239625924U, // SQSUB_ZI_H |
| 268469956U, // SQSUB_ZI_S |
| 167782084U, // SQSUB_ZZZ_B |
| 201344708U, // SQSUB_ZZZ_D |
| 2387109572U, // SQSUB_ZZZ_H |
| 268469956U, // SQSUB_ZZZ_S |
| 68200132U, // SQSUBv16i8 |
| 100714180U, // SQSUBv1i16 |
| 100714180U, // SQSUBv1i32 |
| 100714180U, // SQSUBv1i64 |
| 100714180U, // SQSUBv1i8 |
| 2216208068U, // SQSUBv2i32 |
| 2216732356U, // SQSUBv2i64 |
| 69772996U, // SQSUBv4i16 |
| 70297284U, // SQSUBv4i32 |
| 2218305220U, // SQSUBv8i16 |
| 2218829508U, // SQSUBv8i8 |
| 135324047U, // SQXTNv16i8 |
| 2248200005U, // SQXTNv1i16 |
| 2248200005U, // SQXTNv1i32 |
| 2248200005U, // SQXTNv1i8 |
| 2216210245U, // SQXTNv2i32 |
| 2217258821U, // SQXTNv4i16 |
| 2284904847U, // SQXTNv4i32 |
| 2285429135U, // SQXTNv8i16 |
| 71348037U, // SQXTNv8i8 |
| 135324084U, // SQXTUNv16i8 |
| 2248200038U, // SQXTUNv1i16 |
| 2248200038U, // SQXTUNv1i32 |
| 2248200038U, // SQXTUNv1i8 |
| 2216210278U, // SQXTUNv2i32 |
| 2217258854U, // SQXTUNv4i16 |
| 2284904884U, // SQXTUNv4i32 |
| 2285429172U, // SQXTUNv8i16 |
| 71348070U, // SQXTUNv8i8 |
| 68200433U, // SRHADDv16i8 |
| 2216208369U, // SRHADDv2i32 |
| 69773297U, // SRHADDv4i16 |
| 70297585U, // SRHADDv4i32 |
| 2218305521U, // SRHADDv8i16 |
| 2218829809U, // SRHADDv8i8 |
| 369192068U, // SRId |
| 135326852U, // SRIv16i8_shift |
| 2283334788U, // SRIv2i32_shift |
| 2283859076U, // SRIv2i64_shift |
| 136899716U, // SRIv4i16_shift |
| 137424004U, // SRIv4i32_shift |
| 2285431940U, // SRIv8i16_shift |
| 2285956228U, // SRIv8i8_shift |
| 68201901U, // SRSHLv16i8 |
| 100715949U, // SRSHLv1i64 |
| 2216209837U, // SRSHLv2i32 |
| 2216734125U, // SRSHLv2i64 |
| 69774765U, // SRSHLv4i16 |
| 70299053U, // SRSHLv4i32 |
| 2218306989U, // SRSHLv8i16 |
| 2218831277U, // SRSHLv8i8 |
| 100716794U, // SRSHRd |
| 68202746U, // SRSHRv16i8_shift |
| 2216210682U, // SRSHRv2i32_shift |
| 2216734970U, // SRSHRv2i64_shift |
| 69775610U, // SRSHRv4i16_shift |
| 70299898U, // SRSHRv4i32_shift |
| 2218307834U, // SRSHRv8i16_shift |
| 2218832122U, // SRSHRv8i8_shift |
| 369189634U, // SRSRAd |
| 135324418U, // SRSRAv16i8_shift |
| 2283332354U, // SRSRAv2i32_shift |
| 2283856642U, // SRSRAv2i64_shift |
| 136897282U, // SRSRAv4i16_shift |
| 137421570U, // SRSRAv4i32_shift |
| 2285429506U, // SRSRAv8i16_shift |
| 2285953794U, // SRSRAv8i8_shift |
| 70820085U, // SSHLLv16i8_shift |
| 2216734151U, // SSHLLv2i32_shift |
| 70299079U, // SSHLLv4i16_shift |
| 69247221U, // SSHLLv4i32_shift |
| 2217779445U, // SSHLLv8i16_shift |
| 2218307015U, // SSHLLv8i8_shift |
| 68201915U, // SSHLv16i8 |
| 100715963U, // SSHLv1i64 |
| 2216209851U, // SSHLv2i32 |
| 2216734139U, // SSHLv2i64 |
| 69774779U, // SSHLv4i16 |
| 70299067U, // SSHLv4i32 |
| 2218307003U, // SSHLv8i16 |
| 2218831291U, // SSHLv8i8 |
| 100716808U, // SSHRd |
| 68202760U, // SSHRv16i8_shift |
| 2216210696U, // SSHRv2i32_shift |
| 2216734984U, // SSHRv2i64_shift |
| 69775624U, // SSHRv4i16_shift |
| 70299912U, // SSHRv4i32_shift |
| 2218307848U, // SSHRv8i16_shift |
| 2218832136U, // SSHRv8i8_shift |
| 369189648U, // SSRAd |
| 135324432U, // SSRAv16i8_shift |
| 2283332368U, // SSRAv2i32_shift |
| 2283856656U, // SSRAv2i64_shift |
| 136897296U, // SSRAv4i16_shift |
| 137421584U, // SSRAv4i32_shift |
| 2285429520U, // SSRAv8i16_shift |
| 2285953808U, // SSRAv8i8_shift |
| 374997906U, // SST1B_D |
| 878314386U, // SST1B_D_IMM |
| 374997906U, // SST1B_D_SXTW |
| 374997906U, // SST1B_D_UXTW |
| 811213714U, // SST1B_S_IMM |
| 375006098U, // SST1B_S_SXTW |
| 375006098U, // SST1B_S_UXTW |
| 374998886U, // SST1D |
| 878315366U, // SST1D_IMM |
| 374998886U, // SST1D_SCALED |
| 374998886U, // SST1D_SXTW |
| 374998886U, // SST1D_SXTW_SCALED |
| 374998886U, // SST1D_UXTW |
| 374998886U, // SST1D_UXTW_SCALED |
| 374999380U, // SST1H_D |
| 3025799508U, // SST1H_D_IMM |
| 374999380U, // SST1H_D_SCALED |
| 374999380U, // SST1H_D_SXTW |
| 374999380U, // SST1H_D_SXTW_SCALED |
| 374999380U, // SST1H_D_UXTW |
| 374999380U, // SST1H_D_UXTW_SCALED |
| 2958698836U, // SST1H_S_IMM |
| 375007572U, // SST1H_S_SXTW |
| 375007572U, // SST1H_S_SXTW_SCALED |
| 375007572U, // SST1H_S_UXTW |
| 375007572U, // SST1H_S_UXTW_SCALED |
| 375002204U, // SST1W_D |
| 878318684U, // SST1W_D_IMM |
| 375002204U, // SST1W_D_SCALED |
| 375002204U, // SST1W_D_SXTW |
| 375002204U, // SST1W_D_SXTW_SCALED |
| 375002204U, // SST1W_D_UXTW |
| 375002204U, // SST1W_D_UXTW_SCALED |
| 811218012U, // SST1W_IMM |
| 375010396U, // SST1W_SXTW |
| 375010396U, // SST1W_SXTW_SCALED |
| 375010396U, // SST1W_UXTW |
| 375010396U, // SST1W_UXTW_SCALED |
| 70820037U, // SSUBLv16i8_v8i16 |
| 2216734014U, // SSUBLv2i32_v2i64 |
| 70298942U, // SSUBLv4i16_v4i32 |
| 69247173U, // SSUBLv4i32_v2i64 |
| 2217779397U, // SSUBLv8i16_v4i32 |
| 2218306878U, // SSUBLv8i8_v8i16 |
| 2218303966U, // SSUBWv16i8_v8i16 |
| 2216735886U, // SSUBWv2i32_v2i64 |
| 70300814U, // SSUBWv4i16_v4i32 |
| 2216731102U, // SSUBWv4i32_v2i64 |
| 70296030U, // SSUBWv8i16_v4i32 |
| 2218308750U, // SSUBWv8i8_v8i16 |
| 375022482U, // ST1B |
| 374997906U, // ST1B_D |
| 374997906U, // ST1B_D_IMM |
| 375030674U, // ST1B_H |
| 375030674U, // ST1B_H_IMM |
| 375022482U, // ST1B_IMM |
| 375006098U, // ST1B_S |
| 375006098U, // ST1B_S_IMM |
| 374998886U, // ST1D |
| 374998886U, // ST1D_IMM |
| 172102U, // ST1Fourv16b |
| 13287494U, // ST1Fourv16b_POST |
| 188486U, // ST1Fourv1d |
| 13828166U, // ST1Fourv1d_POST |
| 204870U, // ST1Fourv2d |
| 13320262U, // ST1Fourv2d_POST |
| 221254U, // ST1Fourv2s |
| 13860934U, // ST1Fourv2s_POST |
| 237638U, // ST1Fourv4h |
| 13877318U, // ST1Fourv4h_POST |
| 254022U, // ST1Fourv4s |
| 13369414U, // ST1Fourv4s_POST |
| 270406U, // ST1Fourv8b |
| 13910086U, // ST1Fourv8b_POST |
| 286790U, // ST1Fourv8h |
| 13402182U, // ST1Fourv8h_POST |
| 375032148U, // ST1H |
| 374999380U, // ST1H_D |
| 374999380U, // ST1H_D_IMM |
| 375032148U, // ST1H_IMM |
| 375007572U, // ST1H_S |
| 375007572U, // ST1H_S_IMM |
| 172102U, // ST1Onev16b |
| 14336070U, // ST1Onev16b_POST |
| 188486U, // ST1Onev1d |
| 14876742U, // ST1Onev1d_POST |
| 204870U, // ST1Onev2d |
| 14368838U, // ST1Onev2d_POST |
| 221254U, // ST1Onev2s |
| 14909510U, // ST1Onev2s_POST |
| 237638U, // ST1Onev4h |
| 14925894U, // ST1Onev4h_POST |
| 254022U, // ST1Onev4s |
| 14417990U, // ST1Onev4s_POST |
| 270406U, // ST1Onev8b |
| 14958662U, // ST1Onev8b_POST |
| 286790U, // ST1Onev8h |
| 14450758U, // ST1Onev8h_POST |
| 172102U, // ST1Threev16b |
| 16957510U, // ST1Threev16b_POST |
| 188486U, // ST1Threev1d |
| 17498182U, // ST1Threev1d_POST |
| 204870U, // ST1Threev2d |
| 16990278U, // ST1Threev2d_POST |
| 221254U, // ST1Threev2s |
| 17530950U, // ST1Threev2s_POST |
| 237638U, // ST1Threev4h |
| 17547334U, // ST1Threev4h_POST |
| 254022U, // ST1Threev4s |
| 17039430U, // ST1Threev4s_POST |
| 270406U, // ST1Threev8b |
| 17580102U, // ST1Threev8b_POST |
| 286790U, // ST1Threev8h |
| 17072198U, // ST1Threev8h_POST |
| 172102U, // ST1Twov16b |
| 13811782U, // ST1Twov16b_POST |
| 188486U, // ST1Twov1d |
| 14352454U, // ST1Twov1d_POST |
| 204870U, // ST1Twov2d |
| 13844550U, // ST1Twov2d_POST |
| 221254U, // ST1Twov2s |
| 14385222U, // ST1Twov2s_POST |
| 237638U, // ST1Twov4h |
| 14401606U, // ST1Twov4h_POST |
| 254022U, // ST1Twov4s |
| 13893702U, // ST1Twov4s_POST |
| 270406U, // ST1Twov8b |
| 14434374U, // ST1Twov8b_POST |
| 286790U, // ST1Twov8h |
| 13926470U, // ST1Twov8h_POST |
| 375010396U, // ST1W |
| 375002204U, // ST1W_D |
| 375002204U, // ST1W_D_IMM |
| 375010396U, // ST1W_IMM |
| 409670U, // ST1i16 |
| 1404346438U, // ST1i16_POST |
| 417862U, // ST1i32 |
| 1437917254U, // ST1i32_POST |
| 426054U, // ST1i64 |
| 1471488070U, // ST1i64_POST |
| 434246U, // ST1i8 |
| 1505058886U, // ST1i8_POST |
| 375022511U, // ST2B |
| 375022511U, // ST2B_IMM |
| 374998898U, // ST2D |
| 374998898U, // ST2D_IMM |
| 375032177U, // ST2H |
| 375032177U, // ST2H_IMM |
| 172505U, // ST2Twov16b |
| 13812185U, // ST2Twov16b_POST |
| 205273U, // ST2Twov2d |
| 13844953U, // ST2Twov2d_POST |
| 221657U, // ST2Twov2s |
| 14385625U, // ST2Twov2s_POST |
| 238041U, // ST2Twov4h |
| 14402009U, // ST2Twov4h_POST |
| 254425U, // ST2Twov4s |
| 13894105U, // ST2Twov4s_POST |
| 270809U, // ST2Twov8b |
| 14434777U, // ST2Twov8b_POST |
| 287193U, // ST2Twov8h |
| 13926873U, // ST2Twov8h_POST |
| 375010416U, // ST2W |
| 375010416U, // ST2W_IMM |
| 410073U, // ST2i16 |
| 1437901273U, // ST2i16_POST |
| 418265U, // ST2i32 |
| 1471472089U, // ST2i32_POST |
| 426457U, // ST2i64 |
| 1538597337U, // ST2i64_POST |
| 434649U, // ST2i8 |
| 1404395993U, // ST2i8_POST |
| 375022532U, // ST3B |
| 375022532U, // ST3B_IMM |
| 374998910U, // ST3D |
| 374998910U, // ST3D_IMM |
| 375032189U, // ST3H |
| 375032189U, // ST3H_IMM |
| 172571U, // ST3Threev16b |
| 16957979U, // ST3Threev16b_POST |
| 205339U, // ST3Threev2d |
| 16990747U, // ST3Threev2d_POST |
| 221723U, // ST3Threev2s |
| 17531419U, // ST3Threev2s_POST |
| 238107U, // ST3Threev4h |
| 17547803U, // ST3Threev4h_POST |
| 254491U, // ST3Threev4s |
| 17039899U, // ST3Threev4s_POST |
| 270875U, // ST3Threev8b |
| 17580571U, // ST3Threev8b_POST |
| 287259U, // ST3Threev8h |
| 17072667U, // ST3Threev8h_POST |
| 375010428U, // ST3W |
| 375010428U, // ST3W_IMM |
| 410139U, // ST3i16 |
| 1572119067U, // ST3i16_POST |
| 418331U, // ST3i32 |
| 1605689883U, // ST3i32_POST |
| 426523U, // ST3i64 |
| 1639260699U, // ST3i64_POST |
| 434715U, // ST3i8 |
| 1672831515U, // ST3i8_POST |
| 375022544U, // ST4B |
| 375022544U, // ST4B_IMM |
| 374998922U, // ST4D |
| 374998922U, // ST4D_IMM |
| 172588U, // ST4Fourv16b |
| 13287980U, // ST4Fourv16b_POST |
| 205356U, // ST4Fourv2d |
| 13320748U, // ST4Fourv2d_POST |
| 221740U, // ST4Fourv2s |
| 13861420U, // ST4Fourv2s_POST |
| 238124U, // ST4Fourv4h |
| 13877804U, // ST4Fourv4h_POST |
| 254508U, // ST4Fourv4s |
| 13369900U, // ST4Fourv4s_POST |
| 270892U, // ST4Fourv8b |
| 13910572U, // ST4Fourv8b_POST |
| 287276U, // ST4Fourv8h |
| 13402668U, // ST4Fourv8h_POST |
| 375032201U, // ST4H |
| 375032201U, // ST4H_IMM |
| 375010440U, // ST4W |
| 375010440U, // ST4W_IMM |
| 410156U, // ST4i16 |
| 1471455788U, // ST4i16_POST |
| 418348U, // ST4i32 |
| 1538581036U, // ST4i32_POST |
| 426540U, // ST4i64 |
| 1706369580U, // ST4i64_POST |
| 434732U, // ST4i8 |
| 1437950508U, // ST4i8_POST |
| 2253964715U, // STLLRB |
| 2253966166U, // STLLRH |
| 2253967648U, // STLLRW |
| 2253967648U, // STLLRX |
| 2253964723U, // STLRB |
| 2253966174U, // STLRH |
| 2253967661U, // STLRW |
| 2253967661U, // STLRX |
| 106481125U, // STLURBi |
| 106482576U, // STLURHi |
| 106484110U, // STLURWi |
| 106484110U, // STLURXi |
| 100716685U, // STLXPW |
| 100716685U, // STLXPX |
| 2248197644U, // STLXRB |
| 2248199095U, // STLXRH |
| 2248200645U, // STLXRW |
| 2248200645U, // STLXRX |
| 2248200251U, // STNPDi |
| 2248200251U, // STNPQi |
| 2248200251U, // STNPSi |
| 2248200251U, // STNPWi |
| 2248200251U, // STNPXi |
| 375022474U, // STNT1B_ZRI |
| 375022474U, // STNT1B_ZRR |
| 374998878U, // STNT1D_ZRI |
| 374998878U, // STNT1D_ZRR |
| 375032140U, // STNT1H_ZRI |
| 375032140U, // STNT1H_ZRR |
| 375010388U, // STNT1W_ZRI |
| 375010388U, // STNT1W_ZRR |
| 2248200283U, // STPDi |
| 2516676699U, // STPDpost |
| 2516676699U, // STPDpre |
| 2248200283U, // STPQi |
| 2516676699U, // STPQpost |
| 2516676699U, // STPQpre |
| 2248200283U, // STPSi |
| 2516676699U, // STPSpost |
| 2516676699U, // STPSpre |
| 2248200283U, // STPWi |
| 2516676699U, // STPWpost |
| 2516676699U, // STPWpre |
| 2248200283U, // STPXi |
| 2516676699U, // STPXpost |
| 2516676699U, // STPXpre |
| 374957521U, // STRBBpost |
| 374957521U, // STRBBpre |
| 106481105U, // STRBBroW |
| 106481105U, // STRBBroX |
| 106481105U, // STRBBui |
| 374960503U, // STRBpost |
| 374960503U, // STRBpre |
| 106484087U, // STRBroW |
| 106484087U, // STRBroX |
| 106484087U, // STRBui |
| 374960503U, // STRDpost |
| 374960503U, // STRDpre |
| 106484087U, // STRDroW |
| 106484087U, // STRDroX |
| 106484087U, // STRDui |
| 374958972U, // STRHHpost |
| 374958972U, // STRHHpre |
| 106482556U, // STRHHroW |
| 106482556U, // STRHHroX |
| 106482556U, // STRHHui |
| 374960503U, // STRHpost |
| 374960503U, // STRHpre |
| 106484087U, // STRHroW |
| 106484087U, // STRHroX |
| 106484087U, // STRHui |
| 374960503U, // STRQpost |
| 374960503U, // STRQpre |
| 106484087U, // STRQroW |
| 106484087U, // STRQroX |
| 106484087U, // STRQui |
| 374960503U, // STRSpost |
| 374960503U, // STRSpre |
| 106484087U, // STRSroW |
| 106484087U, // STRSroX |
| 106484087U, // STRSui |
| 374960503U, // STRWpost |
| 374960503U, // STRWpre |
| 106484087U, // STRWroW |
| 106484087U, // STRWroX |
| 106484087U, // STRWui |
| 374960503U, // STRXpost |
| 374960503U, // STRXpre |
| 106484087U, // STRXroW |
| 106484087U, // STRXroX |
| 106484087U, // STRXui |
| 106803575U, // STR_PXI |
| 106803575U, // STR_ZXI |
| 106481111U, // STTRBi |
| 106482562U, // STTRHi |
| 106484092U, // STTRWi |
| 106484092U, // STTRXi |
| 106481142U, // STURBBi |
| 106484125U, // STURBi |
| 106484125U, // STURDi |
| 106482593U, // STURHHi |
| 106484125U, // STURHi |
| 106484125U, // STURQi |
| 106484125U, // STURSi |
| 106484125U, // STURWi |
| 106484125U, // STURXi |
| 100716692U, // STXPW |
| 100716692U, // STXPX |
| 2248197652U, // STXRB |
| 2248199103U, // STXRH |
| 2248200652U, // STXRW |
| 2248200652U, // STXRX |
| 2216210137U, // SUBHNv2i64_v2i32 |
| 2284904778U, // SUBHNv2i64_v4i32 |
| 69775065U, // SUBHNv4i32_v4i16 |
| 137945418U, // SUBHNv4i32_v8i16 |
| 2282807626U, // SUBHNv8i16_v16i8 |
| 2218831577U, // SUBHNv8i16_v8i8 |
| 167784668U, // SUBR_ZI_B |
| 201347292U, // SUBR_ZI_D |
| 239628508U, // SUBR_ZI_H |
| 268472540U, // SUBR_ZI_S |
| 302002396U, // SUBR_ZPmZ_B |
| 302010588U, // SUBR_ZPmZ_D |
| 2186309852U, // SUBR_ZPmZ_H |
| 302026972U, // SUBR_ZPmZ_S |
| 100717066U, // SUBSWri |
| 0U, // SUBSWrr |
| 100717066U, // SUBSWrs |
| 100717066U, // SUBSWrx |
| 100717066U, // SUBSXri |
| 0U, // SUBSXrr |
| 100717066U, // SUBSXrs |
| 100717066U, // SUBSXrx |
| 100717066U, // SUBSXrx64 |
| 100714146U, // SUBWri |
| 0U, // SUBWrr |
| 100714146U, // SUBWrs |
| 100714146U, // SUBWrx |
| 100714146U, // SUBXri |
| 0U, // SUBXrr |
| 100714146U, // SUBXrs |
| 100714146U, // SUBXrx |
| 100714146U, // SUBXrx64 |
| 167782050U, // SUB_ZI_B |
| 201344674U, // SUB_ZI_D |
| 239625890U, // SUB_ZI_H |
| 268469922U, // SUB_ZI_S |
| 301999778U, // SUB_ZPmZ_B |
| 302007970U, // SUB_ZPmZ_D |
| 2186307234U, // SUB_ZPmZ_H |
| 302024354U, // SUB_ZPmZ_S |
| 167782050U, // SUB_ZZZ_B |
| 201344674U, // SUB_ZZZ_D |
| 2387109538U, // SUB_ZZZ_H |
| 268469922U, // SUB_ZZZ_S |
| 68200098U, // SUBv16i8 |
| 100714146U, // SUBv1i64 |
| 2216208034U, // SUBv2i32 |
| 2216732322U, // SUBv2i64 |
| 69772962U, // SUBv4i16 |
| 70297250U, // SUBv4i32 |
| 2218305186U, // SUBv8i16 |
| 2218829474U, // SUBv8i8 |
| 2415938650U, // SUNPKHI_ZZ_D |
| 27290714U, // SUNPKHI_ZZ_H |
| 2717944922U, // SUNPKHI_ZZ_S |
| 2415939470U, // SUNPKLO_ZZ_D |
| 27291534U, // SUNPKLO_ZZ_H |
| 2717945742U, // SUNPKLO_ZZ_S |
| 135325734U, // SUQADDv16i8 |
| 2516674598U, // SUQADDv1i16 |
| 2516674598U, // SUQADDv1i32 |
| 2516674598U, // SUQADDv1i64 |
| 2516674598U, // SUQADDv1i8 |
| 135850022U, // SUQADDv2i32 |
| 2283857958U, // SUQADDv2i64 |
| 136898598U, // SUQADDv4i16 |
| 2284906534U, // SUQADDv4i32 |
| 137947174U, // SUQADDv8i16 |
| 2285955110U, // SUQADDv8i8 |
| 75579U, // SVC |
| 973169651U, // SWPAB |
| 973171135U, // SWPAH |
| 973169853U, // SWPALB |
| 973171283U, // SWPALH |
| 973171948U, // SWPALW |
| 973171948U, // SWPALX |
| 973169381U, // SWPAW |
| 973169381U, // SWPAX |
| 973170041U, // SWPB |
| 973171492U, // SWPH |
| 973169950U, // SWPLB |
| 973171380U, // SWPLH |
| 973172243U, // SWPLW |
| 973172243U, // SWPLX |
| 973172838U, // SWPW |
| 973172838U, // SWPX |
| 18069U, // SXTB_ZPmZ_D |
| 2181588629U, // SXTB_ZPmZ_H |
| 34453U, // SXTB_ZPmZ_S |
| 19494U, // SXTH_ZPmZ_D |
| 35878U, // SXTH_ZPmZ_S |
| 21815U, // SXTW_ZPmZ_D |
| 100716107U, // SYSLxt |
| 1711329984U, // SYSxt |
| 1744842025U, // TBL_ZZZ_B |
| 1778404649U, // TBL_ZZZ_D |
| 28863785U, // TBL_ZZZ_H |
| 1811975465U, // TBL_ZZZ_S |
| 1846586665U, // TBLv16i8Four |
| 1846586665U, // TBLv16i8One |
| 1846586665U, // TBLv16i8Three |
| 1846586665U, // TBLv16i8Two |
| 3997216041U, // TBLv8i8Four |
| 3997216041U, // TBLv8i8One |
| 3997216041U, // TBLv8i8Three |
| 3997216041U, // TBLv8i8Two |
| 100718059U, // TBNZW |
| 100718059U, // TBNZX |
| 1880159597U, // TBXv16i8Four |
| 1880159597U, // TBXv16i8One |
| 1880159597U, // TBXv16i8Three |
| 1880159597U, // TBXv16i8Two |
| 4030788973U, // TBXv8i8Four |
| 4030788973U, // TBXv8i8One |
| 4030788973U, // TBXv8i8Three |
| 4030788973U, // TBXv8i8Two |
| 100718043U, // TBZW |
| 100718043U, // TBZX |
| 0U, // TCRETURNdi |
| 0U, // TCRETURNri |
| 6346239U, // TLSDESCCALL |
| 0U, // TLSDESC_CALLSEQ |
| 167780389U, // TRN1_PPP_B |
| 201343013U, // TRN1_PPP_D |
| 2387107877U, // TRN1_PPP_H |
| 268468261U, // TRN1_PPP_S |
| 167780389U, // TRN1_ZZZ_B |
| 201343013U, // TRN1_ZZZ_D |
| 2387107877U, // TRN1_ZZZ_H |
| 268468261U, // TRN1_ZZZ_S |
| 68198437U, // TRN1v16i8 |
| 2216206373U, // TRN1v2i32 |
| 2216730661U, // TRN1v2i64 |
| 69771301U, // TRN1v4i16 |
| 70295589U, // TRN1v4i32 |
| 2218303525U, // TRN1v8i16 |
| 2218827813U, // TRN1v8i8 |
| 167780737U, // TRN2_PPP_B |
| 201343361U, // TRN2_PPP_D |
| 2387108225U, // TRN2_PPP_H |
| 268468609U, // TRN2_PPP_S |
| 167780737U, // TRN2_ZZZ_B |
| 201343361U, // TRN2_ZZZ_D |
| 2387108225U, // TRN2_ZZZ_H |
| 268468609U, // TRN2_ZZZ_S |
| 68198785U, // TRN2v16i8 |
| 2216206721U, // TRN2v2i32 |
| 2216731009U, // TRN2v2i64 |
| 69771649U, // TRN2v4i16 |
| 70295937U, // TRN2v4i32 |
| 2218303873U, // TRN2v8i16 |
| 2218828161U, // TRN2v8i8 |
| 116346U, // TSB |
| 137945251U, // UABALv16i8_v8i16 |
| 2283859113U, // UABALv2i32_v2i64 |
| 137424041U, // UABALv4i16_v4i32 |
| 136372387U, // UABALv4i32_v2i64 |
| 2284904611U, // UABALv8i16_v4i32 |
| 2285431977U, // UABALv8i8_v8i16 |
| 135324275U, // UABAv16i8 |
| 2283332211U, // UABAv2i32 |
| 136897139U, // UABAv4i16 |
| 137421427U, // UABAv4i32 |
| 2285429363U, // UABAv8i16 |
| 2285953651U, // UABAv8i8 |
| 70820061U, // UABDLv16i8_v8i16 |
| 2216734035U, // UABDLv2i32_v2i64 |
| 70298963U, // UABDLv4i16_v4i32 |
| 69247197U, // UABDLv4i32_v2i64 |
| 2217779421U, // UABDLv8i16_v4i32 |
| 2218306899U, // UABDLv8i8_v8i16 |
| 302000048U, // UABD_ZPmZ_B |
| 302008240U, // UABD_ZPmZ_D |
| 2186307504U, // UABD_ZPmZ_H |
| 302024624U, // UABD_ZPmZ_S |
| 68200368U, // UABDv16i8 |
| 2216208304U, // UABDv2i32 |
| 69773232U, // UABDv4i16 |
| 70297520U, // UABDv4i32 |
| 2218305456U, // UABDv8i16 |
| 2218829744U, // UABDv8i8 |
| 137949161U, // UADALPv16i8_v8i16 |
| 162066409U, // UADALPv2i32_v1i64 |
| 135852009U, // UADALPv4i16_v2i32 |
| 2283859945U, // UADALPv4i32_v2i64 |
| 137424873U, // UADALPv8i16_v4i32 |
| 2284384233U, // UADALPv8i8_v4i16 |
| 70823929U, // UADDLPv16i8_v8i16 |
| 94941177U, // UADDLPv2i32_v1i64 |
| 68726777U, // UADDLPv4i16_v2i32 |
| 2216734713U, // UADDLPv4i32_v2i64 |
| 70299641U, // UADDLPv8i16_v4i32 |
| 2217259001U, // UADDLPv8i8_v4i16 |
| 67163091U, // UADDLVv16i8v |
| 67163091U, // UADDLVv4i16v |
| 2214646739U, // UADDLVv4i32v |
| 67163091U, // UADDLVv8i16v |
| 2214646739U, // UADDLVv8i8v |
| 70820077U, // UADDLv16i8_v8i16 |
| 2216734073U, // UADDLv2i32_v2i64 |
| 70299001U, // UADDLv4i16_v4i32 |
| 69247213U, // UADDLv4i32_v2i64 |
| 2217779437U, // UADDLv8i16_v4i32 |
| 2218306937U, // UADDLv8i8_v8i16 |
| 302044071U, // UADDV_VPZ_B |
| 302044071U, // UADDV_VPZ_D |
| 302044071U, // UADDV_VPZ_H |
| 302044071U, // UADDV_VPZ_S |
| 2218303990U, // UADDWv16i8_v8i16 |
| 2216735948U, // UADDWv2i32_v2i64 |
| 70300876U, // UADDWv4i16_v4i32 |
| 2216731126U, // UADDWv4i32_v2i64 |
| 70296054U, // UADDWv8i16_v4i32 |
| 2218308812U, // UADDWv8i8_v8i16 |
| 100716199U, // UBFMWri |
| 100716199U, // UBFMXri |
| 100714764U, // UCVTFSWDri |
| 100714764U, // UCVTFSWHri |
| 100714764U, // UCVTFSWSri |
| 100714764U, // UCVTFSXDri |
| 100714764U, // UCVTFSXHri |
| 100714764U, // UCVTFSXSri |
| 2248198412U, // UCVTFUWDri |
| 2248198412U, // UCVTFUWHri |
| 2248198412U, // UCVTFUWSri |
| 2248198412U, // UCVTFUXDri |
| 2248198412U, // UCVTFUXHri |
| 2248198412U, // UCVTFUXSri |
| 18700U, // UCVTF_ZPmZ_DtoD |
| 2181589260U, // UCVTF_ZPmZ_DtoH |
| 35084U, // UCVTF_ZPmZ_DtoS |
| 2181589260U, // UCVTF_ZPmZ_HtoH |
| 18700U, // UCVTF_ZPmZ_StoD |
| 2181589260U, // UCVTF_ZPmZ_StoH |
| 35084U, // UCVTF_ZPmZ_StoS |
| 100714764U, // UCVTFd |
| 100714764U, // UCVTFh |
| 100714764U, // UCVTFs |
| 2248198412U, // UCVTFv1i16 |
| 2248198412U, // UCVTFv1i32 |
| 2248198412U, // UCVTFv1i64 |
| 68725004U, // UCVTFv2f32 |
| 2216732940U, // UCVTFv2f64 |
| 2216208652U, // UCVTFv2i32_shift |
| 2216732940U, // UCVTFv2i64_shift |
| 69773580U, // UCVTFv4f16 |
| 2217781516U, // UCVTFv4f32 |
| 69773580U, // UCVTFv4i16_shift |
| 70297868U, // UCVTFv4i32_shift |
| 70822156U, // UCVTFv8f16 |
| 2218305804U, // UCVTFv8i16_shift |
| 302010801U, // UDIVR_ZPmZ_D |
| 302027185U, // UDIVR_ZPmZ_S |
| 100717509U, // UDIVWr |
| 100717509U, // UDIVXr |
| 302011333U, // UDIV_ZPmZ_D |
| 302027717U, // UDIV_ZPmZ_S |
| 3422573363U, // UDOT_ZZZI_D |
| 3456144179U, // UDOT_ZZZI_S |
| 3422573363U, // UDOT_ZZZ_D |
| 3456144179U, // UDOT_ZZZ_S |
| 137425715U, // UDOTlanev16i8 |
| 2283336499U, // UDOTlanev8i8 |
| 137425715U, // UDOTv16i8 |
| 2283336499U, // UDOTv8i8 |
| 68200456U, // UHADDv16i8 |
| 2216208392U, // UHADDv2i32 |
| 69773320U, // UHADDv4i16 |
| 70297608U, // UHADDv4i32 |
| 2218305544U, // UHADDv8i16 |
| 2218829832U, // UHADDv8i8 |
| 68200110U, // UHSUBv16i8 |
| 2216208046U, // UHSUBv2i32 |
| 69772974U, // UHSUBv4i16 |
| 70297262U, // UHSUBv4i32 |
| 2218305198U, // UHSUBv8i16 |
| 2218829486U, // UHSUBv8i8 |
| 100715882U, // UMADDLrrr |
| 68202624U, // UMAXPv16i8 |
| 2216210560U, // UMAXPv2i32 |
| 69775488U, // UMAXPv4i16 |
| 70299776U, // UMAXPv4i32 |
| 2218307712U, // UMAXPv8i16 |
| 2218832000U, // UMAXPv8i8 |
| 302044207U, // UMAXV_VPZ_B |
| 302044207U, // UMAXV_VPZ_D |
| 302044207U, // UMAXV_VPZ_H |
| 302044207U, // UMAXV_VPZ_S |
| 67163183U, // UMAXVv16i8v |
| 67163183U, // UMAXVv4i16v |
| 2214646831U, // UMAXVv4i32v |
| 67163183U, // UMAXVv8i16v |
| 2214646831U, // UMAXVv8i8v |
| 167785831U, // UMAX_ZI_B |
| 201348455U, // UMAX_ZI_D |
| 239629671U, // UMAX_ZI_H |
| 268473703U, // UMAX_ZI_S |
| 302003559U, // UMAX_ZPmZ_B |
| 302011751U, // UMAX_ZPmZ_D |
| 2186311015U, // UMAX_ZPmZ_H |
| 302028135U, // UMAX_ZPmZ_S |
| 68203879U, // UMAXv16i8 |
| 2216211815U, // UMAXv2i32 |
| 69776743U, // UMAXv4i16 |
| 70301031U, // UMAXv4i32 |
| 2218308967U, // UMAXv8i16 |
| 2218833255U, // UMAXv8i8 |
| 68202548U, // UMINPv16i8 |
| 2216210484U, // UMINPv2i32 |
| 69775412U, // UMINPv4i16 |
| 70299700U, // UMINPv4i32 |
| 2218307636U, // UMINPv8i16 |
| 2218831924U, // UMINPv8i8 |
| 302044155U, // UMINV_VPZ_B |
| 302044155U, // UMINV_VPZ_D |
| 302044155U, // UMINV_VPZ_H |
| 302044155U, // UMINV_VPZ_S |
| 67163131U, // UMINVv16i8v |
| 67163131U, // UMINVv4i16v |
| 2214646779U, // UMINVv4i32v |
| 67163131U, // UMINVv8i16v |
| 2214646779U, // UMINVv8i8v |
| 167784184U, // UMIN_ZI_B |
| 201346808U, // UMIN_ZI_D |
| 239628024U, // UMIN_ZI_H |
| 268472056U, // UMIN_ZI_S |
| 302001912U, // UMIN_ZPmZ_B |
| 302010104U, // UMIN_ZPmZ_D |
| 2186309368U, // UMIN_ZPmZ_H |
| 302026488U, // UMIN_ZPmZ_S |
| 68202232U, // UMINv16i8 |
| 2216210168U, // UMINv2i32 |
| 69775096U, // UMINv4i16 |
| 70299384U, // UMINv4i32 |
| 2218307320U, // UMINv8i16 |
| 2218831608U, // UMINv8i8 |
| 137945277U, // UMLALv16i8_v8i16 |
| 2283859145U, // UMLALv2i32_indexed |
| 2283859145U, // UMLALv2i32_v2i64 |
| 137424073U, // UMLALv4i16_indexed |
| 137424073U, // UMLALv4i16_v4i32 |
| 136372413U, // UMLALv4i32_indexed |
| 136372413U, // UMLALv4i32_v2i64 |
| 2284904637U, // UMLALv8i16_indexed |
| 2284904637U, // UMLALv8i16_v4i32 |
| 2285432009U, // UMLALv8i8_v8i16 |
| 137945401U, // UMLSLv16i8_v8i16 |
| 2283859524U, // UMLSLv2i32_indexed |
| 2283859524U, // UMLSLv2i32_v2i64 |
| 137424452U, // UMLSLv4i16_indexed |
| 137424452U, // UMLSLv4i16_v4i32 |
| 136372537U, // UMLSLv4i32_indexed |
| 136372537U, // UMLSLv4i32_v2i64 |
| 2284904761U, // UMLSLv8i16_indexed |
| 2284904761U, // UMLSLv8i16_v4i32 |
| 2285432388U, // UMLSLv8i8_v8i16 |
| 67163157U, // UMOVvi16 |
| 2214646805U, // UMOVvi32 |
| 67163157U, // UMOVvi64 |
| 2214646805U, // UMOVvi8 |
| 100715830U, // UMSUBLrrr |
| 302000887U, // UMULH_ZPmZ_B |
| 302009079U, // UMULH_ZPmZ_D |
| 2186308343U, // UMULH_ZPmZ_H |
| 302025463U, // UMULH_ZPmZ_S |
| 100715255U, // UMULHrr |
| 70820127U, // UMULLv16i8_v8i16 |
| 2216734188U, // UMULLv2i32_indexed |
| 2216734188U, // UMULLv2i32_v2i64 |
| 70299116U, // UMULLv4i16_indexed |
| 70299116U, // UMULLv4i16_v4i32 |
| 69247263U, // UMULLv4i32_indexed |
| 69247263U, // UMULLv4i32_v2i64 |
| 2217779487U, // UMULLv8i16_indexed |
| 2217779487U, // UMULLv8i16_v4i32 |
| 2218307052U, // UMULLv8i8_v8i16 |
| 167782439U, // UQADD_ZI_B |
| 201345063U, // UQADD_ZI_D |
| 239626279U, // UQADD_ZI_H |
| 268470311U, // UQADD_ZI_S |
| 167782439U, // UQADD_ZZZ_B |
| 201345063U, // UQADD_ZZZ_D |
| 2387109927U, // UQADD_ZZZ_H |
| 268470311U, // UQADD_ZZZ_S |
| 68200487U, // UQADDv16i8 |
| 100714535U, // UQADDv1i16 |
| 100714535U, // UQADDv1i32 |
| 100714535U, // UQADDv1i64 |
| 100714535U, // UQADDv1i8 |
| 2216208423U, // UQADDv2i32 |
| 2216732711U, // UQADDv2i64 |
| 69773351U, // UQADDv4i16 |
| 70297639U, // UQADDv4i32 |
| 2218305575U, // UQADDv8i16 |
| 2218829863U, // UQADDv8i8 |
| 536921173U, // UQDECB_WPiI |
| 536921173U, // UQDECB_XPiI |
| 536922053U, // UQDECD_WPiI |
| 536922053U, // UQDECD_XPiI |
| 536889285U, // UQDECD_ZPiI |
| 536922637U, // UQDECH_WPiI |
| 536922637U, // UQDECH_XPiI |
| 6842893U, // UQDECH_ZPiI |
| 2315308989U, // UQDECP_WP_B |
| 2348863421U, // UQDECP_WP_D |
| 2717962173U, // UQDECP_WP_H |
| 2415972285U, // UQDECP_WP_S |
| 2315308989U, // UQDECP_XP_B |
| 2348863421U, // UQDECP_XP_D |
| 2717962173U, // UQDECP_XP_H |
| 2415972285U, // UQDECP_XP_S |
| 2147504061U, // UQDECP_ZP_D |
| 604532669U, // UQDECP_ZP_H |
| 2147520445U, // UQDECP_ZP_S |
| 536925357U, // UQDECW_WPiI |
| 536925357U, // UQDECW_XPiI |
| 536908973U, // UQDECW_ZPiI |
| 536921189U, // UQINCB_WPiI |
| 536921189U, // UQINCB_XPiI |
| 536922069U, // UQINCD_WPiI |
| 536922069U, // UQINCD_XPiI |
| 536889301U, // UQINCD_ZPiI |
| 536922653U, // UQINCH_WPiI |
| 536922653U, // UQINCH_XPiI |
| 6842909U, // UQINCH_ZPiI |
| 2315309005U, // UQINCP_WP_B |
| 2348863437U, // UQINCP_WP_D |
| 2717962189U, // UQINCP_WP_H |
| 2415972301U, // UQINCP_WP_S |
| 2315309005U, // UQINCP_XP_B |
| 2348863437U, // UQINCP_XP_D |
| 2717962189U, // UQINCP_XP_H |
| 2415972301U, // UQINCP_XP_S |
| 2147504077U, // UQINCP_ZP_D |
| 604532685U, // UQINCP_ZP_H |
| 2147520461U, // UQINCP_ZP_S |
| 536925373U, // UQINCW_WPiI |
| 536925373U, // UQINCW_XPiI |
| 536908989U, // UQINCW_ZPiI |
| 68201893U, // UQRSHLv16i8 |
| 100715941U, // UQRSHLv1i16 |
| 100715941U, // UQRSHLv1i32 |
| 100715941U, // UQRSHLv1i64 |
| 100715941U, // UQRSHLv1i8 |
| 2216209829U, // UQRSHLv2i32 |
| 2216734117U, // UQRSHLv2i64 |
| 69774757U, // UQRSHLv4i16 |
| 70299045U, // UQRSHLv4i32 |
| 2218306981U, // UQRSHLv8i16 |
| 2218831269U, // UQRSHLv8i8 |
| 100716328U, // UQRSHRNb |
| 100716328U, // UQRSHRNh |
| 100716328U, // UQRSHRNs |
| 2282807671U, // UQRSHRNv16i8_shift |
| 2216210216U, // UQRSHRNv2i32_shift |
| 69775144U, // UQRSHRNv4i16_shift |
| 2284904823U, // UQRSHRNv4i32_shift |
| 137945463U, // UQRSHRNv8i16_shift |
| 2218831656U, // UQRSHRNv8i8_shift |
| 100715926U, // UQSHLb |
| 100715926U, // UQSHLd |
| 100715926U, // UQSHLh |
| 100715926U, // UQSHLs |
| 68201878U, // UQSHLv16i8 |
| 68201878U, // UQSHLv16i8_shift |
| 100715926U, // UQSHLv1i16 |
| 100715926U, // UQSHLv1i32 |
| 100715926U, // UQSHLv1i64 |
| 100715926U, // UQSHLv1i8 |
| 2216209814U, // UQSHLv2i32 |
| 2216209814U, // UQSHLv2i32_shift |
| 2216734102U, // UQSHLv2i64 |
| 2216734102U, // UQSHLv2i64_shift |
| 69774742U, // UQSHLv4i16 |
| 69774742U, // UQSHLv4i16_shift |
| 70299030U, // UQSHLv4i32 |
| 70299030U, // UQSHLv4i32_shift |
| 2218306966U, // UQSHLv8i16 |
| 2218306966U, // UQSHLv8i16_shift |
| 2218831254U, // UQSHLv8i8 |
| 2218831254U, // UQSHLv8i8_shift |
| 100716311U, // UQSHRNb |
| 100716311U, // UQSHRNh |
| 100716311U, // UQSHRNs |
| 2282807652U, // UQSHRNv16i8_shift |
| 2216210199U, // UQSHRNv2i32_shift |
| 69775127U, // UQSHRNv4i16_shift |
| 2284904804U, // UQSHRNv4i32_shift |
| 137945444U, // UQSHRNv8i16_shift |
| 2218831639U, // UQSHRNv8i8_shift |
| 167782091U, // UQSUB_ZI_B |
| 201344715U, // UQSUB_ZI_D |
| 239625931U, // UQSUB_ZI_H |
| 268469963U, // UQSUB_ZI_S |
| 167782091U, // UQSUB_ZZZ_B |
| 201344715U, // UQSUB_ZZZ_D |
| 2387109579U, // UQSUB_ZZZ_H |
| 268469963U, // UQSUB_ZZZ_S |
| 68200139U, // UQSUBv16i8 |
| 100714187U, // UQSUBv1i16 |
| 100714187U, // UQSUBv1i32 |
| 100714187U, // UQSUBv1i64 |
| 100714187U, // UQSUBv1i8 |
| 2216208075U, // UQSUBv2i32 |
| 2216732363U, // UQSUBv2i64 |
| 69773003U, // UQSUBv4i16 |
| 70297291U, // UQSUBv4i32 |
| 2218305227U, // UQSUBv8i16 |
| 2218829515U, // UQSUBv8i8 |
| 135324055U, // UQXTNv16i8 |
| 2248200012U, // UQXTNv1i16 |
| 2248200012U, // UQXTNv1i32 |
| 2248200012U, // UQXTNv1i8 |
| 2216210252U, // UQXTNv2i32 |
| 2217258828U, // UQXTNv4i16 |
| 2284904855U, // UQXTNv4i32 |
| 2285429143U, // UQXTNv8i16 |
| 71348044U, // UQXTNv8i8 |
| 68724924U, // URECPEv2i32 |
| 2217781436U, // URECPEv4i32 |
| 68200441U, // URHADDv16i8 |
| 2216208377U, // URHADDv2i32 |
| 69773305U, // URHADDv4i16 |
| 70297593U, // URHADDv4i32 |
| 2218305529U, // URHADDv8i16 |
| 2218829817U, // URHADDv8i8 |
| 68201908U, // URSHLv16i8 |
| 100715956U, // URSHLv1i64 |
| 2216209844U, // URSHLv2i32 |
| 2216734132U, // URSHLv2i64 |
| 69774772U, // URSHLv4i16 |
| 70299060U, // URSHLv4i32 |
| 2218306996U, // URSHLv8i16 |
| 2218831284U, // URSHLv8i8 |
| 100716801U, // URSHRd |
| 68202753U, // URSHRv16i8_shift |
| 2216210689U, // URSHRv2i32_shift |
| 2216734977U, // URSHRv2i64_shift |
| 69775617U, // URSHRv4i16_shift |
| 70299905U, // URSHRv4i32_shift |
| 2218307841U, // URSHRv8i16_shift |
| 2218832129U, // URSHRv8i8_shift |
| 68724970U, // URSQRTEv2i32 |
| 2217781482U, // URSQRTEv4i32 |
| 369189641U, // URSRAd |
| 135324425U, // URSRAv16i8_shift |
| 2283332361U, // URSRAv2i32_shift |
| 2283856649U, // URSRAv2i64_shift |
| 136897289U, // URSRAv4i16_shift |
| 137421577U, // URSRAv4i32_shift |
| 2285429513U, // URSRAv8i16_shift |
| 2285953801U, // URSRAv8i8_shift |
| 70820093U, // USHLLv16i8_shift |
| 2216734158U, // USHLLv2i32_shift |
| 70299086U, // USHLLv4i16_shift |
| 69247229U, // USHLLv4i32_shift |
| 2217779453U, // USHLLv8i16_shift |
| 2218307022U, // USHLLv8i8_shift |
| 68201921U, // USHLv16i8 |
| 100715969U, // USHLv1i64 |
| 2216209857U, // USHLv2i32 |
| 2216734145U, // USHLv2i64 |
| 69774785U, // USHLv4i16 |
| 70299073U, // USHLv4i32 |
| 2218307009U, // USHLv8i16 |
| 2218831297U, // USHLv8i8 |
| 100716814U, // USHRd |
| 68202766U, // USHRv16i8_shift |
| 2216210702U, // USHRv2i32_shift |
| 2216734990U, // USHRv2i64_shift |
| 69775630U, // USHRv4i16_shift |
| 70299918U, // USHRv4i32_shift |
| 2218307854U, // USHRv8i16_shift |
| 2218832142U, // USHRv8i8_shift |
| 135325726U, // USQADDv16i8 |
| 2516674590U, // USQADDv1i16 |
| 2516674590U, // USQADDv1i32 |
| 2516674590U, // USQADDv1i64 |
| 2516674590U, // USQADDv1i8 |
| 135850014U, // USQADDv2i32 |
| 2283857950U, // USQADDv2i64 |
| 136898590U, // USQADDv4i16 |
| 2284906526U, // USQADDv4i32 |
| 137947166U, // USQADDv8i16 |
| 2285955102U, // USQADDv8i8 |
| 369189654U, // USRAd |
| 135324438U, // USRAv16i8_shift |
| 2283332374U, // USRAv2i32_shift |
| 2283856662U, // USRAv2i64_shift |
| 136897302U, // USRAv4i16_shift |
| 137421590U, // USRAv4i32_shift |
| 2285429526U, // USRAv8i16_shift |
| 2285953814U, // USRAv8i8_shift |
| 70820045U, // USUBLv16i8_v8i16 |
| 2216734021U, // USUBLv2i32_v2i64 |
| 70298949U, // USUBLv4i16_v4i32 |
| 69247181U, // USUBLv4i32_v2i64 |
| 2217779405U, // USUBLv8i16_v4i32 |
| 2218306885U, // USUBLv8i8_v8i16 |
| 2218303974U, // USUBWv16i8_v8i16 |
| 2216735893U, // USUBWv2i32_v2i64 |
| 70300821U, // USUBWv4i16_v4i32 |
| 2216731110U, // USUBWv4i32_v2i64 |
| 70296038U, // USUBWv8i16_v4i32 |
| 2218308757U, // USUBWv8i8_v8i16 |
| 2415938659U, // UUNPKHI_ZZ_D |
| 27290723U, // UUNPKHI_ZZ_H |
| 2717944931U, // UUNPKHI_ZZ_S |
| 2415939479U, // UUNPKLO_ZZ_D |
| 27291543U, // UUNPKLO_ZZ_H |
| 2717945751U, // UUNPKLO_ZZ_S |
| 18075U, // UXTB_ZPmZ_D |
| 2181588635U, // UXTB_ZPmZ_H |
| 34459U, // UXTB_ZPmZ_S |
| 19500U, // UXTH_ZPmZ_D |
| 35884U, // UXTH_ZPmZ_S |
| 21821U, // UXTW_ZPmZ_D |
| 167780401U, // UZP1_PPP_B |
| 201343025U, // UZP1_PPP_D |
| 2387107889U, // UZP1_PPP_H |
| 268468273U, // UZP1_PPP_S |
| 167780401U, // UZP1_ZZZ_B |
| 201343025U, // UZP1_ZZZ_D |
| 2387107889U, // UZP1_ZZZ_H |
| 268468273U, // UZP1_ZZZ_S |
| 68198449U, // UZP1v16i8 |
| 2216206385U, // UZP1v2i32 |
| 2216730673U, // UZP1v2i64 |
| 69771313U, // UZP1v4i16 |
| 70295601U, // UZP1v4i32 |
| 2218303537U, // UZP1v8i16 |
| 2218827825U, // UZP1v8i8 |
| 167780812U, // UZP2_PPP_B |
| 201343436U, // UZP2_PPP_D |
| 2387108300U, // UZP2_PPP_H |
| 268468684U, // UZP2_PPP_S |
| 167780812U, // UZP2_ZZZ_B |
| 201343436U, // UZP2_ZZZ_D |
| 2387108300U, // UZP2_ZZZ_H |
| 268468684U, // UZP2_ZZZ_S |
| 68198860U, // UZP2v16i8 |
| 2216206796U, // UZP2v2i32 |
| 2216731084U, // UZP2v2i64 |
| 69771724U, // UZP2v4i16 |
| 70296012U, // UZP2v4i32 |
| 2218303948U, // UZP2v8i16 |
| 2218828236U, // UZP2v8i8 |
| 100673670U, // WHILELE_PWW_B |
| 100681862U, // WHILELE_PWW_D |
| 242772102U, // WHILELE_PWW_H |
| 100698246U, // WHILELE_PWW_S |
| 100673670U, // WHILELE_PXX_B |
| 100681862U, // WHILELE_PXX_D |
| 242772102U, // WHILELE_PXX_H |
| 100698246U, // WHILELE_PXX_S |
| 100675452U, // WHILELO_PWW_B |
| 100683644U, // WHILELO_PWW_D |
| 242773884U, // WHILELO_PWW_H |
| 100700028U, // WHILELO_PWW_S |
| 100675452U, // WHILELO_PXX_B |
| 100683644U, // WHILELO_PXX_D |
| 242773884U, // WHILELO_PXX_H |
| 100700028U, // WHILELO_PXX_S |
| 100676169U, // WHILELS_PWW_B |
| 100684361U, // WHILELS_PWW_D |
| 242774601U, // WHILELS_PWW_H |
| 100700745U, // WHILELS_PWW_S |
| 100676169U, // WHILELS_PXX_B |
| 100684361U, // WHILELS_PXX_D |
| 242774601U, // WHILELS_PXX_H |
| 100700745U, // WHILELS_PXX_S |
| 100676358U, // WHILELT_PWW_B |
| 100684550U, // WHILELT_PWW_D |
| 242774790U, // WHILELT_PWW_H |
| 100700934U, // WHILELT_PWW_S |
| 100676358U, // WHILELT_PXX_B |
| 100684550U, // WHILELT_PXX_D |
| 242774790U, // WHILELT_PXX_H |
| 100700934U, // WHILELT_PXX_S |
| 6303987U, // WRFFR |
| 2216734934U, // XAR |
| 6342582U, // XPACD |
| 6343754U, // XPACI |
| 5905U, // XPACLRI |
| 135324049U, // XTNv16i8 |
| 2216210247U, // XTNv2i32 |
| 2217258823U, // XTNv4i16 |
| 2284904849U, // XTNv4i32 |
| 2285429137U, // XTNv8i16 |
| 71348039U, // XTNv8i8 |
| 167780395U, // ZIP1_PPP_B |
| 201343019U, // ZIP1_PPP_D |
| 2387107883U, // ZIP1_PPP_H |
| 268468267U, // ZIP1_PPP_S |
| 167780395U, // ZIP1_ZZZ_B |
| 201343019U, // ZIP1_ZZZ_D |
| 2387107883U, // ZIP1_ZZZ_H |
| 268468267U, // ZIP1_ZZZ_S |
| 68198443U, // ZIP1v16i8 |
| 2216206379U, // ZIP1v2i32 |
| 2216730667U, // ZIP1v2i64 |
| 69771307U, // ZIP1v4i16 |
| 70295595U, // ZIP1v4i32 |
| 2218303531U, // ZIP1v8i16 |
| 2218827819U, // ZIP1v8i8 |
| 167780806U, // ZIP2_PPP_B |
| 201343430U, // ZIP2_PPP_D |
| 2387108294U, // ZIP2_PPP_H |
| 268468678U, // ZIP2_PPP_S |
| 167780806U, // ZIP2_ZZZ_B |
| 201343430U, // ZIP2_ZZZ_D |
| 2387108294U, // ZIP2_ZZZ_H |
| 268468678U, // ZIP2_ZZZ_S |
| 68198854U, // ZIP2v16i8 |
| 2216206790U, // ZIP2v2i32 |
| 2216731078U, // ZIP2v2i64 |
| 69771718U, // ZIP2v4i16 |
| 70296006U, // ZIP2v4i32 |
| 2218303942U, // ZIP2v8i16 |
| 2218828230U, // ZIP2v8i8 |
| 302003021U, // anonymous_1349 |
| }; |
| |
| static const uint32_t OpInfo1[] = { |
| 0U, // PHI |
| 0U, // INLINEASM |
| 0U, // CFI_INSTRUCTION |
| 0U, // EH_LABEL |
| 0U, // GC_LABEL |
| 0U, // ANNOTATION_LABEL |
| 0U, // KILL |
| 0U, // EXTRACT_SUBREG |
| 0U, // INSERT_SUBREG |
| 0U, // IMPLICIT_DEF |
| 0U, // SUBREG_TO_REG |
| 0U, // COPY_TO_REGCLASS |
| 0U, // DBG_VALUE |
| 0U, // DBG_LABEL |
| 0U, // REG_SEQUENCE |
| 0U, // COPY |
| 0U, // BUNDLE |
| 0U, // LIFETIME_START |
| 0U, // LIFETIME_END |
| 0U, // STACKMAP |
| 0U, // FENTRY_CALL |
| 0U, // PATCHPOINT |
| 0U, // LOAD_STACK_GUARD |
| 0U, // STATEPOINT |
| 0U, // LOCAL_ESCAPE |
| 0U, // FAULTING_OP |
| 0U, // PATCHABLE_OP |
| 0U, // PATCHABLE_FUNCTION_ENTER |
| 0U, // PATCHABLE_RET |
| 0U, // PATCHABLE_FUNCTION_EXIT |
| 0U, // PATCHABLE_TAIL_CALL |
| 0U, // PATCHABLE_EVENT_CALL |
| 0U, // PATCHABLE_TYPED_EVENT_CALL |
| 0U, // ICALL_BRANCH_FUNNEL |
| 0U, // G_ADD |
| 0U, // G_SUB |
| 0U, // G_MUL |
| 0U, // G_SDIV |
| 0U, // G_UDIV |
| 0U, // G_SREM |
| 0U, // G_UREM |
| 0U, // G_AND |
| 0U, // G_OR |
| 0U, // G_XOR |
| 0U, // G_IMPLICIT_DEF |
| 0U, // G_PHI |
| 0U, // G_FRAME_INDEX |
| 0U, // G_GLOBAL_VALUE |
| 0U, // G_EXTRACT |
| 0U, // G_UNMERGE_VALUES |
| 0U, // G_INSERT |
| 0U, // G_MERGE_VALUES |
| 0U, // G_PTRTOINT |
| 0U, // G_INTTOPTR |
| 0U, // G_BITCAST |
| 0U, // G_LOAD |
| 0U, // G_SEXTLOAD |
| 0U, // G_ZEXTLOAD |
| 0U, // G_STORE |
| 0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS |
| 0U, // G_ATOMIC_CMPXCHG |
| 0U, // G_ATOMICRMW_XCHG |
| 0U, // G_ATOMICRMW_ADD |
| 0U, // G_ATOMICRMW_SUB |
| 0U, // G_ATOMICRMW_AND |
| 0U, // G_ATOMICRMW_NAND |
| 0U, // G_ATOMICRMW_OR |
| 0U, // G_ATOMICRMW_XOR |
| 0U, // G_ATOMICRMW_MAX |
| 0U, // G_ATOMICRMW_MIN |
| 0U, // G_ATOMICRMW_UMAX |
| 0U, // G_ATOMICRMW_UMIN |
| 0U, // G_BRCOND |
| 0U, // G_BRINDIRECT |
| 0U, // G_INTRINSIC |
| 0U, // G_INTRINSIC_W_SIDE_EFFECTS |
| 0U, // G_ANYEXT |
| 0U, // G_TRUNC |
| 0U, // G_CONSTANT |
| 0U, // G_FCONSTANT |
| 0U, // G_VASTART |
| 0U, // G_VAARG |
| 0U, // G_SEXT |
| 0U, // G_ZEXT |
| 0U, // G_SHL |
| 0U, // G_LSHR |
| 0U, // G_ASHR |
| 0U, // G_ICMP |
| 0U, // G_FCMP |
| 0U, // G_SELECT |
| 0U, // G_UADDE |
| 0U, // G_USUBE |
| 0U, // G_SADDO |
| 0U, // G_SSUBO |
| 0U, // G_UMULO |
| 0U, // G_SMULO |
| 0U, // G_UMULH |
| 0U, // G_SMULH |
| 0U, // G_FADD |
| 0U, // G_FSUB |
| 0U, // G_FMUL |
| 0U, // G_FMA |
| 0U, // G_FDIV |
| 0U, // G_FREM |
| 0U, // G_FPOW |
| 0U, // G_FEXP |
| 0U, // G_FEXP2 |
| 0U, // G_FLOG |
| 0U, // G_FLOG2 |
| 0U, // G_FNEG |
| 0U, // G_FPEXT |
| 0U, // G_FPTRUNC |
| 0U, // G_FPTOSI |
| 0U, // G_FPTOUI |
| 0U, // G_SITOFP |
| 0U, // G_UITOFP |
| 0U, // G_FABS |
| 0U, // G_GEP |
| 0U, // G_PTR_MASK |
| 0U, // G_BR |
| 0U, // G_INSERT_VECTOR_ELT |
| 0U, // G_EXTRACT_VECTOR_ELT |
| 0U, // G_SHUFFLE_VECTOR |
| 0U, // G_BSWAP |
| 0U, // G_ADDRSPACE_CAST |
| 0U, // G_BLOCK_ADDR |
| 0U, // ABS_ZPmZ_B |
| 64U, // ABS_ZPmZ_D |
| 128U, // ABS_ZPmZ_H |
| 192U, // ABS_ZPmZ_S |
| 1U, // ABSv16i8 |
| 1U, // ABSv1i64 |
| 2U, // ABSv2i32 |
| 2U, // ABSv2i64 |
| 3U, // ABSv4i16 |
| 3U, // ABSv4i32 |
| 4U, // ABSv8i16 |
| 4U, // ABSv8i8 |
| 261U, // ADCSWr |
| 261U, // ADCSXr |
| 261U, // ADCWr |
| 261U, // ADCXr |
| 8517U, // ADDHNv2i64_v2i32 |
| 8581U, // ADDHNv2i64_v4i32 |
| 16710U, // ADDHNv4i32_v4i16 |
| 16774U, // ADDHNv4i32_v8i16 |
| 24966U, // ADDHNv8i16_v16i8 |
| 24902U, // ADDHNv8i16_v8i8 |
| 261U, // ADDPL_XXI |
| 33095U, // ADDPv16i8 |
| 41287U, // ADDPv2i32 |
| 8517U, // ADDPv2i64 |
| 2U, // ADDPv2i64p |
| 49480U, // ADDPv4i16 |
| 16710U, // ADDPv4i32 |
| 24902U, // ADDPv8i16 |
| 57672U, // ADDPv8i8 |
| 453U, // ADDSWri |
| 0U, // ADDSWrr |
| 517U, // ADDSWrs |
| 581U, // ADDSWrx |
| 453U, // ADDSXri |
| 0U, // ADDSXrr |
| 517U, // ADDSXrs |
| 581U, // ADDSXrx |
| 65797U, // ADDSXrx64 |
| 261U, // ADDVL_XXI |
| 1U, // ADDVv16i8v |
| 3U, // ADDVv4i16v |
| 3U, // ADDVv4i32v |
| 4U, // ADDVv8i16v |
| 4U, // ADDVv8i8v |
| 453U, // ADDWri |
| 0U, // ADDWrr |
| 517U, // ADDWrs |
| 581U, // ADDWrx |
| 453U, // ADDXri |
| 0U, // ADDXrr |
| 517U, // ADDXrs |
| 581U, // ADDXrx |
| 65797U, // ADDXrx64 |
| 645U, // ADD_ZI_B |
| 709U, // ADD_ZI_D |
| 9U, // ADD_ZI_H |
| 773U, // ADD_ZI_S |
| 74560U, // ADD_ZPmZ_B |
| 598912U, // ADD_ZPmZ_D |
| 1131465U, // ADD_ZPmZ_H |
| 1647616U, // ADD_ZPmZ_S |
| 837U, // ADD_ZZZ_B |
| 901U, // ADD_ZZZ_D |
| 137U, // ADD_ZZZ_H |
| 1029U, // ADD_ZZZ_S |
| 0U, // ADDlowTLS |
| 33095U, // ADDv16i8 |
| 261U, // ADDv1i64 |
| 41287U, // ADDv2i32 |
| 8517U, // ADDv2i64 |
| 49480U, // ADDv4i16 |
| 16710U, // ADDv4i32 |
| 24902U, // ADDv8i16 |
| 57672U, // ADDv8i8 |
| 0U, // ADJCALLSTACKDOWN |
| 0U, // ADJCALLSTACKUP |
| 1U, // ADR |
| 0U, // ADRP |
| 1093U, // ADR_LSL_ZZZ_D_0 |
| 1157U, // ADR_LSL_ZZZ_D_1 |
| 1221U, // ADR_LSL_ZZZ_D_2 |
| 1285U, // ADR_LSL_ZZZ_D_3 |
| 1349U, // ADR_LSL_ZZZ_S_0 |
| 1413U, // ADR_LSL_ZZZ_S_1 |
| 1477U, // ADR_LSL_ZZZ_S_2 |
| 1541U, // ADR_LSL_ZZZ_S_3 |
| 1605U, // ADR_SXTW_ZZZ_D_0 |
| 1669U, // ADR_SXTW_ZZZ_D_1 |
| 1733U, // ADR_SXTW_ZZZ_D_2 |
| 1797U, // ADR_SXTW_ZZZ_D_3 |
| 1861U, // ADR_UXTW_ZZZ_D_0 |
| 1925U, // ADR_UXTW_ZZZ_D_1 |
| 1989U, // ADR_UXTW_ZZZ_D_2 |
| 2053U, // ADR_UXTW_ZZZ_D_3 |
| 1U, // AESDrr |
| 1U, // AESErr |
| 1U, // AESIMCrr |
| 0U, // AESIMCrrTied |
| 1U, // AESMCrr |
| 0U, // AESMCrrTied |
| 2117U, // ANDSWri |
| 0U, // ANDSWrr |
| 517U, // ANDSWrs |
| 2181U, // ANDSXri |
| 0U, // ANDSXrr |
| 517U, // ANDSXrs |
| 74570U, // ANDS_PPzPP |
| 837U, // ANDV_VPZ_B |
| 901U, // ANDV_VPZ_D |
| 2245U, // ANDV_VPZ_H |
| 1029U, // ANDV_VPZ_S |
| 2117U, // ANDWri |
| 0U, // ANDWrr |
| 517U, // ANDWrs |
| 2181U, // ANDXri |
| 0U, // ANDXrr |
| 517U, // ANDXrs |
| 74570U, // AND_PPzPP |
| 2181U, // AND_ZI |
| 74560U, // AND_ZPmZ_B |
| 598912U, // AND_ZPmZ_D |
| 1131465U, // AND_ZPmZ_H |
| 1647616U, // AND_ZPmZ_S |
| 901U, // AND_ZZZ |
| 33095U, // ANDv16i8 |
| 57672U, // ANDv8i8 |
| 2171712U, // ASRD_ZPmI_B |
| 2171776U, // ASRD_ZPmI_D |
| 91081U, // ASRD_ZPmI_H |
| 2171904U, // ASRD_ZPmI_S |
| 74560U, // ASRR_ZPmZ_B |
| 598912U, // ASRR_ZPmZ_D |
| 1131465U, // ASRR_ZPmZ_H |
| 1647616U, // ASRR_ZPmZ_S |
| 261U, // ASRVWr |
| 261U, // ASRVXr |
| 598848U, // ASR_WIDE_ZPmZ_B |
| 99273U, // ASR_WIDE_ZPmZ_H |
| 599040U, // ASR_WIDE_ZPmZ_S |
| 901U, // ASR_WIDE_ZZZ_B |
| 10U, // ASR_WIDE_ZZZ_H |
| 901U, // ASR_WIDE_ZZZ_S |
| 2171712U, // ASR_ZPmI_B |
| 2171776U, // ASR_ZPmI_D |
| 91081U, // ASR_ZPmI_H |
| 2171904U, // ASR_ZPmI_S |
| 74560U, // ASR_ZPmZ_B |
| 598912U, // ASR_ZPmZ_D |
| 1131465U, // ASR_ZPmZ_H |
| 1647616U, // ASR_ZPmZ_S |
| 261U, // ASR_ZZI_B |
| 261U, // ASR_ZZI_D |
| 11U, // ASR_ZZI_H |
| 261U, // ASR_ZZI_S |
| 1U, // AUTDA |
| 1U, // AUTDB |
| 0U, // AUTDZA |
| 0U, // AUTDZB |
| 1U, // AUTIA |
| 0U, // AUTIA1716 |
| 0U, // AUTIASP |
| 0U, // AUTIAZ |
| 1U, // AUTIB |
| 0U, // AUTIB1716 |
| 0U, // AUTIBSP |
| 0U, // AUTIBZ |
| 0U, // AUTIZA |
| 0U, // AUTIZB |
| 0U, // B |
| 36282695U, // BCAX |
| 3221765U, // BFMWri |
| 3221765U, // BFMXri |
| 0U, // BICSWrr |
| 517U, // BICSWrs |
| 0U, // BICSXrr |
| 517U, // BICSXrs |
| 74570U, // BICS_PPzPP |
| 0U, // BICWrr |
| 517U, // BICWrs |
| 0U, // BICXrr |
| 517U, // BICXrs |
| 74570U, // BIC_PPzPP |
| 74560U, // BIC_ZPmZ_B |
| 598912U, // BIC_ZPmZ_D |
| 1131465U, // BIC_ZPmZ_H |
| 1647616U, // BIC_ZPmZ_S |
| 901U, // BIC_ZZZ |
| 33095U, // BICv16i8 |
| 0U, // BICv2i32 |
| 0U, // BICv4i16 |
| 0U, // BICv4i32 |
| 0U, // BICv8i16 |
| 57672U, // BICv8i8 |
| 33095U, // BIFv16i8 |
| 57672U, // BIFv8i8 |
| 33159U, // BITv16i8 |
| 57736U, // BITv8i8 |
| 0U, // BL |
| 0U, // BLR |
| 1U, // BLRAA |
| 0U, // BLRAAZ |
| 1U, // BLRAB |
| 0U, // BLRABZ |
| 0U, // BR |
| 1U, // BRAA |
| 0U, // BRAAZ |
| 1U, // BRAB |
| 0U, // BRABZ |
| 0U, // BRK |
| 842U, // BRKAS_PPzP |
| 0U, // BRKA_PPmP |
| 842U, // BRKA_PPzP |
| 842U, // BRKBS_PPzP |
| 0U, // BRKB_PPmP |
| 842U, // BRKB_PPzP |
| 74570U, // BRKNS_PPzP |
| 74570U, // BRKN_PPzP |
| 74570U, // BRKPAS_PPzPP |
| 74570U, // BRKPA_PPzPP |
| 74570U, // BRKPBS_PPzPP |
| 74570U, // BRKPB_PPzPP |
| 33159U, // BSLv16i8 |
| 57736U, // BSLv8i8 |
| 0U, // Bcc |
| 117003U, // CASAB |
| 117003U, // CASAH |
| 117003U, // CASALB |
| 117003U, // CASALH |
| 117003U, // CASALW |
| 117003U, // CASALX |
| 117003U, // CASAW |
| 117003U, // CASAX |
| 117003U, // CASB |
| 117003U, // CASH |
| 117003U, // CASLB |
| 117003U, // CASLH |
| 117003U, // CASLW |
| 117003U, // CASLX |
| 0U, // CASPALW |
| 0U, // CASPALX |
| 0U, // CASPAW |
| 0U, // CASPAX |
| 0U, // CASPLW |
| 0U, // CASPLX |
| 0U, // CASPW |
| 0U, // CASPX |
| 117003U, // CASW |
| 117003U, // CASX |
| 0U, // CBNZW |
| 0U, // CBNZX |
| 0U, // CBZW |
| 0U, // CBZX |
| 3744005U, // CCMNWi |
| 3744005U, // CCMNWr |
| 3744005U, // CCMNXi |
| 3744005U, // CCMNXr |
| 3744005U, // CCMPWi |
| 3744005U, // CCMPWr |
| 3744005U, // CCMPXi |
| 3744005U, // CCMPXr |
| 0U, // CFINV |
| 73989U, // CLASTA_RPZ_B |
| 598277U, // CLASTA_RPZ_D |
| 4268293U, // CLASTA_RPZ_H |
| 1646853U, // CLASTA_RPZ_S |
| 73989U, // CLASTA_VPZ_B |
| 598277U, // CLASTA_VPZ_D |
| 4268293U, // CLASTA_VPZ_H |
| 1646853U, // CLASTA_VPZ_S |
| 74565U, // CLASTA_ZPZ_B |
| 598917U, // CLASTA_ZPZ_D |
| 1131465U, // CLASTA_ZPZ_H |
| 1647621U, // CLASTA_ZPZ_S |
| 73989U, // CLASTB_RPZ_B |
| 598277U, // CLASTB_RPZ_D |
| 4268293U, // CLASTB_RPZ_H |
| 1646853U, // CLASTB_RPZ_S |
| 73989U, // CLASTB_VPZ_B |
| 598277U, // CLASTB_VPZ_D |
| 4268293U, // CLASTB_VPZ_H |
| 1646853U, // CLASTB_VPZ_S |
| 74565U, // CLASTB_ZPZ_B |
| 598917U, // CLASTB_ZPZ_D |
| 1131465U, // CLASTB_ZPZ_H |
| 1647621U, // CLASTB_ZPZ_S |
| 0U, // CLREX |
| 1U, // CLSWr |
| 1U, // CLSXr |
| 0U, // CLS_ZPmZ_B |
| 64U, // CLS_ZPmZ_D |
| 128U, // CLS_ZPmZ_H |
| 192U, // CLS_ZPmZ_S |
| 1U, // CLSv16i8 |
| 2U, // CLSv2i32 |
| 3U, // CLSv4i16 |
| 3U, // CLSv4i32 |
| 4U, // CLSv8i16 |
| 4U, // CLSv8i8 |
| 1U, // CLZWr |
| 1U, // CLZXr |
| 0U, // CLZ_ZPmZ_B |
| 64U, // CLZ_ZPmZ_D |
| 128U, // CLZ_ZPmZ_H |
| 192U, // CLZ_ZPmZ_S |
| 1U, // CLZv16i8 |
| 2U, // CLZv2i32 |
| 3U, // CLZv4i16 |
| 3U, // CLZv4i32 |
| 4U, // CLZv8i16 |
| 4U, // CLZv8i8 |
| 33095U, // CMEQv16i8 |
| 12U, // CMEQv16i8rz |
| 261U, // CMEQv1i64 |
| 12U, // CMEQv1i64rz |
| 41287U, // CMEQv2i32 |
| 13U, // CMEQv2i32rz |
| 8517U, // CMEQv2i64 |
| 13U, // CMEQv2i64rz |
| 49480U, // CMEQv4i16 |
| 14U, // CMEQv4i16rz |
| 16710U, // CMEQv4i32 |
| 14U, // CMEQv4i32rz |
| 24902U, // CMEQv8i16 |
| 15U, // CMEQv8i16rz |
| 57672U, // CMEQv8i8 |
| 15U, // CMEQv8i8rz |
| 33095U, // CMGEv16i8 |
| 12U, // CMGEv16i8rz |
| 261U, // CMGEv1i64 |
| 12U, // CMGEv1i64rz |
| 41287U, // CMGEv2i32 |
| 13U, // CMGEv2i32rz |
| 8517U, // CMGEv2i64 |
| 13U, // CMGEv2i64rz |
| 49480U, // CMGEv4i16 |
| 14U, // CMGEv4i16rz |
| 16710U, // CMGEv4i32 |
| 14U, // CMGEv4i32rz |
| 24902U, // CMGEv8i16 |
| 15U, // CMGEv8i16rz |
| 57672U, // CMGEv8i8 |
| 15U, // CMGEv8i8rz |
| 33095U, // CMGTv16i8 |
| 12U, // CMGTv16i8rz |
| 261U, // CMGTv1i64 |
| 12U, // CMGTv1i64rz |
| 41287U, // CMGTv2i32 |
| 13U, // CMGTv2i32rz |
| 8517U, // CMGTv2i64 |
| 13U, // CMGTv2i64rz |
| 49480U, // CMGTv4i16 |
| 14U, // CMGTv4i16rz |
| 16710U, // CMGTv4i32 |
| 14U, // CMGTv4i32rz |
| 24902U, // CMGTv8i16 |
| 15U, // CMGTv8i16rz |
| 57672U, // CMGTv8i8 |
| 15U, // CMGTv8i8rz |
| 33095U, // CMHIv16i8 |
| 261U, // CMHIv1i64 |
| 41287U, // CMHIv2i32 |
| 8517U, // CMHIv2i64 |
| 49480U, // CMHIv4i16 |
| 16710U, // CMHIv4i32 |
| 24902U, // CMHIv8i16 |
| 57672U, // CMHIv8i8 |
| 33095U, // CMHSv16i8 |
| 261U, // CMHSv1i64 |
| 41287U, // CMHSv2i32 |
| 8517U, // CMHSv2i64 |
| 49480U, // CMHSv4i16 |
| 16710U, // CMHSv4i32 |
| 24902U, // CMHSv8i16 |
| 57672U, // CMHSv8i8 |
| 12U, // CMLEv16i8rz |
| 12U, // CMLEv1i64rz |
| 13U, // CMLEv2i32rz |
| 13U, // CMLEv2i64rz |
| 14U, // CMLEv4i16rz |
| 14U, // CMLEv4i32rz |
| 15U, // CMLEv8i16rz |
| 15U, // CMLEv8i8rz |
| 12U, // CMLTv16i8rz |
| 12U, // CMLTv1i64rz |
| 13U, // CMLTv2i32rz |
| 13U, // CMLTv2i64rz |
| 14U, // CMLTv4i16rz |
| 14U, // CMLTv4i32rz |
| 15U, // CMLTv8i16rz |
| 15U, // CMLTv8i8rz |
| 2171722U, // CMPEQ_PPzZI_B |
| 2171786U, // CMPEQ_PPzZI_D |
| 91081U, // CMPEQ_PPzZI_H |
| 2171914U, // CMPEQ_PPzZI_S |
| 74570U, // CMPEQ_PPzZZ_B |
| 598922U, // CMPEQ_PPzZZ_D |
| 1131465U, // CMPEQ_PPzZZ_H |
| 1647626U, // CMPEQ_PPzZZ_S |
| 598858U, // CMPEQ_WIDE_PPzZZ_B |
| 99273U, // CMPEQ_WIDE_PPzZZ_H |
| 599050U, // CMPEQ_WIDE_PPzZZ_S |
| 2171722U, // CMPGE_PPzZI_B |
| 2171786U, // CMPGE_PPzZI_D |
| 91081U, // CMPGE_PPzZI_H |
| 2171914U, // CMPGE_PPzZI_S |
| 74570U, // CMPGE_PPzZZ_B |
| 598922U, // CMPGE_PPzZZ_D |
| 1131465U, // CMPGE_PPzZZ_H |
| 1647626U, // CMPGE_PPzZZ_S |
| 598858U, // CMPGE_WIDE_PPzZZ_B |
| 99273U, // CMPGE_WIDE_PPzZZ_H |
| 599050U, // CMPGE_WIDE_PPzZZ_S |
| 2171722U, // CMPGT_PPzZI_B |
| 2171786U, // CMPGT_PPzZI_D |
| 91081U, // CMPGT_PPzZI_H |
| 2171914U, // CMPGT_PPzZI_S |
| 74570U, // CMPGT_PPzZZ_B |
| 598922U, // CMPGT_PPzZZ_D |
| 1131465U, // CMPGT_PPzZZ_H |
| 1647626U, // CMPGT_PPzZZ_S |
| 598858U, // CMPGT_WIDE_PPzZZ_B |
| 99273U, // CMPGT_WIDE_PPzZZ_H |
| 599050U, // CMPGT_WIDE_PPzZZ_S |
| 4793162U, // CMPHI_PPzZI_B |
| 4793226U, // CMPHI_PPzZI_D |
| 123849U, // CMPHI_PPzZI_H |
| 4793354U, // CMPHI_PPzZI_S |
| 74570U, // CMPHI_PPzZZ_B |
| 598922U, // CMPHI_PPzZZ_D |
| 1131465U, // CMPHI_PPzZZ_H |
| 1647626U, // CMPHI_PPzZZ_S |
| 598858U, // CMPHI_WIDE_PPzZZ_B |
| 99273U, // CMPHI_WIDE_PPzZZ_H |
| 599050U, // CMPHI_WIDE_PPzZZ_S |
| 4793162U, // CMPHS_PPzZI_B |
| 4793226U, // CMPHS_PPzZI_D |
| 123849U, // CMPHS_PPzZI_H |
| 4793354U, // CMPHS_PPzZI_S |
| 74570U, // CMPHS_PPzZZ_B |
| 598922U, // CMPHS_PPzZZ_D |
| 1131465U, // CMPHS_PPzZZ_H |
| 1647626U, // CMPHS_PPzZZ_S |
| 598858U, // CMPHS_WIDE_PPzZZ_B |
| 99273U, // CMPHS_WIDE_PPzZZ_H |
| 599050U, // CMPHS_WIDE_PPzZZ_S |
| 2171722U, // CMPLE_PPzZI_B |
| 2171786U, // CMPLE_PPzZI_D |
| 91081U, // CMPLE_PPzZI_H |
| 2171914U, // CMPLE_PPzZI_S |
| 598858U, // CMPLE_WIDE_PPzZZ_B |
| 99273U, // CMPLE_WIDE_PPzZZ_H |
| 599050U, // CMPLE_WIDE_PPzZZ_S |
| 4793162U, // CMPLO_PPzZI_B |
| 4793226U, // CMPLO_PPzZI_D |
| 123849U, // CMPLO_PPzZI_H |
| 4793354U, // CMPLO_PPzZI_S |
| 598858U, // CMPLO_WIDE_PPzZZ_B |
| 99273U, // CMPLO_WIDE_PPzZZ_H |
| 599050U, // CMPLO_WIDE_PPzZZ_S |
| 4793162U, // CMPLS_PPzZI_B |
| 4793226U, // CMPLS_PPzZI_D |
| 123849U, // CMPLS_PPzZI_H |
| 4793354U, // CMPLS_PPzZI_S |
| 598858U, // CMPLS_WIDE_PPzZZ_B |
| 99273U, // CMPLS_WIDE_PPzZZ_H |
| 599050U, // CMPLS_WIDE_PPzZZ_S |
| 2171722U, // CMPLT_PPzZI_B |
| 2171786U, // CMPLT_PPzZI_D |
| 91081U, // CMPLT_PPzZI_H |
| 2171914U, // CMPLT_PPzZI_S |
| 598858U, // CMPLT_WIDE_PPzZZ_B |
| 99273U, // CMPLT_WIDE_PPzZZ_H |
| 599050U, // CMPLT_WIDE_PPzZZ_S |
| 2171722U, // CMPNE_PPzZI_B |
| 2171786U, // CMPNE_PPzZI_D |
| 91081U, // CMPNE_PPzZI_H |
| 2171914U, // CMPNE_PPzZI_S |
| 74570U, // CMPNE_PPzZZ_B |
| 598922U, // CMPNE_PPzZZ_D |
| 1131465U, // CMPNE_PPzZZ_H |
| 1647626U, // CMPNE_PPzZZ_S |
| 598858U, // CMPNE_WIDE_PPzZZ_B |
| 99273U, // CMPNE_WIDE_PPzZZ_H |
| 599050U, // CMPNE_WIDE_PPzZZ_S |
| 0U, // CMP_SWAP_128 |
| 0U, // CMP_SWAP_16 |
| 0U, // CMP_SWAP_32 |
| 0U, // CMP_SWAP_64 |
| 0U, // CMP_SWAP_8 |
| 33095U, // CMTSTv16i8 |
| 261U, // CMTSTv1i64 |
| 41287U, // CMTSTv2i32 |
| 8517U, // CMTSTv2i64 |
| 49480U, // CMTSTv4i16 |
| 16710U, // CMTSTv4i32 |
| 24902U, // CMTSTv8i16 |
| 57672U, // CMTSTv8i8 |
| 0U, // CNOT_ZPmZ_B |
| 64U, // CNOT_ZPmZ_D |
| 128U, // CNOT_ZPmZ_H |
| 192U, // CNOT_ZPmZ_S |
| 16U, // CNTB_XPiI |
| 16U, // CNTD_XPiI |
| 16U, // CNTH_XPiI |
| 837U, // CNTP_XPP_B |
| 901U, // CNTP_XPP_D |
| 2245U, // CNTP_XPP_H |
| 1029U, // CNTP_XPP_S |
| 16U, // CNTW_XPiI |
| 0U, // CNT_ZPmZ_B |
| 64U, // CNT_ZPmZ_D |
| 128U, // CNT_ZPmZ_H |
| 192U, // CNT_ZPmZ_S |
| 1U, // CNTv16i8 |
| 4U, // CNTv8i8 |
| 901U, // COMPACT_ZPZ_D |
| 1029U, // COMPACT_ZPZ_S |
| 2368U, // CPY_ZPmI_B |
| 2432U, // CPY_ZPmI_D |
| 16U, // CPY_ZPmI_H |
| 2496U, // CPY_ZPmI_S |
| 2304U, // CPY_ZPmR_B |
| 2304U, // CPY_ZPmR_D |
| 145U, // CPY_ZPmR_H |
| 2304U, // CPY_ZPmR_S |
| 2304U, // CPY_ZPmV_B |
| 2304U, // CPY_ZPmV_D |
| 145U, // CPY_ZPmV_H |
| 2304U, // CPY_ZPmV_S |
| 2570U, // CPY_ZPzI_B |
| 2634U, // CPY_ZPzI_D |
| 17U, // CPY_ZPzI_H |
| 2698U, // CPY_ZPzI_S |
| 2770U, // CPYi16 |
| 2770U, // CPYi32 |
| 2771U, // CPYi64 |
| 2771U, // CPYi8 |
| 261U, // CRC32Brr |
| 261U, // CRC32CBrr |
| 261U, // CRC32CHrr |
| 261U, // CRC32CWrr |
| 261U, // CRC32CXrr |
| 261U, // CRC32Hrr |
| 261U, // CRC32Wrr |
| 261U, // CRC32Xrr |
| 3744005U, // CSELWr |
| 3744005U, // CSELXr |
| 3744005U, // CSINCWr |
| 3744005U, // CSINCXr |
| 3744005U, // CSINVWr |
| 3744005U, // CSINVXr |
| 3744005U, // CSNEGWr |
| 3744005U, // CSNEGXr |
| 1U, // CTERMEQ_WW |
| 1U, // CTERMEQ_XX |
| 1U, // CTERMNE_WW |
| 1U, // CTERMNE_XX |
| 0U, // CompilerBarrier |
| 0U, // DCPS1 |
| 0U, // DCPS2 |
| 0U, // DCPS3 |
| 0U, // DECB_XPiI |
| 0U, // DECD_XPiI |
| 0U, // DECD_ZPiI |
| 0U, // DECH_XPiI |
| 0U, // DECH_ZPiI |
| 1U, // DECP_XP_B |
| 1U, // DECP_XP_D |
| 1U, // DECP_XP_H |
| 1U, // DECP_XP_S |
| 1U, // DECP_ZP_D |
| 0U, // DECP_ZP_H |
| 1U, // DECP_ZP_S |
| 0U, // DECW_XPiI |
| 0U, // DECW_ZPiI |
| 0U, // DMB |
| 0U, // DRPS |
| 0U, // DSB |
| 0U, // DUPM_ZI |
| 0U, // DUP_ZI_B |
| 0U, // DUP_ZI_D |
| 0U, // DUP_ZI_H |
| 0U, // DUP_ZI_S |
| 1U, // DUP_ZR_B |
| 1U, // DUP_ZR_D |
| 0U, // DUP_ZR_H |
| 1U, // DUP_ZR_S |
| 20U, // DUP_ZZI_B |
| 20U, // DUP_ZZI_D |
| 0U, // DUP_ZZI_H |
| 0U, // DUP_ZZI_Q |
| 20U, // DUP_ZZI_S |
| 1U, // DUPv16i8gpr |
| 2771U, // DUPv16i8lane |
| 1U, // DUPv2i32gpr |
| 2770U, // DUPv2i32lane |
| 1U, // DUPv2i64gpr |
| 2771U, // DUPv2i64lane |
| 1U, // DUPv4i16gpr |
| 2770U, // DUPv4i16lane |
| 1U, // DUPv4i32gpr |
| 2770U, // DUPv4i32lane |
| 1U, // DUPv8i16gpr |
| 2770U, // DUPv8i16lane |
| 1U, // DUPv8i8gpr |
| 2771U, // DUPv8i8lane |
| 0U, // EONWrr |
| 517U, // EONWrs |
| 0U, // EONXrr |
| 517U, // EONXrs |
| 36282695U, // EOR3 |
| 74570U, // EORS_PPzPP |
| 837U, // EORV_VPZ_B |
| 901U, // EORV_VPZ_D |
| 2245U, // EORV_VPZ_H |
| 1029U, // EORV_VPZ_S |
| 2117U, // EORWri |
| 0U, // EORWrr |
| 517U, // EORWrs |
| 2181U, // EORXri |
| 0U, // EORXrr |
| 517U, // EORXrs |
| 74570U, // EOR_PPzPP |
| 2181U, // EOR_ZI |
| 74560U, // EOR_ZPmZ_B |
| 598912U, // EOR_ZPmZ_D |
| 1131465U, // EOR_ZPmZ_H |
| 1647616U, // EOR_ZPmZ_S |
| 901U, // EOR_ZZZ |
| 33095U, // EORv16i8 |
| 57672U, // EORv8i8 |
| 0U, // ERET |
| 0U, // ERETAA |
| 0U, // ERETAB |
| 2171141U, // EXTRWrri |
| 2171141U, // EXTRXrri |
| 4793157U, // EXT_ZZI |
| 2203975U, // EXTv16i8 |
| 131400U, // EXTv8i8 |
| 0U, // F128CSEL |
| 261U, // FABD16 |
| 261U, // FABD32 |
| 261U, // FABD64 |
| 598912U, // FABD_ZPmZ_D |
| 1131465U, // FABD_ZPmZ_H |
| 1647616U, // FABD_ZPmZ_S |
| 41287U, // FABDv2f32 |
| 8517U, // FABDv2f64 |
| 49480U, // FABDv4f16 |
| 16710U, // FABDv4f32 |
| 24902U, // FABDv8f16 |
| 1U, // FABSDr |
| 1U, // FABSHr |
| 1U, // FABSSr |
| 64U, // FABS_ZPmZ_D |
| 128U, // FABS_ZPmZ_H |
| 192U, // FABS_ZPmZ_S |
| 2U, // FABSv2f32 |
| 2U, // FABSv2f64 |
| 3U, // FABSv4f16 |
| 3U, // FABSv4f32 |
| 4U, // FABSv8f16 |
| 261U, // FACGE16 |
| 261U, // FACGE32 |
| 261U, // FACGE64 |
| 598922U, // FACGE_PPzZZ_D |
| 1131465U, // FACGE_PPzZZ_H |
| 1647626U, // FACGE_PPzZZ_S |
| 41287U, // FACGEv2f32 |
| 8517U, // FACGEv2f64 |
| 49480U, // FACGEv4f16 |
| 16710U, // FACGEv4f32 |
| 24902U, // FACGEv8f16 |
| 261U, // FACGT16 |
| 261U, // FACGT32 |
| 261U, // FACGT64 |
| 598922U, // FACGT_PPzZZ_D |
| 1131465U, // FACGT_PPzZZ_H |
| 1647626U, // FACGT_PPzZZ_S |
| 41287U, // FACGTv2f32 |
| 8517U, // FACGTv2f64 |
| 49480U, // FACGTv4f16 |
| 16710U, // FACGTv4f32 |
| 24902U, // FACGTv8f16 |
| 598277U, // FADDA_VPZ_D |
| 4268293U, // FADDA_VPZ_H |
| 1646853U, // FADDA_VPZ_S |
| 261U, // FADDDrr |
| 261U, // FADDHrr |
| 41287U, // FADDPv2f32 |
| 8517U, // FADDPv2f64 |
| 20U, // FADDPv2i16p |
| 2U, // FADDPv2i32p |
| 2U, // FADDPv2i64p |
| 49480U, // FADDPv4f16 |
| 16710U, // FADDPv4f32 |
| 24902U, // FADDPv8f16 |
| 261U, // FADDSrr |
| 901U, // FADDV_VPZ_D |
| 2245U, // FADDV_VPZ_H |
| 1029U, // FADDV_VPZ_S |
| 5317504U, // FADD_ZPmI_D |
| 140233U, // FADD_ZPmI_H |
| 5317632U, // FADD_ZPmI_S |
| 598912U, // FADD_ZPmZ_D |
| 1131465U, // FADD_ZPmZ_H |
| 1647616U, // FADD_ZPmZ_S |
| 901U, // FADD_ZZZ_D |
| 137U, // FADD_ZZZ_H |
| 1029U, // FADD_ZZZ_S |
| 41287U, // FADDv2f32 |
| 8517U, // FADDv2f64 |
| 49480U, // FADDv4f16 |
| 16710U, // FADDv4f32 |
| 24902U, // FADDv8f16 |
| 67707776U, // FCADD_ZPmZ_D |
| 106513353U, // FCADD_ZPmZ_H |
| 68756480U, // FCADD_ZPmZ_S |
| 6439239U, // FCADDv2f32 |
| 6447429U, // FCADDv2f64 |
| 6455624U, // FCADDv4f16 |
| 6463814U, // FCADDv4f32 |
| 6472006U, // FCADDv8f16 |
| 3744005U, // FCCMPDrr |
| 3744005U, // FCCMPEDrr |
| 3744005U, // FCCMPEHrr |
| 3744005U, // FCCMPESrr |
| 3744005U, // FCCMPHrr |
| 3744005U, // FCCMPSrr |
| 261U, // FCMEQ16 |
| 261U, // FCMEQ32 |
| 261U, // FCMEQ64 |
| 189322U, // FCMEQ_PPzZ0_D |
| 2825U, // FCMEQ_PPzZ0_H |
| 189450U, // FCMEQ_PPzZ0_S |
| 598922U, // FCMEQ_PPzZZ_D |
| 1131465U, // FCMEQ_PPzZZ_H |
| 1647626U, // FCMEQ_PPzZZ_S |
| 21U, // FCMEQv1i16rz |
| 21U, // FCMEQv1i32rz |
| 21U, // FCMEQv1i64rz |
| 41287U, // FCMEQv2f32 |
| 8517U, // FCMEQv2f64 |
| 21U, // FCMEQv2i32rz |
| 22U, // FCMEQv2i64rz |
| 49480U, // FCMEQv4f16 |
| 16710U, // FCMEQv4f32 |
| 22U, // FCMEQv4i16rz |
| 23U, // FCMEQv4i32rz |
| 24902U, // FCMEQv8f16 |
| 23U, // FCMEQv8i16rz |
| 261U, // FCMGE16 |
| 261U, // FCMGE32 |
| 261U, // FCMGE64 |
| 189322U, // FCMGE_PPzZ0_D |
| 2825U, // FCMGE_PPzZ0_H |
| 189450U, // FCMGE_PPzZ0_S |
| 598922U, // FCMGE_PPzZZ_D |
| 1131465U, // FCMGE_PPzZZ_H |
| 1647626U, // FCMGE_PPzZZ_S |
| 21U, // FCMGEv1i16rz |
| 21U, // FCMGEv1i32rz |
| 21U, // FCMGEv1i64rz |
| 41287U, // FCMGEv2f32 |
| 8517U, // FCMGEv2f64 |
| 21U, // FCMGEv2i32rz |
| 22U, // FCMGEv2i64rz |
| 49480U, // FCMGEv4f16 |
| 16710U, // FCMGEv4f32 |
| 22U, // FCMGEv4i16rz |
| 23U, // FCMGEv4i32rz |
| 24902U, // FCMGEv8f16 |
| 23U, // FCMGEv8i16rz |
| 261U, // FCMGT16 |
| 261U, // FCMGT32 |
| 261U, // FCMGT64 |
| 189322U, // FCMGT_PPzZ0_D |
| 2825U, // FCMGT_PPzZ0_H |
| 189450U, // FCMGT_PPzZ0_S |
| 598922U, // FCMGT_PPzZZ_D |
| 1131465U, // FCMGT_PPzZZ_H |
| 1647626U, // FCMGT_PPzZZ_S |
| 21U, // FCMGTv1i16rz |
| 21U, // FCMGTv1i32rz |
| 21U, // FCMGTv1i64rz |
| 41287U, // FCMGTv2f32 |
| 8517U, // FCMGTv2f64 |
| 21U, // FCMGTv2i32rz |
| 22U, // FCMGTv2i64rz |
| 49480U, // FCMGTv4f16 |
| 16710U, // FCMGTv4f32 |
| 22U, // FCMGTv4i16rz |
| 23U, // FCMGTv4i32rz |
| 24902U, // FCMGTv8f16 |
| 23U, // FCMGTv8i16rz |
| 342433856U, // FCMLA_ZPmZZ_D |
| 140182464U, // FCMLA_ZPmZZ_H |
| 342958272U, // FCMLA_ZPmZZ_S |
| 24U, // FCMLA_ZZZI_H |
| 7940952U, // FCMLA_ZZZI_S |
| 8536455U, // FCMLAv2f32 |
| 8544645U, // FCMLAv2f64 |
| 8552840U, // FCMLAv4f16 |
| 344662408U, // FCMLAv4f16_indexed |
| 8561030U, // FCMLAv4f32 |
| 344670598U, // FCMLAv4f32_indexed |
| 8569222U, // FCMLAv8f16 |
| 344662406U, // FCMLAv8f16_indexed |
| 189322U, // FCMLE_PPzZ0_D |
| 2825U, // FCMLE_PPzZ0_H |
| 189450U, // FCMLE_PPzZ0_S |
| 21U, // FCMLEv1i16rz |
| 21U, // FCMLEv1i32rz |
| 21U, // FCMLEv1i64rz |
| 21U, // FCMLEv2i32rz |
| 22U, // FCMLEv2i64rz |
| 22U, // FCMLEv4i16rz |
| 23U, // FCMLEv4i32rz |
| 23U, // FCMLEv8i16rz |
| 189322U, // FCMLT_PPzZ0_D |
| 2825U, // FCMLT_PPzZ0_H |
| 189450U, // FCMLT_PPzZ0_S |
| 21U, // FCMLTv1i16rz |
| 21U, // FCMLTv1i32rz |
| 21U, // FCMLTv1i64rz |
| 21U, // FCMLTv2i32rz |
| 22U, // FCMLTv2i64rz |
| 22U, // FCMLTv4i16rz |
| 23U, // FCMLTv4i32rz |
| 23U, // FCMLTv8i16rz |
| 189322U, // FCMNE_PPzZ0_D |
| 2825U, // FCMNE_PPzZ0_H |
| 189450U, // FCMNE_PPzZ0_S |
| 598922U, // FCMNE_PPzZZ_D |
| 1131465U, // FCMNE_PPzZZ_H |
| 1647626U, // FCMNE_PPzZZ_S |
| 0U, // FCMPDri |
| 1U, // FCMPDrr |
| 0U, // FCMPEDri |
| 1U, // FCMPEDrr |
| 0U, // FCMPEHri |
| 1U, // FCMPEHrr |
| 0U, // FCMPESri |
| 1U, // FCMPESrr |
| 0U, // FCMPHri |
| 1U, // FCMPHrr |
| 0U, // FCMPSri |
| 1U, // FCMPSrr |
| 598922U, // FCMUO_PPzZZ_D |
| 1131465U, // FCMUO_PPzZZ_H |
| 1647626U, // FCMUO_PPzZZ_S |
| 2944U, // FCPY_ZPmI_D |
| 25U, // FCPY_ZPmI_H |
| 2944U, // FCPY_ZPmI_S |
| 3744005U, // FCSELDrrr |
| 3744005U, // FCSELHrrr |
| 3744005U, // FCSELSrrr |
| 1U, // FCVTASUWDr |
| 1U, // FCVTASUWHr |
| 1U, // FCVTASUWSr |
| 1U, // FCVTASUXDr |
| 1U, // FCVTASUXHr |
| 1U, // FCVTASUXSr |
| 1U, // FCVTASv1f16 |
| 1U, // FCVTASv1i32 |
| 1U, // FCVTASv1i64 |
| 2U, // FCVTASv2f32 |
| 2U, // FCVTASv2f64 |
| 3U, // FCVTASv4f16 |
| 3U, // FCVTASv4f32 |
| 4U, // FCVTASv8f16 |
| 1U, // FCVTAUUWDr |
| 1U, // FCVTAUUWHr |
| 1U, // FCVTAUUWSr |
| 1U, // FCVTAUUXDr |
| 1U, // FCVTAUUXHr |
| 1U, // FCVTAUUXSr |
| 1U, // FCVTAUv1f16 |
| 1U, // FCVTAUv1i32 |
| 1U, // FCVTAUv1i64 |
| 2U, // FCVTAUv2f32 |
| 2U, // FCVTAUv2f64 |
| 3U, // FCVTAUv4f16 |
| 3U, // FCVTAUv4f32 |
| 4U, // FCVTAUv8f16 |
| 1U, // FCVTDHr |
| 1U, // FCVTDSr |
| 1U, // FCVTHDr |
| 1U, // FCVTHSr |
| 2U, // FCVTLv2i32 |
| 3U, // FCVTLv4i16 |
| 3U, // FCVTLv4i32 |
| 4U, // FCVTLv8i16 |
| 1U, // FCVTMSUWDr |
| 1U, // FCVTMSUWHr |
| 1U, // FCVTMSUWSr |
| 1U, // FCVTMSUXDr |
| 1U, // FCVTMSUXHr |
| 1U, // FCVTMSUXSr |
| 1U, // FCVTMSv1f16 |
| 1U, // FCVTMSv1i32 |
| 1U, // FCVTMSv1i64 |
| 2U, // FCVTMSv2f32 |
| 2U, // FCVTMSv2f64 |
| 3U, // FCVTMSv4f16 |
| 3U, // FCVTMSv4f32 |
| 4U, // FCVTMSv8f16 |
| 1U, // FCVTMUUWDr |
| 1U, // FCVTMUUWHr |
| 1U, // FCVTMUUWSr |
| 1U, // FCVTMUUXDr |
| 1U, // FCVTMUUXHr |
| 1U, // FCVTMUUXSr |
| 1U, // FCVTMUv1f16 |
| 1U, // FCVTMUv1i32 |
| 1U, // FCVTMUv1i64 |
| 2U, // FCVTMUv2f32 |
| 2U, // FCVTMUv2f64 |
| 3U, // FCVTMUv4f16 |
| 3U, // FCVTMUv4f32 |
| 4U, // FCVTMUv8f16 |
| 1U, // FCVTNSUWDr |
| 1U, // FCVTNSUWHr |
| 1U, // FCVTNSUWSr |
| 1U, // FCVTNSUXDr |
| 1U, // FCVTNSUXHr |
| 1U, // FCVTNSUXSr |
| 1U, // FCVTNSv1f16 |
| 1U, // FCVTNSv1i32 |
| 1U, // FCVTNSv1i64 |
| 2U, // FCVTNSv2f32 |
| 2U, // FCVTNSv2f64 |
| 3U, // FCVTNSv4f16 |
| 3U, // FCVTNSv4f32 |
| 4U, // FCVTNSv8f16 |
| 1U, // FCVTNUUWDr |
| 1U, // FCVTNUUWHr |
| 1U, // FCVTNUUWSr |
| 1U, // FCVTNUUXDr |
| 1U, // FCVTNUUXHr |
| 1U, // FCVTNUUXSr |
| 1U, // FCVTNUv1f16 |
| 1U, // FCVTNUv1i32 |
| 1U, // FCVTNUv1i64 |
| 2U, // FCVTNUv2f32 |
| 2U, // FCVTNUv2f64 |
| 3U, // FCVTNUv4f16 |
| 3U, // FCVTNUv4f32 |
| 4U, // FCVTNUv8f16 |
| 2U, // FCVTNv2i32 |
| 3U, // FCVTNv4i16 |
| 2U, // FCVTNv4i32 |
| 3U, // FCVTNv8i16 |
| 1U, // FCVTPSUWDr |
| 1U, // FCVTPSUWHr |
| 1U, // FCVTPSUWSr |
| 1U, // FCVTPSUXDr |
| 1U, // FCVTPSUXHr |
| 1U, // FCVTPSUXSr |
| 1U, // FCVTPSv1f16 |
| 1U, // FCVTPSv1i32 |
| 1U, // FCVTPSv1i64 |
| 2U, // FCVTPSv2f32 |
| 2U, // FCVTPSv2f64 |
| 3U, // FCVTPSv4f16 |
| 3U, // FCVTPSv4f32 |
| 4U, // FCVTPSv8f16 |
| 1U, // FCVTPUUWDr |
| 1U, // FCVTPUUWHr |
| 1U, // FCVTPUUWSr |
| 1U, // FCVTPUUXDr |
| 1U, // FCVTPUUXHr |
| 1U, // FCVTPUUXSr |
| 1U, // FCVTPUv1f16 |
| 1U, // FCVTPUv1i32 |
| 1U, // FCVTPUv1i64 |
| 2U, // FCVTPUv2f32 |
| 2U, // FCVTPUv2f64 |
| 3U, // FCVTPUv4f16 |
| 3U, // FCVTPUv4f32 |
| 4U, // FCVTPUv8f16 |
| 1U, // FCVTSDr |
| 1U, // FCVTSHr |
| 1U, // FCVTXNv1i64 |
| 2U, // FCVTXNv2f32 |
| 2U, // FCVTXNv4f32 |
| 261U, // FCVTZSSWDri |
| 261U, // FCVTZSSWHri |
| 261U, // FCVTZSSWSri |
| 261U, // FCVTZSSXDri |
| 261U, // FCVTZSSXHri |
| 261U, // FCVTZSSXSri |
| 1U, // FCVTZSUWDr |
| 1U, // FCVTZSUWHr |
| 1U, // FCVTZSUWSr |
| 1U, // FCVTZSUXDr |
| 1U, // FCVTZSUXHr |
| 1U, // FCVTZSUXSr |
| 64U, // FCVTZS_ZPmZ_DtoD |
| 64U, // FCVTZS_ZPmZ_DtoS |
| 3008U, // FCVTZS_ZPmZ_HtoD |
| 128U, // FCVTZS_ZPmZ_HtoH |
| 3008U, // FCVTZS_ZPmZ_HtoS |
| 192U, // FCVTZS_ZPmZ_StoD |
| 192U, // FCVTZS_ZPmZ_StoS |
| 261U, // FCVTZSd |
| 261U, // FCVTZSh |
| 261U, // FCVTZSs |
| 1U, // FCVTZSv1f16 |
| 1U, // FCVTZSv1i32 |
| 1U, // FCVTZSv1i64 |
| 2U, // FCVTZSv2f32 |
| 2U, // FCVTZSv2f64 |
| 263U, // FCVTZSv2i32_shift |
| 261U, // FCVTZSv2i64_shift |
| 3U, // FCVTZSv4f16 |
| 3U, // FCVTZSv4f32 |
| 264U, // FCVTZSv4i16_shift |
| 262U, // FCVTZSv4i32_shift |
| 4U, // FCVTZSv8f16 |
| 262U, // FCVTZSv8i16_shift |
| 261U, // FCVTZUSWDri |
| 261U, // FCVTZUSWHri |
| 261U, // FCVTZUSWSri |
| 261U, // FCVTZUSXDri |
| 261U, // FCVTZUSXHri |
| 261U, // FCVTZUSXSri |
| 1U, // FCVTZUUWDr |
| 1U, // FCVTZUUWHr |
| 1U, // FCVTZUUWSr |
| 1U, // FCVTZUUXDr |
| 1U, // FCVTZUUXHr |
| 1U, // FCVTZUUXSr |
| 64U, // FCVTZU_ZPmZ_DtoD |
| 64U, // FCVTZU_ZPmZ_DtoS |
| 3008U, // FCVTZU_ZPmZ_HtoD |
| 128U, // FCVTZU_ZPmZ_HtoH |
| 3008U, // FCVTZU_ZPmZ_HtoS |
| 192U, // FCVTZU_ZPmZ_StoD |
| 192U, // FCVTZU_ZPmZ_StoS |
| 261U, // FCVTZUd |
| 261U, // FCVTZUh |
| 261U, // FCVTZUs |
| 1U, // FCVTZUv1f16 |
| 1U, // FCVTZUv1i32 |
| 1U, // FCVTZUv1i64 |
| 2U, // FCVTZUv2f32 |
| 2U, // FCVTZUv2f64 |
| 263U, // FCVTZUv2i32_shift |
| 261U, // FCVTZUv2i64_shift |
| 3U, // FCVTZUv4f16 |
| 3U, // FCVTZUv4f32 |
| 264U, // FCVTZUv4i16_shift |
| 262U, // FCVTZUv4i32_shift |
| 4U, // FCVTZUv8f16 |
| 262U, // FCVTZUv8i16_shift |
| 153U, // FCVT_ZPmZ_DtoH |
| 64U, // FCVT_ZPmZ_DtoS |
| 3008U, // FCVT_ZPmZ_HtoD |
| 3008U, // FCVT_ZPmZ_HtoS |
| 192U, // FCVT_ZPmZ_StoD |
| 152U, // FCVT_ZPmZ_StoH |
| 261U, // FDIVDrr |
| 261U, // FDIVHrr |
| 598912U, // FDIVR_ZPmZ_D |
| 1131465U, // FDIVR_ZPmZ_H |
| 1647616U, // FDIVR_ZPmZ_S |
| 261U, // FDIVSrr |
| 598912U, // FDIV_ZPmZ_D |
| 1131465U, // FDIV_ZPmZ_H |
| 1647616U, // FDIV_ZPmZ_S |
| 41287U, // FDIVv2f32 |
| 8517U, // FDIVv2f64 |
| 49480U, // FDIVv4f16 |
| 16710U, // FDIVv4f32 |
| 24902U, // FDIVv8f16 |
| 0U, // FDUP_ZI_D |
| 0U, // FDUP_ZI_H |
| 0U, // FDUP_ZI_S |
| 1U, // FEXPA_ZZ_D |
| 0U, // FEXPA_ZZ_H |
| 1U, // FEXPA_ZZ_S |
| 1U, // FJCVTZS |
| 2171141U, // FMADDDrrr |
| 2171141U, // FMADDHrrr |
| 2171141U, // FMADDSrrr |
| 6889536U, // FMAD_ZPmZZ_D |
| 1246144U, // FMAD_ZPmZZ_H |
| 7413952U, // FMAD_ZPmZZ_S |
| 261U, // FMAXDrr |
| 261U, // FMAXHrr |
| 261U, // FMAXNMDrr |
| 261U, // FMAXNMHrr |
| 41287U, // FMAXNMPv2f32 |
| 8517U, // FMAXNMPv2f64 |
| 20U, // FMAXNMPv2i16p |
| 2U, // FMAXNMPv2i32p |
| 2U, // FMAXNMPv2i64p |
| 49480U, // FMAXNMPv4f16 |
| 16710U, // FMAXNMPv4f32 |
| 24902U, // FMAXNMPv8f16 |
| 261U, // FMAXNMSrr |
| 901U, // FMAXNMV_VPZ_D |
| 2245U, // FMAXNMV_VPZ_H |
| 1029U, // FMAXNMV_VPZ_S |
| 3U, // FMAXNMVv4i16v |
| 3U, // FMAXNMVv4i32v |
| 4U, // FMAXNMVv8i16v |
| 9511808U, // FMAXNM_ZPmI_D |
| 222153U, // FMAXNM_ZPmI_H |
| 9511936U, // FMAXNM_ZPmI_S |
| 598912U, // FMAXNM_ZPmZ_D |
| 1131465U, // FMAXNM_ZPmZ_H |
| 1647616U, // FMAXNM_ZPmZ_S |
| 41287U, // FMAXNMv2f32 |
| 8517U, // FMAXNMv2f64 |
| 49480U, // FMAXNMv4f16 |
| 16710U, // FMAXNMv4f32 |
| 24902U, // FMAXNMv8f16 |
| 41287U, // FMAXPv2f32 |
| 8517U, // FMAXPv2f64 |
| 20U, // FMAXPv2i16p |
| 2U, // FMAXPv2i32p |
| 2U, // FMAXPv2i64p |
| 49480U, // FMAXPv4f16 |
| 16710U, // FMAXPv4f32 |
| 24902U, // FMAXPv8f16 |
| 261U, // FMAXSrr |
| 901U, // FMAXV_VPZ_D |
| 2245U, // FMAXV_VPZ_H |
| 1029U, // FMAXV_VPZ_S |
| 3U, // FMAXVv4i16v |
| 3U, // FMAXVv4i32v |
| 4U, // FMAXVv8i16v |
| 9511808U, // FMAX_ZPmI_D |
| 222153U, // FMAX_ZPmI_H |
| 9511936U, // FMAX_ZPmI_S |
| 598912U, // FMAX_ZPmZ_D |
| 1131465U, // FMAX_ZPmZ_H |
| 1647616U, // FMAX_ZPmZ_S |
| 41287U, // FMAXv2f32 |
| 8517U, // FMAXv2f64 |
| 49480U, // FMAXv4f16 |
| 16710U, // FMAXv4f32 |
| 24902U, // FMAXv8f16 |
| 261U, // FMINDrr |
| 261U, // FMINHrr |
| 261U, // FMINNMDrr |
| 261U, // FMINNMHrr |
| 41287U, // FMINNMPv2f32 |
| 8517U, // FMINNMPv2f64 |
| 20U, // FMINNMPv2i16p |
| 2U, // FMINNMPv2i32p |
| 2U, // FMINNMPv2i64p |
| 49480U, // FMINNMPv4f16 |
| 16710U, // FMINNMPv4f32 |
| 24902U, // FMINNMPv8f16 |
| 261U, // FMINNMSrr |
| 901U, // FMINNMV_VPZ_D |
| 2245U, // FMINNMV_VPZ_H |
| 1029U, // FMINNMV_VPZ_S |
| 3U, // FMINNMVv4i16v |
| 3U, // FMINNMVv4i32v |
| 4U, // FMINNMVv8i16v |
| 9511808U, // FMINNM_ZPmI_D |
| 222153U, // FMINNM_ZPmI_H |
| 9511936U, // FMINNM_ZPmI_S |
| 598912U, // FMINNM_ZPmZ_D |
| 1131465U, // FMINNM_ZPmZ_H |
| 1647616U, // FMINNM_ZPmZ_S |
| 41287U, // FMINNMv2f32 |
| 8517U, // FMINNMv2f64 |
| 49480U, // FMINNMv4f16 |
| 16710U, // FMINNMv4f32 |
| 24902U, // FMINNMv8f16 |
| 41287U, // FMINPv2f32 |
| 8517U, // FMINPv2f64 |
| 20U, // FMINPv2i16p |
| 2U, // FMINPv2i32p |
| 2U, // FMINPv2i64p |
| 49480U, // FMINPv4f16 |
| 16710U, // FMINPv4f32 |
| 24902U, // FMINPv8f16 |
| 261U, // FMINSrr |
| 901U, // FMINV_VPZ_D |
| 2245U, // FMINV_VPZ_H |
| 1029U, // FMINV_VPZ_S |
| 3U, // FMINVv4i16v |
| 3U, // FMINVv4i32v |
| 4U, // FMINVv8i16v |
| 9511808U, // FMIN_ZPmI_D |
| 222153U, // FMIN_ZPmI_H |
| 9511936U, // FMIN_ZPmI_S |
| 598912U, // FMIN_ZPmZ_D |
| 1131465U, // FMIN_ZPmZ_H |
| 1647616U, // FMIN_ZPmZ_S |
| 41287U, // FMINv2f32 |
| 8517U, // FMINv2f64 |
| 49480U, // FMINv4f16 |
| 16710U, // FMINv4f32 |
| 24902U, // FMINv8f16 |
| 6889536U, // FMLA_ZPmZZ_D |
| 1246144U, // FMLA_ZPmZZ_H |
| 7413952U, // FMLA_ZPmZZ_S |
| 2905U, // FMLA_ZZZI_D |
| 0U, // FMLA_ZZZI_H |
| 2904U, // FMLA_ZZZI_S |
| 9118085U, // FMLAv1i16_indexed |
| 9126277U, // FMLAv1i32_indexed |
| 9142661U, // FMLAv1i64_indexed |
| 41351U, // FMLAv2f32 |
| 8581U, // FMLAv2f64 |
| 9126279U, // FMLAv2i32_indexed |
| 9142661U, // FMLAv2i64_indexed |
| 49544U, // FMLAv4f16 |
| 16774U, // FMLAv4f32 |
| 9118088U, // FMLAv4i16_indexed |
| 9126278U, // FMLAv4i32_indexed |
| 24966U, // FMLAv8f16 |
| 9118086U, // FMLAv8i16_indexed |
| 6889536U, // FMLS_ZPmZZ_D |
| 1246144U, // FMLS_ZPmZZ_H |
| 7413952U, // FMLS_ZPmZZ_S |
| 2905U, // FMLS_ZZZI_D |
| 0U, // FMLS_ZZZI_H |
| 2904U, // FMLS_ZZZI_S |
| 9118085U, // FMLSv1i16_indexed |
| 9126277U, // FMLSv1i32_indexed |
| 9142661U, // FMLSv1i64_indexed |
| 41351U, // FMLSv2f32 |
| 8581U, // FMLSv2f64 |
| 9126279U, // FMLSv2i32_indexed |
| 9142661U, // FMLSv2i64_indexed |
| 49544U, // FMLSv4f16 |
| 16774U, // FMLSv4f32 |
| 9118088U, // FMLSv4i16_indexed |
| 9126278U, // FMLSv4i32_indexed |
| 24966U, // FMLSv8f16 |
| 9118086U, // FMLSv8i16_indexed |
| 0U, // FMOVD0 |
| 2771U, // FMOVDXHighr |
| 1U, // FMOVDXr |
| 0U, // FMOVDi |
| 1U, // FMOVDr |
| 0U, // FMOVH0 |
| 1U, // FMOVHWr |
| 1U, // FMOVHXr |
| 0U, // FMOVHi |
| 1U, // FMOVHr |
| 0U, // FMOVS0 |
| 1U, // FMOVSWr |
| 0U, // FMOVSi |
| 1U, // FMOVSr |
| 1U, // FMOVWHr |
| 1U, // FMOVWSr |
| 1U, // FMOVXDHighr |
| 1U, // FMOVXDr |
| 1U, // FMOVXHr |
| 0U, // FMOVv2f32_ns |
| 0U, // FMOVv2f64_ns |
| 0U, // FMOVv4f16_ns |
| 0U, // FMOVv4f32_ns |
| 0U, // FMOVv8f16_ns |
| 6889536U, // FMSB_ZPmZZ_D |
| 1246144U, // FMSB_ZPmZZ_H |
| 7413952U, // FMSB_ZPmZZ_S |
| 2171141U, // FMSUBDrrr |
| 2171141U, // FMSUBHrrr |
| 2171141U, // FMSUBSrrr |
| 261U, // FMULDrr |
| 261U, // FMULHrr |
| 261U, // FMULSrr |
| 261U, // FMULX16 |
| 261U, // FMULX32 |
| 261U, // FMULX64 |
| 598912U, // FMULX_ZPmZ_D |
| 1131465U, // FMULX_ZPmZ_H |
| 1647616U, // FMULX_ZPmZ_S |
| 10166597U, // FMULXv1i16_indexed |
| 10174789U, // FMULXv1i32_indexed |
| 10191173U, // FMULXv1i64_indexed |
| 41287U, // FMULXv2f32 |
| 8517U, // FMULXv2f64 |
| 10174791U, // FMULXv2i32_indexed |
| 10191173U, // FMULXv2i64_indexed |
| 49480U, // FMULXv4f16 |
| 16710U, // FMULXv4f32 |
| 10166600U, // FMULXv4i16_indexed |
| 10174790U, // FMULXv4i32_indexed |
| 24902U, // FMULXv8f16 |
| 10166598U, // FMULXv8i16_indexed |
| 10560384U, // FMUL_ZPmI_D |
| 238537U, // FMUL_ZPmI_H |
| 10560512U, // FMUL_ZPmI_S |
| 598912U, // FMUL_ZPmZ_D |
| 1131465U, // FMUL_ZPmZ_H |
| 1647616U, // FMUL_ZPmZ_S |
| 246661U, // FMUL_ZZZI_D |
| 3081U, // FMUL_ZZZI_H |
| 246789U, // FMUL_ZZZI_S |
| 901U, // FMUL_ZZZ_D |
| 137U, // FMUL_ZZZ_H |
| 1029U, // FMUL_ZZZ_S |
| 10166597U, // FMULv1i16_indexed |
| 10174789U, // FMULv1i32_indexed |
| 10191173U, // FMULv1i64_indexed |
| 41287U, // FMULv2f32 |
| 8517U, // FMULv2f64 |
| 10174791U, // FMULv2i32_indexed |
| 10191173U, // FMULv2i64_indexed |
| 49480U, // FMULv4f16 |
| 16710U, // FMULv4f32 |
| 10166600U, // FMULv4i16_indexed |
| 10174790U, // FMULv4i32_indexed |
| 24902U, // FMULv8f16 |
| 10166598U, // FMULv8i16_indexed |
| 1U, // FNEGDr |
| 1U, // FNEGHr |
| 1U, // FNEGSr |
| 64U, // FNEG_ZPmZ_D |
| 128U, // FNEG_ZPmZ_H |
| 192U, // FNEG_ZPmZ_S |
| 2U, // FNEGv2f32 |
| 2U, // FNEGv2f64 |
| 3U, // FNEGv4f16 |
| 3U, // FNEGv4f32 |
| 4U, // FNEGv8f16 |
| 2171141U, // FNMADDDrrr |
| 2171141U, // FNMADDHrrr |
| 2171141U, // FNMADDSrrr |
| 6889536U, // FNMAD_ZPmZZ_D |
| 1246144U, // FNMAD_ZPmZZ_H |
| 7413952U, // FNMAD_ZPmZZ_S |
| 6889536U, // FNMLA_ZPmZZ_D |
| 1246144U, // FNMLA_ZPmZZ_H |
| 7413952U, // FNMLA_ZPmZZ_S |
| 6889536U, // FNMLS_ZPmZZ_D |
| 1246144U, // FNMLS_ZPmZZ_H |
| 7413952U, // FNMLS_ZPmZZ_S |
| 6889536U, // FNMSB_ZPmZZ_D |
| 1246144U, // FNMSB_ZPmZZ_H |
| 7413952U, // FNMSB_ZPmZZ_S |
| 2171141U, // FNMSUBDrrr |
| 2171141U, // FNMSUBHrrr |
| 2171141U, // FNMSUBSrrr |
| 261U, // FNMULDrr |
| 261U, // FNMULHrr |
| 261U, // FNMULSrr |
| 1U, // FRECPE_ZZ_D |
| 0U, // FRECPE_ZZ_H |
| 1U, // FRECPE_ZZ_S |
| 1U, // FRECPEv1f16 |
| 1U, // FRECPEv1i32 |
| 1U, // FRECPEv1i64 |
| 2U, // FRECPEv2f32 |
| 2U, // FRECPEv2f64 |
| 3U, // FRECPEv4f16 |
| 3U, // FRECPEv4f32 |
| 4U, // FRECPEv8f16 |
| 261U, // FRECPS16 |
| 261U, // FRECPS32 |
| 261U, // FRECPS64 |
| 901U, // FRECPS_ZZZ_D |
| 137U, // FRECPS_ZZZ_H |
| 1029U, // FRECPS_ZZZ_S |
| 41287U, // FRECPSv2f32 |
| 8517U, // FRECPSv2f64 |
| 49480U, // FRECPSv4f16 |
| 16710U, // FRECPSv4f32 |
| 24902U, // FRECPSv8f16 |
| 64U, // FRECPX_ZPmZ_D |
| 128U, // FRECPX_ZPmZ_H |
| 192U, // FRECPX_ZPmZ_S |
| 1U, // FRECPXv1f16 |
| 1U, // FRECPXv1i32 |
| 1U, // FRECPXv1i64 |
| 1U, // FRINTADr |
| 1U, // FRINTAHr |
| 1U, // FRINTASr |
| 64U, // FRINTA_ZPmZ_D |
| 128U, // FRINTA_ZPmZ_H |
| 192U, // FRINTA_ZPmZ_S |
| 2U, // FRINTAv2f32 |
| 2U, // FRINTAv2f64 |
| 3U, // FRINTAv4f16 |
| 3U, // FRINTAv4f32 |
| 4U, // FRINTAv8f16 |
| 1U, // FRINTIDr |
| 1U, // FRINTIHr |
| 1U, // FRINTISr |
| 64U, // FRINTI_ZPmZ_D |
| 128U, // FRINTI_ZPmZ_H |
| 192U, // FRINTI_ZPmZ_S |
| 2U, // FRINTIv2f32 |
| 2U, // FRINTIv2f64 |
| 3U, // FRINTIv4f16 |
| 3U, // FRINTIv4f32 |
| 4U, // FRINTIv8f16 |
| 1U, // FRINTMDr |
| 1U, // FRINTMHr |
| 1U, // FRINTMSr |
| 64U, // FRINTM_ZPmZ_D |
| 128U, // FRINTM_ZPmZ_H |
| 192U, // FRINTM_ZPmZ_S |
| 2U, // FRINTMv2f32 |
| 2U, // FRINTMv2f64 |
| 3U, // FRINTMv4f16 |
| 3U, // FRINTMv4f32 |
| 4U, // FRINTMv8f16 |
| 1U, // FRINTNDr |
| 1U, // FRINTNHr |
| 1U, // FRINTNSr |
| 64U, // FRINTN_ZPmZ_D |
| 128U, // FRINTN_ZPmZ_H |
| 192U, // FRINTN_ZPmZ_S |
| 2U, // FRINTNv2f32 |
| 2U, // FRINTNv2f64 |
| 3U, // FRINTNv4f16 |
| 3U, // FRINTNv4f32 |
| 4U, // FRINTNv8f16 |
| 1U, // FRINTPDr |
| 1U, // FRINTPHr |
| 1U, // FRINTPSr |
| 64U, // FRINTP_ZPmZ_D |
| 128U, // FRINTP_ZPmZ_H |
| 192U, // FRINTP_ZPmZ_S |
| 2U, // FRINTPv2f32 |
| 2U, // FRINTPv2f64 |
| 3U, // FRINTPv4f16 |
| 3U, // FRINTPv4f32 |
| 4U, // FRINTPv8f16 |
| 1U, // FRINTXDr |
| 1U, // FRINTXHr |
| 1U, // FRINTXSr |
| 64U, // FRINTX_ZPmZ_D |
| 128U, // FRINTX_ZPmZ_H |
| 192U, // FRINTX_ZPmZ_S |
| 2U, // FRINTXv2f32 |
| 2U, // FRINTXv2f64 |
| 3U, // FRINTXv4f16 |
| 3U, // FRINTXv4f32 |
| 4U, // FRINTXv8f16 |
| 1U, // FRINTZDr |
| 1U, // FRINTZHr |
| 1U, // FRINTZSr |
| 64U, // FRINTZ_ZPmZ_D |
| 128U, // FRINTZ_ZPmZ_H |
| 192U, // FRINTZ_ZPmZ_S |
| 2U, // FRINTZv2f32 |
| 2U, // FRINTZv2f64 |
| 3U, // FRINTZv4f16 |
| 3U, // FRINTZv4f32 |
| 4U, // FRINTZv8f16 |
| 1U, // FRSQRTE_ZZ_D |
| 0U, // FRSQRTE_ZZ_H |
| 1U, // FRSQRTE_ZZ_S |
| 1U, // FRSQRTEv1f16 |
| 1U, // FRSQRTEv1i32 |
| 1U, // FRSQRTEv1i64 |
| 2U, // FRSQRTEv2f32 |
| 2U, // FRSQRTEv2f64 |
| 3U, // FRSQRTEv4f16 |
| 3U, // FRSQRTEv4f32 |
| 4U, // FRSQRTEv8f16 |
| 261U, // FRSQRTS16 |
| 261U, // FRSQRTS32 |
| 261U, // FRSQRTS64 |
| 901U, // FRSQRTS_ZZZ_D |
| 137U, // FRSQRTS_ZZZ_H |
| 1029U, // FRSQRTS_ZZZ_S |
| 41287U, // FRSQRTSv2f32 |
| 8517U, // FRSQRTSv2f64 |
| 49480U, // FRSQRTSv4f16 |
| 16710U, // FRSQRTSv4f32 |
| 24902U, // FRSQRTSv8f16 |
| 598912U, // FSCALE_ZPmZ_D |
| 1131465U, // FSCALE_ZPmZ_H |
| 1647616U, // FSCALE_ZPmZ_S |
| 1U, // FSQRTDr |
| 1U, // FSQRTHr |
| 1U, // FSQRTSr |
| 64U, // FSQRT_ZPmZ_D |
| 128U, // FSQRT_ZPmZ_H |
| 192U, // FSQRT_ZPmZ_S |
| 2U, // FSQRTv2f32 |
| 2U, // FSQRTv2f64 |
| 3U, // FSQRTv4f16 |
| 3U, // FSQRTv4f32 |
| 4U, // FSQRTv8f16 |
| 261U, // FSUBDrr |
| 261U, // FSUBHrr |
| 5317504U, // FSUBR_ZPmI_D |
| 140233U, // FSUBR_ZPmI_H |
| 5317632U, // FSUBR_ZPmI_S |
| 598912U, // FSUBR_ZPmZ_D |
| 1131465U, // FSUBR_ZPmZ_H |
| 1647616U, // FSUBR_ZPmZ_S |
| 261U, // FSUBSrr |
| 5317504U, // FSUB_ZPmI_D |
| 140233U, // FSUB_ZPmI_H |
| 5317632U, // FSUB_ZPmI_S |
| 598912U, // FSUB_ZPmZ_D |
| 1131465U, // FSUB_ZPmZ_H |
| 1647616U, // FSUB_ZPmZ_S |
| 901U, // FSUB_ZZZ_D |
| 137U, // FSUB_ZZZ_H |
| 1029U, // FSUB_ZZZ_S |
| 41287U, // FSUBv2f32 |
| 8517U, // FSUBv2f64 |
| 49480U, // FSUBv4f16 |
| 16710U, // FSUBv4f32 |
| 24902U, // FSUBv8f16 |
| 2171781U, // FTMAD_ZZI_D |
| 91081U, // FTMAD_ZZI_H |
| 2171909U, // FTMAD_ZZI_S |
| 901U, // FTSMUL_ZZZ_D |
| 137U, // FTSMUL_ZZZ_H |
| 1029U, // FTSMUL_ZZZ_S |
| 901U, // FTSSEL_ZZZ_D |
| 137U, // FTSSEL_ZZZ_H |
| 1029U, // FTSSEL_ZZZ_S |
| 3153U, // GLD1B_D_IMM_REAL |
| 3205U, // GLD1B_D_REAL |
| 3269U, // GLD1B_D_SXTW_REAL |
| 3333U, // GLD1B_D_UXTW_REAL |
| 3153U, // GLD1B_S_IMM_REAL |
| 3397U, // GLD1B_S_SXTW_REAL |
| 3461U, // GLD1B_S_UXTW_REAL |
| 26U, // GLD1D_IMM_REAL |
| 3205U, // GLD1D_REAL |
| 3525U, // GLD1D_SCALED_REAL |
| 3269U, // GLD1D_SXTW_REAL |
| 3589U, // GLD1D_SXTW_SCALED_REAL |
| 3333U, // GLD1D_UXTW_REAL |
| 3653U, // GLD1D_UXTW_SCALED_REAL |
| 26U, // GLD1H_D_IMM_REAL |
| 3205U, // GLD1H_D_REAL |
| 3717U, // GLD1H_D_SCALED_REAL |
| 3269U, // GLD1H_D_SXTW_REAL |
| 3781U, // GLD1H_D_SXTW_SCALED_REAL |
| 3333U, // GLD1H_D_UXTW_REAL |
| 3845U, // GLD1H_D_UXTW_SCALED_REAL |
| 26U, // GLD1H_S_IMM_REAL |
| 3397U, // GLD1H_S_SXTW_REAL |
| 3909U, // GLD1H_S_SXTW_SCALED_REAL |
| 3461U, // GLD1H_S_UXTW_REAL |
| 3973U, // GLD1H_S_UXTW_SCALED_REAL |
| 3153U, // GLD1SB_D_IMM_REAL |
| 3205U, // GLD1SB_D_REAL |
| 3269U, // GLD1SB_D_SXTW_REAL |
| 3333U, // GLD1SB_D_UXTW_REAL |
| 3153U, // GLD1SB_S_IMM_REAL |
| 3397U, // GLD1SB_S_SXTW_REAL |
| 3461U, // GLD1SB_S_UXTW_REAL |
| 26U, // GLD1SH_D_IMM_REAL |
| 3205U, // GLD1SH_D_REAL |
| 3717U, // GLD1SH_D_SCALED_REAL |
| 3269U, // GLD1SH_D_SXTW_REAL |
| 3781U, // GLD1SH_D_SXTW_SCALED_REAL |
| 3333U, // GLD1SH_D_UXTW_REAL |
| 3845U, // GLD1SH_D_UXTW_SCALED_REAL |
| 26U, // GLD1SH_S_IMM_REAL |
| 3397U, // GLD1SH_S_SXTW_REAL |
| 3909U, // GLD1SH_S_SXTW_SCALED_REAL |
| 3461U, // GLD1SH_S_UXTW_REAL |
| 3973U, // GLD1SH_S_UXTW_SCALED_REAL |
| 27U, // GLD1SW_D_IMM_REAL |
| 3205U, // GLD1SW_D_REAL |
| 4037U, // GLD1SW_D_SCALED_REAL |
| 3269U, // GLD1SW_D_SXTW_REAL |
| 4101U, // GLD1SW_D_SXTW_SCALED_REAL |
| 3333U, // GLD1SW_D_UXTW_REAL |
| 4165U, // GLD1SW_D_UXTW_SCALED_REAL |
| 27U, // GLD1W_D_IMM_REAL |
| 3205U, // GLD1W_D_REAL |
| 4037U, // GLD1W_D_SCALED_REAL |
| 3269U, // GLD1W_D_SXTW_REAL |
| 4101U, // GLD1W_D_SXTW_SCALED_REAL |
| 3333U, // GLD1W_D_UXTW_REAL |
| 4165U, // GLD1W_D_UXTW_SCALED_REAL |
| 27U, // GLD1W_IMM_REAL |
| 3397U, // GLD1W_SXTW_REAL |
| 4229U, // GLD1W_SXTW_SCALED_REAL |
| 3461U, // GLD1W_UXTW_REAL |
| 4293U, // GLD1W_UXTW_SCALED_REAL |
| 3153U, // GLDFF1B_D_IMM_REAL |
| 3205U, // GLDFF1B_D_REAL |
| 3269U, // GLDFF1B_D_SXTW_REAL |
| 3333U, // GLDFF1B_D_UXTW_REAL |
| 3153U, // GLDFF1B_S_IMM_REAL |
| 3397U, // GLDFF1B_S_SXTW_REAL |
| 3461U, // GLDFF1B_S_UXTW_REAL |
| 26U, // GLDFF1D_IMM_REAL |
| 3205U, // GLDFF1D_REAL |
| 3525U, // GLDFF1D_SCALED_REAL |
| 3269U, // GLDFF1D_SXTW_REAL |
| 3589U, // GLDFF1D_SXTW_SCALED_REAL |
| 3333U, // GLDFF1D_UXTW_REAL |
| 3653U, // GLDFF1D_UXTW_SCALED_REAL |
| 26U, // GLDFF1H_D_IMM_REAL |
| 3205U, // GLDFF1H_D_REAL |
| 3717U, // GLDFF1H_D_SCALED_REAL |
| 3269U, // GLDFF1H_D_SXTW_REAL |
| 3781U, // GLDFF1H_D_SXTW_SCALED_REAL |
| 3333U, // GLDFF1H_D_UXTW_REAL |
| 3845U, // GLDFF1H_D_UXTW_SCALED_REAL |
| 26U, // GLDFF1H_S_IMM_REAL |
| 3397U, // GLDFF1H_S_SXTW_REAL |
| 3909U, // GLDFF1H_S_SXTW_SCALED_REAL |
| 3461U, // GLDFF1H_S_UXTW_REAL |
| 3973U, // GLDFF1H_S_UXTW_SCALED_REAL |
| 3153U, // GLDFF1SB_D_IMM_REAL |
| 3205U, // GLDFF1SB_D_REAL |
| 3269U, // GLDFF1SB_D_SXTW_REAL |
| 3333U, // GLDFF1SB_D_UXTW_REAL |
| 3153U, // GLDFF1SB_S_IMM_REAL |
| 3397U, // GLDFF1SB_S_SXTW_REAL |
| 3461U, // GLDFF1SB_S_UXTW_REAL |
| 26U, // GLDFF1SH_D_IMM_REAL |
| 3205U, // GLDFF1SH_D_REAL |
| 3717U, // GLDFF1SH_D_SCALED_REAL |
| 3269U, // GLDFF1SH_D_SXTW_REAL |
| 3781U, // GLDFF1SH_D_SXTW_SCALED_REAL |
| 3333U, // GLDFF1SH_D_UXTW_REAL |
| 3845U, // GLDFF1SH_D_UXTW_SCALED_REAL |
| 26U, // GLDFF1SH_S_IMM_REAL |
| 3397U, // GLDFF1SH_S_SXTW_REAL |
| 3909U, // GLDFF1SH_S_SXTW_SCALED_REAL |
| 3461U, // GLDFF1SH_S_UXTW_REAL |
| 3973U, // GLDFF1SH_S_UXTW_SCALED_REAL |
| 27U, // GLDFF1SW_D_IMM_REAL |
| 3205U, // GLDFF1SW_D_REAL |
| 4037U, // GLDFF1SW_D_SCALED_REAL |
| 3269U, // GLDFF1SW_D_SXTW_REAL |
| 4101U, // GLDFF1SW_D_SXTW_SCALED_REAL |
| 3333U, // GLDFF1SW_D_UXTW_REAL |
| 4165U, // GLDFF1SW_D_UXTW_SCALED_REAL |
| 27U, // GLDFF1W_D_IMM_REAL |
| 3205U, // GLDFF1W_D_REAL |
| 4037U, // GLDFF1W_D_SCALED_REAL |
| 3269U, // GLDFF1W_D_SXTW_REAL |
| 4101U, // GLDFF1W_D_SXTW_SCALED_REAL |
| 3333U, // GLDFF1W_D_UXTW_REAL |
| 4165U, // GLDFF1W_D_UXTW_SCALED_REAL |
| 27U, // GLDFF1W_IMM_REAL |
| 3397U, // GLDFF1W_SXTW_REAL |
| 4229U, // GLDFF1W_SXTW_SCALED_REAL |
| 3461U, // GLDFF1W_UXTW_REAL |
| 4293U, // GLDFF1W_UXTW_SCALED_REAL |
| 0U, // HINT |
| 0U, // HLT |
| 0U, // HVC |
| 0U, // INCB_XPiI |
| 0U, // INCD_XPiI |
| 0U, // INCD_ZPiI |
| 0U, // INCH_XPiI |
| 0U, // INCH_ZPiI |
| 1U, // INCP_XP_B |
| 1U, // INCP_XP_D |
| 1U, // INCP_XP_H |
| 1U, // INCP_XP_S |
| 1U, // INCP_ZP_D |
| 0U, // INCP_ZP_H |
| 1U, // INCP_ZP_S |
| 0U, // INCW_XPiI |
| 0U, // INCW_ZPiI |
| 261U, // INDEX_II_B |
| 261U, // INDEX_II_D |
| 11U, // INDEX_II_H |
| 261U, // INDEX_II_S |
| 261U, // INDEX_IR_B |
| 261U, // INDEX_IR_D |
| 11U, // INDEX_IR_H |
| 261U, // INDEX_IR_S |
| 261U, // INDEX_RI_B |
| 261U, // INDEX_RI_D |
| 11U, // INDEX_RI_H |
| 261U, // INDEX_RI_S |
| 261U, // INDEX_RR_B |
| 261U, // INDEX_RR_D |
| 11U, // INDEX_RR_H |
| 261U, // INDEX_RR_S |
| 1U, // INSR_ZR_B |
| 1U, // INSR_ZR_D |
| 0U, // INSR_ZR_H |
| 1U, // INSR_ZR_S |
| 1U, // INSR_ZV_B |
| 1U, // INSR_ZV_D |
| 0U, // INSR_ZV_H |
| 1U, // INSR_ZV_S |
| 1U, // INSvi16gpr |
| 2898U, // INSvi16lane |
| 1U, // INSvi32gpr |
| 2898U, // INSvi32lane |
| 1U, // INSvi64gpr |
| 2899U, // INSvi64lane |
| 1U, // INSvi8gpr |
| 2899U, // INSvi8lane |
| 0U, // ISB |
| 837U, // LASTA_RPZ_B |
| 901U, // LASTA_RPZ_D |
| 2245U, // LASTA_RPZ_H |
| 1029U, // LASTA_RPZ_S |
| 837U, // LASTA_VPZ_B |
| 901U, // LASTA_VPZ_D |
| 2245U, // LASTA_VPZ_H |
| 1029U, // LASTA_VPZ_S |
| 837U, // LASTB_RPZ_B |
| 901U, // LASTB_RPZ_D |
| 2245U, // LASTB_RPZ_H |
| 1029U, // LASTB_RPZ_S |
| 837U, // LASTB_VPZ_B |
| 901U, // LASTB_VPZ_D |
| 2245U, // LASTB_VPZ_H |
| 1029U, // LASTB_VPZ_S |
| 4357U, // LD1B |
| 4357U, // LD1B_D |
| 256261U, // LD1B_D_IMM_REAL |
| 4357U, // LD1B_H |
| 256261U, // LD1B_H_IMM_REAL |
| 256261U, // LD1B_IMM_REAL |
| 4357U, // LD1B_S |
| 256261U, // LD1B_S_IMM_REAL |
| 4421U, // LD1D |
| 256261U, // LD1D_IMM_REAL |
| 0U, // LD1Fourv16b |
| 0U, // LD1Fourv16b_POST |
| 0U, // LD1Fourv1d |
| 0U, // LD1Fourv1d_POST |
| 0U, // LD1Fourv2d |
| 0U, // LD1Fourv2d_POST |
| 0U, // LD1Fourv2s |
| 0U, // LD1Fourv2s_POST |
| 0U, // LD1Fourv4h |
| 0U, // LD1Fourv4h_POST |
| 0U, // LD1Fourv4s |
| 0U, // LD1Fourv4s_POST |
| 0U, // LD1Fourv8b |
| 0U, // LD1Fourv8b_POST |
| 0U, // LD1Fourv8h |
| 0U, // LD1Fourv8h_POST |
| 4485U, // LD1H |
| 4485U, // LD1H_D |
| 256261U, // LD1H_D_IMM_REAL |
| 256261U, // LD1H_IMM_REAL |
| 4485U, // LD1H_S |
| 256261U, // LD1H_S_IMM_REAL |
| 0U, // LD1Onev16b |
| 0U, // LD1Onev16b_POST |
| 0U, // LD1Onev1d |
| 0U, // LD1Onev1d_POST |
| 0U, // LD1Onev2d |
| 0U, // LD1Onev2d_POST |
| 0U, // LD1Onev2s |
| 0U, // LD1Onev2s_POST |
| 0U, // LD1Onev4h |
| 0U, // LD1Onev4h_POST |
| 0U, // LD1Onev4s |
| 0U, // LD1Onev4s_POST |
| 0U, // LD1Onev8b |
| 0U, // LD1Onev8b_POST |
| 0U, // LD1Onev8h |
| 0U, // LD1Onev8h_POST |
| 116997U, // LD1RB_D_IMM |
| 116997U, // LD1RB_H_IMM |
| 116997U, // LD1RB_IMM |
| 116997U, // LD1RB_S_IMM |
| 119237U, // LD1RD_IMM |
| 119301U, // LD1RH_D_IMM |
| 119301U, // LD1RH_IMM |
| 119301U, // LD1RH_S_IMM |
| 4357U, // LD1RQ_B |
| 4677U, // LD1RQ_B_IMM |
| 4421U, // LD1RQ_D |
| 4677U, // LD1RQ_D_IMM |
| 4485U, // LD1RQ_H |
| 4677U, // LD1RQ_H_IMM |
| 4741U, // LD1RQ_W |
| 4677U, // LD1RQ_W_IMM |
| 116997U, // LD1RSB_D_IMM |
| 116997U, // LD1RSB_H_IMM |
| 116997U, // LD1RSB_S_IMM |
| 119301U, // LD1RSH_D_IMM |
| 119301U, // LD1RSH_S_IMM |
| 119493U, // LD1RSW_IMM |
| 119493U, // LD1RW_D_IMM |
| 119493U, // LD1RW_IMM |
| 0U, // LD1Rv16b |
| 0U, // LD1Rv16b_POST |
| 0U, // LD1Rv1d |
| 0U, // LD1Rv1d_POST |
| 0U, // LD1Rv2d |
| 0U, // LD1Rv2d_POST |
| 0U, // LD1Rv2s |
| 0U, // LD1Rv2s_POST |
| 0U, // LD1Rv4h |
| 0U, // LD1Rv4h_POST |
| 0U, // LD1Rv4s |
| 0U, // LD1Rv4s_POST |
| 0U, // LD1Rv8b |
| 0U, // LD1Rv8b_POST |
| 0U, // LD1Rv8h |
| 0U, // LD1Rv8h_POST |
| 4357U, // LD1SB_D |
| 256261U, // LD1SB_D_IMM_REAL |
| 4357U, // LD1SB_H |
| 256261U, // LD1SB_H_IMM_REAL |
| 4357U, // LD1SB_S |
| 256261U, // LD1SB_S_IMM_REAL |
| 4485U, // LD1SH_D |
| 256261U, // LD1SH_D_IMM_REAL |
| 4485U, // LD1SH_S |
| 256261U, // LD1SH_S_IMM_REAL |
| 4741U, // LD1SW_D |
| 256261U, // LD1SW_D_IMM_REAL |
| 0U, // LD1Threev16b |
| 0U, // LD1Threev16b_POST |
| 0U, // LD1Threev1d |
| 0U, // LD1Threev1d_POST |
| 0U, // LD1Threev2d |
| 0U, // LD1Threev2d_POST |
| 0U, // LD1Threev2s |
| 0U, // LD1Threev2s_POST |
| 0U, // LD1Threev4h |
| 0U, // LD1Threev4h_POST |
| 0U, // LD1Threev4s |
| 0U, // LD1Threev4s_POST |
| 0U, // LD1Threev8b |
| 0U, // LD1Threev8b_POST |
| 0U, // LD1Threev8h |
| 0U, // LD1Threev8h_POST |
| 0U, // LD1Twov16b |
| 0U, // LD1Twov16b_POST |
| 0U, // LD1Twov1d |
| 0U, // LD1Twov1d_POST |
| 0U, // LD1Twov2d |
| 0U, // LD1Twov2d_POST |
| 0U, // LD1Twov2s |
| 0U, // LD1Twov2s_POST |
| 0U, // LD1Twov4h |
| 0U, // LD1Twov4h_POST |
| 0U, // LD1Twov4s |
| 0U, // LD1Twov4s_POST |
| 0U, // LD1Twov8b |
| 0U, // LD1Twov8b_POST |
| 0U, // LD1Twov8h |
| 0U, // LD1Twov8h_POST |
| 4741U, // LD1W |
| 4741U, // LD1W_D |
| 256261U, // LD1W_D_IMM_REAL |
| 256261U, // LD1W_IMM_REAL |
| 0U, // LD1i16 |
| 0U, // LD1i16_POST |
| 0U, // LD1i32 |
| 0U, // LD1i32_POST |
| 0U, // LD1i64 |
| 0U, // LD1i64_POST |
| 0U, // LD1i8 |
| 0U, // LD1i8_POST |
| 4357U, // LD2B |
| 258565U, // LD2B_IMM |
| 4421U, // LD2D |
| 258565U, // LD2D_IMM |
| 4485U, // LD2H |
| 258565U, // LD2H_IMM |
| 0U, // LD2Rv16b |
| 0U, // LD2Rv16b_POST |
| 0U, // LD2Rv1d |
| 0U, // LD2Rv1d_POST |
| 0U, // LD2Rv2d |
| 0U, // LD2Rv2d_POST |
| 0U, // LD2Rv2s |
| 0U, // LD2Rv2s_POST |
| 0U, // LD2Rv4h |
| 0U, // LD2Rv4h_POST |
| 0U, // LD2Rv4s |
| 0U, // LD2Rv4s_POST |
| 0U, // LD2Rv8b |
| 0U, // LD2Rv8b_POST |
| 0U, // LD2Rv8h |
| 0U, // LD2Rv8h_POST |
| 0U, // LD2Twov16b |
| 0U, // LD2Twov16b_POST |
| 0U, // LD2Twov2d |
| 0U, // LD2Twov2d_POST |
| 0U, // LD2Twov2s |
| 0U, // LD2Twov2s_POST |
| 0U, // LD2Twov4h |
| 0U, // LD2Twov4h_POST |
| 0U, // LD2Twov4s |
| 0U, // LD2Twov4s_POST |
| 0U, // LD2Twov8b |
| 0U, // LD2Twov8b_POST |
| 0U, // LD2Twov8h |
| 0U, // LD2Twov8h_POST |
| 4741U, // LD2W |
| 258565U, // LD2W_IMM |
| 0U, // LD2i16 |
| 0U, // LD2i16_POST |
| 0U, // LD2i32 |
| 0U, // LD2i32_POST |
| 0U, // LD2i64 |
| 0U, // LD2i64_POST |
| 0U, // LD2i8 |
| 0U, // LD2i8_POST |
| 4357U, // LD3B |
| 4869U, // LD3B_IMM |
| 4421U, // LD3D |
| 4869U, // LD3D_IMM |
| 4485U, // LD3H |
| 4869U, // LD3H_IMM |
| 0U, // LD3Rv16b |
| 0U, // LD3Rv16b_POST |
| 0U, // LD3Rv1d |
| 0U, // LD3Rv1d_POST |
| 0U, // LD3Rv2d |
| 0U, // LD3Rv2d_POST |
| 0U, // LD3Rv2s |
| 0U, // LD3Rv2s_POST |
| 0U, // LD3Rv4h |
| 0U, // LD3Rv4h_POST |
| 0U, // LD3Rv4s |
| 0U, // LD3Rv4s_POST |
| 0U, // LD3Rv8b |
| 0U, // LD3Rv8b_POST |
| 0U, // LD3Rv8h |
| 0U, // LD3Rv8h_POST |
| 0U, // LD3Threev16b |
| 0U, // LD3Threev16b_POST |
| 0U, // LD3Threev2d |
| 0U, // LD3Threev2d_POST |
| 0U, // LD3Threev2s |
| 0U, // LD3Threev2s_POST |
| 0U, // LD3Threev4h |
| 0U, // LD3Threev4h_POST |
| 0U, // LD3Threev4s |
| 0U, // LD3Threev4s_POST |
| 0U, // LD3Threev8b |
| 0U, // LD3Threev8b_POST |
| 0U, // LD3Threev8h |
| 0U, // LD3Threev8h_POST |
| 4741U, // LD3W |
| 4869U, // LD3W_IMM |
| 0U, // LD3i16 |
| 0U, // LD3i16_POST |
| 0U, // LD3i32 |
| 0U, // LD3i32_POST |
| 0U, // LD3i64 |
| 0U, // LD3i64_POST |
| 0U, // LD3i8 |
| 0U, // LD3i8_POST |
| 4357U, // LD4B |
| 258757U, // LD4B_IMM |
| 4421U, // LD4D |
| 258757U, // LD4D_IMM |
| 0U, // LD4Fourv16b |
| 0U, // LD4Fourv16b_POST |
| 0U, // LD4Fourv2d |
| 0U, // LD4Fourv2d_POST |
| 0U, // LD4Fourv2s |
| 0U, // LD4Fourv2s_POST |
| 0U, // LD4Fourv4h |
| 0U, // LD4Fourv4h_POST |
| 0U, // LD4Fourv4s |
| 0U, // LD4Fourv4s_POST |
| 0U, // LD4Fourv8b |
| 0U, // LD4Fourv8b_POST |
| 0U, // LD4Fourv8h |
| 0U, // LD4Fourv8h_POST |
| 4485U, // LD4H |
| 258757U, // LD4H_IMM |
| 0U, // LD4Rv16b |
| 0U, // LD4Rv16b_POST |
| 0U, // LD4Rv1d |
| 0U, // LD4Rv1d_POST |
| 0U, // LD4Rv2d |
| 0U, // LD4Rv2d_POST |
| 0U, // LD4Rv2s |
| 0U, // LD4Rv2s_POST |
| 0U, // LD4Rv4h |
| 0U, // LD4Rv4h_POST |
| 0U, // LD4Rv4s |
| 0U, // LD4Rv4s_POST |
| 0U, // LD4Rv8b |
| 0U, // LD4Rv8b_POST |
| 0U, // LD4Rv8h |
| 0U, // LD4Rv8h_POST |
| 4741U, // LD4W |
| 258757U, // LD4W_IMM |
| 0U, // LD4i16 |
| 0U, // LD4i16_POST |
| 0U, // LD4i32 |
| 0U, // LD4i32_POST |
| 0U, // LD4i64 |
| 0U, // LD4i64_POST |
| 0U, // LD4i8 |
| 0U, // LD4i8_POST |
| 0U, // LDADDAB |
| 0U, // LDADDAH |
| 0U, // LDADDALB |
| 0U, // LDADDALH |
| 0U, // LDADDALW |
| 0U, // LDADDALX |
| 0U, // LDADDAW |
| 0U, // LDADDAX |
| 0U, // LDADDB |
| 0U, // LDADDH |
| 0U, // LDADDLB |
| 0U, // LDADDLH |
| 0U, // LDADDLW |
| 0U, // LDADDLX |
| 0U, // LDADDW |
| 0U, // LDADDX |
| 27U, // LDAPRB |
| 27U, // LDAPRH |
| 27U, // LDAPRW |
| 27U, // LDAPRX |
| 114949U, // LDAPURBi |
| 114949U, // LDAPURHi |
| 114949U, // LDAPURSBWi |
| 114949U, // LDAPURSBXi |
| 114949U, // LDAPURSHWi |
| 114949U, // LDAPURSHXi |
| 114949U, // LDAPURSWi |
| 114949U, // LDAPURXi |
| 114949U, // LDAPURi |
| 27U, // LDARB |
| 27U, // LDARH |
| 27U, // LDARW |
| 27U, // LDARX |
| 114955U, // LDAXPW |
| 114955U, // LDAXPX |
| 27U, // LDAXRB |
| 27U, // LDAXRH |
| 27U, // LDAXRW |
| 27U, // LDAXRX |
| 0U, // LDCLRAB |
| 0U, // LDCLRAH |
| 0U, // LDCLRALB |
| 0U, // LDCLRALH |
| 0U, // LDCLRALW |
| 0U, // LDCLRALX |
| 0U, // LDCLRAW |
| 0U, // LDCLRAX |
| 0U, // LDCLRB |
| 0U, // LDCLRH |
| 0U, // LDCLRLB |
| 0U, // LDCLRLH |
| 0U, // LDCLRLW |
| 0U, // LDCLRLX |
| 0U, // LDCLRW |
| 0U, // LDCLRX |
| 0U, // LDEORAB |
| 0U, // LDEORAH |
| 0U, // LDEORALB |
| 0U, // LDEORALH |
| 0U, // LDEORALW |
| 0U, // LDEORALX |
| 0U, // LDEORAW |
| 0U, // LDEORAX |
| 0U, // LDEORB |
| 0U, // LDEORH |
| 0U, // LDEORLB |
| 0U, // LDEORLH |
| 0U, // LDEORLW |
| 0U, // LDEORLX |
| 0U, // LDEORW |
| 0U, // LDEORX |
| 4357U, // LDFF1B_D_REAL |
| 4357U, // LDFF1B_H_REAL |
| 4357U, // LDFF1B_REAL |
| 4357U, // LDFF1B_S_REAL |
| 4421U, // LDFF1D_REAL |
| 4485U, // LDFF1H_D_REAL |
| 4485U, // LDFF1H_REAL |
| 4485U, // LDFF1H_S_REAL |
| 4357U, // LDFF1SB_D_REAL |
| 4357U, // LDFF1SB_H_REAL |
| 4357U, // LDFF1SB_S_REAL |
| 4485U, // LDFF1SH_D_REAL |
| 4485U, // LDFF1SH_S_REAL |
| 4741U, // LDFF1SW_D_REAL |
| 4741U, // LDFF1W_D_REAL |
| 4741U, // LDFF1W_REAL |
| 27U, // LDLARB |
| 27U, // LDLARH |
| 27U, // LDLARW |
| 27U, // LDLARX |
| 256261U, // LDNF1B_D_IMM_REAL |
| 256261U, // LDNF1B_H_IMM_REAL |
| 256261U, // LDNF1B_IMM_REAL |
| 256261U, // LDNF1B_S_IMM_REAL |
| 256261U, // LDNF1D_IMM_REAL |
| 256261U, // LDNF1H_D_IMM_REAL |
| 256261U, // LDNF1H_IMM_REAL |
| 256261U, // LDNF1H_S_IMM_REAL |
| 256261U, // LDNF1SB_D_IMM_REAL |
| 256261U, // LDNF1SB_H_IMM_REAL |
| 256261U, // LDNF1SB_S_IMM_REAL |
| 256261U, // LDNF1SH_D_IMM_REAL |
| 256261U, // LDNF1SH_S_IMM_REAL |
| 256261U, // LDNF1SW_D_IMM_REAL |
| 256261U, // LDNF1W_D_IMM_REAL |
| 256261U, // LDNF1W_IMM_REAL |
| 11084043U, // LDNPDi |
| 11608331U, // LDNPQi |
| 12132619U, // LDNPSi |
| 12132619U, // LDNPWi |
| 11084043U, // LDNPXi |
| 256261U, // LDNT1B_ZRI |
| 4357U, // LDNT1B_ZRR |
| 256261U, // LDNT1D_ZRI |
| 4421U, // LDNT1D_ZRR |
| 256261U, // LDNT1H_ZRI |
| 4485U, // LDNT1H_ZRR |
| 256261U, // LDNT1W_ZRI |
| 4741U, // LDNT1W_ZRR |
| 11084043U, // LDPDi |
| 12847371U, // LDPDpost |
| 180431115U, // LDPDpre |
| 11608331U, // LDPQi |
| 13371659U, // LDPQpost |
| 180955403U, // LDPQpre |
| 12132619U, // LDPSWi |
| 13895947U, // LDPSWpost |
| 181479691U, // LDPSWpre |
| 12132619U, // LDPSi |
| 13895947U, // LDPSpost |
| 181479691U, // LDPSpre |
| 12132619U, // LDPWi |
| 13895947U, // LDPWpost |
| 181479691U, // LDPWpre |
| 11084043U, // LDPXi |
| 12847371U, // LDPXpost |
| 180431115U, // LDPXpre |
| 4933U, // LDRAAindexed |
| 274885U, // LDRAAwriteback |
| 4933U, // LDRABindexed |
| 274885U, // LDRABwriteback |
| 28U, // LDRBBpost |
| 272645U, // LDRBBpre |
| 14229765U, // LDRBBroW |
| 14754053U, // LDRBBroX |
| 4997U, // LDRBBui |
| 28U, // LDRBpost |
| 272645U, // LDRBpre |
| 14229765U, // LDRBroW |
| 14754053U, // LDRBroX |
| 4997U, // LDRBui |
| 0U, // LDRDl |
| 28U, // LDRDpost |
| 272645U, // LDRDpre |
| 15278341U, // LDRDroW |
| 15802629U, // LDRDroX |
| 5061U, // LDRDui |
| 28U, // LDRHHpost |
| 272645U, // LDRHHpre |
| 16326917U, // LDRHHroW |
| 16851205U, // LDRHHroX |
| 5125U, // LDRHHui |
| 28U, // LDRHpost |
| 272645U, // LDRHpre |
| 16326917U, // LDRHroW |
| 16851205U, // LDRHroX |
| 5125U, // LDRHui |
| 0U, // LDRQl |
| 28U, // LDRQpost |
| 272645U, // LDRQpre |
| 17375493U, // LDRQroW |
| 17899781U, // LDRQroX |
| 5189U, // LDRQui |
| 28U, // LDRSBWpost |
| 272645U, // LDRSBWpre |
| 14229765U, // LDRSBWroW |
| 14754053U, // LDRSBWroX |
| 4997U, // LDRSBWui |
| 28U, // LDRSBXpost |
| 272645U, // LDRSBXpre |
| 14229765U, // LDRSBXroW |
| 14754053U, // LDRSBXroX |
| 4997U, // LDRSBXui |
| 28U, // LDRSHWpost |
| 272645U, // LDRSHWpre |
| 16326917U, // LDRSHWroW |
| 16851205U, // LDRSHWroX |
| 5125U, // LDRSHWui |
| 28U, // LDRSHXpost |
| 272645U, // LDRSHXpre |
| 16326917U, // LDRSHXroW |
| 16851205U, // LDRSHXroX |
| 5125U, // LDRSHXui |
| 0U, // LDRSWl |
| 28U, // LDRSWpost |
| 272645U, // LDRSWpre |
| 18424069U, // LDRSWroW |
| 18948357U, // LDRSWroX |
| 5253U, // LDRSWui |
| 0U, // LDRSl |
| 28U, // LDRSpost |
| 272645U, // LDRSpre |
| 18424069U, // LDRSroW |
| 18948357U, // LDRSroX |
| 5253U, // LDRSui |
| 0U, // LDRWl |
| 28U, // LDRWpost |
| 272645U, // LDRWpre |
| 18424069U, // LDRWroW |
| 18948357U, // LDRWroX |
| 5253U, // LDRWui |
| 0U, // LDRXl |
| 28U, // LDRXpost |
| 272645U, // LDRXpre |
| 15278341U, // LDRXroW |
| 15802629U, // LDRXroX |
| 5061U, // LDRXui |
| 254213U, // LDR_PXI |
| 254213U, // LDR_ZXI |
| 0U, // LDSETAB |
| 0U, // LDSETAH |
| 0U, // LDSETALB |
| 0U, // LDSETALH |
| 0U, // LDSETALW |
| 0U, // LDSETALX |
| 0U, // LDSETAW |
| 0U, // LDSETAX |
| 0U, // LDSETB |
| 0U, // LDSETH |
| 0U, // LDSETLB |
| 0U, // LDSETLH |
| 0U, // LDSETLW |
| 0U, // LDSETLX |
| 0U, // LDSETW |
| 0U, // LDSETX |
| 0U, // LDSMAXAB |
| 0U, // LDSMAXAH |
| 0U, // LDSMAXALB |
| 0U, // LDSMAXALH |
| 0U, // LDSMAXALW |
| 0U, // LDSMAXALX |
| 0U, // LDSMAXAW |
| 0U, // LDSMAXAX |
| 0U, // LDSMAXB |
| 0U, // LDSMAXH |
| 0U, // LDSMAXLB |
| 0U, // LDSMAXLH |
| 0U, // LDSMAXLW |
| 0U, // LDSMAXLX |
| 0U, // LDSMAXW |
| 0U, // LDSMAXX |
| 0U, // LDSMINAB |
| 0U, // LDSMINAH |
| 0U, // LDSMINALB |
| 0U, // LDSMINALH |
| 0U, // LDSMINALW |
| 0U, // LDSMINALX |
| 0U, // LDSMINAW |
| 0U, // LDSMINAX |
| 0U, // LDSMINB |
| 0U, // LDSMINH |
| 0U, // LDSMINLB |
| 0U, // LDSMINLH |
| 0U, // LDSMINLW |
| 0U, // LDSMINLX |
| 0U, // LDSMINW |
| 0U, // LDSMINX |
| 114949U, // LDTRBi |
| 114949U, // LDTRHi |
| 114949U, // LDTRSBWi |
| 114949U, // LDTRSBXi |
| 114949U, // LDTRSHWi |
| 114949U, // LDTRSHXi |
| 114949U, // LDTRSWi |
| 114949U, // LDTRWi |
| 114949U, // LDTRXi |
| 0U, // LDUMAXAB |
| 0U, // LDUMAXAH |
| 0U, // LDUMAXALB |
| 0U, // LDUMAXALH |
| 0U, // LDUMAXALW |
| 0U, // LDUMAXALX |
| 0U, // LDUMAXAW |
| 0U, // LDUMAXAX |
| 0U, // LDUMAXB |
| 0U, // LDUMAXH |
| 0U, // LDUMAXLB |
| 0U, // LDUMAXLH |
| 0U, // LDUMAXLW |
| 0U, // LDUMAXLX |
| 0U, // LDUMAXW |
| 0U, // LDUMAXX |
| 0U, // LDUMINAB |
| 0U, // LDUMINAH |
| 0U, // LDUMINALB |
| 0U, // LDUMINALH |
| 0U, // LDUMINALW |
| 0U, // LDUMINALX |
| 0U, // LDUMINAW |
| 0U, // LDUMINAX |
| 0U, // LDUMINB |
| 0U, // LDUMINH |
| 0U, // LDUMINLB |
| 0U, // LDUMINLH |
| 0U, // LDUMINLW |
| 0U, // LDUMINLX |
| 0U, // LDUMINW |
| 0U, // LDUMINX |
| 114949U, // LDURBBi |
| 114949U, // LDURBi |
| 114949U, // LDURDi |
| 114949U, // LDURHHi |
| 114949U, // LDURHi |
| 114949U, // LDURQi |
| 114949U, // LDURSBWi |
| 114949U, // LDURSBXi |
| 114949U, // LDURSHWi |
| 114949U, // LDURSHXi |
| 114949U, // LDURSWi |
| 114949U, // LDURSi |
| 114949U, // LDURWi |
| 114949U, // LDURXi |
| 114955U, // LDXPW |
| 114955U, // LDXPX |
| 27U, // LDXRB |
| 27U, // LDXRH |
| 27U, // LDXRW |
| 27U, // LDXRX |
| 0U, // LOADgot |
| 74560U, // LSLR_ZPmZ_B |
| 598912U, // LSLR_ZPmZ_D |
| 1131465U, // LSLR_ZPmZ_H |
| 1647616U, // LSLR_ZPmZ_S |
| 261U, // LSLVWr |
| 261U, // LSLVXr |
| 598848U, // LSL_WIDE_ZPmZ_B |
| 99273U, // LSL_WIDE_ZPmZ_H |
| 599040U, // LSL_WIDE_ZPmZ_S |
| 901U, // LSL_WIDE_ZZZ_B |
| 10U, // LSL_WIDE_ZZZ_H |
| 901U, // LSL_WIDE_ZZZ_S |
| 2171712U, // LSL_ZPmI_B |
| 2171776U, // LSL_ZPmI_D |
| 91081U, // LSL_ZPmI_H |
| 2171904U, // LSL_ZPmI_S |
| 74560U, // LSL_ZPmZ_B |
| 598912U, // LSL_ZPmZ_D |
| 1131465U, // LSL_ZPmZ_H |
| 1647616U, // LSL_ZPmZ_S |
| 261U, // LSL_ZZI_B |
| 261U, // LSL_ZZI_D |
| 11U, // LSL_ZZI_H |
| 261U, // LSL_ZZI_S |
| 74560U, // LSRR_ZPmZ_B |
| 598912U, // LSRR_ZPmZ_D |
| 1131465U, // LSRR_ZPmZ_H |
| 1647616U, // LSRR_ZPmZ_S |
| 261U, // LSRVWr |
| 261U, // LSRVXr |
| 598848U, // LSR_WIDE_ZPmZ_B |
| 99273U, // LSR_WIDE_ZPmZ_H |
| 599040U, // LSR_WIDE_ZPmZ_S |
| 901U, // LSR_WIDE_ZZZ_B |
| 10U, // LSR_WIDE_ZZZ_H |
| 901U, // LSR_WIDE_ZZZ_S |
| 2171712U, // LSR_ZPmI_B |
| 2171776U, // LSR_ZPmI_D |
| 91081U, // LSR_ZPmI_H |
| 2171904U, // LSR_ZPmI_S |
| 74560U, // LSR_ZPmZ_B |
| 598912U, // LSR_ZPmZ_D |
| 1131465U, // LSR_ZPmZ_H |
| 1647616U, // LSR_ZPmZ_S |
| 261U, // LSR_ZZI_B |
| 261U, // LSR_ZZI_D |
| 11U, // LSR_ZZI_H |
| 261U, // LSR_ZZI_S |
| 2171141U, // MADDWrrr |
| 2171141U, // MADDXrrr |
| 19472384U, // MAD_ZPmZZ_B |
| 6889536U, // MAD_ZPmZZ_D |
| 1246144U, // MAD_ZPmZZ_H |
| 7413952U, // MAD_ZPmZZ_S |
| 19472384U, // MLA_ZPmZZ_B |
| 6889536U, // MLA_ZPmZZ_D |
| 1246144U, // MLA_ZPmZZ_H |
| 7413952U, // MLA_ZPmZZ_S |
| 33159U, // MLAv16i8 |
| 41351U, // MLAv2i32 |
| 9126279U, // MLAv2i32_indexed |
| 49544U, // MLAv4i16 |
| 9118088U, // MLAv4i16_indexed |
| 16774U, // MLAv4i32 |
| 9126278U, // MLAv4i32_indexed |
| 24966U, // MLAv8i16 |
| 9118086U, // MLAv8i16_indexed |
| 57736U, // MLAv8i8 |
| 19472384U, // MLS_ZPmZZ_B |
| 6889536U, // MLS_ZPmZZ_D |
| 1246144U, // MLS_ZPmZZ_H |
| 7413952U, // MLS_ZPmZZ_S |
| 33159U, // MLSv16i8 |
| 41351U, // MLSv2i32 |
| 9126279U, // MLSv2i32_indexed |
| 49544U, // MLSv4i16 |
| 9118088U, // MLSv4i16_indexed |
| 16774U, // MLSv4i32 |
| 9126278U, // MLSv4i32_indexed |
| 24966U, // MLSv8i16 |
| 9118086U, // MLSv8i16_indexed |
| 57736U, // MLSv8i8 |
| 0U, // MOVID |
| 1U, // MOVIv16b_ns |
| 0U, // MOVIv2d_ns |
| 28U, // MOVIv2i32 |
| 28U, // MOVIv2s_msl |
| 28U, // MOVIv4i16 |
| 28U, // MOVIv4i32 |
| 28U, // MOVIv4s_msl |
| 1U, // MOVIv8b_ns |
| 28U, // MOVIv8i16 |
| 0U, // MOVKWi |
| 0U, // MOVKXi |
| 28U, // MOVNWi |
| 28U, // MOVNXi |
| 0U, // MOVPRFX_ZPmZ_B |
| 64U, // MOVPRFX_ZPmZ_D |
| 128U, // MOVPRFX_ZPmZ_H |
| 192U, // MOVPRFX_ZPmZ_S |
| 842U, // MOVPRFX_ZPzZ_B |
| 906U, // MOVPRFX_ZPzZ_D |
| 137U, // MOVPRFX_ZPzZ_H |
| 1034U, // MOVPRFX_ZPzZ_S |
| 1U, // MOVPRFX_ZZ |
| 28U, // MOVZWi |
| 28U, // MOVZXi |
| 0U, // MOVaddr |
| 0U, // MOVaddrBA |
| 0U, // MOVaddrCP |
| 0U, // MOVaddrEXT |
| 0U, // MOVaddrJT |
| 0U, // MOVaddrTLS |
| 0U, // MOVbaseTLS |
| 0U, // MOVi32imm |
| 0U, // MOVi64imm |
| 0U, // MRS |
| 19472384U, // MSB_ZPmZZ_B |
| 6889536U, // MSB_ZPmZZ_D |
| 1246144U, // MSB_ZPmZZ_H |
| 7413952U, // MSB_ZPmZZ_S |
| 0U, // MSR |
| 0U, // MSRpstateImm1 |
| 0U, // MSRpstateImm4 |
| 2171141U, // MSUBWrrr |
| 2171141U, // MSUBXrrr |
| 261U, // MUL_ZI_B |
| 261U, // MUL_ZI_D |
| 11U, // MUL_ZI_H |
| 261U, // MUL_ZI_S |
| 74560U, // MUL_ZPmZ_B |
| 598912U, // MUL_ZPmZ_D |
| 1131465U, // MUL_ZPmZ_H |
| 1647616U, // MUL_ZPmZ_S |
| 33095U, // MULv16i8 |
| 41287U, // MULv2i32 |
| 10174791U, // MULv2i32_indexed |
| 49480U, // MULv4i16 |
| 10166600U, // MULv4i16_indexed |
| 16710U, // MULv4i32 |
| 10174790U, // MULv4i32_indexed |
| 24902U, // MULv8i16 |
| 10166598U, // MULv8i16_indexed |
| 57672U, // MULv8i8 |
| 28U, // MVNIv2i32 |
| 28U, // MVNIv2s_msl |
| 28U, // MVNIv4i16 |
| 28U, // MVNIv4i32 |
| 28U, // MVNIv4s_msl |
| 28U, // MVNIv8i16 |
| 74570U, // NANDS_PPzPP |
| 74570U, // NAND_PPzPP |
| 0U, // NEG_ZPmZ_B |
| 64U, // NEG_ZPmZ_D |
| 128U, // NEG_ZPmZ_H |
| 192U, // NEG_ZPmZ_S |
| 1U, // NEGv16i8 |
| 1U, // NEGv1i64 |
| 2U, // NEGv2i32 |
| 2U, // NEGv2i64 |
| 3U, // NEGv4i16 |
| 3U, // NEGv4i32 |
| 4U, // NEGv8i16 |
| 4U, // NEGv8i8 |
| 74570U, // NORS_PPzPP |
| 74570U, // NOR_PPzPP |
| 0U, // NOT_ZPmZ_B |
| 64U, // NOT_ZPmZ_D |
| 128U, // NOT_ZPmZ_H |
| 192U, // NOT_ZPmZ_S |
| 1U, // NOTv16i8 |
| 4U, // NOTv8i8 |
| 74570U, // ORNS_PPzPP |
| 0U, // ORNWrr |
| 517U, // ORNWrs |
| 0U, // ORNXrr |
| 517U, // ORNXrs |
| 74570U, // ORN_PPzPP |
| 33095U, // ORNv16i8 |
| 57672U, // ORNv8i8 |
| 74570U, // ORRS_PPzPP |
| 2117U, // ORRWri |
| 0U, // ORRWrr |
| 517U, // ORRWrs |
| 2181U, // ORRXri |
| 0U, // ORRXrr |
| 517U, // ORRXrs |
| 74570U, // ORR_PPzPP |
| 2181U, // ORR_ZI |
| 74560U, // ORR_ZPmZ_B |
| 598912U, // ORR_ZPmZ_D |
| 1131465U, // ORR_ZPmZ_H |
| 1647616U, // ORR_ZPmZ_S |
| 901U, // ORR_ZZZ |
| 33095U, // ORRv16i8 |
| 0U, // ORRv2i32 |
| 0U, // ORRv4i16 |
| 0U, // ORRv4i32 |
| 0U, // ORRv8i16 |
| 57672U, // ORRv8i8 |
| 837U, // ORV_VPZ_B |
| 901U, // ORV_VPZ_D |
| 2245U, // ORV_VPZ_H |
| 1029U, // ORV_VPZ_S |
| 1U, // PACDA |
| 1U, // PACDB |
| 0U, // PACDZA |
| 0U, // PACDZB |
| 261U, // PACGA |
| 1U, // PACIA |
| 0U, // PACIA1716 |
| 0U, // PACIASP |
| 0U, // PACIAZ |
| 1U, // PACIB |
| 0U, // PACIB1716 |
| 0U, // PACIBSP |
| 0U, // PACIBZ |
| 0U, // PACIZA |
| 0U, // PACIZB |
| 0U, // PFALSE |
| 33095U, // PMULLv16i8 |
| 0U, // PMULLv1i64 |
| 0U, // PMULLv2i64 |
| 57672U, // PMULLv8i8 |
| 33095U, // PMULv16i8 |
| 57672U, // PMULv8i8 |
| 837U, // PNEXT_B |
| 901U, // PNEXT_D |
| 137U, // PNEXT_H |
| 1029U, // PNEXT_S |
| 27U, // PRFB_D_PZI |
| 29U, // PRFB_D_SCALED |
| 29U, // PRFB_D_SXTW_SCALED |
| 30U, // PRFB_D_UXTW_SCALED |
| 5329U, // PRFB_PRI |
| 30U, // PRFB_PRR |
| 27U, // PRFB_S_PZI |
| 31U, // PRFB_S_SXTW_SCALED |
| 31U, // PRFB_S_UXTW_SCALED |
| 0U, // PRFD_D_PZI |
| 32U, // PRFD_D_SCALED |
| 32U, // PRFD_D_SXTW_SCALED |
| 33U, // PRFD_D_UXTW_SCALED |
| 5329U, // PRFD_PRI |
| 33U, // PRFD_PRR |
| 0U, // PRFD_S_PZI |
| 34U, // PRFD_S_SXTW_SCALED |
| 34U, // PRFD_S_UXTW_SCALED |
| 0U, // PRFH_D_PZI |
| 35U, // PRFH_D_SCALED |
| 35U, // PRFH_D_SXTW_SCALED |
| 36U, // PRFH_D_UXTW_SCALED |
| 5329U, // PRFH_PRI |
| 36U, // PRFH_PRR |
| 0U, // PRFH_S_PZI |
| 37U, // PRFH_S_SXTW_SCALED |
| 37U, // PRFH_S_UXTW_SCALED |
| 0U, // PRFMl |
| 15278341U, // PRFMroW |
| 15802629U, // PRFMroX |
| 5061U, // PRFMui |
| 38U, // PRFS_PRR |
| 114949U, // PRFUMi |
| 0U, // PRFW_D_PZI |
| 38U, // PRFW_D_SCALED |
| 39U, // PRFW_D_SXTW_SCALED |
| 39U, // PRFW_D_UXTW_SCALED |
| 5329U, // PRFW_PRI |
| 0U, // PRFW_S_PZI |
| 40U, // PRFW_S_SXTW_SCALED |
| 40U, // PRFW_S_UXTW_SCALED |
| 1U, // PTEST_PP |
| 1U, // PTRUES_B |
| 1U, // PTRUES_D |
| 0U, // PTRUES_H |
| 1U, // PTRUES_S |
| 1U, // PTRUE_B |
| 1U, // PTRUE_D |
| 0U, // PTRUE_H |
| 1U, // PTRUE_S |
| 0U, // PUNPKHI_PP |
| 0U, // PUNPKLO_PP |
| 8517U, // RADDHNv2i64_v2i32 |
| 8581U, // RADDHNv2i64_v4i32 |
| 16710U, // RADDHNv4i32_v4i16 |
| 16774U, // RADDHNv4i32_v8i16 |
| 24966U, // RADDHNv8i16_v16i8 |
| 24902U, // RADDHNv8i16_v8i8 |
| 8517U, // RAX1 |
| 1U, // RBITWr |
| 1U, // RBITXr |
| 0U, // RBIT_ZPmZ_B |
| 64U, // RBIT_ZPmZ_D |
| 128U, // RBIT_ZPmZ_H |
| 192U, // RBIT_ZPmZ_S |
| 1U, // RBITv16i8 |
| 4U, // RBITv8i8 |
| 41U, // RDFFRS_PPz |
| 0U, // RDFFR_P |
| 41U, // RDFFR_PPz |
| 1U, // RDVLI_XI |
| 0U, // RET |
| 0U, // RETAA |
| 0U, // RETAB |
| 0U, // RET_ReallyLR |
| 1U, // REV16Wr |
| 1U, // REV16Xr |
| 1U, // REV16v16i8 |
| 4U, // REV16v8i8 |
| 1U, // REV32Xr |
| 1U, // REV32v16i8 |
| 3U, // REV32v4i16 |
| 4U, // REV32v8i16 |
| 4U, // REV32v8i8 |
| 1U, // REV64v16i8 |
| 2U, // REV64v2i32 |
| 3U, // REV64v4i16 |
| 3U, // REV64v4i32 |
| 4U, // REV64v8i16 |
| 4U, // REV64v8i8 |
| 64U, // REVB_ZPmZ_D |
| 128U, // REVB_ZPmZ_H |
| 192U, // REVB_ZPmZ_S |
| 64U, // REVH_ZPmZ_D |
| 192U, // REVH_ZPmZ_S |
| 64U, // REVW_ZPmZ_D |
| 1U, // REVWr |
| 1U, // REVXr |
| 1U, // REV_PP_B |
| 1U, // REV_PP_D |
| 0U, // REV_PP_H |
| 1U, // REV_PP_S |
| 1U, // REV_ZZ_B |
| 1U, // REV_ZZ_D |
| 0U, // REV_ZZ_H |
| 1U, // REV_ZZ_S |
| 261U, // RMIF |
| 261U, // RORVWr |
| 261U, // RORVXr |
| 2310U, // RSHRNv16i8_shift |
| 261U, // RSHRNv2i32_shift |
| 262U, // RSHRNv4i16_shift |
| 2309U, // RSHRNv4i32_shift |
| 2310U, // RSHRNv8i16_shift |
| 262U, // RSHRNv8i8_shift |
| 8517U, // RSUBHNv2i64_v2i32 |
| 8581U, // RSUBHNv2i64_v4i32 |
| 16710U, // RSUBHNv4i32_v4i16 |
| 16774U, // RSUBHNv4i32_v8i16 |
| 24966U, // RSUBHNv8i16_v16i8 |
| 24902U, // RSUBHNv8i16_v8i8 |
| 33159U, // SABALv16i8_v8i16 |
| 41351U, // SABALv2i32_v2i64 |
| 49544U, // SABALv4i16_v4i32 |
| 16774U, // SABALv4i32_v2i64 |
| 24966U, // SABALv8i16_v4i32 |
| 57736U, // SABALv8i8_v8i16 |
| 33159U, // SABAv16i8 |
| 41351U, // SABAv2i32 |
| 49544U, // SABAv4i16 |
| 16774U, // SABAv4i32 |
| 24966U, // SABAv8i16 |
| 57736U, // SABAv8i8 |
| 33095U, // SABDLv16i8_v8i16 |
| 41287U, // SABDLv2i32_v2i64 |
| 49480U, // SABDLv4i16_v4i32 |
| 16710U, // SABDLv4i32_v2i64 |
| 24902U, // SABDLv8i16_v4i32 |
| 57672U, // SABDLv8i8_v8i16 |
| 74560U, // SABD_ZPmZ_B |
| 598912U, // SABD_ZPmZ_D |
| 1131465U, // SABD_ZPmZ_H |
| 1647616U, // SABD_ZPmZ_S |
| 33095U, // SABDv16i8 |
| 41287U, // SABDv2i32 |
| 49480U, // SABDv4i16 |
| 16710U, // SABDv4i32 |
| 24902U, // SABDv8i16 |
| 57672U, // SABDv8i8 |
| 1U, // SADALPv16i8_v8i16 |
| 2U, // SADALPv2i32_v1i64 |
| 3U, // SADALPv4i16_v2i32 |
| 3U, // SADALPv4i32_v2i64 |
| 4U, // SADALPv8i16_v4i32 |
| 4U, // SADALPv8i8_v4i16 |
| 1U, // SADDLPv16i8_v8i16 |
| 2U, // SADDLPv2i32_v1i64 |
| 3U, // SADDLPv4i16_v2i32 |
| 3U, // SADDLPv4i32_v2i64 |
| 4U, // SADDLPv8i16_v4i32 |
| 4U, // SADDLPv8i8_v4i16 |
| 1U, // SADDLVv16i8v |
| 3U, // SADDLVv4i16v |
| 3U, // SADDLVv4i32v |
| 4U, // SADDLVv8i16v |
| 4U, // SADDLVv8i8v |
| 33095U, // SADDLv16i8_v8i16 |
| 41287U, // SADDLv2i32_v2i64 |
| 49480U, // SADDLv4i16_v4i32 |
| 16710U, // SADDLv4i32_v2i64 |
| 24902U, // SADDLv8i16_v4i32 |
| 57672U, // SADDLv8i8_v8i16 |
| 837U, // SADDV_VPZ_B |
| 2245U, // SADDV_VPZ_H |
| 1029U, // SADDV_VPZ_S |
| 33094U, // SADDWv16i8_v8i16 |
| 41285U, // SADDWv2i32_v2i64 |
| 49478U, // SADDWv4i16_v4i32 |
| 16709U, // SADDWv4i32_v2i64 |
| 24902U, // SADDWv8i16_v4i32 |
| 57670U, // SADDWv8i8_v8i16 |
| 261U, // SBCSWr |
| 261U, // SBCSXr |
| 261U, // SBCWr |
| 261U, // SBCXr |
| 2171141U, // SBFMWri |
| 2171141U, // SBFMXri |
| 261U, // SCVTFSWDri |
| 261U, // SCVTFSWHri |
| 261U, // SCVTFSWSri |
| 261U, // SCVTFSXDri |
| 261U, // SCVTFSXHri |
| 261U, // SCVTFSXSri |
| 1U, // SCVTFUWDri |
| 1U, // SCVTFUWHri |
| 1U, // SCVTFUWSri |
| 1U, // SCVTFUXDri |
| 1U, // SCVTFUXHri |
| 1U, // SCVTFUXSri |
| 64U, // SCVTF_ZPmZ_DtoD |
| 153U, // SCVTF_ZPmZ_DtoH |
| 64U, // SCVTF_ZPmZ_DtoS |
| 128U, // SCVTF_ZPmZ_HtoH |
| 192U, // SCVTF_ZPmZ_StoD |
| 152U, // SCVTF_ZPmZ_StoH |
| 192U, // SCVTF_ZPmZ_StoS |
| 261U, // SCVTFd |
| 261U, // SCVTFh |
| 261U, // SCVTFs |
| 1U, // SCVTFv1i16 |
| 1U, // SCVTFv1i32 |
| 1U, // SCVTFv1i64 |
| 2U, // SCVTFv2f32 |
| 2U, // SCVTFv2f64 |
| 263U, // SCVTFv2i32_shift |
| 261U, // SCVTFv2i64_shift |
| 3U, // SCVTFv4f16 |
| 3U, // SCVTFv4f32 |
| 264U, // SCVTFv4i16_shift |
| 262U, // SCVTFv4i32_shift |
| 4U, // SCVTFv8f16 |
| 262U, // SCVTFv8i16_shift |
| 598912U, // SDIVR_ZPmZ_D |
| 1647616U, // SDIVR_ZPmZ_S |
| 261U, // SDIVWr |
| 261U, // SDIVXr |
| 598912U, // SDIV_ZPmZ_D |
| 1647616U, // SDIV_ZPmZ_S |
| 41U, // SDOT_ZZZI_D |
| 41U, // SDOT_ZZZI_S |
| 1U, // SDOT_ZZZ_D |
| 1U, // SDOT_ZZZ_S |
| 278919U, // SDOTlanev16i8 |
| 278920U, // SDOTlanev8i8 |
| 33159U, // SDOTv16i8 |
| 57736U, // SDOTv8i8 |
| 74565U, // SEL_PPPP |
| 74565U, // SEL_ZPZZ_B |
| 598917U, // SEL_ZPZZ_D |
| 1131465U, // SEL_ZPZZ_H |
| 1647621U, // SEL_ZPZZ_S |
| 0U, // SETF16 |
| 0U, // SETF8 |
| 0U, // SETFFR |
| 16773U, // SHA1Crrr |
| 1U, // SHA1Hrr |
| 16773U, // SHA1Mrrr |
| 16773U, // SHA1Prrr |
| 16774U, // SHA1SU0rrr |
| 3U, // SHA1SU1rr |
| 16773U, // SHA256H2rrr |
| 16773U, // SHA256Hrrr |
| 3U, // SHA256SU0rr |
| 16774U, // SHA256SU1rrr |
| 8581U, // SHA512H |
| 8581U, // SHA512H2 |
| 2U, // SHA512SU0 |
| 8581U, // SHA512SU1 |
| 33095U, // SHADDv16i8 |
| 41287U, // SHADDv2i32 |
| 49480U, // SHADDv4i16 |
| 16710U, // SHADDv4i32 |
| 24902U, // SHADDv8i16 |
| 57672U, // SHADDv8i8 |
| 42U, // SHLLv16i8 |
| 42U, // SHLLv2i32 |
| 43U, // SHLLv4i16 |
| 43U, // SHLLv4i32 |
| 44U, // SHLLv8i16 |
| 44U, // SHLLv8i8 |
| 261U, // SHLd |
| 263U, // SHLv16i8_shift |
| 263U, // SHLv2i32_shift |
| 261U, // SHLv2i64_shift |
| 264U, // SHLv4i16_shift |
| 262U, // SHLv4i32_shift |
| 262U, // SHLv8i16_shift |
| 264U, // SHLv8i8_shift |
| 2310U, // SHRNv16i8_shift |
| 261U, // SHRNv2i32_shift |
| 262U, // SHRNv4i16_shift |
| 2309U, // SHRNv4i32_shift |
| 2310U, // SHRNv8i16_shift |
| 262U, // SHRNv8i8_shift |
| 33095U, // SHSUBv16i8 |
| 41287U, // SHSUBv2i32 |
| 49480U, // SHSUBv4i16 |
| 16710U, // SHSUBv4i32 |
| 24902U, // SHSUBv8i16 |
| 57672U, // SHSUBv8i8 |
| 2309U, // SLId |
| 2311U, // SLIv16i8_shift |
| 2311U, // SLIv2i32_shift |
| 2309U, // SLIv2i64_shift |
| 2312U, // SLIv4i16_shift |
| 2310U, // SLIv4i32_shift |
| 2310U, // SLIv8i16_shift |
| 2312U, // SLIv8i8_shift |
| 16774U, // SM3PARTW1 |
| 16774U, // SM3PARTW2 |
| 204120390U, // SM3SS1 |
| 9126278U, // SM3TT1A |
| 9126278U, // SM3TT1B |
| 9126278U, // SM3TT2A |
| 9126278U, // SM3TT2B |
| 3U, // SM4E |
| 16710U, // SM4ENCKEY |
| 2171141U, // SMADDLrrr |
| 33095U, // SMAXPv16i8 |
| 41287U, // SMAXPv2i32 |
| 49480U, // SMAXPv4i16 |
| 16710U, // SMAXPv4i32 |
| 24902U, // SMAXPv8i16 |
| 57672U, // SMAXPv8i8 |
| 837U, // SMAXV_VPZ_B |
| 901U, // SMAXV_VPZ_D |
| 2245U, // SMAXV_VPZ_H |
| 1029U, // SMAXV_VPZ_S |
| 1U, // SMAXVv16i8v |
| 3U, // SMAXVv4i16v |
| 3U, // SMAXVv4i32v |
| 4U, // SMAXVv8i16v |
| 4U, // SMAXVv8i8v |
| 261U, // SMAX_ZI_B |
| 261U, // SMAX_ZI_D |
| 11U, // SMAX_ZI_H |
| 261U, // SMAX_ZI_S |
| 74560U, // SMAX_ZPmZ_B |
| 598912U, // SMAX_ZPmZ_D |
| 1131465U, // SMAX_ZPmZ_H |
| 1647616U, // SMAX_ZPmZ_S |
| 33095U, // SMAXv16i8 |
| 41287U, // SMAXv2i32 |
| 49480U, // SMAXv4i16 |
| 16710U, // SMAXv4i32 |
| 24902U, // SMAXv8i16 |
| 57672U, // SMAXv8i8 |
| 0U, // SMC |
| 33095U, // SMINPv16i8 |
| 41287U, // SMINPv2i32 |
| 49480U, // SMINPv4i16 |
| 16710U, // SMINPv4i32 |
| 24902U, // SMINPv8i16 |
| 57672U, // SMINPv8i8 |
| 837U, // SMINV_VPZ_B |
| 901U, // SMINV_VPZ_D |
| 2245U, // SMINV_VPZ_H |
| 1029U, // SMINV_VPZ_S |
| 1U, // SMINVv16i8v |
| 3U, // SMINVv4i16v |
| 3U, // SMINVv4i32v |
| 4U, // SMINVv8i16v |
| 4U, // SMINVv8i8v |
| 261U, // SMIN_ZI_B |
| 261U, // SMIN_ZI_D |
| 11U, // SMIN_ZI_H |
| 261U, // SMIN_ZI_S |
| 74560U, // SMIN_ZPmZ_B |
| 598912U, // SMIN_ZPmZ_D |
| 1131465U, // SMIN_ZPmZ_H |
| 1647616U, // SMIN_ZPmZ_S |
| 33095U, // SMINv16i8 |
| 41287U, // SMINv2i32 |
| 49480U, // SMINv4i16 |
| 16710U, // SMINv4i32 |
| 24902U, // SMINv8i16 |
| 57672U, // SMINv8i8 |
| 33159U, // SMLALv16i8_v8i16 |
| 9126279U, // SMLALv2i32_indexed |
| 41351U, // SMLALv2i32_v2i64 |
| 9118088U, // SMLALv4i16_indexed |
| 49544U, // SMLALv4i16_v4i32 |
| 9126278U, // SMLALv4i32_indexed |
| 16774U, // SMLALv4i32_v2i64 |
| 9118086U, // SMLALv8i16_indexed |
| 24966U, // SMLALv8i16_v4i32 |
| 57736U, // SMLALv8i8_v8i16 |
| 33159U, // SMLSLv16i8_v8i16 |
| 9126279U, // SMLSLv2i32_indexed |
| 41351U, // SMLSLv2i32_v2i64 |
| 9118088U, // SMLSLv4i16_indexed |
| 49544U, // SMLSLv4i16_v4i32 |
| 9126278U, // SMLSLv4i32_indexed |
| 16774U, // SMLSLv4i32_v2i64 |
| 9118086U, // SMLSLv8i16_indexed |
| 24966U, // SMLSLv8i16_v4i32 |
| 57736U, // SMLSLv8i8_v8i16 |
| 2770U, // SMOVvi16to32 |
| 2770U, // SMOVvi16to64 |
| 2770U, // SMOVvi32to64 |
| 2771U, // SMOVvi8to32 |
| 2771U, // SMOVvi8to64 |
| 2171141U, // SMSUBLrrr |
| 74560U, // SMULH_ZPmZ_B |
| 598912U, // SMULH_ZPmZ_D |
| 1131465U, // SMULH_ZPmZ_H |
| 1647616U, // SMULH_ZPmZ_S |
| 261U, // SMULHrr |
| 33095U, // SMULLv16i8_v8i16 |
| 10174791U, // SMULLv2i32_indexed |
| 41287U, // SMULLv2i32_v2i64 |
| 10166600U, // SMULLv4i16_indexed |
| 49480U, // SMULLv4i16_v4i32 |
| 10174790U, // SMULLv4i32_indexed |
| 16710U, // SMULLv4i32_v2i64 |
| 10166598U, // SMULLv8i16_indexed |
| 24902U, // SMULLv8i16_v4i32 |
| 57672U, // SMULLv8i8_v8i16 |
| 74565U, // SPLICE_ZPZ_B |
| 598917U, // SPLICE_ZPZ_D |
| 1131465U, // SPLICE_ZPZ_H |
| 1647621U, // SPLICE_ZPZ_S |
| 1U, // SQABSv16i8 |
| 1U, // SQABSv1i16 |
| 1U, // SQABSv1i32 |
| 1U, // SQABSv1i64 |
| 1U, // SQABSv1i8 |
| 2U, // SQABSv2i32 |
| 2U, // SQABSv2i64 |
| 3U, // SQABSv4i16 |
| 3U, // SQABSv4i32 |
| 4U, // SQABSv8i16 |
| 4U, // SQABSv8i8 |
| 645U, // SQADD_ZI_B |
| 709U, // SQADD_ZI_D |
| 9U, // SQADD_ZI_H |
| 773U, // SQADD_ZI_S |
| 837U, // SQADD_ZZZ_B |
| 901U, // SQADD_ZZZ_D |
| 137U, // SQADD_ZZZ_H |
| 1029U, // SQADD_ZZZ_S |
| 33095U, // SQADDv16i8 |
| 261U, // SQADDv1i16 |
| 261U, // SQADDv1i32 |
| 261U, // SQADDv1i64 |
| 261U, // SQADDv1i8 |
| 41287U, // SQADDv2i32 |
| 8517U, // SQADDv2i64 |
| 49480U, // SQADDv4i16 |
| 16710U, // SQADDv4i32 |
| 24902U, // SQADDv8i16 |
| 57672U, // SQADDv8i8 |
| 0U, // SQDECB_XPiI |
| 0U, // SQDECB_XPiWdI |
| 0U, // SQDECD_XPiI |
| 0U, // SQDECD_XPiWdI |
| 0U, // SQDECD_ZPiI |
| 0U, // SQDECH_XPiI |
| 0U, // SQDECH_XPiWdI |
| 0U, // SQDECH_ZPiI |
| 5381U, // SQDECP_XPWd_B |
| 5381U, // SQDECP_XPWd_D |
| 5381U, // SQDECP_XPWd_H |
| 5381U, // SQDECP_XPWd_S |
| 1U, // SQDECP_XP_B |
| 1U, // SQDECP_XP_D |
| 1U, // SQDECP_XP_H |
| 1U, // SQDECP_XP_S |
| 1U, // SQDECP_ZP_D |
| 0U, // SQDECP_ZP_H |
| 1U, // SQDECP_ZP_S |
| 0U, // SQDECW_XPiI |
| 0U, // SQDECW_XPiWdI |
| 0U, // SQDECW_ZPiI |
| 2309U, // SQDMLALi16 |
| 2309U, // SQDMLALi32 |
| 9118085U, // SQDMLALv1i32_indexed |
| 9126277U, // SQDMLALv1i64_indexed |
| 9126279U, // SQDMLALv2i32_indexed |
| 41351U, // SQDMLALv2i32_v2i64 |
| 9118088U, // SQDMLALv4i16_indexed |
| 49544U, // SQDMLALv4i16_v4i32 |
| 9126278U, // SQDMLALv4i32_indexed |
| 16774U, // SQDMLALv4i32_v2i64 |
| 9118086U, // SQDMLALv8i16_indexed |
| 24966U, // SQDMLALv8i16_v4i32 |
| 2309U, // SQDMLSLi16 |
| 2309U, // SQDMLSLi32 |
| 9118085U, // SQDMLSLv1i32_indexed |
| 9126277U, // SQDMLSLv1i64_indexed |
| 9126279U, // SQDMLSLv2i32_indexed |
| 41351U, // SQDMLSLv2i32_v2i64 |
| 9118088U, // SQDMLSLv4i16_indexed |
| 49544U, // SQDMLSLv4i16_v4i32 |
| 9126278U, // SQDMLSLv4i32_indexed |
| 16774U, // SQDMLSLv4i32_v2i64 |
| 9118086U, // SQDMLSLv8i16_indexed |
| 24966U, // SQDMLSLv8i16_v4i32 |
| 261U, // SQDMULHv1i16 |
| 10166597U, // SQDMULHv1i16_indexed |
| 261U, // SQDMULHv1i32 |
| 10174789U, // SQDMULHv1i32_indexed |
| 41287U, // SQDMULHv2i32 |
| 10174791U, // SQDMULHv2i32_indexed |
| 49480U, // SQDMULHv4i16 |
| 10166600U, // SQDMULHv4i16_indexed |
| 16710U, // SQDMULHv4i32 |
| 10174790U, // SQDMULHv4i32_indexed |
| 24902U, // SQDMULHv8i16 |
| 10166598U, // SQDMULHv8i16_indexed |
| 261U, // SQDMULLi16 |
| 261U, // SQDMULLi32 |
| 10166597U, // SQDMULLv1i32_indexed |
| 10174789U, // SQDMULLv1i64_indexed |
| 10174791U, // SQDMULLv2i32_indexed |
| 41287U, // SQDMULLv2i32_v2i64 |
| 10166600U, // SQDMULLv4i16_indexed |
| 49480U, // SQDMULLv4i16_v4i32 |
| 10174790U, // SQDMULLv4i32_indexed |
| 16710U, // SQDMULLv4i32_v2i64 |
| 10166598U, // SQDMULLv8i16_indexed |
| 24902U, // SQDMULLv8i16_v4i32 |
| 0U, // SQINCB_XPiI |
| 0U, // SQINCB_XPiWdI |
| 0U, // SQINCD_XPiI |
| 0U, // SQINCD_XPiWdI |
| 0U, // SQINCD_ZPiI |
| 0U, // SQINCH_XPiI |
| 0U, // SQINCH_XPiWdI |
| 0U, // SQINCH_ZPiI |
| 5381U, // SQINCP_XPWd_B |
| 5381U, // SQINCP_XPWd_D |
| 5381U, // SQINCP_XPWd_H |
| 5381U, // SQINCP_XPWd_S |
| 1U, // SQINCP_XP_B |
| 1U, // SQINCP_XP_D |
| 1U, // SQINCP_XP_H |
| 1U, // SQINCP_XP_S |
| 1U, // SQINCP_ZP_D |
| 0U, // SQINCP_ZP_H |
| 1U, // SQINCP_ZP_S |
| 0U, // SQINCW_XPiI |
| 0U, // SQINCW_XPiWdI |
| 0U, // SQINCW_ZPiI |
| 1U, // SQNEGv16i8 |
| 1U, // SQNEGv1i16 |
| 1U, // SQNEGv1i32 |
| 1U, // SQNEGv1i64 |
| 1U, // SQNEGv1i8 |
| 2U, // SQNEGv2i32 |
| 2U, // SQNEGv2i64 |
| 3U, // SQNEGv4i16 |
| 3U, // SQNEGv4i32 |
| 4U, // SQNEGv8i16 |
| 4U, // SQNEGv8i8 |
| 9118085U, // SQRDMLAHi16_indexed |
| 9126277U, // SQRDMLAHi32_indexed |
| 2309U, // SQRDMLAHv1i16 |
| 2309U, // SQRDMLAHv1i32 |
| 41351U, // SQRDMLAHv2i32 |
| 9126279U, // SQRDMLAHv2i32_indexed |
| 49544U, // SQRDMLAHv4i16 |
| 9118088U, // SQRDMLAHv4i16_indexed |
| 16774U, // SQRDMLAHv4i32 |
| 9126278U, // SQRDMLAHv4i32_indexed |
| 24966U, // SQRDMLAHv8i16 |
| 9118086U, // SQRDMLAHv8i16_indexed |
| 9118085U, // SQRDMLSHi16_indexed |
| 9126277U, // SQRDMLSHi32_indexed |
| 2309U, // SQRDMLSHv1i16 |
| 2309U, // SQRDMLSHv1i32 |
| 41351U, // SQRDMLSHv2i32 |
| 9126279U, // SQRDMLSHv2i32_indexed |
| 49544U, // SQRDMLSHv4i16 |
| 9118088U, // SQRDMLSHv4i16_indexed |
| 16774U, // SQRDMLSHv4i32 |
| 9126278U, // SQRDMLSHv4i32_indexed |
| 24966U, // SQRDMLSHv8i16 |
| 9118086U, // SQRDMLSHv8i16_indexed |
| 261U, // SQRDMULHv1i16 |
| 10166597U, // SQRDMULHv1i16_indexed |
| 261U, // SQRDMULHv1i32 |
| 10174789U, // SQRDMULHv1i32_indexed |
| 41287U, // SQRDMULHv2i32 |
| 10174791U, // SQRDMULHv2i32_indexed |
| 49480U, // SQRDMULHv4i16 |
| 10166600U, // SQRDMULHv4i16_indexed |
| 16710U, // SQRDMULHv4i32 |
| 10174790U, // SQRDMULHv4i32_indexed |
| 24902U, // SQRDMULHv8i16 |
| 10166598U, // SQRDMULHv8i16_indexed |
| 33095U, // SQRSHLv16i8 |
| 261U, // SQRSHLv1i16 |
| 261U, // SQRSHLv1i32 |
| 261U, // SQRSHLv1i64 |
| 261U, // SQRSHLv1i8 |
| 41287U, // SQRSHLv2i32 |
| 8517U, // SQRSHLv2i64 |
| 49480U, // SQRSHLv4i16 |
| 16710U, // SQRSHLv4i32 |
| 24902U, // SQRSHLv8i16 |
| 57672U, // SQRSHLv8i8 |
| 261U, // SQRSHRNb |
| 261U, // SQRSHRNh |
| 261U, // SQRSHRNs |
| 2310U, // SQRSHRNv16i8_shift |
| 261U, // SQRSHRNv2i32_shift |
| 262U, // SQRSHRNv4i16_shift |
| 2309U, // SQRSHRNv4i32_shift |
| 2310U, // SQRSHRNv8i16_shift |
| 262U, // SQRSHRNv8i8_shift |
| 261U, // SQRSHRUNb |
| 261U, // SQRSHRUNh |
| 261U, // SQRSHRUNs |
| 2310U, // SQRSHRUNv16i8_shift |
| 261U, // SQRSHRUNv2i32_shift |
| 262U, // SQRSHRUNv4i16_shift |
| 2309U, // SQRSHRUNv4i32_shift |
| 2310U, // SQRSHRUNv8i16_shift |
| 262U, // SQRSHRUNv8i8_shift |
| 261U, // SQSHLUb |
| 261U, // SQSHLUd |
| 261U, // SQSHLUh |
| 261U, // SQSHLUs |
| 263U, // SQSHLUv16i8_shift |
| 263U, // SQSHLUv2i32_shift |
| 261U, // SQSHLUv2i64_shift |
| 264U, // SQSHLUv4i16_shift |
| 262U, // SQSHLUv4i32_shift |
| 262U, // SQSHLUv8i16_shift |
| 264U, // SQSHLUv8i8_shift |
| 261U, // SQSHLb |
| 261U, // SQSHLd |
| 261U, // SQSHLh |
| 261U, // SQSHLs |
| 33095U, // SQSHLv16i8 |
| 263U, // SQSHLv16i8_shift |
| 261U, // SQSHLv1i16 |
| 261U, // SQSHLv1i32 |
| 261U, // SQSHLv1i64 |
| 261U, // SQSHLv1i8 |
| 41287U, // SQSHLv2i32 |
| 263U, // SQSHLv2i32_shift |
| 8517U, // SQSHLv2i64 |
| 261U, // SQSHLv2i64_shift |
| 49480U, // SQSHLv4i16 |
| 264U, // SQSHLv4i16_shift |
| 16710U, // SQSHLv4i32 |
| 262U, // SQSHLv4i32_shift |
| 24902U, // SQSHLv8i16 |
| 262U, // SQSHLv8i16_shift |
| 57672U, // SQSHLv8i8 |
| 264U, // SQSHLv8i8_shift |
| 261U, // SQSHRNb |
| 261U, // SQSHRNh |
| 261U, // SQSHRNs |
| 2310U, // SQSHRNv16i8_shift |
| 261U, // SQSHRNv2i32_shift |
| 262U, // SQSHRNv4i16_shift |
| 2309U, // SQSHRNv4i32_shift |
| 2310U, // SQSHRNv8i16_shift |
| 262U, // SQSHRNv8i8_shift |
| 261U, // SQSHRUNb |
| 261U, // SQSHRUNh |
| 261U, // SQSHRUNs |
| 2310U, // SQSHRUNv16i8_shift |
| 261U, // SQSHRUNv2i32_shift |
| 262U, // SQSHRUNv4i16_shift |
| 2309U, // SQSHRUNv4i32_shift |
| 2310U, // SQSHRUNv8i16_shift |
| 262U, // SQSHRUNv8i8_shift |
| 645U, // SQSUB_ZI_B |
| 709U, // SQSUB_ZI_D |
| 9U, // SQSUB_ZI_H |
| 773U, // SQSUB_ZI_S |
| 837U, // SQSUB_ZZZ_B |
| 901U, // SQSUB_ZZZ_D |
| 137U, // SQSUB_ZZZ_H |
| 1029U, // SQSUB_ZZZ_S |
| 33095U, // SQSUBv16i8 |
| 261U, // SQSUBv1i16 |
| 261U, // SQSUBv1i32 |
| 261U, // SQSUBv1i64 |
| 261U, // SQSUBv1i8 |
| 41287U, // SQSUBv2i32 |
| 8517U, // SQSUBv2i64 |
| 49480U, // SQSUBv4i16 |
| 16710U, // SQSUBv4i32 |
| 24902U, // SQSUBv8i16 |
| 57672U, // SQSUBv8i8 |
| 4U, // SQXTNv16i8 |
| 1U, // SQXTNv1i16 |
| 1U, // SQXTNv1i32 |
| 1U, // SQXTNv1i8 |
| 2U, // SQXTNv2i32 |
| 3U, // SQXTNv4i16 |
| 2U, // SQXTNv4i32 |
| 3U, // SQXTNv8i16 |
| 4U, // SQXTNv8i8 |
| 4U, // SQXTUNv16i8 |
| 1U, // SQXTUNv1i16 |
| 1U, // SQXTUNv1i32 |
| 1U, // SQXTUNv1i8 |
| 2U, // SQXTUNv2i32 |
| 3U, // SQXTUNv4i16 |
| 2U, // SQXTUNv4i32 |
| 3U, // SQXTUNv8i16 |
| 4U, // SQXTUNv8i8 |
| 33095U, // SRHADDv16i8 |
| 41287U, // SRHADDv2i32 |
| 49480U, // SRHADDv4i16 |
| 16710U, // SRHADDv4i32 |
| 24902U, // SRHADDv8i16 |
| 57672U, // SRHADDv8i8 |
| 2309U, // SRId |
| 2311U, // SRIv16i8_shift |
| 2311U, // SRIv2i32_shift |
| 2309U, // SRIv2i64_shift |
| 2312U, // SRIv4i16_shift |
| 2310U, // SRIv4i32_shift |
| 2310U, // SRIv8i16_shift |
| 2312U, // SRIv8i8_shift |
| 33095U, // SRSHLv16i8 |
| 261U, // SRSHLv1i64 |
| 41287U, // SRSHLv2i32 |
| 8517U, // SRSHLv2i64 |
| 49480U, // SRSHLv4i16 |
| 16710U, // SRSHLv4i32 |
| 24902U, // SRSHLv8i16 |
| 57672U, // SRSHLv8i8 |
| 261U, // SRSHRd |
| 263U, // SRSHRv16i8_shift |
| 263U, // SRSHRv2i32_shift |
| 261U, // SRSHRv2i64_shift |
| 264U, // SRSHRv4i16_shift |
| 262U, // SRSHRv4i32_shift |
| 262U, // SRSHRv8i16_shift |
| 264U, // SRSHRv8i8_shift |
| 2309U, // SRSRAd |
| 2311U, // SRSRAv16i8_shift |
| 2311U, // SRSRAv2i32_shift |
| 2309U, // SRSRAv2i64_shift |
| 2312U, // SRSRAv4i16_shift |
| 2310U, // SRSRAv4i32_shift |
| 2310U, // SRSRAv8i16_shift |
| 2312U, // SRSRAv8i8_shift |
| 263U, // SSHLLv16i8_shift |
| 263U, // SSHLLv2i32_shift |
| 264U, // SSHLLv4i16_shift |
| 262U, // SSHLLv4i32_shift |
| 262U, // SSHLLv8i16_shift |
| 264U, // SSHLLv8i8_shift |
| 33095U, // SSHLv16i8 |
| 261U, // SSHLv1i64 |
| 41287U, // SSHLv2i32 |
| 8517U, // SSHLv2i64 |
| 49480U, // SSHLv4i16 |
| 16710U, // SSHLv4i32 |
| 24902U, // SSHLv8i16 |
| 57672U, // SSHLv8i8 |
| 261U, // SSHRd |
| 263U, // SSHRv16i8_shift |
| 263U, // SSHRv2i32_shift |
| 261U, // SSHRv2i64_shift |
| 264U, // SSHRv4i16_shift |
| 262U, // SSHRv4i32_shift |
| 262U, // SSHRv8i16_shift |
| 264U, // SSHRv8i8_shift |
| 2309U, // SSRAd |
| 2311U, // SSRAv16i8_shift |
| 2311U, // SSRAv2i32_shift |
| 2309U, // SSRAv2i64_shift |
| 2312U, // SSRAv4i16_shift |
| 2310U, // SSRAv4i32_shift |
| 2310U, // SSRAv8i16_shift |
| 2312U, // SSRAv8i8_shift |
| 3205U, // SST1B_D |
| 3153U, // SST1B_D_IMM |
| 3269U, // SST1B_D_SXTW |
| 3333U, // SST1B_D_UXTW |
| 3153U, // SST1B_S_IMM |
| 3397U, // SST1B_S_SXTW |
| 3461U, // SST1B_S_UXTW |
| 3205U, // SST1D |
| 26U, // SST1D_IMM |
| 3525U, // SST1D_SCALED |
| 3269U, // SST1D_SXTW |
| 3589U, // SST1D_SXTW_SCALED |
| 3333U, // SST1D_UXTW |
| 3653U, // SST1D_UXTW_SCALED |
| 3205U, // SST1H_D |
| 26U, // SST1H_D_IMM |
| 3717U, // SST1H_D_SCALED |
| 3269U, // SST1H_D_SXTW |
| 3781U, // SST1H_D_SXTW_SCALED |
| 3333U, // SST1H_D_UXTW |
| 3845U, // SST1H_D_UXTW_SCALED |
| 26U, // SST1H_S_IMM |
| 3397U, // SST1H_S_SXTW |
| 3909U, // SST1H_S_SXTW_SCALED |
| 3461U, // SST1H_S_UXTW |
| 3973U, // SST1H_S_UXTW_SCALED |
| 3205U, // SST1W_D |
| 27U, // SST1W_D_IMM |
| 4037U, // SST1W_D_SCALED |
| 3269U, // SST1W_D_SXTW |
| 4101U, // SST1W_D_SXTW_SCALED |
| 3333U, // SST1W_D_UXTW |
| 4165U, // SST1W_D_UXTW_SCALED |
| 27U, // SST1W_IMM |
| 3397U, // SST1W_SXTW |
| 4229U, // SST1W_SXTW_SCALED |
| 3461U, // SST1W_UXTW |
| 4293U, // SST1W_UXTW_SCALED |
| 33095U, // SSUBLv16i8_v8i16 |
| 41287U, // SSUBLv2i32_v2i64 |
| 49480U, // SSUBLv4i16_v4i32 |
| 16710U, // SSUBLv4i32_v2i64 |
| 24902U, // SSUBLv8i16_v4i32 |
| 57672U, // SSUBLv8i8_v8i16 |
| 33094U, // SSUBWv16i8_v8i16 |
| 41285U, // SSUBWv2i32_v2i64 |
| 49478U, // SSUBWv4i16_v4i32 |
| 16709U, // SSUBWv4i32_v2i64 |
| 24902U, // SSUBWv8i16_v4i32 |
| 57670U, // SSUBWv8i8_v8i16 |
| 4357U, // ST1B |
| 4357U, // ST1B_D |
| 256261U, // ST1B_D_IMM |
| 4357U, // ST1B_H |
| 256261U, // ST1B_H_IMM |
| 256261U, // ST1B_IMM |
| 4357U, // ST1B_S |
| 256261U, // ST1B_S_IMM |
| 4421U, // ST1D |
| 256261U, // ST1D_IMM |
| 0U, // ST1Fourv16b |
| 0U, // ST1Fourv16b_POST |
| 0U, // ST1Fourv1d |
| 0U, // ST1Fourv1d_POST |
| 0U, // ST1Fourv2d |
| 0U, // ST1Fourv2d_POST |
| 0U, // ST1Fourv2s |
| 0U, // ST1Fourv2s_POST |
| 0U, // ST1Fourv4h |
| 0U, // ST1Fourv4h_POST |
| 0U, // ST1Fourv4s |
| 0U, // ST1Fourv4s_POST |
| 0U, // ST1Fourv8b |
| 0U, // ST1Fourv8b_POST |
| 0U, // ST1Fourv8h |
| 0U, // ST1Fourv8h_POST |
| 4485U, // ST1H |
| 4485U, // ST1H_D |
| 256261U, // ST1H_D_IMM |
| 256261U, // ST1H_IMM |
| 4485U, // ST1H_S |
| 256261U, // ST1H_S_IMM |
| 0U, // ST1Onev16b |
| 0U, // ST1Onev16b_POST |
| 0U, // ST1Onev1d |
| 0U, // ST1Onev1d_POST |
| 0U, // ST1Onev2d |
| 0U, // ST1Onev2d_POST |
| 0U, // ST1Onev2s |
| 0U, // ST1Onev2s_POST |
| 0U, // ST1Onev4h |
| 0U, // ST1Onev4h_POST |
| 0U, // ST1Onev4s |
| 0U, // ST1Onev4s_POST |
| 0U, // ST1Onev8b |
| 0U, // ST1Onev8b_POST |
| 0U, // ST1Onev8h |
| 0U, // ST1Onev8h_POST |
| 0U, // ST1Threev16b |
| 0U, // ST1Threev16b_POST |
| 0U, // ST1Threev1d |
| 0U, // ST1Threev1d_POST |
| 0U, // ST1Threev2d |
| 0U, // ST1Threev2d_POST |
| 0U, // ST1Threev2s |
| 0U, // ST1Threev2s_POST |
| 0U, // ST1Threev4h |
| 0U, // ST1Threev4h_POST |
| 0U, // ST1Threev4s |
| 0U, // ST1Threev4s_POST |
| 0U, // ST1Threev8b |
| 0U, // ST1Threev8b_POST |
| 0U, // ST1Threev8h |
| 0U, // ST1Threev8h_POST |
| 0U, // ST1Twov16b |
| 0U, // ST1Twov16b_POST |
| 0U, // ST1Twov1d |
| 0U, // ST1Twov1d_POST |
| 0U, // ST1Twov2d |
| 0U, // ST1Twov2d_POST |
| 0U, // ST1Twov2s |
| 0U, // ST1Twov2s_POST |
| 0U, // ST1Twov4h |
| 0U, // ST1Twov4h_POST |
| 0U, // ST1Twov4s |
| 0U, // ST1Twov4s_POST |
| 0U, // ST1Twov8b |
| 0U, // ST1Twov8b_POST |
| 0U, // ST1Twov8h |
| 0U, // ST1Twov8h_POST |
| 4741U, // ST1W |
| 4741U, // ST1W_D |
| 256261U, // ST1W_D_IMM |
| 256261U, // ST1W_IMM |
| 0U, // ST1i16 |
| 0U, // ST1i16_POST |
| 0U, // ST1i32 |
| 0U, // ST1i32_POST |
| 0U, // ST1i64 |
| 0U, // ST1i64_POST |
| 0U, // ST1i8 |
| 0U, // ST1i8_POST |
| 4357U, // ST2B |
| 258565U, // ST2B_IMM |
| 4421U, // ST2D |
| 258565U, // ST2D_IMM |
| 4485U, // ST2H |
| 258565U, // ST2H_IMM |
| 0U, // ST2Twov16b |
| 0U, // ST2Twov16b_POST |
| 0U, // ST2Twov2d |
| 0U, // ST2Twov2d_POST |
| 0U, // ST2Twov2s |
| 0U, // ST2Twov2s_POST |
| 0U, // ST2Twov4h |
| 0U, // ST2Twov4h_POST |
| 0U, // ST2Twov4s |
| 0U, // ST2Twov4s_POST |
| 0U, // ST2Twov8b |
| 0U, // ST2Twov8b_POST |
| 0U, // ST2Twov8h |
| 0U, // ST2Twov8h_POST |
| 4741U, // ST2W |
| 258565U, // ST2W_IMM |
| 0U, // ST2i16 |
| 0U, // ST2i16_POST |
| 0U, // ST2i32 |
| 0U, // ST2i32_POST |
| 0U, // ST2i64 |
| 0U, // ST2i64_POST |
| 0U, // ST2i8 |
| 0U, // ST2i8_POST |
| 4357U, // ST3B |
| 4869U, // ST3B_IMM |
| 4421U, // ST3D |
| 4869U, // ST3D_IMM |
| 4485U, // ST3H |
| 4869U, // ST3H_IMM |
| 0U, // ST3Threev16b |
| 0U, // ST3Threev16b_POST |
| 0U, // ST3Threev2d |
| 0U, // ST3Threev2d_POST |
| 0U, // ST3Threev2s |
| 0U, // ST3Threev2s_POST |
| 0U, // ST3Threev4h |
| 0U, // ST3Threev4h_POST |
| 0U, // ST3Threev4s |
| 0U, // ST3Threev4s_POST |
| 0U, // ST3Threev8b |
| 0U, // ST3Threev8b_POST |
| 0U, // ST3Threev8h |
| 0U, // ST3Threev8h_POST |
| 4741U, // ST3W |
| 4869U, // ST3W_IMM |
| 0U, // ST3i16 |
| 0U, // ST3i16_POST |
| 0U, // ST3i32 |
| 0U, // ST3i32_POST |
| 0U, // ST3i64 |
| 0U, // ST3i64_POST |
| 0U, // ST3i8 |
| 0U, // ST3i8_POST |
| 4357U, // ST4B |
| 258757U, // ST4B_IMM |
| 4421U, // ST4D |
| 258757U, // ST4D_IMM |
| 0U, // ST4Fourv16b |
| 0U, // ST4Fourv16b_POST |
| 0U, // ST4Fourv2d |
| 0U, // ST4Fourv2d_POST |
| 0U, // ST4Fourv2s |
| 0U, // ST4Fourv2s_POST |
| 0U, // ST4Fourv4h |
| 0U, // ST4Fourv4h_POST |
| 0U, // ST4Fourv4s |
| 0U, // ST4Fourv4s_POST |
| 0U, // ST4Fourv8b |
| 0U, // ST4Fourv8b_POST |
| 0U, // ST4Fourv8h |
| 0U, // ST4Fourv8h_POST |
| 4485U, // ST4H |
| 258757U, // ST4H_IMM |
| 4741U, // ST4W |
| 258757U, // ST4W_IMM |
| 0U, // ST4i16 |
| 0U, // ST4i16_POST |
| 0U, // ST4i32 |
| 0U, // ST4i32_POST |
| 0U, // ST4i64 |
| 0U, // ST4i64_POST |
| 0U, // ST4i8 |
| 0U, // ST4i8_POST |
| 27U, // STLLRB |
| 27U, // STLLRH |
| 27U, // STLLRW |
| 27U, // STLLRX |
| 27U, // STLRB |
| 27U, // STLRH |
| 27U, // STLRW |
| 27U, // STLRX |
| 114949U, // STLURBi |
| 114949U, // STLURHi |
| 114949U, // STLURWi |
| 114949U, // STLURXi |
| 286981U, // STLXPW |
| 286981U, // STLXPX |
| 114955U, // STLXRB |
| 114955U, // STLXRH |
| 114955U, // STLXRW |
| 114955U, // STLXRX |
| 11084043U, // STNPDi |
| 11608331U, // STNPQi |
| 12132619U, // STNPSi |
| 12132619U, // STNPWi |
| 11084043U, // STNPXi |
| 256261U, // STNT1B_ZRI |
| 4357U, // STNT1B_ZRR |
| 256261U, // STNT1D_ZRI |
| 4421U, // STNT1D_ZRR |
| 256261U, // STNT1H_ZRI |
| 4485U, // STNT1H_ZRR |
| 256261U, // STNT1W_ZRI |
| 4741U, // STNT1W_ZRR |
| 11084043U, // STPDi |
| 12847371U, // STPDpost |
| 180431115U, // STPDpre |
| 11608331U, // STPQi |
| 13371659U, // STPQpost |
| 180955403U, // STPQpre |
| 12132619U, // STPSi |
| 13895947U, // STPSpost |
| 181479691U, // STPSpre |
| 12132619U, // STPWi |
| 13895947U, // STPWpost |
| 181479691U, // STPWpre |
| 11084043U, // STPXi |
| 12847371U, // STPXpost |
| 180431115U, // STPXpre |
| 28U, // STRBBpost |
| 272645U, // STRBBpre |
| 14229765U, // STRBBroW |
| 14754053U, // STRBBroX |
| 4997U, // STRBBui |
| 28U, // STRBpost |
| 272645U, // STRBpre |
| 14229765U, // STRBroW |
| 14754053U, // STRBroX |
| 4997U, // STRBui |
| 28U, // STRDpost |
| 272645U, // STRDpre |
| 15278341U, // STRDroW |
| 15802629U, // STRDroX |
| 5061U, // STRDui |
| 28U, // STRHHpost |
| 272645U, // STRHHpre |
| 16326917U, // STRHHroW |
| 16851205U, // STRHHroX |
| 5125U, // STRHHui |
| 28U, // STRHpost |
| 272645U, // STRHpre |
| 16326917U, // STRHroW |
| 16851205U, // STRHroX |
| 5125U, // STRHui |
| 28U, // STRQpost |
| 272645U, // STRQpre |
| 17375493U, // STRQroW |
| 17899781U, // STRQroX |
| 5189U, // STRQui |
| 28U, // STRSpost |
| 272645U, // STRSpre |
| 18424069U, // STRSroW |
| 18948357U, // STRSroX |
| 5253U, // STRSui |
| 28U, // STRWpost |
| 272645U, // STRWpre |
| 18424069U, // STRWroW |
| 18948357U, // STRWroX |
| 5253U, // STRWui |
| 28U, // STRXpost |
| 272645U, // STRXpre |
| 15278341U, // STRXroW |
| 15802629U, // STRXroX |
| 5061U, // STRXui |
| 254213U, // STR_PXI |
| 254213U, // STR_ZXI |
| 114949U, // STTRBi |
| 114949U, // STTRHi |
| 114949U, // STTRWi |
| 114949U, // STTRXi |
| 114949U, // STURBBi |
| 114949U, // STURBi |
| 114949U, // STURDi |
| 114949U, // STURHHi |
| 114949U, // STURHi |
| 114949U, // STURQi |
| 114949U, // STURSi |
| 114949U, // STURWi |
| 114949U, // STURXi |
| 286981U, // STXPW |
| 286981U, // STXPX |
| 114955U, // STXRB |
| 114955U, // STXRH |
| 114955U, // STXRW |
| 114955U, // STXRX |
| 8517U, // SUBHNv2i64_v2i32 |
| 8581U, // SUBHNv2i64_v4i32 |
| 16710U, // SUBHNv4i32_v4i16 |
| 16774U, // SUBHNv4i32_v8i16 |
| 24966U, // SUBHNv8i16_v16i8 |
| 24902U, // SUBHNv8i16_v8i8 |
| 645U, // SUBR_ZI_B |
| 709U, // SUBR_ZI_D |
| 9U, // SUBR_ZI_H |
| 773U, // SUBR_ZI_S |
| 74560U, // SUBR_ZPmZ_B |
| 598912U, // SUBR_ZPmZ_D |
| 1131465U, // SUBR_ZPmZ_H |
| 1647616U, // SUBR_ZPmZ_S |
| 453U, // SUBSWri |
| 0U, // SUBSWrr |
| 517U, // SUBSWrs |
| 581U, // SUBSWrx |
| 453U, // SUBSXri |
| 0U, // SUBSXrr |
| 517U, // SUBSXrs |
| 581U, // SUBSXrx |
| 65797U, // SUBSXrx64 |
| 453U, // SUBWri |
| 0U, // SUBWrr |
| 517U, // SUBWrs |
| 581U, // SUBWrx |
| 453U, // SUBXri |
| 0U, // SUBXrr |
| 517U, // SUBXrs |
| 581U, // SUBXrx |
| 65797U, // SUBXrx64 |
| 645U, // SUB_ZI_B |
| 709U, // SUB_ZI_D |
| 9U, // SUB_ZI_H |
| 773U, // SUB_ZI_S |
| 74560U, // SUB_ZPmZ_B |
| 598912U, // SUB_ZPmZ_D |
| 1131465U, // SUB_ZPmZ_H |
| 1647616U, // SUB_ZPmZ_S |
| 837U, // SUB_ZZZ_B |
| 901U, // SUB_ZZZ_D |
| 137U, // SUB_ZZZ_H |
| 1029U, // SUB_ZZZ_S |
| 33095U, // SUBv16i8 |
| 261U, // SUBv1i64 |
| 41287U, // SUBv2i32 |
| 8517U, // SUBv2i64 |
| 49480U, // SUBv4i16 |
| 16710U, // SUBv4i32 |
| 24902U, // SUBv8i16 |
| 57672U, // SUBv8i8 |
| 1U, // SUNPKHI_ZZ_D |
| 0U, // SUNPKHI_ZZ_H |
| 1U, // SUNPKHI_ZZ_S |
| 1U, // SUNPKLO_ZZ_D |
| 0U, // SUNPKLO_ZZ_H |
| 1U, // SUNPKLO_ZZ_S |
| 1U, // SUQADDv16i8 |
| 1U, // SUQADDv1i16 |
| 1U, // SUQADDv1i32 |
| 1U, // SUQADDv1i64 |
| 1U, // SUQADDv1i8 |
| 2U, // SUQADDv2i32 |
| 2U, // SUQADDv2i64 |
| 3U, // SUQADDv4i16 |
| 3U, // SUQADDv4i32 |
| 4U, // SUQADDv8i16 |
| 4U, // SUQADDv8i8 |
| 0U, // SVC |
| 0U, // SWPAB |
| 0U, // SWPAH |
| 0U, // SWPALB |
| 0U, // SWPALH |
| 0U, // SWPALW |
| 0U, // SWPALX |
| 0U, // SWPAW |
| 0U, // SWPAX |
| 0U, // SWPB |
| 0U, // SWPH |
| 0U, // SWPLB |
| 0U, // SWPLH |
| 0U, // SWPLW |
| 0U, // SWPLX |
| 0U, // SWPW |
| 0U, // SWPX |
| 64U, // SXTB_ZPmZ_D |
| 128U, // SXTB_ZPmZ_H |
| 192U, // SXTB_ZPmZ_S |
| 64U, // SXTH_ZPmZ_D |
| 192U, // SXTH_ZPmZ_S |
| 64U, // SXTW_ZPmZ_D |
| 5445U, // SYSLxt |
| 0U, // SYSxt |
| 0U, // TBL_ZZZ_B |
| 0U, // TBL_ZZZ_D |
| 0U, // TBL_ZZZ_H |
| 0U, // TBL_ZZZ_S |
| 1U, // TBLv16i8Four |
| 1U, // TBLv16i8One |
| 1U, // TBLv16i8Three |
| 1U, // TBLv16i8Two |
| 4U, // TBLv8i8Four |
| 4U, // TBLv8i8One |
| 4U, // TBLv8i8Three |
| 4U, // TBLv8i8Two |
| 5509U, // TBNZW |
| 5509U, // TBNZX |
| 1U, // TBXv16i8Four |
| 1U, // TBXv16i8One |
| 1U, // TBXv16i8Three |
| 1U, // TBXv16i8Two |
| 4U, // TBXv8i8Four |
| 4U, // TBXv8i8One |
| 4U, // TBXv8i8Three |
| 4U, // TBXv8i8Two |
| 5509U, // TBZW |
| 5509U, // TBZX |
| 0U, // TCRETURNdi |
| 0U, // TCRETURNri |
| 0U, // TLSDESCCALL |
| 0U, // TLSDESC_CALLSEQ |
| 837U, // TRN1_PPP_B |
| 901U, // TRN1_PPP_D |
| 137U, // TRN1_PPP_H |
| 1029U, // TRN1_PPP_S |
| 837U, // TRN1_ZZZ_B |
| 901U, // TRN1_ZZZ_D |
| 137U, // TRN1_ZZZ_H |
| 1029U, // TRN1_ZZZ_S |
| 33095U, // TRN1v16i8 |
| 41287U, // TRN1v2i32 |
| 8517U, // TRN1v2i64 |
| 49480U, // TRN1v4i16 |
| 16710U, // TRN1v4i32 |
| 24902U, // TRN1v8i16 |
| 57672U, // TRN1v8i8 |
| 837U, // TRN2_PPP_B |
| 901U, // TRN2_PPP_D |
| 137U, // TRN2_PPP_H |
| 1029U, // TRN2_PPP_S |
| 837U, // TRN2_ZZZ_B |
| 901U, // TRN2_ZZZ_D |
| 137U, // TRN2_ZZZ_H |
| 1029U, // TRN2_ZZZ_S |
| 33095U, // TRN2v16i8 |
| 41287U, // TRN2v2i32 |
| 8517U, // TRN2v2i64 |
| 49480U, // TRN2v4i16 |
| 16710U, // TRN2v4i32 |
| 24902U, // TRN2v8i16 |
| 57672U, // TRN2v8i8 |
| 0U, // TSB |
| 33159U, // UABALv16i8_v8i16 |
| 41351U, // UABALv2i32_v2i64 |
| 49544U, // UABALv4i16_v4i32 |
| 16774U, // UABALv4i32_v2i64 |
| 24966U, // UABALv8i16_v4i32 |
| 57736U, // UABALv8i8_v8i16 |
| 33159U, // UABAv16i8 |
| 41351U, // UABAv2i32 |
| 49544U, // UABAv4i16 |
| 16774U, // UABAv4i32 |
| 24966U, // UABAv8i16 |
| 57736U, // UABAv8i8 |
| 33095U, // UABDLv16i8_v8i16 |
| 41287U, // UABDLv2i32_v2i64 |
| 49480U, // UABDLv4i16_v4i32 |
| 16710U, // UABDLv4i32_v2i64 |
| 24902U, // UABDLv8i16_v4i32 |
| 57672U, // UABDLv8i8_v8i16 |
| 74560U, // UABD_ZPmZ_B |
| 598912U, // UABD_ZPmZ_D |
| 1131465U, // UABD_ZPmZ_H |
| 1647616U, // UABD_ZPmZ_S |
| 33095U, // UABDv16i8 |
| 41287U, // UABDv2i32 |
| 49480U, // UABDv4i16 |
| 16710U, // UABDv4i32 |
| 24902U, // UABDv8i16 |
| 57672U, // UABDv8i8 |
| 1U, // UADALPv16i8_v8i16 |
| 2U, // UADALPv2i32_v1i64 |
| 3U, // UADALPv4i16_v2i32 |
| 3U, // UADALPv4i32_v2i64 |
| 4U, // UADALPv8i16_v4i32 |
| 4U, // UADALPv8i8_v4i16 |
| 1U, // UADDLPv16i8_v8i16 |
| 2U, // UADDLPv2i32_v1i64 |
| 3U, // UADDLPv4i16_v2i32 |
| 3U, // UADDLPv4i32_v2i64 |
| 4U, // UADDLPv8i16_v4i32 |
| 4U, // UADDLPv8i8_v4i16 |
| 1U, // UADDLVv16i8v |
| 3U, // UADDLVv4i16v |
| 3U, // UADDLVv4i32v |
| 4U, // UADDLVv8i16v |
| 4U, // UADDLVv8i8v |
| 33095U, // UADDLv16i8_v8i16 |
| 41287U, // UADDLv2i32_v2i64 |
| 49480U, // UADDLv4i16_v4i32 |
| 16710U, // UADDLv4i32_v2i64 |
| 24902U, // UADDLv8i16_v4i32 |
| 57672U, // UADDLv8i8_v8i16 |
| 837U, // UADDV_VPZ_B |
| 901U, // UADDV_VPZ_D |
| 2245U, // UADDV_VPZ_H |
| 1029U, // UADDV_VPZ_S |
| 33094U, // UADDWv16i8_v8i16 |
| 41285U, // UADDWv2i32_v2i64 |
| 49478U, // UADDWv4i16_v4i32 |
| 16709U, // UADDWv4i32_v2i64 |
| 24902U, // UADDWv8i16_v4i32 |
| 57670U, // UADDWv8i8_v8i16 |
| 2171141U, // UBFMWri |
| 2171141U, // UBFMXri |
| 261U, // UCVTFSWDri |
| 261U, // UCVTFSWHri |
| 261U, // UCVTFSWSri |
| 261U, // UCVTFSXDri |
| 261U, // UCVTFSXHri |
| 261U, // UCVTFSXSri |
| 1U, // UCVTFUWDri |
| 1U, // UCVTFUWHri |
| 1U, // UCVTFUWSri |
| 1U, // UCVTFUXDri |
| 1U, // UCVTFUXHri |
| 1U, // UCVTFUXSri |
| 64U, // UCVTF_ZPmZ_DtoD |
| 153U, // UCVTF_ZPmZ_DtoH |
| 64U, // UCVTF_ZPmZ_DtoS |
| 128U, // UCVTF_ZPmZ_HtoH |
| 192U, // UCVTF_ZPmZ_StoD |
| 152U, // UCVTF_ZPmZ_StoH |
| 192U, // UCVTF_ZPmZ_StoS |
| 261U, // UCVTFd |
| 261U, // UCVTFh |
| 261U, // UCVTFs |
| 1U, // UCVTFv1i16 |
| 1U, // UCVTFv1i32 |
| 1U, // UCVTFv1i64 |
| 2U, // UCVTFv2f32 |
| 2U, // UCVTFv2f64 |
| 263U, // UCVTFv2i32_shift |
| 261U, // UCVTFv2i64_shift |
| 3U, // UCVTFv4f16 |
| 3U, // UCVTFv4f32 |
| 264U, // UCVTFv4i16_shift |
| 262U, // UCVTFv4i32_shift |
| 4U, // UCVTFv8f16 |
| 262U, // UCVTFv8i16_shift |
| 598912U, // UDIVR_ZPmZ_D |
| 1647616U, // UDIVR_ZPmZ_S |
| 261U, // UDIVWr |
| 261U, // UDIVXr |
| 598912U, // UDIV_ZPmZ_D |
| 1647616U, // UDIV_ZPmZ_S |
| 41U, // UDOT_ZZZI_D |
| 41U, // UDOT_ZZZI_S |
| 1U, // UDOT_ZZZ_D |
| 1U, // UDOT_ZZZ_S |
| 278919U, // UDOTlanev16i8 |
| 278920U, // UDOTlanev8i8 |
| 33159U, // UDOTv16i8 |
| 57736U, // UDOTv8i8 |
| 33095U, // UHADDv16i8 |
| 41287U, // UHADDv2i32 |
| 49480U, // UHADDv4i16 |
| 16710U, // UHADDv4i32 |
| 24902U, // UHADDv8i16 |
| 57672U, // UHADDv8i8 |
| 33095U, // UHSUBv16i8 |
| 41287U, // UHSUBv2i32 |
| 49480U, // UHSUBv4i16 |
| 16710U, // UHSUBv4i32 |
| 24902U, // UHSUBv8i16 |
| 57672U, // UHSUBv8i8 |
| 2171141U, // UMADDLrrr |
| 33095U, // UMAXPv16i8 |
| 41287U, // UMAXPv2i32 |
| 49480U, // UMAXPv4i16 |
| 16710U, // UMAXPv4i32 |
| 24902U, // UMAXPv8i16 |
| 57672U, // UMAXPv8i8 |
| 837U, // UMAXV_VPZ_B |
| 901U, // UMAXV_VPZ_D |
| 2245U, // UMAXV_VPZ_H |
| 1029U, // UMAXV_VPZ_S |
| 1U, // UMAXVv16i8v |
| 3U, // UMAXVv4i16v |
| 3U, // UMAXVv4i32v |
| 4U, // UMAXVv8i16v |
| 4U, // UMAXVv8i8v |
| 5573U, // UMAX_ZI_B |
| 5573U, // UMAX_ZI_D |
| 45U, // UMAX_ZI_H |
| 5573U, // UMAX_ZI_S |
| 74560U, // UMAX_ZPmZ_B |
| 598912U, // UMAX_ZPmZ_D |
| 1131465U, // UMAX_ZPmZ_H |
| 1647616U, // UMAX_ZPmZ_S |
| 33095U, // UMAXv16i8 |
| 41287U, // UMAXv2i32 |
| 49480U, // UMAXv4i16 |
| 16710U, // UMAXv4i32 |
| 24902U, // UMAXv8i16 |
| 57672U, // UMAXv8i8 |
| 33095U, // UMINPv16i8 |
| 41287U, // UMINPv2i32 |
| 49480U, // UMINPv4i16 |
| 16710U, // UMINPv4i32 |
| 24902U, // UMINPv8i16 |
| 57672U, // UMINPv8i8 |
| 837U, // UMINV_VPZ_B |
| 901U, // UMINV_VPZ_D |
| 2245U, // UMINV_VPZ_H |
| 1029U, // UMINV_VPZ_S |
| 1U, // UMINVv16i8v |
| 3U, // UMINVv4i16v |
| 3U, // UMINVv4i32v |
| 4U, // UMINVv8i16v |
| 4U, // UMINVv8i8v |
| 5573U, // UMIN_ZI_B |
| 5573U, // UMIN_ZI_D |
| 45U, // UMIN_ZI_H |
| 5573U, // UMIN_ZI_S |
| 74560U, // UMIN_ZPmZ_B |
| 598912U, // UMIN_ZPmZ_D |
| 1131465U, // UMIN_ZPmZ_H |
| 1647616U, // UMIN_ZPmZ_S |
| 33095U, // UMINv16i8 |
| 41287U, // UMINv2i32 |
| 49480U, // UMINv4i16 |
| 16710U, // UMINv4i32 |
| 24902U, // UMINv8i16 |
| 57672U, // UMINv8i8 |
| 33159U, // UMLALv16i8_v8i16 |
| 9126279U, // UMLALv2i32_indexed |
| 41351U, // UMLALv2i32_v2i64 |
| 9118088U, // UMLALv4i16_indexed |
| 49544U, // UMLALv4i16_v4i32 |
| 9126278U, // UMLALv4i32_indexed |
| 16774U, // UMLALv4i32_v2i64 |
| 9118086U, // UMLALv8i16_indexed |
| 24966U, // UMLALv8i16_v4i32 |
| 57736U, // UMLALv8i8_v8i16 |
| 33159U, // UMLSLv16i8_v8i16 |
| 9126279U, // UMLSLv2i32_indexed |
| 41351U, // UMLSLv2i32_v2i64 |
| 9118088U, // UMLSLv4i16_indexed |
| 49544U, // UMLSLv4i16_v4i32 |
| 9126278U, // UMLSLv4i32_indexed |
| 16774U, // UMLSLv4i32_v2i64 |
| 9118086U, // UMLSLv8i16_indexed |
| 24966U, // UMLSLv8i16_v4i32 |
| 57736U, // UMLSLv8i8_v8i16 |
| 2770U, // UMOVvi16 |
| 2770U, // UMOVvi32 |
| 2771U, // UMOVvi64 |
| 2771U, // UMOVvi8 |
| 2171141U, // UMSUBLrrr |
| 74560U, // UMULH_ZPmZ_B |
| 598912U, // UMULH_ZPmZ_D |
| 1131465U, // UMULH_ZPmZ_H |
| 1647616U, // UMULH_ZPmZ_S |
| 261U, // UMULHrr |
| 33095U, // UMULLv16i8_v8i16 |
| 10174791U, // UMULLv2i32_indexed |
| 41287U, // UMULLv2i32_v2i64 |
| 10166600U, // UMULLv4i16_indexed |
| 49480U, // UMULLv4i16_v4i32 |
| 10174790U, // UMULLv4i32_indexed |
| 16710U, // UMULLv4i32_v2i64 |
| 10166598U, // UMULLv8i16_indexed |
| 24902U, // UMULLv8i16_v4i32 |
| 57672U, // UMULLv8i8_v8i16 |
| 645U, // UQADD_ZI_B |
| 709U, // UQADD_ZI_D |
| 9U, // UQADD_ZI_H |
| 773U, // UQADD_ZI_S |
| 837U, // UQADD_ZZZ_B |
| 901U, // UQADD_ZZZ_D |
| 137U, // UQADD_ZZZ_H |
| 1029U, // UQADD_ZZZ_S |
| 33095U, // UQADDv16i8 |
| 261U, // UQADDv1i16 |
| 261U, // UQADDv1i32 |
| 261U, // UQADDv1i64 |
| 261U, // UQADDv1i8 |
| 41287U, // UQADDv2i32 |
| 8517U, // UQADDv2i64 |
| 49480U, // UQADDv4i16 |
| 16710U, // UQADDv4i32 |
| 24902U, // UQADDv8i16 |
| 57672U, // UQADDv8i8 |
| 0U, // UQDECB_WPiI |
| 0U, // UQDECB_XPiI |
| 0U, // UQDECD_WPiI |
| 0U, // UQDECD_XPiI |
| 0U, // UQDECD_ZPiI |
| 0U, // UQDECH_WPiI |
| 0U, // UQDECH_XPiI |
| 0U, // UQDECH_ZPiI |
| 1U, // UQDECP_WP_B |
| 1U, // UQDECP_WP_D |
| 1U, // UQDECP_WP_H |
| 1U, // UQDECP_WP_S |
| 1U, // UQDECP_XP_B |
| 1U, // UQDECP_XP_D |
| 1U, // UQDECP_XP_H |
| 1U, // UQDECP_XP_S |
| 1U, // UQDECP_ZP_D |
| 0U, // UQDECP_ZP_H |
| 1U, // UQDECP_ZP_S |
| 0U, // UQDECW_WPiI |
| 0U, // UQDECW_XPiI |
| 0U, // UQDECW_ZPiI |
| 0U, // UQINCB_WPiI |
| 0U, // UQINCB_XPiI |
| 0U, // UQINCD_WPiI |
| 0U, // UQINCD_XPiI |
| 0U, // UQINCD_ZPiI |
| 0U, // UQINCH_WPiI |
| 0U, // UQINCH_XPiI |
| 0U, // UQINCH_ZPiI |
| 1U, // UQINCP_WP_B |
| 1U, // UQINCP_WP_D |
| 1U, // UQINCP_WP_H |
| 1U, // UQINCP_WP_S |
| 1U, // UQINCP_XP_B |
| 1U, // UQINCP_XP_D |
| 1U, // UQINCP_XP_H |
| 1U, // UQINCP_XP_S |
| 1U, // UQINCP_ZP_D |
| 0U, // UQINCP_ZP_H |
| 1U, // UQINCP_ZP_S |
| 0U, // UQINCW_WPiI |
| 0U, // UQINCW_XPiI |
| 0U, // UQINCW_ZPiI |
| 33095U, // UQRSHLv16i8 |
| 261U, // UQRSHLv1i16 |
| 261U, // UQRSHLv1i32 |
| 261U, // UQRSHLv1i64 |
| 261U, // UQRSHLv1i8 |
| 41287U, // UQRSHLv2i32 |
| 8517U, // UQRSHLv2i64 |
| 49480U, // UQRSHLv4i16 |
| 16710U, // UQRSHLv4i32 |
| 24902U, // UQRSHLv8i16 |
| 57672U, // UQRSHLv8i8 |
| 261U, // UQRSHRNb |
| 261U, // UQRSHRNh |
| 261U, // UQRSHRNs |
| 2310U, // UQRSHRNv16i8_shift |
| 261U, // UQRSHRNv2i32_shift |
| 262U, // UQRSHRNv4i16_shift |
| 2309U, // UQRSHRNv4i32_shift |
| 2310U, // UQRSHRNv8i16_shift |
| 262U, // UQRSHRNv8i8_shift |
| 261U, // UQSHLb |
| 261U, // UQSHLd |
| 261U, // UQSHLh |
| 261U, // UQSHLs |
| 33095U, // UQSHLv16i8 |
| 263U, // UQSHLv16i8_shift |
| 261U, // UQSHLv1i16 |
| 261U, // UQSHLv1i32 |
| 261U, // UQSHLv1i64 |
| 261U, // UQSHLv1i8 |
| 41287U, // UQSHLv2i32 |
| 263U, // UQSHLv2i32_shift |
| 8517U, // UQSHLv2i64 |
| 261U, // UQSHLv2i64_shift |
| 49480U, // UQSHLv4i16 |
| 264U, // UQSHLv4i16_shift |
| 16710U, // UQSHLv4i32 |
| 262U, // UQSHLv4i32_shift |
| 24902U, // UQSHLv8i16 |
| 262U, // UQSHLv8i16_shift |
| 57672U, // UQSHLv8i8 |
| 264U, // UQSHLv8i8_shift |
| 261U, // UQSHRNb |
| 261U, // UQSHRNh |
| 261U, // UQSHRNs |
| 2310U, // UQSHRNv16i8_shift |
| 261U, // UQSHRNv2i32_shift |
| 262U, // UQSHRNv4i16_shift |
| 2309U, // UQSHRNv4i32_shift |
| 2310U, // UQSHRNv8i16_shift |
| 262U, // UQSHRNv8i8_shift |
| 645U, // UQSUB_ZI_B |
| 709U, // UQSUB_ZI_D |
| 9U, // UQSUB_ZI_H |
| 773U, // UQSUB_ZI_S |
| 837U, // UQSUB_ZZZ_B |
| 901U, // UQSUB_ZZZ_D |
| 137U, // UQSUB_ZZZ_H |
| 1029U, // UQSUB_ZZZ_S |
| 33095U, // UQSUBv16i8 |
| 261U, // UQSUBv1i16 |
| 261U, // UQSUBv1i32 |
| 261U, // UQSUBv1i64 |
| 261U, // UQSUBv1i8 |
| 41287U, // UQSUBv2i32 |
| 8517U, // UQSUBv2i64 |
| 49480U, // UQSUBv4i16 |
| 16710U, // UQSUBv4i32 |
| 24902U, // UQSUBv8i16 |
| 57672U, // UQSUBv8i8 |
| 4U, // UQXTNv16i8 |
| 1U, // UQXTNv1i16 |
| 1U, // UQXTNv1i32 |
| 1U, // UQXTNv1i8 |
| 2U, // UQXTNv2i32 |
| 3U, // UQXTNv4i16 |
| 2U, // UQXTNv4i32 |
| 3U, // UQXTNv8i16 |
| 4U, // UQXTNv8i8 |
| 2U, // URECPEv2i32 |
| 3U, // URECPEv4i32 |
| 33095U, // URHADDv16i8 |
| 41287U, // URHADDv2i32 |
| 49480U, // URHADDv4i16 |
| 16710U, // URHADDv4i32 |
| 24902U, // URHADDv8i16 |
| 57672U, // URHADDv8i8 |
| 33095U, // URSHLv16i8 |
| 261U, // URSHLv1i64 |
| 41287U, // URSHLv2i32 |
| 8517U, // URSHLv2i64 |
| 49480U, // URSHLv4i16 |
| 16710U, // URSHLv4i32 |
| 24902U, // URSHLv8i16 |
| 57672U, // URSHLv8i8 |
| 261U, // URSHRd |
| 263U, // URSHRv16i8_shift |
| 263U, // URSHRv2i32_shift |
| 261U, // URSHRv2i64_shift |
| 264U, // URSHRv4i16_shift |
| 262U, // URSHRv4i32_shift |
| 262U, // URSHRv8i16_shift |
| 264U, // URSHRv8i8_shift |
| 2U, // URSQRTEv2i32 |
| 3U, // URSQRTEv4i32 |
| 2309U, // URSRAd |
| 2311U, // URSRAv16i8_shift |
| 2311U, // URSRAv2i32_shift |
| 2309U, // URSRAv2i64_shift |
| 2312U, // URSRAv4i16_shift |
| 2310U, // URSRAv4i32_shift |
| 2310U, // URSRAv8i16_shift |
| 2312U, // URSRAv8i8_shift |
| 263U, // USHLLv16i8_shift |
| 263U, // USHLLv2i32_shift |
| 264U, // USHLLv4i16_shift |
| 262U, // USHLLv4i32_shift |
| 262U, // USHLLv8i16_shift |
| 264U, // USHLLv8i8_shift |
| 33095U, // USHLv16i8 |
| 261U, // USHLv1i64 |
| 41287U, // USHLv2i32 |
| 8517U, // USHLv2i64 |
| 49480U, // USHLv4i16 |
| 16710U, // USHLv4i32 |
| 24902U, // USHLv8i16 |
| 57672U, // USHLv8i8 |
| 261U, // USHRd |
| 263U, // USHRv16i8_shift |
| 263U, // USHRv2i32_shift |
| 261U, // USHRv2i64_shift |
| 264U, // USHRv4i16_shift |
| 262U, // USHRv4i32_shift |
| 262U, // USHRv8i16_shift |
| 264U, // USHRv8i8_shift |
| 1U, // USQADDv16i8 |
| 1U, // USQADDv1i16 |
| 1U, // USQADDv1i32 |
| 1U, // USQADDv1i64 |
| 1U, // USQADDv1i8 |
| 2U, // USQADDv2i32 |
| 2U, // USQADDv2i64 |
| 3U, // USQADDv4i16 |
| 3U, // USQADDv4i32 |
| 4U, // USQADDv8i16 |
| 4U, // USQADDv8i8 |
| 2309U, // USRAd |
| 2311U, // USRAv16i8_shift |
| 2311U, // USRAv2i32_shift |
| 2309U, // USRAv2i64_shift |
| 2312U, // USRAv4i16_shift |
| 2310U, // USRAv4i32_shift |
| 2310U, // USRAv8i16_shift |
| 2312U, // USRAv8i8_shift |
| 33095U, // USUBLv16i8_v8i16 |
| 41287U, // USUBLv2i32_v2i64 |
| 49480U, // USUBLv4i16_v4i32 |
| 16710U, // USUBLv4i32_v2i64 |
| 24902U, // USUBLv8i16_v4i32 |
| 57672U, // USUBLv8i8_v8i16 |
| 33094U, // USUBWv16i8_v8i16 |
| 41285U, // USUBWv2i32_v2i64 |
| 49478U, // USUBWv4i16_v4i32 |
| 16709U, // USUBWv4i32_v2i64 |
| 24902U, // USUBWv8i16_v4i32 |
| 57670U, // USUBWv8i8_v8i16 |
| 1U, // UUNPKHI_ZZ_D |
| 0U, // UUNPKHI_ZZ_H |
| 1U, // UUNPKHI_ZZ_S |
| 1U, // UUNPKLO_ZZ_D |
| 0U, // UUNPKLO_ZZ_H |
| 1U, // UUNPKLO_ZZ_S |
| 64U, // UXTB_ZPmZ_D |
| 128U, // UXTB_ZPmZ_H |
| 192U, // UXTB_ZPmZ_S |
| 64U, // UXTH_ZPmZ_D |
| 192U, // UXTH_ZPmZ_S |
| 64U, // UXTW_ZPmZ_D |
| 837U, // UZP1_PPP_B |
| 901U, // UZP1_PPP_D |
| 137U, // UZP1_PPP_H |
| 1029U, // UZP1_PPP_S |
| 837U, // UZP1_ZZZ_B |
| 901U, // UZP1_ZZZ_D |
| 137U, // UZP1_ZZZ_H |
| 1029U, // UZP1_ZZZ_S |
| 33095U, // UZP1v16i8 |
| 41287U, // UZP1v2i32 |
| 8517U, // UZP1v2i64 |
| 49480U, // UZP1v4i16 |
| 16710U, // UZP1v4i32 |
| 24902U, // UZP1v8i16 |
| 57672U, // UZP1v8i8 |
| 837U, // UZP2_PPP_B |
| 901U, // UZP2_PPP_D |
| 137U, // UZP2_PPP_H |
| 1029U, // UZP2_PPP_S |
| 837U, // UZP2_ZZZ_B |
| 901U, // UZP2_ZZZ_D |
| 137U, // UZP2_ZZZ_H |
| 1029U, // UZP2_ZZZ_S |
| 33095U, // UZP2v16i8 |
| 41287U, // UZP2v2i32 |
| 8517U, // UZP2v2i64 |
| 49480U, // UZP2v4i16 |
| 16710U, // UZP2v4i32 |
| 24902U, // UZP2v8i16 |
| 57672U, // UZP2v8i8 |
| 261U, // WHILELE_PWW_B |
| 261U, // WHILELE_PWW_D |
| 11U, // WHILELE_PWW_H |
| 261U, // WHILELE_PWW_S |
| 261U, // WHILELE_PXX_B |
| 261U, // WHILELE_PXX_D |
| 11U, // WHILELE_PXX_H |
| 261U, // WHILELE_PXX_S |
| 261U, // WHILELO_PWW_B |
| 261U, // WHILELO_PWW_D |
| 11U, // WHILELO_PWW_H |
| 261U, // WHILELO_PWW_S |
| 261U, // WHILELO_PXX_B |
| 261U, // WHILELO_PXX_D |
| 11U, // WHILELO_PXX_H |
| 261U, // WHILELO_PXX_S |
| 261U, // WHILELS_PWW_B |
| 261U, // WHILELS_PWW_D |
| 11U, // WHILELS_PWW_H |
| 261U, // WHILELS_PWW_S |
| 261U, // WHILELS_PXX_B |
| 261U, // WHILELS_PXX_D |
| 11U, // WHILELS_PXX_H |
| 261U, // WHILELS_PXX_S |
| 261U, // WHILELT_PWW_B |
| 261U, // WHILELT_PWW_D |
| 11U, // WHILELT_PWW_H |
| 261U, // WHILELT_PWW_S |
| 261U, // WHILELT_PXX_B |
| 261U, // WHILELT_PXX_D |
| 11U, // WHILELT_PXX_H |
| 261U, // WHILELT_PXX_S |
| 0U, // WRFFR |
| 2253125U, // XAR |
| 0U, // XPACD |
| 0U, // XPACI |
| 0U, // XPACLRI |
| 4U, // XTNv16i8 |
| 2U, // XTNv2i32 |
| 3U, // XTNv4i16 |
| 2U, // XTNv4i32 |
| 3U, // XTNv8i16 |
| 4U, // XTNv8i8 |
| 837U, // ZIP1_PPP_B |
| 901U, // ZIP1_PPP_D |
| 137U, // ZIP1_PPP_H |
| 1029U, // ZIP1_PPP_S |
| 837U, // ZIP1_ZZZ_B |
| 901U, // ZIP1_ZZZ_D |
| 137U, // ZIP1_ZZZ_H |
| 1029U, // ZIP1_ZZZ_S |
| 33095U, // ZIP1v16i8 |
| 41287U, // ZIP1v2i32 |
| 8517U, // ZIP1v2i64 |
| 49480U, // ZIP1v4i16 |
| 16710U, // ZIP1v4i32 |
| 24902U, // ZIP1v8i16 |
| 57672U, // ZIP1v8i8 |
| 837U, // ZIP2_PPP_B |
| 901U, // ZIP2_PPP_D |
| 137U, // ZIP2_PPP_H |
| 1029U, // ZIP2_PPP_S |
| 837U, // ZIP2_ZZZ_B |
| 901U, // ZIP2_ZZZ_D |
| 137U, // ZIP2_ZZZ_H |
| 1029U, // ZIP2_ZZZ_S |
| 33095U, // ZIP2v16i8 |
| 41287U, // ZIP2v2i32 |
| 8517U, // ZIP2v2i64 |
| 49480U, // ZIP2v4i16 |
| 16710U, // ZIP2v4i32 |
| 24902U, // ZIP2v8i16 |
| 57672U, // ZIP2v8i8 |
| 837U, // anonymous_1349 |
| }; |
| |
| O << "\t"; |
| |
| // Emit the opcode for the instruction. |
| uint64_t Bits = 0; |
| Bits |= (uint64_t)OpInfo0[MI->getOpcode()] << 0; |
| Bits |= (uint64_t)OpInfo1[MI->getOpcode()] << 32; |
| assert(Bits != 0 && "Cannot print this instruction."); |
| O << AsmStrs+(Bits & 8191)-1; |
| |
| |
| // Fragment 0 encoded into 6 bits for 54 unique commands. |
| switch ((Bits >> 13) & 63) { |
| default: llvm_unreachable("Invalid command number."); |
| case 0: |
| // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL... |
| return; |
| break; |
| case 1: |
| // ABS_ZPmZ_B, ADD_ZI_B, ADD_ZPmZ_B, ADD_ZZZ_B, ANDS_PPzPP, AND_PPzPP, AN... |
| printSVERegOp<'b'>(MI, 0, STI, O); |
| break; |
| case 2: |
| // ABS_ZPmZ_D, ADD_ZI_D, ADD_ZPmZ_D, ADD_ZZZ_D, ADR_LSL_ZZZ_D_0, ADR_LSL_... |
| printSVERegOp<'d'>(MI, 0, STI, O); |
| break; |
| case 3: |
| // ABS_ZPmZ_H, ADD_ZI_H, ADD_ZPmZ_H, ADD_ZZZ_H, AND_ZPmZ_H, ASRD_ZPmI_H, ... |
| printSVERegOp<'h'>(MI, 0, STI, O); |
| O << ", "; |
| break; |
| case 4: |
| // ABS_ZPmZ_S, ADD_ZI_S, ADD_ZPmZ_S, ADD_ZZZ_S, ADR_LSL_ZZZ_S_0, ADR_LSL_... |
| printSVERegOp<'s'>(MI, 0, STI, O); |
| break; |
| case 5: |
| // ABSv16i8, ABSv2i32, ABSv2i64, ABSv4i16, ABSv4i32, ABSv8i16, ABSv8i8, A... |
| printVRegOperand(MI, 0, STI, O); |
| break; |
| case 6: |
| // ABSv1i64, ADCSWr, ADCSXr, ADCWr, ADCXr, ADDPL_XXI, ADDPv2i64p, ADDSWri... |
| printOperand(MI, 0, STI, O); |
| break; |
| case 7: |
| // ADDHNv2i64_v4i32, ADDHNv4i32_v8i16, ADDHNv8i16_v16i8, AESDrr, AESErr, ... |
| printVRegOperand(MI, 1, STI, O); |
| break; |
| case 8: |
| // B, BL |
| printAlignedLabel(MI, 0, STI, O); |
| return; |
| break; |
| case 9: |
| // BRK, DCPS1, DCPS2, DCPS3, HLT, HVC, SMC, SVC |
| printImmHex(MI, 0, STI, O); |
| return; |
| break; |
| case 10: |
| // Bcc |
| printCondCode(MI, 0, STI, O); |
| O << "\t"; |
| printAlignedLabel(MI, 1, STI, O); |
| return; |
| break; |
| case 11: |
| // CASAB, CASAH, CASALB, CASALH, CASALW, CASALX, CASAW, CASAX, CASB, CASH... |
| printOperand(MI, 1, STI, O); |
| break; |
| case 12: |
| // CASPALW, CASPAW, CASPLW, CASPW |
| printGPRSeqPairsClassOperand<32>(MI, 1, STI, O); |
| O << ", "; |
| printGPRSeqPairsClassOperand<32>(MI, 2, STI, O); |
| O << ", ["; |
| printOperand(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 13: |
| // CASPALX, CASPAX, CASPLX, CASPX |
| printGPRSeqPairsClassOperand<64>(MI, 1, STI, O); |
| O << ", "; |
| printGPRSeqPairsClassOperand<64>(MI, 2, STI, O); |
| O << ", ["; |
| printOperand(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 14: |
| // DMB, DSB, ISB, TSB |
| printBarrierOption(MI, 0, STI, O); |
| return; |
| break; |
| case 15: |
| // DUP_ZZI_Q |
| printSVERegOp<'q'>(MI, 0, STI, O); |
| O << ", "; |
| printSVERegOp<'q'>(MI, 1, STI, O); |
| printVectorIndex(MI, 2, STI, O); |
| return; |
| break; |
| case 16: |
| // GLD1B_D_IMM_REAL, GLD1B_D_REAL, GLD1B_D_SXTW_REAL, GLD1B_D_UXTW_REAL, ... |
| printTypedVectorList<0,'d'>(MI, 0, STI, O); |
| O << ", "; |
| printSVERegOp<>(MI, 1, STI, O); |
| break; |
| case 17: |
| // GLD1B_S_IMM_REAL, GLD1B_S_SXTW_REAL, GLD1B_S_UXTW_REAL, GLD1H_S_IMM_RE... |
| printTypedVectorList<0,'s'>(MI, 0, STI, O); |
| O << ", "; |
| printSVERegOp<>(MI, 1, STI, O); |
| break; |
| case 18: |
| // HINT |
| printImm(MI, 0, STI, O); |
| return; |
| break; |
| case 19: |
| // LD1B, LD1B_IMM_REAL, LD1RB_IMM, LD1RQ_B, LD1RQ_B_IMM, LD2B, LD2B_IMM, ... |
| printTypedVectorList<0,'b'>(MI, 0, STI, O); |
| O << ", "; |
| printSVERegOp<>(MI, 1, STI, O); |
| break; |
| case 20: |
| // LD1B_H, LD1B_H_IMM_REAL, LD1H, LD1H_IMM_REAL, LD1RB_H_IMM, LD1RH_IMM, ... |
| printTypedVectorList<0,'h'>(MI, 0, STI, O); |
| O << ", "; |
| printSVERegOp<>(MI, 1, STI, O); |
| break; |
| case 21: |
| // LD1Fourv16b, LD1Onev16b, LD1Rv16b, LD1Threev16b, LD1Twov16b, LD2Rv16b,... |
| printTypedVectorList<16, 'b'>(MI, 0, STI, O); |
| O << ", ["; |
| printOperand(MI, 1, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 22: |
| // LD1Fourv16b_POST, LD1Onev16b_POST, LD1Rv16b_POST, LD1Threev16b_POST, L... |
| printTypedVectorList<16, 'b'>(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << "], "; |
| break; |
| case 23: |
| // LD1Fourv1d, LD1Onev1d, LD1Rv1d, LD1Threev1d, LD1Twov1d, LD2Rv1d, LD3Rv... |
| printTypedVectorList<1, 'd'>(MI, 0, STI, O); |
| O << ", ["; |
| printOperand(MI, 1, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 24: |
| // LD1Fourv1d_POST, LD1Onev1d_POST, LD1Rv1d_POST, LD1Threev1d_POST, LD1Tw... |
| printTypedVectorList<1, 'd'>(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << "], "; |
| break; |
| case 25: |
| // LD1Fourv2d, LD1Onev2d, LD1Rv2d, LD1Threev2d, LD1Twov2d, LD2Rv2d, LD2Tw... |
| printTypedVectorList<2, 'd'>(MI, 0, STI, O); |
| O << ", ["; |
| printOperand(MI, 1, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 26: |
| // LD1Fourv2d_POST, LD1Onev2d_POST, LD1Rv2d_POST, LD1Threev2d_POST, LD1Tw... |
| printTypedVectorList<2, 'd'>(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << "], "; |
| break; |
| case 27: |
| // LD1Fourv2s, LD1Onev2s, LD1Rv2s, LD1Threev2s, LD1Twov2s, LD2Rv2s, LD2Tw... |
| printTypedVectorList<2, 's'>(MI, 0, STI, O); |
| O << ", ["; |
| printOperand(MI, 1, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 28: |
| // LD1Fourv2s_POST, LD1Onev2s_POST, LD1Rv2s_POST, LD1Threev2s_POST, LD1Tw... |
| printTypedVectorList<2, 's'>(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << "], "; |
| break; |
| case 29: |
| // LD1Fourv4h, LD1Onev4h, LD1Rv4h, LD1Threev4h, LD1Twov4h, LD2Rv4h, LD2Tw... |
| printTypedVectorList<4, 'h'>(MI, 0, STI, O); |
| O << ", ["; |
| printOperand(MI, 1, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 30: |
| // LD1Fourv4h_POST, LD1Onev4h_POST, LD1Rv4h_POST, LD1Threev4h_POST, LD1Tw... |
| printTypedVectorList<4, 'h'>(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << "], "; |
| break; |
| case 31: |
| // LD1Fourv4s, LD1Onev4s, LD1Rv4s, LD1Threev4s, LD1Twov4s, LD2Rv4s, LD2Tw... |
| printTypedVectorList<4, 's'>(MI, 0, STI, O); |
| O << ", ["; |
| printOperand(MI, 1, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 32: |
| // LD1Fourv4s_POST, LD1Onev4s_POST, LD1Rv4s_POST, LD1Threev4s_POST, LD1Tw... |
| printTypedVectorList<4, 's'>(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << "], "; |
| break; |
| case 33: |
| // LD1Fourv8b, LD1Onev8b, LD1Rv8b, LD1Threev8b, LD1Twov8b, LD2Rv8b, LD2Tw... |
| printTypedVectorList<8, 'b'>(MI, 0, STI, O); |
| O << ", ["; |
| printOperand(MI, 1, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 34: |
| // LD1Fourv8b_POST, LD1Onev8b_POST, LD1Rv8b_POST, LD1Threev8b_POST, LD1Tw... |
| printTypedVectorList<8, 'b'>(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << "], "; |
| break; |
| case 35: |
| // LD1Fourv8h, LD1Onev8h, LD1Rv8h, LD1Threev8h, LD1Twov8h, LD2Rv8h, LD2Tw... |
| printTypedVectorList<8, 'h'>(MI, 0, STI, O); |
| O << ", ["; |
| printOperand(MI, 1, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 36: |
| // LD1Fourv8h_POST, LD1Onev8h_POST, LD1Rv8h_POST, LD1Threev8h_POST, LD1Tw... |
| printTypedVectorList<8, 'h'>(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << "], "; |
| break; |
| case 37: |
| // LD1i16, LD2i16, LD3i16, LD4i16, ST1i16_POST, ST2i16_POST, ST3i16_POST,... |
| printTypedVectorList<0, 'h'>(MI, 1, STI, O); |
| printVectorIndex(MI, 2, STI, O); |
| O << ", ["; |
| printOperand(MI, 3, STI, O); |
| break; |
| case 38: |
| // LD1i16_POST, LD2i16_POST, LD3i16_POST, LD4i16_POST |
| printTypedVectorList<0, 'h'>(MI, 2, STI, O); |
| printVectorIndex(MI, 3, STI, O); |
| O << ", ["; |
| printOperand(MI, 4, STI, O); |
| O << "], "; |
| break; |
| case 39: |
| // LD1i32, LD2i32, LD3i32, LD4i32, ST1i32_POST, ST2i32_POST, ST3i32_POST,... |
| printTypedVectorList<0, 's'>(MI, 1, STI, O); |
| printVectorIndex(MI, 2, STI, O); |
| O << ", ["; |
| printOperand(MI, 3, STI, O); |
| break; |
| case 40: |
| // LD1i32_POST, LD2i32_POST, LD3i32_POST, LD4i32_POST |
| printTypedVectorList<0, 's'>(MI, 2, STI, O); |
| printVectorIndex(MI, 3, STI, O); |
| O << ", ["; |
| printOperand(MI, 4, STI, O); |
| O << "], "; |
| break; |
| case 41: |
| // LD1i64, LD2i64, LD3i64, LD4i64, ST1i64_POST, ST2i64_POST, ST3i64_POST,... |
| printTypedVectorList<0, 'd'>(MI, 1, STI, O); |
| printVectorIndex(MI, 2, STI, O); |
| O << ", ["; |
| printOperand(MI, 3, STI, O); |
| break; |
| case 42: |
| // LD1i64_POST, LD2i64_POST, LD3i64_POST, LD4i64_POST |
| printTypedVectorList<0, 'd'>(MI, 2, STI, O); |
| printVectorIndex(MI, 3, STI, O); |
| O << ", ["; |
| printOperand(MI, 4, STI, O); |
| O << "], "; |
| break; |
| case 43: |
| // LD1i8, LD2i8, LD3i8, LD4i8, ST1i8_POST, ST2i8_POST, ST3i8_POST, ST4i8_... |
| printTypedVectorList<0, 'b'>(MI, 1, STI, O); |
| printVectorIndex(MI, 2, STI, O); |
| O << ", ["; |
| printOperand(MI, 3, STI, O); |
| break; |
| case 44: |
| // LD1i8_POST, LD2i8_POST, LD3i8_POST, LD4i8_POST |
| printTypedVectorList<0, 'b'>(MI, 2, STI, O); |
| printVectorIndex(MI, 3, STI, O); |
| O << ", ["; |
| printOperand(MI, 4, STI, O); |
| O << "], "; |
| break; |
| case 45: |
| // LDR_PXI, LDR_ZXI, MOVPRFX_ZZ, PTEST_PP, STR_PXI, STR_ZXI |
| printSVERegOp<>(MI, 0, STI, O); |
| break; |
| case 46: |
| // MSR |
| printMSRSystemRegister(MI, 0, STI, O); |
| O << ", "; |
| printOperand(MI, 1, STI, O); |
| return; |
| break; |
| case 47: |
| // MSRpstateImm1, MSRpstateImm4 |
| printSystemPStateField(MI, 0, STI, O); |
| O << ", "; |
| printOperand(MI, 1, STI, O); |
| return; |
| break; |
| case 48: |
| // PRFB_D_PZI, PRFB_D_SCALED, PRFB_D_SXTW_SCALED, PRFB_D_UXTW_SCALED, PRF... |
| printPrefetchOp<true>(MI, 0, STI, O); |
| O << ", "; |
| printSVERegOp<>(MI, 1, STI, O); |
| O << ", ["; |
| break; |
| case 49: |
| // PRFMl, PRFMroW, PRFMroX, PRFMui, PRFUMi |
| printPrefetchOp(MI, 0, STI, O); |
| break; |
| case 50: |
| // ST1i16, ST2i16, ST3i16, ST4i16 |
| printTypedVectorList<0, 'h'>(MI, 0, STI, O); |
| printVectorIndex(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 51: |
| // ST1i32, ST2i32, ST3i32, ST4i32 |
| printTypedVectorList<0, 's'>(MI, 0, STI, O); |
| printVectorIndex(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 52: |
| // ST1i64, ST2i64, ST3i64, ST4i64 |
| printTypedVectorList<0, 'd'>(MI, 0, STI, O); |
| printVectorIndex(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 53: |
| // ST1i8, ST2i8, ST3i8, ST4i8 |
| printTypedVectorList<0, 'b'>(MI, 0, STI, O); |
| printVectorIndex(MI, 1, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| } |
| |
| |
| // Fragment 1 encoded into 6 bits for 56 unique commands. |
| switch ((Bits >> 19) & 63) { |
| default: llvm_unreachable("Invalid command number."); |
| case 0: |
| // ABS_ZPmZ_B, ABS_ZPmZ_D, ABS_ZPmZ_S, ABSv1i64, ADCSWr, ADCSXr, ADCWr, A... |
| O << ", "; |
| break; |
| case 1: |
| // ABS_ZPmZ_H, CLS_ZPmZ_H, CLZ_ZPmZ_H, CNOT_ZPmZ_H, CNT_ZPmZ_H, CPY_ZPmI_... |
| printSVERegOp<>(MI, 2, STI, O); |
| break; |
| case 2: |
| // ABSv16i8, ADDHNv8i16_v16i8, ADDPv16i8, ADDv16i8, AESDrr, AESErr, AESIM... |
| O << ".16b, "; |
| break; |
| case 3: |
| // ABSv2i32, ADDHNv2i64_v2i32, ADDPv2i32, ADDv2i32, BICv2i32, CLSv2i32, C... |
| O << ".2s, "; |
| break; |
| case 4: |
| // ABSv2i64, ADDPv2i64, ADDv2i64, CMEQv2i64, CMEQv2i64rz, CMGEv2i64, CMGE... |
| O << ".2d, "; |
| break; |
| case 5: |
| // ABSv4i16, ADDHNv4i32_v4i16, ADDPv4i16, ADDv4i16, BICv4i16, CLSv4i16, C... |
| O << ".4h, "; |
| break; |
| case 6: |
| // ABSv4i32, ADDHNv2i64_v4i32, ADDPv4i32, ADDv4i32, BICv4i32, CLSv4i32, C... |
| O << ".4s, "; |
| break; |
| case 7: |
| // ABSv8i16, ADDHNv4i32_v8i16, ADDPv8i16, ADDv8i16, BICv8i16, CLSv8i16, C... |
| O << ".8h, "; |
| break; |
| case 8: |
| // ABSv8i8, ADDHNv8i16_v8i8, ADDPv8i8, ADDv8i8, ANDv8i8, BICv8i8, BIFv8i8... |
| O << ".8b, "; |
| break; |
| case 9: |
| // ADD_ZI_H, ADD_ZZZ_H, ASR_WIDE_ZZZ_H, ASR_ZZI_H, DUP_ZZI_H, FADD_ZZZ_H,... |
| printSVERegOp<'h'>(MI, 1, STI, O); |
| break; |
| case 10: |
| // ADD_ZPmZ_H, AND_ZPmZ_H, ASRD_ZPmI_H, ASRR_ZPmZ_H, ASR_WIDE_ZPmZ_H, ASR... |
| printSVERegOp<>(MI, 1, STI, O); |
| break; |
| case 11: |
| // ADR_LSL_ZZZ_D_0, ADR_LSL_ZZZ_D_1, ADR_LSL_ZZZ_D_2, ADR_LSL_ZZZ_D_3, AD... |
| O << ", ["; |
| break; |
| case 12: |
| // AUTDZA, AUTDZB, AUTIZA, AUTIZB, BLR, BLRAAZ, BLRABZ, BR, BRAAZ, BRABZ,... |
| return; |
| break; |
| case 13: |
| // DECH_ZPiI, INCH_ZPiI, SQDECH_ZPiI, SQINCH_ZPiI, UQDECH_ZPiI, UQINCH_ZP... |
| printSVEPattern(MI, 2, STI, O); |
| O << ", mul "; |
| printOperand(MI, 3, STI, O); |
| return; |
| break; |
| case 14: |
| // DUP_ZI_H |
| printImm8OptLsl<int16_t>(MI, 1, STI, O); |
| return; |
| break; |
| case 15: |
| // DUP_ZR_H, INDEX_II_H, INDEX_IR_H, INDEX_RI_H, INDEX_RR_H, WHILELE_PWW_... |
| printOperand(MI, 1, STI, O); |
| break; |
| case 16: |
| // FCMLA_ZZZI_H, FMLA_ZZZI_H, FMLS_ZZZI_H |
| printSVERegOp<'h'>(MI, 2, STI, O); |
| O << ", "; |
| printSVERegOp<'h'>(MI, 3, STI, O); |
| printVectorIndex(MI, 4, STI, O); |
| break; |
| case 17: |
| // FCMPDri, FCMPEDri, FCMPEHri, FCMPESri, FCMPHri, FCMPSri |
| O << ", #0.0"; |
| return; |
| break; |
| case 18: |
| // FDUP_ZI_H |
| printFPImmOperand(MI, 1, STI, O); |
| return; |
| break; |
| case 19: |
| // FMOVXDHighr, INSvi64gpr, INSvi64lane |
| O << ".d"; |
| printVectorIndex(MI, 2, STI, O); |
| O << ", "; |
| break; |
| case 20: |
| // GLD1B_D_IMM_REAL, GLD1B_D_REAL, GLD1B_D_SXTW_REAL, GLD1B_D_UXTW_REAL, ... |
| O << "/z, ["; |
| break; |
| case 21: |
| // INSR_ZR_H, INSR_ZV_H, PRFB_D_SCALED, PRFB_D_SXTW_SCALED, PRFB_D_UXTW_S... |
| printOperand(MI, 2, STI, O); |
| break; |
| case 22: |
| // INSvi16gpr, INSvi16lane |
| O << ".h"; |
| printVectorIndex(MI, 2, STI, O); |
| O << ", "; |
| break; |
| case 23: |
| // INSvi32gpr, INSvi32lane |
| O << ".s"; |
| printVectorIndex(MI, 2, STI, O); |
| O << ", "; |
| break; |
| case 24: |
| // INSvi8gpr, INSvi8lane |
| O << ".b"; |
| printVectorIndex(MI, 2, STI, O); |
| O << ", "; |
| break; |
| case 25: |
| // LD1Fourv16b_POST, LD1Fourv2d_POST, LD1Fourv4s_POST, LD1Fourv8h_POST, L... |
| printPostIncOperand<64>(MI, 3, STI, O); |
| return; |
| break; |
| case 26: |
| // LD1Fourv1d_POST, LD1Fourv2s_POST, LD1Fourv4h_POST, LD1Fourv8b_POST, LD... |
| printPostIncOperand<32>(MI, 3, STI, O); |
| return; |
| break; |
| case 27: |
| // LD1Onev16b_POST, LD1Onev2d_POST, LD1Onev4s_POST, LD1Onev8h_POST, LD1Tw... |
| printPostIncOperand<16>(MI, 3, STI, O); |
| return; |
| break; |
| case 28: |
| // LD1Onev1d_POST, LD1Onev2s_POST, LD1Onev4h_POST, LD1Onev8b_POST, LD1Rv1... |
| printPostIncOperand<8>(MI, 3, STI, O); |
| return; |
| break; |
| case 29: |
| // LD1Rv16b_POST, LD1Rv8b_POST |
| printPostIncOperand<1>(MI, 3, STI, O); |
| return; |
| break; |
| case 30: |
| // LD1Rv2s_POST, LD1Rv4s_POST, LD2Rv4h_POST, LD2Rv8h_POST, LD4Rv16b_POST,... |
| printPostIncOperand<4>(MI, 3, STI, O); |
| return; |
| break; |
| case 31: |
| // LD1Rv4h_POST, LD1Rv8h_POST, LD2Rv16b_POST, LD2Rv8b_POST |
| printPostIncOperand<2>(MI, 3, STI, O); |
| return; |
| break; |
| case 32: |
| // LD1Threev16b_POST, LD1Threev2d_POST, LD1Threev4s_POST, LD1Threev8h_POS... |
| printPostIncOperand<48>(MI, 3, STI, O); |
| return; |
| break; |
| case 33: |
| // LD1Threev1d_POST, LD1Threev2s_POST, LD1Threev4h_POST, LD1Threev8b_POST... |
| printPostIncOperand<24>(MI, 3, STI, O); |
| return; |
| break; |
| case 34: |
| // LD1i16, LD1i32, LD1i64, LD1i8, LD2i16, LD2i32, LD2i64, LD2i8, LD3i16, ... |
| O << ']'; |
| return; |
| break; |
| case 35: |
| // LD1i16_POST, LD2i8_POST |
| printPostIncOperand<2>(MI, 5, STI, O); |
| return; |
| break; |
| case 36: |
| // LD1i32_POST, LD2i16_POST, LD4i8_POST |
| printPostIncOperand<4>(MI, 5, STI, O); |
| return; |
| break; |
| case 37: |
| // LD1i64_POST, LD2i32_POST, LD4i16_POST |
| printPostIncOperand<8>(MI, 5, STI, O); |
| return; |
| break; |
| case 38: |
| // LD1i8_POST |
| printPostIncOperand<1>(MI, 5, STI, O); |
| return; |
| break; |
| case 39: |
| // LD2i64_POST, LD4i32_POST |
| printPostIncOperand<16>(MI, 5, STI, O); |
| return; |
| break; |
| case 40: |
| // LD3Rv16b_POST, LD3Rv8b_POST |
| printPostIncOperand<3>(MI, 3, STI, O); |
| return; |
| break; |
| case 41: |
| // LD3Rv2s_POST, LD3Rv4s_POST |
| printPostIncOperand<12>(MI, 3, STI, O); |
| return; |
| break; |
| case 42: |
| // LD3Rv4h_POST, LD3Rv8h_POST |
| printPostIncOperand<6>(MI, 3, STI, O); |
| return; |
| break; |
| case 43: |
| // LD3i16_POST |
| printPostIncOperand<6>(MI, 5, STI, O); |
| return; |
| break; |
| case 44: |
| // LD3i32_POST |
| printPostIncOperand<12>(MI, 5, STI, O); |
| return; |
| break; |
| case 45: |
| // LD3i64_POST |
| printPostIncOperand<24>(MI, 5, STI, O); |
| return; |
| break; |
| case 46: |
| // LD3i8_POST |
| printPostIncOperand<3>(MI, 5, STI, O); |
| return; |
| break; |
| case 47: |
| // LD4i64_POST |
| printPostIncOperand<32>(MI, 5, STI, O); |
| return; |
| break; |
| case 48: |
| // PMULLv1i64, PMULLv2i64 |
| O << ".1q, "; |
| printVRegOperand(MI, 1, STI, O); |
| break; |
| case 49: |
| // PRFB_D_PZI, PRFD_D_PZI, PRFH_D_PZI, PRFW_D_PZI |
| printSVERegOp<'d'>(MI, 2, STI, O); |
| O << ", "; |
| break; |
| case 50: |
| // PRFB_S_PZI, PRFD_S_PZI, PRFH_S_PZI, PRFW_S_PZI |
| printSVERegOp<'s'>(MI, 2, STI, O); |
| O << ", "; |
| break; |
| case 51: |
| // PTRUES_H, PTRUE_H |
| printSVEPattern(MI, 1, STI, O); |
| return; |
| break; |
| case 52: |
| // PUNPKHI_PP, PUNPKLO_PP, SUNPKHI_ZZ_H, SUNPKLO_ZZ_H, UUNPKHI_ZZ_H, UUNP... |
| printSVERegOp<'b'>(MI, 1, STI, O); |
| return; |
| break; |
| case 53: |
| // SADALPv2i32_v1i64, SADDLPv2i32_v1i64, UADALPv2i32_v1i64, UADDLPv2i32_v... |
| O << ".1d, "; |
| break; |
| case 54: |
| // ST1i16_POST, ST1i32_POST, ST1i64_POST, ST1i8_POST, ST2i16_POST, ST2i32... |
| O << "], "; |
| break; |
| case 55: |
| // TBL_ZZZ_H |
| printTypedVectorList<0,'h'>(MI, 1, STI, O); |
| O << ", "; |
| printSVERegOp<'h'>(MI, 2, STI, O); |
| return; |
| break; |
| } |
| |
| |
| // Fragment 2 encoded into 6 bits for 57 unique commands. |
| switch ((Bits >> 25) & 63) { |
| default: llvm_unreachable("Invalid command number."); |
| case 0: |
| // ABS_ZPmZ_B, ABS_ZPmZ_D, ABS_ZPmZ_S, BRKA_PPmP, BRKB_PPmP, CLS_ZPmZ_B, ... |
| printSVERegOp<>(MI, 2, STI, O); |
| break; |
| case 1: |
| // ABS_ZPmZ_H, ADD_ZPmZ_H, AND_ZPmZ_H, ASRD_ZPmI_H, ASRR_ZPmZ_H, ASR_WIDE... |
| O << "/m, "; |
| break; |
| case 2: |
| // ABSv16i8, ABSv2i32, ABSv2i64, ABSv4i16, ABSv4i32, ABSv8i16, ABSv8i8, A... |
| printVRegOperand(MI, 1, STI, O); |
| break; |
| case 3: |
| // ABSv1i64, ADCSWr, ADCSXr, ADCWr, ADCXr, ADDPL_XXI, ADDSWri, ADDSWrs, A... |
| printOperand(MI, 1, STI, O); |
| break; |
| case 4: |
| // ADDHNv2i64_v4i32, ADDHNv4i32_v8i16, ADDHNv8i16_v16i8, AESDrr, AESErr, ... |
| printVRegOperand(MI, 2, STI, O); |
| break; |
| case 5: |
| // ADD_ZI_B, ADD_ZZZ_B, ASR_WIDE_ZZZ_B, ASR_ZZI_B, DECP_XP_B, DUP_ZZI_B, ... |
| printSVERegOp<'b'>(MI, 1, STI, O); |
| break; |
| case 6: |
| // ADD_ZI_D, ADD_ZZZ_D, ADR_LSL_ZZZ_D_0, ADR_LSL_ZZZ_D_1, ADR_LSL_ZZZ_D_2... |
| printSVERegOp<'d'>(MI, 1, STI, O); |
| break; |
| case 7: |
| // ADD_ZI_H, ADD_ZZZ_H, ASR_WIDE_ZZZ_H, ASR_ZZI_H, CLASTA_ZPZ_H, CLASTB_Z... |
| O << ", "; |
| break; |
| case 8: |
| // ADD_ZI_S, ADD_ZZZ_S, ADR_LSL_ZZZ_S_0, ADR_LSL_ZZZ_S_1, ADR_LSL_ZZZ_S_2... |
| printSVERegOp<'s'>(MI, 1, STI, O); |
| break; |
| case 9: |
| // ADD_ZPmZ_B, ADD_ZPmZ_D, ADD_ZPmZ_S, ANDS_PPzPP, ANDV_VPZ_B, ANDV_VPZ_D... |
| printSVERegOp<>(MI, 1, STI, O); |
| break; |
| case 10: |
| // ADRP |
| printAdrpLabel(MI, 1, STI, O); |
| return; |
| break; |
| case 11: |
| // BFMWri, BFMXri, CASAB, CASAH, CASALB, CASALH, CASALW, CASALX, CASAW, C... |
| printOperand(MI, 2, STI, O); |
| break; |
| case 12: |
| // BICv2i32, BICv4i16, BICv4i32, BICv8i16, MOVKWi, MOVKXi, ORRv2i32, ORRv... |
| printImm(MI, 2, STI, O); |
| printShifter(MI, 3, STI, O); |
| return; |
| break; |
| case 13: |
| // CBNZW, CBNZX, CBZW, CBZX, LDRDl, LDRQl, LDRSWl, LDRSl, LDRWl, LDRXl, P... |
| printAlignedLabel(MI, 1, STI, O); |
| return; |
| break; |
| case 14: |
| // CMPEQ_PPzZI_H, CMPEQ_PPzZZ_H, CMPEQ_WIDE_PPzZZ_H, CMPGE_PPzZI_H, CMPGE... |
| O << "/z, "; |
| break; |
| case 15: |
| // CNTB_XPiI, CNTD_XPiI, CNTH_XPiI, CNTW_XPiI, PTRUES_B, PTRUES_D, PTRUES... |
| printSVEPattern(MI, 1, STI, O); |
| break; |
| case 16: |
| // DECB_XPiI, DECD_XPiI, DECD_ZPiI, DECH_XPiI, DECW_XPiI, DECW_ZPiI, INCB... |
| printSVEPattern(MI, 2, STI, O); |
| O << ", mul "; |
| printOperand(MI, 3, STI, O); |
| return; |
| break; |
| case 17: |
| // DECP_XP_H, INCP_XP_H, SQDECP_XPWd_H, SQDECP_XP_H, SQINCP_XPWd_H, SQINC... |
| printSVERegOp<'h'>(MI, 1, STI, O); |
| break; |
| case 18: |
| // DECP_ZP_H, DUP_ZR_H, FEXPA_ZZ_H, FMLA_ZZZI_H, FMLS_ZZZI_H, FRECPE_ZZ_H... |
| return; |
| break; |
| case 19: |
| // DUPM_ZI |
| printLogicalImm<int64_t>(MI, 1, STI, O); |
| return; |
| break; |
| case 20: |
| // DUP_ZI_B |
| printImm8OptLsl<int8_t>(MI, 1, STI, O); |
| return; |
| break; |
| case 21: |
| // DUP_ZI_D |
| printImm8OptLsl<int64_t>(MI, 1, STI, O); |
| return; |
| break; |
| case 22: |
| // DUP_ZI_S |
| printImm8OptLsl<int32_t>(MI, 1, STI, O); |
| return; |
| break; |
| case 23: |
| // DUP_ZZI_H |
| printVectorIndex(MI, 2, STI, O); |
| return; |
| break; |
| case 24: |
| // FCMLA_ZZZI_S, FMLA_ZZZI_S, FMLS_ZZZI_S, GLD1B_S_IMM_REAL, GLD1H_S_IMM_... |
| printSVERegOp<'s'>(MI, 2, STI, O); |
| O << ", "; |
| break; |
| case 25: |
| // FDUP_ZI_D, FDUP_ZI_S, FMOVDi, FMOVHi, FMOVSi, FMOVv2f32_ns, FMOVv2f64_... |
| printFPImmOperand(MI, 1, STI, O); |
| return; |
| break; |
| case 26: |
| // FMLA_ZZZI_D, FMLS_ZZZI_D, GLD1B_D_IMM_REAL, GLD1D_IMM_REAL, GLD1H_D_IM... |
| printSVERegOp<'d'>(MI, 2, STI, O); |
| O << ", "; |
| break; |
| case 27: |
| // INSvi16gpr, INSvi32gpr, INSvi64gpr, INSvi8gpr, PRFB_D_PZI, PRFB_S_PZI |
| printOperand(MI, 3, STI, O); |
| break; |
| case 28: |
| // INSvi16lane, INSvi32lane, INSvi64lane, INSvi8lane |
| printVRegOperand(MI, 3, STI, O); |
| break; |
| case 29: |
| // LDADDAB, LDADDAH, LDADDALB, LDADDALH, LDADDALW, LDADDALX, LDADDAW, LDA... |
| printOperand(MI, 0, STI, O); |
| O << ", ["; |
| printOperand(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 30: |
| // MOVID, MOVIv2d_ns |
| printSIMDType10Operand(MI, 1, STI, O); |
| return; |
| break; |
| case 31: |
| // MOVIv16b_ns, MOVIv2i32, MOVIv2s_msl, MOVIv4i16, MOVIv4i32, MOVIv4s_msl... |
| printImm(MI, 1, STI, O); |
| break; |
| case 32: |
| // MRS |
| printMRSSystemRegister(MI, 1, STI, O); |
| return; |
| break; |
| case 33: |
| // PMULLv1i64 |
| O << ".1d, "; |
| printVRegOperand(MI, 2, STI, O); |
| O << ".1d"; |
| return; |
| break; |
| case 34: |
| // PMULLv2i64 |
| O << ".2d, "; |
| printVRegOperand(MI, 2, STI, O); |
| O << ".2d"; |
| return; |
| break; |
| case 35: |
| // PRFD_D_PZI, PRFD_S_PZI |
| printImmScale<8>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 36: |
| // PRFH_D_PZI, PRFH_S_PZI |
| printImmScale<2>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 37: |
| // PRFW_D_PZI, PRFW_S_PZI |
| printImmScale<4>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 38: |
| // SDOT_ZZZI_D, SDOT_ZZZ_D, UDOT_ZZZI_D, UDOT_ZZZ_D |
| printSVERegOp<'h'>(MI, 2, STI, O); |
| O << ", "; |
| printSVERegOp<'h'>(MI, 3, STI, O); |
| break; |
| case 39: |
| // SDOT_ZZZI_S, SDOT_ZZZ_S, UDOT_ZZZI_S, UDOT_ZZZ_S |
| printSVERegOp<'b'>(MI, 2, STI, O); |
| O << ", "; |
| printSVERegOp<'b'>(MI, 3, STI, O); |
| break; |
| case 40: |
| // SQDECB_XPiWdI, SQDECD_XPiWdI, SQDECH_XPiWdI, SQDECW_XPiWdI, SQINCB_XPi... |
| printGPR64as32(MI, 1, STI, O); |
| O << ", "; |
| printSVEPattern(MI, 2, STI, O); |
| O << ", mul "; |
| printOperand(MI, 3, STI, O); |
| return; |
| break; |
| case 41: |
| // ST1i16_POST, ST2i8_POST |
| printPostIncOperand<2>(MI, 4, STI, O); |
| return; |
| break; |
| case 42: |
| // ST1i32_POST, ST2i16_POST, ST4i8_POST |
| printPostIncOperand<4>(MI, 4, STI, O); |
| return; |
| break; |
| case 43: |
| // ST1i64_POST, ST2i32_POST, ST4i16_POST |
| printPostIncOperand<8>(MI, 4, STI, O); |
| return; |
| break; |
| case 44: |
| // ST1i8_POST |
| printPostIncOperand<1>(MI, 4, STI, O); |
| return; |
| break; |
| case 45: |
| // ST2i64_POST, ST4i32_POST |
| printPostIncOperand<16>(MI, 4, STI, O); |
| return; |
| break; |
| case 46: |
| // ST3i16_POST |
| printPostIncOperand<6>(MI, 4, STI, O); |
| return; |
| break; |
| case 47: |
| // ST3i32_POST |
| printPostIncOperand<12>(MI, 4, STI, O); |
| return; |
| break; |
| case 48: |
| // ST3i64_POST |
| printPostIncOperand<24>(MI, 4, STI, O); |
| return; |
| break; |
| case 49: |
| // ST3i8_POST |
| printPostIncOperand<3>(MI, 4, STI, O); |
| return; |
| break; |
| case 50: |
| // ST4i64_POST |
| printPostIncOperand<32>(MI, 4, STI, O); |
| return; |
| break; |
| case 51: |
| // SYSxt |
| printSysCROperand(MI, 1, STI, O); |
| O << ", "; |
| printSysCROperand(MI, 2, STI, O); |
| O << ", "; |
| printOperand(MI, 3, STI, O); |
| O << ", "; |
| printOperand(MI, 4, STI, O); |
| return; |
| break; |
| case 52: |
| // TBL_ZZZ_B |
| printTypedVectorList<0,'b'>(MI, 1, STI, O); |
| O << ", "; |
| printSVERegOp<'b'>(MI, 2, STI, O); |
| return; |
| break; |
| case 53: |
| // TBL_ZZZ_D |
| printTypedVectorList<0,'d'>(MI, 1, STI, O); |
| O << ", "; |
| printSVERegOp<'d'>(MI, 2, STI, O); |
| return; |
| break; |
| case 54: |
| // TBL_ZZZ_S |
| printTypedVectorList<0,'s'>(MI, 1, STI, O); |
| O << ", "; |
| printSVERegOp<'s'>(MI, 2, STI, O); |
| return; |
| break; |
| case 55: |
| // TBLv16i8Four, TBLv16i8One, TBLv16i8Three, TBLv16i8Two, TBLv8i8Four, TB... |
| printTypedVectorList<16, 'b'>(MI, 1, STI, O); |
| O << ", "; |
| printVRegOperand(MI, 2, STI, O); |
| break; |
| case 56: |
| // TBXv16i8Four, TBXv16i8One, TBXv16i8Three, TBXv16i8Two, TBXv8i8Four, TB... |
| printTypedVectorList<16, 'b'>(MI, 2, STI, O); |
| O << ", "; |
| printVRegOperand(MI, 3, STI, O); |
| break; |
| } |
| |
| |
| // Fragment 3 encoded into 7 bits for 91 unique commands. |
| switch ((Bits >> 31) & 127) { |
| default: llvm_unreachable("Invalid command number."); |
| case 0: |
| // ABS_ZPmZ_B, ABS_ZPmZ_D, ABS_ZPmZ_S, ADD_ZPmZ_B, ADD_ZPmZ_D, ADD_ZPmZ_S... |
| O << "/m, "; |
| break; |
| case 1: |
| // ABS_ZPmZ_H, CLS_ZPmZ_H, CLZ_ZPmZ_H, CNOT_ZPmZ_H, CNT_ZPmZ_H, FABS_ZPmZ... |
| printSVERegOp<'h'>(MI, 3, STI, O); |
| break; |
| case 2: |
| // ABSv16i8, ADDVv16i8v, AESDrr, AESErr, AESIMCrr, AESMCrr, CLSv16i8, CLZ... |
| O << ".16b"; |
| return; |
| break; |
| case 3: |
| // ABSv1i64, ADR, AUTDA, AUTDB, AUTIA, AUTIB, BLRAA, BLRAB, BRAA, BRAB, C... |
| return; |
| break; |
| case 4: |
| // ABSv2i32, CLSv2i32, CLZv2i32, FABSv2f32, FADDPv2i32p, FCVTASv2f32, FCV... |
| O << ".2s"; |
| return; |
| break; |
| case 5: |
| // ABSv2i64, ADDPv2i64p, FABSv2f64, FADDPv2i64p, FCVTASv2f64, FCVTAUv2f64... |
| O << ".2d"; |
| return; |
| break; |
| case 6: |
| // ABSv4i16, ADDVv4i16v, CLSv4i16, CLZv4i16, FABSv4f16, FCVTASv4f16, FCVT... |
| O << ".4h"; |
| return; |
| break; |
| case 7: |
| // ABSv4i32, ADDVv4i32v, CLSv4i32, CLZv4i32, FABSv4f32, FCVTASv4f32, FCVT... |
| O << ".4s"; |
| return; |
| break; |
| case 8: |
| // ABSv8i16, ADDVv8i16v, CLSv8i16, CLZv8i16, FABSv8f16, FCVTASv8f16, FCVT... |
| O << ".8h"; |
| return; |
| break; |
| case 9: |
| // ABSv8i8, ADDVv8i8v, CLSv8i8, CLZv8i8, CNTv8i8, NEGv8i8, NOTv8i8, RBITv... |
| O << ".8b"; |
| return; |
| break; |
| case 10: |
| // ADCSWr, ADCSXr, ADCWr, ADCXr, ADDPL_XXI, ADDSWri, ADDSWrs, ADDSWrx, AD... |
| O << ", "; |
| break; |
| case 11: |
| // ADDHNv2i64_v2i32, ADDHNv2i64_v4i32, ADDPv2i64, ADDv2i64, CMEQv2i64, CM... |
| O << ".2d, "; |
| break; |
| case 12: |
| // ADDHNv4i32_v4i16, ADDHNv4i32_v8i16, ADDPv4i32, ADDv4i32, CMEQv4i32, CM... |
| O << ".4s, "; |
| break; |
| case 13: |
| // ADDHNv8i16_v16i8, ADDHNv8i16_v8i8, ADDPv8i16, ADDv8i16, CMEQv8i16, CMG... |
| O << ".8h, "; |
| break; |
| case 14: |
| // ADDPv16i8, ADDv16i8, ANDv16i8, BCAX, BICv16i8, BIFv16i8, BITv16i8, BSL... |
| O << ".16b, "; |
| break; |
| case 15: |
| // ADDPv2i32, ADDv2i32, CMEQv2i32, CMGEv2i32, CMGTv2i32, CMHIv2i32, CMHSv... |
| O << ".2s, "; |
| break; |
| case 16: |
| // ADDPv4i16, ADDv4i16, CMEQv4i16, CMGEv4i16, CMGTv4i16, CMHIv4i16, CMHSv... |
| O << ".4h, "; |
| break; |
| case 17: |
| // ADDPv8i8, ADDv8i8, ANDv8i8, BICv8i8, BIFv8i8, BITv8i8, BSLv8i8, CMEQv8... |
| O << ".8b, "; |
| break; |
| case 18: |
| // ADD_ZI_H, SQADD_ZI_H, SQSUB_ZI_H, SUBR_ZI_H, SUB_ZI_H, UQADD_ZI_H, UQS... |
| printImm8OptLsl<uint16_t>(MI, 2, STI, O); |
| return; |
| break; |
| case 19: |
| // ADD_ZPmZ_H, ADD_ZZZ_H, AND_ZPmZ_H, ASRD_ZPmI_H, ASRR_ZPmZ_H, ASR_WIDE_... |
| printSVERegOp<'h'>(MI, 2, STI, O); |
| break; |
| case 20: |
| // ANDS_PPzPP, AND_PPzPP, BICS_PPzPP, BIC_PPzPP, BRKAS_PPzP, BRKA_PPzP, B... |
| O << "/z, "; |
| break; |
| case 21: |
| // ASR_WIDE_ZZZ_H, LSL_WIDE_ZZZ_H, LSR_WIDE_ZZZ_H |
| printSVERegOp<'d'>(MI, 2, STI, O); |
| return; |
| break; |
| case 22: |
| // ASR_ZZI_H, INDEX_II_H, INDEX_IR_H, INDEX_RI_H, INDEX_RR_H, LSL_ZZI_H, ... |
| printOperand(MI, 2, STI, O); |
| return; |
| break; |
| case 23: |
| // CASAB, CASAH, CASALB, CASALH, CASALW, CASALX, CASAW, CASAX, CASB, CASH... |
| O << ", ["; |
| break; |
| case 24: |
| // CMEQv16i8rz, CMGEv16i8rz, CMGTv16i8rz, CMLEv16i8rz, CMLTv16i8rz |
| O << ".16b, #0"; |
| return; |
| break; |
| case 25: |
| // CMEQv1i64rz, CMGEv1i64rz, CMGTv1i64rz, CMLEv1i64rz, CMLTv1i64rz |
| O << ", #0"; |
| return; |
| break; |
| case 26: |
| // CMEQv2i32rz, CMGEv2i32rz, CMGTv2i32rz, CMLEv2i32rz, CMLTv2i32rz |
| O << ".2s, #0"; |
| return; |
| break; |
| case 27: |
| // CMEQv2i64rz, CMGEv2i64rz, CMGTv2i64rz, CMLEv2i64rz, CMLTv2i64rz |
| O << ".2d, #0"; |
| return; |
| break; |
| case 28: |
| // CMEQv4i16rz, CMGEv4i16rz, CMGTv4i16rz, CMLEv4i16rz, CMLTv4i16rz |
| O << ".4h, #0"; |
| return; |
| break; |
| case 29: |
| // CMEQv4i32rz, CMGEv4i32rz, CMGTv4i32rz, CMLEv4i32rz, CMLTv4i32rz |
| O << ".4s, #0"; |
| return; |
| break; |
| case 30: |
| // CMEQv8i16rz, CMGEv8i16rz, CMGTv8i16rz, CMLEv8i16rz, CMLTv8i16rz |
| O << ".8h, #0"; |
| return; |
| break; |
| case 31: |
| // CMEQv8i8rz, CMGEv8i8rz, CMGTv8i8rz, CMLEv8i8rz, CMLTv8i8rz |
| O << ".8b, #0"; |
| return; |
| break; |
| case 32: |
| // CNTB_XPiI, CNTD_XPiI, CNTH_XPiI, CNTW_XPiI |
| O << ", mul "; |
| printOperand(MI, 2, STI, O); |
| return; |
| break; |
| case 33: |
| // CPY_ZPmI_H |
| printImm8OptLsl<int16_t>(MI, 3, STI, O); |
| return; |
| break; |
| case 34: |
| // CPY_ZPmR_H, CPY_ZPmV_H, GLD1B_D_IMM_REAL, GLD1B_S_IMM_REAL, GLD1SB_D_I... |
| printOperand(MI, 3, STI, O); |
| break; |
| case 35: |
| // CPY_ZPzI_H |
| printImm8OptLsl<int16_t>(MI, 2, STI, O); |
| return; |
| break; |
| case 36: |
| // CPYi16, DUPv4i16lane, DUPv8i16lane, INSvi16lane, SMOVvi16to32, SMOVvi1... |
| O << ".h"; |
| break; |
| case 37: |
| // CPYi32, DUPv2i32lane, DUPv4i32lane, INSvi32lane, SMOVvi32to64, UMOVvi3... |
| O << ".s"; |
| break; |
| case 38: |
| // CPYi64, DUPv2i64lane, FMOVDXHighr, INSvi64lane, UMOVvi64 |
| O << ".d"; |
| break; |
| case 39: |
| // CPYi8, DUPv16i8lane, DUPv8i8lane, INSvi8lane, SMOVvi8to32, SMOVvi8to64... |
| O << ".b"; |
| break; |
| case 40: |
| // DUP_ZZI_B, DUP_ZZI_D, DUP_ZZI_S |
| printVectorIndex(MI, 2, STI, O); |
| return; |
| break; |
| case 41: |
| // FADDPv2i16p, FMAXNMPv2i16p, FMAXPv2i16p, FMINNMPv2i16p, FMINPv2i16p |
| O << ".2h"; |
| return; |
| break; |
| case 42: |
| // FCMEQv1i16rz, FCMEQv1i32rz, FCMEQv1i64rz, FCMGEv1i16rz, FCMGEv1i32rz, ... |
| O << ", #0.0"; |
| return; |
| break; |
| case 43: |
| // FCMEQv2i32rz, FCMGEv2i32rz, FCMGTv2i32rz, FCMLEv2i32rz, FCMLTv2i32rz |
| O << ".2s, #0.0"; |
| return; |
| break; |
| case 44: |
| // FCMEQv2i64rz, FCMGEv2i64rz, FCMGTv2i64rz, FCMLEv2i64rz, FCMLTv2i64rz |
| O << ".2d, #0.0"; |
| return; |
| break; |
| case 45: |
| // FCMEQv4i16rz, FCMGEv4i16rz, FCMGTv4i16rz, FCMLEv4i16rz, FCMLTv4i16rz |
| O << ".4h, #0.0"; |
| return; |
| break; |
| case 46: |
| // FCMEQv4i32rz, FCMGEv4i32rz, FCMGTv4i32rz, FCMLEv4i32rz, FCMLTv4i32rz |
| O << ".4s, #0.0"; |
| return; |
| break; |
| case 47: |
| // FCMEQv8i16rz, FCMGEv8i16rz, FCMGTv8i16rz, FCMLEv8i16rz, FCMLTv8i16rz |
| O << ".8h, #0.0"; |
| return; |
| break; |
| case 48: |
| // FCMLA_ZZZI_H |
| printComplexRotationOp<90, 0>(MI, 5, STI, O); |
| return; |
| break; |
| case 49: |
| // FCMLA_ZZZI_S, FCVT_ZPmZ_StoH, FMLA_ZZZI_S, FMLS_ZZZI_S, SCVTF_ZPmZ_Sto... |
| printSVERegOp<'s'>(MI, 3, STI, O); |
| break; |
| case 50: |
| // FCPY_ZPmI_H |
| printFPImmOperand(MI, 3, STI, O); |
| return; |
| break; |
| case 51: |
| // FCVT_ZPmZ_DtoH, FMLA_ZZZI_D, FMLS_ZZZI_D, SCVTF_ZPmZ_DtoH, UCVTF_ZPmZ_... |
| printSVERegOp<'d'>(MI, 3, STI, O); |
| break; |
| case 52: |
| // GLD1D_IMM_REAL, GLDFF1D_IMM_REAL, SST1D_IMM |
| printImmScale<8>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 53: |
| // GLD1H_D_IMM_REAL, GLD1H_S_IMM_REAL, GLD1SH_D_IMM_REAL, GLD1SH_S_IMM_RE... |
| printImmScale<2>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 54: |
| // GLD1SW_D_IMM_REAL, GLD1W_D_IMM_REAL, GLD1W_IMM_REAL, GLDFF1SW_D_IMM_RE... |
| printImmScale<4>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 55: |
| // LDAPRB, LDAPRH, LDAPRW, LDAPRX, LDARB, LDARH, LDARW, LDARX, LDAXRB, LD... |
| O << ']'; |
| return; |
| break; |
| case 56: |
| // LDRBBpost, LDRBpost, LDRDpost, LDRHHpost, LDRHpost, LDRQpost, LDRSBWpo... |
| O << "], "; |
| printOperand(MI, 3, STI, O); |
| return; |
| break; |
| case 57: |
| // MOVIv2i32, MOVIv2s_msl, MOVIv4i16, MOVIv4i32, MOVIv4s_msl, MOVIv8i16, ... |
| printShifter(MI, 2, STI, O); |
| return; |
| break; |
| case 58: |
| // PRFB_D_SCALED |
| printRegWithShiftExtend<false, 8, 'x', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 59: |
| // PRFB_D_SXTW_SCALED |
| printRegWithShiftExtend<true, 8, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 60: |
| // PRFB_D_UXTW_SCALED |
| printRegWithShiftExtend<false, 8, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 61: |
| // PRFB_PRR |
| printRegWithShiftExtend<false, 8, 'x', 0>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 62: |
| // PRFB_S_SXTW_SCALED |
| printRegWithShiftExtend<true, 8, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 63: |
| // PRFB_S_UXTW_SCALED |
| printRegWithShiftExtend<false, 8, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 64: |
| // PRFD_D_SCALED |
| printRegWithShiftExtend<false, 64, 'x', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 65: |
| // PRFD_D_SXTW_SCALED |
| printRegWithShiftExtend<true, 64, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 66: |
| // PRFD_D_UXTW_SCALED |
| printRegWithShiftExtend<false, 64, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 67: |
| // PRFD_PRR |
| printRegWithShiftExtend<false, 64, 'x', 0>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 68: |
| // PRFD_S_SXTW_SCALED |
| printRegWithShiftExtend<true, 64, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 69: |
| // PRFD_S_UXTW_SCALED |
| printRegWithShiftExtend<false, 64, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 70: |
| // PRFH_D_SCALED |
| printRegWithShiftExtend<false, 16, 'x', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 71: |
| // PRFH_D_SXTW_SCALED |
| printRegWithShiftExtend<true, 16, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 72: |
| // PRFH_D_UXTW_SCALED |
| printRegWithShiftExtend<false, 16, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 73: |
| // PRFH_PRR |
| printRegWithShiftExtend<false, 16, 'x', 0>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 74: |
| // PRFH_S_SXTW_SCALED |
| printRegWithShiftExtend<true, 16, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 75: |
| // PRFH_S_UXTW_SCALED |
| printRegWithShiftExtend<false, 16, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 76: |
| // PRFS_PRR |
| printRegWithShiftExtend<false, 32, 'x', 0>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 77: |
| // PRFW_D_SCALED |
| printRegWithShiftExtend<false, 32, 'x', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 78: |
| // PRFW_D_SXTW_SCALED |
| printRegWithShiftExtend<true, 32, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 79: |
| // PRFW_D_UXTW_SCALED |
| printRegWithShiftExtend<false, 32, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 80: |
| // PRFW_S_SXTW_SCALED |
| printRegWithShiftExtend<true, 32, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 81: |
| // PRFW_S_UXTW_SCALED |
| printRegWithShiftExtend<false, 32, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 82: |
| // RDFFRS_PPz, RDFFR_PPz |
| O << "/z"; |
| return; |
| break; |
| case 83: |
| // SDOT_ZZZI_D, SDOT_ZZZI_S, UDOT_ZZZI_D, UDOT_ZZZI_S |
| printVectorIndex(MI, 4, STI, O); |
| return; |
| break; |
| case 84: |
| // SHLLv16i8 |
| O << ".16b, #8"; |
| return; |
| break; |
| case 85: |
| // SHLLv2i32 |
| O << ".2s, #32"; |
| return; |
| break; |
| case 86: |
| // SHLLv4i16 |
| O << ".4h, #16"; |
| return; |
| break; |
| case 87: |
| // SHLLv4i32 |
| O << ".4s, #32"; |
| return; |
| break; |
| case 88: |
| // SHLLv8i16 |
| O << ".8h, #16"; |
| return; |
| break; |
| case 89: |
| // SHLLv8i8 |
| O << ".8b, #8"; |
| return; |
| break; |
| case 90: |
| // UMAX_ZI_H, UMIN_ZI_H |
| printImm(MI, 2, STI, O); |
| return; |
| break; |
| } |
| |
| |
| // Fragment 4 encoded into 7 bits for 88 unique commands. |
| switch ((Bits >> 38) & 127) { |
| default: llvm_unreachable("Invalid command number."); |
| case 0: |
| // ABS_ZPmZ_B, BRKA_PPmP, BRKB_PPmP, CLS_ZPmZ_B, CLZ_ZPmZ_B, CNOT_ZPmZ_B,... |
| printSVERegOp<'b'>(MI, 3, STI, O); |
| break; |
| case 1: |
| // ABS_ZPmZ_D, CLS_ZPmZ_D, CLZ_ZPmZ_D, CNOT_ZPmZ_D, CNT_ZPmZ_D, FABS_ZPmZ... |
| printSVERegOp<'d'>(MI, 3, STI, O); |
| break; |
| case 2: |
| // ABS_ZPmZ_H, ADD_ZZZ_H, CLS_ZPmZ_H, CLZ_ZPmZ_H, CNOT_ZPmZ_H, CNT_ZPmZ_H... |
| return; |
| break; |
| case 3: |
| // ABS_ZPmZ_S, CLS_ZPmZ_S, CLZ_ZPmZ_S, CNOT_ZPmZ_S, CNT_ZPmZ_S, FABS_ZPmZ... |
| printSVERegOp<'s'>(MI, 3, STI, O); |
| break; |
| case 4: |
| // ADCSWr, ADCSXr, ADCWr, ADCXr, ADDPL_XXI, ADDSXrx64, ADDVL_XXI, ADDXrx6... |
| printOperand(MI, 2, STI, O); |
| break; |
| case 5: |
| // ADDHNv2i64_v2i32, ADDHNv4i32_v4i16, ADDHNv8i16_v8i8, ADDPv16i8, ADDPv2... |
| printVRegOperand(MI, 2, STI, O); |
| break; |
| case 6: |
| // ADDHNv2i64_v4i32, ADDHNv4i32_v8i16, ADDHNv8i16_v16i8, BITv16i8, BITv8i... |
| printVRegOperand(MI, 3, STI, O); |
| break; |
| case 7: |
| // ADDSWri, ADDSXri, ADDWri, ADDXri, SUBSWri, SUBSXri, SUBWri, SUBXri |
| printAddSubImm(MI, 2, STI, O); |
| return; |
| break; |
| case 8: |
| // ADDSWrs, ADDSXrs, ADDWrs, ADDXrs, ANDSWrs, ANDSXrs, ANDWrs, ANDXrs, BI... |
| printShiftedRegister(MI, 2, STI, O); |
| return; |
| break; |
| case 9: |
| // ADDSWrx, ADDSXrx, ADDWrx, ADDXrx, SUBSWrx, SUBSXrx, SUBWrx, SUBXrx |
| printExtendedRegister(MI, 2, STI, O); |
| return; |
| break; |
| case 10: |
| // ADD_ZI_B, SQADD_ZI_B, SQSUB_ZI_B, SUBR_ZI_B, SUB_ZI_B, UQADD_ZI_B, UQS... |
| printImm8OptLsl<uint8_t>(MI, 2, STI, O); |
| return; |
| break; |
| case 11: |
| // ADD_ZI_D, SQADD_ZI_D, SQSUB_ZI_D, SUBR_ZI_D, SUB_ZI_D, UQADD_ZI_D, UQS... |
| printImm8OptLsl<uint64_t>(MI, 2, STI, O); |
| return; |
| break; |
| case 12: |
| // ADD_ZI_S, SQADD_ZI_S, SQSUB_ZI_S, SUBR_ZI_S, SUB_ZI_S, UQADD_ZI_S, UQS... |
| printImm8OptLsl<uint32_t>(MI, 2, STI, O); |
| return; |
| break; |
| case 13: |
| // ADD_ZPmZ_B, ADD_ZZZ_B, ANDS_PPzPP, ANDV_VPZ_B, AND_PPzPP, AND_ZPmZ_B, ... |
| printSVERegOp<'b'>(MI, 2, STI, O); |
| break; |
| case 14: |
| // ADD_ZPmZ_D, ADD_ZZZ_D, ANDV_VPZ_D, AND_ZPmZ_D, AND_ZZZ, ASRD_ZPmI_D, A... |
| printSVERegOp<'d'>(MI, 2, STI, O); |
| break; |
| case 15: |
| // ADD_ZPmZ_H, AND_ZPmZ_H, ASRD_ZPmI_H, ASRR_ZPmZ_H, ASR_WIDE_ZPmZ_H, ASR... |
| O << ", "; |
| break; |
| case 16: |
| // ADD_ZPmZ_S, ADD_ZZZ_S, ANDV_VPZ_S, AND_ZPmZ_S, ASRD_ZPmI_S, ASRR_ZPmZ_... |
| printSVERegOp<'s'>(MI, 2, STI, O); |
| break; |
| case 17: |
| // ADR_LSL_ZZZ_D_0 |
| printRegWithShiftExtend<false, 8, 'x', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 18: |
| // ADR_LSL_ZZZ_D_1 |
| printRegWithShiftExtend<false, 16, 'x', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 19: |
| // ADR_LSL_ZZZ_D_2 |
| printRegWithShiftExtend<false, 32, 'x', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 20: |
| // ADR_LSL_ZZZ_D_3 |
| printRegWithShiftExtend<false, 64, 'x', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 21: |
| // ADR_LSL_ZZZ_S_0 |
| printRegWithShiftExtend<false, 8, 'x', 's'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 22: |
| // ADR_LSL_ZZZ_S_1 |
| printRegWithShiftExtend<false, 16, 'x', 's'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 23: |
| // ADR_LSL_ZZZ_S_2 |
| printRegWithShiftExtend<false, 32, 'x', 's'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 24: |
| // ADR_LSL_ZZZ_S_3 |
| printRegWithShiftExtend<false, 64, 'x', 's'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 25: |
| // ADR_SXTW_ZZZ_D_0 |
| printRegWithShiftExtend<true, 8, 'w', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 26: |
| // ADR_SXTW_ZZZ_D_1 |
| printRegWithShiftExtend<true, 16, 'w', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 27: |
| // ADR_SXTW_ZZZ_D_2 |
| printRegWithShiftExtend<true, 32, 'w', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 28: |
| // ADR_SXTW_ZZZ_D_3 |
| printRegWithShiftExtend<true, 64, 'w', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 29: |
| // ADR_UXTW_ZZZ_D_0 |
| printRegWithShiftExtend<false, 8, 'w', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 30: |
| // ADR_UXTW_ZZZ_D_1 |
| printRegWithShiftExtend<false, 16, 'w', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 31: |
| // ADR_UXTW_ZZZ_D_2 |
| printRegWithShiftExtend<false, 32, 'w', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 32: |
| // ADR_UXTW_ZZZ_D_3 |
| printRegWithShiftExtend<false, 64, 'w', 'd'>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 33: |
| // ANDSWri, ANDWri, EORWri, ORRWri |
| printLogicalImm<int32_t>(MI, 2, STI, O); |
| return; |
| break; |
| case 34: |
| // ANDSXri, ANDXri, AND_ZI, EORXri, EOR_ZI, ORRXri, ORR_ZI |
| printLogicalImm<int64_t>(MI, 2, STI, O); |
| return; |
| break; |
| case 35: |
| // ANDV_VPZ_H, CNTP_XPP_H, EORV_VPZ_H, FADDV_VPZ_H, FMAXNMV_VPZ_H, FMAXV_... |
| printSVERegOp<'h'>(MI, 2, STI, O); |
| return; |
| break; |
| case 36: |
| // BFMWri, BFMXri, CASAB, CASAH, CASALB, CASALH, CASALW, CASALX, CASAW, C... |
| printOperand(MI, 3, STI, O); |
| break; |
| case 37: |
| // CPY_ZPmI_B |
| printImm8OptLsl<int8_t>(MI, 3, STI, O); |
| return; |
| break; |
| case 38: |
| // CPY_ZPmI_D |
| printImm8OptLsl<int64_t>(MI, 3, STI, O); |
| return; |
| break; |
| case 39: |
| // CPY_ZPmI_S |
| printImm8OptLsl<int32_t>(MI, 3, STI, O); |
| return; |
| break; |
| case 40: |
| // CPY_ZPzI_B |
| printImm8OptLsl<int8_t>(MI, 2, STI, O); |
| return; |
| break; |
| case 41: |
| // CPY_ZPzI_D |
| printImm8OptLsl<int64_t>(MI, 2, STI, O); |
| return; |
| break; |
| case 42: |
| // CPY_ZPzI_S |
| printImm8OptLsl<int32_t>(MI, 2, STI, O); |
| return; |
| break; |
| case 43: |
| // CPYi16, CPYi32, CPYi64, CPYi8, DUPv16i8lane, DUPv2i32lane, DUPv2i64lan... |
| printVectorIndex(MI, 2, STI, O); |
| return; |
| break; |
| case 44: |
| // FCMEQ_PPzZ0_H, FCMGE_PPzZ0_H, FCMGT_PPzZ0_H, FCMLE_PPzZ0_H, FCMLT_PPzZ... |
| O << ", #0.0"; |
| return; |
| break; |
| case 45: |
| // FCMLA_ZZZI_S, FMLA_ZZZI_D, FMLA_ZZZI_S, FMLS_ZZZI_D, FMLS_ZZZI_S, INSv... |
| printVectorIndex(MI, 4, STI, O); |
| break; |
| case 46: |
| // FCPY_ZPmI_D, FCPY_ZPmI_S |
| printFPImmOperand(MI, 3, STI, O); |
| return; |
| break; |
| case 47: |
| // FCVTZS_ZPmZ_HtoD, FCVTZS_ZPmZ_HtoS, FCVTZU_ZPmZ_HtoD, FCVTZU_ZPmZ_HtoS... |
| printSVERegOp<'h'>(MI, 3, STI, O); |
| return; |
| break; |
| case 48: |
| // FMUL_ZZZI_H |
| printVectorIndex(MI, 3, STI, O); |
| return; |
| break; |
| case 49: |
| // GLD1B_D_IMM_REAL, GLD1B_S_IMM_REAL, GLD1SB_D_IMM_REAL, GLD1SB_S_IMM_RE... |
| O << ']'; |
| return; |
| break; |
| case 50: |
| // GLD1B_D_REAL, GLD1D_REAL, GLD1H_D_REAL, GLD1SB_D_REAL, GLD1SH_D_REAL, ... |
| printRegWithShiftExtend<false, 8, 'x', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 51: |
| // GLD1B_D_SXTW_REAL, GLD1D_SXTW_REAL, GLD1H_D_SXTW_REAL, GLD1SB_D_SXTW_R... |
| printRegWithShiftExtend<true, 8, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 52: |
| // GLD1B_D_UXTW_REAL, GLD1D_UXTW_REAL, GLD1H_D_UXTW_REAL, GLD1SB_D_UXTW_R... |
| printRegWithShiftExtend<false, 8, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 53: |
| // GLD1B_S_SXTW_REAL, GLD1H_S_SXTW_REAL, GLD1SB_S_SXTW_REAL, GLD1SH_S_SXT... |
| printRegWithShiftExtend<true, 8, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 54: |
| // GLD1B_S_UXTW_REAL, GLD1H_S_UXTW_REAL, GLD1SB_S_UXTW_REAL, GLD1SH_S_UXT... |
| printRegWithShiftExtend<false, 8, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 55: |
| // GLD1D_SCALED_REAL, GLDFF1D_SCALED_REAL, SST1D_SCALED |
| printRegWithShiftExtend<false, 64, 'x', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 56: |
| // GLD1D_SXTW_SCALED_REAL, GLDFF1D_SXTW_SCALED_REAL, SST1D_SXTW_SCALED |
| printRegWithShiftExtend<true, 64, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 57: |
| // GLD1D_UXTW_SCALED_REAL, GLDFF1D_UXTW_SCALED_REAL, SST1D_UXTW_SCALED |
| printRegWithShiftExtend<false, 64, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 58: |
| // GLD1H_D_SCALED_REAL, GLD1SH_D_SCALED_REAL, GLDFF1H_D_SCALED_REAL, GLDF... |
| printRegWithShiftExtend<false, 16, 'x', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 59: |
| // GLD1H_D_SXTW_SCALED_REAL, GLD1SH_D_SXTW_SCALED_REAL, GLDFF1H_D_SXTW_SC... |
| printRegWithShiftExtend<true, 16, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 60: |
| // GLD1H_D_UXTW_SCALED_REAL, GLD1SH_D_UXTW_SCALED_REAL, GLDFF1H_D_UXTW_SC... |
| printRegWithShiftExtend<false, 16, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 61: |
| // GLD1H_S_SXTW_SCALED_REAL, GLD1SH_S_SXTW_SCALED_REAL, GLDFF1H_S_SXTW_SC... |
| printRegWithShiftExtend<true, 16, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 62: |
| // GLD1H_S_UXTW_SCALED_REAL, GLD1SH_S_UXTW_SCALED_REAL, GLDFF1H_S_UXTW_SC... |
| printRegWithShiftExtend<false, 16, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 63: |
| // GLD1SW_D_SCALED_REAL, GLD1W_D_SCALED_REAL, GLDFF1SW_D_SCALED_REAL, GLD... |
| printRegWithShiftExtend<false, 32, 'x', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 64: |
| // GLD1SW_D_SXTW_SCALED_REAL, GLD1W_D_SXTW_SCALED_REAL, GLDFF1SW_D_SXTW_S... |
| printRegWithShiftExtend<true, 32, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 65: |
| // GLD1SW_D_UXTW_SCALED_REAL, GLD1W_D_UXTW_SCALED_REAL, GLDFF1SW_D_UXTW_S... |
| printRegWithShiftExtend<false, 32, 'w', 'd'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 66: |
| // GLD1W_SXTW_SCALED_REAL, GLDFF1W_SXTW_SCALED_REAL, SST1W_SXTW_SCALED |
| printRegWithShiftExtend<true, 32, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 67: |
| // GLD1W_UXTW_SCALED_REAL, GLDFF1W_UXTW_SCALED_REAL, SST1W_UXTW_SCALED |
| printRegWithShiftExtend<false, 32, 'w', 's'>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 68: |
| // LD1B, LD1B_D, LD1B_H, LD1B_S, LD1RQ_B, LD1SB_D, LD1SB_H, LD1SB_S, LD2B... |
| printRegWithShiftExtend<false, 8, 'x', 0>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 69: |
| // LD1D, LD1RQ_D, LD2D, LD3D, LD4D, LDFF1D_REAL, LDNT1D_ZRR, ST1D, ST2D, ... |
| printRegWithShiftExtend<false, 64, 'x', 0>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 70: |
| // LD1H, LD1H_D, LD1H_S, LD1RQ_H, LD1SH_D, LD1SH_S, LD2H, LD3H, LD4H, LDF... |
| printRegWithShiftExtend<false, 16, 'x', 0>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 71: |
| // LD1RD_IMM, LDRAAwriteback, LDRABwriteback |
| printImmScale<8>(MI, 3, STI, O); |
| break; |
| case 72: |
| // LD1RH_D_IMM, LD1RH_IMM, LD1RH_S_IMM, LD1RSH_D_IMM, LD1RSH_S_IMM, LD2B_... |
| printImmScale<2>(MI, 3, STI, O); |
| break; |
| case 73: |
| // LD1RQ_B_IMM, LD1RQ_D_IMM, LD1RQ_H_IMM, LD1RQ_W_IMM |
| printImmScale<16>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 74: |
| // LD1RQ_W, LD1SW_D, LD1W, LD1W_D, LD2W, LD3W, LD4W, LDFF1SW_D_REAL, LDFF... |
| printRegWithShiftExtend<false, 32, 'x', 0>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 75: |
| // LD1RSW_IMM, LD1RW_D_IMM, LD1RW_IMM, LD4B_IMM, LD4D_IMM, LD4H_IMM, LD4W... |
| printImmScale<4>(MI, 3, STI, O); |
| break; |
| case 76: |
| // LD3B_IMM, LD3D_IMM, LD3H_IMM, LD3W_IMM, ST3B_IMM, ST3D_IMM, ST3H_IMM, ... |
| printImmScale<3>(MI, 3, STI, O); |
| O << ", mul vl]"; |
| return; |
| break; |
| case 77: |
| // LDRAAindexed, LDRABindexed |
| printImmScale<8>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 78: |
| // LDRBBui, LDRBui, LDRSBWui, LDRSBXui, STRBBui, STRBui |
| printUImm12Offset<1>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 79: |
| // LDRDui, LDRXui, PRFMui, STRDui, STRXui |
| printUImm12Offset<8>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 80: |
| // LDRHHui, LDRHui, LDRSHWui, LDRSHXui, STRHHui, STRHui |
| printUImm12Offset<2>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 81: |
| // LDRQui, STRQui |
| printUImm12Offset<16>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 82: |
| // LDRSWui, LDRSui, LDRWui, STRSui, STRWui |
| printUImm12Offset<4>(MI, 2, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 83: |
| // PRFB_PRI, PRFD_PRI, PRFH_PRI, PRFW_PRI |
| O << ", mul vl]"; |
| return; |
| break; |
| case 84: |
| // SQDECP_XPWd_B, SQDECP_XPWd_D, SQDECP_XPWd_H, SQDECP_XPWd_S, SQINCP_XPW... |
| printGPR64as32(MI, 2, STI, O); |
| return; |
| break; |
| case 85: |
| // SYSLxt |
| printSysCROperand(MI, 2, STI, O); |
| O << ", "; |
| printSysCROperand(MI, 3, STI, O); |
| O << ", "; |
| printOperand(MI, 4, STI, O); |
| return; |
| break; |
| case 86: |
| // TBNZW, TBNZX, TBZW, TBZX |
| printAlignedLabel(MI, 2, STI, O); |
| return; |
| break; |
| case 87: |
| // UMAX_ZI_B, UMAX_ZI_D, UMAX_ZI_S, UMIN_ZI_B, UMIN_ZI_D, UMIN_ZI_S |
| printImm(MI, 2, STI, O); |
| return; |
| break; |
| } |
| |
| |
| // Fragment 5 encoded into 6 bits for 36 unique commands. |
| switch ((Bits >> 45) & 63) { |
| default: llvm_unreachable("Invalid command number."); |
| case 0: |
| // ABS_ZPmZ_B, ABS_ZPmZ_D, ABS_ZPmZ_S, ADCSWr, ADCSXr, ADCWr, ADCXr, ADDP... |
| return; |
| break; |
| case 1: |
| // ADDHNv2i64_v2i32, ADDHNv2i64_v4i32, ADDPv2i64, ADDv2i64, CMEQv2i64, CM... |
| O << ".2d"; |
| return; |
| break; |
| case 2: |
| // ADDHNv4i32_v4i16, ADDHNv4i32_v8i16, ADDPv4i32, ADDv4i32, CMEQv4i32, CM... |
| O << ".4s"; |
| return; |
| break; |
| case 3: |
| // ADDHNv8i16_v16i8, ADDHNv8i16_v8i8, ADDPv8i16, ADDv8i16, CMEQv8i16, CMG... |
| O << ".8h"; |
| return; |
| break; |
| case 4: |
| // ADDPv16i8, ADDv16i8, ANDv16i8, BICv16i8, BIFv16i8, BITv16i8, BSLv16i8,... |
| O << ".16b"; |
| return; |
| break; |
| case 5: |
| // ADDPv2i32, ADDv2i32, CMEQv2i32, CMGEv2i32, CMGTv2i32, CMHIv2i32, CMHSv... |
| O << ".2s"; |
| return; |
| break; |
| case 6: |
| // ADDPv4i16, ADDv4i16, CMEQv4i16, CMGEv4i16, CMGTv4i16, CMHIv4i16, CMHSv... |
| O << ".4h"; |
| return; |
| break; |
| case 7: |
| // ADDPv8i8, ADDv8i8, ANDv8i8, BICv8i8, BIFv8i8, BITv8i8, BSLv8i8, CMEQv8... |
| O << ".8b"; |
| return; |
| break; |
| case 8: |
| // ADDSXrx64, ADDXrx64, SUBSXrx64, SUBXrx64 |
| printArithExtend(MI, 3, STI, O); |
| return; |
| break; |
| case 9: |
| // ADD_ZPmZ_B, ADD_ZPmZ_D, ADD_ZPmZ_S, ANDS_PPzPP, AND_PPzPP, AND_ZPmZ_B,... |
| O << ", "; |
| break; |
| case 10: |
| // ADD_ZPmZ_H, AND_ZPmZ_H, ASRR_ZPmZ_H, ASR_ZPmZ_H, BIC_ZPmZ_H, CLASTA_ZP... |
| printSVERegOp<'h'>(MI, 3, STI, O); |
| break; |
| case 11: |
| // ASRD_ZPmI_H, ASR_ZPmI_H, CMPEQ_PPzZI_H, CMPGE_PPzZI_H, CMPGT_PPzZI_H, ... |
| printOperand(MI, 3, STI, O); |
| return; |
| break; |
| case 12: |
| // ASR_WIDE_ZPmZ_H, CMPEQ_WIDE_PPzZZ_H, CMPGE_WIDE_PPzZZ_H, CMPGT_WIDE_PP... |
| printSVERegOp<'d'>(MI, 3, STI, O); |
| return; |
| break; |
| case 13: |
| // BCAX, EOR3, EXTv16i8 |
| O << ".16b, "; |
| break; |
| case 14: |
| // CASAB, CASAH, CASALB, CASALH, CASALW, CASALX, CASAW, CASAX, CASB, CASH... |
| O << ']'; |
| return; |
| break; |
| case 15: |
| // CMPHI_PPzZI_H, CMPHS_PPzZI_H, CMPLO_PPzZI_H, CMPLS_PPzZI_H |
| printImm(MI, 3, STI, O); |
| return; |
| break; |
| case 16: |
| // EXTv8i8 |
| O << ".8b, "; |
| printOperand(MI, 3, STI, O); |
| return; |
| break; |
| case 17: |
| // FADD_ZPmI_H, FSUBR_ZPmI_H, FSUB_ZPmI_H |
| printExactFPImm<AArch64ExactFPImm::half, AArch64ExactFPImm::one>(MI, 3, STI, O); |
| return; |
| break; |
| case 18: |
| // FCADDv2f32, FCMLAv2f32 |
| O << ".2s, "; |
| break; |
| case 19: |
| // FCADDv2f64, FCMLAv2f64, XAR |
| O << ".2d, "; |
| break; |
| case 20: |
| // FCADDv4f16, FCMLAv4f16 |
| O << ".4h, "; |
| break; |
| case 21: |
| // FCADDv4f32, FCMLAv4f32, SM3SS1 |
| O << ".4s, "; |
| break; |
| case 22: |
| // FCADDv8f16, FCMLAv8f16 |
| O << ".8h, "; |
| break; |
| case 23: |
| // FCMEQ_PPzZ0_D, FCMEQ_PPzZ0_S, FCMGE_PPzZ0_D, FCMGE_PPzZ0_S, FCMGT_PPzZ... |
| O << ", #0.0"; |
| return; |
| break; |
| case 24: |
| // FCMLA_ZPmZZ_H, FMAD_ZPmZZ_H, FMLA_ZPmZZ_H, FMLS_ZPmZZ_H, FMSB_ZPmZZ_H,... |
| printSVERegOp<'h'>(MI, 4, STI, O); |
| break; |
| case 25: |
| // FCMLAv4f16_indexed, FCMLAv8f16_indexed, FMLAv1i16_indexed, FMLAv4i16_i... |
| O << ".h"; |
| break; |
| case 26: |
| // FCMLAv4f32_indexed, FMLAv1i32_indexed, FMLAv2i32_indexed, FMLAv4i32_in... |
| O << ".s"; |
| break; |
| case 27: |
| // FMAXNM_ZPmI_H, FMAX_ZPmI_H, FMINNM_ZPmI_H, FMIN_ZPmI_H |
| printExactFPImm<AArch64ExactFPImm::zero, AArch64ExactFPImm::one>(MI, 3, STI, O); |
| return; |
| break; |
| case 28: |
| // FMLAv1i64_indexed, FMLAv2i64_indexed, FMLSv1i64_indexed, FMLSv2i64_ind... |
| O << ".d"; |
| break; |
| case 29: |
| // FMUL_ZPmI_H |
| printExactFPImm<AArch64ExactFPImm::half, AArch64ExactFPImm::two>(MI, 3, STI, O); |
| return; |
| break; |
| case 30: |
| // FMUL_ZZZI_D, FMUL_ZZZI_S |
| printVectorIndex(MI, 3, STI, O); |
| return; |
| break; |
| case 31: |
| // LD1B_D_IMM_REAL, LD1B_H_IMM_REAL, LD1B_IMM_REAL, LD1B_S_IMM_REAL, LD1D... |
| O << ", mul vl]"; |
| return; |
| break; |
| case 32: |
| // LDPDpost, LDPQpost, LDPSWpost, LDPSpost, LDPWpost, LDPXpost, STPDpost,... |
| O << "], "; |
| break; |
| case 33: |
| // LDRAAwriteback, LDRABwriteback, LDRBBpre, LDRBpre, LDRDpre, LDRHHpre, ... |
| O << "]!"; |
| return; |
| break; |
| case 34: |
| // SDOTlanev16i8, SDOTlanev8i8, UDOTlanev16i8, UDOTlanev8i8 |
| O << ".4b"; |
| printVectorIndex(MI, 4, STI, O); |
| return; |
| break; |
| case 35: |
| // STLXPW, STLXPX, STXPW, STXPX |
| O << ", ["; |
| printOperand(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| } |
| |
| |
| // Fragment 6 encoded into 6 bits for 38 unique commands. |
| switch ((Bits >> 51) & 63) { |
| default: llvm_unreachable("Invalid command number."); |
| case 0: |
| // ADD_ZPmZ_B, ANDS_PPzPP, AND_PPzPP, AND_ZPmZ_B, ASRR_ZPmZ_B, ASR_ZPmZ_B... |
| printSVERegOp<'b'>(MI, 3, STI, O); |
| return; |
| break; |
| case 1: |
| // ADD_ZPmZ_D, AND_ZPmZ_D, ASRR_ZPmZ_D, ASR_WIDE_ZPmZ_B, ASR_WIDE_ZPmZ_S,... |
| printSVERegOp<'d'>(MI, 3, STI, O); |
| break; |
| case 2: |
| // ADD_ZPmZ_H, AND_ZPmZ_H, ASRR_ZPmZ_H, ASR_ZPmZ_H, BIC_ZPmZ_H, CLASTA_ZP... |
| return; |
| break; |
| case 3: |
| // ADD_ZPmZ_S, AND_ZPmZ_S, ASRR_ZPmZ_S, ASR_ZPmZ_S, BIC_ZPmZ_S, CLASTA_RP... |
| printSVERegOp<'s'>(MI, 3, STI, O); |
| break; |
| case 4: |
| // ASRD_ZPmI_B, ASRD_ZPmI_D, ASRD_ZPmI_S, ASR_ZPmI_B, ASR_ZPmI_D, ASR_ZPm... |
| printOperand(MI, 3, STI, O); |
| return; |
| break; |
| case 5: |
| // BCAX, EOR3, SM3SS1 |
| printVRegOperand(MI, 3, STI, O); |
| break; |
| case 6: |
| // BFMWri, BFMXri |
| printOperand(MI, 4, STI, O); |
| return; |
| break; |
| case 7: |
| // CCMNWi, CCMNWr, CCMNXi, CCMNXr, CCMPWi, CCMPWr, CCMPXi, CCMPXr, CSELWr... |
| printCondCode(MI, 3, STI, O); |
| return; |
| break; |
| case 8: |
| // CLASTA_RPZ_H, CLASTA_VPZ_H, CLASTB_RPZ_H, CLASTB_VPZ_H, FADDA_VPZ_H |
| printSVERegOp<'h'>(MI, 3, STI, O); |
| return; |
| break; |
| case 9: |
| // CMPHI_PPzZI_B, CMPHI_PPzZI_D, CMPHI_PPzZI_S, CMPHS_PPzZI_B, CMPHS_PPzZ... |
| printImm(MI, 3, STI, O); |
| return; |
| break; |
| case 10: |
| // FADD_ZPmI_D, FADD_ZPmI_S, FSUBR_ZPmI_D, FSUBR_ZPmI_S, FSUB_ZPmI_D, FSU... |
| printExactFPImm<AArch64ExactFPImm::half, AArch64ExactFPImm::one>(MI, 3, STI, O); |
| return; |
| break; |
| case 11: |
| // FCADD_ZPmZ_H, FCMLA_ZPmZZ_H |
| O << ", "; |
| break; |
| case 12: |
| // FCADDv2f32, FCADDv2f64, FCADDv4f16, FCADDv4f32, FCADDv8f16 |
| printComplexRotationOp<180, 90>(MI, 3, STI, O); |
| return; |
| break; |
| case 13: |
| // FCMLA_ZPmZZ_D, FMAD_ZPmZZ_D, FMLA_ZPmZZ_D, FMLS_ZPmZZ_D, FMSB_ZPmZZ_D,... |
| printSVERegOp<'d'>(MI, 4, STI, O); |
| break; |
| case 14: |
| // FCMLA_ZPmZZ_S, FMAD_ZPmZZ_S, FMLA_ZPmZZ_S, FMLS_ZPmZZ_S, FMSB_ZPmZZ_S,... |
| printSVERegOp<'s'>(MI, 4, STI, O); |
| break; |
| case 15: |
| // FCMLA_ZZZI_S |
| printComplexRotationOp<90, 0>(MI, 5, STI, O); |
| return; |
| break; |
| case 16: |
| // FCMLAv2f32, FCMLAv2f64, FCMLAv4f16, FCMLAv4f32, FCMLAv8f16 |
| printComplexRotationOp<90, 0>(MI, 4, STI, O); |
| return; |
| break; |
| case 17: |
| // FCMLAv4f16_indexed, FCMLAv4f32_indexed, FCMLAv8f16_indexed, FMLAv1i16_... |
| printVectorIndex(MI, 4, STI, O); |
| break; |
| case 18: |
| // FMAXNM_ZPmI_D, FMAXNM_ZPmI_S, FMAX_ZPmI_D, FMAX_ZPmI_S, FMINNM_ZPmI_D,... |
| printExactFPImm<AArch64ExactFPImm::zero, AArch64ExactFPImm::one>(MI, 3, STI, O); |
| return; |
| break; |
| case 19: |
| // FMULXv1i16_indexed, FMULXv1i32_indexed, FMULXv1i64_indexed, FMULXv2i32... |
| printVectorIndex(MI, 3, STI, O); |
| return; |
| break; |
| case 20: |
| // FMUL_ZPmI_D, FMUL_ZPmI_S |
| printExactFPImm<AArch64ExactFPImm::half, AArch64ExactFPImm::two>(MI, 3, STI, O); |
| return; |
| break; |
| case 21: |
| // LDNPDi, LDNPXi, LDPDi, LDPXi, STNPDi, STNPXi, STPDi, STPXi |
| printImmScale<8>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 22: |
| // LDNPQi, LDPQi, STNPQi, STPQi |
| printImmScale<16>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 23: |
| // LDNPSi, LDNPWi, LDPSWi, LDPSi, LDPWi, STNPSi, STNPWi, STPSi, STPWi |
| printImmScale<4>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 24: |
| // LDPDpost, LDPDpre, LDPXpost, LDPXpre, STPDpost, STPDpre, STPXpost, STP... |
| printImmScale<8>(MI, 4, STI, O); |
| break; |
| case 25: |
| // LDPQpost, LDPQpre, STPQpost, STPQpre |
| printImmScale<16>(MI, 4, STI, O); |
| break; |
| case 26: |
| // LDPSWpost, LDPSWpre, LDPSpost, LDPSpre, LDPWpost, LDPWpre, STPSpost, S... |
| printImmScale<4>(MI, 4, STI, O); |
| break; |
| case 27: |
| // LDRBBroW, LDRBroW, LDRSBWroW, LDRSBXroW, STRBBroW, STRBroW |
| printMemExtend<'w', 8>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 28: |
| // LDRBBroX, LDRBroX, LDRSBWroX, LDRSBXroX, STRBBroX, STRBroX |
| printMemExtend<'x', 8>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 29: |
| // LDRDroW, LDRXroW, PRFMroW, STRDroW, STRXroW |
| printMemExtend<'w', 64>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 30: |
| // LDRDroX, LDRXroX, PRFMroX, STRDroX, STRXroX |
| printMemExtend<'x', 64>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 31: |
| // LDRHHroW, LDRHroW, LDRSHWroW, LDRSHXroW, STRHHroW, STRHroW |
| printMemExtend<'w', 16>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 32: |
| // LDRHHroX, LDRHroX, LDRSHWroX, LDRSHXroX, STRHHroX, STRHroX |
| printMemExtend<'x', 16>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 33: |
| // LDRQroW, STRQroW |
| printMemExtend<'w', 128>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 34: |
| // LDRQroX, STRQroX |
| printMemExtend<'x', 128>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 35: |
| // LDRSWroW, LDRSroW, LDRWroW, STRSroW, STRWroW |
| printMemExtend<'w', 32>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 36: |
| // LDRSWroX, LDRSroX, LDRWroX, STRSroX, STRWroX |
| printMemExtend<'x', 32>(MI, 3, STI, O); |
| O << ']'; |
| return; |
| break; |
| case 37: |
| // MAD_ZPmZZ_B, MLA_ZPmZZ_B, MLS_ZPmZZ_B, MSB_ZPmZZ_B |
| printSVERegOp<'b'>(MI, 4, STI, O); |
| return; |
| break; |
| } |
| |
| |
| // Fragment 7 encoded into 3 bits for 7 unique commands. |
| switch ((Bits >> 57) & 7) { |
| default: llvm_unreachable("Invalid command number."); |
| case 0: |
| // ADD_ZPmZ_D, ADD_ZPmZ_S, AND_ZPmZ_D, AND_ZPmZ_S, ASRR_ZPmZ_D, ASRR_ZPmZ... |
| return; |
| break; |
| case 1: |
| // BCAX, EOR3 |
| O << ".16b"; |
| return; |
| break; |
| case 2: |
| // FCADD_ZPmZ_D, FCADD_ZPmZ_S, FCMLA_ZPmZZ_D, FCMLA_ZPmZZ_S, FCMLAv4f16_i... |
| O << ", "; |
| break; |
| case 3: |
| // FCADD_ZPmZ_H |
| printComplexRotationOp<180, 90>(MI, 4, STI, O); |
| return; |
| break; |
| case 4: |
| // FCMLA_ZPmZZ_H |
| printComplexRotationOp<90, 0>(MI, 5, STI, O); |
| return; |
| break; |
| case 5: |
| // LDPDpre, LDPQpre, LDPSWpre, LDPSpre, LDPWpre, LDPXpre, STPDpre, STPQpr... |
| O << "]!"; |
| return; |
| break; |
| case 6: |
| // SM3SS1 |
| O << ".4s"; |
| return; |
| break; |
| } |
| |
| |
| // Fragment 8 encoded into 1 bits for 2 unique commands. |
| if ((Bits >> 60) & 1) { |
| // FCMLA_ZPmZZ_D, FCMLA_ZPmZZ_S, FCMLAv4f16_indexed, FCMLAv4f32_indexed, ... |
| printComplexRotationOp<90, 0>(MI, 5, STI, O); |
| return; |
| } else { |
| // FCADD_ZPmZ_D, FCADD_ZPmZ_S |
| printComplexRotationOp<180, 90>(MI, 4, STI, O); |
| return; |
| } |
| |
| } |
| |
| |
| /// getRegisterName - This method is automatically generated by tblgen |
| /// from the register set description. This returns the assembler name |
| /// for the specified register. |
| const char *AArch64InstPrinter:: |
| getRegisterName(unsigned RegNo, unsigned AltIdx) { |
| assert(RegNo && RegNo < 661 && "Invalid register number!"); |
| |
| static const char AsmStrsNoRegAltName[] = { |
| /* 0 */ 'D', '7', '_', 'D', '8', '_', 'D', '9', '_', 'D', '1', '0', 0, |
| /* 13 */ 'Q', '7', '_', 'Q', '8', '_', 'Q', '9', '_', 'Q', '1', '0', 0, |
| /* 26 */ 'W', '9', '_', 'W', '1', '0', 0, |
| /* 33 */ 'X', '9', '_', 'X', '1', '0', 0, |
| /* 40 */ 'Z', '7', '_', 'Z', '8', '_', 'Z', '9', '_', 'Z', '1', '0', 0, |
| /* 53 */ 'b', '1', '0', 0, |
| /* 57 */ 'd', '1', '0', 0, |
| /* 61 */ 'h', '1', '0', 0, |
| /* 65 */ 'p', '1', '0', 0, |
| /* 69 */ 'q', '1', '0', 0, |
| /* 73 */ 's', '1', '0', 0, |
| /* 77 */ 'w', '1', '0', 0, |
| /* 81 */ 'x', '1', '0', 0, |
| /* 85 */ 'z', '1', '0', 0, |
| /* 89 */ 'D', '1', '7', '_', 'D', '1', '8', '_', 'D', '1', '9', '_', 'D', '2', '0', 0, |
| /* 105 */ 'Q', '1', '7', '_', 'Q', '1', '8', '_', 'Q', '1', '9', '_', 'Q', '2', '0', 0, |
| /* 121 */ 'W', '1', '9', '_', 'W', '2', '0', 0, |
| /* 129 */ 'X', '1', '9', '_', 'X', '2', '0', 0, |
| /* 137 */ 'Z', '1', '7', '_', 'Z', '1', '8', '_', 'Z', '1', '9', '_', 'Z', '2', '0', 0, |
| /* 153 */ 'b', '2', '0', 0, |
| /* 157 */ 'd', '2', '0', 0, |
| /* 161 */ 'h', '2', '0', 0, |
| /* 165 */ 'q', '2', '0', 0, |
| /* 169 */ 's', '2', '0', 0, |
| /* 173 */ 'w', '2', '0', 0, |
| /* 177 */ 'x', '2', '0', 0, |
| /* 181 */ 'z', '2', '0', 0, |
| /* 185 */ 'D', '2', '7', '_', 'D', '2', '8', '_', 'D', '2', '9', '_', 'D', '3', '0', 0, |
| /* 201 */ 'Q', '2', '7', '_', 'Q', '2', '8', '_', 'Q', '2', '9', '_', 'Q', '3', '0', 0, |
| /* 217 */ 'W', '2', '9', '_', 'W', '3', '0', 0, |
| /* 225 */ 'Z', '2', '7', '_', 'Z', '2', '8', '_', 'Z', '2', '9', '_', 'Z', '3', '0', 0, |
| /* 241 */ 'b', '3', '0', 0, |
| /* 245 */ 'd', '3', '0', 0, |
| /* 249 */ 'h', '3', '0', 0, |
| /* 253 */ 'q', '3', '0', 0, |
| /* 257 */ 's', '3', '0', 0, |
| /* 261 */ 'w', '3', '0', 0, |
| /* 265 */ 'x', '3', '0', 0, |
| /* 269 */ 'z', '3', '0', 0, |
| /* 273 */ 'D', '2', '9', '_', 'D', '3', '0', '_', 'D', '3', '1', '_', 'D', '0', 0, |
| /* 288 */ 'Q', '2', '9', '_', 'Q', '3', '0', '_', 'Q', '3', '1', '_', 'Q', '0', 0, |
| /* 303 */ 'W', 'Z', 'R', '_', 'W', '0', 0, |
| /* 310 */ 'X', 'Z', 'R', '_', 'X', '0', 0, |
| /* 317 */ 'Z', '2', '9', '_', 'Z', '3', '0', '_', 'Z', '3', '1', '_', 'Z', '0', 0, |
| /* 332 */ 'b', '0', 0, |
| /* 335 */ 'd', '0', 0, |
| /* 338 */ 'h', '0', 0, |
| /* 341 */ 'p', '0', 0, |
| /* 344 */ 'q', '0', 0, |
| /* 347 */ 's', '0', 0, |
| /* 350 */ 'w', '0', 0, |
| /* 353 */ 'x', '0', 0, |
| /* 356 */ 'z', '0', 0, |
| /* 359 */ 'D', '8', '_', 'D', '9', '_', 'D', '1', '0', '_', 'D', '1', '1', 0, |
| /* 373 */ 'Q', '8', '_', 'Q', '9', '_', 'Q', '1', '0', '_', 'Q', '1', '1', 0, |
| /* 387 */ 'W', '1', '0', '_', 'W', '1', '1', 0, |
| /* 395 */ 'X', '1', '0', '_', 'X', '1', '1', 0, |
| /* 403 */ 'Z', '8', '_', 'Z', '9', '_', 'Z', '1', '0', '_', 'Z', '1', '1', 0, |
| /* 417 */ 'b', '1', '1', 0, |
| /* 421 */ 'd', '1', '1', 0, |
| /* 425 */ 'h', '1', '1', 0, |
| /* 429 */ 'p', '1', '1', 0, |
| /* 433 */ 'q', '1', '1', 0, |
| /* 437 */ 's', '1', '1', 0, |
| /* 441 */ 'w', '1', '1', 0, |
| /* 445 */ 'x', '1', '1', 0, |
| /* 449 */ 'z', '1', '1', 0, |
| /* 453 */ 'D', '1', '8', '_', 'D', '1', '9', '_', 'D', '2', '0', '_', 'D', '2', '1', 0, |
| /* 469 */ 'Q', '1', '8', '_', 'Q', '1', '9', '_', 'Q', '2', '0', '_', 'Q', '2', '1', 0, |
| /* 485 */ 'W', '2', '0', '_', 'W', '2', '1', 0, |
| /* 493 */ 'X', '2', '0', '_', 'X', '2', '1', 0, |
| /* 501 */ 'Z', '1', '8', '_', 'Z', '1', '9', '_', 'Z', '2', '0', '_', 'Z', '2', '1', 0, |
| /* 517 */ 'b', '2', '1', 0, |
| /* 521 */ 'd', '2', '1', 0, |
| /* 525 */ 'h', '2', '1', 0, |
| /* 529 */ 'q', '2', '1', 0, |
| /* 533 */ 's', '2', '1', 0, |
| /* 537 */ 'w', '2', '1', 0, |
| /* 541 */ 'x', '2', '1', 0, |
| /* 545 */ 'z', '2', '1', 0, |
| /* 549 */ 'D', '2', '8', '_', 'D', '2', '9', '_', 'D', '3', '0', '_', 'D', '3', '1', 0, |
| /* 565 */ 'Q', '2', '8', '_', 'Q', '2', '9', '_', 'Q', '3', '0', '_', 'Q', '3', '1', 0, |
| /* 581 */ 'Z', '2', '8', '_', 'Z', '2', '9', '_', 'Z', '3', '0', '_', 'Z', '3', '1', 0, |
| /* 597 */ 'b', '3', '1', 0, |
| /* 601 */ 'd', '3', '1', 0, |
| /* 605 */ 'h', '3', '1', 0, |
| /* 609 */ 'q', '3', '1', 0, |
| /* 613 */ 's', '3', '1', 0, |
| /* 617 */ 'z', '3', '1', 0, |
| /* 621 */ 'D', '3', '0', '_', 'D', '3', '1', '_', 'D', '0', '_', 'D', '1', 0, |
| /* 635 */ 'Q', '3', '0', '_', 'Q', '3', '1', '_', 'Q', '0', '_', 'Q', '1', 0, |
| /* 649 */ 'W', '0', '_', 'W', '1', 0, |
| /* 655 */ 'X', '0', '_', 'X', '1', 0, |
| /* 661 */ 'Z', '3', '0', '_', 'Z', '3', '1', '_', 'Z', '0', '_', 'Z', '1', 0, |
| /* 675 */ 'b', '1', 0, |
| /* 678 */ 'd', '1', 0, |
| /* 681 */ 'h', '1', 0, |
| /* 684 */ 'p', '1', 0, |
| /* 687 */ 'q', '1', 0, |
| /* 690 */ 's', '1', 0, |
| /* 693 */ 'w', '1', 0, |
| /* 696 */ 'x', '1', 0, |
| /* 699 */ 'z', '1', 0, |
| /* 702 */ 'D', '9', '_', 'D', '1', '0', '_', 'D', '1', '1', '_', 'D', '1', '2', 0, |
| /* 717 */ 'Q', '9', '_', 'Q', '1', '0', '_', 'Q', '1', '1', '_', 'Q', '1', '2', 0, |
| /* 732 */ 'W', '1', '1', '_', 'W', '1', '2', 0, |
| /* 740 */ 'X', '1', '1', '_', 'X', '1', '2', 0, |
| /* 748 */ 'Z', '9', '_', 'Z', '1', '0', '_', 'Z', '1', '1', '_', 'Z', '1', '2', 0, |
| /* 763 */ 'b', '1', '2', 0, |
| /* 767 */ 'd', '1', '2', 0, |
| /* 771 */ 'h', '1', '2', 0, |
| /* 775 */ 'p', '1', '2', 0, |
| /* 779 */ 'q', '1', '2', 0, |
| /* 783 */ 's', '1', '2', 0, |
| /* 787 */ 'w', '1', '2', 0, |
| /* 791 */ 'x', '1', '2', 0, |
| /* 795 */ 'z', '1', '2', 0, |
| /* 799 */ 'D', '1', '9', '_', 'D', '2', '0', '_', 'D', '2', '1', '_', 'D', '2', '2', 0, |
| /* 815 */ 'Q', '1', '9', '_', 'Q', '2', '0', '_', 'Q', '2', '1', '_', 'Q', '2', '2', 0, |
| /* 831 */ 'W', '2', '1', '_', 'W', '2', '2', 0, |
| /* 839 */ 'X', '2', '1', '_', 'X', '2', '2', 0, |
| /* 847 */ 'Z', '1', '9', '_', 'Z', '2', '0', '_', 'Z', '2', '1', '_', 'Z', '2', '2', 0, |
| /* 863 */ 'b', '2', '2', 0, |
| /* 867 */ 'd', '2', '2', 0, |
| /* 871 */ 'h', '2', '2', 0, |
| /* 875 */ 'q', '2', '2', 0, |
| /* 879 */ 's', '2', '2', 0, |
| /* 883 */ 'w', '2', '2', 0, |
| /* 887 */ 'x', '2', '2', 0, |
| /* 891 */ 'z', '2', '2', 0, |
| /* 895 */ 'D', '3', '1', '_', 'D', '0', '_', 'D', '1', '_', 'D', '2', 0, |
| /* 908 */ 'Q', '3', '1', '_', 'Q', '0', '_', 'Q', '1', '_', 'Q', '2', 0, |
| /* 921 */ 'W', '1', '_', 'W', '2', 0, |
| /* 927 */ 'X', '1', '_', 'X', '2', 0, |
| /* 933 */ 'Z', '3', '1', '_', 'Z', '0', '_', 'Z', '1', '_', 'Z', '2', 0, |
| /* 946 */ 'b', '2', 0, |
| /* 949 */ 'd', '2', 0, |
| /* 952 */ 'h', '2', 0, |
| /* 955 */ 'p', '2', 0, |
| /* 958 */ 'q', '2', 0, |
| /* 961 */ 's', '2', 0, |
| /* 964 */ 'w', '2', 0, |
| /* 967 */ 'x', '2', 0, |
| /* 970 */ 'z', '2', 0, |
| /* 973 */ 'D', '1', '0', '_', 'D', '1', '1', '_', 'D', '1', '2', '_', 'D', '1', '3', 0, |
| /* 989 */ 'Q', '1', '0', '_', 'Q', '1', '1', '_', 'Q', '1', '2', '_', 'Q', '1', '3', 0, |
| /* 1005 */ 'W', '1', '2', '_', 'W', '1', '3', 0, |
| /* 1013 */ 'X', '1', '2', '_', 'X', '1', '3', 0, |
| /* 1021 */ 'Z', '1', '0', '_', 'Z', '1', '1', '_', 'Z', '1', '2', '_', 'Z', '1', '3', 0, |
| /* 1037 */ 'b', '1', '3', 0, |
| /* 1041 */ 'd', '1', '3', 0, |
| /* 1045 */ 'h', '1', '3', 0, |
| /* 1049 */ 'p', '1', '3', 0, |
| /* 1053 */ 'q', '1', '3', 0, |
| /* 1057 */ 's', '1', '3', 0, |
| /* 1061 */ 'w', '1', '3', 0, |
| /* 1065 */ 'x', '1', '3', 0, |
| /* 1069 */ 'z', '1', '3', 0, |
| /* 1073 */ 'D', '2', '0', '_', 'D', '2', '1', '_', 'D', '2', '2', '_', 'D', '2', '3', 0, |
| /* 1089 */ 'Q', '2', '0', '_', 'Q', '2', '1', '_', 'Q', '2', '2', '_', 'Q', '2', '3', 0, |
| /* 1105 */ 'W', '2', '2', '_', 'W', '2', '3', 0, |
| /* 1113 */ 'X', '2', '2', '_', 'X', '2', '3', 0, |
| /* 1121 */ 'Z', '2', '0', '_', 'Z', '2', '1', '_', 'Z', '2', '2', '_', 'Z', '2', '3', 0, |
| /* 1137 */ 'b', '2', '3', 0, |
| /* 1141 */ 'd', '2', '3', 0, |
| /* 1145 */ 'h', '2', '3', 0, |
| /* 1149 */ 'q', '2', '3', 0, |
| /* 1153 */ 's', '2', '3', 0, |
| /* 1157 */ 'w', '2', '3', 0, |
| /* 1161 */ 'x', '2', '3', 0, |
| /* 1165 */ 'z', '2', '3', 0, |
| /* 1169 */ 'D', '0', '_', 'D', '1', '_', 'D', '2', '_', 'D', '3', 0, |
| /* 1181 */ 'Q', '0', '_', 'Q', '1', '_', 'Q', '2', '_', 'Q', '3', 0, |
| /* 1193 */ 'W', '2', '_', 'W', '3', 0, |
| /* 1199 */ 'X', '2', '_', 'X', '3', 0, |
| /* 1205 */ 'Z', '0', '_', 'Z', '1', '_', 'Z', '2', '_', 'Z', '3', 0, |
| /* 1217 */ 'b', '3', 0, |
| /* 1220 */ 'd', '3', 0, |
| /* 1223 */ 'h', '3', 0, |
| /* 1226 */ 'p', '3', 0, |
| /* 1229 */ 'q', '3', 0, |
| /* 1232 */ 's', '3', 0, |
| /* 1235 */ 'w', '3', 0, |
| /* 1238 */ 'x', '3', 0, |
| /* 1241 */ 'z', '3', 0, |
| /* 1244 */ 'D', '1', '1', '_', 'D', '1', '2', '_', 'D', '1', '3', '_', 'D', '1', '4', 0, |
| /* 1260 */ 'Q', '1', '1', '_', 'Q', '1', '2', '_', 'Q', '1', '3', '_', 'Q', '1', '4', 0, |
| /* 1276 */ 'W', '1', '3', '_', 'W', '1', '4', 0, |
| /* 1284 */ 'X', '1', '3', '_', 'X', '1', '4', 0, |
| /* 1292 */ 'Z', '1', '1', '_', 'Z', '1', '2', '_', 'Z', '1', '3', '_', 'Z', '1', '4', 0, |
| /* 1308 */ 'b', '1', '4', 0, |
| /* 1312 */ 'd', '1', '4', 0, |
| /* 1316 */ 'h', '1', '4', 0, |
| /* 1320 */ 'p', '1', '4', 0, |
| /* 1324 */ 'q', '1', '4', 0, |
| /* 1328 */ 's', '1', '4', 0, |
| /* 1332 */ 'w', '1', '4', 0, |
| /* 1336 */ 'x', '1', '4', 0, |
| /* 1340 */ 'z', '1', '4', 0, |
| /* 1344 */ 'D', '2', '1', '_', 'D', '2', '2', '_', 'D', '2', '3', '_', 'D', '2', '4', 0, |
| /* 1360 */ 'Q', '2', '1', '_', 'Q', '2', '2', '_', 'Q', '2', '3', '_', 'Q', '2', '4', 0, |
| /* 1376 */ 'W', '2', '3', '_', 'W', '2', '4', 0, |
| /* 1384 */ 'X', '2', '3', '_', 'X', '2', '4', 0, |
| /* 1392 */ 'Z', '2', '1', '_', 'Z', '2', '2', '_', 'Z', '2', '3', '_', 'Z', '2', '4', 0, |
| /* 1408 */ 'b', '2', '4', 0, |
| /* 1412 */ 'd', '2', '4', 0, |
| /* 1416 */ 'h', '2', '4', 0, |
| /* 1420 */ 'q', '2', '4', 0, |
| /* 1424 */ 's', '2', '4', 0, |
| /* 1428 */ 'w', '2', '4', 0, |
| /* 1432 */ 'x', '2', '4', 0, |
| /* 1436 */ 'z', '2', '4', 0, |
| /* 1440 */ 'D', '1', '_', 'D', '2', '_', 'D', '3', '_', 'D', '4', 0, |
| /* 1452 */ 'Q', '1', '_', 'Q', '2', '_', 'Q', '3', '_', 'Q', '4', 0, |
| /* 1464 */ 'W', '3', '_', 'W', '4', 0, |
| /* 1470 */ 'X', '3', '_', 'X', '4', 0, |
| /* 1476 */ 'Z', '1', '_', 'Z', '2', '_', 'Z', '3', '_', 'Z', '4', 0, |
| /* 1488 */ 'b', '4', 0, |
| /* 1491 */ 'd', '4', 0, |
| /* 1494 */ 'h', '4', 0, |
| /* 1497 */ 'p', '4', 0, |
| /* 1500 */ 'q', '4', 0, |
| /* 1503 */ 's', '4', 0, |
| /* 1506 */ 'w', '4', 0, |
| /* 1509 */ 'x', '4', 0, |
| /* 1512 */ 'z', '4', 0, |
| /* 1515 */ 'D', '1', '2', '_', 'D', '1', '3', '_', 'D', '1', '4', '_', 'D', '1', '5', 0, |
| /* 1531 */ 'Q', '1', '2', '_', 'Q', '1', '3', '_', 'Q', '1', '4', '_', 'Q', '1', '5', 0, |
| /* 1547 */ 'W', '1', '4', '_', 'W', '1', '5', 0, |
| /* 1555 */ 'X', '1', '4', '_', 'X', '1', '5', 0, |
| /* 1563 */ 'Z', '1', '2', '_', 'Z', '1', '3', '_', 'Z', '1', '4', '_', 'Z', '1', '5', 0, |
| /* 1579 */ 'b', '1', '5', 0, |
| /* 1583 */ 'd', '1', '5', 0, |
| /* 1587 */ 'h', '1', '5', 0, |
| /* 1591 */ 'p', '1', '5', 0, |
| /* 1595 */ 'q', '1', '5', 0, |
| /* 1599 */ 's', '1', '5', 0, |
| /* 1603 */ 'w', '1', '5', 0, |
| /* 1607 */ 'x', '1', '5', 0, |
| /* 1611 */ 'z', '1', '5', 0, |
| /* 1615 */ 'D', '2', '2', '_', 'D', '2', '3', '_', 'D', '2', '4', '_', 'D', '2', '5', 0, |
| /* 1631 */ 'Q', '2', '2', '_', 'Q', '2', '3', '_', 'Q', '2', '4', '_', 'Q', '2', '5', 0, |
| /* 1647 */ 'W', '2', '4', '_', 'W', '2', '5', 0, |
| /* 1655 */ 'X', '2', '4', '_', 'X', '2', '5', 0, |
| /* 1663 */ 'Z', '2', '2', '_', 'Z', '2', '3', '_', 'Z', '2', '4', '_', 'Z', '2', '5', 0, |
| /* 1679 */ 'b', '2', '5', 0, |
| /* 1683 */ 'd', '2', '5', 0, |
| /* 1687 */ 'h', '2', '5', 0, |
| /* 1691 */ 'q', '2', '5', 0, |
| /* 1695 */ 's', '2', '5', 0, |
| /* 1699 */ 'w', '2', '5', 0, |
| /* 1703 */ 'x', '2', '5', 0, |
| /* 1707 */ 'z', '2', '5', 0, |
| /* 1711 */ 'D', '2', '_', 'D', '3', '_', 'D', '4', '_', 'D', '5', 0, |
| /* 1723 */ 'Q', '2', '_', 'Q', '3', '_', 'Q', '4', '_', 'Q', '5', 0, |
| /* 1735 */ 'W', '4', '_', 'W', '5', 0, |
| /* 1741 */ 'X', '4', '_', 'X', '5', 0, |
| /* 1747 */ 'Z', '2', '_', 'Z', '3', '_', 'Z', '4', '_', 'Z', '5', 0, |
| /* 1759 */ 'b', '5', 0, |
| /* 1762 */ 'd', '5', 0, |
| /* 1765 */ 'h', '5', 0, |
| /* 1768 */ 'p', '5', 0, |
| /* 1771 */ 'q', '5', 0, |
| /* 1774 */ 's', '5', 0, |
| /* 1777 */ 'w', '5', 0, |
| /* 1780 */ 'x', '5', 0, |
| /* 1783 */ 'z', '5', 0, |
| /* 1786 */ 'D', '1', '3', '_', 'D', '1', '4', '_', 'D', '1', '5', '_', 'D', '1', '6', 0, |
| /* 1802 */ 'Q', '1', '3', '_', 'Q', '1', '4', '_', 'Q', '1', '5', '_', 'Q', '1', '6', 0, |
| /* 1818 */ 'W', '1', '5', '_', 'W', '1', '6', 0, |
| /* 1826 */ 'X', '1', '5', '_', 'X', '1', '6', 0, |
| /* 1834 */ 'Z', '1', '3', '_', 'Z', '1', '4', '_', 'Z', '1', '5', '_', 'Z', '1', '6', 0, |
| /* 1850 */ 'b', '1', '6', 0, |
| /* 1854 */ 'd', '1', '6', 0, |
| /* 1858 */ 'h', '1', '6', 0, |
| /* 1862 */ 'q', '1', '6', 0, |
| /* 1866 */ 's', '1', '6', 0, |
| /* 1870 */ 'w', '1', '6', 0, |
| /* 1874 */ 'x', '1', '6', 0, |
| /* 1878 */ 'z', '1', '6', 0, |
| /* 1882 */ 'D', '2', '3', '_', 'D', '2', '4', '_', 'D', '2', '5', '_', 'D', '2', '6', 0, |
| /* 1898 */ 'Q', '2', '3', '_', 'Q', '2', '4', '_', 'Q', '2', '5', '_', 'Q', '2', '6', 0, |
| /* 1914 */ 'W', '2', '5', '_', 'W', '2', '6', 0, |
| /* 1922 */ 'X', '2', '5', '_', 'X', '2', '6', 0, |
| /* 1930 */ 'Z', '2', '3', '_', 'Z', '2', '4', '_', 'Z', '2', '5', '_', 'Z', '2', '6', 0, |
| /* 1946 */ 'b', '2', '6', 0, |
| /* 1950 */ 'd', '2', '6', 0, |
| /* 1954 */ 'h', '2', '6', 0, |
| /* 1958 */ 'q', '2', '6', 0, |
| /* 1962 */ 's', '2', '6', 0, |
| /* 1966 */ 'w', '2', '6', 0, |
| /* 1970 */ 'x', '2', '6', 0, |
| /* 1974 */ 'z', '2', '6', 0, |
| /* 1978 */ 'D', '3', '_', 'D', '4', '_', 'D', '5', '_', 'D', '6', 0, |
| /* 1990 */ 'Q', '3', '_', 'Q', '4', '_', 'Q', '5', '_', 'Q', '6', 0, |
| /* 2002 */ 'W', '5', '_', 'W', '6', 0, |
| /* 2008 */ 'X', '5', '_', 'X', '6', 0, |
| /* 2014 */ 'Z', '3', '_', 'Z', '4', '_', 'Z', '5', '_', 'Z', '6', 0, |
| /* 2026 */ 'b', '6', 0, |
| /* 2029 */ 'd', '6', 0, |
| /* 2032 */ 'h', '6', 0, |
| /* 2035 */ 'p', '6', 0, |
| /* 2038 */ 'q', '6', 0, |
| /* 2041 */ 's', '6', 0, |
| /* 2044 */ 'w', '6', 0, |
| /* 2047 */ 'x', '6', 0, |
| /* 2050 */ 'z', '6', 0, |
| /* 2053 */ 'D', '1', '4', '_', 'D', '1', '5', '_', 'D', '1', '6', '_', 'D', '1', '7', 0, |
| /* 2069 */ 'Q', '1', '4', '_', 'Q', '1', '5', '_', 'Q', '1', '6', '_', 'Q', '1', '7', 0, |
| /* 2085 */ 'W', '1', '6', '_', 'W', '1', '7', 0, |
| /* 2093 */ 'X', '1', '6', '_', 'X', '1', '7', 0, |
| /* 2101 */ 'Z', '1', '4', '_', 'Z', '1', '5', '_', 'Z', '1', '6', '_', 'Z', '1', '7', 0, |
| /* 2117 */ 'b', '1', '7', 0, |
| /* 2121 */ 'd', '1', '7', 0, |
| /* 2125 */ 'h', '1', '7', 0, |
| /* 2129 */ 'q', '1', '7', 0, |
| /* 2133 */ 's', '1', '7', 0, |
| /* 2137 */ 'w', '1', '7', 0, |
| /* 2141 */ 'x', '1', '7', 0, |
| /* 2145 */ 'z', '1', '7', 0, |
| /* 2149 */ 'D', '2', '4', '_', 'D', '2', '5', '_', 'D', '2', '6', '_', 'D', '2', '7', 0, |
| /* 2165 */ 'Q', '2', '4', '_', 'Q', '2', '5', '_', 'Q', '2', '6', '_', 'Q', '2', '7', 0, |
| /* 2181 */ 'W', '2', '6', '_', 'W', '2', '7', 0, |
| /* 2189 */ 'X', '2', '6', '_', 'X', '2', '7', 0, |
| /* 2197 */ 'Z', '2', '4', '_', 'Z', '2', '5', '_', 'Z', '2', '6', '_', 'Z', '2', '7', 0, |
| /* 2213 */ 'b', '2', '7', 0, |
| /* 2217 */ 'd', '2', '7', 0, |
| /* 2221 */ 'h', '2', '7', 0, |
| /* 2225 */ 'q', '2', '7', 0, |
| /* 2229 */ 's', '2', '7', 0, |
| /* 2233 */ 'w', '2', '7', 0, |
| /* 2237 */ 'x', '2', '7', 0, |
| /* 2241 */ 'z', '2', '7', 0, |
| /* 2245 */ 'D', '4', '_', 'D', '5', '_', 'D', '6', '_', 'D', '7', 0, |
| /* 2257 */ 'Q', '4', '_', 'Q', '5', '_', 'Q', '6', '_', 'Q', '7', 0, |
| /* 2269 */ 'W', '6', '_', 'W', '7', 0, |
| /* 2275 */ 'X', '6', '_', 'X', '7', 0, |
| /* 2281 */ 'Z', '4', '_', 'Z', '5', '_', 'Z', '6', '_', 'Z', '7', 0, |
| /* 2293 */ 'b', '7', 0, |
| /* 2296 */ 'd', '7', 0, |
| /* 2299 */ 'h', '7', 0, |
| /* 2302 */ 'p', '7', 0, |
| /* 2305 */ 'q', '7', 0, |
| /* 2308 */ 's', '7', 0, |
| /* 2311 */ 'w', '7', 0, |
| /* 2314 */ 'x', '7', 0, |
| /* 2317 */ 'z', '7', 0, |
| /* 2320 */ 'D', '1', '5', '_', 'D', '1', '6', '_', 'D', '1', '7', '_', 'D', '1', '8', 0, |
| /* 2336 */ 'Q', '1', '5', '_', 'Q', '1', '6', '_', 'Q', '1', '7', '_', 'Q', '1', '8', 0, |
| /* 2352 */ 'W', '1', '7', '_', 'W', '1', '8', 0, |
| /* 2360 */ 'X', '1', '7', '_', 'X', '1', '8', 0, |
| /* 2368 */ 'Z', '1', '5', '_', 'Z', '1', '6', '_', 'Z', '1', '7', '_', 'Z', '1', '8', 0, |
| /* 2384 */ 'b', '1', '8', 0, |
| /* 2388 */ 'd', '1', '8', 0, |
| /* 2392 */ 'h', '1', '8', 0, |
| /* 2396 */ 'q', '1', '8', 0, |
| /* 2400 */ 's', '1', '8', 0, |
| /* 2404 */ 'w', '1', '8', 0, |
| /* 2408 */ 'x', '1', '8', 0, |
| /* 2412 */ 'z', '1', '8', 0, |
| /* 2416 */ 'D', '2', '5', '_', 'D', '2', '6', '_', 'D', '2', '7', '_', 'D', '2', '8', 0, |
| /* 2432 */ 'Q', '2', '5', '_', 'Q', '2', '6', '_', 'Q', '2', '7', '_', 'Q', '2', '8', 0, |
| /* 2448 */ 'W', '2', '7', '_', 'W', '2', '8', 0, |
| /* 2456 */ 'X', '2', '7', '_', 'X', '2', '8', 0, |
| /* 2464 */ 'Z', '2', '5', '_', 'Z', '2', '6', '_', 'Z', '2', '7', '_', 'Z', '2', '8', 0, |
| /* 2480 */ 'b', '2', '8', 0, |
| /* 2484 */ 'd', '2', '8', 0, |
| /* 2488 */ 'h', '2', '8', 0, |
| /* 2492 */ 'q', '2', '8', 0, |
| /* 2496 */ 's', '2', '8', 0, |
| /* 2500 */ 'w', '2', '8', 0, |
| /* 2504 */ 'x', '2', '8', 0, |
| /* 2508 */ 'z', '2', '8', 0, |
| /* 2512 */ 'D', '5', '_', 'D', '6', '_', 'D', '7', '_', 'D', '8', 0, |
| /* 2524 */ 'Q', '5', '_', 'Q', '6', '_', 'Q', '7', '_', 'Q', '8', 0, |
| /* 2536 */ 'W', '7', '_', 'W', '8', 0, |
| /* 2542 */ 'X', '7', '_', 'X', '8', 0, |
| /* 2548 */ 'Z', '5', '_', 'Z', '6', '_', 'Z', '7', '_', 'Z', '8', 0, |
| /* 2560 */ 'b', '8', 0, |
| /* 2563 */ 'd', '8', 0, |
| /* 2566 */ 'h', '8', 0, |
| /* 2569 */ 'p', '8', 0, |
| /* 2572 */ 'q', '8', 0, |
| /* 2575 */ 's', '8', 0, |
| /* 2578 */ 'w', '8', 0, |
| /* 2581 */ 'x', '8', 0, |
| /* 2584 */ 'z', '8', 0, |
| /* 2587 */ 'D', '1', '6', '_', 'D', '1', '7', '_', 'D', '1', '8', '_', 'D', '1', '9', 0, |
| /* 2603 */ 'Q', '1', '6', '_', 'Q', '1', '7', '_', 'Q', '1', '8', '_', 'Q', '1', '9', 0, |
| /* 2619 */ 'W', '1', '8', '_', 'W', '1', '9', 0, |
| /* 2627 */ 'X', '1', '8', '_', 'X', '1', '9', 0, |
| /* 2635 */ 'Z', '1', '6', '_', 'Z', '1', '7', '_', 'Z', '1', '8', '_', 'Z', '1', '9', 0, |
| /* 2651 */ 'b', '1', '9', 0, |
| /* 2655 */ 'd', '1', '9', 0, |
| /* 2659 */ 'h', '1', '9', 0, |
| /* 2663 */ 'q', '1', '9', 0, |
| /* 2667 */ 's', '1', '9', 0, |
| /* 2671 */ 'w', '1', '9', 0, |
| /* 2675 */ 'x', '1', '9', 0, |
| /* 2679 */ 'z', '1', '9', 0, |
| /* 2683 */ 'D', '2', '6', '_', 'D', '2', '7', '_', 'D', '2', '8', '_', 'D', '2', '9', 0, |
| /* 2699 */ 'Q', '2', '6', '_', 'Q', '2', '7', '_', 'Q', '2', '8', '_', 'Q', '2', '9', 0, |
| /* 2715 */ 'W', '2', '8', '_', 'W', '2', '9', 0, |
| /* 2723 */ 'Z', '2', '6', '_', 'Z', '2', '7', '_', 'Z', '2', '8', '_', 'Z', '2', '9', 0, |
| /* 2739 */ 'b', '2', '9', 0, |
| /* 2743 */ 'd', '2', '9', 0, |
| /* 2747 */ 'h', '2', '9', 0, |
| /* 2751 */ 'q', '2', '9', 0, |
| /* 2755 */ 's', '2', '9', 0, |
| /* 2759 */ 'w', '2', '9', 0, |
| /* 2763 */ 'x', '2', '9', 0, |
| /* 2767 */ 'z', '2', '9', 0, |
| /* 2771 */ 'D', '6', '_', 'D', '7', '_', 'D', '8', '_', 'D', '9', 0, |
| /* 2783 */ 'Q', '6', '_', 'Q', '7', '_', 'Q', '8', '_', 'Q', '9', 0, |
| /* 2795 */ 'W', '8', '_', 'W', '9', 0, |
| /* 2801 */ 'X', '8', '_', 'X', '9', 0, |
| /* 2807 */ 'Z', '6', '_', 'Z', '7', '_', 'Z', '8', '_', 'Z', '9', 0, |
| /* 2819 */ 'b', '9', 0, |
| /* 2822 */ 'd', '9', 0, |
| /* 2825 */ 'h', '9', 0, |
| /* 2828 */ 'p', '9', 0, |
| /* 2831 */ 'q', '9', 0, |
| /* 2834 */ 's', '9', 0, |
| /* 2837 */ 'w', '9', 0, |
| /* 2840 */ 'x', '9', 0, |
| /* 2843 */ 'z', '9', 0, |
| /* 2846 */ 'X', '2', '8', '_', 'F', 'P', 0, |
| /* 2853 */ 'F', 'P', '_', 'L', 'R', 0, |
| /* 2859 */ 'W', '3', '0', '_', 'W', 'Z', 'R', 0, |
| /* 2867 */ 'L', 'R', '_', 'X', 'Z', 'R', 0, |
| /* 2874 */ 'z', '1', '0', '_', 'h', 'i', 0, |
| /* 2881 */ 'z', '2', '0', '_', 'h', 'i', 0, |
| /* 2888 */ 'z', '3', '0', '_', 'h', 'i', 0, |
| /* 2895 */ 'z', '0', '_', 'h', 'i', 0, |
| /* 2901 */ 'z', '1', '1', '_', 'h', 'i', 0, |
| /* 2908 */ 'z', '2', '1', '_', 'h', 'i', 0, |
| /* 2915 */ 'z', '3', '1', '_', 'h', 'i', 0, |
| /* 2922 */ 'z', '1', '_', 'h', 'i', 0, |
| /* 2928 */ 'z', '1', '2', '_', 'h', 'i', 0, |
| /* 2935 */ 'z', '2', '2', '_', 'h', 'i', 0, |
| /* 2942 */ 'z', '2', '_', 'h', 'i', 0, |
| /* 2948 */ 'z', '1', '3', '_', 'h', 'i', 0, |
| /* 2955 */ 'z', '2', '3', '_', 'h', 'i', 0, |
| /* 2962 */ 'z', '3', '_', 'h', 'i', 0, |
| /* 2968 */ 'z', '1', '4', '_', 'h', 'i', 0, |
| /* 2975 */ 'z', '2', '4', '_', 'h', 'i', 0, |
| /* 2982 */ 'z', '4', '_', 'h', 'i', 0, |
| /* 2988 */ 'z', '1', '5', '_', 'h', 'i', 0, |
| /* 2995 */ 'z', '2', '5', '_', 'h', 'i', 0, |
| /* 3002 */ 'z', '5', '_', 'h', 'i', 0, |
| /* 3008 */ 'z', '1', '6', '_', 'h', 'i', 0, |
| /* 3015 */ 'z', '2', '6', '_', 'h', 'i', 0, |
| /* 3022 */ 'z', '6', '_', 'h', 'i', 0, |
| /* 3028 */ 'z', '1', '7', '_', 'h', 'i', 0, |
| /* 3035 */ 'z', '2', '7', '_', 'h', 'i', 0, |
| /* 3042 */ 'z', '7', '_', 'h', 'i', 0, |
| /* 3048 */ 'z', '1', '8', '_', 'h', 'i', 0, |
| /* 3055 */ 'z', '2', '8', '_', 'h', 'i', 0, |
| /* 3062 */ 'z', '8', '_', 'h', 'i', 0, |
| /* 3068 */ 'z', '1', '9', '_', 'h', 'i', 0, |
| /* 3075 */ 'z', '2', '9', '_', 'h', 'i', 0, |
| /* 3082 */ 'z', '9', '_', 'h', 'i', 0, |
| /* 3088 */ 'w', 's', 'p', 0, |
| /* 3092 */ 'f', 'f', 'r', 0, |
| /* 3096 */ 'w', 'z', 'r', 0, |
| /* 3100 */ 'x', 'z', 'r', 0, |
| /* 3104 */ 'n', 'z', 'c', 'v', 0, |
| }; |
| |
| static const uint16_t RegAsmOffsetNoRegAltName[] = { |
| 3092, 2763, 265, 3104, 3089, 3088, 3096, 3100, 332, 675, 946, 1217, 1488, 1759, |
| 2026, 2293, 2560, 2819, 53, 417, 763, 1037, 1308, 1579, 1850, 2117, 2384, 2651, |
| 153, 517, 863, 1137, 1408, 1679, 1946, 2213, 2480, 2739, 241, 597, 335, 678, |
| 949, 1220, 1491, 1762, 2029, 2296, 2563, 2822, 57, 421, 767, 1041, 1312, 1583, |
| 1854, 2121, 2388, 2655, 157, 521, 867, 1141, 1412, 1683, 1950, 2217, 2484, 2743, |
| 245, 601, 338, 681, 952, 1223, 1494, 1765, 2032, 2299, 2566, 2825, 61, 425, |
| 771, 1045, 1316, 1587, 1858, 2125, 2392, 2659, 161, 525, 871, 1145, 1416, 1687, |
| 1954, 2221, 2488, 2747, 249, 605, 341, 684, 955, 1226, 1497, 1768, 2035, 2302, |
| 2569, 2828, 65, 429, 775, 1049, 1320, 1591, 344, 687, 958, 1229, 1500, 1771, |
| 2038, 2305, 2572, 2831, 69, 433, 779, 1053, 1324, 1595, 1862, 2129, 2396, 2663, |
| 165, 529, 875, 1149, 1420, 1691, 1958, 2225, 2492, 2751, 253, 609, 347, 690, |
| 961, 1232, 1503, 1774, 2041, 2308, 2575, 2834, 73, 437, 783, 1057, 1328, 1599, |
| 1866, 2133, 2400, 2667, 169, 533, 879, 1153, 1424, 1695, 1962, 2229, 2496, 2755, |
| 257, 613, 350, 693, 964, 1235, 1506, 1777, 2044, 2311, 2578, 2837, 77, 441, |
| 787, 1061, 1332, 1603, 1870, 2137, 2404, 2671, 173, 537, 883, 1157, 1428, 1699, |
| 1966, 2233, 2500, 2759, 261, 353, 696, 967, 1238, 1509, 1780, 2047, 2314, 2581, |
| 2840, 81, 445, 791, 1065, 1336, 1607, 1874, 2141, 2408, 2675, 177, 541, 887, |
| 1161, 1432, 1703, 1970, 2237, 2504, 356, 699, 970, 1241, 1512, 1783, 2050, 2317, |
| 2584, 2843, 85, 449, 795, 1069, 1340, 1611, 1878, 2145, 2412, 2679, 181, 545, |
| 891, 1165, 1436, 1707, 1974, 2241, 2508, 2767, 269, 617, 2895, 2922, 2942, 2962, |
| 2982, 3002, 3022, 3042, 3062, 3082, 2874, 2901, 2928, 2948, 2968, 2988, 3008, 3028, |
| 3048, 3068, 2881, 2908, 2935, 2955, 2975, 2995, 3015, 3035, 3055, 3075, 2888, 2915, |
| 629, 902, 1175, 1446, 1717, 1984, 2251, 2518, 2777, 6, 365, 709, 981, 1252, |
| 1523, 1794, 2061, 2328, 2595, 97, 461, 807, 1081, 1352, 1623, 1890, 2157, 2424, |
| 2691, 193, 557, 281, 1169, 1440, 1711, 1978, 2245, 2512, 2771, 0, 359, 702, |
| 973, 1244, 1515, 1786, 2053, 2320, 2587, 89, 453, 799, 1073, 1344, 1615, 1882, |
| 2149, 2416, 2683, 185, 549, 273, 621, 895, 899, 1172, 1443, 1714, 1981, 2248, |
| 2515, 2774, 3, 362, 705, 977, 1248, 1519, 1790, 2057, 2324, 2591, 93, 457, |
| 803, 1077, 1348, 1619, 1886, 2153, 2420, 2687, 189, 553, 277, 625, 643, 915, |
| 1187, 1458, 1729, 1996, 2263, 2530, 2789, 19, 379, 724, 997, 1268, 1539, 1810, |
| 2077, 2344, 2611, 113, 477, 823, 1097, 1368, 1639, 1906, 2173, 2440, 2707, 209, |
| 573, 296, 1181, 1452, 1723, 1990, 2257, 2524, 2783, 13, 373, 717, 989, 1260, |
| 1531, 1802, 2069, 2336, 2603, 105, 469, 815, 1089, 1360, 1631, 1898, 2165, 2432, |
| 2699, 201, 565, 288, 635, 908, 912, 1184, 1455, 1726, 1993, 2260, 2527, 2786, |
| 16, 376, 720, 993, 1264, 1535, 1806, 2073, 2340, 2607, 109, 473, 819, 1093, |
| 1364, 1635, 1902, 2169, 2436, 2703, 205, 569, 292, 639, 303, 2859, 649, 921, |
| 1193, 1464, 1735, 2002, 2269, 2536, 2795, 26, 387, 732, 1005, 1276, 1547, 1818, |
| 2085, 2352, 2619, 121, 485, 831, 1105, 1376, 1647, 1914, 2181, 2448, 2715, 217, |
| 2853, 2867, 310, 2846, 655, 927, 1199, 1470, 1741, 2008, 2275, 2542, 2801, 33, |
| 395, 740, 1013, 1284, 1555, 1826, 2093, 2360, 2627, 129, 493, 839, 1113, 1384, |
| 1655, 1922, 2189, 2456, 669, 940, 1211, 1482, 1753, 2020, 2287, 2554, 2813, 46, |
| 409, 755, 1029, 1300, 1571, 1842, 2109, 2376, 2643, 145, 509, 855, 1129, 1400, |
| 1671, 1938, 2205, 2472, 2731, 233, 589, 325, 1205, 1476, 1747, 2014, 2281, 2548, |
| 2807, 40, 403, 748, 1021, 1292, 1563, 1834, 2101, 2368, 2635, 137, 501, 847, |
| 1121, 1392, 1663, 1930, 2197, 2464, 2723, 225, 581, 317, 661, 933, 937, 1208, |
| 1479, 1750, 2017, 2284, 2551, 2810, 43, 406, 751, 1025, 1296, 1567, 1838, 2105, |
| 2372, 2639, 141, 505, 851, 1125, 1396, 1667, 1934, 2201, 2468, 2727, 229, 585, |
| 321, 665, |
| }; |
| |
| static const char AsmStrsvlist1[] = { |
| /* 0 */ 0, |
| }; |
| |
| static const uint8_t RegAsmOffsetvlist1[] = { |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, |
| }; |
| |
| static const char AsmStrsvreg[] = { |
| /* 0 */ 'v', '1', '0', 0, |
| /* 4 */ 'v', '2', '0', 0, |
| /* 8 */ 'v', '3', '0', 0, |
| /* 12 */ 'v', '0', 0, |
| /* 15 */ 'v', '1', '1', 0, |
| /* 19 */ 'v', '2', '1', 0, |
| /* 23 */ 'v', '3', '1', 0, |
| /* 27 */ 'v', '1', 0, |
| /* 30 */ 'v', '1', '2', 0, |
| /* 34 */ 'v', '2', '2', 0, |
| /* 38 */ 'v', '2', 0, |
| /* 41 */ 'v', '1', '3', 0, |
| /* 45 */ 'v', '2', '3', 0, |
| /* 49 */ 'v', '3', 0, |
| /* 52 */ 'v', '1', '4', 0, |
| /* 56 */ 'v', '2', '4', 0, |
| /* 60 */ 'v', '4', 0, |
| /* 63 */ 'v', '1', '5', 0, |
| /* 67 */ 'v', '2', '5', 0, |
| /* 71 */ 'v', '5', 0, |
| /* 74 */ 'v', '1', '6', 0, |
| /* 78 */ 'v', '2', '6', 0, |
| /* 82 */ 'v', '6', 0, |
| /* 85 */ 'v', '1', '7', 0, |
| /* 89 */ 'v', '2', '7', 0, |
| /* 93 */ 'v', '7', 0, |
| /* 96 */ 'v', '1', '8', 0, |
| /* 100 */ 'v', '2', '8', 0, |
| /* 104 */ 'v', '8', 0, |
| /* 107 */ 'v', '1', '9', 0, |
| /* 111 */ 'v', '2', '9', 0, |
| /* 115 */ 'v', '9', 0, |
| }; |
| |
| static const uint8_t RegAsmOffsetvreg[] = { |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 12, 27, |
| 38, 49, 60, 71, 82, 93, 104, 115, 0, 15, 30, 41, 52, 63, |
| 74, 85, 96, 107, 4, 19, 34, 45, 56, 67, 78, 89, 100, 111, |
| 8, 23, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 12, 27, 38, 49, 60, 71, |
| 82, 93, 104, 115, 0, 15, 30, 41, 52, 63, 74, 85, 96, 107, |
| 4, 19, 34, 45, 56, 67, 78, 89, 100, 111, 8, 23, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 12, 27, 38, 49, 60, 71, 82, 93, 104, 115, 0, 15, 30, 41, |
| 52, 63, 74, 85, 96, 107, 4, 19, 34, 45, 56, 67, 78, 89, |
| 100, 111, 8, 23, 12, 27, 38, 49, 60, 71, 82, 93, 104, 115, |
| 0, 15, 30, 41, 52, 63, 74, 85, 96, 107, 4, 19, 34, 45, |
| 56, 67, 78, 89, 100, 111, 8, 23, 12, 27, 38, 49, 60, 71, |
| 82, 93, 104, 115, 0, 15, 30, 41, 52, 63, 74, 85, 96, 107, |
| 4, 19, 34, 45, 56, 67, 78, 89, 100, 111, 8, 23, 12, 27, |
| 38, 49, 60, 71, 82, 93, 104, 115, 0, 15, 30, 41, 52, 63, |
| 74, 85, 96, 107, 4, 19, 34, 45, 56, 67, 78, 89, 100, 111, |
| 8, 23, 12, 27, 38, 49, 60, 71, 82, 93, 104, 115, 0, 15, |
| 30, 41, 52, 63, 74, 85, 96, 107, 4, 19, 34, 45, 56, 67, |
| 78, 89, 100, 111, 8, 23, 12, 27, 38, 49, 60, 71, 82, 93, |
| 104, 115, 0, 15, 30, 41, 52, 63, 74, 85, 96, 107, 4, 19, |
| 34, 45, 56, 67, 78, 89, 100, 111, 8, 23, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, |
| }; |
| |
| switch(AltIdx) { |
| default: llvm_unreachable("Invalid register alt name index!"); |
| case AArch64::NoRegAltName: |
| assert(*(AsmStrsNoRegAltName+RegAsmOffsetNoRegAltName[RegNo-1]) && |
| "Invalid alt name index for register!"); |
| return AsmStrsNoRegAltName+RegAsmOffsetNoRegAltName[RegNo-1]; |
| case AArch64::vlist1: |
| assert(*(AsmStrsvlist1+RegAsmOffsetvlist1[RegNo-1]) && |
| "Invalid alt name index for register!"); |
| return AsmStrsvlist1+RegAsmOffsetvlist1[RegNo-1]; |
| case AArch64::vreg: |
| assert(*(AsmStrsvreg+RegAsmOffsetvreg[RegNo-1]) && |
| "Invalid alt name index for register!"); |
| return AsmStrsvreg+RegAsmOffsetvreg[RegNo-1]; |
| } |
| } |
| |
| #ifdef PRINT_ALIAS_INSTR |
| #undef PRINT_ALIAS_INSTR |
| |
| static bool AArch64InstPrinterValidateMCOperand(const MCOperand &MCOp, |
| const MCSubtargetInfo &STI, |
| unsigned PredicateIndex); |
| bool AArch64InstPrinter::printAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &OS) { |
| const char *AsmString; |
| switch (MI->getOpcode()) { |
| default: return false; |
| case AArch64::ADDSWri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg())) { |
| // (ADDSWri WZR, GPR32sp:$src, addsub_shifted_imm32:$imm) |
| AsmString = "cmn $\x02, $\xFF\x03\x01"; |
| break; |
| } |
| return false; |
| case AArch64::ADDSWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ADDSWrs WZR, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "cmn $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (ADDSWrs WZR, GPR32:$src1, GPR32:$src2, arith_shift32:$sh) |
| AsmString = "cmn $\x02, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ADDSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "adds $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ADDSWrx: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 16) { |
| // (ADDSWrx WZR, GPR32sponly:$src1, GPR32:$src2, 16) |
| AsmString = "cmn $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (ADDSWrx WZR, GPR32sp:$src1, GPR32:$src2, arith_extend:$sh) |
| AsmString = "cmn $\x02, $\x03$\xFF\x04\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 16) { |
| // (ADDSWrx GPR32:$dst, GPR32sponly:$src1, GPR32:$src2, 16) |
| AsmString = "adds $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ADDSXri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg())) { |
| // (ADDSXri XZR, GPR64sp:$src, addsub_shifted_imm64:$imm) |
| AsmString = "cmn $\x02, $\xFF\x03\x01"; |
| break; |
| } |
| return false; |
| case AArch64::ADDSXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ADDSXrs XZR, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "cmn $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (ADDSXrs XZR, GPR64:$src1, GPR64:$src2, arith_shift64:$sh) |
| AsmString = "cmn $\x02, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ADDSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "adds $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ADDSXrx: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (ADDSXrx XZR, GPR64sp:$src1, GPR32:$src2, arith_extend:$sh) |
| AsmString = "cmn $\x02, $\x03$\xFF\x04\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ADDSXrx64: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 24) { |
| // (ADDSXrx64 XZR, GPR64sponly:$src1, GPR64:$src2, 24) |
| AsmString = "cmn $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (ADDSXrx64 XZR, GPR64sp:$src1, GPR64:$src2, arith_extendlsl64:$sh) |
| AsmString = "cmn $\x02, $\x03$\xFF\x04\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 24) { |
| // (ADDSXrx64 GPR64:$dst, GPR64sponly:$src1, GPR64:$src2, 24) |
| AsmString = "adds $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ADDWri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ADDWri GPR32sponly:$dst, GPR32sp:$src, 0, 0) |
| AsmString = "mov $\x01, $\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ADDWri GPR32sp:$dst, GPR32sponly:$src, 0, 0) |
| AsmString = "mov $\x01, $\x02"; |
| break; |
| } |
| return false; |
| case AArch64::ADDWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ADDWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "add $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ADDWrx: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 16) { |
| // (ADDWrx GPR32sponly:$dst, GPR32sp:$src1, GPR32:$src2, 16) |
| AsmString = "add $\x01, $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 16) { |
| // (ADDWrx GPR32sp:$dst, GPR32sponly:$src1, GPR32:$src2, 16) |
| AsmString = "add $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ADDXri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ADDXri GPR64sponly:$dst, GPR64sp:$src, 0, 0) |
| AsmString = "mov $\x01, $\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ADDXri GPR64sp:$dst, GPR64sponly:$src, 0, 0) |
| AsmString = "mov $\x01, $\x02"; |
| break; |
| } |
| return false; |
| case AArch64::ADDXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ADDXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "add $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ADDXrx64: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 24) { |
| // (ADDXrx64 GPR64sponly:$dst, GPR64sp:$src1, GPR64:$src2, 24) |
| AsmString = "add $\x01, $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 24) { |
| // (ADDXrx64 GPR64sp:$dst, GPR64sponly:$src1, GPR64:$src2, 24) |
| AsmString = "add $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ANDSWri: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg())) { |
| // (ANDSWri WZR, GPR32:$src1, logical_imm32:$src2) |
| AsmString = "tst $\x02, $\xFF\x03\x04"; |
| break; |
| } |
| return false; |
| case AArch64::ANDSWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ANDSWrs WZR, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "tst $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (ANDSWrs WZR, GPR32:$src1, GPR32:$src2, logical_shift32:$sh) |
| AsmString = "tst $\x02, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ANDSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "ands $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ANDSXri: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg())) { |
| // (ANDSXri XZR, GPR64:$src1, logical_imm64:$src2) |
| AsmString = "tst $\x02, $\xFF\x03\x05"; |
| break; |
| } |
| return false; |
| case AArch64::ANDSXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ANDSXrs XZR, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "tst $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (ANDSXrs XZR, GPR64:$src1, GPR64:$src2, logical_shift64:$sh) |
| AsmString = "tst $\x02, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ANDSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "ands $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ANDS_PPzPP: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(2).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ANDS_PPzPP PPR8:$Pd, PPRAny:$Pg, PPR8:$Pn, PPR8:$Pn) |
| AsmString = "movs $\xFF\x01\x06, $\xFF\x02\x07/z, $\xFF\x03\x06"; |
| break; |
| } |
| return false; |
| case AArch64::ANDWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ANDWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "and $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ANDXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ANDXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "and $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::AND_PPzPP: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(2).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (AND_PPzPP PPR8:$Pd, PPRAny:$Pg, PPR8:$Pn, PPR8:$Pn) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x07/z, $\xFF\x03\x06"; |
| break; |
| } |
| return false; |
| case AArch64::AND_ZI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (AND_ZI ZPR8:$Zdn, sve_logical_imm8:$imm) |
| AsmString = "and $\xFF\x01\x06, $\xFF\x01\x06, $\xFF\x03\x08"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (AND_ZI ZPR16:$Zdn, sve_logical_imm16:$imm) |
| AsmString = "and $\xFF\x01\x09, $\xFF\x01\x09, $\xFF\x03\x0A"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (AND_ZI ZPR32:$Zdn, sve_logical_imm32:$imm) |
| AsmString = "and $\xFF\x01\x0B, $\xFF\x01\x0B, $\xFF\x03\x04"; |
| break; |
| } |
| return false; |
| case AArch64::BICSWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (BICSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "bics $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::BICSXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (BICSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "bics $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::BICWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (BICWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "bic $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::BICXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (BICXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "bic $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::CLREX: |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 15) { |
| // (CLREX 15) |
| AsmString = "clrex"; |
| break; |
| } |
| return false; |
| case AArch64::CNTB_XPiI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CNTB_XPiI GPR64:$Rd, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "cntb $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CNTB_XPiI GPR64:$Rd, sve_pred_enum:$pattern, 1) |
| AsmString = "cntb $\x01, $\xFF\x02\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::CNTD_XPiI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CNTD_XPiI GPR64:$Rd, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "cntd $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CNTD_XPiI GPR64:$Rd, sve_pred_enum:$pattern, 1) |
| AsmString = "cntd $\x01, $\xFF\x02\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::CNTH_XPiI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CNTH_XPiI GPR64:$Rd, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "cnth $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CNTH_XPiI GPR64:$Rd, sve_pred_enum:$pattern, 1) |
| AsmString = "cnth $\x01, $\xFF\x02\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::CNTW_XPiI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CNTW_XPiI GPR64:$Rd, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "cntw $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CNTW_XPiI GPR64:$Rd, sve_pred_enum:$pattern, 1) |
| AsmString = "cntw $\x01, $\xFF\x02\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmI_B: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmI_B ZPR8:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i8:$imm) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x03\x07/m, $\xFF\x04\x0F"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmI_D: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmI_D ZPR64:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i64:$imm) |
| AsmString = "mov $\xFF\x01\x10, $\xFF\x03\x07/m, $\xFF\x04\x11"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmI_H: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmI_H ZPR16:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i16:$imm) |
| AsmString = "mov $\xFF\x01\x09, $\xFF\x03\x07/m, $\xFF\x04\x12"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmI_S: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmI_S ZPR32:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i32:$imm) |
| AsmString = "mov $\xFF\x01\x0B, $\xFF\x03\x07/m, $\xFF\x04\x13"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmR_B: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmR_B ZPR8:$Zd, PPR3bAny:$Pg, GPR32sp:$Rn) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x03\x07/m, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmR_D: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmR_D ZPR64:$Zd, PPR3bAny:$Pg, GPR64sp:$Rn) |
| AsmString = "mov $\xFF\x01\x10, $\xFF\x03\x07/m, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmR_H: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmR_H ZPR16:$Zd, PPR3bAny:$Pg, GPR32sp:$Rn) |
| AsmString = "mov $\xFF\x01\x09, $\xFF\x03\x07/m, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmR_S: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmR_S ZPR32:$Zd, PPR3bAny:$Pg, GPR32sp:$Rn) |
| AsmString = "mov $\xFF\x01\x0B, $\xFF\x03\x07/m, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmV_B: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmV_B ZPR8:$Zd, PPR3bAny:$Pg, FPR8:$Vn) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x03\x07/m, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmV_D: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmV_D ZPR64:$Zd, PPR3bAny:$Pg, FPR64:$Vn) |
| AsmString = "mov $\xFF\x01\x10, $\xFF\x03\x07/m, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmV_H: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmV_H ZPR16:$Zd, PPR3bAny:$Pg, FPR16:$Vn) |
| AsmString = "mov $\xFF\x01\x09, $\xFF\x03\x07/m, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPmV_S: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPmV_S ZPR32:$Zd, PPR3bAny:$Pg, FPR32:$Vn) |
| AsmString = "mov $\xFF\x01\x0B, $\xFF\x03\x07/m, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPzI_B: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPzI_B ZPR8:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i8:$imm) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x07/z, $\xFF\x03\x0F"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPzI_D: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPzI_D ZPR64:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i64:$imm) |
| AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x07/z, $\xFF\x03\x11"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPzI_H: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPzI_H ZPR16:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i16:$imm) |
| AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x07/z, $\xFF\x03\x12"; |
| break; |
| } |
| return false; |
| case AArch64::CPY_ZPzI_S: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (CPY_ZPzI_S ZPR32:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i32:$imm) |
| AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x07/z, $\xFF\x03\x13"; |
| break; |
| } |
| return false; |
| case AArch64::CSINCWr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).getReg() == AArch64::WZR && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) { |
| // (CSINCWr GPR32:$dst, WZR, WZR, inv_ccode:$cc) |
| AsmString = "cset $\x01, $\xFF\x04\x14"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg() && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) { |
| // (CSINCWr GPR32:$dst, GPR32:$src, GPR32:$src, inv_ccode:$cc) |
| AsmString = "cinc $\x01, $\x02, $\xFF\x04\x14"; |
| break; |
| } |
| return false; |
| case AArch64::CSINCXr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).getReg() == AArch64::XZR && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) { |
| // (CSINCXr GPR64:$dst, XZR, XZR, inv_ccode:$cc) |
| AsmString = "cset $\x01, $\xFF\x04\x14"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg() && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) { |
| // (CSINCXr GPR64:$dst, GPR64:$src, GPR64:$src, inv_ccode:$cc) |
| AsmString = "cinc $\x01, $\x02, $\xFF\x04\x14"; |
| break; |
| } |
| return false; |
| case AArch64::CSINVWr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).getReg() == AArch64::WZR && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) { |
| // (CSINVWr GPR32:$dst, WZR, WZR, inv_ccode:$cc) |
| AsmString = "csetm $\x01, $\xFF\x04\x14"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg() && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) { |
| // (CSINVWr GPR32:$dst, GPR32:$src, GPR32:$src, inv_ccode:$cc) |
| AsmString = "cinv $\x01, $\x02, $\xFF\x04\x14"; |
| break; |
| } |
| return false; |
| case AArch64::CSINVXr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).getReg() == AArch64::XZR && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) { |
| // (CSINVXr GPR64:$dst, XZR, XZR, inv_ccode:$cc) |
| AsmString = "csetm $\x01, $\xFF\x04\x14"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg() && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) { |
| // (CSINVXr GPR64:$dst, GPR64:$src, GPR64:$src, inv_ccode:$cc) |
| AsmString = "cinv $\x01, $\x02, $\xFF\x04\x14"; |
| break; |
| } |
| return false; |
| case AArch64::CSNEGWr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg() && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) { |
| // (CSNEGWr GPR32:$dst, GPR32:$src, GPR32:$src, inv_ccode:$cc) |
| AsmString = "cneg $\x01, $\x02, $\xFF\x04\x14"; |
| break; |
| } |
| return false; |
| case AArch64::CSNEGXr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg() && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) { |
| // (CSNEGXr GPR64:$dst, GPR64:$src, GPR64:$src, inv_ccode:$cc) |
| AsmString = "cneg $\x01, $\x02, $\xFF\x04\x14"; |
| break; |
| } |
| return false; |
| case AArch64::DCPS1: |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 0) { |
| // (DCPS1 0) |
| AsmString = "dcps1"; |
| break; |
| } |
| return false; |
| case AArch64::DCPS2: |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 0) { |
| // (DCPS2 0) |
| AsmString = "dcps2"; |
| break; |
| } |
| return false; |
| case AArch64::DCPS3: |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 0) { |
| // (DCPS3 0) |
| AsmString = "dcps3"; |
| break; |
| } |
| return false; |
| case AArch64::DECB_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECB_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "decb $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECB_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "decb $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::DECD_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECD_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "decd $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECD_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "decd $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::DECD_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "decd $\xFF\x01\x10"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "decd $\xFF\x01\x10, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::DECH_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECH_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "dech $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECH_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "dech $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::DECH_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "dech $\xFF\x01\x09"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "dech $\xFF\x01\x09, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::DECW_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECW_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "decw $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECW_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "decw $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::DECW_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "decw $\xFF\x01\x0B"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DECW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "decw $\xFF\x01\x0B, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::DUPM_ZI: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 5) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUPM_ZI ZPR16:$Zd, sve_preferred_logical_imm16:$imm) |
| AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x15"; |
| break; |
| } |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 6) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUPM_ZI ZPR32:$Zd, sve_preferred_logical_imm32:$imm) |
| AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x16"; |
| break; |
| } |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 7) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUPM_ZI ZPR64:$Zd, sve_preferred_logical_imm64:$imm) |
| AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x17"; |
| break; |
| } |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 1) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUPM_ZI ZPR8:$Zd, sve_logical_imm8:$imm) |
| AsmString = "dupm $\xFF\x01\x06, $\xFF\x02\x08"; |
| break; |
| } |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 2) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUPM_ZI ZPR16:$Zd, sve_logical_imm16:$imm) |
| AsmString = "dupm $\xFF\x01\x09, $\xFF\x02\x0A"; |
| break; |
| } |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 3) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUPM_ZI ZPR32:$Zd, sve_logical_imm32:$imm) |
| AsmString = "dupm $\xFF\x01\x0B, $\xFF\x02\x04"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZI_B: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZI_B ZPR8:$Zd, cpy_imm8_opt_lsl_i8:$imm) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x0F"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZI_D: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZI_D ZPR64:$Zd, cpy_imm8_opt_lsl_i64:$imm) |
| AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x11"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 0 && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZI_D ZPR64:$Zd, 0, 0) |
| AsmString = "fmov $\xFF\x01\x10, #0.0"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZI_H: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZI_H ZPR16:$Zd, cpy_imm8_opt_lsl_i16:$imm) |
| AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x12"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 0 && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZI_H ZPR16:$Zd, 0, 0) |
| AsmString = "fmov $\xFF\x01\x09, #0.0"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZI_S: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZI_S ZPR32:$Zd, cpy_imm8_opt_lsl_i32:$imm) |
| AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x13"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 0 && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZI_S ZPR32:$Zd, 0, 0) |
| AsmString = "fmov $\xFF\x01\x0B, #0.0"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZR_B: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZR_B ZPR8:$Zd, GPR32sp:$Rn) |
| AsmString = "mov $\xFF\x01\x06, $\x02"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZR_D: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZR_D ZPR64:$Zd, GPR64sp:$Rn) |
| AsmString = "mov $\xFF\x01\x10, $\x02"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZR_H: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZR_H ZPR16:$Zd, GPR32sp:$Rn) |
| AsmString = "mov $\xFF\x01\x09, $\x02"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZR_S: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZR_S ZPR32:$Zd, GPR32sp:$Rn) |
| AsmString = "mov $\xFF\x01\x0B, $\x02"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZZI_B: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZZI_B ZPR8:$Zd, FPR8asZPR:$Bn, 0) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x18"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZZI_B ZPR8:$Zd, ZPR8:$Zn, sve_elm_idx_extdup_b:$idx) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x06$\xFF\x03\x19"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZZI_D: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZZI_D ZPR64:$Zd, FPR64asZPR:$Dn, 0) |
| AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x1A"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZZI_D ZPR64:$Zd, ZPR64:$Zn, sve_elm_idx_extdup_d:$idx) |
| AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x10$\xFF\x03\x19"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZZI_H: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZZI_H ZPR16:$Zd, FPR16asZPR:$Hn, 0) |
| AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x1B"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZZI_H ZPR16:$Zd, ZPR16:$Zn, sve_elm_idx_extdup_h:$idx) |
| AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x09$\xFF\x03\x19"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZZI_Q: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZZI_Q ZPR128:$Zd, FPR128asZPR:$Qn, 0) |
| AsmString = "mov $\xFF\x01\x1C, $\xFF\x02\x1D"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZZI_Q ZPR128:$Zd, ZPR128:$Zn, sve_elm_idx_extdup_q:$idx) |
| AsmString = "mov $\xFF\x01\x1C, $\xFF\x02\x1C$\xFF\x03\x19"; |
| break; |
| } |
| return false; |
| case AArch64::DUP_ZZI_S: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZZI_S ZPR32:$Zd, FPR32asZPR:$Sn, 0) |
| AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x1E"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (DUP_ZZI_S ZPR32:$Zd, ZPR32:$Zn, sve_elm_idx_extdup_s:$idx) |
| AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x0B$\xFF\x03\x19"; |
| break; |
| } |
| return false; |
| case AArch64::EONWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (EONWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "eon $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::EONXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (EONXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "eon $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::EORS_PPzPP: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(1).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (EORS_PPzPP PPR8:$Pd, PPRAny:$Pg, PPR8:$Pn, PPRAny:$Pg) |
| AsmString = "nots $\xFF\x01\x06, $\xFF\x02\x07/z, $\xFF\x03\x06"; |
| break; |
| } |
| return false; |
| case AArch64::EORWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (EORWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "eor $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::EORXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (EORXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "eor $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::EOR_PPzPP: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(1).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (EOR_PPzPP PPR8:$Pd, PPRAny:$Pg, PPR8:$Pn, PPRAny:$Pg) |
| AsmString = "not $\xFF\x01\x06, $\xFF\x02\x07/z, $\xFF\x03\x06"; |
| break; |
| } |
| return false; |
| case AArch64::EOR_ZI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (EOR_ZI ZPR8:$Zdn, sve_logical_imm8:$imm) |
| AsmString = "eor $\xFF\x01\x06, $\xFF\x01\x06, $\xFF\x03\x08"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (EOR_ZI ZPR16:$Zdn, sve_logical_imm16:$imm) |
| AsmString = "eor $\xFF\x01\x09, $\xFF\x01\x09, $\xFF\x03\x0A"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (EOR_ZI ZPR32:$Zdn, sve_logical_imm32:$imm) |
| AsmString = "eor $\xFF\x01\x0B, $\xFF\x01\x0B, $\xFF\x03\x04"; |
| break; |
| } |
| return false; |
| case AArch64::EXTRWrri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) { |
| // (EXTRWrri GPR32:$dst, GPR32:$src, GPR32:$src, imm0_31:$shift) |
| AsmString = "ror $\x01, $\x02, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::EXTRXrri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) { |
| // (EXTRXrri GPR64:$dst, GPR64:$src, GPR64:$src, imm0_63:$shift) |
| AsmString = "ror $\x01, $\x02, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::FCPY_ZPmI_D: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (FCPY_ZPmI_D ZPR64:$Zd, PPRAny:$Pg, fpimm64:$imm8) |
| AsmString = "fmov $\xFF\x01\x10, $\xFF\x03\x07/m, $\xFF\x04\x1F"; |
| break; |
| } |
| return false; |
| case AArch64::FCPY_ZPmI_H: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (FCPY_ZPmI_H ZPR16:$Zd, PPRAny:$Pg, fpimm16:$imm8) |
| AsmString = "fmov $\xFF\x01\x09, $\xFF\x03\x07/m, $\xFF\x04\x1F"; |
| break; |
| } |
| return false; |
| case AArch64::FCPY_ZPmI_S: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (FCPY_ZPmI_S ZPR32:$Zd, PPRAny:$Pg, fpimm32:$imm8) |
| AsmString = "fmov $\xFF\x01\x0B, $\xFF\x03\x07/m, $\xFF\x04\x1F"; |
| break; |
| } |
| return false; |
| case AArch64::FDUP_ZI_D: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (FDUP_ZI_D ZPR64:$Zd, fpimm64:$imm8) |
| AsmString = "fmov $\xFF\x01\x10, $\xFF\x02\x1F"; |
| break; |
| } |
| return false; |
| case AArch64::FDUP_ZI_H: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (FDUP_ZI_H ZPR16:$Zd, fpimm16:$imm8) |
| AsmString = "fmov $\xFF\x01\x09, $\xFF\x02\x1F"; |
| break; |
| } |
| return false; |
| case AArch64::FDUP_ZI_S: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (FDUP_ZI_S ZPR32:$Zd, fpimm32:$imm8) |
| AsmString = "fmov $\xFF\x01\x0B, $\xFF\x02\x1F"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1B_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1B_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ld1b $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1B_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1B_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "ld1b $\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ld1d $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1H_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1H_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ld1h $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1H_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1H_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "ld1h $\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1SB_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1SB_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ld1sb $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1SB_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1SB_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "ld1sb $\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1SH_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1SH_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ld1sh $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1SH_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1SH_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "ld1sh $\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1SW_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1SW_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ld1sw $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1W_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1W_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ld1w $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLD1W_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLD1W_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "ld1w $\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1B_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1B_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ldff1b $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1B_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1B_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "ldff1b $\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ldff1d $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1H_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1H_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ldff1h $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1H_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1H_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "ldff1h $\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1SB_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1SB_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ldff1sb $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1SB_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1SB_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "ldff1sb $\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1SH_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1SH_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ldff1sh $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1SH_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1SH_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "ldff1sh $\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1SW_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1SW_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ldff1sw $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1W_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1W_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "ldff1w $\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::GLDFF1W_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (GLDFF1W_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "ldff1w $\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::HINT: |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 0) { |
| // (HINT { 0, 0, 0 }) |
| AsmString = "nop"; |
| break; |
| } |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 1) { |
| // (HINT { 0, 0, 1 }) |
| AsmString = "yield"; |
| break; |
| } |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 2) { |
| // (HINT { 0, 1, 0 }) |
| AsmString = "wfe"; |
| break; |
| } |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 3) { |
| // (HINT { 0, 1, 1 }) |
| AsmString = "wfi"; |
| break; |
| } |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 4) { |
| // (HINT { 1, 0, 0 }) |
| AsmString = "sev"; |
| break; |
| } |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 5) { |
| // (HINT { 1, 0, 1 }) |
| AsmString = "sevl"; |
| break; |
| } |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 16 && |
| STI.getFeatureBits()[AArch64::FeatureRAS]) { |
| // (HINT { 1, 0, 0, 0, 0 }) |
| AsmString = "esb"; |
| break; |
| } |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 20) { |
| // (HINT 20) |
| AsmString = "csdb"; |
| break; |
| } |
| if (MI->getNumOperands() == 1 && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(0), STI, 8) && |
| STI.getFeatureBits()[AArch64::FeatureSPE]) { |
| // (HINT psbhint_op:$op) |
| AsmString = "psb $\xFF\x01\x22"; |
| break; |
| } |
| return false; |
| case AArch64::INCB_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCB_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "incb $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCB_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "incb $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::INCD_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCD_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "incd $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCD_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "incd $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::INCD_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "incd $\xFF\x01\x10"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "incd $\xFF\x01\x10, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::INCH_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCH_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "inch $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCH_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "inch $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::INCH_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "inch $\xFF\x01\x09"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "inch $\xFF\x01\x09, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::INCW_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCW_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "incw $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCW_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "incw $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::INCW_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "incw $\xFF\x01\x0B"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (INCW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "incw $\xFF\x01\x0B, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::INSvi16gpr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (INSvi16gpr V128:$dst, VectorIndexH:$idx, GPR32:$src) |
| AsmString = "mov $\xFF\x01\x0C.h$\xFF\x03\x19, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::INSvi16lane: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (INSvi16lane V128:$dst, VectorIndexH:$idx, V128:$src, VectorIndexH:$idx2) |
| AsmString = "mov $\xFF\x01\x0C.h$\xFF\x03\x19, $\xFF\x04\x0C.h$\xFF\x05\x19"; |
| break; |
| } |
| return false; |
| case AArch64::INSvi32gpr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (INSvi32gpr V128:$dst, VectorIndexS:$idx, GPR32:$src) |
| AsmString = "mov $\xFF\x01\x0C.s$\xFF\x03\x19, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::INSvi32lane: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (INSvi32lane V128:$dst, VectorIndexS:$idx, V128:$src, VectorIndexS:$idx2) |
| AsmString = "mov $\xFF\x01\x0C.s$\xFF\x03\x19, $\xFF\x04\x0C.s$\xFF\x05\x19"; |
| break; |
| } |
| return false; |
| case AArch64::INSvi64gpr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (INSvi64gpr V128:$dst, VectorIndexD:$idx, GPR64:$src) |
| AsmString = "mov $\xFF\x01\x0C.d$\xFF\x03\x19, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::INSvi64lane: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (INSvi64lane V128:$dst, VectorIndexD:$idx, V128:$src, VectorIndexD:$idx2) |
| AsmString = "mov $\xFF\x01\x0C.d$\xFF\x03\x19, $\xFF\x04\x0C.d$\xFF\x05\x19"; |
| break; |
| } |
| return false; |
| case AArch64::INSvi8gpr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (INSvi8gpr V128:$dst, VectorIndexB:$idx, GPR32:$src) |
| AsmString = "mov $\xFF\x01\x0C.b$\xFF\x03\x19, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::INSvi8lane: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (INSvi8lane V128:$dst, VectorIndexB:$idx, V128:$src, VectorIndexB:$idx2) |
| AsmString = "mov $\xFF\x01\x0C.b$\xFF\x03\x19, $\xFF\x04\x0C.b$\xFF\x05\x19"; |
| break; |
| } |
| return false; |
| case AArch64::ISB: |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).isImm() && |
| MI->getOperand(0).getImm() == 15) { |
| // (ISB 15) |
| AsmString = "isb"; |
| break; |
| } |
| return false; |
| case AArch64::LD1B_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1B_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1b $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1B_H_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1B_H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1b $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1B_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1B_IMM_REAL Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1b $\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1B_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1B_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1b $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1d $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Fourv16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x25, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Fourv1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Fourv1d_POST GPR64sp:$Rn, VecListFour1d:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x26, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Fourv2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x27, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Fourv2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x28, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Fourv4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x29, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Fourv4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2A, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Fourv8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2B, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Fourv8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2C, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::LD1H_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1H_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1h $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1H_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1h $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1H_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1H_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1h $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Onev16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Onev16b_POST GPR64sp:$Rn, VecListOne16b:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x25, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Onev1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Onev1d_POST GPR64sp:$Rn, VecListOne1d:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x26, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Onev2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Onev2d_POST GPR64sp:$Rn, VecListOne2d:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x27, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Onev2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Onev2s_POST GPR64sp:$Rn, VecListOne2s:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x28, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Onev4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Onev4h_POST GPR64sp:$Rn, VecListOne4h:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x29, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Onev4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Onev4s_POST GPR64sp:$Rn, VecListOne4s:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2A, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Onev8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Onev8b_POST GPR64sp:$Rn, VecListOne8b:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2B, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Onev8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Onev8h_POST GPR64sp:$Rn, VecListOne8h:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2C, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RB_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RB_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rb $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RB_H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RB_H_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rb $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RB_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RB_IMM Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rb $\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RB_S_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RB_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rb $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RD_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RD_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rd $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RH_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RH_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rh $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RH_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RH_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rh $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RH_S_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RH_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rh $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RQ_B_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RQ_B_IMM Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rqb $\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RQ_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RQ_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rqd $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RQ_H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RQ_H_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rqh $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RQ_W_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RQ_W_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rqw $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RSB_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RSB_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rsb $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RSB_H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RSB_H_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rsb $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RSB_S_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RSB_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rsb $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RSH_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RSH_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rsh $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RSH_S_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RSH_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rsh $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RSW_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RSW_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rsw $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RW_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RW_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rw $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1RW_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1RW_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1rw $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Rv16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Rv16b_POST GPR64sp:$Rn, VecListOne16b:$Vt, XZR) |
| AsmString = "ld1r $\xFF\x02\x25, [$\x01], #1"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Rv1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Rv1d_POST GPR64sp:$Rn, VecListOne1d:$Vt, XZR) |
| AsmString = "ld1r $\xFF\x02\x26, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Rv2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Rv2d_POST GPR64sp:$Rn, VecListOne2d:$Vt, XZR) |
| AsmString = "ld1r $\xFF\x02\x27, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Rv2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Rv2s_POST GPR64sp:$Rn, VecListOne2s:$Vt, XZR) |
| AsmString = "ld1r $\xFF\x02\x28, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Rv4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Rv4h_POST GPR64sp:$Rn, VecListOne4h:$Vt, XZR) |
| AsmString = "ld1r $\xFF\x02\x29, [$\x01], #2"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Rv4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Rv4s_POST GPR64sp:$Rn, VecListOne4s:$Vt, XZR) |
| AsmString = "ld1r $\xFF\x02\x2A, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Rv8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Rv8b_POST GPR64sp:$Rn, VecListOne8b:$Vt, XZR) |
| AsmString = "ld1r $\xFF\x02\x2B, [$\x01], #1"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Rv8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Rv8h_POST GPR64sp:$Rn, VecListOne8h:$Vt, XZR) |
| AsmString = "ld1r $\xFF\x02\x2C, [$\x01], #2"; |
| break; |
| } |
| return false; |
| case AArch64::LD1SB_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1SB_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1sb $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1SB_H_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1SB_H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1sb $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1SB_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1SB_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1sb $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1SH_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1SH_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1sh $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1SH_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1SH_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1sh $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1SW_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1SW_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1sw $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Threev16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x25, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Threev1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Threev1d_POST GPR64sp:$Rn, VecListThree1d:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x26, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Threev2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x27, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Threev2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x28, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Threev4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x29, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Threev4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2A, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Threev8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2B, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Threev8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2C, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Twov16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x25, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Twov1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Twov1d_POST GPR64sp:$Rn, VecListTwo1d:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x26, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Twov2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x27, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Twov2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x28, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Twov4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x29, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Twov4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2A, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Twov8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2B, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD1Twov8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR) |
| AsmString = "ld1 $\xFF\x02\x2C, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD1W_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1W_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1w $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1W_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD1W_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld1w $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD1i16_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1i16_POST GPR64sp:$Rn, VecListOneh:$Vt, VectorIndexH:$idx, XZR) |
| AsmString = "ld1 $\xFF\x02\x2D$\xFF\x04\x19, [$\x01], #2"; |
| break; |
| } |
| return false; |
| case AArch64::LD1i32_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1i32_POST GPR64sp:$Rn, VecListOnes:$Vt, VectorIndexS:$idx, XZR) |
| AsmString = "ld1 $\xFF\x02\x2E$\xFF\x04\x19, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::LD1i64_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1i64_POST GPR64sp:$Rn, VecListOned:$Vt, VectorIndexD:$idx, XZR) |
| AsmString = "ld1 $\xFF\x02\x2F$\xFF\x04\x19, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD1i8_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD1i8_POST GPR64sp:$Rn, VecListOneb:$Vt, VectorIndexB:$idx, XZR) |
| AsmString = "ld1 $\xFF\x02\x30$\xFF\x04\x19, [$\x01], #1"; |
| break; |
| } |
| return false; |
| case AArch64::LD2B_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD2B_IMM ZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld2b $\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD2D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD2D_IMM ZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld2d $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD2H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD2H_IMM ZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld2h $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Rv16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Rv16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR) |
| AsmString = "ld2r $\xFF\x02\x25, [$\x01], #2"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Rv1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Rv1d_POST GPR64sp:$Rn, VecListTwo1d:$Vt, XZR) |
| AsmString = "ld2r $\xFF\x02\x26, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Rv2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Rv2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR) |
| AsmString = "ld2r $\xFF\x02\x27, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Rv2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Rv2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR) |
| AsmString = "ld2r $\xFF\x02\x28, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Rv4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Rv4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR) |
| AsmString = "ld2r $\xFF\x02\x29, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Rv4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Rv4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR) |
| AsmString = "ld2r $\xFF\x02\x2A, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Rv8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Rv8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR) |
| AsmString = "ld2r $\xFF\x02\x2B, [$\x01], #2"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Rv8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Rv8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR) |
| AsmString = "ld2r $\xFF\x02\x2C, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Twov16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR) |
| AsmString = "ld2 $\xFF\x02\x25, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Twov2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR) |
| AsmString = "ld2 $\xFF\x02\x27, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Twov2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR) |
| AsmString = "ld2 $\xFF\x02\x28, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Twov4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR) |
| AsmString = "ld2 $\xFF\x02\x29, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Twov4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR) |
| AsmString = "ld2 $\xFF\x02\x2A, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Twov8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR) |
| AsmString = "ld2 $\xFF\x02\x2B, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD2Twov8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR) |
| AsmString = "ld2 $\xFF\x02\x2C, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD2W_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD2W_IMM ZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld2w $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD2i16_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2i16_POST GPR64sp:$Rn, VecListTwoh:$Vt, VectorIndexH:$idx, XZR) |
| AsmString = "ld2 $\xFF\x02\x2D$\xFF\x04\x19, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::LD2i32_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2i32_POST GPR64sp:$Rn, VecListTwos:$Vt, VectorIndexS:$idx, XZR) |
| AsmString = "ld2 $\xFF\x02\x2E$\xFF\x04\x19, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD2i64_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2i64_POST GPR64sp:$Rn, VecListTwod:$Vt, VectorIndexD:$idx, XZR) |
| AsmString = "ld2 $\xFF\x02\x2F$\xFF\x04\x19, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD2i8_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD2i8_POST GPR64sp:$Rn, VecListTwob:$Vt, VectorIndexB:$idx, XZR) |
| AsmString = "ld2 $\xFF\x02\x30$\xFF\x04\x19, [$\x01], #2"; |
| break; |
| } |
| return false; |
| case AArch64::LD3B_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD3B_IMM ZZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld3b $\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD3D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD3D_IMM ZZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld3d $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD3H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD3H_IMM ZZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld3h $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Rv16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Rv16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR) |
| AsmString = "ld3r $\xFF\x02\x25, [$\x01], #3"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Rv1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Rv1d_POST GPR64sp:$Rn, VecListThree1d:$Vt, XZR) |
| AsmString = "ld3r $\xFF\x02\x26, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Rv2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Rv2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR) |
| AsmString = "ld3r $\xFF\x02\x27, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Rv2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Rv2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR) |
| AsmString = "ld3r $\xFF\x02\x28, [$\x01], #12"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Rv4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Rv4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR) |
| AsmString = "ld3r $\xFF\x02\x29, [$\x01], #6"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Rv4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Rv4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR) |
| AsmString = "ld3r $\xFF\x02\x2A, [$\x01], #12"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Rv8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Rv8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR) |
| AsmString = "ld3r $\xFF\x02\x2B, [$\x01], #3"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Rv8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Rv8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR) |
| AsmString = "ld3r $\xFF\x02\x2C, [$\x01], #6"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Threev16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR) |
| AsmString = "ld3 $\xFF\x02\x25, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Threev2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR) |
| AsmString = "ld3 $\xFF\x02\x27, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Threev2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR) |
| AsmString = "ld3 $\xFF\x02\x28, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Threev4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR) |
| AsmString = "ld3 $\xFF\x02\x29, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Threev4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR) |
| AsmString = "ld3 $\xFF\x02\x2A, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Threev8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR) |
| AsmString = "ld3 $\xFF\x02\x2B, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::LD3Threev8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR) |
| AsmString = "ld3 $\xFF\x02\x2C, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::LD3W_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD3W_IMM ZZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld3w $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD3i16_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3i16_POST GPR64sp:$Rn, VecListThreeh:$Vt, VectorIndexH:$idx, XZR) |
| AsmString = "ld3 $\xFF\x02\x2D$\xFF\x04\x19, [$\x01], #6"; |
| break; |
| } |
| return false; |
| case AArch64::LD3i32_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3i32_POST GPR64sp:$Rn, VecListThrees:$Vt, VectorIndexS:$idx, XZR) |
| AsmString = "ld3 $\xFF\x02\x2E$\xFF\x04\x19, [$\x01], #12"; |
| break; |
| } |
| return false; |
| case AArch64::LD3i64_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3i64_POST GPR64sp:$Rn, VecListThreed:$Vt, VectorIndexD:$idx, XZR) |
| AsmString = "ld3 $\xFF\x02\x2F$\xFF\x04\x19, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::LD3i8_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD3i8_POST GPR64sp:$Rn, VecListThreeb:$Vt, VectorIndexB:$idx, XZR) |
| AsmString = "ld3 $\xFF\x02\x30$\xFF\x04\x19, [$\x01], #3"; |
| break; |
| } |
| return false; |
| case AArch64::LD4B_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD4B_IMM ZZZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld4b $\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD4D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD4D_IMM ZZZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld4d $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Fourv16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR) |
| AsmString = "ld4 $\xFF\x02\x25, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Fourv2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR) |
| AsmString = "ld4 $\xFF\x02\x27, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Fourv2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR) |
| AsmString = "ld4 $\xFF\x02\x28, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Fourv4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR) |
| AsmString = "ld4 $\xFF\x02\x29, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Fourv4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR) |
| AsmString = "ld4 $\xFF\x02\x2A, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Fourv8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR) |
| AsmString = "ld4 $\xFF\x02\x2B, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Fourv8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR) |
| AsmString = "ld4 $\xFF\x02\x2C, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::LD4H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD4H_IMM ZZZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld4h $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Rv16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Rv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR) |
| AsmString = "ld4r $\xFF\x02\x25, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Rv1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Rv1d_POST GPR64sp:$Rn, VecListFour1d:$Vt, XZR) |
| AsmString = "ld4r $\xFF\x02\x26, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Rv2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Rv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR) |
| AsmString = "ld4r $\xFF\x02\x27, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Rv2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Rv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR) |
| AsmString = "ld4r $\xFF\x02\x28, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Rv4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Rv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR) |
| AsmString = "ld4r $\xFF\x02\x29, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Rv4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Rv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR) |
| AsmString = "ld4r $\xFF\x02\x2A, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Rv8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Rv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR) |
| AsmString = "ld4r $\xFF\x02\x2B, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::LD4Rv8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4Rv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR) |
| AsmString = "ld4r $\xFF\x02\x2C, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD4W_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LD4W_IMM ZZZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ld4w $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LD4i16_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4i16_POST GPR64sp:$Rn, VecListFourh:$Vt, VectorIndexH:$idx, XZR) |
| AsmString = "ld4 $\xFF\x02\x2D$\xFF\x04\x19, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::LD4i32_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4i32_POST GPR64sp:$Rn, VecListFours:$Vt, VectorIndexS:$idx, XZR) |
| AsmString = "ld4 $\xFF\x02\x2E$\xFF\x04\x19, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::LD4i64_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4i64_POST GPR64sp:$Rn, VecListFourd:$Vt, VectorIndexD:$idx, XZR) |
| AsmString = "ld4 $\xFF\x02\x2F$\xFF\x04\x19, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::LD4i8_POST: |
| if (MI->getNumOperands() == 6 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(5).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (LD4i8_POST GPR64sp:$Rn, VecListFourb:$Vt, VectorIndexB:$idx, XZR) |
| AsmString = "ld4 $\xFF\x02\x30$\xFF\x04\x19, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::LDADDB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDADDB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "staddb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDADDH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDADDH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "staddh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDADDLB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDADDLB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "staddlb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDADDLH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDADDLH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "staddlh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDADDLW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDADDLW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "staddl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDADDLX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDADDLX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "staddl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDADDW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDADDW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stadd $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDADDX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDADDX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stadd $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDAPURBi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (LDAPURBi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldapurb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDAPURHi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (LDAPURHi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldapurh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDAPURSBWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (LDAPURSBWi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldapursb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDAPURSBXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (LDAPURSBXi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldapursb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDAPURSHWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (LDAPURSHWi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldapursh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDAPURSHXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (LDAPURSHXi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldapursh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDAPURSWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (LDAPURSWi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldapursw $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDAPURXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (LDAPURXi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldapur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDAPURi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (LDAPURi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldapur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDCLRB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDCLRB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stclrb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDCLRH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDCLRH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stclrh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDCLRLB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDCLRLB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stclrlb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDCLRLH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDCLRLH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stclrlh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDCLRLW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDCLRLW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stclrl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDCLRLX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDCLRLX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stclrl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDCLRW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDCLRW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stclr $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDCLRX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDCLRX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stclr $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDEORB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDEORB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "steorb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDEORH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDEORH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "steorh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDEORLB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDEORLB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "steorlb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDEORLH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDEORLH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "steorlh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDEORLW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDEORLW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "steorl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDEORLX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDEORLX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "steorl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDEORW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDEORW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "steor $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDEORX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDEORX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "steor $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1B_D_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1B_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1b $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1B_H_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1B_H_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1b $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1B_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1B_REAL Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1b $\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1B_S_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1B_S_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1b $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1D_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1d $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1H_D_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1H_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1h $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1H_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1H_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1h $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1H_S_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1H_S_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1h $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1SB_D_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1SB_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1sb $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1SB_H_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1SB_H_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1sb $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1SB_S_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1SB_S_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1sb $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1SH_D_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1SH_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1sh $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1SH_S_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1SH_S_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1sh $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1SW_D_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1SW_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1sw $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1W_D_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1W_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1w $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDFF1W_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDFF1W_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR) |
| AsmString = "ldff1w $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1B_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1B_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1b $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1B_H_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1B_H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1b $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1B_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1B_IMM_REAL Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1b $\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1B_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1B_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1b $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1d $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1H_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1H_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1h $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1H_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1h $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1H_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1H_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1h $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1SB_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1SB_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1sb $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1SB_H_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1SB_H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1sb $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1SB_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1SB_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1sb $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1SH_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1SH_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1sh $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1SH_S_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1SH_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1sh $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1SW_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1SW_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1sw $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1W_D_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1W_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1w $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNF1W_IMM_REAL: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNF1W_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnf1w $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNPDi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDNPDi FPR64Op:$Rt, FPR64Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldnp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNPQi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDNPQi FPR128Op:$Rt, FPR128Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldnp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNPSi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDNPSi FPR32Op:$Rt, FPR32Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldnp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNPWi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDNPWi GPR32z:$Rt, GPR32z:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldnp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNPXi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDNPXi GPR64z:$Rt, GPR64z:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldnp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNT1B_ZRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNT1B_ZRI Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnt1b $\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNT1D_ZRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNT1D_ZRI Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnt1d $\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNT1H_ZRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNT1H_ZRI Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnt1h $\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDNT1W_ZRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDNT1W_ZRI Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "ldnt1w $\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDPDi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDPDi FPR64Op:$Rt, FPR64Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDPQi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDPQi FPR128Op:$Rt, FPR128Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDPSWi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDPSWi GPR64z:$Rt, GPR64z:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldpsw $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDPSi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDPSi FPR32Op:$Rt, FPR32Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDPWi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDPWi GPR32z:$Rt, GPR32z:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDPXi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (LDPXi GPR64z:$Rt, GPR64z:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "ldp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRAAindexed: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_3aOps]) { |
| // (LDRAAindexed GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldraa $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRABindexed: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_3aOps]) { |
| // (LDRABindexed GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldrab $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRBBroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRBBroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldrb $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRBBui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRBBui GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldrb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRBroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRBroX FPR8Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldr $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRBui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRBui FPR8Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRDroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRDroX FPR64Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldr $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRDui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRDui FPR64Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRHHroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRHHroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldrh $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRHHui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRHHui GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldrh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRHroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRHroX FPR16Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldr $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRHui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRHui FPR16Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRQroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRQroX FPR128Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldr $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRQui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRQui FPR128Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSBWroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRSBWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldrsb $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSBWui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRSBWui GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldrsb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSBXroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRSBXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldrsb $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSBXui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRSBXui GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldrsb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSHWroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRSHWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldrsh $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSHWui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRSHWui GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldrsh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSHXroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRSHXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldrsh $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSHXui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRSHXui GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldrsh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSWroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRSWroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldrsw $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSWui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRSWui GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldrsw $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRSroX FPR32Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldr $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRSui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRSui FPR32Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRWroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldr $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRWui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRWui GPR32z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRXroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (LDRXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "ldr $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDRXui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDRXui GPR64z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDR_PXI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDR_PXI PPRAny:$Pt, GPR64sp:$Rn, 0) |
| AsmString = "ldr $\xFF\x01\x07, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDR_ZXI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (LDR_ZXI ZPRAny:$Zt, GPR64sp:$Rn, 0) |
| AsmString = "ldr $\xFF\x01\x07, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSETB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSETB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsetb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSETH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSETH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stseth $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSETLB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSETLB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsetlb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSETLH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSETLH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsetlh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSETLW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSETLW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsetl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSETLX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSETLX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stsetl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSETW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSETW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stset $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSETX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSETX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stset $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMAXB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMAXB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsmaxb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMAXH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMAXH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsmaxh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMAXLB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMAXLB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsmaxlb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMAXLH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMAXLH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsmaxlh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMAXLW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMAXLW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsmaxl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMAXLX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMAXLX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stsmaxl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMAXW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMAXW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsmax $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMAXX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMAXX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stsmax $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMINB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMINB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsminb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMINH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMINH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsminh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMINLB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMINLB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsminlb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMINLH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMINLH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsminlh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMINLW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMINLW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsminl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMINLX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMINLX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stsminl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMINW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMINW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stsmin $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDSMINX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDSMINX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stsmin $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDTRBi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDTRBi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldtrb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDTRHi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDTRHi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldtrh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDTRSBWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDTRSBWi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldtrsb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDTRSBXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDTRSBXi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldtrsb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDTRSHWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDTRSHWi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldtrsh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDTRSHXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDTRSHXi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldtrsh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDTRSWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDTRSWi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldtrsw $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDTRWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDTRWi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldtr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDTRXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDTRXi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldtr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMAXB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMAXB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stumaxb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMAXH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMAXH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stumaxh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMAXLB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMAXLB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stumaxlb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMAXLH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMAXLH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stumaxlh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMAXLW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMAXLW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stumaxl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMAXLX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMAXLX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stumaxl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMAXW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMAXW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stumax $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMAXX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMAXX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stumax $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMINB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMINB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stuminb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMINH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMINH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stuminh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMINLB: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMINLB WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stuminlb $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMINLH: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMINLH WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stuminlh $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMINLW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMINLW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stuminl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMINLX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMINLX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stuminl $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMINW: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMINW WZR, GPR32:$Rs, GPR64sp:$Rn) |
| AsmString = "stumin $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDUMINX: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureLSE]) { |
| // (LDUMINX XZR, GPR64:$Rs, GPR64sp:$Rn) |
| AsmString = "stumin $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURBBi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURBBi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldurb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURBi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURBi FPR8Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURDi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURDi FPR64Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURHHi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURHHi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldurh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURHi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURHi FPR16Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURQi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURQi FPR128Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURSBWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURSBWi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldursb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURSBXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURSBXi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldursb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURSHWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURSHWi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldursh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURSHXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURSHXi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldursh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURSWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURSWi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldursw $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURSi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURSi FPR32Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURWi GPR32z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::LDURXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (LDURXi GPR64z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "ldur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::MADDWrrr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::WZR) { |
| // (MADDWrrr GPR32:$dst, GPR32:$src1, GPR32:$src2, WZR) |
| AsmString = "mul $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::MADDXrrr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR) { |
| // (MADDXrrr GPR64:$dst, GPR64:$src1, GPR64:$src2, XZR) |
| AsmString = "mul $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::MSUBWrrr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::WZR) { |
| // (MSUBWrrr GPR32:$dst, GPR32:$src1, GPR32:$src2, WZR) |
| AsmString = "mneg $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::MSUBXrrr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR) { |
| // (MSUBXrrr GPR64:$dst, GPR64:$src1, GPR64:$src2, XZR) |
| AsmString = "mneg $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::NOTv16i8: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg())) { |
| // (NOTv16i8 V128:$Vd, V128:$Vn) |
| AsmString = "mvn $\xFF\x01\x0C.16b, $\xFF\x02\x0C.16b"; |
| break; |
| } |
| return false; |
| case AArch64::NOTv8i8: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg())) { |
| // (NOTv8i8 V64:$Vd, V64:$Vn) |
| AsmString = "mvn $\xFF\x01\x0C.8b, $\xFF\x02\x0C.8b"; |
| break; |
| } |
| return false; |
| case AArch64::ORNWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ORNWrs GPR32:$Wd, WZR, GPR32:$Wm, 0) |
| AsmString = "mvn $\x01, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (ORNWrs GPR32:$Wd, WZR, GPR32:$Wm, logical_shift32:$sh) |
| AsmString = "mvn $\x01, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ORNWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "orn $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ORNXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ORNXrs GPR64:$Xd, XZR, GPR64:$Xm, 0) |
| AsmString = "mvn $\x01, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (ORNXrs GPR64:$Xd, XZR, GPR64:$Xm, logical_shift64:$sh) |
| AsmString = "mvn $\x01, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ORNXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "orn $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ORRS_PPzPP: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg() && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(1).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ORRS_PPzPP PPR8:$Pd, PPR8:$Pn, PPR8:$Pn, PPR8:$Pn) |
| AsmString = "movs $\xFF\x01\x06, $\xFF\x02\x06"; |
| break; |
| } |
| return false; |
| case AArch64::ORRWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ORRWrs GPR32:$dst, WZR, GPR32:$src, 0) |
| AsmString = "mov $\x01, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ORRWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "orr $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ORRXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ORRXrs GPR64:$dst, XZR, GPR64:$src, 0) |
| AsmString = "mov $\x01, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (ORRXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "orr $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::ORR_PPzPP: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg() && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(1).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ORR_PPzPP PPR8:$Pd, PPR8:$Pn, PPR8:$Pn, PPR8:$Pn) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x06"; |
| break; |
| } |
| return false; |
| case AArch64::ORR_ZI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ORR_ZI ZPR8:$Zdn, sve_logical_imm8:$imm) |
| AsmString = "orr $\xFF\x01\x06, $\xFF\x01\x06, $\xFF\x03\x08"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ORR_ZI ZPR16:$Zdn, sve_logical_imm16:$imm) |
| AsmString = "orr $\xFF\x01\x09, $\xFF\x01\x09, $\xFF\x03\x0A"; |
| break; |
| } |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ORR_ZI ZPR32:$Zdn, sve_logical_imm32:$imm) |
| AsmString = "orr $\xFF\x01\x0B, $\xFF\x01\x0B, $\xFF\x03\x04"; |
| break; |
| } |
| return false; |
| case AArch64::ORR_ZZZ: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ORR_ZZZ ZPR64:$Zd, ZPR64:$Zn, ZPR64:$Zn) |
| AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x10"; |
| break; |
| } |
| return false; |
| case AArch64::ORRv16i8: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) { |
| // (ORRv16i8 V128:$dst, V128:$src, V128:$src) |
| AsmString = "mov $\xFF\x01\x0C.16b, $\xFF\x02\x0C.16b"; |
| break; |
| } |
| return false; |
| case AArch64::ORRv8i8: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) { |
| // (ORRv8i8 V64:$dst, V64:$src, V64:$src) |
| AsmString = "mov $\xFF\x01\x0C.8b, $\xFF\x02\x0C.8b"; |
| break; |
| } |
| return false; |
| case AArch64::PRFB_D_PZI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFB_D_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "prfb $\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFB_PRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFB_PRI sve_prfop:$prfop, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "prfb $\xFF\x01\x32, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFB_S_PZI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFB_S_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "prfb $\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFD_D_PZI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFD_D_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "prfd $\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFD_PRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFD_PRI sve_prfop:$prfop, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "prfd $\xFF\x01\x32, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFD_S_PZI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFD_S_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "prfd $\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFH_D_PZI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFH_D_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "prfh $\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFH_PRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFH_PRI sve_prfop:$prfop, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "prfh $\xFF\x01\x32, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFH_S_PZI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFH_S_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "prfh $\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFMroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (PRFMroX prfop:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "prfm $\xFF\x01\x33, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFMui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (PRFMui prfop:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "prfm $\xFF\x01\x33, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFUMi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (PRFUMi prfop:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "prfum $\xFF\x01\x33, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFW_D_PZI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFW_D_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "prfw $\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFW_PRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFW_PRI sve_prfop:$prfop, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "prfw $\xFF\x01\x32, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::PRFW_S_PZI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PRFW_S_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "prfw $\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::PTRUES_B: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PTRUES_B PPR8:$Pd, { 1, 1, 1, 1, 1 }) |
| AsmString = "ptrues $\xFF\x01\x06"; |
| break; |
| } |
| return false; |
| case AArch64::PTRUES_D: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PTRUES_D PPR64:$Pd, { 1, 1, 1, 1, 1 }) |
| AsmString = "ptrues $\xFF\x01\x10"; |
| break; |
| } |
| return false; |
| case AArch64::PTRUES_H: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PTRUES_H PPR16:$Pd, { 1, 1, 1, 1, 1 }) |
| AsmString = "ptrues $\xFF\x01\x09"; |
| break; |
| } |
| return false; |
| case AArch64::PTRUES_S: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PTRUES_S PPR32:$Pd, { 1, 1, 1, 1, 1 }) |
| AsmString = "ptrues $\xFF\x01\x0B"; |
| break; |
| } |
| return false; |
| case AArch64::PTRUE_B: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PTRUE_B PPR8:$Pd, { 1, 1, 1, 1, 1 }) |
| AsmString = "ptrue $\xFF\x01\x06"; |
| break; |
| } |
| return false; |
| case AArch64::PTRUE_D: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PTRUE_D PPR64:$Pd, { 1, 1, 1, 1, 1 }) |
| AsmString = "ptrue $\xFF\x01\x10"; |
| break; |
| } |
| return false; |
| case AArch64::PTRUE_H: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PTRUE_H PPR16:$Pd, { 1, 1, 1, 1, 1 }) |
| AsmString = "ptrue $\xFF\x01\x09"; |
| break; |
| } |
| return false; |
| case AArch64::PTRUE_S: |
| if (MI->getNumOperands() == 2 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isImm() && |
| MI->getOperand(1).getImm() == 31 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (PTRUE_S PPR32:$Pd, { 1, 1, 1, 1, 1 }) |
| AsmString = "ptrue $\xFF\x01\x0B"; |
| break; |
| } |
| return false; |
| case AArch64::RET: |
| if (MI->getNumOperands() == 1 && |
| MI->getOperand(0).getReg() == AArch64::LR) { |
| // (RET LR) |
| AsmString = "ret"; |
| break; |
| } |
| return false; |
| case AArch64::SBCSWr: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SBCSWr GPR32:$dst, WZR, GPR32:$src) |
| AsmString = "ngcs $\x01, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SBCSXr: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SBCSXr GPR64:$dst, XZR, GPR64:$src) |
| AsmString = "ngcs $\x01, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SBCWr: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SBCWr GPR32:$dst, WZR, GPR32:$src) |
| AsmString = "ngc $\x01, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SBCXr: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SBCXr GPR64:$dst, XZR, GPR64:$src) |
| AsmString = "ngc $\x01, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SBFMWri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 31) { |
| // (SBFMWri GPR32:$dst, GPR32:$src, imm0_31:$shift, 31) |
| AsmString = "asr $\x01, $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 7) { |
| // (SBFMWri GPR32:$dst, GPR32:$src, 0, 7) |
| AsmString = "sxtb $\x01, $\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 15) { |
| // (SBFMWri GPR32:$dst, GPR32:$src, 0, 15) |
| AsmString = "sxth $\x01, $\x02"; |
| break; |
| } |
| return false; |
| case AArch64::SBFMXri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 63) { |
| // (SBFMXri GPR64:$dst, GPR64:$src, imm0_63:$shift, 63) |
| AsmString = "asr $\x01, $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 7) { |
| // (SBFMXri GPR64:$dst, GPR64:$src, 0, 7) |
| AsmString = "sxtb $\x01, $\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 15) { |
| // (SBFMXri GPR64:$dst, GPR64:$src, 0, 15) |
| AsmString = "sxth $\x01, $\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 31) { |
| // (SBFMXri GPR64:$dst, GPR64:$src, 0, 31) |
| AsmString = "sxtw $\x01, $\x02"; |
| break; |
| } |
| return false; |
| case AArch64::SEL_PPPP: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(0).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SEL_PPPP PPR8:$Pd, PPRAny:$Pg, PPR8:$Pn, PPR8:$Pd) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x07/m, $\xFF\x03\x06"; |
| break; |
| } |
| return false; |
| case AArch64::SEL_ZPZZ_B: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(0).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SEL_ZPZZ_B ZPR8:$Zd, PPRAny:$Pg, ZPR8:$Zn, ZPR8:$Zd) |
| AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x07/m, $\xFF\x03\x06"; |
| break; |
| } |
| return false; |
| case AArch64::SEL_ZPZZ_D: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(0).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SEL_ZPZZ_D ZPR64:$Zd, PPRAny:$Pg, ZPR64:$Zn, ZPR64:$Zd) |
| AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x07/m, $\xFF\x03\x10"; |
| break; |
| } |
| return false; |
| case AArch64::SEL_ZPZZ_H: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(0).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SEL_ZPZZ_H ZPR16:$Zd, PPRAny:$Pg, ZPR16:$Zn, ZPR16:$Zd) |
| AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x07/m, $\xFF\x03\x09"; |
| break; |
| } |
| return false; |
| case AArch64::SEL_ZPZZ_S: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isReg() && |
| MI->getOperand(3).getReg() == MI->getOperand(0).getReg() && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SEL_ZPZZ_S ZPR32:$Zd, PPRAny:$Pg, ZPR32:$Zn, ZPR32:$Zd) |
| AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x07/m, $\xFF\x03\x0B"; |
| break; |
| } |
| return false; |
| case AArch64::SMADDLrrr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR) { |
| // (SMADDLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR) |
| AsmString = "smull $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SMSUBLrrr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR) { |
| // (SMSUBLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR) |
| AsmString = "smnegl $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECB_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECB_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdecb $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECB_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdecb $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECB_XPiWdI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECB_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdecb $\x01, $\xFF\x02\x34"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECB_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdecb $\x01, $\xFF\x02\x34, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECD_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECD_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdecd $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECD_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdecd $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECD_XPiWdI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECD_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdecd $\x01, $\xFF\x02\x34"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECD_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdecd $\x01, $\xFF\x02\x34, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECD_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdecd $\xFF\x01\x10"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdecd $\xFF\x01\x10, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECH_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECH_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdech $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECH_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdech $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECH_XPiWdI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECH_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdech $\x01, $\xFF\x02\x34"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECH_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdech $\x01, $\xFF\x02\x34, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECH_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdech $\xFF\x01\x09"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdech $\xFF\x01\x09, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECW_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECW_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdecw $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECW_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdecw $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECW_XPiWdI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECW_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdecw $\x01, $\xFF\x02\x34"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECW_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdecw $\x01, $\xFF\x02\x34, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQDECW_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqdecw $\xFF\x01\x0B"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQDECW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqdecw $\xFF\x01\x0B, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCB_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCB_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqincb $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCB_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqincb $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCB_XPiWdI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCB_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqincb $\x01, $\xFF\x02\x34"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCB_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqincb $\x01, $\xFF\x02\x34, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCD_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCD_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqincd $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCD_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqincd $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCD_XPiWdI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCD_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqincd $\x01, $\xFF\x02\x34"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCD_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqincd $\x01, $\xFF\x02\x34, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCD_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqincd $\xFF\x01\x10"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqincd $\xFF\x01\x10, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCH_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCH_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqinch $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCH_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqinch $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCH_XPiWdI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCH_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqinch $\x01, $\xFF\x02\x34"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCH_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqinch $\x01, $\xFF\x02\x34, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCH_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqinch $\xFF\x01\x09"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqinch $\xFF\x01\x09, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCW_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCW_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqincw $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCW_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqincw $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCW_XPiWdI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCW_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqincw $\x01, $\xFF\x02\x34"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCW_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqincw $\x01, $\xFF\x02\x34, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SQINCW_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "sqincw $\xFF\x01\x0B"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SQINCW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "sqincw $\xFF\x01\x0B, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::SST1B_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SST1B_D_IMM Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "st1b $\xFF\x01\x20, $\xFF\x02\x07, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::SST1B_S_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SST1B_S_IMM Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "st1b $\xFF\x01\x21, $\xFF\x02\x07, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::SST1D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SST1D_IMM Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "st1d $\xFF\x01\x20, $\xFF\x02\x07, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::SST1H_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SST1H_D_IMM Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "st1h $\xFF\x01\x20, $\xFF\x02\x07, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::SST1H_S_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SST1H_S_IMM Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "st1h $\xFF\x01\x21, $\xFF\x02\x07, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::SST1W_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SST1W_D_IMM Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0) |
| AsmString = "st1w $\xFF\x01\x20, $\xFF\x02\x07, [$\xFF\x03\x10]"; |
| break; |
| } |
| return false; |
| case AArch64::SST1W_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (SST1W_IMM Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0) |
| AsmString = "st1w $\xFF\x01\x21, $\xFF\x02\x07, [$\xFF\x03\x0B]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1B_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST1B_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st1b $\xFF\x01\x20, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1B_H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST1B_H_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st1b $\xFF\x01\x23, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1B_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST1B_IMM Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st1b $\xFF\x01\x24, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1B_S_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST1B_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st1b $\xFF\x01\x21, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST1D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st1d $\xFF\x01\x20, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Fourv16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x25, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Fourv1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Fourv1d_POST GPR64sp:$Rn, VecListFour1d:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x26, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Fourv2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x27, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Fourv2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x28, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Fourv4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x29, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Fourv4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2A, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Fourv8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2B, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Fourv8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2C, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::ST1H_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST1H_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st1h $\xFF\x01\x20, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST1H_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st1h $\xFF\x01\x23, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1H_S_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST1H_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st1h $\xFF\x01\x21, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Onev16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Onev16b_POST GPR64sp:$Rn, VecListOne16b:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x25, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Onev1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Onev1d_POST GPR64sp:$Rn, VecListOne1d:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x26, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Onev2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Onev2d_POST GPR64sp:$Rn, VecListOne2d:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x27, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Onev2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Onev2s_POST GPR64sp:$Rn, VecListOne2s:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x28, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Onev4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Onev4h_POST GPR64sp:$Rn, VecListOne4h:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x29, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Onev4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Onev4s_POST GPR64sp:$Rn, VecListOne4s:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2A, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Onev8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Onev8b_POST GPR64sp:$Rn, VecListOne8b:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2B, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Onev8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Onev8h_POST GPR64sp:$Rn, VecListOne8h:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2C, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Threev16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x25, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Threev1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Threev1d_POST GPR64sp:$Rn, VecListThree1d:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x26, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Threev2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x27, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Threev2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x28, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Threev4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x29, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Threev4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2A, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Threev8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2B, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Threev8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2C, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Twov16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x25, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Twov1d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Twov1d_POST GPR64sp:$Rn, VecListTwo1d:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x26, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Twov2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x27, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Twov2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x28, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Twov4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x29, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Twov4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2A, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Twov8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2B, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST1Twov8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR) |
| AsmString = "st1 $\xFF\x02\x2C, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST1W_D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST1W_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st1w $\xFF\x01\x20, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1W_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST1W_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st1w $\xFF\x01\x21, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST1i16_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1i16_POST GPR64sp:$Rn, VecListOneh:$Vt, VectorIndexH:$idx, XZR) |
| AsmString = "st1 $\xFF\x02\x2D$\xFF\x03\x19, [$\x01], #2"; |
| break; |
| } |
| return false; |
| case AArch64::ST1i32_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1i32_POST GPR64sp:$Rn, VecListOnes:$Vt, VectorIndexS:$idx, XZR) |
| AsmString = "st1 $\xFF\x02\x2E$\xFF\x03\x19, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::ST1i64_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1i64_POST GPR64sp:$Rn, VecListOned:$Vt, VectorIndexD:$idx, XZR) |
| AsmString = "st1 $\xFF\x02\x2F$\xFF\x03\x19, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::ST1i8_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST1i8_POST GPR64sp:$Rn, VecListOneb:$Vt, VectorIndexB:$idx, XZR) |
| AsmString = "st1 $\xFF\x02\x30$\xFF\x03\x19, [$\x01], #1"; |
| break; |
| } |
| return false; |
| case AArch64::ST2B_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST2B_IMM ZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st2b $\xFF\x01\x24, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST2D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST2D_IMM ZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st2d $\xFF\x01\x20, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST2H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST2H_IMM ZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st2h $\xFF\x01\x23, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST2Twov16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR) |
| AsmString = "st2 $\xFF\x02\x25, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST2Twov2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR) |
| AsmString = "st2 $\xFF\x02\x27, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST2Twov2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR) |
| AsmString = "st2 $\xFF\x02\x28, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST2Twov4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR) |
| AsmString = "st2 $\xFF\x02\x29, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST2Twov4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR) |
| AsmString = "st2 $\xFF\x02\x2A, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST2Twov8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR) |
| AsmString = "st2 $\xFF\x02\x2B, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST2Twov8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR) |
| AsmString = "st2 $\xFF\x02\x2C, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST2W_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST2W_IMM ZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st2w $\xFF\x01\x21, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST2i16_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2i16_POST GPR64sp:$Rn, VecListTwoh:$Vt, VectorIndexH:$idx, XZR) |
| AsmString = "st2 $\xFF\x02\x2D$\xFF\x03\x19, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::ST2i32_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2i32_POST GPR64sp:$Rn, VecListTwos:$Vt, VectorIndexS:$idx, XZR) |
| AsmString = "st2 $\xFF\x02\x2E$\xFF\x03\x19, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::ST2i64_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2i64_POST GPR64sp:$Rn, VecListTwod:$Vt, VectorIndexD:$idx, XZR) |
| AsmString = "st2 $\xFF\x02\x2F$\xFF\x03\x19, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST2i8_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST2i8_POST GPR64sp:$Rn, VecListTwob:$Vt, VectorIndexB:$idx, XZR) |
| AsmString = "st2 $\xFF\x02\x30$\xFF\x03\x19, [$\x01], #2"; |
| break; |
| } |
| return false; |
| case AArch64::ST3B_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST3B_IMM ZZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st3b $\xFF\x01\x24, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST3D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST3D_IMM ZZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st3d $\xFF\x01\x20, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST3H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST3H_IMM ZZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st3h $\xFF\x01\x23, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST3Threev16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR) |
| AsmString = "st3 $\xFF\x02\x25, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::ST3Threev2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR) |
| AsmString = "st3 $\xFF\x02\x27, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::ST3Threev2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR) |
| AsmString = "st3 $\xFF\x02\x28, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::ST3Threev4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR) |
| AsmString = "st3 $\xFF\x02\x29, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::ST3Threev4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR) |
| AsmString = "st3 $\xFF\x02\x2A, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::ST3Threev8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR) |
| AsmString = "st3 $\xFF\x02\x2B, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::ST3Threev8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR) |
| AsmString = "st3 $\xFF\x02\x2C, [$\x01], #48"; |
| break; |
| } |
| return false; |
| case AArch64::ST3W_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST3W_IMM ZZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st3w $\xFF\x01\x21, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST3i16_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3i16_POST GPR64sp:$Rn, VecListThreeh:$Vt, VectorIndexH:$idx, XZR) |
| AsmString = "st3 $\xFF\x02\x2D$\xFF\x03\x19, [$\x01], #6"; |
| break; |
| } |
| return false; |
| case AArch64::ST3i32_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3i32_POST GPR64sp:$Rn, VecListThrees:$Vt, VectorIndexS:$idx, XZR) |
| AsmString = "st3 $\xFF\x02\x2E$\xFF\x03\x19, [$\x01], #12"; |
| break; |
| } |
| return false; |
| case AArch64::ST3i64_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3i64_POST GPR64sp:$Rn, VecListThreed:$Vt, VectorIndexD:$idx, XZR) |
| AsmString = "st3 $\xFF\x02\x2F$\xFF\x03\x19, [$\x01], #24"; |
| break; |
| } |
| return false; |
| case AArch64::ST3i8_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST3i8_POST GPR64sp:$Rn, VecListThreeb:$Vt, VectorIndexB:$idx, XZR) |
| AsmString = "st3 $\xFF\x02\x30$\xFF\x03\x19, [$\x01], #3"; |
| break; |
| } |
| return false; |
| case AArch64::ST4B_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST4B_IMM ZZZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st4b $\xFF\x01\x24, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST4D_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST4D_IMM ZZZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st4d $\xFF\x01\x20, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST4Fourv16b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR) |
| AsmString = "st4 $\xFF\x02\x25, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::ST4Fourv2d_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR) |
| AsmString = "st4 $\xFF\x02\x27, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::ST4Fourv2s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR) |
| AsmString = "st4 $\xFF\x02\x28, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST4Fourv4h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR) |
| AsmString = "st4 $\xFF\x02\x29, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST4Fourv4s_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR) |
| AsmString = "st4 $\xFF\x02\x2A, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::ST4Fourv8b_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR) |
| AsmString = "st4 $\xFF\x02\x2B, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST4Fourv8h_POST: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR) |
| AsmString = "st4 $\xFF\x02\x2C, [$\x01], #64"; |
| break; |
| } |
| return false; |
| case AArch64::ST4H_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST4H_IMM ZZZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st4h $\xFF\x01\x23, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST4W_IMM: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (ST4W_IMM ZZZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "st4w $\xFF\x01\x21, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::ST4i16_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4i16_POST GPR64sp:$Rn, VecListFourh:$Vt, VectorIndexH:$idx, XZR) |
| AsmString = "st4 $\xFF\x02\x2D$\xFF\x03\x19, [$\x01], #8"; |
| break; |
| } |
| return false; |
| case AArch64::ST4i32_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4i32_POST GPR64sp:$Rn, VecListFours:$Vt, VectorIndexS:$idx, XZR) |
| AsmString = "st4 $\xFF\x02\x2E$\xFF\x03\x19, [$\x01], #16"; |
| break; |
| } |
| return false; |
| case AArch64::ST4i64_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4i64_POST GPR64sp:$Rn, VecListFourd:$Vt, VectorIndexD:$idx, XZR) |
| AsmString = "st4 $\xFF\x02\x2F$\xFF\x03\x19, [$\x01], #32"; |
| break; |
| } |
| return false; |
| case AArch64::ST4i8_POST: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(4).getReg() == AArch64::XZR && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (ST4i8_POST GPR64sp:$Rn, VecListFourb:$Vt, VectorIndexB:$idx, XZR) |
| AsmString = "st4 $\xFF\x02\x30$\xFF\x03\x19, [$\x01], #4"; |
| break; |
| } |
| return false; |
| case AArch64::STLURBi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (STLURBi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stlurb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STLURHi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (STLURHi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stlurh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STLURWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (STLURWi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stlur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STLURXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::HasV8_4aOps]) { |
| // (STLURXi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stlur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STNPDi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (STNPDi FPR64Op:$Rt, FPR64Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "stnp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STNPQi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (STNPQi FPR128Op:$Rt, FPR128Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "stnp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STNPSi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (STNPSi FPR32Op:$Rt, FPR32Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "stnp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STNPWi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (STNPWi GPR32z:$Rt, GPR32z:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "stnp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STNPXi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (STNPXi GPR64z:$Rt, GPR64z:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "stnp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STNT1B_ZRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (STNT1B_ZRI Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "stnt1b $\xFF\x01\x24, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STNT1D_ZRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (STNT1D_ZRI Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "stnt1d $\xFF\x01\x20, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STNT1H_ZRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (STNT1H_ZRI Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "stnt1h $\xFF\x01\x23, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STNT1W_ZRI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (STNT1W_ZRI Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0) |
| AsmString = "stnt1w $\xFF\x01\x21, $\xFF\x02\x07, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STPDi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (STPDi FPR64Op:$Rt, FPR64Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "stp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STPQi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (STPQi FPR128Op:$Rt, FPR128Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "stp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STPSi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (STPSi FPR32Op:$Rt, FPR32Op:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "stp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STPWi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (STPWi GPR32z:$Rt, GPR32z:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "stp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STPXi: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (STPXi GPR64z:$Rt, GPR64z:$Rt2, GPR64sp:$Rn, 0) |
| AsmString = "stp $\x01, $\x02, [$\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STRBBroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (STRBBroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "strb $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STRBBui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STRBBui GPR32z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "strb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STRBroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (STRBroX FPR8Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "str $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STRBui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STRBui FPR8Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "str $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STRDroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (STRDroX FPR64Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "str $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STRDui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STRDui FPR64Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "str $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STRHHroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (STRHHroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "strh $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STRHHui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STRHHui GPR32z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "strh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STRHroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (STRHroX FPR16Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "str $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STRHui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STRHui FPR16Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "str $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STRQroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (STRQroX FPR128Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "str $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STRQui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STRQui FPR128Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "str $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STRSroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (STRSroX FPR32Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "str $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STRSui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STRSui FPR32Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "str $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STRWroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (STRWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "str $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STRWui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STRWui GPR32z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "str $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STRXroX: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0 && |
| MI->getOperand(4).isImm() && |
| MI->getOperand(4).getImm() == 0) { |
| // (STRXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0) |
| AsmString = "str $\x01, [$\x02, $\x03]"; |
| break; |
| } |
| return false; |
| case AArch64::STRXui: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STRXui GPR64z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "str $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STR_PXI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (STR_PXI PPRAny:$Pt, GPR64sp:$Rn, 0) |
| AsmString = "str $\xFF\x01\x07, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STR_ZXI: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (STR_ZXI ZPRAny:$Zt, GPR64sp:$Rn, 0) |
| AsmString = "str $\xFF\x01\x07, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STTRBi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STTRBi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "sttrb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STTRHi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STTRHi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "sttrh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STTRWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STTRWi GPR32:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "sttr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STTRXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STTRXi GPR64:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "sttr $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STURBBi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STURBBi GPR32z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "sturb $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STURBi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STURBi FPR8Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STURDi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STURDi FPR64Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STURHHi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STURHHi GPR32z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "sturh $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STURHi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STURHi FPR16Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STURQi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STURQi FPR128Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STURSi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STURSi FPR32Op:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STURWi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STURWi GPR32z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::STURXi: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0) { |
| // (STURXi GPR64z:$Rt, GPR64sp:$Rn, 0) |
| AsmString = "stur $\x01, [$\x02]"; |
| break; |
| } |
| return false; |
| case AArch64::SUBSWri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg())) { |
| // (SUBSWri WZR, GPR32sp:$src, addsub_shifted_imm32:$imm) |
| AsmString = "cmp $\x02, $\xFF\x03\x01"; |
| break; |
| } |
| return false; |
| case AArch64::SUBSWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (SUBSWrs WZR, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "cmp $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SUBSWrs WZR, GPR32:$src1, GPR32:$src2, arith_shift32:$sh) |
| AsmString = "cmp $\x02, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (SUBSWrs GPR32:$dst, WZR, GPR32:$src, 0) |
| AsmString = "negs $\x01, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SUBSWrs GPR32:$dst, WZR, GPR32:$src, arith_shift32:$shift) |
| AsmString = "negs $\x01, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (SUBSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "subs $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SUBSWrx: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 16) { |
| // (SUBSWrx WZR, GPR32sponly:$src1, GPR32:$src2, 16) |
| AsmString = "cmp $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::WZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SUBSWrx WZR, GPR32sp:$src1, GPR32:$src2, arith_extend:$sh) |
| AsmString = "cmp $\x02, $\x03$\xFF\x04\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 16) { |
| // (SUBSWrx GPR32:$dst, GPR32sponly:$src1, GPR32:$src2, 16) |
| AsmString = "subs $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SUBSXri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg())) { |
| // (SUBSXri XZR, GPR64sp:$src, addsub_shifted_imm64:$imm) |
| AsmString = "cmp $\x02, $\xFF\x03\x01"; |
| break; |
| } |
| return false; |
| case AArch64::SUBSXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (SUBSXrs XZR, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "cmp $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SUBSXrs XZR, GPR64:$src1, GPR64:$src2, arith_shift64:$sh) |
| AsmString = "cmp $\x02, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (SUBSXrs GPR64:$dst, XZR, GPR64:$src, 0) |
| AsmString = "negs $\x01, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SUBSXrs GPR64:$dst, XZR, GPR64:$src, arith_shift64:$shift) |
| AsmString = "negs $\x01, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (SUBSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "subs $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SUBSXrx: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SUBSXrx XZR, GPR64sp:$src1, GPR32:$src2, arith_extend:$sh) |
| AsmString = "cmp $\x02, $\x03$\xFF\x04\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SUBSXrx64: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 24) { |
| // (SUBSXrx64 XZR, GPR64sponly:$src1, GPR64:$src2, 24) |
| AsmString = "cmp $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).getReg() == AArch64::XZR && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SUBSXrx64 XZR, GPR64sp:$src1, GPR64:$src2, arith_extendlsl64:$sh) |
| AsmString = "cmp $\x02, $\x03$\xFF\x04\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 24) { |
| // (SUBSXrx64 GPR64:$dst, GPR64sponly:$src1, GPR64:$src2, 24) |
| AsmString = "subs $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SUBWrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (SUBWrs GPR32:$dst, WZR, GPR32:$src, 0) |
| AsmString = "neg $\x01, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::WZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SUBWrs GPR32:$dst, WZR, GPR32:$src, arith_shift32:$shift) |
| AsmString = "neg $\x01, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (SUBWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0) |
| AsmString = "sub $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SUBWrx: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 16) { |
| // (SUBWrx GPR32sponly:$dst, GPR32sp:$src1, GPR32:$src2, 16) |
| AsmString = "sub $\x01, $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 16) { |
| // (SUBWrx GPR32sp:$dst, GPR32sponly:$src1, GPR32:$src2, 16) |
| AsmString = "sub $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SUBXrs: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (SUBXrs GPR64:$dst, XZR, GPR64:$src, 0) |
| AsmString = "neg $\x01, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).getReg() == AArch64::XZR && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) { |
| // (SUBXrs GPR64:$dst, XZR, GPR64:$src, arith_shift64:$shift) |
| AsmString = "neg $\x01, $\x03$\xFF\x04\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 0) { |
| // (SUBXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0) |
| AsmString = "sub $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SUBXrx64: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 24) { |
| // (SUBXrx64 GPR64sponly:$dst, GPR64sp:$src1, GPR64:$src2, 24) |
| AsmString = "sub $\x01, $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 24) { |
| // (SUBXrx64 GPR64sp:$dst, GPR64sponly:$src1, GPR64:$src2, 24) |
| AsmString = "sub $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::SYSxt: |
| if (MI->getNumOperands() == 5 && |
| MI->getOperand(4).getReg() == AArch64::XZR) { |
| // (SYSxt imm0_7:$op1, sys_cr_op:$Cn, sys_cr_op:$Cm, imm0_7:$op2, XZR) |
| AsmString = "sys $\x01, $\xFF\x02\x35, $\xFF\x03\x35, $\x04"; |
| break; |
| } |
| return false; |
| case AArch64::UBFMWri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 31) { |
| // (UBFMWri GPR32:$dst, GPR32:$src, imm0_31:$shift, 31) |
| AsmString = "lsr $\x01, $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 7) { |
| // (UBFMWri GPR32:$dst, GPR32:$src, 0, 7) |
| AsmString = "uxtb $\x01, $\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 15) { |
| // (UBFMWri GPR32:$dst, GPR32:$src, 0, 15) |
| AsmString = "uxth $\x01, $\x02"; |
| break; |
| } |
| return false; |
| case AArch64::UBFMXri: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 63) { |
| // (UBFMXri GPR64:$dst, GPR64:$src, imm0_63:$shift, 63) |
| AsmString = "lsr $\x01, $\x02, $\x03"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 7) { |
| // (UBFMXri GPR64:$dst, GPR64:$src, 0, 7) |
| AsmString = "uxtb $\x01, $\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 15) { |
| // (UBFMXri GPR64:$dst, GPR64:$src, 0, 15) |
| AsmString = "uxth $\x01, $\x02"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 0 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 31) { |
| // (UBFMXri GPR64:$dst, GPR64:$src, 0, 31) |
| AsmString = "uxtw $\x01, $\x02"; |
| break; |
| } |
| return false; |
| case AArch64::UMADDLrrr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR) { |
| // (UMADDLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR) |
| AsmString = "umull $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::UMOVvi32: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (UMOVvi32 GPR32:$dst, V128:$src, VectorIndexS:$idx) |
| AsmString = "mov $\x01, $\xFF\x02\x0C.s$\xFF\x03\x19"; |
| break; |
| } |
| return false; |
| case AArch64::UMOVvi64: |
| if (MI->getNumOperands() == 3 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) && |
| STI.getFeatureBits()[AArch64::FeatureNEON]) { |
| // (UMOVvi64 GPR64:$dst, V128:$src, VectorIndexD:$idx) |
| AsmString = "mov $\x01, $\xFF\x02\x0C.d$\xFF\x03\x19"; |
| break; |
| } |
| return false; |
| case AArch64::UMSUBLrrr: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(1).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) && |
| MI->getOperand(2).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) && |
| MI->getOperand(3).getReg() == AArch64::XZR) { |
| // (UMSUBLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR) |
| AsmString = "umnegl $\x01, $\x02, $\x03"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECB_WPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECB_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdecb $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECB_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdecb $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECB_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECB_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdecb $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECB_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdecb $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECD_WPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECD_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdecd $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECD_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdecd $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECD_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECD_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdecd $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECD_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdecd $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECD_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdecd $\xFF\x01\x10"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdecd $\xFF\x01\x10, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECH_WPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECH_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdech $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECH_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdech $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECH_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECH_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdech $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECH_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdech $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECH_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdech $\xFF\x01\x09"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdech $\xFF\x01\x09, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECW_WPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECW_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdecw $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECW_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdecw $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECW_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECW_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdecw $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECW_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdecw $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQDECW_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqdecw $\xFF\x01\x0B"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQDECW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqdecw $\xFF\x01\x0B, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCB_WPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCB_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqincb $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCB_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqincb $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCB_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCB_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqincb $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCB_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqincb $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCD_WPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCD_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqincd $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCD_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqincd $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCD_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCD_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqincd $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCD_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqincd $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCD_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqincd $\xFF\x01\x10"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqincd $\xFF\x01\x10, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCH_WPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCH_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqinch $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCH_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqinch $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCH_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCH_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqinch $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCH_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqinch $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCH_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqinch $\xFF\x01\x09"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqinch $\xFF\x01\x09, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCW_WPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCW_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqincw $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCW_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqincw $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCW_XPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCW_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqincw $\x01"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCW_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqincw $\x01, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| case AArch64::UQINCW_ZPiI: |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(2).isImm() && |
| MI->getOperand(2).getImm() == 31 && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1) |
| AsmString = "uqincw $\xFF\x01\x0B"; |
| break; |
| } |
| if (MI->getNumOperands() == 4 && |
| MI->getOperand(0).isReg() && |
| MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) && |
| MI->getOperand(3).isImm() && |
| MI->getOperand(3).getImm() == 1 && |
| STI.getFeatureBits()[AArch64::FeatureSVE]) { |
| // (UQINCW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1) |
| AsmString = "uqincw $\xFF\x01\x0B, $\xFF\x03\x0E"; |
| break; |
| } |
| return false; |
| } |
| |
| unsigned I = 0; |
| while (AsmString[I] != ' ' && AsmString[I] != '\t' && |
| AsmString[I] != '$' && AsmString[I] != '\0') |
| ++I; |
| OS << '\t' << StringRef(AsmString, I); |
| if (AsmString[I] != '\0') { |
| if (AsmString[I] == ' ' || AsmString[I] == '\t') { |
| OS << '\t'; |
| ++I; |
| } |
| do { |
| if (AsmString[I] == '$') { |
| ++I; |
| if (AsmString[I] == (char)0xff) { |
| ++I; |
| int OpIdx = AsmString[I++] - 1; |
| int PrintMethodIdx = AsmString[I++] - 1; |
| printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, STI, OS); |
| } else |
| printOperand(MI, unsigned(AsmString[I++]) - 1, STI, OS); |
| } else { |
| OS << AsmString[I++]; |
| } |
| } while (AsmString[I] != '\0'); |
| } |
| |
| return true; |
| } |
| |
| void AArch64InstPrinter::printCustomAliasOperand( |
| const MCInst *MI, unsigned OpIdx, |
| unsigned PrintMethodIdx, |
| const MCSubtargetInfo &STI, |
| raw_ostream &OS) { |
| switch (PrintMethodIdx) { |
| default: |
| llvm_unreachable("Unknown PrintMethod kind"); |
| break; |
| case 0: |
| printAddSubImm(MI, OpIdx, STI, OS); |
| break; |
| case 1: |
| printShifter(MI, OpIdx, STI, OS); |
| break; |
| case 2: |
| printArithExtend(MI, OpIdx, STI, OS); |
| break; |
| case 3: |
| printLogicalImm<int32_t>(MI, OpIdx, STI, OS); |
| break; |
| case 4: |
| printLogicalImm<int64_t>(MI, OpIdx, STI, OS); |
| break; |
| case 5: |
| printSVERegOp<'b'>(MI, OpIdx, STI, OS); |
| break; |
| case 6: |
| printSVERegOp<>(MI, OpIdx, STI, OS); |
| break; |
| case 7: |
| printLogicalImm<int8_t>(MI, OpIdx, STI, OS); |
| break; |
| case 8: |
| printSVERegOp<'h'>(MI, OpIdx, STI, OS); |
| break; |
| case 9: |
| printLogicalImm<int16_t>(MI, OpIdx, STI, OS); |
| break; |
| case 10: |
| printSVERegOp<'s'>(MI, OpIdx, STI, OS); |
| break; |
| case 11: |
| printVRegOperand(MI, OpIdx, STI, OS); |
| break; |
| case 12: |
| printImm(MI, OpIdx, STI, OS); |
| break; |
| case 13: |
| printSVEPattern(MI, OpIdx, STI, OS); |
| break; |
| case 14: |
| printImm8OptLsl<int8_t>(MI, OpIdx, STI, OS); |
| break; |
| case 15: |
| printSVERegOp<'d'>(MI, OpIdx, STI, OS); |
| break; |
| case 16: |
| printImm8OptLsl<int64_t>(MI, OpIdx, STI, OS); |
| break; |
| case 17: |
| printImm8OptLsl<int16_t>(MI, OpIdx, STI, OS); |
| break; |
| case 18: |
| printImm8OptLsl<int32_t>(MI, OpIdx, STI, OS); |
| break; |
| case 19: |
| printInverseCondCode(MI, OpIdx, STI, OS); |
| break; |
| case 20: |
| printSVELogicalImm<int16_t>(MI, OpIdx, STI, OS); |
| break; |
| case 21: |
| printSVELogicalImm<int32_t>(MI, OpIdx, STI, OS); |
| break; |
| case 22: |
| printSVELogicalImm<int64_t>(MI, OpIdx, STI, OS); |
| break; |
| case 23: |
| printZPRasFPR<8>(MI, OpIdx, STI, OS); |
| break; |
| case 24: |
| printVectorIndex(MI, OpIdx, STI, OS); |
| break; |
| case 25: |
| printZPRasFPR<64>(MI, OpIdx, STI, OS); |
| break; |
| case 26: |
| printZPRasFPR<16>(MI, OpIdx, STI, OS); |
| break; |
| case 27: |
| printSVERegOp<'q'>(MI, OpIdx, STI, OS); |
| break; |
| case 28: |
| printZPRasFPR<128>(MI, OpIdx, STI, OS); |
| break; |
| case 29: |
| printZPRasFPR<32>(MI, OpIdx, STI, OS); |
| break; |
| case 30: |
| printFPImmOperand(MI, OpIdx, STI, OS); |
| break; |
| case 31: |
| printTypedVectorList<0,'d'>(MI, OpIdx, STI, OS); |
| break; |
| case 32: |
| printTypedVectorList<0,'s'>(MI, OpIdx, STI, OS); |
| break; |
| case 33: |
| printPSBHintOp(MI, OpIdx, STI, OS); |
| break; |
| case 34: |
| printTypedVectorList<0,'h'>(MI, OpIdx, STI, OS); |
| break; |
| case 35: |
| printTypedVectorList<0,'b'>(MI, OpIdx, STI, OS); |
| break; |
| case 36: |
| printTypedVectorList<16, 'b'>(MI, OpIdx, STI, OS); |
| break; |
| case 37: |
| printTypedVectorList<1, 'd'>(MI, OpIdx, STI, OS); |
| break; |
| case 38: |
| printTypedVectorList<2, 'd'>(MI, OpIdx, STI, OS); |
| break; |
| case 39: |
| printTypedVectorList<2, 's'>(MI, OpIdx, STI, OS); |
| break; |
| case 40: |
| printTypedVectorList<4, 'h'>(MI, OpIdx, STI, OS); |
| break; |
| case 41: |
| printTypedVectorList<4, 's'>(MI, OpIdx, STI, OS); |
| break; |
| case 42: |
| printTypedVectorList<8, 'b'>(MI, OpIdx, STI, OS); |
| break; |
| case 43: |
| printTypedVectorList<8, 'h'>(MI, OpIdx, STI, OS); |
| break; |
| case 44: |
| printTypedVectorList<0, 'h'>(MI, OpIdx, STI, OS); |
| break; |
| case 45: |
| printTypedVectorList<0, 's'>(MI, OpIdx, STI, OS); |
| break; |
| case 46: |
| printTypedVectorList<0, 'd'>(MI, OpIdx, STI, OS); |
| break; |
| case 47: |
| printTypedVectorList<0, 'b'>(MI, OpIdx, STI, OS); |
| break; |
| case 48: |
| printImmHex(MI, OpIdx, STI, OS); |
| break; |
| case 49: |
| printPrefetchOp<true>(MI, OpIdx, STI, OS); |
| break; |
| case 50: |
| printPrefetchOp(MI, OpIdx, STI, OS); |
| break; |
| case 51: |
| printGPR64as32(MI, OpIdx, STI, OS); |
| break; |
| case 52: |
| printSysCROperand(MI, OpIdx, STI, OS); |
| break; |
| } |
| } |
| |
| static bool AArch64InstPrinterValidateMCOperand(const MCOperand &MCOp, |
| const MCSubtargetInfo &STI, |
| unsigned PredicateIndex) { |
| switch (PredicateIndex) { |
| default: |
| llvm_unreachable("Unknown MCOperandPredicate kind"); |
| break; |
| case 1: { |
| |
| if (!MCOp.isImm()) |
| return false; |
| int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64); |
| return AArch64_AM::isSVEMaskOfIdenticalElements<int8_t>(Val); |
| |
| } |
| case 2: { |
| |
| if (!MCOp.isImm()) |
| return false; |
| int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64); |
| return AArch64_AM::isSVEMaskOfIdenticalElements<int16_t>(Val); |
| |
| } |
| case 3: { |
| |
| if (!MCOp.isImm()) |
| return false; |
| int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64); |
| return AArch64_AM::isSVEMaskOfIdenticalElements<int32_t>(Val); |
| |
| } |
| case 4: { |
| |
| return MCOp.isImm() && |
| MCOp.getImm() != AArch64CC::AL && |
| MCOp.getImm() != AArch64CC::NV; |
| |
| } |
| case 5: { |
| |
| if (!MCOp.isImm()) |
| return false; |
| int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64); |
| return AArch64_AM::isSVEMaskOfIdenticalElements<int16_t>(Val) && |
| AArch64_AM::isSVEMoveMaskPreferredLogicalImmediate(Val); |
| |
| } |
| case 6: { |
| |
| if (!MCOp.isImm()) |
| return false; |
| int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64); |
| return AArch64_AM::isSVEMaskOfIdenticalElements<int32_t>(Val) && |
| AArch64_AM::isSVEMoveMaskPreferredLogicalImmediate(Val); |
| |
| } |
| case 7: { |
| |
| if (!MCOp.isImm()) |
| return false; |
| int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64); |
| return AArch64_AM::isSVEMaskOfIdenticalElements<int64_t>(Val) && |
| AArch64_AM::isSVEMoveMaskPreferredLogicalImmediate(Val); |
| |
| } |
| case 8: { |
| |
| // Check, if operand is valid, to fix exhaustive aliasing in disassembly. |
| // "psb" is an alias to "hint" only for certain values of CRm:Op2 fields. |
| if (!MCOp.isImm()) |
| return false; |
| return AArch64PSBHint::lookupPSBByEncoding(MCOp.getImm()) != nullptr; |
| |
| } |
| } |
| } |
| |
| #endif // PRINT_ALIAS_INSTR |