Reviewers: Vyacheslav Egorov,

Description:
Use shift and add instead of mul on ARM for integer hash.

Please review this at http://codereview.chromium.org/9153002/

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     src/arm/macro-assembler-arm.cc


Index: src/arm/macro-assembler-arm.cc
===================================================================
--- src/arm/macro-assembler-arm.cc      (revision 10354)
+++ src/arm/macro-assembler-arm.cc      (working copy)
@@ -1456,8 +1456,9 @@
   // hash = hash ^ (hash >> 4);
   eor(t0, t0, Operand(t0, LSR, 4));
   // hash = hash * 2057;
-  mov(t1, Operand(2057));
-  mul(t0, t0, t1);
+  mov(t1, Operand(t0, LSL, 11));
+  add(t0, t0, Operand(t0, LSL, 3));
+  add(t0, t0, t1);
   // hash = hash ^ (hash >> 16);
   eor(t0, t0, Operand(t0, LSR, 16));



--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to