Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Side by Side Diff: test/mjsunit/asm/word32ror.js

Issue 760523004: [turbofan] Recognize rotate right. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Refactored Word32Or reduction Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var stdlib = {}; 5 var stdlib = {};
6 var foreign = {}; 6 var foreign = {};
7 var heap = new ArrayBuffer(64 * 1024); 7 var heap = new ArrayBuffer(64 * 1024);
8 8
9 var rol = (function Module(stdlib, foreign, heap) { 9 var rol = (function Module(stdlib, foreign, heap) {
10 "use asm"; 10 "use asm";
11 function rol(x, y) { 11 function rol(x, y) {
12 x = x | 0; 12 x = x | 0;
13 y = y | 0; 13 y = y | 0;
14 return (x << y) | (x >>> (32 - y)); 14 return (x << y) | (x >>> (32 - y));
15 } 15 }
16 return { rol: rol }; 16 return { rol: rol };
17 })(stdlib, foreign, heap).rol; 17 })(stdlib, foreign, heap).rol;
18 18
19 assertEquals(10, rol(10, 0)); 19 assertEquals(10, rol(10, 0));
20 assertEquals(2, rol(1, 1)); 20 assertEquals(2, rol(1, 1));
21 assertEquals(0x40000000, rol(1, 30)); 21 assertEquals(0x40000000, rol(1, 30));
22 assertEquals(-0x80000000, rol(1, 31)); 22 assertEquals(-0x80000000, rol(1, 31));
23
24 var ror = (function Module(stdlib, foreign, heap) {
25 "use asm";
26 function ror(x, y) {
27 x = x | 0;
28 y = y | 0;
29 return (x << (32 - y)) | (x >>> y);
30 }
31 return { ror: ror };
32 })(stdlib, foreign, heap).ror;
33
34 assertEquals(10, ror(10, 0));
35 assertEquals(-0x80000000, ror(1, 1));
36 assertEquals(0x40000000, ror(1, 2));
37 assertEquals(2, ror(1, 31));
OLDNEW
« no previous file with comments | « src/compiler/machine-operator-reducer.cc ('k') | test/unittests/compiler/machine-operator-reducer-unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698