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

Unified Diff: test/mjsunit/toint32.js

Issue 21536: Improve generated code for non-smi bit operations by... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 10 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 side-by-side diff with in-line comments
Download patch
« src/codegen-ia32.cc ('K') | « src/codegen-ia32.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/toint32.js
===================================================================
--- test/mjsunit/toint32.js (revision 1324)
+++ test/mjsunit/toint32.js (working copy)
@@ -78,3 +78,95 @@
assertEquals(1294967296, toInt32(-3000000000.25));
assertEquals(1294967296, toInt32(-3000000000.5));
assertEquals(1294967296, toInt32(-3000000000.75));
+
+var base = Math.pow(2, 64);
+assertEquals(0, toInt32(base + 0));
+assertEquals(0, toInt32(base + 1117));
+assertEquals(4096, toInt32(base + 2234));
+assertEquals(4096, toInt32(base + 3351));
+assertEquals(4096, toInt32(base + 4468));
+assertEquals(4096, toInt32(base + 5585));
+assertEquals(8192, toInt32(base + 6702));
+assertEquals(8192, toInt32(base + 7819));
+assertEquals(8192, toInt32(base + 8936));
+assertEquals(8192, toInt32(base + 10053));
+assertEquals(12288, toInt32(base + 11170));
+assertEquals(12288, toInt32(base + 12287));
+assertEquals(12288, toInt32(base + 13404));
+assertEquals(16384, toInt32(base + 14521));
+assertEquals(16384, toInt32(base + 15638));
+assertEquals(16384, toInt32(base + 16755));
+assertEquals(16384, toInt32(base + 17872));
+assertEquals(20480, toInt32(base + 18989));
+assertEquals(20480, toInt32(base + 20106));
+assertEquals(20480, toInt32(base + 21223));
+assertEquals(20480, toInt32(base + 22340));
+assertEquals(24576, toInt32(base + 23457));
+assertEquals(24576, toInt32(base + 24574));
+assertEquals(24576, toInt32(base + 25691));
+assertEquals(28672, toInt32(base + 26808));
+assertEquals(28672, toInt32(base + 27925));
+assertEquals(28672, toInt32(base + 29042));
+assertEquals(28672, toInt32(base + 30159));
+assertEquals(32768, toInt32(base + 31276));
+assertEquals(32768, toInt32(base + 32393));
+assertEquals(32768, toInt32(base + 33510));
+assertEquals(32768, toInt32(base + 34627));
+assertEquals(36864, toInt32(base + 35744));
+assertEquals(36864, toInt32(base + 36861));
+assertEquals(36864, toInt32(base + 37978));
+assertEquals(40960, toInt32(base + 39095));
+assertEquals(40960, toInt32(base + 40212));
+assertEquals(40960, toInt32(base + 41329));
+assertEquals(40960, toInt32(base + 42446));
+assertEquals(45056, toInt32(base + 43563));
+assertEquals(45056, toInt32(base + 44680));
+assertEquals(45056, toInt32(base + 45797));
+assertEquals(45056, toInt32(base + 46914));
+assertEquals(49152, toInt32(base + 48031));
+assertEquals(49152, toInt32(base + 49148));
+assertEquals(49152, toInt32(base + 50265));
+assertEquals(53248, toInt32(base + 51382));
+assertEquals(53248, toInt32(base + 52499));
+assertEquals(53248, toInt32(base + 53616));
+assertEquals(53248, toInt32(base + 54733));
+assertEquals(57344, toInt32(base + 55850));
+assertEquals(57344, toInt32(base + 56967));
+assertEquals(57344, toInt32(base + 58084));
+assertEquals(57344, toInt32(base + 59201));
+assertEquals(61440, toInt32(base + 60318));
+assertEquals(61440, toInt32(base + 61435));
+assertEquals(61440, toInt32(base + 62552));
+assertEquals(65536, toInt32(base + 63669));
+assertEquals(65536, toInt32(base + 64786));
+assertEquals(65536, toInt32(base + 65903));
+assertEquals(65536, toInt32(base + 67020));
+assertEquals(69632, toInt32(base + 68137));
+assertEquals(69632, toInt32(base + 69254));
+assertEquals(69632, toInt32(base + 70371));
+assertEquals(69632, toInt32(base + 71488));
+assertEquals(73728, toInt32(base + 72605));
+assertEquals(73728, toInt32(base + 73722));
+assertEquals(73728, toInt32(base + 74839));
+assertEquals(77824, toInt32(base + 75956));
+assertEquals(77824, toInt32(base + 77073));
+assertEquals(77824, toInt32(base + 78190));
+assertEquals(77824, toInt32(base + 79307));
+assertEquals(81920, toInt32(base + 80424));
+assertEquals(81920, toInt32(base + 81541));
+assertEquals(81920, toInt32(base + 82658));
+assertEquals(81920, toInt32(base + 83775));
+assertEquals(86016, toInt32(base + 84892));
+assertEquals(86016, toInt32(base + 86009));
+assertEquals(86016, toInt32(base + 87126));
+assertEquals(90112, toInt32(base + 88243));
+assertEquals(90112, toInt32(base + 89360));
+assertEquals(90112, toInt32(base + 90477));
+assertEquals(90112, toInt32(base + 91594));
+assertEquals(94208, toInt32(base + 92711));
+assertEquals(94208, toInt32(base + 93828));
+assertEquals(94208, toInt32(base + 94945));
+assertEquals(94208, toInt32(base + 96062));
+assertEquals(98304, toInt32(base + 97179));
+assertEquals(98304, toInt32(base + 98296));
+assertEquals(98304, toInt32(base + 99413));
« src/codegen-ia32.cc ('K') | « src/codegen-ia32.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698