testX86ByteStore.js (1794B)
1 load(libdir + "asm.js"); 2 3 var body = 4 ' "use asm";\ 5 var i8=new global.Int8Array(buffer);\ 6 function g(i,j,k) {\ 7 i=i|0;\ 8 j=j|0;\ 9 k=k|0;\ 10 var a=0,b=0,c=0,d=0,e=0,f=0;\ 11 a=(i+j)|0;\ 12 b=(k+j)|0;\ 13 c=(i+k)|0;\ 14 b=(a+b)|0;\ 15 d=(b+c+i+j)|0;\ 16 e=(a+j+c)|0;\ 17 f=(a+i+k)|0;\ 18 i8[i] = f;\ 19 return (a+b+c+d+e+f)|0;\ 20 }\ 21 return g;'; 22 23 var buf=new ArrayBuffer(BUF_MIN); 24 var g = asmLink(asmCompile('global','foreign','buffer',body), this, null, buf); 25 assertEq(g(1,2,3), 46); 26 assertEq(new Int8Array(buf)[1], 7); 27 28 var body = 29 ' "use asm";\ 30 var i8=new global.Int8Array(buffer);\ 31 function g(i,j,k) {\ 32 i=i|0;\ 33 j=j|0;\ 34 k=k|0;\ 35 var a=0,b=0,c=0,d=0,e=0,f=0;\ 36 a=(i+j)|0;\ 37 b=(k+j)|0;\ 38 c=(i+k)|0;\ 39 b=(a+b)|0;\ 40 d=(b+c+i+j)|0;\ 41 e=(a+j+c)|0;\ 42 f=(a+i+k)|0;\ 43 i8[i] = e;\ 44 return (a+b+c+d+e+f)|0;\ 45 }\ 46 return g;'; 47 48 var buf=new ArrayBuffer(BUF_MIN); 49 var g = asmLink(asmCompile('global','foreign','buffer',body), this, null, buf); 50 assertEq(g(1,2,3), 46); 51 assertEq(new Int8Array(buf)[1], 9); 52 53 var body = 54 ' "use asm";\ 55 var i8=new global.Int8Array(buffer);\ 56 function g(i,j,k) {\ 57 i=i|0;\ 58 j=j|0;\ 59 k=k|0;\ 60 var a=0,b=0,c=0,d=0,e=0,f=0,g=0;\ 61 a=(i+j)|0;\ 62 b=(k+j)|0;\ 63 c=(i+k)|0;\ 64 b=(a+b)|0;\ 65 d=(b+c+i+j)|0;\ 66 e=(a+j+c)|0;\ 67 f=(a+i+k)|0;\ 68 g=(f+j+b)|0;\ 69 i8[i] = g;\ 70 return (a+b+c+d+e+f+g)|0;\ 71 }\ 72 return g;'; 73 74 var buf=new ArrayBuffer(BUF_MIN); 75 var g = asmLink(asmCompile('global','foreign','buffer',body), this, null, buf); 76 assertEq(g(1,2,3), 63); 77 assertEq(new Int8Array(buf)[1], 17);