diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-08-26 10:03:03 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-08-26 10:03:03 -0700 |
commit | 06566d20700820a62c8793858e359ed643ab7b1e (patch) | |
tree | 2fa62e21522fa8080882ce908b5781dea5327d10 /vm/compiler/codegen/arm/ArchUtility.c | |
parent | ce114ac196211d6b2673650d9d565d689f6c094f (diff) | |
parent | 270c1d64a192341be842f46734054c692bac061e (diff) | |
download | android_dalvik-06566d20700820a62c8793858e359ed643ab7b1e.tar.gz android_dalvik-06566d20700820a62c8793858e359ed643ab7b1e.tar.bz2 android_dalvik-06566d20700820a62c8793858e359ed643ab7b1e.zip |
Merge change 22370
* changes:
Thumb/Thumb2 instruction selection rework.
Diffstat (limited to 'vm/compiler/codegen/arm/ArchUtility.c')
-rw-r--r-- | vm/compiler/codegen/arm/ArchUtility.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/vm/compiler/codegen/arm/ArchUtility.c b/vm/compiler/codegen/arm/ArchUtility.c index 7f6d28464..eeee00b4d 100644 --- a/vm/compiler/codegen/arm/ArchUtility.c +++ b/vm/compiler/codegen/arm/ArchUtility.c @@ -79,9 +79,13 @@ static void buildInsnString(char *fmt, ArmLIR *lir, char* buf, strcpy(tbuf, "!"); } else { assert(fmt < fmtEnd); - assert((unsigned)(nc-'0') < 3); + assert((unsigned)(nc-'0') < 4); operand = lir->operands[nc-'0']; switch(*fmt++) { + case 'n': + operand = ~expandImmediate(operand); + sprintf(tbuf,"%d [0x%x]", operand, operand); + break; case 'm': operand = expandImmediate(operand); sprintf(tbuf,"%d [0x%x]", operand, operand); |