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

Side by Side Diff: test/mjsunit/mod-range.js

Issue 714613002: Fix bugs in simplified lowering relating to int32/uint32 signs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 1 month 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 | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 function g1(i) {
6 var x = i * 1;
7 return (x >>> 0) % 1000000000000;
8 }
9
10 function g2(i) {
11 var x = i * 1;
12 return ((x >>> 0) % 1000000000000) | 0;
13 }
14
15 function test1() {
16 assertEquals(2294967296, g1(-2000000000));
17 assertEquals(2294967295, g1(-2000000001));
18 assertEquals(2294967290, g1(-2000000006));
19
20 assertEquals(2147483651, g1(-2147483645));
21 assertEquals(2147483650, g1(-2147483646));
22 assertEquals(2147483649, g1(-2147483647));
23 assertEquals(2147483648, g1(-2147483648));
24 assertEquals(2147483647, g1(-2147483649));
25
26 assertEquals(3000000000, g1(3000000000));
27 assertEquals(3000000001, g1(3000000001));
28 assertEquals(3000000002, g1(3000000002));
29
30 assertEquals(4000000000, g1(4000000000));
31 assertEquals(4000400001, g1(4000400001));
32 assertEquals(4000400002, g1(4000400002));
33
34 assertEquals(3, g1(4294967299));
35 assertEquals(2, g1(4294967298));
36 assertEquals(1, g1(4294967297));
37 assertEquals(0, g1(4294967296));
38 assertEquals(4294967295, g1(4294967295));
39 assertEquals(4294967294, g1(4294967294));
40 assertEquals(4294967293, g1(4294967293));
41 assertEquals(4294967292, g1(4294967292));
42 }
43
44 %NeverOptimizeFunction(test1);
45 test1();
46
47 function test2() {
48 assertEquals(-2000000000, g2(-2000000000));
49 assertEquals(-2000000001, g2(-2000000001));
50 assertEquals(-2000000006, g2(-2000000006));
51
52 assertEquals(-2147483645, g2(-2147483645));
53 assertEquals(-2147483646, g2(-2147483646));
54 assertEquals(-2147483647, g2(-2147483647));
55 assertEquals(-2147483648, g2(-2147483648));
56 assertEquals(2147483647, g2(-2147483649));
57
58 assertEquals(-1294967296, g2(3000000000));
59 assertEquals(-1294967295, g2(3000000001));
60 assertEquals(-1294967294, g2(3000000002));
61
62 assertEquals(-294967296, g2(4000000000));
63 assertEquals(-294567295, g2(4000400001));
64 assertEquals(-294567294, g2(4000400002));
65
66 assertEquals(3, g2(4294967299));
67 assertEquals(2, g2(4294967298));
68 assertEquals(1, g2(4294967297));
69 assertEquals(0, g2(4294967296));
70 assertEquals(-1, g2(4294967295));
71 assertEquals(-2, g2(4294967294));
72 assertEquals(-3, g2(4294967293));
73 assertEquals(-4, g2(4294967292));
74 }
75
76 %NeverOptimizeFunction(test2);
77 test2();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698