Lines Matching refs:opcode
252 std::string opcode; in DumpArm() local
260 opcode = "bkpt"; in DumpArm()
267 opcode = (((instruction >> 5) & 1) ? "blx" : "bx"); in DumpArm()
274 opcode = kDataProcessingOperations[op]; in DumpArm()
313 opcode = StringPrintf("%s%s", (l ? "ldr" : "str"), (b ? "b" : "")); in DumpArm()
343 opcode = StringPrintf("%s%c%c", (l ? "ldm" : "stm"), (u ? 'i' : 'd'), (p ? 'b' : 'a')); in DumpArm()
350 opcode = (bl ? "bl" : "b"); in DumpArm()
357 opcode = "???"; in DumpArm()
360 opcode += kConditionCodeNames[cond]; in DumpArm()
361 opcode += suffixes; in DumpArm()
364 << StringPrintf(": %08x\t%-7s ", instruction, opcode.c_str()) in DumpArm()
503 std::ostringstream opcode; in DumpThumb32() local
529 opcode << "stm"; in DumpThumb32()
533 opcode << "ldm"; in DumpThumb32()
536 opcode << "pop"; in DumpThumb32()
542 opcode << "stmdb"; in DumpThumb32()
545 opcode << "push"; in DumpThumb32()
548 opcode << "ldmdb"; in DumpThumb32()
568 opcode << "ldrd"; in DumpThumb32()
570 opcode << "strd"; in DumpThumb32()
586 opcode << "strex"; in DumpThumb32()
598 opcode << ((op5 == 4) ? "strexb" : "strexh"); in DumpThumb32()
607 opcode << "strexd"; in DumpThumb32()
622 opcode << "ldrex"; in DumpThumb32()
632 opcode << "tbb"; in DumpThumb32()
635 opcode << "tbh"; in DumpThumb32()
639 opcode << ((op5 == 4) ? "ldrexb" : "ldrexh"); in DumpThumb32()
646 opcode << "ldrexd"; in DumpThumb32()
659 opcode << "strd"; in DumpThumb32()
661 opcode << "ldrd"; in DumpThumb32()
702 opcode << "and"; in DumpThumb32()
705 opcode << "UNKNOWN TST-" << S; in DumpThumb32()
708 opcode << "tst"; in DumpThumb32()
712 case 0x1: opcode << "bic"; break; in DumpThumb32()
715 opcode << "orr"; in DumpThumb32()
718 opcode << "mov"; in DumpThumb32()
723 opcode << "orn"; in DumpThumb32()
725 opcode << "mvn"; in DumpThumb32()
730 opcode << "eor"; in DumpThumb32()
733 opcode << "UNKNOWN TEQ-" << S; in DumpThumb32()
736 opcode << "teq"; in DumpThumb32()
740 case 0x6: opcode << "pkh"; break; in DumpThumb32()
743 opcode << "add"; in DumpThumb32()
746 opcode << "UNKNOWN CMN-" << S; in DumpThumb32()
749 opcode << "cmn"; in DumpThumb32()
753 case 0xA: opcode << "adc"; break; in DumpThumb32()
754 case 0xB: opcode << "sbc"; break; in DumpThumb32()
757 opcode << "sub"; in DumpThumb32()
760 opcode << "UNKNOWN CMP-" << S; in DumpThumb32()
763 opcode << "cmp"; in DumpThumb32()
767 case 0xE: opcode << "rsb"; break; in DumpThumb32()
768 default: opcode << "UNKNOWN DPSR-" << op3; break; in DumpThumb32()
772 opcode << "s"; in DumpThumb32()
774 opcode << ".w"; in DumpThumb32()
832 opcode << "UNDEFINED"; in DumpThumb32()
840 opcode << (L == 1 ? "vldr" : "vstr"); in DumpThumb32()
847 opcode << (L == 1 ? "vpop" : "vpush"); in DumpThumb32()
850 opcode << (L == 1 ? "vldm" : "vstm"); in DumpThumb32()
854 opcode << (S == 1 ? ".f64" : ".f32"); in DumpThumb32()
864 opcode << "vmov" << (S ? ".f64" : ".f32"); in DumpThumb32()
906 opcode << (Q == 0 ? "vmla" : "vmls") << (S != 0 ? ".f64" : ".f32"); in DumpThumb32()
909 opcode << (Q == 0 ? "vmul" : "vnmul") << (S != 0 ? ".f64" : ".f32"); in DumpThumb32()
912 opcode << (Q == 0 ? "vadd" : "vsub") << (S != 0 ? ".f64" : ".f32"); in DumpThumb32()
915 opcode << "vdiv" << (S != 0 ? ".f64" : ".f32"); in DumpThumb32()
919 opcode << "vmov" << (S != 0 ? ".f64" : ".f32"); in DumpThumb32()
948 opcode << (op == 0 ? "vmov" : "vabs") << (S != 0 ? ".f64" : ".f32"); in DumpThumb32()
951 opcode << (op != 0 ? "vsqrt" : "vneg") << (S != 0 ? ".f64" : ".f32"); in DumpThumb32()
954 opcode << "vcmp" << (S != 0 ? ".f64" : ".f32"); in DumpThumb32()
960 opcode << "vcmpe" << (S != 0 ? ".f64" : ".f32"); in DumpThumb32()
971 opcode << "vcvt" << (op == 0 ? "r" : "") << ".s32.f64"; in DumpThumb32()
975 opcode << "vcvt" << (op == 0 ? "r" : "") << ".s32.f32"; in DumpThumb32()
981 opcode << "vcvt" << (op == 0 ? "r" : "") << ".u32.f64"; in DumpThumb32()
985 opcode << "vcvt" << (op == 0 ? "r" : "") << ".u32.f32"; in DumpThumb32()
991 opcode << "vcvt.f64." << (op == 0 ? "u" : "s") << "32"; in DumpThumb32()
995 opcode << "vcvt.f32." << (op == 0 ? "u" : "s") << "32"; in DumpThumb32()
1002 opcode << "vcvt.f64.f32"; in DumpThumb32()
1006 opcode << "vcvt.f32.f64"; in DumpThumb32()
1011 opcode << "vcvt"; in DumpThumb32()
1028 opcode << "vmov.f32"; in DumpThumb32()
1048 opcode << "vmrs"; in DumpThumb32()
1088 opcode << "mov"; in DumpThumb32()
1090 opcode << "s"; in DumpThumb32()
1092 opcode << ".w"; in DumpThumb32()
1094 opcode << "mvn"; in DumpThumb32()
1096 opcode << "s"; in DumpThumb32()
1103 opcode << "tst"; in DumpThumb32()
1105 opcode << "teq"; in DumpThumb32()
1107 opcode << "cmn.w"; in DumpThumb32()
1109 opcode << "cmp.w"; in DumpThumb32()
1114 case 0x0: opcode << "and"; break; in DumpThumb32()
1115 case 0x1: opcode << "bic"; break; in DumpThumb32()
1116 case 0x2: opcode << "orr"; break; in DumpThumb32()
1117 case 0x3: opcode << "orn"; break; in DumpThumb32()
1118 case 0x4: opcode << "eor"; break; in DumpThumb32()
1119 case 0x8: opcode << "add"; break; in DumpThumb32()
1120 case 0xA: opcode << "adc"; break; in DumpThumb32()
1121 case 0xB: opcode << "sbc"; break; in DumpThumb32()
1122 case 0xD: opcode << "sub"; break; in DumpThumb32()
1123 case 0xE: opcode << "rsb"; break; in DumpThumb32()
1124 default: opcode << "UNKNOWN DPMI-" << op3; break; in DumpThumb32()
1127 opcode << "s"; in DumpThumb32()
1151 opcode << (op3 == 0 ? "addw" : "subw"); in DumpThumb32()
1154 opcode << "adr"; in DumpThumb32()
1168 opcode << (op3 == 0x04 ? "movw" : "movt"); in DumpThumb32()
1185 opcode << "bfi"; in DumpThumb32()
1188 opcode << "bfc"; in DumpThumb32()
1192 opcode << ((op3 & 0x8) != 0u ? "ubfx" : "sbfx"); in DumpThumb32()
1235 opcode << "b"; in DumpThumb32()
1236 DumpCond(opcode, cond); in DumpThumb32()
1237 opcode << ".w"; in DumpThumb32()
1243 case 4: opcode << "dsb"; DumpMemoryDomain(args, instr & 0xF); break; in DumpThumb32()
1244 case 5: opcode << "dmb"; DumpMemoryDomain(args, instr & 0xF); break; in DumpThumb32()
1245 case 6: opcode << "isb"; DumpMemoryDomain(args, instr & 0xF); break; in DumpThumb32()
1252 opcode << "udf"; in DumpThumb32()
1275 opcode << "b"; in DumpThumb32()
1278 DumpCond(opcode, cond); in DumpThumb32()
1287 opcode << ".w"; in DumpThumb32()
1307 opcode << "bx"; in DumpThumb32()
1309 opcode << "blx"; in DumpThumb32()
1324 opcode << "UNDEFINED"; in DumpThumb32()
1328 opcode << "UNDEFINED [store]"; in DumpThumb32()
1332 opcode << "UNDEFINED [load]"; in DumpThumb32()
1336 opcode << "UNKNOWN " << op2 << " [SIMD]"; in DumpThumb32()
1388 opcode << "UNDEFINED [PLI+W]"; in DumpThumb32()
1390 opcode << pld_pli << w; in DumpThumb32()
1396 opcode << pld_pli << w; in DumpThumb32()
1400 opcode << pld_pli << w; in DumpThumb32()
1403 opcode << "UNDEFINED [~" << pld_pli << "]"; in DumpThumb32()
1412 opcode << "UNDEFINED [STR-lit]"; in DumpThumb32()
1416 opcode << ldr_str << sign << type << ".w"; in DumpThumb32()
1433 opcode << ldr_str << sign << type << ".w"; in DumpThumb32()
1438 opcode << (is_load ? "pop" : "push") << ".w"; in DumpThumb32()
1442 opcode << "UNDEFINED [P = W = 0 for " << ldr_str << "]"; in DumpThumb32()
1451 opcode << ldr_str << sign << type << t << ".w"; in DumpThumb32()
1475 opcode << kThumbReverseOperations[op3]; in DumpThumb32()
1489 opcode << "clz"; in DumpThumb32()
1510 opcode << kThumb2ShiftOperations[shift_op] << (S != 0 ? "s" : ""); in DumpThumb32()
1525 opcode << "mul"; in DumpThumb32()
1528 opcode << "mla"; in DumpThumb32()
1532 opcode << "mls"; in DumpThumb32()
1555 opcode << "smull"; in DumpThumb32()
1559 opcode << "sdiv"; in DumpThumb32()
1563 opcode << "umull"; in DumpThumb32()
1567 opcode << "udiv"; in DumpThumb32()
1584 opcode << it_conditions_.back(); in DumpThumb32()
1587 if (opcode.str().size() == 0) { in DumpThumb32()
1588 opcode << "UNKNOWN " << op2; in DumpThumb32()
1592 << StringPrintf(": %08x\t%-7s ", instr, opcode.str().c_str()) in DumpThumb32()
1603 std::ostringstream opcode; in DumpThumb16() local
1619 opcode << "lsls"; in DumpThumb16()
1621 opcode << "lsrs"; in DumpThumb16()
1623 opcode << "asrs"; in DumpThumb16()
1637 opcode << "mov"; in DumpThumb16()
1640 opcode << "adds"; in DumpThumb16()
1642 opcode << "subs"; in DumpThumb16()
1665 case 4: opcode << "movs"; break; in DumpThumb16()
1666 case 5: opcode << "cmp"; break; in DumpThumb16()
1667 case 6: opcode << "adds"; break; in DumpThumb16()
1668 case 7: opcode << "subs"; break; in DumpThumb16()
1681 opcode << kThumbDataProcessingOperations[opcode2]; in DumpThumb16()
1694 opcode << "add"; in DumpThumb16()
1705 opcode << "mov"; in DumpThumb16()
1715 opcode << "cmp"; in DumpThumb16()
1723 opcode << ((opcode2 & 0x2) == 0 ? "bx" : "blx"); in DumpThumb16()
1735 opcode << "ldr"; in DumpThumb16()
1749 case 0: opcode << "str"; break; in DumpThumb16()
1750 case 1: opcode << "strh"; break; in DumpThumb16()
1751 case 2: opcode << "strb"; break; in DumpThumb16()
1752 case 3: opcode << "ldrsb"; break; in DumpThumb16()
1753 case 4: opcode << "ldr"; break; in DumpThumb16()
1754 case 5: opcode << "ldrh"; break; in DumpThumb16()
1755 case 6: opcode << "ldrb"; break; in DumpThumb16()
1756 case 7: opcode << "ldrsh"; break; in DumpThumb16()
1763 opcode << (opB == 0 ? "str" : "ldr"); in DumpThumb16()
1773 opcode << (opB == 0 ? "str" : "ldr"); in DumpThumb16()
1777 opcode << (opB == 0 ? "strb" : "ldrb"); in DumpThumb16()
1781 opcode << (opB == 0 ? "strh" : "ldrh"); in DumpThumb16()
1789 opcode << "b"; in DumpThumb16()
1790 DumpCond(opcode, cond); in DumpThumb16()
1796 opcode << "add"; in DumpThumb16()
1806 opcode << ((opcode2 & 4) == 0 ? "add" : "sub"); in DumpThumb16()
1823 opcode << (op != 0 ? "cbnz" : "cbz"); in DumpThumb16()
1831 opcode << "push"; in DumpThumb16()
1837 opcode << "pop"; in DumpThumb16()
1842 opcode << "bkpt"; in DumpThumb16()
1850 opcode << kThumbReverseOperations[op]; in DumpThumb16()
1863 case 0: opcode << "nop"; break; in DumpThumb16()
1864 case 1: opcode << "yield"; break; in DumpThumb16()
1865 case 2: opcode << "wfe"; break; in DumpThumb16()
1866 case 3: opcode << "sev"; break; in DumpThumb16()
1872 opcode << "it"; in DumpThumb16()
1882 opcode << 't'; in DumpThumb16()
1885 opcode << 'e'; in DumpThumb16()
1911 opcode << ((instr & 0x800) == 0 ? "str" : "ldr"); in DumpThumb16()
1920 opcode << ((instr & 0x800) == 0 ? "str" : "ldr"); in DumpThumb16()
1931 opcode << "b"; in DumpThumb16()
1937 opcode << it_conditions_.back(); in DumpThumb16()
1942 << StringPrintf(": %04x \t%-7s ", instr, opcode.str().c_str()) in DumpThumb16()