diff options
Diffstat (limited to 'test/emcc_hello_world.fromasm.imprecise')
-rw-r--r-- | test/emcc_hello_world.fromasm.imprecise | 1109 |
1 files changed, 1072 insertions, 37 deletions
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index 6708ecfd6..71a0412b7 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -21440,61 +21440,1096 @@ ) ) ) - (func $___udivmoddi4 (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32) - (local $x64 i64) - (local $y64 i64) - (set_local $x64 - (i64.or - (i64.extend_u/i32 - (get_local $xl) + (func $___udivmoddi4 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (param $$rem i32) (result 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 $$q_sroa_1_1_ph i32) + (local $$q_sroa_0_1_ph i32) + (local $$r_sroa_1_1_ph i32) + (local $$r_sroa_0_1_ph i32) + (local $$sr_1_ph i32) + (local $$n_sroa_1_4_extract_shift$0 i32) + (local $$91 i32) + (local $$119 i32) + (local $$r_sroa_0_1201 i32) + (local $$q_sroa_0_1199 i32) + (local $$q_sroa_1_1198 i32) + (local $$150$1 i32) + (local $$q_sroa_0_0_insert_ext75$0 i32) + (local $$4 i32) + (local $$17 i32) + (local $$51 i32) + (local $$57 i32) + (local $$78 i32) + (local $$89 i32) + (local $$92 i32) + (local $$95 i32) + (local $$105 i32) + (local $$125 i32) + (local $$carry_0203 i32) + (local $$sr_1202 i32) + (local $$r_sroa_1_1200 i32) + (local $$147 i32) + (local $$149 i32) + (local $$152 i32) + (local $$r_sroa_0_0_extract_trunc i32) + (local $$r_sroa_1_4_extract_trunc i32) + (local $$carry_0_lcssa$0 i32) + (local $$carry_0_lcssa$1 i32) + (local $$r_sroa_0_1_lcssa i32) + (local $$r_sroa_1_1_lcssa i32) + (local $$q_sroa_0_1_lcssa i32) + (local $$q_sroa_1_1_lcssa i32) + (local $$d_sroa_1_4_extract_shift$0 i32) + (local $$37 i32) + (local $$58 i32) + (local $$66 i32) + (local $$126 i32) + (local $$130 i32) + (local $$d_sroa_0_0_insert_insert99$0 i32) + (local $$d_sroa_0_0_insert_insert99$1 i32) + (local $$137$0 i32) + (local $$137$1 i32) + (local $$r_sroa_0_0_insert_insert42$0 i32) + (local $$r_sroa_0_0_insert_insert42$1 i32) + (local $$151$0 i32) + (local $$155 i32) + (local $$q_sroa_0_0_insert_ext75$1 i32) + (local $$q_sroa_0_0_insert_insert77$1 i32) + (set_local $$n_sroa_0_0_extract_trunc + (get_local $$a$0) + ) + (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 + (set_local $$n_sroa_1_4_extract_trunc + (set_local $$n_sroa_1_4_extract_shift$0 + (get_local $$a$1) + ) ) - (i64.shl - (i64.extend_u/i32 - (get_local $xh) + (i32.const 0) + ) + (block + (set_local $$4 + (i32.ne + (get_local $$rem) + (i32.const 0) ) - (i64.const 32) ) + (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) + ) + ) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.const 0) + ) + (i32.div_u + (get_local $$n_sroa_0_0_extract_trunc) + (get_local $$d_sroa_0_0_extract_trunc) + ) + ) + ) + ) + (block + (if + (i32.eqz + (get_local $$4) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.const 0) + ) + (i32.const 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) + ) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.const 0) + ) + (i32.const 0) + ) + ) + ) + ) + ) + ) + (set_local $$17 + (i32.eq + (get_local $$d_sroa_1_4_extract_trunc) + (i32.const 0) ) ) - (set_local $y64 - (i64.or - (i64.extend_u/i32 - (get_local $yl) + (block $do-once$0 + (if + (i32.eq + (get_local $$d_sroa_0_0_extract_trunc) + (i32.const 0) ) - (i64.shl - (i64.extend_u/i32 - (get_local $yh) + (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) + ) + ) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.const 0) + ) + (i32.div_u + (get_local $$n_sroa_1_4_extract_trunc) + (get_local $$d_sroa_0_0_extract_trunc) + ) + ) + ) + ) + ) + (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) + ) + ) + ) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.const 0) + ) + (i32.div_u + (get_local $$n_sroa_1_4_extract_trunc) + (get_local $$d_sroa_1_4_extract_trunc) + ) + ) + ) + ) + ) + (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) + ) + ) + ) + ) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.const 0) + ) + (i32.shr_u + (get_local $$n_sroa_1_4_extract_trunc) + (i32.ctz + (get_local $$d_sroa_1_4_extract_trunc) + ) + ) + ) + ) + ) + ) + (if + (i32.le_u + (set_local $$51 + (i32.sub + (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 $$sr_1_ph + (set_local $$57 + (i32.add + (get_local $$51) + (i32.const 1) + ) + ) + ) + (set_local $$r_sroa_0_1_ph + (i32.or + (i32.shl + (get_local $$n_sroa_1_4_extract_trunc) + (set_local $$58 + (i32.sub + (i32.const 31) + (get_local $$51) + ) + ) + ) + (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) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.const 0) + ) + (i32.const 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) + ) + ) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.const 0) + ) + (i32.const 0) + ) + ) + ) + (block + (if + (i32.eqz + (get_local $$17) + ) + (block + (if + (i32.le_u + (set_local $$119 + (i32.sub + (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 $$sr_1_ph + (set_local $$125 + (i32.add + (get_local $$119) + (i32.const 1) + ) + ) + ) + (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) + ) + (set_local $$130 + (i32.shr_s + (i32.sub + (get_local $$119) + (i32.const 31) + ) + (i32.const 31) + ) + ) + ) + (i32.shl + (get_local $$n_sroa_1_4_extract_trunc) + (set_local $$126 + (i32.sub + (i32.const 31) + (get_local $$119) + ) + ) + ) + ) + ) + (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) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.const 0) + ) + (i32.const 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) + ) + ) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.const 0) + ) + (i32.const 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 + (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) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.or + (get_local $$n_sroa_1_4_extract_shift$0) + (i32.and + (get_local $$a$1) + (i32.const 0) + ) + ) + ) + (i32.or + (i32.const 0) + (i32.and + (get_local $$a$0) + (i32.const -1) + ) + ) + ) + ) + (return + (block + (i32.store + (i32.const 168) + (i32.or + (i32.const 0) + (i32.shr_u + (get_local $$n_sroa_1_4_extract_trunc) + (set_local $$78 + (i32.ctz + (get_local $$d_sroa_0_0_extract_trunc) + ) + ) + ) + ) + ) + (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) + ) + ) + ) + ) ) - (i64.const 32) ) ) ) (if - (get_local $r) - (i64.store - (get_local $r) - (i64.rem_u - (get_local $x64) - (get_local $y64) + (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) ) ) - ) - (i32.store - (i32.const 168) - (i32.wrap/i64 - (i64.shr_u - (set_local $x64 - (i64.div_u - (get_local $x64) - (get_local $y64) + (block + (set_local $$137$0 + (call $_i64Add + (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) + ) + ) + ) + (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) + ) + (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) + ) + ) + ) + (call $_i64Subtract + (get_local $$137$0) + (get_local $$137$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) + ) + ) + ) + ) + (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 + (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) + ) + ) + ) + (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) + ) ) ) - (i64.const 32) + (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) + ) + (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_insert77$1 + (i32.or + (get_local $$q_sroa_1_1_lcssa) + (set_local $$q_sroa_0_0_insert_ext75$1 + (i32.const 0) + ) + ) + ) + (if + (i32.ne + (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) ) ) ) - (i32.wrap/i64 - (get_local $x64) + (return + (block + (i32.store + (i32.const 168) + (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) + ) + ) + (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.const -2) + ) + (get_local $$carry_0_lcssa$0) + ) + ) ) ) (func $dynCall_ii (param $index i32) (param $a1 i32) (result i32) |