summaryrefslogtreecommitdiff
path: root/test/min.asm.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-04-01 16:02:06 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-04-01 16:02:06 -0700
commitdd3086a32e790c423c48bf2cfe6a7d8cc8754a15 (patch)
treec23f0fc33915b0b6fd6ddca056baa907994b62be /test/min.asm.js
parentb22f29a4ee0858721278df7d9cea1a487bc7b543 (diff)
parent6daea13bd8e31bbf098a2c0bef92932f70a6f47f (diff)
downloadbinaryen-dd3086a32e790c423c48bf2cfe6a7d8cc8754a15.tar.gz
binaryen-dd3086a32e790c423c48bf2cfe6a7d8cc8754a15.tar.bz2
binaryen-dd3086a32e790c423c48bf2cfe6a7d8cc8754a15.zip
Merge pull request #286 from WebAssembly/asm2wasm-opts
asm2wasm opts
Diffstat (limited to 'test/min.asm.js')
-rw-r--r--test/min.asm.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/min.asm.js b/test/min.asm.js
index 77e54caab..ed5d186f5 100644
--- a/test/min.asm.js
+++ b/test/min.asm.js
@@ -6,6 +6,17 @@ function (global, env, buffer) {
var fr = global.Math.fround;
+ var tDP = env.tempDoublePtr | 0;
+
+ var h8 = new global.Int8Array(buffer);
+ var h16 = new global.Int16Array(buffer);
+ var h32 = new global.Int32Array(buffer);
+ var hU8 = new global.Uint8Array(buffer);
+ var hU16 = new global.Uint16Array(buffer);
+ var hU32 = new global.Uint32Array(buffer);
+ var hF32 = new global.Float32Array(buffer);
+ var hF64 = new global.Float64Array(buffer);
+
function floats(f) {
f = fr(f);
var t = fr(0);
@@ -18,6 +29,13 @@ function (global, env, buffer) {
n = fr(-(c[k >> 2] = p, fr(g[k >> 2])));
return n;
}
+ function bitcasts(i, f) {
+ i = i | 0;
+ f = Math_fround(f);
+ (h32[tDP >> 2] = i, fr(hF32[tDP >> 2])); // i32->f32
+ (h32[tDP >> 2] = i, +hF32[tDP >> 2]); // i32->f32, no fround
+ (hF32[tDP >> 2] = f, h32[tDP >> 2] | 0); // f32->i32
+ }
return { floats: floats };
}