Home | History | Annotate | Download | only in mips64

Lines Matching refs:Format

102   void PrintFormat(Instruction* instr);  // For floating format postfix.
112 void Format(Instruction* instr, const char* format);
491 int Decoder::FormatRegister(Instruction* instr, const char* format) {
492 DCHECK(format[0] == 'r');
493 if (format[1] == 's') { // 'rs: Rs register.
497 } else if (format[1] == 't') { // 'rt: rt register.
501 } else if (format[1] == 'd') { // 'rd: rd register.
513 int Decoder::FormatFPURegister(Instruction* instr, const char* format) {
514 DCHECK(format[0] == 'f');
516 if (format[1] == 's') { // 'fs: fs register.
520 } else if (format[1] == 't') { // 'ft: ft register.
524 } else if (format[1] == 'd') { // 'fd: fd register.
528 } else if (format[1] == 'r') { // 'fr: fr register.
534 if (format[1] == 's') { // 'fs: fs register.
538 } else if (format[1] == 't') { // 'ft: ft register.
542 } else if (format[1] == 'd') { // 'fd: fd register.
546 } else if (format[1] == 'r') { // 'fr: fr register.
558 // the current instructions. The format string points to the first
562 int Decoder::FormatOption(Instruction* instr, const char* format) {
563 switch (format[0]) {
565 DCHECK(STRING_STARTS_WITH(format, "code"));
570 if (format[3] == '1') {
571 if (format[4] == '6') {
572 DCHECK(STRING_STARTS_WITH(format, "imm16"));
573 switch (format[5]) {
575 DCHECK(STRING_STARTS_WITH(format, "imm16s"));
579 DCHECK(STRING_STARTS_WITH(format, "imm16u"));
583 DCHECK(STRING_STARTS_WITH(format, "imm16x"));
587 DCHECK(STRING_STARTS_WITH(format, "imm16p"));
590 switch (format[6]) {
592 DCHECK(STRING_STARTS_WITH(format, "imm16p4"));
594 switch (format[8]) {
596 DCHECK(STRING_STARTS_WITH(format, "imm16p4s2"));
606 } else if (format[4] == '8') {
607 DCHECK(STRING_STARTS_WITH(format, "imm18"));
608 switch (format[5]) {
610 DCHECK(STRING_STARTS_WITH(format, "imm18s"));
614 DCHECK(STRING_STARTS_WITH(format, "imm18x"));
619 } else if (format[4] == '9') {
620 DCHECK(STRING_STARTS_WITH(format, "imm19"));
621 switch (format[5]) {
623 DCHECK(STRING_STARTS_WITH(format, "imm19s"));
627 DCHECK(STRING_STARTS_WITH(format, "imm19x"));
633 } else if (format[3] == '2' && format[4] == '1') {
634 DCHECK(STRING_STARTS_WITH(format, "imm21"));
635 switch (format[5]) {
637 DCHECK(STRING_STARTS_WITH(format, "imm21s"));
641 DCHECK(STRING_STARTS_WITH(format, "imm21x"));
645 DCHECK(STRING_STARTS_WITH(format, "imm21p"));
648 switch (format[6]) {
650 DCHECK(STRING_STARTS_WITH(format, "imm21p4"));
652 switch (format[8]) {
654 DCHECK(STRING_STARTS_WITH(format, "imm21p4s2"));
664 } else if (format[3] == '2' && format[4] == '6') {
665 DCHECK(STRING_STARTS_WITH(format, "imm26"));
666 switch (format[5]) {
668 DCHECK(STRING_STARTS_WITH(format, "imm26s"));
672 DCHECK(STRING_STARTS_WITH(format, "imm26x"));
676 DCHECK(STRING_STARTS_WITH(format, "imm26p"));
679 switch (format[6]) {
681 DCHECK(STRING_STARTS_WITH(format, "imm26p4"));
683 switch (format[8]) {
685 DCHECK(STRING_STARTS_WITH(format, "imm26p4s2"));
694 DCHECK(STRING_STARTS_WITH(format, "imm26j"));
703 return FormatRegister(instr, format);
706 return FormatFPURegister(instr, format);
709 switch (format[1]) {
711 if (format[2] == '2') {
712 DCHECK(STRING_STARTS_WITH(format, "sa2")); // 'sa2
716 DCHECK(STRING_STARTS_WITH(format, "sa"));
722 DCHECK(STRING_STARTS_WITH(format, "sd"));
727 if (format[2] == '1') {
728 DCHECK(STRING_STARTS_WITH(format, "ss1")); /* ext size */
732 DCHECK(STRING_STARTS_WITH(format, "ss2")); /* ins size */
740 switch (format[1]) {
742 DCHECK(STRING_STARTS_WITH(format, "bc"));
747 switch (format[2]) {
749 DCHECK(STRING_STARTS_WITH(format, "bp2"));
754 DCHECK(STRING_STARTS_WITH(format, "bp3"));
763 DCHECK(STRING_STARTS_WITH(format, "Cc"));
776 // Format takes a formatting string for a whole instruction and prints it into
779 void Decoder::Format(Instruction* instr, const char* format) {
780 char cur = *format++;
783 format += FormatOption(instr, format);
787 cur = *format++;
796 Format(instr, "unknown");
804 Format(instr, "break, code: 'code");
814 Format(instr, "break, code: 'code");
823 Format(instr, "rint.'t 'fd, 'fs");
826 Format(instr, "sel.'t 'fd, 'fs, 'ft");
829 Format(instr, "seleqz.'t 'fd, 'fs, 'ft");
832 Format(instr, "selnez.'t 'fd, 'fs, 'ft");
835 Format(instr, "movz.'t 'fd, 'fs, 'rt");
838 Format(instr, "movn.'t 'fd, 'fs, 'rt");
842 Format(instr, "movt.'t 'fd, 'fs, 'Cc");
844 Format(instr, "movf.'t 'fd, 'fs, 'Cc");
848 Format(instr, "min.'t 'fd, 'fs, 'ft");
851 Format(instr, "max.'t 'fd, 'fs, 'ft");
854 Format(instr, "mina.'t 'fd, 'fs, 'ft");
857 Format(instr, "maxa.'t 'fd, 'fs, 'ft");
860 Format(instr, "add.'t 'fd, 'fs, 'ft");
863 Format(instr, "sub.'t 'fd, 'fs, 'ft");
866 Format(instr, "mul.'t 'fd, 'fs, 'ft");
869 Format(instr, "div.'t 'fd, 'fs, 'ft");
872 Format(instr, "abs.'t 'fd, 'fs");
875 Format(instr, "mov.'t 'fd, 'fs");
878 Format(instr, "neg.'t 'fd, 'fs");
881 Format(instr, "sqrt.'t 'fd, 'fs");
884 Format(instr, "recip.'t 'fd, 'fs");
887 Format(instr, "rsqrt.'t 'fd, 'fs");
890 Format(instr, "cvt.w.'t 'fd, 'fs");
893 Format(instr, "cvt.l.'t 'fd, 'fs");
896 Format(instr, "trunc.w.'t 'fd, 'fs");
899 Format(instr, "trunc.l.'t 'fd, 'fs");
902 Format(instr, "round.w.'t 'fd, 'fs");
905 Format(instr, "round.l.'t 'fd, 'fs");
908 Format(instr, "floor.w.'t 'fd, 'fs");
911 Format(instr, "floor.l.'t 'fd, 'fs");
914 Format(instr, "ceil.w.'t 'fd, 'fs");
917 Format(instr, "ceil.l.'t 'fd, 'fs");
920 Format(instr, "class.'t 'fd, 'fs");
923 Format(instr, "cvt.s.'t 'fd, 'fs");
926 Format(instr, "c.f.'t 'fs, 'ft, 'Cc");
929 Format(instr, "c.un.'t 'fs, 'ft, 'Cc");
932 Format(instr, "c.eq.'t 'fs, 'ft, 'Cc");
935 Format(instr, "c.ueq.'t 'fs, 'ft, 'Cc");
938 Format(instr, "c.olt.'t 'fs, 'ft, 'Cc");
941 Format(instr, "c.ult.'t 'fs, 'ft, 'Cc");
944 Format(instr, "c.ole.'t 'fs, 'ft, 'Cc");
947 Format(instr, "c.ule.'t 'fs, 'ft, 'Cc");
960 Format(instr, "cvt.d.'t 'fd, 'fs");
963 Format(instr, "maddf.s 'fd, 'fs, 'ft");
966 Format(instr, "msubf.s 'fd, 'fs, 'ft");
969 Format(instr, "unknown.cop1.'t");
980 Format(instr, "maddf.d 'fd, 'fs, 'ft");
983 Format(instr, "msubf.d 'fd, 'fs, 'ft");
986 Format(instr, "unknown.cop1.'t");
996 Format(instr, "cvt.d.l 'fd, 'fs");
999 Format(instr, "cvt.s.l 'fd, 'fs");
1002 Format(instr, "cmp.af.d 'fd, 'fs, 'ft");
1005 Format(instr, "cmp.un.d 'fd, 'fs, 'ft");
1008 Format(instr, "cmp.eq.d 'fd, 'fs, 'ft");
1011 Format(instr, "cmp.ueq.d 'fd, 'fs, 'ft");
1014 Format(instr, "cmp.lt.d 'fd, 'fs, 'ft");
1017 Format(instr, "cmp.ult.d 'fd, 'fs, 'ft");
1020 Format(instr, "cmp.le.d 'fd, 'fs, 'ft");
1023 Format(instr, "cmp.ule.d 'fd, 'fs, 'ft");
1026 Format(instr, "cmp.or.d 'fd, 'fs, 'ft");
1029 Format(instr, "cmp.une.d 'fd, 'fs, 'ft");
1032 Format(instr, "cmp.ne.d 'fd, 'fs, 'ft");
1043 Format(instr, "cvt.s.w 'fd, 'fs");
1046 Format(instr, "cvt.d.w 'fd, 'fs");
1049 Format(instr, "cmp.af.s 'fd, 'fs, 'ft");
1052 Format(instr, "cmp.un.s 'fd, 'fs, 'ft");
1055 Format(instr, "cmp.eq.s 'fd, 'fs, 'ft");
1058 Format(instr, "cmp.ueq.s 'fd, 'fs, 'ft");
1061 Format(instr, "cmp.lt.s 'fd, 'fs, 'ft");
1064 Format(instr, "cmp.ult.s 'fd, 'fs, 'ft");
1067 Format(instr, "cmp.le.s 'fd, 'fs, 'ft");
1070 Format(instr, "cmp.ule.s 'fd, 'fs, 'ft");
1073 Format(instr, "cmp.or.s 'fd, 'fs, 'ft");
1076 Format(instr, "cmp.une.s 'fd, 'fs, 'ft");
1079 Format(instr, "cmp.ne.s 'fd, 'fs, 'ft");
1090 Format(instr, "mfc1 'rt, 'fs");
1093 Format(instr, "dmfc1 'rt, 'fs");
1096 Format(instr, "mfhc1 'rt, 'fs");
1099 Format(instr, "mtc1 'rt, 'fs");
1102 Format(instr, "dmtc1 'rt, 'fs");
1106 Format(instr, "ctc1 'rt, 'fs");
1109 Format(instr, "cfc1 'rt, 'fs");
1112 Format(instr, "mthc1 'rt, 'fs");
1135 Format(instr, "madd.s 'fd, 'fr, 'fs, 'ft");
1138 Format(instr, "madd.d 'fd, 'fr, 'fs, 'ft");
1141 Format(instr, "msub.s 'fd, 'fr, 'fs, 'ft");
1144 Format(instr, "msub.d 'fd, 'fr, 'fs, 'ft");
1155 Format(instr, "jr 'rs");
1158 Format(instr, "jalr 'rs, 'rd");
1162 Format(instr, "nop");
1164 Format(instr, "sll 'rd, 'rt, 'sa");
1167 Format(instr, "dsll 'rd, 'rt, 'sa");
1171 Format(instr, "dmult 'rs, 'rt");
1174 Format(instr, "dmul 'rd, 'rs, 'rt");
1176 Format(instr, "dmuh 'rd, 'rs, 'rt");
1181 Format(instr, "dsll32 'rd, 'rt, 'sa");
1185 Format(instr, "srl 'rd, 'rt, 'sa");
1187 Format(instr, "rotr 'rd, 'rt, 'sa");
1192 Format(instr, "dsrl 'rd, 'rt, 'sa");
1194 Format(instr, "drotr 'rd, 'rt, 'sa");
1199 Format(instr, "dsrl32 'rd, 'rt, 'sa");
1201 Format(instr, "drotr32 'rd, 'rt, 'sa");
1205 Format(instr, "sra 'rd, 'rt, 'sa");
1208 Format(instr, "dsra 'rd, 'rt, 'sa");
1211 Format(instr, "dsra32 'rd, 'rt, 'sa");
1214 Format(instr, "sllv 'rd, 'rt, 'rs");
1217 Format(instr, "dsllv 'rd, 'rt, 'rs");
1221 Format(instr, "srlv 'rd, 'rt, 'rs");
1223 Format(instr, "rotrv 'rd, 'rt, 'rs");
1228 Format(instr, "dsrlv 'rd, 'rt, 'rs");
1230 Format(instr, "drotrv 'rd, 'rt, 'rs");
1234 Format(instr, "srav 'rd, 'rt, 'rs");
1237 Format(instr, "dsrav 'rd, 'rt, 'rs");
1240 Format(instr, "lsa 'rd, 'rt, 'rs, 'sa2");
1243 Format(instr, "dlsa 'rd, 'rt, 'rs, 'sa2");
1247 Format(instr, "mfhi 'rd");
1250 Format(instr, "clz 'rd, 'rs");
1253 Format(instr, "clo 'rd, 'rs");
1259 Format(instr, "mflo 'rd");
1262 Format(instr, "dclz 'rd, 'rs");
1265 Format(instr, "dclo 'rd, 'rs");
1271 Format(instr, "dmultu 'rs, 'rt");
1274 Format(instr, "dmulu 'rd, 'rs, 'rt");
1276 Format(instr, "dmuhu 'rd, 'rs, 'rt");
1282 Format(instr, "mult 'rs, 'rt");
1285 Format(instr, "mul 'rd, 'rs, 'rt");
1287 Format(instr, "muh 'rd, 'rs, 'rt");
1293 Format(instr, "multu 'rs, 'rt");
1296 Format(instr, "mulu 'rd, 'rs, 'rt");
1298 Format(instr, "muhu 'rd, 'rs, 'rt");
1305 Format(instr, "div 'rs, 'rt");
1308 Format(instr, "div 'rd, 'rs, 'rt");
1310 Format(instr, "mod 'rd, 'rs, 'rt");
1316 Format(instr, "ddiv 'rs, 'rt");
1319 Format(instr, "ddiv 'rd, 'rs, 'rt");
1321 Format(instr, "dmod 'rd, 'rs, 'rt");
1327 Format(instr, "divu 'rs, 'rt");
1330 Format(instr, "divu 'rd, 'rs, 'rt");
1332 Format(instr, "modu 'rd, 'rs, 'rt");
1338 Format(instr, "ddivu 'rs, 'rt");
1341 Format(instr, "ddivu 'rd, 'rs, 'rt");
1343 Format(instr, "dmodu 'rd, 'rs, 'rt");
1348 Format(instr, "add 'rd, 'rs, 'rt");
1351 Format(instr, "dadd 'rd, 'rs, 'rt");
1354 Format(instr, "addu 'rd, 'rs, 'rt");
1357 Format(instr, "daddu 'rd, 'rs, 'rt");
1360 Format(instr, "sub 'rd, 'rs, 'rt");
1363 Format(instr, "dsub 'rd, 'rs, 'rt");
1366 Format(instr, "subu 'rd, 'rs, 'rt");
1369 Format(instr, "dsubu 'rd, 'rs, 'rt");
1372 Format(instr, "and 'rd, 'rs, 'rt");
1376 Format(instr, "mov 'rd, 'rt");
1378 Format(instr, "mov 'rd, 'rs");
1380 Format(instr, "or 'rd, 'rs, 'rt");
1384 Format(instr, "xor 'rd, 'rs, 'rt");
1387 Format(instr, "nor 'rd, 'rs, 'rt");
1390 Format(instr, "slt 'rd, 'rs, 'rt");
1393 Format(instr, "sltu 'rd, 'rs, 'rt");
1396 Format(instr, "tge 'rs, 'rt, code: 'code");
1399 Format(instr, "tgeu 'rs, 'rt, code: 'code");
1402 Format(instr, "tlt 'rs, 'rt, code: 'code");
1405 Format(instr, "tltu 'rs, 'rt, code: 'code");
1408 Format(instr, "teq 'rs, 'rt, code: 'code");
1411 Format(instr, "tne 'rs, 'rt, code: 'code");
1414 Format(instr, "sync");
1417 Format(instr, "movz 'rd, 'rs, 'rt");
1420 Format(instr, "movn 'rd, 'rs, 'rt");
1424 Format(instr, "movt 'rd, 'rs, 'bc");
1426 Format(instr, "movf 'rd, 'rs, 'bc");
1430 Format(instr, "seleqz 'rd, 'rs, 'rt");
1433 Format(instr, "selnez 'rd, 'rs, 'rt");
1444 Format(instr, "mul 'rd, 'rs, 'rt");
1448 Format(instr, "clz 'rd, 'rs");
1453 Format(instr, "dclz 'rd, 'rs");
1465 Format(instr, "ins 'rt, 'rs, 'sa, 'ss2");
1469 Format(instr, "ext 'rt, 'rs, 'sa, 'ss1");
1473 Format(instr, "dext 'rt, 'rs, 'sa, 'ss1");
1480 Format(instr, "bitswap 'rd, 'rt");
1484 Format(instr, "seb 'rd, 'rt");
1488 Format(instr, "seh 'rd, 'rt");
1492 Format(instr, "wsbh 'rd, 'rt");
1499 Format(instr, "align 'rd, 'rs, 'rt, 'bp2");
1512 Format(instr, "dins 'rt, 'rs, 'sa, 'ss2");
1521 Format(instr, "dbitswap 'rd, 'rt");
1530 Format(instr, "dsbh 'rd, 'rt");
1534 Format(instr, "dshd 'rd, 'rt");
1541 Format(instr, "dalign 'rd, 'rs, 'rt, 'bp3");
1593 Format(instr, "bc1t 'bc, 'imm16u -> 'imm16p4s2");
1595 Format(instr, "bc1f 'bc, 'imm16u -> 'imm16p4s2");
1599 Format(instr, "bc1eqz 'ft, 'imm16u -> 'imm16p4s2");
1602 Format(instr, "bc1nez 'ft, 'imm16u -> 'imm16p4s2");
1613 Format(instr, "bltz 'rs, 'imm16u -> 'imm16p4s2");
1616 Format(instr, "bltzal 'rs, 'imm16u -> 'imm16p4s2");
1619 Format(instr, "bgez 'rs, 'imm16u -> 'imm16p4s2");
1623 Format(instr, "bal 'imm16s -> 'imm16p4s2");
1625 Format(instr, "bgezal 'rs, 'imm16u -> 'imm16p4s2");
1629 Format(instr, "bgezall 'rs, 'imm16u -> 'imm16p4s2");
1632 Format(instr, "dahi 'rs, 'imm16x");
1635 Format(instr, "dati 'rs, 'imm16x");
1654 Format(instr, "beq 'rs, 'rt, 'imm16u -> 'imm16p4s2");
1657 Format(instr, "bc 'imm26s -> 'imm26p4s2");
1660 Format(instr, "balc 'imm26s -> 'imm26p4s2");
1663 Format(instr, "bne 'rs, 'rt, 'imm16u -> 'imm16p4s2");
1667 Format(instr, "blez 'rs, 'imm16u -> 'imm16p4s2");
1670 Format(instr, "bgeuc 'rs, 'rt, 'imm16u -> 'imm16p4s2");
1673 Format(instr, "bgezalc 'rs, 'imm16u -> 'imm16p4s2");
1675 Format(instr, "blezalc 'rt, 'imm16u -> 'imm16p4s2");
1682 Format(instr, "bgtz 'rs, 'imm16u -> 'imm16p4s2");
1685 Format(instr, "bltuc 'rs, 'rt, 'imm16u -> 'imm16p4s2");
1688 Format(instr, "bltzalc 'rt, 'imm16u -> 'imm16p4s2");
1690 Format(instr, "bgtzalc 'rt, 'imm16u -> 'imm16p4s2");
1697 Format(instr, "bgezc 'rt, 'imm16u -> 'imm16p4s2");
1700 Format(instr, "bgec 'rs, 'rt, 'imm16u -> 'imm16p4s2");
1702 Format(instr, "blezc 'rt, 'imm16u -> 'imm16p4s2");
1709 Format(instr, "bltzc 'rt, 'imm16u -> 'imm16p4s2");
1712 Format(instr, "bltc 'rs, 'rt, 'imm16u -> 'imm16p4s2");
1714 Format(instr, "bgtzc 'rt, 'imm16u -> 'imm16p4s2");
1721 Format(instr, "jic 'rt, 'imm16s");
1723 Format(instr, "beqzc 'rs, 'imm21s -> 'imm21p4s2");
1728 Format(instr, "jialc 'rt, 'imm16s");
1730 Format(instr, "bnezc 'rs, 'imm21s -> 'imm21p4s2");
1736 Format(instr, "addi 'rt, 'rs, 'imm16s");
1742 Format(instr, "bovc 'rs, 'rt, 'imm16s -> 'imm16p4s2");
1746 Format(instr, "beqzalc 'rt, 'imm16s -> 'imm16p4s2");
1748 Format(instr, "beqc 'rs, 'rt, 'imm16s -> 'imm16p4s2");
1755 Format(instr, "daddi 'rt, 'rs, 'imm16s");
1761 Format(instr, "bnvc 'rs, 'rt, 'imm16s -> 'imm16p4s2");
1765 Format(instr, "bnezalc 'rt, 'imm16s -> 'imm16p4s2");
1767 Format(instr, "bnec 'rs, 'rt, 'imm16s -> 'imm16p4s2");
1773 Format(instr, "addiu 'rt, 'rs, 'imm16s");
1776 Format(instr, "daddiu 'rt, 'rs, 'imm16s");
1779 Format(instr, "slti 'rt, 'rs, 'imm16s");
1782 Format(instr, "sltiu 'rt, 'rs, 'imm16u");
1785 Format(instr, "andi 'rt, 'rs, 'imm16x");
1788 Format(instr, "ori 'rt, 'rs, 'imm16x");
1791 Format(instr, "xori 'rt, 'rs, 'imm16x");
1795 Format(instr, "lui 'rt, 'imm16x");
1798 Format(instr, "aui 'rt, 'rs, 'imm16x");
1800 Format(instr, "lui 'rt, 'imm16x");
1805 Format(instr, "daui 'rt, 'rs, 'imm16x");
1809 Format(instr, "lb 'rt, 'imm16s('rs)");
1812 Format(instr, "lh 'rt, 'imm16s('rs)");
1815 Format(instr, "lwl 'rt, 'imm16s('rs)");
1818 Format(instr, "ldl 'rt, 'imm16s('rs)");
1821 Format(instr, "lw 'rt, 'imm16s('rs)");
1824 Format(instr, "lwu 'rt, 'imm16s('rs)");
1827 Format(instr, "ld 'rt, 'imm16s('rs)");
1830 Format(instr, "lbu 'rt, 'imm16s('rs)");
1833 Format(instr, "lhu 'rt, 'imm16s('rs)");
1836 Format(instr, "lwr 'rt, 'imm16s('rs)");
1839 Format(instr, "ldr 'rt, 'imm16s('rs)");
1842 Format(instr, "pref 'rt, 'imm16s('rs)");
1845 Format(instr, "sb 'rt, 'imm16s('rs)");
1848 Format(instr, "sh 'rt, 'imm16s('rs)");
1851 Format(instr, "swl 'rt, 'imm16s('rs)");
1854 Format(instr, "sw 'rt, 'imm16s('rs)");
1857 Format(instr, "sd 'rt, 'imm16s('rs)");
1860 Format(instr, "swr 'rt, 'imm16s('rs)");
1863 Format(instr, "lwc1 'ft, 'imm16s('rs)");
1866 Format(instr, "ldc1 'ft, 'imm16s('rs)");
1869 Format(instr, "swc1 'ft, 'imm16s('rs)");
1872 Format(instr, "sdc1 'ft, 'imm16s('rs)");
1880 Format(instr, "aluipc 'rs, 'imm16s");
1883 Format(instr, "auipc 'rs, 'imm16s");
1890 Format(instr, "ldpc 'rs, 'imm18s");
1897 Format(instr, "lwupc 'rs, 'imm19s");
1900 Format(instr, "lwpc 'rs, 'imm19s");
1903 Format(instr, "addiupc 'rs, 'imm19s");
1928 Format(instr, "j 'imm26x -> 'imm26j");
1931 Format(instr, "jal 'imm26x -> 'imm26j");
1962 Format(instr, "UNSUPPORTED");