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

Side by Side Diff: test/mjsunit/asm/math-clz32.js

Issue 1852553003: [builtins] Migrate Math.clz32 to a TurboFan builtin. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 months 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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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 // Flags: --allow-natives-syntax
6
7 var stdlib = { Math: Math }; 5 var stdlib = { Math: Math };
8 6
9 var f = (function Module(stdlib) { 7 var f = (function Module(stdlib) {
10 "use asm"; 8 "use asm";
11 9
12 var clz32 = stdlib.Math.clz32; 10 var clz32 = stdlib.Math.clz32;
13 11
14 function f(a) { 12 function f(a) {
15 a = a >>> 0; 13 a = a >>> 0;
16 return clz32(a)|0; 14 return clz32(a)|0;
17 } 15 }
18 16
19 return f; 17 return f;
20 })(stdlib); 18 })(stdlib);
21 19
22 assertEquals(32, f(0)); 20 assertEquals(32, f(0));
23 assertEquals(32, f(NaN)); 21 assertEquals(32, f(NaN));
24 assertEquals(32, f(undefined)); 22 assertEquals(32, f(undefined));
25 for (var i = 0; i < 32; ++i) { 23 for (var i = 0; i < 32; ++i) {
26 assertEquals(i, f((-1) >>> i)); 24 assertEquals(i, f((-1) >>> i));
27 } 25 }
28 for (var i = -2147483648; i < 2147483648; i += 3999773) { 26 for (var i = -2147483648; i < 2147483648; i += 3999773) {
29 assertEquals(%MathClz32(i), f(i)); 27 assertEquals(Math.clz32(i), f(i));
30 assertEquals(%MathClz32(i), %_MathClz32(i >>> 0));
31 } 28 }
OLDNEW
« no previous file with comments | « test/cctest/compiler/test-code-stub-assembler.cc ('k') | test/unittests/compiler/js-intrinsic-lowering-unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698