diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/emcc_hello_world.asm.js | 2 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm | 1218 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.imprecise | 1218 |
3 files changed, 71 insertions, 2367 deletions
diff --git a/test/emcc_hello_world.asm.js b/test/emcc_hello_world.asm.js index 3a47a258b..cd188303e 100644 --- a/test/emcc_hello_world.asm.js +++ b/test/emcc_hello_world.asm.js @@ -7096,6 +7096,6 @@ var FUNCTION_TABLE_ii = [b0,___stdio_close]; var FUNCTION_TABLE_iiii = [b1,b1,___stdout_write,___stdio_seek,___stdio_write,b1,b1,b1]; var FUNCTION_TABLE_vi = [b2,b2,b2,b2,b2,_cleanup,b2,b2]; - return { _i64Subtract: _i64Subtract, _free: _free, _main: _main, _i64Add: _i64Add, _memset: _memset, _malloc: _malloc, _memcpy: _memcpy, _bitshift64Lshr: _bitshift64Lshr, _fflush: _fflush, ___errno_location: ___errno_location, _bitshift64Shl: _bitshift64Shl, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_ii: dynCall_ii, dynCall_iiii: dynCall_iiii, dynCall_vi: dynCall_vi }; + return { _i64Subtract: _i64Subtract, _free: _free, _main: _main, _i64Add: _i64Add, _memset: _memset, _malloc: _malloc, _memcpy: _memcpy, _bitshift64Lshr: _bitshift64Lshr, _fflush: _fflush, ___errno_location: ___errno_location, _bitshift64Shl: _bitshift64Shl, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_ii: dynCall_ii, dynCall_iiii: dynCall_iiii, dynCall_vi: dynCall_vi, ___udivmoddi4: ___udivmoddi4 }; }) ; diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index 5c41777c7..381e53407 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -50,6 +50,7 @@ (export "dynCall_ii" $dynCall_ii) (export "dynCall_iiii" $dynCall_iiii) (export "dynCall_vi" $dynCall_vi) + (export "___udivmoddi4" $___udivmoddi4) (table $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2) (func $stackAlloc (param $size i32) (result i32) (local $ret i32) @@ -29146,1209 +29147,60 @@ ) ) (func $___udivmoddi4 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (param $$rem i32) (result i32) - (local $$_0$1 i32) - (local $$_0$0 i32) - (local $$n_sroa_1_4_extract_trunc i32) - (local $$n_sroa_0_0_extract_trunc i32) - (local $$d_sroa_0_0_extract_trunc i32) - (local $$d_sroa_1_4_extract_trunc i32) - (local $$88 i32) - (local $$sr_1_ph i32) - (local $$r_sroa_1_1_ph i32) - (local $$r_sroa_0_1_ph i32) - (local $$q_sroa_1_1_ph i32) - (local $$q_sroa_0_1_ph i32) - (local $$r_sroa_0_1201 i32) - (local $$q_sroa_1_1198 i32) - (local $$q_sroa_0_1199 i32) - (local $$q_sroa_0_0_insert_ext75$0 i32) - (local $$n_sroa_1_4_extract_shift$0 i32) - (local $$91 i32) - (local $$78 i32) - (local $$57 i32) - (local $$150$1 i32) - (local $$125 i32) - (local $$119 i32) - (local $$sr_1202 i32) - (local $$r_sroa_1_4_extract_trunc i32) - (local $$r_sroa_1_1_lcssa i32) - (local $$r_sroa_1_1200 i32) - (local $$r_sroa_0_1_lcssa i32) - (local $$r_sroa_0_0_insert_insert42$1 i32) - (local $$r_sroa_0_0_insert_insert42$0 i32) - (local $$r_sroa_0_0_extract_trunc i32) - (local $$q_sroa_1_1_lcssa i32) - (local $$q_sroa_0_1_lcssa i32) - (local $$q_sroa_0_0_insert_ext75$1 i32) - (local $$d_sroa_0_0_insert_insert99$1 i32) - (local $$d_sroa_0_0_insert_insert99$0 i32) - (local $$carry_0_lcssa$1 i32) - (local $$carry_0_lcssa$0 i32) - (local $$carry_0203 i32) - (local $$95 i32) - (local $$92 i32) - (local $$89 i32) - (local $$58 i32) - (local $$51 i32) - (local $$4 i32) - (local $$17 i32) - (local $$152 i32) - (local $$149 i32) - (local $$147 i32) - (local $$130 i32) - (local $$126 i32) - (local $$105 i32) - (local $$q_sroa_0_0_insert_insert77$1 i32) - (local $$d_sroa_1_4_extract_shift$0 i32) - (local $$66 i32) - (local $$37 i32) - (local $$155 i32) - (local $$151$0 i32) - (local $$137$1 i32) - (local $$137$0 i32) - (local $$86 i32) - (local $$49 i32) - (local $$154$0 i32) - (local $$117 i32) - (set_local $$n_sroa_0_0_extract_trunc - (get_local $$a$0) - ) - (set_local $$n_sroa_1_4_extract_trunc - (set_local $$n_sroa_1_4_extract_shift$0 - (get_local $$a$1) - ) - ) - (set_local $$d_sroa_0_0_extract_trunc - (get_local $$b$0) - ) - (set_local $$d_sroa_1_4_extract_trunc - (set_local $$d_sroa_1_4_extract_shift$0 - (get_local $$b$1) - ) - ) - (if - (i32.eq - (get_local $$n_sroa_1_4_extract_trunc) - (i32.const 0) - ) - (block - (set_local $$4 - (i32.ne - (get_local $$rem) - (i32.const 0) - ) + (local $x64 i64) + (local $y64 i64) + (set_local $x64 + (i64.or + (i64.extend_u/i32 + (get_local $$a$0) ) - (if - (i32.eq - (get_local $$d_sroa_1_4_extract_trunc) - (i32.const 0) - ) - (block - (if - (get_local $$4) - (block - (i32.store - (get_local $$rem) - (i32.rem_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$d_sroa_0_0_extract_trunc) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.const 0) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.div_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$d_sroa_0_0_extract_trunc) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - (block - (if - (i32.eqz - (get_local $$4) - ) - (block - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (i32.store - (get_local $$rem) - (i32.and - (get_local $$a$0) - (i32.const -1) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.and - (get_local $$a$1) - (i32.const 0) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) + (i64.shl + (i64.extend_u/i32 + (get_local $$a$1) ) + (i64.const 32) ) ) ) - (set_local $$17 - (i32.eq - (get_local $$d_sroa_1_4_extract_trunc) - (i32.const 0) - ) - ) - (block $do-once$0 - (if - (i32.eq - (get_local $$d_sroa_0_0_extract_trunc) - (i32.const 0) - ) - (block - (if - (get_local $$17) - (block - (if - (i32.ne - (get_local $$rem) - (i32.const 0) - ) - (block - (i32.store - (get_local $$rem) - (i32.rem_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$d_sroa_0_0_extract_trunc) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.const 0) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.div_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$d_sroa_0_0_extract_trunc) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (if - (i32.eq - (get_local $$n_sroa_0_0_extract_trunc) - (i32.const 0) - ) - (block - (if - (i32.ne - (get_local $$rem) - (i32.const 0) - ) - (block - (i32.store - (get_local $$rem) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.rem_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$d_sroa_1_4_extract_trunc) - ) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.div_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$d_sroa_1_4_extract_trunc) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (if - (i32.eq - (i32.and - (set_local $$37 - (i32.sub - (get_local $$d_sroa_1_4_extract_trunc) - (i32.const 1) - ) - ) - (get_local $$d_sroa_1_4_extract_trunc) - ) - (i32.const 0) - ) - (block - (if - (i32.ne - (get_local $$rem) - (i32.const 0) - ) - (block - (i32.store - (get_local $$rem) - (i32.or - (i32.const 0) - (i32.and - (get_local $$a$0) - (i32.const -1) - ) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.or - (i32.and - (get_local $$37) - (get_local $$n_sroa_1_4_extract_trunc) - ) - (i32.and - (get_local $$a$1) - (i32.const 0) - ) - ) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (i32.ctz - (get_local $$d_sroa_1_4_extract_trunc) - ) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (if - (i32.le_u - (set_local $$51 - (i32.sub - (set_local $$49 - (i32.clz - (get_local $$d_sroa_1_4_extract_trunc) - ) - ) - (i32.clz - (get_local $$n_sroa_1_4_extract_trunc) - ) - ) - ) - (i32.const 30) - ) - (block - (set_local $$57 - (i32.add - (get_local $$51) - (i32.const 1) - ) - ) - (set_local $$58 - (i32.sub - (i32.const 31) - (get_local $$51) - ) - ) - (set_local $$sr_1_ph - (get_local $$57) - ) - (set_local $$r_sroa_0_1_ph - (i32.or - (i32.shl - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$58) - ) - (i32.shr_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$57) - ) - ) - ) - (set_local $$r_sroa_1_1_ph - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$57) - ) - ) - (set_local $$q_sroa_0_1_ph - (i32.const 0) - ) - (set_local $$q_sroa_1_1_ph - (i32.shl - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$58) - ) - ) - (br $do-once$0) - ) - ) - (if - (i32.eq - (get_local $$rem) - (i32.const 0) - ) - (block - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (i32.store - (get_local $$rem) - (i32.or - (i32.const 0) - (i32.and - (get_local $$a$0) - (i32.const -1) - ) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.or - (get_local $$n_sroa_1_4_extract_shift$0) - (i32.and - (get_local $$a$1) - (i32.const 0) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - (block - (if - (i32.eqz - (get_local $$17) - ) - (block - (if - (i32.le_u - (set_local $$119 - (i32.sub - (set_local $$117 - (i32.clz - (get_local $$d_sroa_1_4_extract_trunc) - ) - ) - (i32.clz - (get_local $$n_sroa_1_4_extract_trunc) - ) - ) - ) - (i32.const 31) - ) - (block - (set_local $$125 - (i32.add - (get_local $$119) - (i32.const 1) - ) - ) - (set_local $$126 - (i32.sub - (i32.const 31) - (get_local $$119) - ) - ) - (set_local $$130 - (i32.shr_s - (i32.sub - (get_local $$119) - (i32.const 31) - ) - (i32.const 31) - ) - ) - (set_local $$sr_1_ph - (get_local $$125) - ) - (set_local $$r_sroa_0_1_ph - (i32.or - (i32.and - (i32.shr_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$125) - ) - (get_local $$130) - ) - (i32.shl - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$126) - ) - ) - ) - (set_local $$r_sroa_1_1_ph - (i32.and - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$125) - ) - (get_local $$130) - ) - ) - (set_local $$q_sroa_0_1_ph - (i32.const 0) - ) - (set_local $$q_sroa_1_1_ph - (i32.shl - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$126) - ) - ) - (br $do-once$0) - ) - ) - (if - (i32.eq - (get_local $$rem) - (i32.const 0) - ) - (block - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (i32.store - (get_local $$rem) - (i32.or - (i32.const 0) - (i32.and - (get_local $$a$0) - (i32.const -1) - ) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.or - (get_local $$n_sroa_1_4_extract_shift$0) - (i32.and - (get_local $$a$1) - (i32.const 0) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (if - (i32.ne - (i32.and - (set_local $$66 - (i32.sub - (get_local $$d_sroa_0_0_extract_trunc) - (i32.const 1) - ) - ) - (get_local $$d_sroa_0_0_extract_trunc) - ) - (i32.const 0) - ) - (block - (set_local $$89 - (i32.sub - (i32.const 64) - (set_local $$88 - (i32.sub - (set_local $$86 - (i32.add - (i32.clz - (get_local $$d_sroa_0_0_extract_trunc) - ) - (i32.const 33) - ) - ) - (i32.clz - (get_local $$n_sroa_1_4_extract_trunc) - ) - ) - ) - ) - ) - (set_local $$92 - (i32.shr_s - (set_local $$91 - (i32.sub - (i32.const 32) - (get_local $$88) - ) - ) - (i32.const 31) - ) - ) - (set_local $$105 - (i32.shr_s - (set_local $$95 - (i32.sub - (get_local $$88) - (i32.const 32) - ) - ) - (i32.const 31) - ) - ) - (set_local $$sr_1_ph - (get_local $$88) - ) - (set_local $$r_sroa_0_1_ph - (i32.or - (i32.and - (i32.shr_s - (i32.sub - (get_local $$91) - (i32.const 1) - ) - (i32.const 31) - ) - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$95) - ) - ) - (i32.and - (i32.or - (i32.shl - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$91) - ) - (i32.shr_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$88) - ) - ) - (get_local $$105) - ) - ) - ) - (set_local $$r_sroa_1_1_ph - (i32.and - (get_local $$105) - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$88) - ) - ) - ) - (set_local $$q_sroa_0_1_ph - (i32.and - (i32.shl - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$89) - ) - (get_local $$92) - ) - ) - (set_local $$q_sroa_1_1_ph - (i32.or - (i32.and - (i32.or - (i32.shl - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$89) - ) - (i32.shr_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$95) - ) - ) - (get_local $$92) - ) - (i32.and - (i32.shl - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$91) - ) - (i32.shr_s - (i32.sub - (get_local $$88) - (i32.const 33) - ) - (i32.const 31) - ) - ) - ) - ) - (br $do-once$0) - ) - ) - (if - (i32.ne - (get_local $$rem) - (i32.const 0) - ) - (block - (i32.store - (get_local $$rem) - (i32.and - (get_local $$66) - (get_local $$n_sroa_0_0_extract_trunc) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.const 0) - ) - ) - ) - (if - (i32.eq - (get_local $$d_sroa_0_0_extract_trunc) - (i32.const 1) - ) - (block - (set_local $$_0$1 - (i32.or - (get_local $$n_sroa_1_4_extract_shift$0) - (i32.and - (get_local $$a$1) - (i32.const 0) - ) - ) - ) - (set_local $$_0$0 - (i32.or - (i32.const 0) - (i32.and - (get_local $$a$0) - (i32.const -1) - ) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - (block - (set_local $$78 - (i32.ctz - (get_local $$d_sroa_0_0_extract_trunc) - ) - ) - (set_local $$_0$1 - (i32.or - (i32.const 0) - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$78) - ) - ) - ) - (set_local $$_0$0 - (i32.or - (i32.shl - (get_local $$n_sroa_1_4_extract_trunc) - (i32.sub - (i32.const 32) - (get_local $$78) - ) - ) - (i32.shr_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$78) - ) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - ) - ) - ) - (if - (i32.eq - (get_local $$sr_1_ph) - (i32.const 0) - ) - (block - (set_local $$q_sroa_1_1_lcssa - (get_local $$q_sroa_1_1_ph) - ) - (set_local $$q_sroa_0_1_lcssa - (get_local $$q_sroa_0_1_ph) - ) - (set_local $$r_sroa_1_1_lcssa - (get_local $$r_sroa_1_1_ph) - ) - (set_local $$r_sroa_0_1_lcssa - (get_local $$r_sroa_0_1_ph) - ) - (set_local $$carry_0_lcssa$1 - (i32.const 0) - ) - (set_local $$carry_0_lcssa$0 - (i32.const 0) - ) - ) - (block - (set_local $$d_sroa_0_0_insert_insert99$0 - (i32.or - (i32.const 0) - (i32.and - (get_local $$b$0) - (i32.const -1) - ) - ) - ) - (set_local $$d_sroa_0_0_insert_insert99$1 - (i32.or - (get_local $$d_sroa_1_4_extract_shift$0) - (i32.and - (get_local $$b$1) - (i32.const 0) - ) - ) - ) - (set_local $$137$0 - (call $_i64Add - (get_local $$d_sroa_0_0_insert_insert99$0) - (get_local $$d_sroa_0_0_insert_insert99$1) - (i32.const -1) - (i32.const -1) - ) - ) - (set_local $$137$1 - (i32.load - (i32.const 168) - ) - ) - (set_local $$q_sroa_1_1198 - (get_local $$q_sroa_1_1_ph) - ) - (set_local $$q_sroa_0_1199 - (get_local $$q_sroa_0_1_ph) - ) - (set_local $$r_sroa_1_1200 - (get_local $$r_sroa_1_1_ph) - ) - (set_local $$r_sroa_0_1201 - (get_local $$r_sroa_0_1_ph) - ) - (set_local $$sr_1202 - (get_local $$sr_1_ph) - ) - (set_local $$carry_0203 - (i32.const 0) + (set_local $y64 + (i64.or + (i64.extend_u/i32 + (get_local $$b$0) ) - (loop $while-out$2 $while-in$3 - (set_local $$147 - (i32.or - (i32.shr_u - (get_local $$q_sroa_0_1199) - (i32.const 31) - ) - (i32.shl - (get_local $$q_sroa_1_1198) - (i32.const 1) - ) - ) - ) - (set_local $$149 - (i32.or - (get_local $$carry_0203) - (i32.shl - (get_local $$q_sroa_0_1199) - (i32.const 1) - ) - ) - ) - (set_local $$r_sroa_0_0_insert_insert42$0 - (i32.or - (i32.const 0) - (i32.or - (i32.shl - (get_local $$r_sroa_0_1201) - (i32.const 1) - ) - (i32.shr_u - (get_local $$q_sroa_1_1198) - (i32.const 31) - ) - ) - ) - ) - (set_local $$r_sroa_0_0_insert_insert42$1 - (i32.or - (i32.shr_u - (get_local $$r_sroa_0_1201) - (i32.const 31) - ) - (i32.shl - (get_local $$r_sroa_1_1200) - (i32.const 1) - ) - ) - ) - (call $_i64Subtract - (get_local $$137$0) - (get_local $$137$1) - (get_local $$r_sroa_0_0_insert_insert42$0) - (get_local $$r_sroa_0_0_insert_insert42$1) - ) - (set_local $$152 - (i32.and - (set_local $$151$0 - (i32.or - (i32.shr_s - (set_local $$150$1 - (i32.load - (i32.const 168) - ) - ) - (i32.const 31) - ) - (i32.shl - (if - (i32.lt_s - (get_local $$150$1) - (i32.const 0) - ) - (i32.const -1) - (i32.const 0) - ) - (i32.const 1) - ) - ) - ) - (i32.const 1) - ) - ) - (set_local $$r_sroa_0_0_extract_trunc - (set_local $$154$0 - (call $_i64Subtract - (get_local $$r_sroa_0_0_insert_insert42$0) - (get_local $$r_sroa_0_0_insert_insert42$1) - (i32.and - (get_local $$151$0) - (get_local $$d_sroa_0_0_insert_insert99$0) - ) - (i32.and - (i32.or - (i32.shr_s - (if - (i32.lt_s - (get_local $$150$1) - (i32.const 0) - ) - (i32.const -1) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.shl - (if - (i32.lt_s - (get_local $$150$1) - (i32.const 0) - ) - (i32.const -1) - (i32.const 0) - ) - (i32.const 1) - ) - ) - (get_local $$d_sroa_0_0_insert_insert99$1) - ) - ) - ) + (i64.shl + (i64.extend_u/i32 + (get_local $$b$1) ) - (set_local $$r_sroa_1_4_extract_trunc - (i32.load - (i32.const 168) - ) - ) - (if - (i32.eq - (set_local $$155 - (i32.sub - (get_local $$sr_1202) - (i32.const 1) - ) - ) - (i32.const 0) - ) - (br $while-out$2) - (block - (set_local $$q_sroa_1_1198 - (get_local $$147) - ) - (set_local $$q_sroa_0_1199 - (get_local $$149) - ) - (set_local $$r_sroa_1_1200 - (get_local $$r_sroa_1_4_extract_trunc) - ) - (set_local $$r_sroa_0_1201 - (get_local $$r_sroa_0_0_extract_trunc) - ) - (set_local $$sr_1202 - (get_local $$155) - ) - (set_local $$carry_0203 - (get_local $$152) - ) - ) - ) - (br $while-in$3) - ) - (set_local $$q_sroa_1_1_lcssa - (get_local $$147) - ) - (set_local $$q_sroa_0_1_lcssa - (get_local $$149) - ) - (set_local $$r_sroa_1_1_lcssa - (get_local $$r_sroa_1_4_extract_trunc) + (i64.const 32) ) - (set_local $$r_sroa_0_1_lcssa - (get_local $$r_sroa_0_0_extract_trunc) - ) - (set_local $$carry_0_lcssa$1 - (i32.const 0) - ) - (set_local $$carry_0_lcssa$0 - (get_local $$152) - ) - ) - ) - (set_local $$q_sroa_0_0_insert_ext75$0 - (get_local $$q_sroa_0_1_lcssa) - ) - (set_local $$q_sroa_0_0_insert_ext75$1 - (i32.const 0) - ) - (set_local $$q_sroa_0_0_insert_insert77$1 - (i32.or - (get_local $$q_sroa_1_1_lcssa) - (get_local $$q_sroa_0_0_insert_ext75$1) ) ) (if - (i32.ne + (get_local $$rem) + (i64.store (get_local $$rem) - (i32.const 0) - ) - (block - (i32.store - (get_local $$rem) - (i32.or - (i32.const 0) - (get_local $$r_sroa_0_1_lcssa) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (get_local $$r_sroa_1_1_lcssa) + (i64.rem_u + (get_local $x64) + (get_local $y64) ) ) ) - (set_local $$_0$1 - (i32.or - (i32.or - (i32.or - (i32.shr_u - (i32.or - (i32.const 0) - (get_local $$q_sroa_0_0_insert_ext75$0) - ) - (i32.const 31) - ) - (i32.shl - (get_local $$q_sroa_0_0_insert_insert77$1) - (i32.const 1) - ) - ) - (i32.and - (i32.or - (i32.shl - (get_local $$q_sroa_0_0_insert_ext75$1) - (i32.const 1) - ) - (i32.shr_u - (get_local $$q_sroa_0_0_insert_ext75$0) - (i32.const 31) - ) - ) - (i32.const 0) - ) - ) - (get_local $$carry_0_lcssa$1) - ) - ) - (set_local $$_0$0 - (i32.or - (i32.and - (i32.or - (i32.shl - (get_local $$q_sroa_0_0_insert_ext75$0) - (i32.const 1) - ) - (i32.shr_u - (i32.const 0) - (i32.const 31) + (i32.store + (i32.const 168) + (i32.wrap/i64 + (i64.shr_u + (set_local $x64 + (i64.div_u + (get_local $x64) + (get_local $y64) ) ) - (i32.const -2) + (i64.const 32) ) - (get_local $$carry_0_lcssa$0) ) ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) + (i32.wrap/i64 + (get_local $x64) ) ) (func $dynCall_ii (param $index i32) (param $a1 i32) (result i32) diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index 52c1444b6..ec2f98964 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -48,6 +48,7 @@ (export "dynCall_ii" $dynCall_ii) (export "dynCall_iiii" $dynCall_iiii) (export "dynCall_vi" $dynCall_vi) + (export "___udivmoddi4" $___udivmoddi4) (table $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2) (func $stackAlloc (param $size i32) (result i32) (local $ret i32) @@ -29144,1209 +29145,60 @@ ) ) (func $___udivmoddi4 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (param $$rem i32) (result i32) - (local $$_0$1 i32) - (local $$_0$0 i32) - (local $$n_sroa_1_4_extract_trunc i32) - (local $$n_sroa_0_0_extract_trunc i32) - (local $$d_sroa_0_0_extract_trunc i32) - (local $$d_sroa_1_4_extract_trunc i32) - (local $$88 i32) - (local $$sr_1_ph i32) - (local $$r_sroa_1_1_ph i32) - (local $$r_sroa_0_1_ph i32) - (local $$q_sroa_1_1_ph i32) - (local $$q_sroa_0_1_ph i32) - (local $$r_sroa_0_1201 i32) - (local $$q_sroa_1_1198 i32) - (local $$q_sroa_0_1199 i32) - (local $$q_sroa_0_0_insert_ext75$0 i32) - (local $$n_sroa_1_4_extract_shift$0 i32) - (local $$91 i32) - (local $$78 i32) - (local $$57 i32) - (local $$150$1 i32) - (local $$125 i32) - (local $$119 i32) - (local $$sr_1202 i32) - (local $$r_sroa_1_4_extract_trunc i32) - (local $$r_sroa_1_1_lcssa i32) - (local $$r_sroa_1_1200 i32) - (local $$r_sroa_0_1_lcssa i32) - (local $$r_sroa_0_0_insert_insert42$1 i32) - (local $$r_sroa_0_0_insert_insert42$0 i32) - (local $$r_sroa_0_0_extract_trunc i32) - (local $$q_sroa_1_1_lcssa i32) - (local $$q_sroa_0_1_lcssa i32) - (local $$q_sroa_0_0_insert_ext75$1 i32) - (local $$d_sroa_0_0_insert_insert99$1 i32) - (local $$d_sroa_0_0_insert_insert99$0 i32) - (local $$carry_0_lcssa$1 i32) - (local $$carry_0_lcssa$0 i32) - (local $$carry_0203 i32) - (local $$95 i32) - (local $$92 i32) - (local $$89 i32) - (local $$58 i32) - (local $$51 i32) - (local $$4 i32) - (local $$17 i32) - (local $$152 i32) - (local $$149 i32) - (local $$147 i32) - (local $$130 i32) - (local $$126 i32) - (local $$105 i32) - (local $$q_sroa_0_0_insert_insert77$1 i32) - (local $$d_sroa_1_4_extract_shift$0 i32) - (local $$66 i32) - (local $$37 i32) - (local $$155 i32) - (local $$151$0 i32) - (local $$137$1 i32) - (local $$137$0 i32) - (local $$86 i32) - (local $$49 i32) - (local $$154$0 i32) - (local $$117 i32) - (set_local $$n_sroa_0_0_extract_trunc - (get_local $$a$0) - ) - (set_local $$n_sroa_1_4_extract_trunc - (set_local $$n_sroa_1_4_extract_shift$0 - (get_local $$a$1) - ) - ) - (set_local $$d_sroa_0_0_extract_trunc - (get_local $$b$0) - ) - (set_local $$d_sroa_1_4_extract_trunc - (set_local $$d_sroa_1_4_extract_shift$0 - (get_local $$b$1) - ) - ) - (if - (i32.eq - (get_local $$n_sroa_1_4_extract_trunc) - (i32.const 0) - ) - (block - (set_local $$4 - (i32.ne - (get_local $$rem) - (i32.const 0) - ) + (local $x64 i64) + (local $y64 i64) + (set_local $x64 + (i64.or + (i64.extend_u/i32 + (get_local $$a$0) ) - (if - (i32.eq - (get_local $$d_sroa_1_4_extract_trunc) - (i32.const 0) - ) - (block - (if - (get_local $$4) - (block - (i32.store - (get_local $$rem) - (i32.rem_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$d_sroa_0_0_extract_trunc) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.const 0) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.div_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$d_sroa_0_0_extract_trunc) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - (block - (if - (i32.eqz - (get_local $$4) - ) - (block - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (i32.store - (get_local $$rem) - (i32.and - (get_local $$a$0) - (i32.const -1) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.and - (get_local $$a$1) - (i32.const 0) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) + (i64.shl + (i64.extend_u/i32 + (get_local $$a$1) ) + (i64.const 32) ) ) ) - (set_local $$17 - (i32.eq - (get_local $$d_sroa_1_4_extract_trunc) - (i32.const 0) - ) - ) - (block $do-once$0 - (if - (i32.eq - (get_local $$d_sroa_0_0_extract_trunc) - (i32.const 0) - ) - (block - (if - (get_local $$17) - (block - (if - (i32.ne - (get_local $$rem) - (i32.const 0) - ) - (block - (i32.store - (get_local $$rem) - (i32.rem_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$d_sroa_0_0_extract_trunc) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.const 0) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.div_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$d_sroa_0_0_extract_trunc) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (if - (i32.eq - (get_local $$n_sroa_0_0_extract_trunc) - (i32.const 0) - ) - (block - (if - (i32.ne - (get_local $$rem) - (i32.const 0) - ) - (block - (i32.store - (get_local $$rem) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.rem_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$d_sroa_1_4_extract_trunc) - ) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.div_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$d_sroa_1_4_extract_trunc) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (if - (i32.eq - (i32.and - (set_local $$37 - (i32.sub - (get_local $$d_sroa_1_4_extract_trunc) - (i32.const 1) - ) - ) - (get_local $$d_sroa_1_4_extract_trunc) - ) - (i32.const 0) - ) - (block - (if - (i32.ne - (get_local $$rem) - (i32.const 0) - ) - (block - (i32.store - (get_local $$rem) - (i32.or - (i32.const 0) - (i32.and - (get_local $$a$0) - (i32.const -1) - ) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.or - (i32.and - (get_local $$37) - (get_local $$n_sroa_1_4_extract_trunc) - ) - (i32.and - (get_local $$a$1) - (i32.const 0) - ) - ) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (i32.ctz - (get_local $$d_sroa_1_4_extract_trunc) - ) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (if - (i32.le_u - (set_local $$51 - (i32.sub - (set_local $$49 - (i32.clz - (get_local $$d_sroa_1_4_extract_trunc) - ) - ) - (i32.clz - (get_local $$n_sroa_1_4_extract_trunc) - ) - ) - ) - (i32.const 30) - ) - (block - (set_local $$57 - (i32.add - (get_local $$51) - (i32.const 1) - ) - ) - (set_local $$58 - (i32.sub - (i32.const 31) - (get_local $$51) - ) - ) - (set_local $$sr_1_ph - (get_local $$57) - ) - (set_local $$r_sroa_0_1_ph - (i32.or - (i32.shl - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$58) - ) - (i32.shr_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$57) - ) - ) - ) - (set_local $$r_sroa_1_1_ph - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$57) - ) - ) - (set_local $$q_sroa_0_1_ph - (i32.const 0) - ) - (set_local $$q_sroa_1_1_ph - (i32.shl - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$58) - ) - ) - (br $do-once$0) - ) - ) - (if - (i32.eq - (get_local $$rem) - (i32.const 0) - ) - (block - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (i32.store - (get_local $$rem) - (i32.or - (i32.const 0) - (i32.and - (get_local $$a$0) - (i32.const -1) - ) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.or - (get_local $$n_sroa_1_4_extract_shift$0) - (i32.and - (get_local $$a$1) - (i32.const 0) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - (block - (if - (i32.eqz - (get_local $$17) - ) - (block - (if - (i32.le_u - (set_local $$119 - (i32.sub - (set_local $$117 - (i32.clz - (get_local $$d_sroa_1_4_extract_trunc) - ) - ) - (i32.clz - (get_local $$n_sroa_1_4_extract_trunc) - ) - ) - ) - (i32.const 31) - ) - (block - (set_local $$125 - (i32.add - (get_local $$119) - (i32.const 1) - ) - ) - (set_local $$126 - (i32.sub - (i32.const 31) - (get_local $$119) - ) - ) - (set_local $$130 - (i32.shr_s - (i32.sub - (get_local $$119) - (i32.const 31) - ) - (i32.const 31) - ) - ) - (set_local $$sr_1_ph - (get_local $$125) - ) - (set_local $$r_sroa_0_1_ph - (i32.or - (i32.and - (i32.shr_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$125) - ) - (get_local $$130) - ) - (i32.shl - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$126) - ) - ) - ) - (set_local $$r_sroa_1_1_ph - (i32.and - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$125) - ) - (get_local $$130) - ) - ) - (set_local $$q_sroa_0_1_ph - (i32.const 0) - ) - (set_local $$q_sroa_1_1_ph - (i32.shl - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$126) - ) - ) - (br $do-once$0) - ) - ) - (if - (i32.eq - (get_local $$rem) - (i32.const 0) - ) - (block - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (i32.store - (get_local $$rem) - (i32.or - (i32.const 0) - (i32.and - (get_local $$a$0) - (i32.const -1) - ) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.or - (get_local $$n_sroa_1_4_extract_shift$0) - (i32.and - (get_local $$a$1) - (i32.const 0) - ) - ) - ) - (set_local $$_0$1 - (i32.const 0) - ) - (set_local $$_0$0 - (i32.const 0) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - (if - (i32.ne - (i32.and - (set_local $$66 - (i32.sub - (get_local $$d_sroa_0_0_extract_trunc) - (i32.const 1) - ) - ) - (get_local $$d_sroa_0_0_extract_trunc) - ) - (i32.const 0) - ) - (block - (set_local $$89 - (i32.sub - (i32.const 64) - (set_local $$88 - (i32.sub - (set_local $$86 - (i32.add - (i32.clz - (get_local $$d_sroa_0_0_extract_trunc) - ) - (i32.const 33) - ) - ) - (i32.clz - (get_local $$n_sroa_1_4_extract_trunc) - ) - ) - ) - ) - ) - (set_local $$92 - (i32.shr_s - (set_local $$91 - (i32.sub - (i32.const 32) - (get_local $$88) - ) - ) - (i32.const 31) - ) - ) - (set_local $$105 - (i32.shr_s - (set_local $$95 - (i32.sub - (get_local $$88) - (i32.const 32) - ) - ) - (i32.const 31) - ) - ) - (set_local $$sr_1_ph - (get_local $$88) - ) - (set_local $$r_sroa_0_1_ph - (i32.or - (i32.and - (i32.shr_s - (i32.sub - (get_local $$91) - (i32.const 1) - ) - (i32.const 31) - ) - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$95) - ) - ) - (i32.and - (i32.or - (i32.shl - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$91) - ) - (i32.shr_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$88) - ) - ) - (get_local $$105) - ) - ) - ) - (set_local $$r_sroa_1_1_ph - (i32.and - (get_local $$105) - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$88) - ) - ) - ) - (set_local $$q_sroa_0_1_ph - (i32.and - (i32.shl - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$89) - ) - (get_local $$92) - ) - ) - (set_local $$q_sroa_1_1_ph - (i32.or - (i32.and - (i32.or - (i32.shl - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$89) - ) - (i32.shr_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$95) - ) - ) - (get_local $$92) - ) - (i32.and - (i32.shl - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$91) - ) - (i32.shr_s - (i32.sub - (get_local $$88) - (i32.const 33) - ) - (i32.const 31) - ) - ) - ) - ) - (br $do-once$0) - ) - ) - (if - (i32.ne - (get_local $$rem) - (i32.const 0) - ) - (block - (i32.store - (get_local $$rem) - (i32.and - (get_local $$66) - (get_local $$n_sroa_0_0_extract_trunc) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (i32.const 0) - ) - ) - ) - (if - (i32.eq - (get_local $$d_sroa_0_0_extract_trunc) - (i32.const 1) - ) - (block - (set_local $$_0$1 - (i32.or - (get_local $$n_sroa_1_4_extract_shift$0) - (i32.and - (get_local $$a$1) - (i32.const 0) - ) - ) - ) - (set_local $$_0$0 - (i32.or - (i32.const 0) - (i32.and - (get_local $$a$0) - (i32.const -1) - ) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - (block - (set_local $$78 - (i32.ctz - (get_local $$d_sroa_0_0_extract_trunc) - ) - ) - (set_local $$_0$1 - (i32.or - (i32.const 0) - (i32.shr_u - (get_local $$n_sroa_1_4_extract_trunc) - (get_local $$78) - ) - ) - ) - (set_local $$_0$0 - (i32.or - (i32.shl - (get_local $$n_sroa_1_4_extract_trunc) - (i32.sub - (i32.const 32) - (get_local $$78) - ) - ) - (i32.shr_u - (get_local $$n_sroa_0_0_extract_trunc) - (get_local $$78) - ) - ) - ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) - ) - ) - ) - ) - ) - ) - (if - (i32.eq - (get_local $$sr_1_ph) - (i32.const 0) - ) - (block - (set_local $$q_sroa_1_1_lcssa - (get_local $$q_sroa_1_1_ph) - ) - (set_local $$q_sroa_0_1_lcssa - (get_local $$q_sroa_0_1_ph) - ) - (set_local $$r_sroa_1_1_lcssa - (get_local $$r_sroa_1_1_ph) - ) - (set_local $$r_sroa_0_1_lcssa - (get_local $$r_sroa_0_1_ph) - ) - (set_local $$carry_0_lcssa$1 - (i32.const 0) - ) - (set_local $$carry_0_lcssa$0 - (i32.const 0) - ) - ) - (block - (set_local $$d_sroa_0_0_insert_insert99$0 - (i32.or - (i32.const 0) - (i32.and - (get_local $$b$0) - (i32.const -1) - ) - ) - ) - (set_local $$d_sroa_0_0_insert_insert99$1 - (i32.or - (get_local $$d_sroa_1_4_extract_shift$0) - (i32.and - (get_local $$b$1) - (i32.const 0) - ) - ) - ) - (set_local $$137$0 - (call $_i64Add - (get_local $$d_sroa_0_0_insert_insert99$0) - (get_local $$d_sroa_0_0_insert_insert99$1) - (i32.const -1) - (i32.const -1) - ) - ) - (set_local $$137$1 - (i32.load - (i32.const 168) - ) - ) - (set_local $$q_sroa_1_1198 - (get_local $$q_sroa_1_1_ph) - ) - (set_local $$q_sroa_0_1199 - (get_local $$q_sroa_0_1_ph) - ) - (set_local $$r_sroa_1_1200 - (get_local $$r_sroa_1_1_ph) - ) - (set_local $$r_sroa_0_1201 - (get_local $$r_sroa_0_1_ph) - ) - (set_local $$sr_1202 - (get_local $$sr_1_ph) - ) - (set_local $$carry_0203 - (i32.const 0) + (set_local $y64 + (i64.or + (i64.extend_u/i32 + (get_local $$b$0) ) - (loop $while-out$2 $while-in$3 - (set_local $$147 - (i32.or - (i32.shr_u - (get_local $$q_sroa_0_1199) - (i32.const 31) - ) - (i32.shl - (get_local $$q_sroa_1_1198) - (i32.const 1) - ) - ) - ) - (set_local $$149 - (i32.or - (get_local $$carry_0203) - (i32.shl - (get_local $$q_sroa_0_1199) - (i32.const 1) - ) - ) - ) - (set_local $$r_sroa_0_0_insert_insert42$0 - (i32.or - (i32.const 0) - (i32.or - (i32.shl - (get_local $$r_sroa_0_1201) - (i32.const 1) - ) - (i32.shr_u - (get_local $$q_sroa_1_1198) - (i32.const 31) - ) - ) - ) - ) - (set_local $$r_sroa_0_0_insert_insert42$1 - (i32.or - (i32.shr_u - (get_local $$r_sroa_0_1201) - (i32.const 31) - ) - (i32.shl - (get_local $$r_sroa_1_1200) - (i32.const 1) - ) - ) - ) - (call $_i64Subtract - (get_local $$137$0) - (get_local $$137$1) - (get_local $$r_sroa_0_0_insert_insert42$0) - (get_local $$r_sroa_0_0_insert_insert42$1) - ) - (set_local $$152 - (i32.and - (set_local $$151$0 - (i32.or - (i32.shr_s - (set_local $$150$1 - (i32.load - (i32.const 168) - ) - ) - (i32.const 31) - ) - (i32.shl - (if - (i32.lt_s - (get_local $$150$1) - (i32.const 0) - ) - (i32.const -1) - (i32.const 0) - ) - (i32.const 1) - ) - ) - ) - (i32.const 1) - ) - ) - (set_local $$r_sroa_0_0_extract_trunc - (set_local $$154$0 - (call $_i64Subtract - (get_local $$r_sroa_0_0_insert_insert42$0) - (get_local $$r_sroa_0_0_insert_insert42$1) - (i32.and - (get_local $$151$0) - (get_local $$d_sroa_0_0_insert_insert99$0) - ) - (i32.and - (i32.or - (i32.shr_s - (if - (i32.lt_s - (get_local $$150$1) - (i32.const 0) - ) - (i32.const -1) - (i32.const 0) - ) - (i32.const 31) - ) - (i32.shl - (if - (i32.lt_s - (get_local $$150$1) - (i32.const 0) - ) - (i32.const -1) - (i32.const 0) - ) - (i32.const 1) - ) - ) - (get_local $$d_sroa_0_0_insert_insert99$1) - ) - ) - ) + (i64.shl + (i64.extend_u/i32 + (get_local $$b$1) ) - (set_local $$r_sroa_1_4_extract_trunc - (i32.load - (i32.const 168) - ) - ) - (if - (i32.eq - (set_local $$155 - (i32.sub - (get_local $$sr_1202) - (i32.const 1) - ) - ) - (i32.const 0) - ) - (br $while-out$2) - (block - (set_local $$q_sroa_1_1198 - (get_local $$147) - ) - (set_local $$q_sroa_0_1199 - (get_local $$149) - ) - (set_local $$r_sroa_1_1200 - (get_local $$r_sroa_1_4_extract_trunc) - ) - (set_local $$r_sroa_0_1201 - (get_local $$r_sroa_0_0_extract_trunc) - ) - (set_local $$sr_1202 - (get_local $$155) - ) - (set_local $$carry_0203 - (get_local $$152) - ) - ) - ) - (br $while-in$3) - ) - (set_local $$q_sroa_1_1_lcssa - (get_local $$147) - ) - (set_local $$q_sroa_0_1_lcssa - (get_local $$149) - ) - (set_local $$r_sroa_1_1_lcssa - (get_local $$r_sroa_1_4_extract_trunc) + (i64.const 32) ) - (set_local $$r_sroa_0_1_lcssa - (get_local $$r_sroa_0_0_extract_trunc) - ) - (set_local $$carry_0_lcssa$1 - (i32.const 0) - ) - (set_local $$carry_0_lcssa$0 - (get_local $$152) - ) - ) - ) - (set_local $$q_sroa_0_0_insert_ext75$0 - (get_local $$q_sroa_0_1_lcssa) - ) - (set_local $$q_sroa_0_0_insert_ext75$1 - (i32.const 0) - ) - (set_local $$q_sroa_0_0_insert_insert77$1 - (i32.or - (get_local $$q_sroa_1_1_lcssa) - (get_local $$q_sroa_0_0_insert_ext75$1) ) ) (if - (i32.ne + (get_local $$rem) + (i64.store (get_local $$rem) - (i32.const 0) - ) - (block - (i32.store - (get_local $$rem) - (i32.or - (i32.const 0) - (get_local $$r_sroa_0_1_lcssa) - ) - ) - (i32.store offset=4 - (get_local $$rem) - (get_local $$r_sroa_1_1_lcssa) + (i64.rem_u + (get_local $x64) + (get_local $y64) ) ) ) - (set_local $$_0$1 - (i32.or - (i32.or - (i32.or - (i32.shr_u - (i32.or - (i32.const 0) - (get_local $$q_sroa_0_0_insert_ext75$0) - ) - (i32.const 31) - ) - (i32.shl - (get_local $$q_sroa_0_0_insert_insert77$1) - (i32.const 1) - ) - ) - (i32.and - (i32.or - (i32.shl - (get_local $$q_sroa_0_0_insert_ext75$1) - (i32.const 1) - ) - (i32.shr_u - (get_local $$q_sroa_0_0_insert_ext75$0) - (i32.const 31) - ) - ) - (i32.const 0) - ) - ) - (get_local $$carry_0_lcssa$1) - ) - ) - (set_local $$_0$0 - (i32.or - (i32.and - (i32.or - (i32.shl - (get_local $$q_sroa_0_0_insert_ext75$0) - (i32.const 1) - ) - (i32.shr_u - (i32.const 0) - (i32.const 31) + (i32.store + (i32.const 168) + (i32.wrap/i64 + (i64.shr_u + (set_local $x64 + (i64.div_u + (get_local $x64) + (get_local $y64) ) ) - (i32.const -2) + (i64.const 32) ) - (get_local $$carry_0_lcssa$0) ) ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$_0$1) - ) - (get_local $$_0$0) - ) + (i32.wrap/i64 + (get_local $x64) ) ) (func $dynCall_ii (param $index i32) (param $a1 i32) (result i32) |