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
