Add comment about using Encoding A1 push instruction to emulate the "stmfd sp!, reg" case,

i.e., pushing one register onto the full descending stacks.

llvm-svn: 124149
This commit is contained in:
Johnny Chen 2011-01-24 22:25:48 +00:00
parent 6e959a5687
commit 9397fba093
1 changed files with 3 additions and 0 deletions

View File

@ -135,6 +135,9 @@ EmulateARMPushEncoding (EmulateInstructionARM *emulator, ARMEncoding encoding)
break;
case eEncodingA1:
registers = EmulateInstruction::UnsignedBits (opcode, 15, 0);
// Instead of return false, let's handle the following case as well,
// which amounts to pushing one reg onto the full descending stacks.
// if BitCount(register_list) < 2 then SEE STMDB / STMFD;
break;
case eEncodingA2:
t = EmulateInstruction::UnsignedBits (opcode, 15, 12);