summaryrefslogtreecommitdiff
path: root/test/unit.2asm.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-12-05 12:22:51 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-12-05 12:22:51 -0800
commitdca96ba53339695ea4131d374cee00e916b0ac70 (patch)
tree8d68f69c6c898ebe732a334a375ca9491832d481 /test/unit.2asm.js
parent34a8ec55d8bb2cfa63f0a3738426503d4350c32c (diff)
downloadbinaryen-dca96ba53339695ea4131d374cee00e916b0ac70.tar.gz
binaryen-dca96ba53339695ea4131d374cee00e916b0ac70.tar.bz2
binaryen-dca96ba53339695ea4131d374cee00e916b0ac70.zip
add wip unit.wast testcase
Diffstat (limited to 'test/unit.2asm.js')
-rw-r--r--test/unit.2asm.js167
1 files changed, 167 insertions, 0 deletions
diff --git a/test/unit.2asm.js b/test/unit.2asm.js
new file mode 100644
index 000000000..c82fd38a5
--- /dev/null
+++ b/test/unit.2asm.js
@@ -0,0 +1,167 @@
+function asmFunc() {
+ function big_negative() {
+ var temp = 0.0;
+ {
+ temp = -2147483648;
+ temp = -2147483648;
+ temp = -21474836480;
+ temp = .039625;
+ temp = -.039625;
+ }
+ }
+
+ function importedDoubles() {
+ var temp = 0.0, wasm2asm_f64$0 = 0.0;
+ topmost : {
+ temp = +(+(+(HEAPF64[8 >> 3] + HEAPF64[16 >> 3]) + -HEAPF64[16 >> 3]) + -HEAPF64[8 >> 3]);
+ if (HEAPU32[24 >> 2] > 0 | 0) {
+ wasm2asm$noresult = -3.4;
+ break topmost;
+ };
+ if (HEAPF64[32 >> 3] > 0 | 0) {
+ wasm2asm$noresult = 5.6;
+ break topmost;
+ };
+ wasm2asm_f64$0 = 1.2;
+ }
+ return wasm2asm_f64$0;
+ }
+
+ function doubleCompares(x, y) {
+ x = +x;
+ y = +y;
+ var t = 0.0, Int = 0.0, Double = 0, wasm2asm_f64$0 = 0.0;
+ topmost : {
+ if (x > 0 | 0) {
+ wasm2asm$noresult = 1.2;
+ break topmost;
+ };
+ if (Int > 0 | 0) {
+ wasm2asm$noresult = -3.4;
+ break topmost;
+ };
+ if (Double > 0 | 0) {
+ wasm2asm$noresult = 5.6;
+ break topmost;
+ };
+ if (x < y | 0) {
+ wasm2asm$noresult = x;
+ break topmost;
+ };
+ wasm2asm_f64$0 = y;
+ }
+ return wasm2asm_f64$0;
+ }
+
+ function intOps() {
+ var x = 0;
+ return x == 0 | 0;
+ }
+
+ function conversions() {
+ var i = 0, d = 0.0;
+ {
+ i = f64-to-int(d);
+ d = +i;
+ d = +((i >>> 0 | 0) >>> 0);
+ }
+ }
+
+ function seq() {
+ var J = 0.0, wasm2asm_f64$2 = 0.0, wasm2asm_f64$1 = 0.0, wasm2asm_f64$0 = 0.0;
+ {
+ .1;
+ wasm2asm_f64$1 = 5.1;
+ {
+ 3.2;
+ wasm2asm_f64$2 = 4.2;
+ }
+ +(wasm2asm_f64$1 - wasm2asm_f64$2)
+ J = wasm2asm_f64$0;
+ }
+ }
+
+ function switcher(x) {
+ x = x | 0;
+ var wasm2asm_i32$0 = 0;
+ topmost : {
+ switch$0 : {}
+ switch$4 : {}
+ label$break$Lout : {}
+ wasm2asm_i32$0 = 0;
+ }
+ return wasm2asm_i32$0;
+ }
+
+ function blocker() {
+ label$break$L : {
+ break label$break$L;
+ }
+ }
+
+ function frem() {
+ return f64-rem(5.5, 1.2);
+ }
+
+ function big_uint_div_u() {
+ var x = 0, wasm2asm_i32$0 = 0;
+ topmost : {
+ x = (4294967295 / 2 | 0) & 4294967295 | 0;
+ wasm2asm_i32$0 = x;
+ }
+ return wasm2asm_i32$0;
+ }
+
+ function fr(x) {
+ x = Math_fround(x);
+ var y = Math_fround(0), z = 0.0;
+ {
+ Math_fround(z);
+ y;
+ Math_fround(5);
+ Math_fround(0);
+ Math_fround(5);
+ Math_fround(0);
+ }
+ }
+
+ function negZero() {
+ return 0;
+ }
+
+ function abs() {
+ var x = 0, y = 0.0, z = Math_fround(0), asm2wasm_i32_temp = 0, wasm2asm_i32$3 = 0, wasm2asm_i32$2 = 0, wasm2asm_i32$1 = 0, wasm2asm_i32$0 = 0;
+ {
+ {
+ asm2wasm_i32_temp = 0;
+ wasm2asm_i32$0 = (wasm2asm_i32$1 = asm2wasm_i32_temp < 0 | 0, wasm2asm_i32$2 = 0 - asm2wasm_i32_temp | 0, wasm2asm_i32$3 = asm2wasm_i32_temp, wasm2asm_i32$1 ? wasm2asm_i32$2 : wasm2asm_i32$3);
+ x = wasm2asm_i32$0;
+ }
+ y = Math_abs(0);
+ z = Math_fround(Math_abs(Math_fround(0)));
+ }
+ }
+
+ function neg() {
+ var x = Math_fround(0);
+ {
+ x = Math_fround(-x);
+ FUNCTION_TABLE[(1 & 7 | 0) + 8 | 0](x);
+ }
+ }
+
+ function ___syscall_ret() {
+ var $0 = 0;
+ return ($0 >>> 0 | 0) > 4294963200 | 0;
+ }
+
+ function z() {
+ return ;
+ }
+
+ function w() {
+ return ;
+ }
+
+}
+