js/src/jit-test/tests/asm.js/bug941877.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:9e7d5d21a9fa
1 (function(stdlib, n, heap) {
2 "use asm"
3 var Int16ArrayView = new stdlib.Int16Array(heap);
4 function f(i0, d1) {
5 i0 = i0 | 0
6 d1 = +d1
7 var d2 = 1.
8 var i3 = 0
9 Int16ArrayView[0] = i0
10 d2 = (.0 / .0)
11 switch ((i0 + i0) | 0) {
12 case 0:
13 d2 = .0
14 break
15 };
16 (((i3 - (0 < 0)) >>> ((.0 < -0) + (.0 > .0))) / 0) >> (0 + (((0 + 0) ^
17 (9 > 0)) | 0))
18 }
19 })(this, null, new ArrayBuffer(4096));
20
21 (function(stdlib, n, heap) {
22 "use asm"
23 var Float64ArrayView = new stdlib.Float64Array(heap)
24 function f() {
25 Float64ArrayView[0] = +(0xffffffff / 0xffffffff >> 0)
26 }
27 })(this, null, new ArrayBuffer(4096));
28
29 function test0(x)
30 {
31 return (x >>> 0) % 10;
32 }
33 assertEq(test0(25), 5);
34 assertEq(test0(24), 4);
35 assertEq(test0(23), 3);
36 assertEq(test0(0), 0);
37 assertEq(test0(4294967295), 5);
38
39 function test1(x)
40 {
41 return (x >>> 2) % 10;
42 }
43 assertEq(test1(25), 6);
44 assertEq(test1(24), 6);
45 assertEq(test1(23), 5);
46 assertEq(test1(4294967295), 3);
47
48 function test2(x, y)
49 {
50 return (x >>> 0) % (y >>> 0);
51 }
52 assertEq(test2(25, 3), 1);
53 assertEq(test2(24, 4), 0);
54 assertEq(test2(4294967295, 10), 5);
55 assertEq(test2(23, 0), NaN);
56
57 function test3()
58 {
59 "use asm";
60 function f(x, y)
61 {
62 x = x|0;
63 y = y|0;
64 var t = 0;
65 t = (x % y) > -2;
66 return t|0;
67 }
68 return f;
69 }
70 assertEq(test3()(4294967290, 4294967295), 1);
71 assertEq(test3()(4294967290, 4294967295), 1);
72
73 function test4()
74 {
75 "use asm";
76 function f(x, y)
77 {
78 x = x|0;
79 y = y|0;
80 var t = 0;
81 t = ((x>>>0) % (y>>>0)) > -2;
82 return t|0;
83 }
84 return f;
85 }
86 assertEq(test4()(4294967290, 4294967295), 1);
87 assertEq(test4()(4294967290, 4294967295), 1);
88
89 function test5()
90 {
91 "use asm";
92 function f(x, y)
93 {
94 x = x|0;
95 y = y|0;
96 var t = 0;
97 t = ((x>>>0) % (y>>>0)) * 1.01;
98 return +t;
99 }
100 return f;
101 }
102 assertEq(test5()(4294967290, 4294967295), 4337916962.9);
103 assertEq(test5()(4294967290, 4294967295), 4337916962.9);
104
105 function test6()
106 {
107 "use asm";
108 function f(x, y)
109 {
110 x = x|0;
111 y = y|0;
112 return ((x>>>1) % (y>>>1))|0;
113 }
114 return f;
115 }
116 assertEq(test6()(23847, 7), 1);
117 assertEq(test6()(23848, 7), 2);
118
119 function test7()
120 {
121 "use asm";
122 function f(x)
123 {
124 x = x|0;
125 return ((x>>>0) / 8)|0;
126 }
127 return f;
128 }
129 assertEq(test7()(23847, 7), 2980);
130 assertEq(test7()(23848, 7), 2981);
131
132 function test8()
133 {
134 "use asm";
135 function f(i,j)
136 {
137 i=i|0;j=j|0;
138 return ((i>>>0)/(j>>>0))|0;
139 }
140 return f;
141 }
142 assertEq(test8()(2147483647, 0), 0);
143 assertEq(test8()(2147483646, 0), 0);

mercurial