summaryrefslogtreecommitdiffstats
path: root/vm/compiler/codegen/arm/ArchUtility.c
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-08-26 10:03:03 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-08-26 10:03:03 -0700
commit06566d20700820a62c8793858e359ed643ab7b1e (patch)
tree2fa62e21522fa8080882ce908b5781dea5327d10 /vm/compiler/codegen/arm/ArchUtility.c
parentce114ac196211d6b2673650d9d565d689f6c094f (diff)
parent270c1d64a192341be842f46734054c692bac061e (diff)
downloadandroid_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.c6
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);