summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/testMathClz32.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/testMathClz32.js')
-rw-r--r--js/src/jit-test/tests/basic/testMathClz32.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/testMathClz32.js b/js/src/jit-test/tests/basic/testMathClz32.js
new file mode 100644
index 0000000000..61cd1f91a2
--- /dev/null
+++ b/js/src/jit-test/tests/basic/testMathClz32.js
@@ -0,0 +1,38 @@
+function f() {
+ var x = 0;
+ for (var i = 1; i < 1e6; i++) {
+ if (i > 0)
+ x += Math.clz32(i);
+ }
+ return x;
+}
+
+function g() {
+ var x = 0;
+ for (var i = 1; i < 1e6; i++) {
+ x += Math.clz32(i);
+ }
+ return x;
+}
+
+function h() {
+ var x = 0;
+ for (var i = 0; i < 1e6; i++) {
+ x += Math.clz32(i);
+ }
+ return x;
+}
+
+function k() {
+ var x = 0;
+ for (var i = -1000; i < 1000; i++) {
+ x += Math.clz32(i);
+ x += Math.clz32(i + 0.5);
+ }
+ return x;
+}
+
+assertEq(f(), 13048543);
+assertEq(g(), 13048543);
+assertEq(h(), 13048575);
+assertEq(k(), 46078);