Lines Matching refs:format
111 void PrintFormat(Instruction* instr); // For floating format postfix.
131 void Format(Instruction* instr, const char* format);
654 int Decoder::FormatRegister(Instruction* instr, const char* format) {
655 DCHECK_EQ(format[0], 'r');
656 if (format[1] == 's') { // 'rs: Rs register.
660 } else if (format[1] == 't') { // 'rt: rt register.
664 } else if (format[1] == 'd') { // 'rd: rd register.
674 int Decoder::FormatFPURegister(Instruction* instr, const char* format) {
675 DCHECK_EQ(format[0], 'f');
677 if (format[1] == 's') { // 'fs: fs register.
681 } else if (format[1] == 't') { // 'ft: ft register.
685 } else if (format[1] == 'd') { // 'fd: fd register.
689 } else if (format[1] == 'r') { // 'fr: fr register.
695 if (format[1] == 's') { // 'fs: fs register.
699 } else if (format[1] == 't') { // 'ft: ft register.
703 } else if (format[1] == 'd') { // 'fd: fd register.
707 } else if (format[1] == 'r') { // 'fr: fr register.
718 int Decoder::FormatMSARegister(Instruction* instr, const char* format) {
719 DCHECK_EQ(format[0], 'w');
720 if (format[1] == 's') {
724 } else if (format[1] == 't') {
728 } else if (format[1] == 'd') {
738 // the current instructions. The format string points to the first
742 int Decoder::FormatOption(Instruction* instr, const char* format) {
743 switch (format[0]) {
745 DCHECK(STRING_STARTS_WITH(format, "code"));
750 if (format[3] == '1') {
751 if (format[4] == '6') {
752 DCHECK(STRING_STARTS_WITH(format, "imm16"));
753 switch (format[5]) {
755 DCHECK(STRING_STARTS_WITH(format, "imm16s"));
759 DCHECK(STRING_STARTS_WITH(format, "imm16u"));
763 DCHECK(STRING_STARTS_WITH(format, "imm16x"));
767 DCHECK(STRING_STARTS_WITH(format, "imm16p"));
770 switch (format[6]) {
772 DCHECK(STRING_STARTS_WITH(format, "imm16p4"));
774 switch (format[8]) {
776 DCHECK(STRING_STARTS_WITH(format, "imm16p4s2"));
786 } else if (format[4] == '8') {
787 DCHECK(STRING_STARTS_WITH(format, "imm18"));
788 switch (format[5]) {
790 DCHECK(STRING_STARTS_WITH(format, "imm18s"));
794 DCHECK(STRING_STARTS_WITH(format, "imm18x"));
799 } else if (format[4] == '9') {
800 DCHECK(STRING_STARTS_WITH(format, "imm19"));
801 switch (format[5]) {
803 DCHECK(STRING_STARTS_WITH(format, "imm19s"));
807 DCHECK(STRING_STARTS_WITH(format, "imm19x"));
812 } else if (format[4] == '0' && format[5] == 's') {
813 DCHECK(STRING_STARTS_WITH(format, "imm10s"));
814 if (format[6] == '1') {
815 DCHECK(STRING_STARTS_WITH(format, "imm10s1"));
817 } else if (format[6] == '2') {
818 DCHECK(STRING_STARTS_WITH(format, "imm10s2"));
823 } else if (format[3] == '2' && format[4] == '1') {
824 DCHECK(STRING_STARTS_WITH(format, "imm21"));
825 switch (format[5]) {
827 DCHECK(STRING_STARTS_WITH(format, "imm21s"));
831 DCHECK(STRING_STARTS_WITH(format, "imm21x"));
835 DCHECK(STRING_STARTS_WITH(format, "imm21p"));
838 switch (format[6]) {
840 DCHECK(STRING_STARTS_WITH(format, "imm21p4"));
842 switch (format[8]) {
844 DCHECK(STRING_STARTS_WITH(format, "imm21p4s2"));
854 } else if (format[3] == '2' && format[4] == '6') {
855 DCHECK(STRING_STARTS_WITH(format, "imm26"));
856 switch (format[5]) {
858 DCHECK(STRING_STARTS_WITH(format, "imm26s"));
862 DCHECK(STRING_STARTS_WITH(format, "imm26x"));
866 DCHECK(STRING_STARTS_WITH(format, "imm26p"));
869 switch (format[6]) {
871 DCHECK(STRING_STARTS_WITH(format, "imm26p4"));
873 switch (format[8]) {
875 DCHECK(STRING_STARTS_WITH(format, "imm26p4s2"));
884 DCHECK(STRING_STARTS_WITH(format, "imm26j"));
890 } else if (format[3] == '5') {
891 DCHECK(STRING_STARTS_WITH(format, "imm5"));
892 if (format[4] == 'u') {
893 DCHECK(STRING_STARTS_WITH(format, "imm5u"));
895 } else if (format[4] == 's') {
896 DCHECK(STRING_STARTS_WITH(format, "imm5s"));
900 } else if (format[3] == '8') {
901 DCHECK(STRING_STARTS_WITH(format, "imm8"));
904 } else if (format[3] == '9') {
905 DCHECK(STRING_STARTS_WITH(format, "imm9"));
906 if (format[4] == 'u') {
907 DCHECK(STRING_STARTS_WITH(format, "imm9u"));
909 } else if (format[4] == 's') {
910 DCHECK(STRING_STARTS_WITH(format, "imm9s"));
914 } else if (format[3] == 'b') {
915 DCHECK(STRING_STARTS_WITH(format, "immb"));
918 } else if (format[3] == 'e') {
919 DCHECK(STRING_STARTS_WITH(format, "imme"));
926 return FormatRegister(instr, format);
929 return FormatFPURegister(instr, format);
932 return FormatMSARegister(instr, format);
935 switch (format[1]) {
937 if (format[2] == '2') {
938 DCHECK(STRING_STARTS_WITH(format, "sa2")); // 'sa2
942 DCHECK(STRING_STARTS_WITH(format, "sa"));
947 DCHECK(STRING_STARTS_WITH(format, "sd"));
952 if (format[2] == '1') {
953 DCHECK(STRING_STARTS_WITH(format, "ss1")); // ext, dext, dextu size
955 } else if (format[2] == '2') {
956 DCHECK(STRING_STARTS_WITH(format, "ss2")); // ins, dins, dinsu size
958 } else if (format[2] == '3') {
959 DCHECK(STRING_STARTS_WITH(format, "ss3")); // dextm size
961 } else if (format[2] == '4') {
962 DCHECK(STRING_STARTS_WITH(format, "ss4")); // dinsm size
965 DCHECK(STRING_STARTS_WITH(format, "ss5")); // dextu, dinsu pos
973 switch (format[1]) {
975 DCHECK(STRING_STARTS_WITH(format, "bc"));
980 switch (format[2]) {
982 DCHECK(STRING_STARTS_WITH(format, "bp2"));
987 DCHECK(STRING_STARTS_WITH(format, "bp3"));
996 DCHECK(STRING_STARTS_WITH(format, "Cc"));
1014 void Decoder::Format(Instruction* instr, const char* format) {
1015 char cur = *format++;
1018 format += FormatOption(instr, format);
1022 cur = *format++;