bug976110.js (1466B)
1 var asmdiv2 = (function(m) { 2 "use asm" 3 function f(x) { 4 x = x|0; 5 var z = 0; 6 z = ((x>>>0) / 2)>>>0; 7 return z|0; 8 } 9 return f; 10 })() 11 12 var plaindiv2 = function(x) { 13 x = x|0; 14 var z = 0; 15 z = ((x>>>0) / 2)>>>0; 16 return z|0; 17 } 18 19 var k2 = 0xf0000000; 20 21 assertEq(asmdiv2(k2), 0x78000000); 22 assertEq(plaindiv2(k2), 0x78000000); 23 24 var asmdiv3 = (function(m) { 25 "use asm" 26 function f(x) { 27 x = x|0; 28 var z = 0; 29 z = ((x>>>0) / 3)>>>0; 30 return z|0; 31 } 32 return f; 33 })() 34 35 var plaindiv3 = function(x) { 36 x = x|0; 37 var z = 0; 38 z = ((x>>>0) / 3)>>>0; 39 return z|0; 40 } 41 42 var k3 = 3<<30; 43 44 assertEq(asmdiv3(k3), 1<<30); 45 assertEq(plaindiv3(k3), 1<<30); 46 47 var asmdiv7 = (function(m) { 48 "use asm" 49 function f(x) { 50 x = x|0; 51 var z = 0; 52 z = ((x>>>0) / 7)>>>0; 53 return z|0; 54 } 55 return f; 56 })() 57 58 var plaindiv7 = function(x) { 59 x = x|0; 60 var z = 0; 61 z = ((x>>>0) / 7)>>>0; 62 return z|0; 63 } 64 65 var k7 = (1<<29)*7 + 4; 66 67 assertEq(asmdiv7(k7), 1<<29); 68 assertEq(plaindiv7(k7), 1<<29); 69 70 var asmmod3 = (function(m) { 71 "use asm" 72 function f(x) { 73 x = x|0; 74 var z = 0; 75 z = ((x>>>0) % 3)>>>0; 76 return z|0; 77 } 78 return f; 79 })() 80 81 var plainmod3 = function(x) { 82 x = x|0; 83 var z = 0; 84 z = ((x>>>0) % 3)>>>0; 85 return z|0; 86 } 87 88 var kmod = (3<<30) + 2; 89 90 assertEq(asmmod3(kmod), 2); 91 assertEq(plainmod3(kmod), 2);