aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/ArmLIR.h
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2010-02-24 16:36:18 -0800
committerElliott Hughes <enh@google.com>2010-02-24 16:36:18 -0800
commitb4c05977c28c38d2f81b48d0cb15559dc3d05564 (patch)
treeb40cc2cc302a088b931eb97bdc0fd6997d96f41f /vm/compiler/codegen/arm/ArmLIR.h
parent88a0f970e47dc0091d2c9965aa9bd06667e5f4b7 (diff)
Optimize more easy multiplications by constants.
Rather than make these changes in the libraries (*10 being a common case), let's do them once and for all in the JIT. The 2^n-1 case could be better if we generated RSB instructions, but the current "fake" RSB is still better than a full multiply. Thumb doesn't support reg/reg/reg/shift instructions, so we can't optimize the "population count <= 2" cases (such as *10) there. Tested on sholes, passion, and passion-running-sapphire (and visually inspected to check we weren't trying to generate Thumb2 instructions there). Also tested with the self-verifier.
Diffstat (limited to 'vm/compiler/codegen/arm/ArmLIR.h')
-rw-r--r--vm/compiler/codegen/arm/ArmLIR.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/vm/compiler/codegen/arm/ArmLIR.h b/vm/compiler/codegen/arm/ArmLIR.h
index b329aedb7..7d262215e 100644
--- a/vm/compiler/codegen/arm/ArmLIR.h
+++ b/vm/compiler/codegen/arm/ArmLIR.h
@@ -706,7 +706,7 @@ extern ArmEncodingMap EncodingMap[kArmLast];
/*
* Each instance of this struct holds a pseudo or real LIR instruction:
- * - pesudo ones (eg labels and marks) and will be discarded by the assembler.
+ * - pseudo ones (eg labels and marks) and will be discarded by the assembler.
* - real ones will be assembled into Thumb instructions.
*
* Machine resources are encoded into a 64-bit vector, where the encodings are