diff options
Diffstat (limited to 'test/emcc_O2_hello_world.fromasm')
-rw-r--r-- | test/emcc_O2_hello_world.fromasm | 327 |
1 files changed, 135 insertions, 192 deletions
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm index aaa67c330..7ea5ff8d6 100644 --- a/test/emcc_O2_hello_world.fromasm +++ b/test/emcc_O2_hello_world.fromasm @@ -7998,52 +7998,52 @@ ) (local.get $15) ) - (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (if - (local.tee $4 - (i32.load - (local.tee $3 - (i32.add - (local.get $2) - (i32.const 16) + (local.set $6 + (i32.const 672) + ) + (local.set $5 + (if (result i32) + (local.tee $3 + (i32.load + (local.tee $2 + (i32.add + (local.get $1) + (i32.const 16) + ) ) ) ) - ) - (block - (local.set $5 - (local.get $4) - ) - (local.set $7 - (i32.const 5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) + (local.get $3) ) - ) - (if - (i32.eqz + (if (result i32) (call $___towrite - (local.get $2) + (local.get $1) ) - ) - (block - (local.set $5 + (local.get $5) + (block (result i32) + (local.set $4 + (i32.const 5) + ) (i32.load - (local.get $3) + (local.get $2) ) ) - (local.set $7 - (i32.const 5) - ) ) ) ) (if (result i32) (i32.eq - (local.get $7) + (local.get $4) (i32.const 5) ) (block $label$break$L5 (result i32) @@ -8051,28 +8051,28 @@ (i32.lt_u (i32.sub (local.get $5) - (local.tee $3 + (local.tee $2 (i32.load - (local.tee $4 + (local.tee $3 (i32.add - (local.get $2) + (local.get $1) (i32.const 20) ) ) ) ) ) - (local.get $1) + (local.get $0) ) (br $label$break$L5 (call_indirect (type $FUNCSIG$iiii) - (local.get $2) - (local.get $0) (local.get $1) + (i32.const 672) + (local.get $0) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 7) ) @@ -8081,27 +8081,27 @@ ) ) ) - (local.set $6 - (local.get $3) + (local.set $4 + (local.get $2) ) (if (i32.gt_s (i32.load8_s offset=75 - (local.get $2) + (local.get $1) ) (i32.const -1) ) (block $label$break$L10 - (local.set $3 - (local.get $1) + (local.set $2 + (local.get $0) ) (loop $while-in (if (i32.eqz - (local.get $3) + (local.get $2) ) (block - (local.set $3 + (local.set $2 (i32.const 0) ) (br $label$break$L10) @@ -8111,19 +8111,19 @@ (i32.ne (i32.load8_s (i32.add - (local.get $0) (local.tee $5 (i32.add - (local.get $3) + (local.get $2) (i32.const -1) ) ) + (i32.const 672) ) ) (i32.const 10) ) (block - (local.set $3 + (local.set $2 (local.get $5) ) (br $while-in) @@ -8132,70 +8132,70 @@ ) (drop (br_if $label$break$L5 - (local.get $3) + (local.get $2) (i32.lt_u (call_indirect (type $FUNCSIG$iiii) + (local.get $1) + (i32.const 672) (local.get $2) - (local.get $0) - (local.get $3) (i32.add (i32.and (i32.load offset=36 - (local.get $2) + (local.get $1) ) (i32.const 7) ) (i32.const 2) ) ) - (local.get $3) + (local.get $2) ) ) ) - (local.set $1 + (local.set $0 (i32.sub - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.set $0 + (local.set $6 (i32.add - (local.get $0) - (local.get $3) + (local.get $2) + (i32.const 672) ) ) - (local.set $6 + (local.set $4 (i32.load - (local.get $4) + (local.get $3) ) ) ) - (local.set $3 + (local.set $2 (i32.const 0) ) ) (drop (call $_memcpy + (local.get $4) (local.get $6) (local.get $0) - (local.get $1) ) ) (i32.store - (local.get $4) + (local.get $3) (i32.add - (local.get $1) + (local.get $0) (i32.load - (local.get $4) + (local.get $3) ) ) ) (i32.add - (local.get $1) - (local.get $3) + (local.get $0) + (local.get $2) ) ) - (local.get $6) + (i32.const 0) ) ) (func $_fflush (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -8297,65 +8297,21 @@ ) (local.get $1) ) - (func $_strlen (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32) + (func $_strlen (; 20 ;) (; has Stack IR ;) (result i32) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (if - (i32.and - (local.tee $3 - (local.get $0) - ) - (i32.const 3) - ) - (block $label$break$L1 - (local.set $4 - (local.get $3) - ) - (local.set $1 - (loop $while-in (result i32) - (if - (i32.eqz - (i32.load8_s - (local.get $0) - ) - ) - (block - (local.set $5 - (local.get $4) - ) - (br $label$break$L1) - ) - ) - (br_if $while-in - (i32.and - (local.tee $4 - (local.tee $0 - (i32.add - (local.get $0) - (i32.const 1) - ) - ) - ) - (i32.const 3) - ) - ) - (local.set $2 - (i32.const 4) - ) - (local.get $0) - ) - ) + (local.set $0 + (i32.const 672) + ) + (block + (local.set $1 + (i32.const 672) ) - (block - (local.set $1 - (local.get $0) - ) - (local.set $2 - (i32.const 4) - ) + (local.set $2 + (i32.const 4) ) ) (i32.sub @@ -8432,9 +8388,9 @@ ) (local.get $0) ) - (local.get $5) + (local.get $4) ) - (local.get $3) + (i32.const 672) ) ) (func $___overflow (; 21 ;) (; has Stack IR ;) (param $0 i32) (result i32) @@ -8988,7 +8944,7 @@ (local.get $2) ) ) - (func $_puts (; 26 ;) (; has Stack IR ;) (result i32) + (func $_puts (; 26 ;) (; has Stack IR ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9001,77 +8957,67 @@ ) ) ) - (i32.shr_s - (i32.shl - (if (result i32) - (i32.lt_s - (i32.add - (call $_fwrite - (i32.const 672) - (call $_strlen - (i32.const 672) - ) - (local.get $0) - ) - (i32.const -1) + (drop + (if (result i32) + (i32.lt_s + (i32.add + (call $_fwrite + (call $_strlen) + (local.get $0) ) - (i32.const 0) + (i32.const -1) ) - (i32.const 1) - (block $do-once (result i32) - (if - (if (result i32) - (i32.ne - (i32.load8_s offset=75 - (local.get $0) - ) - (i32.const 10) + (i32.const 0) + ) + (i32.const 1) + (block $do-once (result i32) + (if + (if (result i32) + (i32.ne + (i32.load8_s offset=75 + (local.get $0) ) - (i32.lt_u - (local.tee $1 - (i32.load - (local.tee $2 - (i32.add - (local.get $0) - (i32.const 20) - ) + (i32.const 10) + ) + (i32.lt_u + (local.tee $1 + (i32.load + (local.tee $2 + (i32.add + (local.get $0) + (i32.const 20) ) ) ) - (i32.load offset=16 - (local.get $0) - ) ) - (i32.const 0) - ) - (block - (i32.store - (local.get $2) - (i32.add - (local.get $1) - (i32.const 1) - ) + (i32.load offset=16 + (local.get $0) ) - (i32.store8 + ) + (i32.const 0) + ) + (block + (i32.store + (local.get $2) + (i32.add (local.get $1) - (i32.const 10) - ) - (br $do-once - (i32.const 0) + (i32.const 1) ) ) - ) - (i32.lt_s - (call $___overflow - (local.get $0) + (i32.store8 + (local.get $1) + (i32.const 10) + ) + (br $do-once + (i32.const 0) ) - (i32.const 0) ) ) + (call $___overflow + (local.get $0) + ) ) - (i32.const 31) ) - (i32.const 31) ) ) (func $___stdio_seek (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -9219,34 +9165,33 @@ ) ) ) - (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local.set $3 - (local.get $1) + (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local.set $2 + (local.get $0) ) (if (result i32) (block (result i32) (drop (i32.load offset=76 - (local.get $2) + (local.get $1) ) ) (i32.ne - (local.get $3) - (local.tee $0 + (local.get $2) + (local.tee $1 (call $___fwritex - (local.get $0) - (local.get $3) (local.get $2) + (local.get $1) ) ) ) ) (if (result i32) - (local.get $1) + (local.get $0) (i32.div_u - (local.get $0) (local.get $1) + (local.get $0) ) (i32.const 0) ) @@ -9495,9 +9440,7 @@ (global.get $tempRet0) ) (func $_main (; 46 ;) (; has Stack IR ;) (result i32) - (drop - (call $_puts) - ) + (call $_puts) (i32.const 0) ) (func $stackSave (; 47 ;) (; has Stack IR ;) (result i32) |