reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/lldb/source/API/SystemInitializerFull.cpp
  238   EmulateInstructionARM::Initialize();
  335   EmulateInstructionARM::Terminate();
tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
  735   if (EmulateInstructionARM::SupportsEmulatingInstructionsOfTypeStatic(
  738       std::unique_ptr<EmulateInstructionARM> emulate_insn_up(
  739           new EmulateInstructionARM(arch));
  744       std::unique_ptr<EmulateInstructionARM> emulate_insn_up(
  745           new EmulateInstructionARM(arch));
12847 EmulateInstructionARM::ARMOpcode *
12855        &EmulateInstructionARM::EmulatePUSH, "push <registers>"},
12857        &EmulateInstructionARM::EmulatePUSH, "push <register>"},
12861        &EmulateInstructionARM::EmulateADDRdSPImm, "add r7, sp, #<const>"},
12863        &EmulateInstructionARM::EmulateSUBR7IPImm, "sub r7, ip, #<const>"},
12866        &EmulateInstructionARM::EmulateMOVRdSP, "mov ip, sp"},
12868        &EmulateInstructionARM::EmulateADDRdSPImm, "add ip, sp, #<const>"},
12870        &EmulateInstructionARM::EmulateSUBIPSPImm, "sub ip, sp, #<const>"},
12874        &EmulateInstructionARM::EmulateSUBSPImm, "sub sp, sp, #<const>"},
12876        &EmulateInstructionARM::EmulateSUBSPReg,
12882        &EmulateInstructionARM::EmulateSTRRtSP, "str Rt, [sp, #-imm12]!"},
12886        &EmulateInstructionARM::EmulateVPUSH, "vpush.64 <list>"},
12888        &EmulateInstructionARM::EmulateVPUSH, "vpush.32 <list>"},
12893        &EmulateInstructionARM::EmulatePOP, "pop <registers>"},
12895        &EmulateInstructionARM::EmulatePOP, "pop <register>"},
12897        &EmulateInstructionARM::EmulateVPOP, "vpop.64 <list>"},
12899        &EmulateInstructionARM::EmulateVPOP, "vpop.32 <list>"},
12903        &EmulateInstructionARM::EmulateSVC, "svc #imm24"},
12909        &EmulateInstructionARM::EmulateBLXImmediate, "blx <label>"},
12911        &EmulateInstructionARM::EmulateB, "b #imm24"},
12913        &EmulateInstructionARM::EmulateBLXImmediate, "bl <label>"},
12915        &EmulateInstructionARM::EmulateBLXRm, "blx <Rm>"},
12918        &EmulateInstructionARM::EmulateBXRm, "bx <Rm>"},
12921        &EmulateInstructionARM::EmulateBXJRm, "bxj <Rm>"},
12926        &EmulateInstructionARM::EmulateADCImm, "adc{s}<c> <Rd>, <Rn>, #const"},
12929        &EmulateInstructionARM::EmulateADCReg,
12933        &EmulateInstructionARM::EmulateADDImmARM,
12937        &EmulateInstructionARM::EmulateADDReg,
12941        &EmulateInstructionARM::EmulateADDRegShift,
12945        &EmulateInstructionARM::EmulateADR, "add<c> <Rd>, PC, #<const>"},
12947        &EmulateInstructionARM::EmulateADR, "sub<c> <Rd>, PC, #<const>"},
12950        &EmulateInstructionARM::EmulateANDImm, "and{s}<c> <Rd>, <Rn>, #const"},
12953        &EmulateInstructionARM::EmulateANDReg,
12957        &EmulateInstructionARM::EmulateBICImm, "bic{s}<c> <Rd>, <Rn>, #const"},
12960        &EmulateInstructionARM::EmulateBICReg,
12964        &EmulateInstructionARM::EmulateEORImm, "eor{s}<c> <Rd>, <Rn>, #const"},
12967        &EmulateInstructionARM::EmulateEORReg,
12971        &EmulateInstructionARM::EmulateORRImm, "orr{s}<c> <Rd>, <Rn>, #const"},
12974        &EmulateInstructionARM::EmulateORRReg,
12978        &EmulateInstructionARM::EmulateRSBImm, "rsb{s}<c> <Rd>, <Rn>, #<const>"},
12981        &EmulateInstructionARM::EmulateRSBReg,
12985        &EmulateInstructionARM::EmulateRSCImm, "rsc{s}<c> <Rd>, <Rn>, #<const>"},
12988        &EmulateInstructionARM::EmulateRSCReg,
12992        &EmulateInstructionARM::EmulateSBCImm, "sbc{s}<c> <Rd>, <Rn>, #<const>"},
12995        &EmulateInstructionARM::EmulateSBCReg,
12999        &EmulateInstructionARM::EmulateSUBImmARM,
13003        &EmulateInstructionARM::EmulateSUBSPImm, "sub{s}<c> <Rd>, sp, #<const>"},
13006        &EmulateInstructionARM::EmulateSUBReg,
13010        &EmulateInstructionARM::EmulateTEQImm, "teq<c> <Rn>, #const"},
13013        &EmulateInstructionARM::EmulateTEQReg, "teq<c> <Rn>, <Rm> {,<shift>}"},
13016        &EmulateInstructionARM::EmulateTSTImm, "tst<c> <Rn>, #const"},
13019        &EmulateInstructionARM::EmulateTSTReg, "tst<c> <Rn>, <Rm> {,<shift>}"},
13023        &EmulateInstructionARM::EmulateMOVRdImm, "mov{s}<c> <Rd>, #<const>"},
13025        &EmulateInstructionARM::EmulateMOVRdImm, "movw<c> <Rd>, #<imm16>"},
13028        &EmulateInstructionARM::EmulateMOVRdRm, "mov{s}<c> <Rd>, <Rm>"},
13031        &EmulateInstructionARM::EmulateMVNImm, "mvn{s}<c> <Rd>, #<const>"},
13034        &EmulateInstructionARM::EmulateMVNReg,
13038        &EmulateInstructionARM::EmulateCMNImm, "cmn<c> <Rn>, #<const>"},
13041        &EmulateInstructionARM::EmulateCMNReg, "cmn<c> <Rn>, <Rm> {,<shift>}"},
13044        &EmulateInstructionARM::EmulateCMPImm, "cmp<c> <Rn>, #<const>"},
13047        &EmulateInstructionARM::EmulateCMPReg, "cmp<c> <Rn>, <Rm> {,<shift>}"},
13050        &EmulateInstructionARM::EmulateASRImm, "asr{s}<c> <Rd>, <Rm>, #imm"},
13053        &EmulateInstructionARM::EmulateASRReg, "asr{s}<c> <Rd>, <Rn>, <Rm>"},
13056        &EmulateInstructionARM::EmulateLSLImm, "lsl{s}<c> <Rd>, <Rm>, #imm"},
13059        &EmulateInstructionARM::EmulateLSLReg, "lsl{s}<c> <Rd>, <Rn>, <Rm>"},
13062        &EmulateInstructionARM::EmulateLSRImm, "lsr{s}<c> <Rd>, <Rm>, #imm"},
13065        &EmulateInstructionARM::EmulateLSRReg, "lsr{s}<c> <Rd>, <Rn>, <Rm>"},
13068        &EmulateInstructionARM::EmulateRRX, "rrx{s}<c> <Rd>, <Rm>"},
13071        &EmulateInstructionARM::EmulateRORImm, "ror{s}<c> <Rd>, <Rm>, #imm"},
13074        &EmulateInstructionARM::EmulateRORReg, "ror{s}<c> <Rd>, <Rn>, <Rm>"},
13077        &EmulateInstructionARM::EmulateMUL, "mul{s}<c> <Rd>,<R>,<Rm>"},
13081        &EmulateInstructionARM::EmulateSUBSPcLrEtc,
13084        &EmulateInstructionARM::EmulateSUBSPcLrEtc,
13089        &EmulateInstructionARM::EmulateLDM, "ldm<c> <Rn>{!} <registers>"},
13091        &EmulateInstructionARM::EmulateLDMDA, "ldmda<c> <Rn>{!} <registers>"},
13093        &EmulateInstructionARM::EmulateLDMDB, "ldmdb<c> <Rn>{!} <registers>"},
13095        &EmulateInstructionARM::EmulateLDMIB, "ldmib<c> <Rn<{!} <registers>"},
13097        &EmulateInstructionARM::EmulateLDRImmediateARM,
13100        &EmulateInstructionARM::EmulateLDRRegister,
13103        &EmulateInstructionARM::EmulateLDRBLiteral, "ldrb<c> <Rt>, [...]"},
13105        &EmulateInstructionARM::EmulateLDRBRegister,
13108        &EmulateInstructionARM::EmulateLDRHLiteral, "ldrh<c> <Rt>, <label>"},
13110        &EmulateInstructionARM::EmulateLDRHRegister,
13113        &EmulateInstructionARM::EmulateLDRSBImmediate,
13116        &EmulateInstructionARM::EmulateLDRSBLiteral, "ldrsb<c> <Rt> <label>"},
13118        &EmulateInstructionARM::EmulateLDRSBRegister,
13121        &EmulateInstructionARM::EmulateLDRSHImmediate,
13124        &EmulateInstructionARM::EmulateLDRSHLiteral, "ldrsh<c> <Rt>,<label>"},
13126        &EmulateInstructionARM::EmulateLDRSHRegister,
13129        &EmulateInstructionARM::EmulateLDRDImmediate,
13132        &EmulateInstructionARM::EmulateLDRDRegister,
13135        &EmulateInstructionARM::EmulateVLDM, "vldm{mode}<c> <Rn>{!}, <list>"},
13137        &EmulateInstructionARM::EmulateVLDM, "vldm{mode}<c> <Rn>{!}, <list>"},
13139        &EmulateInstructionARM::EmulateVLDR, "vldr<c> <Dd>, [<Rn>{,#+/-<imm>}]"},
13141        &EmulateInstructionARM::EmulateVLDR, "vldr<c> <Sd>, [<Rn>{,#+/-<imm>}]"},
13143        &EmulateInstructionARM::EmulateVLD1Multiple,
13146        &EmulateInstructionARM::EmulateVLD1Single,
13149        &EmulateInstructionARM::EmulateVLD1SingleAll,
13154        &EmulateInstructionARM::EmulateSTM, "stm<c> <Rn>{!} <registers>"},
13156        &EmulateInstructionARM::EmulateSTMDA, "stmda<c> <Rn>{!} <registers>"},
13158        &EmulateInstructionARM::EmulateSTMDB, "stmdb<c> <Rn>{!} <registers>"},
13160        &EmulateInstructionARM::EmulateSTMIB, "stmib<c> <Rn>{!} <registers>"},
13162        &EmulateInstructionARM::EmulateSTRRegister,
13165        &EmulateInstructionARM::EmulateSTRHRegister,
13168        &EmulateInstructionARM::EmulateSTREX, "strex<c> <Rd>, <Rt>, [<Rn>]"},
13170        &EmulateInstructionARM::EmulateSTRBImmARM,
13173        &EmulateInstructionARM::EmulateSTRImmARM,
13176        &EmulateInstructionARM::EmulateSTRDImm,
13179        &EmulateInstructionARM::EmulateSTRDReg,
13182        &EmulateInstructionARM::EmulateVSTM, "vstm{mode}<c> <Rn>{!} <list>"},
13184        &EmulateInstructionARM::EmulateVSTM, "vstm{mode}<c> <Rn>{!} <list>"},
13186        &EmulateInstructionARM::EmulateVSTR, "vstr<c> <Dd> [<Rn>{,#+/-<imm>}]"},
13188        &EmulateInstructionARM::EmulateVSTR, "vstr<c> <Sd> [<Rn>{,#+/-<imm>}]"},
13190        &EmulateInstructionARM::EmulateVST1Multiple,
13193        &EmulateInstructionARM::EmulateVST1Single,
13198        &EmulateInstructionARM::EmulateSXTB, "sxtb<c> <Rd>,<Rm>{,<rotation>}"},
13200        &EmulateInstructionARM::EmulateSXTH, "sxth<c> <Rd>,<Rm>{,<rotation>}"},
13202        &EmulateInstructionARM::EmulateUXTB, "uxtb<c> <Rd>,<Rm>{,<rotation>}"},
13204        &EmulateInstructionARM::EmulateUXTH, "uxth<c> <Rd>,<Rm>{,<rotation>}"},
13206        &EmulateInstructionARM::EmulateRFE, "rfe{<amode>} <Rn>{!}"}
13219 EmulateInstructionARM::ARMOpcode *
13228        &EmulateInstructionARM::EmulatePUSH, "push <registers>"},
13230        &EmulateInstructionARM::EmulatePUSH, "push.w <registers>"},
13232        &EmulateInstructionARM::EmulatePUSH, "push.w <register>"},
13236        &EmulateInstructionARM::EmulateADDRdSPImm, "add r7, sp, #imm"},
13239        &EmulateInstructionARM::EmulateMOVRdSP, "mov r7, sp"},
13243        &EmulateInstructionARM::EmulateMOVLowHigh, "mov r0-r7, r8-r15"},
13247        &EmulateInstructionARM::EmulateLDRRtPCRelative, "ldr <Rt>, [PC, #imm]"},
13251        &EmulateInstructionARM::EmulateADDSPRm, "add sp, <Rm>"},
13253        &EmulateInstructionARM::EmulateSUBSPImm, "sub sp, sp, #imm"},
13255        &EmulateInstructionARM::EmulateSUBSPImm, "sub.w sp, sp, #<const>"},
13257        &EmulateInstructionARM::EmulateSUBSPImm, "subw sp, sp, #imm12"},
13259        &EmulateInstructionARM::EmulateSUBSPReg,
13264        &EmulateInstructionARM::EmulateVPUSH, "vpush.64 <list>"},
13266        &EmulateInstructionARM::EmulateVPUSH, "vpush.32 <list>"},
13271        &EmulateInstructionARM::EmulateADDSPImm, "add<c> <Rd>, sp, #imm"},
13273        &EmulateInstructionARM::EmulateADDSPImm, "add sp, #imm"},
13275        &EmulateInstructionARM::EmulatePOP, "pop <registers>"},
13277        &EmulateInstructionARM::EmulatePOP, "pop.w <registers>"},
13279        &EmulateInstructionARM::EmulatePOP, "pop.w <register>"},
13281        &EmulateInstructionARM::EmulateVPOP, "vpop.64 <list>"},
13283        &EmulateInstructionARM::EmulateVPOP, "vpop.32 <list>"},
13287        &EmulateInstructionARM::EmulateSVC, "svc #imm8"},
13292        &EmulateInstructionARM::EmulateNop, "nop"},
13294        &EmulateInstructionARM::EmulateNop, "nop YIELD (yield hint)"},
13296        &EmulateInstructionARM::EmulateNop, "nop WFE (wait for event hint)"},
13298        &EmulateInstructionARM::EmulateNop, "nop WFI (wait for interrupt hint)"},
13300        &EmulateInstructionARM::EmulateNop, "nop SEV (send event hint)"},
13302        &EmulateInstructionARM::EmulateIT, "it{<x>{<y>{<z>}}} <firstcond>"},
13307        &EmulateInstructionARM::EmulateB, "b<c> #imm8 (outside IT)"},
13309        &EmulateInstructionARM::EmulateB, "b<c> #imm11 (outside or last in IT)"},
13311        &EmulateInstructionARM::EmulateB, "b<c>.w #imm8 (outside IT)"},
13313        &EmulateInstructionARM::EmulateB,
13317        &EmulateInstructionARM::EmulateBLXImmediate, "bl <label>"},
13320        &EmulateInstructionARM::EmulateBLXImmediate, "blx <label>"},
13322        &EmulateInstructionARM::EmulateBLXRm, "blx <Rm>"},
13325        &EmulateInstructionARM::EmulateBXRm, "bx <Rm>"},
13328        &EmulateInstructionARM::EmulateBXJRm, "bxj <Rm>"},
13331        &EmulateInstructionARM::EmulateCB, "cb{n}z <Rn>, <label>"},
13334        &EmulateInstructionARM::EmulateTB, "tbb<c> <Rn>, <Rm>"},
13337        &EmulateInstructionARM::EmulateTB, "tbh<c> <Rn>, <Rm>, lsl #1"},
13342        &EmulateInstructionARM::EmulateADCImm, "adc{s}<c> <Rd>, <Rn>, #<const>"},
13345        &EmulateInstructionARM::EmulateADCReg, "adcs|adc<c> <Rdn>, <Rm>"},
13347        &EmulateInstructionARM::EmulateADCReg,
13351        &EmulateInstructionARM::EmulateADDReg, "adds|add<c> <Rd>, <Rn>, <Rm>"},
13355        &EmulateInstructionARM::EmulateADDReg, "add<c> <Rdn>, <Rm>"},
13358        &EmulateInstructionARM::EmulateADR, "add<c> <Rd>, PC, #<const>"},
13360        &EmulateInstructionARM::EmulateADR, "sub<c> <Rd>, PC, #<const>"},
13362        &EmulateInstructionARM::EmulateADR, "add<c> <Rd>, PC, #<const>"},
13365        &EmulateInstructionARM::EmulateANDImm, "and{s}<c> <Rd>, <Rn>, #<const>"},
13368        &EmulateInstructionARM::EmulateANDReg, "ands|and<c> <Rdn>, <Rm>"},
13370        &EmulateInstructionARM::EmulateANDReg,
13374        &EmulateInstructionARM::EmulateBICImm, "bic{s}<c> <Rd>, <Rn>, #<const>"},
13377        &EmulateInstructionARM::EmulateBICReg, "bics|bic<c> <Rdn>, <Rm>"},
13379        &EmulateInstructionARM::EmulateBICReg,
13383        &EmulateInstructionARM::EmulateEORImm, "eor{s}<c> <Rd>, <Rn>, #<const>"},
13386        &EmulateInstructionARM::EmulateEORReg, "eors|eor<c> <Rdn>, <Rm>"},
13388        &EmulateInstructionARM::EmulateEORReg,
13392        &EmulateInstructionARM::EmulateORRImm, "orr{s}<c> <Rd>, <Rn>, #<const>"},
13395        &EmulateInstructionARM::EmulateORRReg, "orrs|orr<c> <Rdn>, <Rm>"},
13397        &EmulateInstructionARM::EmulateORRReg,
13401        &EmulateInstructionARM::EmulateRSBImm, "rsbs|rsb<c> <Rd>, <Rn>, #0"},
13403        &EmulateInstructionARM::EmulateRSBImm,
13407        &EmulateInstructionARM::EmulateRSBReg,
13411        &EmulateInstructionARM::EmulateSBCImm, "sbc{s}<c> <Rd>, <Rn>, #<const>"},
13414        &EmulateInstructionARM::EmulateSBCReg, "sbcs|sbc<c> <Rdn>, <Rm>"},
13416        &EmulateInstructionARM::EmulateSBCReg,
13420        &EmulateInstructionARM::EmulateADDImmThumb,
13423        &EmulateInstructionARM::EmulateADDImmThumb, "adds|add<c> <Rdn>,#<imm8>"},
13425        &EmulateInstructionARM::EmulateADDImmThumb,
13428        &EmulateInstructionARM::EmulateADDImmThumb,
13432        &EmulateInstructionARM::EmulateSUBImmThumb,
13435        &EmulateInstructionARM::EmulateSUBImmThumb, "subs|sub<c> <Rdn>, #imm8"},
13437        &EmulateInstructionARM::EmulateSUBImmThumb,
13440        &EmulateInstructionARM::EmulateSUBImmThumb,
13444        &EmulateInstructionARM::EmulateSUBSPImm, "sub{s}.w <Rd>, sp, #<const>"},
13446        &EmulateInstructionARM::EmulateSUBSPImm, "subw<c> <Rd>, sp, #imm12"},
13449        &EmulateInstructionARM::EmulateSUBReg, "subs|sub<c> <Rd>, <Rn>, <Rm>"},
13451        &EmulateInstructionARM::EmulateSUBReg,
13455        &EmulateInstructionARM::EmulateTEQImm, "teq<c> <Rn>, #<const>"},
13458        &EmulateInstructionARM::EmulateTEQReg, "teq<c> <Rn>, <Rm> {,<shift>}"},
13461        &EmulateInstructionARM::EmulateTSTImm, "tst<c> <Rn>, #<const>"},
13464        &EmulateInstructionARM::EmulateTSTReg, "tst<c> <Rdn>, <Rm>"},
13466        &EmulateInstructionARM::EmulateTSTReg, "tst<c>.w <Rn>, <Rm> {,<shift>}"},
13470        &EmulateInstructionARM::EmulateMOVRdRm, "mov<c> <Rd>, <Rm>"},
13473        &EmulateInstructionARM::EmulateMOVRdRm, "movs <Rd>, <Rm>"},
13476        &EmulateInstructionARM::EmulateMOVRdRm, "mov{s}<c>.w <Rd>, <Rm>"},
13479        &EmulateInstructionARM::EmulateMOVRdImm, "movs|mov<c> <Rd>, #imm8"},
13481        &EmulateInstructionARM::EmulateMOVRdImm, "mov{s}<c>.w <Rd>, #<const>"},
13483        &EmulateInstructionARM::EmulateMOVRdImm, "movw<c> <Rd>,#<imm16>"},
13486        &EmulateInstructionARM::EmulateMVNImm, "mvn{s} <Rd>, #<const>"},
13489        &EmulateInstructionARM::EmulateMVNReg, "mvns|mvn<c> <Rd>, <Rm>"},
13491        &EmulateInstructionARM::EmulateMVNReg,
13495        &EmulateInstructionARM::EmulateCMNImm, "cmn<c> <Rn>, #<const>"},
13498        &EmulateInstructionARM::EmulateCMNReg, "cmn<c> <Rn>, <Rm>"},
13500        &EmulateInstructionARM::EmulateCMNReg, "cmn<c> <Rn>, <Rm> {,<shift>}"},
13503        &EmulateInstructionARM::EmulateCMPImm, "cmp<c> <Rn>, #imm8"},
13505        &EmulateInstructionARM::EmulateCMPImm, "cmp<c>.w <Rn>, #<const>"},
13508        &EmulateInstructionARM::EmulateCMPReg, "cmp<c> <Rn>, <Rm>"},
13511        &EmulateInstructionARM::EmulateCMPReg, "cmp<c> <Rn>, <Rm>"},
13513        &EmulateInstructionARM::EmulateCMPReg,
13517        &EmulateInstructionARM::EmulateASRImm, "asrs|asr<c> <Rd>, <Rm>, #imm"},
13519        &EmulateInstructionARM::EmulateASRImm, "asr{s}<c>.w <Rd>, <Rm>, #imm"},
13522        &EmulateInstructionARM::EmulateASRReg, "asrs|asr<c> <Rdn>, <Rm>"},
13524        &EmulateInstructionARM::EmulateASRReg, "asr{s}<c>.w <Rd>, <Rn>, <Rm>"},
13527        &EmulateInstructionARM::EmulateLSLImm, "lsls|lsl<c> <Rd>, <Rm>, #imm"},
13529        &EmulateInstructionARM::EmulateLSLImm, "lsl{s}<c>.w <Rd>, <Rm>, #imm"},
13532        &EmulateInstructionARM::EmulateLSLReg, "lsls|lsl<c> <Rdn>, <Rm>"},
13534        &EmulateInstructionARM::EmulateLSLReg, "lsl{s}<c>.w <Rd>, <Rn>, <Rm>"},
13537        &EmulateInstructionARM::EmulateLSRImm, "lsrs|lsr<c> <Rd>, <Rm>, #imm"},
13539        &EmulateInstructionARM::EmulateLSRImm, "lsr{s}<c>.w <Rd>, <Rm>, #imm"},
13542        &EmulateInstructionARM::EmulateLSRReg, "lsrs|lsr<c> <Rdn>, <Rm>"},
13544        &EmulateInstructionARM::EmulateLSRReg, "lsr{s}<c>.w <Rd>, <Rn>, <Rm>"},
13547        &EmulateInstructionARM::EmulateRRX, "rrx{s}<c>.w <Rd>, <Rm>"},
13550        &EmulateInstructionARM::EmulateRORImm, "ror{s}<c>.w <Rd>, <Rm>, #imm"},
13553        &EmulateInstructionARM::EmulateRORReg, "rors|ror<c> <Rdn>, <Rm>"},
13555        &EmulateInstructionARM::EmulateRORReg, "ror{s}<c>.w <Rd>, <Rn>, <Rm>"},
13558        &EmulateInstructionARM::EmulateMUL, "muls <Rdm>,<Rn>,<Rdm>"},
13561        &EmulateInstructionARM::EmulateMUL, "mul<c> <Rd>,<Rn>,<Rm>"},
13565        &EmulateInstructionARM::EmulateSUBSPcLrEtc, "SUBS<c> PC, LR, #<imm8>"},
13572        &EmulateInstructionARM::EmulateRFE, "rfedb<c> <Rn>{!}"},
13574        &EmulateInstructionARM::EmulateRFE, "rfe{ia}<c> <Rn>{!}"},
13578        &EmulateInstructionARM::EmulateLDM, "ldm<c> <Rn>{!} <registers>"},
13580        &EmulateInstructionARM::EmulateLDM, "ldm<c>.w <Rn>{!} <registers>"},
13582        &EmulateInstructionARM::EmulateLDMDB, "ldmdb<c> <Rn>{!} <registers>"},
13584        &EmulateInstructionARM::EmulateLDRRtRnImm, "ldr<c> <Rt>, [<Rn>{,#imm}]"},
13586        &EmulateInstructionARM::EmulateLDRRtRnImm, "ldr<c> <Rt>, [SP{,#imm}]"},
13588        &EmulateInstructionARM::EmulateLDRRtRnImm,
13591        &EmulateInstructionARM::EmulateLDRRtRnImm,
13595        &EmulateInstructionARM::EmulateLDRRtPCRelative,
13598        &EmulateInstructionARM::EmulateLDRRegister, "ldr<c> <Rt>, [<Rn>, <Rm>]"},
13600        &EmulateInstructionARM::EmulateLDRRegister,
13603        &EmulateInstructionARM::EmulateLDRBImmediate,
13606        &EmulateInstructionARM::EmulateLDRBImmediate,
13609        &EmulateInstructionARM::EmulateLDRBImmediate,
13612        &EmulateInstructionARM::EmulateLDRBLiteral, "ldrb<c> <Rt>,[...]"},
13614        &EmulateInstructionARM::EmulateLDRBRegister, "ldrb<c> <Rt>,[<Rn>,<Rm>]"},
13616        &EmulateInstructionARM::EmulateLDRBRegister,
13619        &EmulateInstructionARM::EmulateLDRHImmediate,
13622        &EmulateInstructionARM::EmulateLDRHImmediate,
13625        &EmulateInstructionARM::EmulateLDRHImmediate,
13628        &EmulateInstructionARM::EmulateLDRHLiteral, "ldrh<c> <Rt>, <label>"},
13630        &EmulateInstructionARM::EmulateLDRHRegister,
13633        &EmulateInstructionARM::EmulateLDRHRegister,
13636        &EmulateInstructionARM::EmulateLDRSBImmediate,
13639        &EmulateInstructionARM::EmulateLDRSBImmediate,
13642        &EmulateInstructionARM::EmulateLDRSBLiteral, "ldrsb<c> <Rt>, <label>"},
13644        &EmulateInstructionARM::EmulateLDRSBRegister,
13647        &EmulateInstructionARM::EmulateLDRSBRegister,
13650        &EmulateInstructionARM::EmulateLDRSHImmediate,
13653        &EmulateInstructionARM::EmulateLDRSHImmediate,
13656        &EmulateInstructionARM::EmulateLDRSHLiteral, "ldrsh<c> <Rt>,<label>"},
13658        &EmulateInstructionARM::EmulateLDRSHRegister,
13661        &EmulateInstructionARM::EmulateLDRSHRegister,
13664        &EmulateInstructionARM::EmulateLDRDImmediate,
13667        &EmulateInstructionARM::EmulateVLDM, "vldm{mode}<c> <Rn>{!}, <list>"},
13669        &EmulateInstructionARM::EmulateVLDM, "vldm{mode}<c> <Rn>{!}, <list>"},
13671        &EmulateInstructionARM::EmulateVLDR, "vldr<c> <Dd>, [<Rn>{,#+/-<imm>}]"},
13673        &EmulateInstructionARM::EmulateVLDR, "vldr<c> <Sd>, {<Rn>{,#+/-<imm>}]"},
13675        &EmulateInstructionARM::EmulateVLD1Multiple,
13678        &EmulateInstructionARM::EmulateVLD1Single,
13681        &EmulateInstructionARM::EmulateVLD1SingleAll,
13686        &EmulateInstructionARM::EmulateSTM, "stm<c> <Rn>{!} <registers>"},
13688        &EmulateInstructionARM::EmulateSTM, "stm<c>.w <Rn>{!} <registers>"},
13690        &EmulateInstructionARM::EmulateSTMDB, "stmdb<c> <Rn>{!} <registers>"},
13692        &EmulateInstructionARM::EmulateSTRThumb, "str<c> <Rt>, [<Rn>{,#<imm>}]"},
13694        &EmulateInstructionARM::EmulateSTRThumb, "str<c> <Rt>, [SP,#<imm>]"},
13696        &EmulateInstructionARM::EmulateSTRThumb,
13699        &EmulateInstructionARM::EmulateSTRThumb,
13702        &EmulateInstructionARM::EmulateSTRRegister, "str<c> <Rt> ,{<Rn>, <Rm>]"},
13704        &EmulateInstructionARM::EmulateSTRRegister,
13707        &EmulateInstructionARM::EmulateSTRBThumb,
13710        &EmulateInstructionARM::EmulateSTRBThumb,
13713        &EmulateInstructionARM::EmulateSTRBThumb,
13716        &EmulateInstructionARM::EmulateSTRHRegister, "strh<c> <Rt>,[<Rn>,<Rm>]"},
13718        &EmulateInstructionARM::EmulateSTRHRegister,
13721        &EmulateInstructionARM::EmulateSTREX,
13724        &EmulateInstructionARM::EmulateSTRDImm,
13727        &EmulateInstructionARM::EmulateVSTM, "vstm{mode}<c> <Rn>{!}, <list>"},
13729        &EmulateInstructionARM::EmulateVSTM, "vstm{mode}<c> <Rn>{!}, <list>"},
13731        &EmulateInstructionARM::EmulateVSTR, "vstr<c> <Dd>, [<Rn>{,#+/-<imm>}]"},
13733        &EmulateInstructionARM::EmulateVSTR, "vstr<c> <Sd>, [<Rn>{,#+/-<imm>}]"},
13735        &EmulateInstructionARM::EmulateVST1Multiple,
13738        &EmulateInstructionARM::EmulateVST1Single,
13743        &EmulateInstructionARM::EmulateSXTB, "sxtb<c> <Rd>,<Rm>"},
13745        &EmulateInstructionARM::EmulateSXTB, "sxtb<c>.w <Rd>,<Rm>{,<rotation>}"},
13747        &EmulateInstructionARM::EmulateSXTH, "sxth<c> <Rd>,<Rm>"},
13749        &EmulateInstructionARM::EmulateSXTH, "sxth<c>.w <Rd>,<Rm>{,<rotation>}"},
13751        &EmulateInstructionARM::EmulateUXTB, "uxtb<c> <Rd>,<Rm>"},
13753        &EmulateInstructionARM::EmulateUXTB, "uxtb<c>.w <Rd>,<Rm>{,<rotation>}"},
13755        &EmulateInstructionARM::EmulateUXTH, "uxth<c> <Rd>,<Rm>"},
13757        &EmulateInstructionARM::EmulateUXTH, "uxth<c>.w <Rd>,<Rm>{,<rotation>}"},
14136 EmulateInstructionARM::Mode EmulateInstructionARM::CurrentInstrSet() {
14171 EmulateInstructionARM::AddWithCarryResult
14358        opcode_data->callback != &EmulateInstructionARM::EmulateIT))
tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
  300     EmulateInstructionARM::ARMEncoding encoding;
usr/include/c++/7.4.0/bits/unique_ptr.h
   68         default_delete(const default_delete<_Up>&) noexcept { }
   72       operator()(_Tp* __ptr) const
   74 	static_assert(!is_void<_Tp>::value,
   76 	static_assert(sizeof(_Tp)>0,
  122 	  using type = _Up*;
  137       using pointer = typename _Ptr<_Tp, _Dp>::type;
  161 	typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
  163       __uniq_ptr_impl<_Tp, _Dp> _M_t;
  166       using pointer	  = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
  167       using element_type  = _Tp;
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1645     { typedef _Tp&   type; };
 1650     : public __add_lvalue_reference_helper<_Tp>