diff options
52 files changed, 3604 insertions, 3722 deletions
diff --git a/test/revision b/test/revision index 2636b6c90..6126c5496 100644 --- a/test/revision +++ b/test/revision @@ -1 +1 @@ -8774 +9397 diff --git a/test/s2wasm_known_binaryen_shell_test_failures.txt b/test/s2wasm_known_binaryen_shell_test_failures.txt index 98aed9d1a..18b1273cc 100644 --- a/test/s2wasm_known_binaryen_shell_test_failures.txt +++ b/test/s2wasm_known_binaryen_shell_test_failures.txt @@ -47,7 +47,6 @@ pr60960.c.s.wast stdarg-1.c.s.wast stdarg-2.c.s.wast string-opt-17.c.s.wast -string-opt-18.c.s.wast struct-ret-1.c.s.wast va-arg-2.c.s.wast va-arg-5.c.s.wast @@ -152,7 +151,6 @@ strcpy-1.c.s.wast # memset string-opt-5.c.s.wast # strlen strlen-1.c.s.wast # strlen strncmp-1.c.s.wast # strcmp -struct-cpy-1.c.s.wast # memset va-arg-10.c.s.wast # strlen va-arg-22.c.s.wast # memcpy va-arg-21.c.s.wast # malloc diff --git a/test/spec b/test/spec -Subproject 9af9a32b3b9335b9dfb4a6a6ba24bc3858815de +Subproject 88274ef4376b5a679a2cd0a1d630bf7e71f96cf diff --git a/test/torture-s/20000412-6.c.s b/test/torture-s/20000412-6.c.s index e727fac1b..23cf1dd97 100644 --- a/test/torture-s/20000412-6.c.s +++ b/test/torture-s/20000412-6.c.s @@ -6,32 +6,38 @@ .type main,@function main: # @main .result i32 - .local i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $1=, buf - i32.const $0=, 512 + i32.const $3=, 512 + i32.const $2=, buf .LBB0_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label0: - i32.load16_u $push0=, 0($1) - i32.sub $push1=, $0, $pop0 - i32.const $push10=, 65535 - i32.and $0=, $pop1, $pop10 - i32.const $push9=, 2 - i32.add $push8=, $1, $pop9 - tee_local $push7=, $1=, $pop8 - i32.const $push6=, buf+6 - i32.lt_u $push2=, $pop7, $pop6 - br_if 0, $pop2 # 0: up to label0 + copy_local $push16=, $3 + tee_local $push15=, $0=, $pop16 + i32.const $push14=, 65535 + i32.and $push0=, $pop15, $pop14 + i32.load16_u $push13=, 0($2) + tee_local $push12=, $1=, $pop13 + i32.sub $3=, $pop0, $pop12 + i32.const $push11=, 2 + i32.add $push10=, $2, $pop11 + tee_local $push9=, $2=, $pop10 + i32.const $push8=, buf+6 + i32.lt_u $push1=, $pop9, $pop8 + br_if 0, $pop1 # 0: up to label0 # BB#2: # %bug.exit end_loop # label1: block - i32.const $push3=, 491 - i32.ne $push4=, $0, $pop3 - br_if 0, $pop4 # 0: down to label2 + i32.sub $push2=, $0, $1 + i32.const $push3=, 65535 + i32.and $push4=, $pop2, $pop3 + i32.const $push5=, 491 + i32.ne $push6=, $pop4, $pop5 + br_if 0, $pop6 # 0: down to label2 # BB#3: # %if.end - i32.const $push5=, 0 - call exit@FUNCTION, $pop5 + i32.const $push7=, 0 + call exit@FUNCTION, $pop7 unreachable .LBB0_4: # %if.then end_block # label2: @@ -56,20 +62,21 @@ bug: # @bug .LBB1_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label4: - i32.load16_u $push1=, 0($1) - i32.sub $push2=, $0, $pop1 - i32.const $push7=, 65535 - i32.and $0=, $pop2, $pop7 - i32.const $push6=, 2 - i32.add $push5=, $1, $pop6 - tee_local $push4=, $1=, $pop5 - i32.lt_u $push3=, $pop4, $2 + i32.const $push9=, 65535 + i32.and $push1=, $0, $pop9 + i32.load16_u $push2=, 0($1) + i32.sub $0=, $pop1, $pop2 + i32.const $push8=, 2 + i32.add $push7=, $1, $pop8 + tee_local $push6=, $1=, $pop7 + i32.lt_u $push3=, $pop6, $2 br_if 0, $pop3 # 0: up to label4 .LBB1_3: # %for.end end_loop # label5: end_block # label3: - copy_local $push8=, $0 - # fallthrough-return: $pop8 + i32.const $push4=, 65535 + i32.and $push5=, $0, $pop4 + # fallthrough-return: $pop5 .endfunc .Lfunc_end1: .size bug, .Lfunc_end1-bug diff --git a/test/torture-s/20000605-1.c.s b/test/torture-s/20000605-1.c.s index a17120f67..17b671074 100644 --- a/test/torture-s/20000605-1.c.s +++ b/test/torture-s/20000605-1.c.s @@ -7,9 +7,9 @@ main: # @main .result i32 .local i32 -# BB#0: # %for.body.preheader.i +# BB#0: # %for.body.lr.ph.i i32.const $0=, 256 -.LBB0_1: # %if.end.i +.LBB0_1: # %for.body.i # =>This Inner Loop Header: Depth=1 loop # label0: i32.const $push3=, -1 diff --git a/test/torture-s/20000815-1.c.s b/test/torture-s/20000815-1.c.s index 1972d8114..a3b1eb4d8 100644 --- a/test/torture-s/20000815-1.c.s +++ b/test/torture-s/20000815-1.c.s @@ -8,51 +8,47 @@ invalidate_memory: # @invalidate_memory .param i32 .local i32, i32, i32, i32 # BB#0: # %entry + i32.load8_u $push9=, 0($0) + tee_local $push8=, $0=, $pop9 + i32.const $push2=, 8 + i32.and $1=, $pop8, $pop2 i32.const $4=, 0 - i32.load8_u $push13=, 0($0) - tee_local $push12=, $0=, $pop13 - i32.const $push2=, 4 - i32.and $push1=, $pop12, $pop2 - i32.const $push11=, 255 - i32.and $push8=, $pop1, $pop11 - i32.eqz $2=, $pop8 - i32.const $push3=, 8 - i32.and $push0=, $0, $pop3 - i32.const $push10=, 255 - i32.and $3=, $pop0, $pop10 + i32.const $push1=, 4 + i32.and $push0=, $0, $pop1 + i32.eqz $3=, $pop0 .LBB0_1: # %for.body # =>This Loop Header: Depth=1 # Child Loop BB0_2 Depth 2 block loop # label1: block - i32.const $push16=, 2 - i32.shl $push4=, $4, $pop16 - i32.load $push15=, table($pop4) - tee_local $push14=, $0=, $pop15 - i32.eqz $push23=, $pop14 - br_if 0, $pop23 # 0: down to label3 + i32.const $push12=, 2 + i32.shl $push3=, $4, $pop12 + i32.load $push11=, table($pop3) + tee_local $push10=, $0=, $pop11 + i32.eqz $push19=, $pop10 + br_if 0, $pop19 # 0: down to label3 .LBB0_2: # %for.body6 # Parent Loop BB0_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label4: - i32.load16_u $1=, 36($0) + i32.load16_u $2=, 36($0) i32.load $0=, 4($0) block - i32.const $push17=, 255 - i32.and $push5=, $1, $pop17 - i32.eqz $push24=, $pop5 - br_if 0, $pop24 # 0: down to label6 + i32.const $push13=, 255 + i32.and $push4=, $2, $pop13 + i32.eqz $push20=, $pop4 + br_if 0, $pop20 # 0: down to label6 # BB#3: # %land.lhs.true # in Loop: Header=BB0_2 Depth=2 - br_if 6, $3 # 6: down to label0 + br_if 6, $1 # 6: down to label0 # BB#4: # %land.lhs.true # in Loop: Header=BB0_2 Depth=2 - i32.const $push18=, 256 - i32.lt_u $push7=, $1, $pop18 - i32.or $push6=, $2, $pop7 - i32.eqz $push25=, $pop6 - br_if 6, $pop25 # 6: down to label0 + i32.const $push14=, 256 + i32.lt_u $push6=, $2, $pop14 + i32.or $push5=, $3, $pop6 + i32.eqz $push21=, $pop5 + br_if 6, $pop21 # 6: down to label0 .LBB0_5: # %for.cond5.backedge # in Loop: Header=BB0_2 Depth=2 end_block # label6: @@ -61,12 +57,12 @@ invalidate_memory: # @invalidate_memory # in Loop: Header=BB0_1 Depth=1 end_loop # label5: end_block # label3: - i32.const $push22=, 1 - i32.add $push21=, $4, $pop22 - tee_local $push20=, $4=, $pop21 - i32.const $push19=, 31 - i32.lt_s $push9=, $pop20, $pop19 - br_if 0, $pop9 # 0: up to label1 + i32.const $push18=, 1 + i32.add $push17=, $4, $pop18 + tee_local $push16=, $4=, $pop17 + i32.const $push15=, 31 + i32.lt_s $push7=, $pop16, $pop15 + br_if 0, $pop7 # 0: up to label1 # BB#7: # %for.end16 end_loop # label2: return diff --git a/test/torture-s/20010129-1.c.s b/test/torture-s/20010129-1.c.s index 640fd572c..7c840a48b 100644 --- a/test/torture-s/20010129-1.c.s +++ b/test/torture-s/20010129-1.c.s @@ -67,44 +67,44 @@ foo: # @foo .result i32 .local i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry + i32.const $push29=, 0 i32.const $push28=, 0 - i32.const $push27=, 0 - i32.load $push26=, baz1.l($pop27) - tee_local $push25=, $9=, $pop26 - i32.const $push24=, 1 - i32.add $push3=, $pop25, $pop24 - i32.store $drop=, baz1.l($pop28), $pop3 + i32.load $push27=, baz1.l($pop28) + tee_local $push26=, $9=, $pop27 + i32.const $push25=, 1 + i32.add $push4=, $pop26, $pop25 + i32.store $drop=, baz1.l($pop29), $pop4 block block - i32.ge_s $push4=, $9, $1 - br_if 0, $pop4 # 0: down to label2 + i32.ge_s $push5=, $9, $1 + br_if 0, $pop5 # 0: down to label2 # BB#1: # %if.then.lr.ph - i32.const $push5=, 13834 - i32.and $push6=, $2, $pop5 + i32.const $push6=, 13834 + i32.and $push7=, $2, $pop6 + i32.const $push36=, 0 + i32.ne $push8=, $pop7, $pop36 + i32.const $push9=, 128 + i32.and $push10=, $2, $pop9 + i32.eqz $push11=, $pop10 i32.const $push35=, 0 - i32.ne $push7=, $pop6, $pop35 - i32.const $push8=, 128 - i32.and $push9=, $2, $pop8 - i32.eqz $push10=, $pop9 - i32.const $push34=, 0 - i32.load $push11=, bar($pop34) - i32.eqz $push12=, $pop11 - i32.or $push33=, $pop10, $pop12 - tee_local $push32=, $4=, $pop33 - i32.or $5=, $pop7, $pop32 - i32.const $push15=, 16 - i32.and $3=, $2, $pop15 - i32.const $push31=, 2 - i32.and $push1=, $2, $pop31 - i32.const $push30=, 0 - i32.ne $6=, $pop1, $pop30 - i32.const $push14=, 16384 - i32.and $push0=, $2, $pop14 + i32.load $push12=, bar($pop35) + i32.eqz $push13=, $pop12 + i32.or $push34=, $pop11, $pop13 + tee_local $push33=, $4=, $pop34 + i32.or $5=, $pop8, $pop33 + i32.const $push16=, 16 + i32.and $3=, $2, $pop16 + i32.const $push32=, 2 + i32.and $push1=, $2, $pop32 + i32.const $push31=, 0 + i32.ne $6=, $pop1, $pop31 + i32.const $push15=, 16384 + i32.and $push0=, $2, $pop15 i32.eqz $7=, $pop0 - i32.const $push13=, 13832 - i32.and $push2=, $2, $pop13 - i32.const $push29=, 0 - i32.ne $8=, $pop2, $pop29 + i32.const $push14=, 13832 + i32.and $push2=, $2, $pop14 + i32.const $push30=, 0 + i32.ne $8=, $pop2, $pop30 i32.const $10=, 0 .LBB3_2: # %if.then # =>This Inner Loop Header: Depth=1 @@ -112,13 +112,13 @@ foo: # @foo copy_local $2=, $10 i32.const $10=, 0 block - i32.or $push16=, $2, $3 - i32.eqz $push44=, $pop16 - br_if 0, $pop44 # 0: down to label5 + i32.or $push17=, $2, $3 + i32.eqz $push45=, $pop17 + br_if 0, $pop45 # 0: down to label5 # BB#3: # %if.end17 # in Loop: Header=BB3_2 Depth=1 - i32.const $push36=, 1 - i32.select $10=, $2, $pop36, $2 + i32.const $push37=, 1 + i32.select $10=, $2, $pop37, $2 block br_if 0, $3 # 0: down to label6 # BB#4: # %land.lhs.true25 @@ -128,31 +128,32 @@ foo: # @foo .LBB3_5: # %land.lhs.true20 # in Loop: Header=BB3_2 Depth=1 end_block # label6: - i32.const $push37=, 0 - i32.ne $push17=, $2, $pop37 - i32.or $push18=, $7, $pop17 - i32.and $push19=, $6, $pop18 - i32.or $push20=, $8, $pop19 - i32.or $push21=, $4, $pop20 - i32.eqz $push45=, $pop21 - br_if 4, $pop45 # 4: down to label1 + i32.eqz $push3=, $2 + i32.const $push38=, 1 + i32.xor $push18=, $pop3, $pop38 + i32.or $push19=, $7, $pop18 + i32.and $push20=, $6, $pop19 + i32.or $push21=, $8, $pop20 + i32.or $push22=, $4, $pop21 + i32.eqz $push46=, $pop22 + br_if 4, $pop46 # 4: down to label1 .LBB3_6: # %while.cond.backedge # in Loop: Header=BB3_2 Depth=1 end_block # label5: - i32.const $push42=, 0 - i32.const $push41=, 2 - i32.add $push22=, $9, $pop41 - i32.store $drop=, baz1.l($pop42), $pop22 - i32.const $push40=, 1 - i32.add $push39=, $9, $pop40 - tee_local $push38=, $9=, $pop39 - i32.lt_s $push23=, $pop38, $1 - br_if 0, $pop23 # 0: up to label3 + i32.const $push43=, 0 + i32.const $push42=, 2 + i32.add $push23=, $9, $pop42 + i32.store $drop=, baz1.l($pop43), $pop23 + i32.const $push41=, 1 + i32.add $push40=, $9, $pop41 + tee_local $push39=, $9=, $pop40 + i32.lt_s $push24=, $pop39, $1 + br_if 0, $pop24 # 0: up to label3 .LBB3_7: # %while.end end_loop # label4: end_block # label2: - i32.const $push43=, 0 - return $pop43 + i32.const $push44=, 0 + return $pop44 .LBB3_8: # %for.body end_block # label1: call abort@FUNCTION diff --git a/test/torture-s/20010604-1.c.s b/test/torture-s/20010604-1.c.s index db3cd44c3..bad3f604b 100644 --- a/test/torture-s/20010604-1.c.s +++ b/test/torture-s/20010604-1.c.s @@ -9,27 +9,25 @@ f: # @f .result i32 # BB#0: # %entry block - i32.const $push3=, 255 - i32.and $push4=, $6, $pop3 - i32.const $push8=, 1 - i32.ne $push5=, $pop4, $pop8 - br_if 0, $pop5 # 0: down to label0 + i32.const $push6=, 1 + i32.ne $push3=, $6, $pop6 + br_if 0, $pop3 # 0: down to label0 # BB#1: # %entry - i32.const $push9=, 1 - i32.xor $push0=, $3, $pop9 + i32.const $push7=, 1 + i32.xor $push0=, $3, $pop7 br_if 0, $pop0 # 0: down to label0 # BB#2: # %entry - i32.const $push10=, 1 - i32.xor $push1=, $4, $pop10 + i32.const $push8=, 1 + i32.xor $push1=, $4, $pop8 br_if 0, $pop1 # 0: down to label0 # BB#3: # %entry - i32.const $push11=, 1 - i32.xor $push2=, $5, $pop11 + i32.const $push9=, 1 + i32.xor $push2=, $5, $pop9 br_if 0, $pop2 # 0: down to label0 # BB#4: # %if.end - i32.add $push6=, $1, $0 - i32.add $push7=, $pop6, $2 - return $pop7 + i32.add $push4=, $1, $0 + i32.add $push5=, $pop4, $2 + return $pop5 .LBB0_5: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/20020506-1.c.s b/test/torture-s/20020506-1.c.s index 539ca6945..084c34cc0 100644 --- a/test/torture-s/20020506-1.c.s +++ b/test/torture-s/20020506-1.c.s @@ -23,7 +23,7 @@ test1: # @test1 end_block # label2: i32.eqz $push3=, $1 br_if 1, $pop3 # 1: down to label0 -.LBB0_4: # %if.end43 +.LBB0_4: # %if.end45 end_block # label1: return .LBB0_5: # %if.then4 @@ -61,7 +61,7 @@ test2: # @test2 end_block # label5: i32.eqz $push7=, $1 br_if 1, $pop7 # 1: down to label3 -.LBB1_4: # %if.end43 +.LBB1_4: # %if.end45 end_block # label4: return .LBB1_5: # %if.then4 @@ -95,7 +95,7 @@ test3: # @test3 end_block # label8: i32.eqz $push3=, $1 br_if 1, $pop3 # 1: down to label6 -.LBB2_4: # %if.end43 +.LBB2_4: # %if.end45 end_block # label7: return .LBB2_5: # %if.then4 @@ -133,7 +133,7 @@ test4: # @test4 end_block # label11: i32.eqz $push7=, $1 br_if 1, $pop7 # 1: down to label9 -.LBB3_4: # %if.end43 +.LBB3_4: # %if.end45 end_block # label10: return .LBB3_5: # %if.then4 @@ -167,7 +167,7 @@ test5: # @test5 end_block # label14: i32.eqz $push3=, $1 br_if 1, $pop3 # 1: down to label12 -.LBB4_4: # %if.end36 +.LBB4_4: # %if.end38 end_block # label13: return .LBB4_5: # %if.then3 @@ -201,7 +201,7 @@ test6: # @test6 end_block # label17: i32.eqz $push3=, $1 br_if 1, $pop3 # 1: down to label15 -.LBB5_4: # %if.end36 +.LBB5_4: # %if.end38 end_block # label16: return .LBB5_5: # %if.then3 @@ -235,7 +235,7 @@ test7: # @test7 end_block # label20: i32.eqz $push3=, $1 br_if 1, $pop3 # 1: down to label18 -.LBB6_4: # %if.end36 +.LBB6_4: # %if.end38 end_block # label19: return .LBB6_5: # %if.then3 @@ -269,7 +269,7 @@ test8: # @test8 end_block # label23: i32.eqz $push3=, $1 br_if 1, $pop3 # 1: down to label21 -.LBB7_4: # %if.end36 +.LBB7_4: # %if.end38 end_block # label22: return .LBB7_5: # %if.then3 diff --git a/test/torture-s/20020510-1.c.s b/test/torture-s/20020510-1.c.s index f66d48264..17d142fb6 100644 --- a/test/torture-s/20020510-1.c.s +++ b/test/torture-s/20020510-1.c.s @@ -25,7 +25,7 @@ testc: # @testc .LBB0_3: # %if.else end_block # label2: br_if 1, $1 # 1: down to label0 -.LBB0_4: # %if.end +.LBB0_4: # %if.end9 end_block # label1: return .LBB0_5: # %if.then7 @@ -61,7 +61,7 @@ tests: # @tests .LBB1_3: # %if.else end_block # label5: br_if 1, $1 # 1: down to label3 -.LBB1_4: # %if.end +.LBB1_4: # %if.end9 end_block # label4: return .LBB1_5: # %if.then7 @@ -93,7 +93,7 @@ testi: # @testi .LBB2_3: # %if.else end_block # label8: br_if 1, $1 # 1: down to label6 -.LBB2_4: # %if.end +.LBB2_4: # %if.end6 end_block # label7: return .LBB2_5: # %if.then4 @@ -125,7 +125,7 @@ testl: # @testl .LBB3_3: # %if.else end_block # label11: br_if 1, $1 # 1: down to label9 -.LBB3_4: # %if.end +.LBB3_4: # %if.end6 end_block # label10: return .LBB3_5: # %if.then4 diff --git a/test/torture-s/20040218-1.c.s b/test/torture-s/20040218-1.c.s index bd9c37ef9..df2528066 100644 --- a/test/torture-s/20040218-1.c.s +++ b/test/torture-s/20040218-1.c.s @@ -60,43 +60,41 @@ main: # @main .result i32 .local i32 # BB#0: # %entry - i32.const $push17=, 0 - i32.const $push14=, 0 - i32.load $push15=, __stack_pointer($pop14) - i32.const $push16=, 16 - i32.sub $push24=, $pop15, $pop16 - i32.store $push26=, __stack_pointer($pop17), $pop24 - tee_local $push25=, $0=, $pop26 + i32.const $push15=, 0 + i32.const $push12=, 0 + i32.load $push13=, __stack_pointer($pop12) + i32.const $push14=, 16 + i32.sub $push22=, $pop13, $pop14 + i32.store $push24=, __stack_pointer($pop15), $pop22 + tee_local $push23=, $0=, $pop24 i64.const $push0=, 68723771703295 - i64.store $drop=, 8($pop25), $pop0 + i64.store $drop=, 8($pop23), $pop0 i32.const $push1=, 1048641535 i32.store $drop=, 4($0), $pop1 block - i32.const $push18=, 8 - i32.add $push19=, $0, $pop18 - i32.call $push3=, xb@FUNCTION, $pop19 + i32.const $push16=, 8 + i32.add $push17=, $0, $pop16 + i32.call $push3=, xb@FUNCTION, $pop17 i32.const $push2=, 16255 i32.ne $push4=, $pop3, $pop2 br_if 0, $pop4 # 0: down to label0 # BB#1: # %lor.lhs.false - i32.const $push20=, 8 - i32.add $push21=, $0, $pop20 - i32.call $push6=, xw@FUNCTION, $pop21 + i32.const $push18=, 8 + i32.add $push19=, $0, $pop18 + i32.call $push6=, xw@FUNCTION, $pop19 i32.const $push5=, 81535 i32.ne $push7=, $pop6, $pop5 br_if 0, $pop7 # 0: down to label0 # BB#2: # %lor.lhs.false4 - i32.const $push22=, 4 - i32.add $push23=, $0, $pop22 - i32.call $push9=, yb@FUNCTION, $pop23 - i32.const $push8=, 65535 - i32.and $push10=, $pop9, $pop8 - i32.const $push11=, 16255 - i32.ne $push12=, $pop10, $pop11 - br_if 0, $pop12 # 0: down to label0 + i32.const $push20=, 4 + i32.add $push21=, $0, $pop20 + i32.call $push9=, yb@FUNCTION, $pop21 + i32.const $push8=, 16255 + i32.ne $push10=, $pop9, $pop8 + br_if 0, $pop10 # 0: down to label0 # BB#3: # %if.end - i32.const $push13=, 0 - call exit@FUNCTION, $pop13 + i32.const $push11=, 0 + call exit@FUNCTION, $pop11 unreachable .LBB3_4: # %if.then end_block # label0: diff --git a/test/torture-s/20040709-1.c.s b/test/torture-s/20040709-1.c.s index f7ac4c1f7..339bf3be5 100644 --- a/test/torture-s/20040709-1.c.s +++ b/test/torture-s/20040709-1.c.s @@ -3579,26 +3579,25 @@ fn3N: # @fn3N .local i64 # BB#0: # %entry i32.const $push0=, 0 - i32.const $push18=, 0 - i64.load $push17=, sN($pop18) - tee_local $push16=, $1=, $pop17 - i64.const $push3=, 6 - i64.shr_u $push4=, $pop16, $pop3 - i32.wrap/i64 $push5=, $pop4 - i32.add $push15=, $pop5, $0 - tee_local $push14=, $0=, $pop15 - i32.const $push6=, 6 - i32.shl $push7=, $pop14, $pop6 - i64.extend_u/i32 $push8=, $pop7 - i64.const $push9=, 4032 - i64.and $push10=, $pop8, $pop9 + i32.const $push16=, 0 + i64.load $push15=, sN($pop16) + tee_local $push14=, $1=, $pop15 + i32.wrap/i64 $push3=, $pop14 + i32.const $push4=, 6 + i32.shr_u $push5=, $pop3, $pop4 + i32.add $push6=, $pop5, $0 + i32.const $push7=, 63 + i32.and $push13=, $pop6, $pop7 + tee_local $push12=, $0=, $pop13 + i64.extend_u/i32 $push8=, $pop12 + i64.const $push9=, 6 + i64.shl $push10=, $pop8, $pop9 i64.const $push1=, -4033 i64.and $push2=, $1, $pop1 i64.or $push11=, $pop10, $pop2 i64.store $drop=, sN($pop0), $pop11 - i32.const $push12=, 63 - i32.and $push13=, $0, $pop12 - # fallthrough-return: $pop13 + copy_local $push17=, $0 + # fallthrough-return: $pop17 .endfunc .Lfunc_end83: .size fn3N, .Lfunc_end83-fn3N @@ -3608,251 +3607,207 @@ fn3N: # @fn3N .globl testN .type testN,@function testN: # @testN - .local i32, i64, i32, i64, i32, i32, i32, i64 -# BB#0: # %lor.lhs.false + .local i32, i64, i32, i32, i32 +# BB#0: # %entry i32.const $push5=, 0 - i32.const $push165=, 0 - i32.load $push6=, myrnd.s($pop165) + i32.const $push144=, 0 + i32.load $push6=, myrnd.s($pop144) i32.const $push7=, 1103515245 i32.mul $push8=, $pop6, $pop7 i32.const $push9=, 12345 - i32.add $push164=, $pop8, $pop9 - tee_local $push163=, $6=, $pop164 - i32.const $push162=, 16 - i32.shr_u $push10=, $pop163, $pop162 + i32.add $push143=, $pop8, $pop9 + tee_local $push142=, $0=, $pop143 + i32.const $push141=, 16 + i32.shr_u $push10=, $pop142, $pop141 i32.store8 $drop=, sN($pop5), $pop10 - i32.const $push161=, 0 - i32.const $push160=, 1103515245 - i32.mul $push11=, $6, $pop160 - i32.const $push159=, 12345 - i32.add $push158=, $pop11, $pop159 - tee_local $push157=, $6=, $pop158 - i32.const $push156=, 16 - i32.shr_u $push12=, $pop157, $pop156 - i32.store8 $drop=, sN+1($pop161), $pop12 - i32.const $push155=, 0 - i32.const $push154=, 1103515245 - i32.mul $push13=, $6, $pop154 - i32.const $push153=, 12345 - i32.add $push152=, $pop13, $pop153 - tee_local $push151=, $6=, $pop152 - i32.const $push150=, 16 - i32.shr_u $push14=, $pop151, $pop150 - i32.store8 $drop=, sN+2($pop155), $pop14 - i32.const $push149=, 0 - i32.const $push148=, 1103515245 - i32.mul $push15=, $6, $pop148 - i32.const $push147=, 12345 - i32.add $push146=, $pop15, $pop147 - tee_local $push145=, $6=, $pop146 - i32.const $push144=, 16 - i32.shr_u $push16=, $pop145, $pop144 - i32.store8 $drop=, sN+3($pop149), $pop16 - i32.const $push143=, 0 - i32.const $push142=, 1103515245 - i32.mul $push17=, $6, $pop142 - i32.const $push141=, 12345 - i32.add $push140=, $pop17, $pop141 - tee_local $push139=, $6=, $pop140 - i32.const $push138=, 16 - i32.shr_u $push18=, $pop139, $pop138 - i32.store8 $drop=, sN+4($pop143), $pop18 - i32.const $push137=, 0 - i32.const $push136=, 1103515245 - i32.mul $push19=, $6, $pop136 - i32.const $push135=, 12345 - i32.add $push134=, $pop19, $pop135 - tee_local $push133=, $6=, $pop134 - i32.const $push132=, 16 - i32.shr_u $push20=, $pop133, $pop132 - i32.store8 $drop=, sN+5($pop137), $pop20 - i32.const $push131=, 0 - i32.const $push130=, 1103515245 - i32.mul $push21=, $6, $pop130 - i32.const $push129=, 12345 - i32.add $push128=, $pop21, $pop129 - tee_local $push127=, $6=, $pop128 - i32.const $push126=, 16 - i32.shr_u $push22=, $pop127, $pop126 - i32.store8 $drop=, sN+6($pop131), $pop22 - i32.const $push125=, 0 - i32.const $push124=, 1103515245 - i32.mul $push23=, $6, $pop124 - i32.const $push123=, 12345 - i32.add $push122=, $pop23, $pop123 - tee_local $push121=, $6=, $pop122 - i32.const $push120=, 16 - i32.shr_u $push24=, $pop121, $pop120 - i32.store8 $drop=, sN+7($pop125), $pop24 - i32.const $push119=, 0 - i64.load $7=, sN($pop119) - i32.const $push118=, 0 - i32.const $push117=, 1103515245 - i32.mul $push25=, $6, $pop117 - i32.const $push116=, 12345 - i32.add $push115=, $pop25, $pop116 - tee_local $push114=, $6=, $pop115 - i32.const $push113=, 1103515245 - i32.mul $push26=, $pop114, $pop113 - i32.const $push112=, 12345 - i32.add $push1=, $pop26, $pop112 - i32.store $0=, myrnd.s($pop118), $pop1 + i32.const $push140=, 0 + i32.const $push139=, 1103515245 + i32.mul $push11=, $0, $pop139 + i32.const $push138=, 12345 + i32.add $push137=, $pop11, $pop138 + tee_local $push136=, $0=, $pop137 + i32.const $push135=, 16 + i32.shr_u $push12=, $pop136, $pop135 + i32.store8 $drop=, sN+1($pop140), $pop12 + i32.const $push134=, 0 + i32.const $push133=, 1103515245 + i32.mul $push13=, $0, $pop133 + i32.const $push132=, 12345 + i32.add $push131=, $pop13, $pop132 + tee_local $push130=, $0=, $pop131 + i32.const $push129=, 16 + i32.shr_u $push14=, $pop130, $pop129 + i32.store8 $drop=, sN+2($pop134), $pop14 + i32.const $push128=, 0 + i32.const $push127=, 1103515245 + i32.mul $push15=, $0, $pop127 + i32.const $push126=, 12345 + i32.add $push125=, $pop15, $pop126 + tee_local $push124=, $0=, $pop125 + i32.const $push123=, 16 + i32.shr_u $push16=, $pop124, $pop123 + i32.store8 $drop=, sN+3($pop128), $pop16 + i32.const $push122=, 0 + i32.const $push121=, 1103515245 + i32.mul $push17=, $0, $pop121 + i32.const $push120=, 12345 + i32.add $push119=, $pop17, $pop120 + tee_local $push118=, $0=, $pop119 + i32.const $push117=, 16 + i32.shr_u $push18=, $pop118, $pop117 + i32.store8 $drop=, sN+4($pop122), $pop18 + i32.const $push116=, 0 + i32.const $push115=, 1103515245 + i32.mul $push19=, $0, $pop115 + i32.const $push114=, 12345 + i32.add $push113=, $pop19, $pop114 + tee_local $push112=, $0=, $pop113 + i32.const $push111=, 16 + i32.shr_u $push20=, $pop112, $pop111 + i32.store8 $drop=, sN+5($pop116), $pop20 + i32.const $push110=, 0 + i32.const $push109=, 1103515245 + i32.mul $push21=, $0, $pop109 + i32.const $push108=, 12345 + i32.add $push107=, $pop21, $pop108 + tee_local $push106=, $0=, $pop107 + i32.const $push105=, 16 + i32.shr_u $push22=, $pop106, $pop105 + i32.store8 $drop=, sN+6($pop110), $pop22 + i32.const $push104=, 0 + i32.const $push103=, 1103515245 + i32.mul $push23=, $0, $pop103 + i32.const $push102=, 12345 + i32.add $push101=, $pop23, $pop102 + tee_local $push100=, $0=, $pop101 + i32.const $push99=, 16 + i32.shr_u $push24=, $pop100, $pop99 + i32.store8 $drop=, sN+7($pop104), $pop24 + i32.const $push98=, 0 + i64.load $1=, sN($pop98) + i32.const $push97=, 0 + i32.const $push96=, 1103515245 + i32.mul $push25=, $0, $pop96 + i32.const $push95=, 12345 + i32.add $push94=, $pop25, $pop95 + tee_local $push93=, $4=, $pop94 + i32.const $push92=, 1103515245 + i32.mul $push26=, $pop93, $pop92 + i32.const $push91=, 12345 + i32.add $push3=, $pop26, $pop91 + i32.store $0=, myrnd.s($pop97), $pop3 block - i32.const $push111=, 0 - i32.const $push28=, 10 - i32.shr_u $push29=, $6, $pop28 - i64.extend_u/i32 $push30=, $pop29 - i64.const $push31=, 4032 - i64.and $push32=, $pop30, $pop31 + i32.const $push90=, 16 + i32.shr_u $push89=, $4, $pop90 + tee_local $push88=, $2=, $pop89 + i32.const $push87=, 63 + i32.and $push86=, $pop88, $pop87 + tee_local $push85=, $4=, $pop86 + i32.const $push84=, 0 + i64.extend_u/i32 $push29=, $4 + i64.const $push30=, 6 + i64.shl $push31=, $pop29, $pop30 i64.const $push27=, -4033 - i64.and $push110=, $7, $pop27 - tee_local $push109=, $3=, $pop110 - i64.or $push2=, $pop32, $pop109 - i64.store $push108=, sN($pop111), $pop2 - tee_local $push107=, $1=, $pop108 - i64.const $push106=, 4032 - i64.or $push35=, $7, $pop106 - i64.xor $push105=, $pop107, $pop35 - tee_local $push104=, $7=, $pop105 - i64.const $push36=, 34359734272 - i64.and $push37=, $pop104, $pop36 - i64.const $push103=, 0 - i64.ne $push38=, $pop37, $pop103 - br_if 0, $pop38 # 0: down to label8 -# BB#1: # %lor.lhs.false29 - i64.const $push42=, 63 - i64.and $push43=, $7, $pop42 - i64.const $push166=, 0 - i64.ne $push44=, $pop43, $pop166 - br_if 0, $pop44 # 0: down to label8 -# BB#2: # %lor.lhs.false29 - i64.const $push33=, 6 - i64.shr_u $push34=, $1, $pop33 - i32.wrap/i64 $push171=, $pop34 - tee_local $push170=, $4=, $pop171 - i32.const $push169=, 16 - i32.shr_u $push168=, $6, $pop169 - tee_local $push167=, $6=, $pop168 - i32.xor $push40=, $pop170, $pop167 - i32.const $push41=, 63 - i32.and $push39=, $pop40, $pop41 + i64.and $push28=, $1, $pop27 + i64.or $push32=, $pop31, $pop28 + i64.store $push0=, sN($pop84), $pop32 + i64.const $push83=, 6 + i64.shr_u $push33=, $pop0, $pop83 + i32.wrap/i64 $push82=, $pop33 + tee_local $push81=, $4=, $pop82 + i32.const $push80=, 63 + i32.and $push34=, $pop81, $pop80 + i32.ne $push35=, $pop85, $pop34 + br_if 0, $pop35 # 0: down to label8 +# BB#1: # %lor.lhs.false49 + i32.const $push148=, 16 + i32.shr_u $push147=, $0, $pop148 + tee_local $push146=, $3=, $pop147 + i32.add $push37=, $4, $pop146 + i32.add $push36=, $3, $2 + i32.xor $push38=, $pop37, $pop36 + i32.const $push145=, 63 + i32.and $push39=, $pop38, $pop145 br_if 0, $pop39 # 0: down to label8 -# BB#3: # %lor.lhs.false49 - i32.const $push175=, 16 - i32.shr_u $push174=, $0, $pop175 - tee_local $push173=, $2=, $pop174 - i32.add $push3=, $4, $pop173 - i32.add $push45=, $2, $6 - i32.xor $push46=, $pop3, $pop45 - i32.const $push172=, 63 - i32.and $push47=, $pop46, $pop172 - br_if 0, $pop47 # 0: down to label8 -# BB#4: # %lor.lhs.false69 - i32.const $push52=, 0 - i32.const $push48=, 1103515245 - i32.mul $push49=, $0, $pop48 - i32.const $push50=, 12345 - i32.add $push191=, $pop49, $pop50 - tee_local $push190=, $6=, $pop191 - i32.const $push189=, 1103515245 - i32.mul $push51=, $pop190, $pop189 - i32.const $push188=, 12345 - i32.add $push4=, $pop51, $pop188 - i32.store $0=, myrnd.s($pop52), $pop4 - i32.const $push187=, 0 - i32.const $push53=, 10 - i32.shr_u $push54=, $6, $pop53 - i64.extend_u/i32 $push55=, $pop54 - i64.const $push56=, 4032 - i64.and $push57=, $pop55, $pop56 - i64.or $push58=, $pop57, $3 - i64.store $push186=, sN($pop187), $pop58 - tee_local $push185=, $7=, $pop186 - i64.const $push59=, 6 - i64.shr_u $push60=, $pop185, $pop59 - i32.wrap/i64 $push184=, $pop60 - tee_local $push183=, $4=, $pop184 - i32.const $push182=, 16 - i32.shr_u $push181=, $0, $pop182 - tee_local $push180=, $2=, $pop181 - i32.add $push61=, $pop183, $pop180 - i32.const $push179=, 63 - i32.and $push62=, $pop61, $pop179 - i32.const $push63=, 15 - i32.rem_u $5=, $pop62, $pop63 - i64.xor $push178=, $7, $1 - tee_local $push177=, $7=, $pop178 - i64.const $push64=, 34359734272 - i64.and $push65=, $pop177, $pop64 - i64.const $push176=, 0 - i64.ne $push66=, $pop65, $pop176 - br_if 0, $pop66 # 0: down to label8 -# BB#5: # %lor.lhs.false80 - i64.const $push70=, 63 - i64.and $push71=, $7, $pop70 - i64.const $push192=, 0 - i64.ne $push72=, $pop71, $pop192 - br_if 0, $pop72 # 0: down to label8 -# BB#6: # %lor.lhs.false80 - i32.const $push195=, 16 - i32.shr_u $push194=, $6, $pop195 - tee_local $push193=, $6=, $pop194 - i32.xor $push68=, $4, $pop193 - i32.const $push69=, 63 - i32.and $push67=, $pop68, $pop69 - br_if 0, $pop67 # 0: down to label8 -# BB#7: # %lor.lhs.false100 - i32.add $push73=, $2, $6 - i32.const $push196=, 63 - i32.and $push74=, $pop73, $pop196 - i32.const $push75=, 15 - i32.rem_u $push76=, $pop74, $pop75 - i32.ne $push77=, $pop76, $5 - br_if 0, $pop77 # 0: down to label8 -# BB#8: # %lor.lhs.false125 - i32.const $push83=, 0 - i32.const $push78=, 1103515245 - i32.mul $push79=, $0, $pop78 - i32.const $push80=, 12345 - i32.add $push208=, $pop79, $pop80 - tee_local $push207=, $6=, $pop208 - i32.const $push85=, 10 - i32.shr_u $push86=, $pop207, $pop85 - i64.extend_u/i32 $push87=, $pop86 - i64.const $push88=, 4032 - i64.and $push89=, $pop87, $pop88 - i64.or $push90=, $pop89, $3 - i64.const $push91=, 6 - i64.shr_u $push92=, $pop90, $pop91 - i32.wrap/i64 $push93=, $pop92 - i32.const $push206=, 0 - i32.const $push205=, 1103515245 - i32.mul $push81=, $6, $pop205 - i32.const $push204=, 12345 - i32.add $push82=, $pop81, $pop204 - i32.store $push0=, myrnd.s($pop206), $pop82 - i32.const $push84=, 16 - i32.shr_u $push203=, $pop0, $pop84 - tee_local $push202=, $0=, $pop203 - i32.add $push201=, $pop93, $pop202 - tee_local $push200=, $4=, $pop201 - i32.const $push94=, 6 - i32.shl $push95=, $pop200, $pop94 - i64.extend_u/i32 $push96=, $pop95 - i64.const $push199=, 4032 - i64.and $push97=, $pop96, $pop199 - i64.or $push98=, $pop97, $3 - i64.store $drop=, sN($pop83), $pop98 - i32.const $push198=, 16 - i32.shr_u $push99=, $6, $pop198 - i32.add $push100=, $0, $pop99 - i32.xor $push101=, $pop100, $4 - i32.const $push197=, 63 - i32.and $push102=, $pop101, $pop197 - br_if 0, $pop102 # 0: down to label8 -# BB#9: # %if.end158 +# BB#2: # %if.end + i32.const $push44=, 0 + i32.const $push40=, 1103515245 + i32.mul $push41=, $0, $pop40 + i32.const $push42=, 12345 + i32.add $push163=, $pop41, $pop42 + tee_local $push162=, $4=, $pop163 + i32.const $push161=, 1103515245 + i32.mul $push43=, $pop162, $pop161 + i32.const $push160=, 12345 + i32.add $push4=, $pop43, $pop160 + i32.store $0=, myrnd.s($pop44), $pop4 + i32.const $push159=, 16 + i32.shr_u $push158=, $4, $pop159 + tee_local $push157=, $2=, $pop158 + i32.const $push156=, 63 + i32.and $push155=, $pop157, $pop156 + tee_local $push154=, $4=, $pop155 + i32.const $push153=, 0 + i64.extend_u/i32 $push47=, $4 + i64.const $push48=, 6 + i64.shl $push49=, $pop47, $pop48 + i64.const $push45=, -4033 + i64.and $push46=, $1, $pop45 + i64.or $push50=, $pop49, $pop46 + i64.store $push1=, sN($pop153), $pop50 + i64.const $push152=, 6 + i64.shr_u $push51=, $pop1, $pop152 + i32.wrap/i64 $push151=, $pop51 + tee_local $push150=, $4=, $pop151 + i32.const $push149=, 63 + i32.and $push52=, $pop150, $pop149 + i32.ne $push53=, $pop154, $pop52 + br_if 0, $pop53 # 0: down to label8 +# BB#3: # %lor.lhs.false100 + i32.const $push169=, 16 + i32.shr_u $push168=, $0, $pop169 + tee_local $push167=, $3=, $pop168 + i32.add $push58=, $pop167, $2 + i32.const $push166=, 63 + i32.and $push59=, $pop58, $pop166 + i32.const $push56=, 15 + i32.rem_u $push60=, $pop59, $pop56 + i32.add $push54=, $4, $3 + i32.const $push165=, 63 + i32.and $push55=, $pop54, $pop165 + i32.const $push164=, 15 + i32.rem_u $push57=, $pop55, $pop164 + i32.ne $push61=, $pop60, $pop57 + br_if 0, $pop61 # 0: down to label8 +# BB#4: # %if.end158 + i32.const $push67=, 0 + i32.const $push175=, 0 + i32.const $push62=, 1103515245 + i32.mul $push63=, $0, $pop62 + i32.const $push64=, 12345 + i32.add $push174=, $pop63, $pop64 + tee_local $push173=, $0=, $pop174 + i32.const $push172=, 1103515245 + i32.mul $push65=, $pop173, $pop172 + i32.const $push171=, 12345 + i32.add $push66=, $pop65, $pop171 + i32.store $push2=, myrnd.s($pop175), $pop66 + i32.const $push68=, 16 + i32.shr_u $push70=, $pop2, $pop68 + i32.const $push170=, 16 + i32.shr_u $push69=, $0, $pop170 + i32.add $push71=, $pop70, $pop69 + i32.const $push72=, 63 + i32.and $push73=, $pop71, $pop72 + i64.extend_u/i32 $push74=, $pop73 + i64.const $push75=, 6 + i64.shl $push76=, $pop74, $pop75 + i64.const $push77=, -4033 + i64.and $push78=, $1, $pop77 + i64.or $push79=, $pop76, $pop78 + i64.store $drop=, sN($pop67), $pop79 return -.LBB84_10: # %if.then157 +.LBB84_5: # %if.then106 end_block # label8: call abort@FUNCTION unreachable @@ -3944,22 +3899,21 @@ fn3O: # @fn3O .local i64 # BB#0: # %entry i32.const $push0=, 0 - i32.const $push14=, 0 - i64.load $push13=, sO+8($pop14) - tee_local $push12=, $1=, $pop13 - i32.wrap/i64 $push3=, $pop12 - i32.add $push11=, $pop3, $0 - tee_local $push10=, $0=, $pop11 - i64.extend_u/i32 $push4=, $pop10 - i64.const $push5=, 4095 - i64.and $push6=, $pop4, $pop5 + i32.const $push12=, 0 + i64.load $push11=, sO+8($pop12) + tee_local $push10=, $1=, $pop11 + i32.wrap/i64 $push3=, $pop10 + i32.add $push4=, $pop3, $0 + i32.const $push5=, 4095 + i32.and $push9=, $pop4, $pop5 + tee_local $push8=, $0=, $pop9 + i64.extend_u/i32 $push6=, $pop8 i64.const $push1=, -4096 i64.and $push2=, $1, $pop1 i64.or $push7=, $pop6, $pop2 i64.store $drop=, sO+8($pop0), $pop7 - i32.const $push8=, 4095 - i32.and $push9=, $0, $pop8 - # fallthrough-return: $pop9 + copy_local $push13=, $0 + # fallthrough-return: $pop13 .endfunc .Lfunc_end89: .size fn3O, .Lfunc_end89-fn3O @@ -3972,189 +3926,189 @@ testO: # @testO .local i32, i64, i32, i32, i32 # BB#0: # %entry i32.const $push7=, 0 - i32.const $push206=, 0 - i32.load $push8=, myrnd.s($pop206) + i32.const $push203=, 0 + i32.load $push8=, myrnd.s($pop203) i32.const $push9=, 1103515245 i32.mul $push10=, $pop8, $pop9 i32.const $push11=, 12345 - i32.add $push205=, $pop10, $pop11 - tee_local $push204=, $2=, $pop205 - i32.const $push203=, 16 - i32.shr_u $push12=, $pop204, $pop203 + i32.add $push202=, $pop10, $pop11 + tee_local $push201=, $2=, $pop202 + i32.const $push200=, 16 + i32.shr_u $push12=, $pop201, $pop200 i32.store8 $drop=, sO($pop7), $pop12 - i32.const $push202=, 0 - i32.const $push201=, 1103515245 - i32.mul $push13=, $2, $pop201 - i32.const $push200=, 12345 - i32.add $push199=, $pop13, $pop200 - tee_local $push198=, $2=, $pop199 - i32.const $push197=, 16 - i32.shr_u $push14=, $pop198, $pop197 - i32.store8 $drop=, sO+1($pop202), $pop14 - i32.const $push196=, 0 - i32.const $push195=, 1103515245 - i32.mul $push15=, $2, $pop195 - i32.const $push194=, 12345 - i32.add $push193=, $pop15, $pop194 - tee_local $push192=, $2=, $pop193 - i32.const $push191=, 16 - i32.shr_u $push16=, $pop192, $pop191 - i32.store8 $drop=, sO+2($pop196), $pop16 - i32.const $push190=, 0 - i32.const $push189=, 1103515245 - i32.mul $push17=, $2, $pop189 - i32.const $push188=, 12345 - i32.add $push187=, $pop17, $pop188 - tee_local $push186=, $2=, $pop187 - i32.const $push185=, 16 - i32.shr_u $push18=, $pop186, $pop185 - i32.store8 $drop=, sO+3($pop190), $pop18 - i32.const $push184=, 0 - i32.const $push183=, 1103515245 - i32.mul $push19=, $2, $pop183 - i32.const $push182=, 12345 - i32.add $push181=, $pop19, $pop182 - tee_local $push180=, $2=, $pop181 - i32.const $push179=, 16 - i32.shr_u $push20=, $pop180, $pop179 - i32.store8 $drop=, sO+4($pop184), $pop20 - i32.const $push178=, 0 - i32.const $push177=, 1103515245 - i32.mul $push21=, $2, $pop177 - i32.const $push176=, 12345 - i32.add $push175=, $pop21, $pop176 - tee_local $push174=, $2=, $pop175 - i32.const $push173=, 16 - i32.shr_u $push22=, $pop174, $pop173 - i32.store8 $drop=, sO+5($pop178), $pop22 - i32.const $push172=, 0 - i32.const $push171=, 1103515245 - i32.mul $push23=, $2, $pop171 - i32.const $push170=, 12345 - i32.add $push169=, $pop23, $pop170 - tee_local $push168=, $2=, $pop169 - i32.const $push167=, 16 - i32.shr_u $push24=, $pop168, $pop167 - i32.store8 $drop=, sO+6($pop172), $pop24 - i32.const $push166=, 0 - i32.const $push165=, 1103515245 - i32.mul $push25=, $2, $pop165 - i32.const $push164=, 12345 - i32.add $push163=, $pop25, $pop164 - tee_local $push162=, $2=, $pop163 - i32.const $push161=, 16 - i32.shr_u $push26=, $pop162, $pop161 - i32.store8 $drop=, sO+7($pop166), $pop26 - i32.const $push160=, 0 - i32.const $push159=, 1103515245 - i32.mul $push27=, $2, $pop159 - i32.const $push158=, 12345 - i32.add $push157=, $pop27, $pop158 - tee_local $push156=, $2=, $pop157 - i32.const $push155=, 16 - i32.shr_u $push28=, $pop156, $pop155 - i32.store8 $drop=, sO+8($pop160), $pop28 - i32.const $push154=, 0 - i32.const $push153=, 1103515245 - i32.mul $push29=, $2, $pop153 - i32.const $push152=, 12345 - i32.add $push151=, $pop29, $pop152 - tee_local $push150=, $2=, $pop151 - i32.const $push149=, 16 - i32.shr_u $push30=, $pop150, $pop149 - i32.store8 $drop=, sO+9($pop154), $pop30 - i32.const $push148=, 0 - i32.const $push147=, 1103515245 - i32.mul $push31=, $2, $pop147 - i32.const $push146=, 12345 - i32.add $push145=, $pop31, $pop146 - tee_local $push144=, $2=, $pop145 - i32.const $push143=, 16 - i32.shr_u $push32=, $pop144, $pop143 - i32.store8 $drop=, sO+10($pop148), $pop32 - i32.const $push142=, 0 - i32.const $push141=, 1103515245 - i32.mul $push33=, $2, $pop141 - i32.const $push140=, 12345 - i32.add $push139=, $pop33, $pop140 - tee_local $push138=, $2=, $pop139 - i32.const $push137=, 16 - i32.shr_u $push34=, $pop138, $pop137 - i32.store8 $drop=, sO+11($pop142), $pop34 - i32.const $push136=, 0 - i32.const $push135=, 1103515245 - i32.mul $push35=, $2, $pop135 - i32.const $push134=, 12345 - i32.add $push133=, $pop35, $pop134 - tee_local $push132=, $2=, $pop133 - i32.const $push131=, 16 - i32.shr_u $push36=, $pop132, $pop131 - i32.store8 $drop=, sO+12($pop136), $pop36 - i32.const $push130=, 0 - i32.const $push129=, 1103515245 - i32.mul $push37=, $2, $pop129 - i32.const $push128=, 12345 - i32.add $push127=, $pop37, $pop128 - tee_local $push126=, $2=, $pop127 - i32.const $push125=, 16 - i32.shr_u $push38=, $pop126, $pop125 - i32.store8 $drop=, sO+13($pop130), $pop38 - i32.const $push124=, 0 - i32.const $push123=, 1103515245 - i32.mul $push39=, $2, $pop123 - i32.const $push122=, 12345 - i32.add $push121=, $pop39, $pop122 - tee_local $push120=, $2=, $pop121 - i32.const $push119=, 16 - i32.shr_u $push40=, $pop120, $pop119 - i32.store8 $drop=, sO+14($pop124), $pop40 - i32.const $push118=, 0 - i32.const $push117=, 1103515245 - i32.mul $push41=, $2, $pop117 - i32.const $push116=, 12345 - i32.add $push115=, $pop41, $pop116 - tee_local $push114=, $2=, $pop115 - i32.const $push113=, 16 - i32.shr_u $push42=, $pop114, $pop113 - i32.store8 $drop=, sO+15($pop118), $pop42 - i32.const $push112=, 0 - i64.load $1=, sO+8($pop112) - i32.const $push111=, 0 - i32.const $push110=, 1103515245 - i32.mul $push43=, $2, $pop110 - i32.const $push109=, 12345 - i32.add $push108=, $pop43, $pop109 - tee_local $push107=, $2=, $pop108 - i32.const $push106=, 1103515245 - i32.mul $push44=, $pop107, $pop106 - i32.const $push105=, 12345 - i32.add $push3=, $pop44, $pop105 - i32.store $0=, myrnd.s($pop111), $pop3 + i32.const $push199=, 0 + i32.const $push198=, 1103515245 + i32.mul $push13=, $2, $pop198 + i32.const $push197=, 12345 + i32.add $push196=, $pop13, $pop197 + tee_local $push195=, $2=, $pop196 + i32.const $push194=, 16 + i32.shr_u $push14=, $pop195, $pop194 + i32.store8 $drop=, sO+1($pop199), $pop14 + i32.const $push193=, 0 + i32.const $push192=, 1103515245 + i32.mul $push15=, $2, $pop192 + i32.const $push191=, 12345 + i32.add $push190=, $pop15, $pop191 + tee_local $push189=, $2=, $pop190 + i32.const $push188=, 16 + i32.shr_u $push16=, $pop189, $pop188 + i32.store8 $drop=, sO+2($pop193), $pop16 + i32.const $push187=, 0 + i32.const $push186=, 1103515245 + i32.mul $push17=, $2, $pop186 + i32.const $push185=, 12345 + i32.add $push184=, $pop17, $pop185 + tee_local $push183=, $2=, $pop184 + i32.const $push182=, 16 + i32.shr_u $push18=, $pop183, $pop182 + i32.store8 $drop=, sO+3($pop187), $pop18 + i32.const $push181=, 0 + i32.const $push180=, 1103515245 + i32.mul $push19=, $2, $pop180 + i32.const $push179=, 12345 + i32.add $push178=, $pop19, $pop179 + tee_local $push177=, $2=, $pop178 + i32.const $push176=, 16 + i32.shr_u $push20=, $pop177, $pop176 + i32.store8 $drop=, sO+4($pop181), $pop20 + i32.const $push175=, 0 + i32.const $push174=, 1103515245 + i32.mul $push21=, $2, $pop174 + i32.const $push173=, 12345 + i32.add $push172=, $pop21, $pop173 + tee_local $push171=, $2=, $pop172 + i32.const $push170=, 16 + i32.shr_u $push22=, $pop171, $pop170 + i32.store8 $drop=, sO+5($pop175), $pop22 + i32.const $push169=, 0 + i32.const $push168=, 1103515245 + i32.mul $push23=, $2, $pop168 + i32.const $push167=, 12345 + i32.add $push166=, $pop23, $pop167 + tee_local $push165=, $2=, $pop166 + i32.const $push164=, 16 + i32.shr_u $push24=, $pop165, $pop164 + i32.store8 $drop=, sO+6($pop169), $pop24 + i32.const $push163=, 0 + i32.const $push162=, 1103515245 + i32.mul $push25=, $2, $pop162 + i32.const $push161=, 12345 + i32.add $push160=, $pop25, $pop161 + tee_local $push159=, $2=, $pop160 + i32.const $push158=, 16 + i32.shr_u $push26=, $pop159, $pop158 + i32.store8 $drop=, sO+7($pop163), $pop26 + i32.const $push157=, 0 + i32.const $push156=, 1103515245 + i32.mul $push27=, $2, $pop156 + i32.const $push155=, 12345 + i32.add $push154=, $pop27, $pop155 + tee_local $push153=, $2=, $pop154 + i32.const $push152=, 16 + i32.shr_u $push28=, $pop153, $pop152 + i32.store8 $drop=, sO+8($pop157), $pop28 + i32.const $push151=, 0 + i32.const $push150=, 1103515245 + i32.mul $push29=, $2, $pop150 + i32.const $push149=, 12345 + i32.add $push148=, $pop29, $pop149 + tee_local $push147=, $2=, $pop148 + i32.const $push146=, 16 + i32.shr_u $push30=, $pop147, $pop146 + i32.store8 $drop=, sO+9($pop151), $pop30 + i32.const $push145=, 0 + i32.const $push144=, 1103515245 + i32.mul $push31=, $2, $pop144 + i32.const $push143=, 12345 + i32.add $push142=, $pop31, $pop143 + tee_local $push141=, $2=, $pop142 + i32.const $push140=, 16 + i32.shr_u $push32=, $pop141, $pop140 + i32.store8 $drop=, sO+10($pop145), $pop32 + i32.const $push139=, 0 + i32.const $push138=, 1103515245 + i32.mul $push33=, $2, $pop138 + i32.const $push137=, 12345 + i32.add $push136=, $pop33, $pop137 + tee_local $push135=, $2=, $pop136 + i32.const $push134=, 16 + i32.shr_u $push34=, $pop135, $pop134 + i32.store8 $drop=, sO+11($pop139), $pop34 + i32.const $push133=, 0 + i32.const $push132=, 1103515245 + i32.mul $push35=, $2, $pop132 + i32.const $push131=, 12345 + i32.add $push130=, $pop35, $pop131 + tee_local $push129=, $2=, $pop130 + i32.const $push128=, 16 + i32.shr_u $push36=, $pop129, $pop128 + i32.store8 $drop=, sO+12($pop133), $pop36 + i32.const $push127=, 0 + i32.const $push126=, 1103515245 + i32.mul $push37=, $2, $pop126 + i32.const $push125=, 12345 + i32.add $push124=, $pop37, $pop125 + tee_local $push123=, $2=, $pop124 + i32.const $push122=, 16 + i32.shr_u $push38=, $pop123, $pop122 + i32.store8 $drop=, sO+13($pop127), $pop38 + i32.const $push121=, 0 + i32.const $push120=, 1103515245 + i32.mul $push39=, $2, $pop120 + i32.const $push119=, 12345 + i32.add $push118=, $pop39, $pop119 + tee_local $push117=, $2=, $pop118 + i32.const $push116=, 16 + i32.shr_u $push40=, $pop117, $pop116 + i32.store8 $drop=, sO+14($pop121), $pop40 + i32.const $push115=, 0 + i32.const $push114=, 1103515245 + i32.mul $push41=, $2, $pop114 + i32.const $push113=, 12345 + i32.add $push112=, $pop41, $pop113 + tee_local $push111=, $2=, $pop112 + i32.const $push110=, 16 + i32.shr_u $push42=, $pop111, $pop110 + i32.store8 $drop=, sO+15($pop115), $pop42 + i32.const $push109=, 0 + i64.load $1=, sO+8($pop109) + i32.const $push108=, 0 + i32.const $push107=, 1103515245 + i32.mul $push43=, $2, $pop107 + i32.const $push106=, 12345 + i32.add $push105=, $pop43, $pop106 + tee_local $push104=, $2=, $pop105 + i32.const $push103=, 1103515245 + i32.mul $push44=, $pop104, $pop103 + i32.const $push102=, 12345 + i32.add $push3=, $pop44, $pop102 + i32.store $0=, myrnd.s($pop108), $pop3 block - i32.const $push104=, 16 - i32.shr_u $push47=, $2, $pop104 - i32.const $push103=, 2047 - i32.and $push102=, $pop47, $pop103 - tee_local $push101=, $2=, $pop102 - i32.const $push100=, 0 + i32.const $push101=, 16 + i32.shr_u $push47=, $2, $pop101 + i32.const $push100=, 2047 + i32.and $push99=, $pop47, $pop100 + tee_local $push98=, $2=, $pop99 + i32.const $push97=, 0 i64.extend_u/i32 $push48=, $2 i64.const $push45=, -4096 i64.and $push46=, $1, $pop45 i64.or $push49=, $pop48, $pop46 - i64.store $push0=, sO+8($pop100), $pop49 - i32.wrap/i64 $push99=, $pop0 - tee_local $push98=, $4=, $pop99 - i32.const $push97=, 2047 - i32.and $push53=, $pop98, $pop97 - i32.ne $push54=, $pop101, $pop53 + i64.store $push0=, sO+8($pop97), $pop49 + i32.wrap/i64 $push96=, $pop0 + tee_local $push95=, $4=, $pop96 + i32.const $push94=, 2047 + i32.and $push53=, $pop95, $pop94 + i32.ne $push54=, $pop98, $pop53 br_if 0, $pop54 # 0: down to label9 # BB#1: # %entry - i32.const $push210=, 16 - i32.shr_u $push50=, $0, $pop210 - i32.const $push209=, 2047 - i32.and $push208=, $pop50, $pop209 - tee_local $push207=, $3=, $pop208 - i32.add $push5=, $pop207, $2 + i32.const $push207=, 16 + i32.shr_u $push50=, $0, $pop207 + i32.const $push206=, 2047 + i32.and $push205=, $pop50, $pop206 + tee_local $push204=, $3=, $pop205 + i32.add $push5=, $pop204, $2 i32.add $push51=, $4, $3 i32.const $push52=, 4095 i32.and $push6=, $pop51, $pop52 @@ -4165,90 +4119,75 @@ testO: # @testO i32.const $push56=, 1103515245 i32.mul $push57=, $0, $pop56 i32.const $push58=, 12345 - i32.add $push222=, $pop57, $pop58 - tee_local $push221=, $2=, $pop222 - i32.const $push220=, 1103515245 - i32.mul $push59=, $pop221, $pop220 - i32.const $push219=, 12345 - i32.add $push4=, $pop59, $pop219 + i32.add $push219=, $pop57, $pop58 + tee_local $push218=, $2=, $pop219 + i32.const $push217=, 1103515245 + i32.mul $push59=, $pop218, $pop217 + i32.const $push216=, 12345 + i32.add $push4=, $pop59, $pop216 i32.store $0=, myrnd.s($pop60), $pop4 - i32.const $push218=, 16 - i32.shr_u $push63=, $2, $pop218 - i32.const $push217=, 2047 - i32.and $push216=, $pop63, $pop217 - tee_local $push215=, $2=, $pop216 - i32.const $push214=, 0 + i32.const $push215=, 16 + i32.shr_u $push63=, $2, $pop215 + i32.const $push214=, 2047 + i32.and $push213=, $pop63, $pop214 + tee_local $push212=, $2=, $pop213 + i32.const $push211=, 0 i64.extend_u/i32 $push64=, $2 i64.const $push61=, -4096 i64.and $push62=, $1, $pop61 i64.or $push65=, $pop64, $pop62 - i64.store $push1=, sO+8($pop214), $pop65 - i32.wrap/i64 $push213=, $pop1 - tee_local $push212=, $4=, $pop213 - i32.const $push211=, 2047 - i32.and $push66=, $pop212, $pop211 - i32.ne $push67=, $pop215, $pop66 + i64.store $push1=, sO+8($pop211), $pop65 + i32.wrap/i64 $push210=, $pop1 + tee_local $push209=, $4=, $pop210 + i32.const $push208=, 2047 + i32.and $push66=, $pop209, $pop208 + i32.ne $push67=, $pop212, $pop66 br_if 0, $pop67 # 0: down to label9 # BB#3: # %lor.lhs.false87 - i32.const $push228=, 16 - i32.shr_u $push68=, $0, $pop228 - i32.const $push227=, 2047 - i32.and $push226=, $pop68, $pop227 - tee_local $push225=, $3=, $pop226 - i32.add $push69=, $pop225, $2 + i32.const $push224=, 16 + i32.shr_u $push68=, $0, $pop224 + i32.const $push223=, 2047 + i32.and $push222=, $pop68, $pop223 + tee_local $push221=, $3=, $pop222 + i32.add $push69=, $pop221, $2 i32.const $push70=, 15 i32.rem_u $push71=, $pop69, $pop70 i32.add $push72=, $4, $3 - i32.const $push224=, 4095 - i32.and $push73=, $pop72, $pop224 - i32.const $push223=, 15 - i32.rem_u $push74=, $pop73, $pop223 - i32.ne $push75=, $pop71, $pop74 - br_if 0, $pop75 # 0: down to label9 -# BB#4: # %lor.lhs.false124 - i32.const $push81=, 0 - i32.const $push76=, 1103515245 - i32.mul $push77=, $0, $pop76 - i32.const $push78=, 12345 - i32.add $push244=, $pop77, $pop78 - tee_local $push243=, $2=, $pop244 + i32.const $push73=, 4095 + i32.and $push74=, $pop72, $pop73 + i32.const $push220=, 15 + i32.rem_u $push75=, $pop74, $pop220 + i32.ne $push76=, $pop71, $pop75 + br_if 0, $pop76 # 0: down to label9 +# BB#4: # %if.end140 + i32.const $push82=, 0 + i32.const $push231=, 0 + i32.const $push77=, 1103515245 + i32.mul $push78=, $0, $pop77 + i32.const $push79=, 12345 + i32.add $push230=, $pop78, $pop79 + tee_local $push229=, $2=, $pop230 + i32.const $push228=, 1103515245 + i32.mul $push80=, $pop229, $pop228 + i32.const $push227=, 12345 + i32.add $push81=, $pop80, $pop227 + i32.store $push2=, myrnd.s($pop231), $pop81 i32.const $push83=, 16 - i32.shr_u $push84=, $pop243, $pop83 + i32.shr_u $push87=, $pop2, $pop83 i32.const $push85=, 2047 - i32.and $push242=, $pop84, $pop85 - tee_local $push241=, $0=, $pop242 - i64.extend_u/i32 $push86=, $pop241 - i64.const $push82=, -4096 - i64.and $push240=, $1, $pop82 - tee_local $push239=, $1=, $pop240 - i64.or $push87=, $pop86, $pop239 - i32.wrap/i64 $push88=, $pop87 - i32.const $push238=, 0 - i32.const $push237=, 1103515245 - i32.mul $push79=, $2, $pop237 - i32.const $push236=, 12345 - i32.add $push80=, $pop79, $pop236 - i32.store $push2=, myrnd.s($pop238), $pop80 - i32.const $push235=, 16 - i32.shr_u $push89=, $pop2, $pop235 - i32.const $push234=, 2047 - i32.and $push233=, $pop89, $pop234 - tee_local $push232=, $2=, $pop233 - i32.add $push231=, $pop88, $pop232 - tee_local $push230=, $4=, $pop231 - i64.extend_u/i32 $push90=, $pop230 - i64.const $push91=, 4095 - i64.and $push92=, $pop90, $pop91 - i64.or $push93=, $pop92, $1 - i64.store $drop=, sO+8($pop81), $pop93 - i32.add $push94=, $2, $0 - i32.const $push229=, 4095 - i32.and $push95=, $4, $pop229 - i32.ne $push96=, $pop94, $pop95 - br_if 0, $pop96 # 0: down to label9 -# BB#5: # %if.end140 + i32.and $push88=, $pop87, $pop85 + i32.const $push226=, 16 + i32.shr_u $push84=, $2, $pop226 + i32.const $push225=, 2047 + i32.and $push86=, $pop84, $pop225 + i32.add $push89=, $pop88, $pop86 + i64.extend_u/i32 $push90=, $pop89 + i64.const $push91=, -4096 + i64.and $push92=, $1, $pop91 + i64.or $push93=, $pop90, $pop92 + i64.store $drop=, sO+8($pop82), $pop93 return -.LBB90_6: # %if.then139 +.LBB90_5: # %if.then93 end_block # label9: call abort@FUNCTION unreachable @@ -4340,22 +4279,21 @@ fn3P: # @fn3P .local i64 # BB#0: # %entry i32.const $push0=, 0 - i32.const $push14=, 0 - i64.load $push13=, sP($pop14) - tee_local $push12=, $1=, $pop13 - i32.wrap/i64 $push3=, $pop12 - i32.add $push11=, $pop3, $0 - tee_local $push10=, $0=, $pop11 - i64.extend_u/i32 $push4=, $pop10 - i64.const $push5=, 4095 - i64.and $push6=, $pop4, $pop5 + i32.const $push12=, 0 + i64.load $push11=, sP($pop12) + tee_local $push10=, $1=, $pop11 + i32.wrap/i64 $push3=, $pop10 + i32.add $push4=, $pop3, $0 + i32.const $push5=, 4095 + i32.and $push9=, $pop4, $pop5 + tee_local $push8=, $0=, $pop9 + i64.extend_u/i32 $push6=, $pop8 i64.const $push1=, -4096 i64.and $push2=, $1, $pop1 i64.or $push7=, $pop6, $pop2 i64.store $drop=, sP($pop0), $pop7 - i32.const $push8=, 4095 - i32.and $push9=, $0, $pop8 - # fallthrough-return: $pop9 + copy_local $push13=, $0 + # fallthrough-return: $pop13 .endfunc .Lfunc_end95: .size fn3P, .Lfunc_end95-fn3P @@ -4368,189 +4306,189 @@ testP: # @testP .local i32, i64, i32, i32, i32 # BB#0: # %entry i32.const $push7=, 0 - i32.const $push206=, 0 - i32.load $push8=, myrnd.s($pop206) + i32.const $push203=, 0 + i32.load $push8=, myrnd.s($pop203) i32.const $push9=, 1103515245 i32.mul $push10=, $pop8, $pop9 i32.const $push11=, 12345 - i32.add $push205=, $pop10, $pop11 - tee_local $push204=, $2=, $pop205 - i32.const $push203=, 16 - i32.shr_u $push12=, $pop204, $pop203 + i32.add $push202=, $pop10, $pop11 + tee_local $push201=, $2=, $pop202 + i32.const $push200=, 16 + i32.shr_u $push12=, $pop201, $pop200 i32.store8 $drop=, sP($pop7), $pop12 - i32.const $push202=, 0 - i32.const $push201=, 1103515245 - i32.mul $push13=, $2, $pop201 - i32.const $push200=, 12345 - i32.add $push199=, $pop13, $pop200 - tee_local $push198=, $2=, $pop199 - i32.const $push197=, 16 - i32.shr_u $push14=, $pop198, $pop197 - i32.store8 $drop=, sP+1($pop202), $pop14 - i32.const $push196=, 0 - i32.const $push195=, 1103515245 - i32.mul $push15=, $2, $pop195 - i32.const $push194=, 12345 - i32.add $push193=, $pop15, $pop194 - tee_local $push192=, $2=, $pop193 - i32.const $push191=, 16 - i32.shr_u $push16=, $pop192, $pop191 - i32.store8 $drop=, sP+2($pop196), $pop16 - i32.const $push190=, 0 - i32.const $push189=, 1103515245 - i32.mul $push17=, $2, $pop189 - i32.const $push188=, 12345 - i32.add $push187=, $pop17, $pop188 - tee_local $push186=, $2=, $pop187 - i32.const $push185=, 16 - i32.shr_u $push18=, $pop186, $pop185 - i32.store8 $drop=, sP+3($pop190), $pop18 - i32.const $push184=, 0 - i32.const $push183=, 1103515245 - i32.mul $push19=, $2, $pop183 - i32.const $push182=, 12345 - i32.add $push181=, $pop19, $pop182 - tee_local $push180=, $2=, $pop181 - i32.const $push179=, 16 - i32.shr_u $push20=, $pop180, $pop179 - i32.store8 $drop=, sP+4($pop184), $pop20 - i32.const $push178=, 0 - i32.const $push177=, 1103515245 - i32.mul $push21=, $2, $pop177 - i32.const $push176=, 12345 - i32.add $push175=, $pop21, $pop176 - tee_local $push174=, $2=, $pop175 - i32.const $push173=, 16 - i32.shr_u $push22=, $pop174, $pop173 - i32.store8 $drop=, sP+5($pop178), $pop22 - i32.const $push172=, 0 - i32.const $push171=, 1103515245 - i32.mul $push23=, $2, $pop171 - i32.const $push170=, 12345 - i32.add $push169=, $pop23, $pop170 - tee_local $push168=, $2=, $pop169 - i32.const $push167=, 16 - i32.shr_u $push24=, $pop168, $pop167 - i32.store8 $drop=, sP+6($pop172), $pop24 - i32.const $push166=, 0 - i32.const $push165=, 1103515245 - i32.mul $push25=, $2, $pop165 - i32.const $push164=, 12345 - i32.add $push163=, $pop25, $pop164 - tee_local $push162=, $2=, $pop163 - i32.const $push161=, 16 - i32.shr_u $push26=, $pop162, $pop161 - i32.store8 $drop=, sP+7($pop166), $pop26 - i32.const $push160=, 0 - i32.const $push159=, 1103515245 - i32.mul $push27=, $2, $pop159 - i32.const $push158=, 12345 - i32.add $push157=, $pop27, $pop158 - tee_local $push156=, $2=, $pop157 - i32.const $push155=, 16 - i32.shr_u $push28=, $pop156, $pop155 - i32.store8 $drop=, sP+8($pop160), $pop28 - i32.const $push154=, 0 - i32.const $push153=, 1103515245 - i32.mul $push29=, $2, $pop153 - i32.const $push152=, 12345 - i32.add $push151=, $pop29, $pop152 - tee_local $push150=, $2=, $pop151 - i32.const $push149=, 16 - i32.shr_u $push30=, $pop150, $pop149 - i32.store8 $drop=, sP+9($pop154), $pop30 - i32.const $push148=, 0 - i32.const $push147=, 1103515245 - i32.mul $push31=, $2, $pop147 - i32.const $push146=, 12345 - i32.add $push145=, $pop31, $pop146 - tee_local $push144=, $2=, $pop145 - i32.const $push143=, 16 - i32.shr_u $push32=, $pop144, $pop143 - i32.store8 $drop=, sP+10($pop148), $pop32 - i32.const $push142=, 0 - i32.const $push141=, 1103515245 - i32.mul $push33=, $2, $pop141 - i32.const $push140=, 12345 - i32.add $push139=, $pop33, $pop140 - tee_local $push138=, $2=, $pop139 - i32.const $push137=, 16 - i32.shr_u $push34=, $pop138, $pop137 - i32.store8 $drop=, sP+11($pop142), $pop34 - i32.const $push136=, 0 - i32.const $push135=, 1103515245 - i32.mul $push35=, $2, $pop135 - i32.const $push134=, 12345 - i32.add $push133=, $pop35, $pop134 - tee_local $push132=, $2=, $pop133 - i32.const $push131=, 16 - i32.shr_u $push36=, $pop132, $pop131 - i32.store8 $drop=, sP+12($pop136), $pop36 - i32.const $push130=, 0 - i32.const $push129=, 1103515245 - i32.mul $push37=, $2, $pop129 - i32.const $push128=, 12345 - i32.add $push127=, $pop37, $pop128 - tee_local $push126=, $2=, $pop127 - i32.const $push125=, 16 - i32.shr_u $push38=, $pop126, $pop125 - i32.store8 $drop=, sP+13($pop130), $pop38 - i32.const $push124=, 0 - i32.const $push123=, 1103515245 - i32.mul $push39=, $2, $pop123 - i32.const $push122=, 12345 - i32.add $push121=, $pop39, $pop122 - tee_local $push120=, $2=, $pop121 - i32.const $push119=, 16 - i32.shr_u $push40=, $pop120, $pop119 - i32.store8 $drop=, sP+14($pop124), $pop40 - i32.const $push118=, 0 - i32.const $push117=, 1103515245 - i32.mul $push41=, $2, $pop117 - i32.const $push116=, 12345 - i32.add $push115=, $pop41, $pop116 - tee_local $push114=, $2=, $pop115 - i32.const $push113=, 16 - i32.shr_u $push42=, $pop114, $pop113 - i32.store8 $drop=, sP+15($pop118), $pop42 - i32.const $push112=, 0 - i64.load $1=, sP($pop112) - i32.const $push111=, 0 - i32.const $push110=, 1103515245 - i32.mul $push43=, $2, $pop110 - i32.const $push109=, 12345 - i32.add $push108=, $pop43, $pop109 - tee_local $push107=, $2=, $pop108 - i32.const $push106=, 1103515245 - i32.mul $push44=, $pop107, $pop106 - i32.const $push105=, 12345 - i32.add $push3=, $pop44, $pop105 - i32.store $0=, myrnd.s($pop111), $pop3 + i32.const $push199=, 0 + i32.const $push198=, 1103515245 + i32.mul $push13=, $2, $pop198 + i32.const $push197=, 12345 + i32.add $push196=, $pop13, $pop197 + tee_local $push195=, $2=, $pop196 + i32.const $push194=, 16 + i32.shr_u $push14=, $pop195, $pop194 + i32.store8 $drop=, sP+1($pop199), $pop14 + i32.const $push193=, 0 + i32.const $push192=, 1103515245 + i32.mul $push15=, $2, $pop192 + i32.const $push191=, 12345 + i32.add $push190=, $pop15, $pop191 + tee_local $push189=, $2=, $pop190 + i32.const $push188=, 16 + i32.shr_u $push16=, $pop189, $pop188 + i32.store8 $drop=, sP+2($pop193), $pop16 + i32.const $push187=, 0 + i32.const $push186=, 1103515245 + i32.mul $push17=, $2, $pop186 + i32.const $push185=, 12345 + i32.add $push184=, $pop17, $pop185 + tee_local $push183=, $2=, $pop184 + i32.const $push182=, 16 + i32.shr_u $push18=, $pop183, $pop182 + i32.store8 $drop=, sP+3($pop187), $pop18 + i32.const $push181=, 0 + i32.const $push180=, 1103515245 + i32.mul $push19=, $2, $pop180 + i32.const $push179=, 12345 + i32.add $push178=, $pop19, $pop179 + tee_local $push177=, $2=, $pop178 + i32.const $push176=, 16 + i32.shr_u $push20=, $pop177, $pop176 + i32.store8 $drop=, sP+4($pop181), $pop20 + i32.const $push175=, 0 + i32.const $push174=, 1103515245 + i32.mul $push21=, $2, $pop174 + i32.const $push173=, 12345 + i32.add $push172=, $pop21, $pop173 + tee_local $push171=, $2=, $pop172 + i32.const $push170=, 16 + i32.shr_u $push22=, $pop171, $pop170 + i32.store8 $drop=, sP+5($pop175), $pop22 + i32.const $push169=, 0 + i32.const $push168=, 1103515245 + i32.mul $push23=, $2, $pop168 + i32.const $push167=, 12345 + i32.add $push166=, $pop23, $pop167 + tee_local $push165=, $2=, $pop166 + i32.const $push164=, 16 + i32.shr_u $push24=, $pop165, $pop164 + i32.store8 $drop=, sP+6($pop169), $pop24 + i32.const $push163=, 0 + i32.const $push162=, 1103515245 + i32.mul $push25=, $2, $pop162 + i32.const $push161=, 12345 + i32.add $push160=, $pop25, $pop161 + tee_local $push159=, $2=, $pop160 + i32.const $push158=, 16 + i32.shr_u $push26=, $pop159, $pop158 + i32.store8 $drop=, sP+7($pop163), $pop26 + i32.const $push157=, 0 + i32.const $push156=, 1103515245 + i32.mul $push27=, $2, $pop156 + i32.const $push155=, 12345 + i32.add $push154=, $pop27, $pop155 + tee_local $push153=, $2=, $pop154 + i32.const $push152=, 16 + i32.shr_u $push28=, $pop153, $pop152 + i32.store8 $drop=, sP+8($pop157), $pop28 + i32.const $push151=, 0 + i32.const $push150=, 1103515245 + i32.mul $push29=, $2, $pop150 + i32.const $push149=, 12345 + i32.add $push148=, $pop29, $pop149 + tee_local $push147=, $2=, $pop148 + i32.const $push146=, 16 + i32.shr_u $push30=, $pop147, $pop146 + i32.store8 $drop=, sP+9($pop151), $pop30 + i32.const $push145=, 0 + i32.const $push144=, 1103515245 + i32.mul $push31=, $2, $pop144 + i32.const $push143=, 12345 + i32.add $push142=, $pop31, $pop143 + tee_local $push141=, $2=, $pop142 + i32.const $push140=, 16 + i32.shr_u $push32=, $pop141, $pop140 + i32.store8 $drop=, sP+10($pop145), $pop32 + i32.const $push139=, 0 + i32.const $push138=, 1103515245 + i32.mul $push33=, $2, $pop138 + i32.const $push137=, 12345 + i32.add $push136=, $pop33, $pop137 + tee_local $push135=, $2=, $pop136 + i32.const $push134=, 16 + i32.shr_u $push34=, $pop135, $pop134 + i32.store8 $drop=, sP+11($pop139), $pop34 + i32.const $push133=, 0 + i32.const $push132=, 1103515245 + i32.mul $push35=, $2, $pop132 + i32.const $push131=, 12345 + i32.add $push130=, $pop35, $pop131 + tee_local $push129=, $2=, $pop130 + i32.const $push128=, 16 + i32.shr_u $push36=, $pop129, $pop128 + i32.store8 $drop=, sP+12($pop133), $pop36 + i32.const $push127=, 0 + i32.const $push126=, 1103515245 + i32.mul $push37=, $2, $pop126 + i32.const $push125=, 12345 + i32.add $push124=, $pop37, $pop125 + tee_local $push123=, $2=, $pop124 + i32.const $push122=, 16 + i32.shr_u $push38=, $pop123, $pop122 + i32.store8 $drop=, sP+13($pop127), $pop38 + i32.const $push121=, 0 + i32.const $push120=, 1103515245 + i32.mul $push39=, $2, $pop120 + i32.const $push119=, 12345 + i32.add $push118=, $pop39, $pop119 + tee_local $push117=, $2=, $pop118 + i32.const $push116=, 16 + i32.shr_u $push40=, $pop117, $pop116 + i32.store8 $drop=, sP+14($pop121), $pop40 + i32.const $push115=, 0 + i32.const $push114=, 1103515245 + i32.mul $push41=, $2, $pop114 + i32.const $push113=, 12345 + i32.add $push112=, $pop41, $pop113 + tee_local $push111=, $2=, $pop112 + i32.const $push110=, 16 + i32.shr_u $push42=, $pop111, $pop110 + i32.store8 $drop=, sP+15($pop115), $pop42 + i32.const $push109=, 0 + i64.load $1=, sP($pop109) + i32.const $push108=, 0 + i32.const $push107=, 1103515245 + i32.mul $push43=, $2, $pop107 + i32.const $push106=, 12345 + i32.add $push105=, $pop43, $pop106 + tee_local $push104=, $2=, $pop105 + i32.const $push103=, 1103515245 + i32.mul $push44=, $pop104, $pop103 + i32.const $push102=, 12345 + i32.add $push3=, $pop44, $pop102 + i32.store $0=, myrnd.s($pop108), $pop3 block - i32.const $push104=, 16 - i32.shr_u $push47=, $2, $pop104 - i32.const $push103=, 2047 - i32.and $push102=, $pop47, $pop103 - tee_local $push101=, $2=, $pop102 - i32.const $push100=, 0 + i32.const $push101=, 16 + i32.shr_u $push47=, $2, $pop101 + i32.const $push100=, 2047 + i32.and $push99=, $pop47, $pop100 + tee_local $push98=, $2=, $pop99 + i32.const $push97=, 0 i64.extend_u/i32 $push48=, $2 i64.const $push45=, -4096 i64.and $push46=, $1, $pop45 i64.or $push49=, $pop48, $pop46 - i64.store $push0=, sP($pop100), $pop49 - i32.wrap/i64 $push99=, $pop0 - tee_local $push98=, $4=, $pop99 - i32.const $push97=, 2047 - i32.and $push53=, $pop98, $pop97 - i32.ne $push54=, $pop101, $pop53 + i64.store $push0=, sP($pop97), $pop49 + i32.wrap/i64 $push96=, $pop0 + tee_local $push95=, $4=, $pop96 + i32.const $push94=, 2047 + i32.and $push53=, $pop95, $pop94 + i32.ne $push54=, $pop98, $pop53 br_if 0, $pop54 # 0: down to label10 # BB#1: # %entry - i32.const $push210=, 16 - i32.shr_u $push50=, $0, $pop210 - i32.const $push209=, 2047 - i32.and $push208=, $pop50, $pop209 - tee_local $push207=, $3=, $pop208 - i32.add $push5=, $pop207, $2 + i32.const $push207=, 16 + i32.shr_u $push50=, $0, $pop207 + i32.const $push206=, 2047 + i32.and $push205=, $pop50, $pop206 + tee_local $push204=, $3=, $pop205 + i32.add $push5=, $pop204, $2 i32.add $push51=, $4, $3 i32.const $push52=, 4095 i32.and $push6=, $pop51, $pop52 @@ -4561,90 +4499,75 @@ testP: # @testP i32.const $push56=, 1103515245 i32.mul $push57=, $0, $pop56 i32.const $push58=, 12345 - i32.add $push222=, $pop57, $pop58 - tee_local $push221=, $2=, $pop222 - i32.const $push220=, 1103515245 - i32.mul $push59=, $pop221, $pop220 - i32.const $push219=, 12345 - i32.add $push4=, $pop59, $pop219 + i32.add $push219=, $pop57, $pop58 + tee_local $push218=, $2=, $pop219 + i32.const $push217=, 1103515245 + i32.mul $push59=, $pop218, $pop217 + i32.const $push216=, 12345 + i32.add $push4=, $pop59, $pop216 i32.store $0=, myrnd.s($pop60), $pop4 - i32.const $push218=, 16 - i32.shr_u $push63=, $2, $pop218 - i32.const $push217=, 2047 - i32.and $push216=, $pop63, $pop217 - tee_local $push215=, $2=, $pop216 - i32.const $push214=, 0 + i32.const $push215=, 16 + i32.shr_u $push63=, $2, $pop215 + i32.const $push214=, 2047 + i32.and $push213=, $pop63, $pop214 + tee_local $push212=, $2=, $pop213 + i32.const $push211=, 0 i64.extend_u/i32 $push64=, $2 i64.const $push61=, -4096 i64.and $push62=, $1, $pop61 i64.or $push65=, $pop64, $pop62 - i64.store $push1=, sP($pop214), $pop65 - i32.wrap/i64 $push213=, $pop1 - tee_local $push212=, $4=, $pop213 - i32.const $push211=, 2047 - i32.and $push66=, $pop212, $pop211 - i32.ne $push67=, $pop215, $pop66 + i64.store $push1=, sP($pop211), $pop65 + i32.wrap/i64 $push210=, $pop1 + tee_local $push209=, $4=, $pop210 + i32.const $push208=, 2047 + i32.and $push66=, $pop209, $pop208 + i32.ne $push67=, $pop212, $pop66 br_if 0, $pop67 # 0: down to label10 # BB#3: # %lor.lhs.false83 - i32.const $push228=, 16 - i32.shr_u $push68=, $0, $pop228 - i32.const $push227=, 2047 - i32.and $push226=, $pop68, $pop227 - tee_local $push225=, $3=, $pop226 - i32.add $push69=, $pop225, $2 + i32.const $push224=, 16 + i32.shr_u $push68=, $0, $pop224 + i32.const $push223=, 2047 + i32.and $push222=, $pop68, $pop223 + tee_local $push221=, $3=, $pop222 + i32.add $push69=, $pop221, $2 i32.const $push70=, 15 i32.rem_u $push71=, $pop69, $pop70 i32.add $push72=, $4, $3 - i32.const $push224=, 4095 - i32.and $push73=, $pop72, $pop224 - i32.const $push223=, 15 - i32.rem_u $push74=, $pop73, $pop223 - i32.ne $push75=, $pop71, $pop74 - br_if 0, $pop75 # 0: down to label10 -# BB#4: # %lor.lhs.false118 - i32.const $push81=, 0 - i32.const $push76=, 1103515245 - i32.mul $push77=, $0, $pop76 - i32.const $push78=, 12345 - i32.add $push244=, $pop77, $pop78 - tee_local $push243=, $2=, $pop244 + i32.const $push73=, 4095 + i32.and $push74=, $pop72, $pop73 + i32.const $push220=, 15 + i32.rem_u $push75=, $pop74, $pop220 + i32.ne $push76=, $pop71, $pop75 + br_if 0, $pop76 # 0: down to label10 +# BB#4: # %if.end134 + i32.const $push82=, 0 + i32.const $push231=, 0 + i32.const $push77=, 1103515245 + i32.mul $push78=, $0, $pop77 + i32.const $push79=, 12345 + i32.add $push230=, $pop78, $pop79 + tee_local $push229=, $2=, $pop230 + i32.const $push228=, 1103515245 + i32.mul $push80=, $pop229, $pop228 + i32.const $push227=, 12345 + i32.add $push81=, $pop80, $pop227 + i32.store $push2=, myrnd.s($pop231), $pop81 i32.const $push83=, 16 - i32.shr_u $push84=, $pop243, $pop83 + i32.shr_u $push87=, $pop2, $pop83 i32.const $push85=, 2047 - i32.and $push242=, $pop84, $pop85 - tee_local $push241=, $0=, $pop242 - i64.extend_u/i32 $push86=, $pop241 - i64.const $push82=, -4096 - i64.and $push240=, $1, $pop82 - tee_local $push239=, $1=, $pop240 - i64.or $push87=, $pop86, $pop239 - i32.wrap/i64 $push88=, $pop87 - i32.const $push238=, 0 - i32.const $push237=, 1103515245 - i32.mul $push79=, $2, $pop237 - i32.const $push236=, 12345 - i32.add $push80=, $pop79, $pop236 - i32.store $push2=, myrnd.s($pop238), $pop80 - i32.const $push235=, 16 - i32.shr_u $push89=, $pop2, $pop235 - i32.const $push234=, 2047 - i32.and $push233=, $pop89, $pop234 - tee_local $push232=, $2=, $pop233 - i32.add $push231=, $pop88, $pop232 - tee_local $push230=, $4=, $pop231 - i64.extend_u/i32 $push90=, $pop230 - i64.const $push91=, 4095 - i64.and $push92=, $pop90, $pop91 - i64.or $push93=, $pop92, $1 - i64.store $drop=, sP($pop81), $pop93 - i32.add $push94=, $2, $0 - i32.const $push229=, 4095 - i32.and $push95=, $4, $pop229 - i32.ne $push96=, $pop94, $pop95 - br_if 0, $pop96 # 0: down to label10 -# BB#5: # %if.end134 + i32.and $push88=, $pop87, $pop85 + i32.const $push226=, 16 + i32.shr_u $push84=, $2, $pop226 + i32.const $push225=, 2047 + i32.and $push86=, $pop84, $pop225 + i32.add $push89=, $pop88, $pop86 + i64.extend_u/i32 $push90=, $pop89 + i64.const $push91=, -4096 + i64.and $push92=, $1, $pop91 + i64.or $push93=, $pop90, $pop92 + i64.store $drop=, sP($pop82), $pop93 return -.LBB96_6: # %if.then133 +.LBB96_5: # %if.then89 end_block # label10: call abort@FUNCTION unreachable diff --git a/test/torture-s/20040709-2.c.s b/test/torture-s/20040709-2.c.s index 326029d66..804771369 100644 --- a/test/torture-s/20040709-2.c.s +++ b/test/torture-s/20040709-2.c.s @@ -3030,26 +3030,25 @@ fn3N: # @fn3N .local i64 # BB#0: # %entry i32.const $push0=, 0 - i32.const $push18=, 0 - i64.load $push17=, sN($pop18) - tee_local $push16=, $1=, $pop17 - i64.const $push3=, 6 - i64.shr_u $push4=, $pop16, $pop3 - i32.wrap/i64 $push5=, $pop4 - i32.add $push15=, $pop5, $0 - tee_local $push14=, $0=, $pop15 - i32.const $push6=, 6 - i32.shl $push7=, $pop14, $pop6 - i64.extend_u/i32 $push8=, $pop7 - i64.const $push9=, 4032 - i64.and $push10=, $pop8, $pop9 + i32.const $push16=, 0 + i64.load $push15=, sN($pop16) + tee_local $push14=, $1=, $pop15 + i32.wrap/i64 $push3=, $pop14 + i32.const $push4=, 6 + i32.shr_u $push5=, $pop3, $pop4 + i32.add $push6=, $pop5, $0 + i32.const $push7=, 63 + i32.and $push13=, $pop6, $pop7 + tee_local $push12=, $0=, $pop13 + i64.extend_u/i32 $push8=, $pop12 + i64.const $push9=, 6 + i64.shl $push10=, $pop8, $pop9 i64.const $push1=, -4033 i64.and $push2=, $1, $pop1 i64.or $push11=, $pop10, $pop2 i64.store $drop=, sN($pop0), $pop11 - i32.const $push12=, 63 - i32.and $push13=, $0, $pop12 - # fallthrough-return: $pop13 + copy_local $push17=, $0 + # fallthrough-return: $pop17 .endfunc .Lfunc_end83: .size fn3N, .Lfunc_end83-fn3N @@ -3059,251 +3058,207 @@ fn3N: # @fn3N .globl testN .type testN,@function testN: # @testN - .local i32, i64, i32, i64, i32, i32, i32, i64 -# BB#0: # %lor.lhs.false + .local i32, i64, i32, i32, i32 +# BB#0: # %entry i32.const $push5=, 0 - i32.const $push165=, 0 - i32.load $push6=, myrnd.s($pop165) + i32.const $push144=, 0 + i32.load $push6=, myrnd.s($pop144) i32.const $push7=, 1103515245 i32.mul $push8=, $pop6, $pop7 i32.const $push9=, 12345 - i32.add $push164=, $pop8, $pop9 - tee_local $push163=, $6=, $pop164 - i32.const $push162=, 16 - i32.shr_u $push10=, $pop163, $pop162 + i32.add $push143=, $pop8, $pop9 + tee_local $push142=, $0=, $pop143 + i32.const $push141=, 16 + i32.shr_u $push10=, $pop142, $pop141 i32.store8 $drop=, sN($pop5), $pop10 - i32.const $push161=, 0 - i32.const $push160=, 1103515245 - i32.mul $push11=, $6, $pop160 - i32.const $push159=, 12345 - i32.add $push158=, $pop11, $pop159 - tee_local $push157=, $6=, $pop158 - i32.const $push156=, 16 - i32.shr_u $push12=, $pop157, $pop156 - i32.store8 $drop=, sN+1($pop161), $pop12 - i32.const $push155=, 0 - i32.const $push154=, 1103515245 - i32.mul $push13=, $6, $pop154 - i32.const $push153=, 12345 - i32.add $push152=, $pop13, $pop153 - tee_local $push151=, $6=, $pop152 - i32.const $push150=, 16 - i32.shr_u $push14=, $pop151, $pop150 - i32.store8 $drop=, sN+2($pop155), $pop14 - i32.const $push149=, 0 - i32.const $push148=, 1103515245 - i32.mul $push15=, $6, $pop148 - i32.const $push147=, 12345 - i32.add $push146=, $pop15, $pop147 - tee_local $push145=, $6=, $pop146 - i32.const $push144=, 16 - i32.shr_u $push16=, $pop145, $pop144 - i32.store8 $drop=, sN+3($pop149), $pop16 - i32.const $push143=, 0 - i32.const $push142=, 1103515245 - i32.mul $push17=, $6, $pop142 - i32.const $push141=, 12345 - i32.add $push140=, $pop17, $pop141 - tee_local $push139=, $6=, $pop140 - i32.const $push138=, 16 - i32.shr_u $push18=, $pop139, $pop138 - i32.store8 $drop=, sN+4($pop143), $pop18 - i32.const $push137=, 0 - i32.const $push136=, 1103515245 - i32.mul $push19=, $6, $pop136 - i32.const $push135=, 12345 - i32.add $push134=, $pop19, $pop135 - tee_local $push133=, $6=, $pop134 - i32.const $push132=, 16 - i32.shr_u $push20=, $pop133, $pop132 - i32.store8 $drop=, sN+5($pop137), $pop20 - i32.const $push131=, 0 - i32.const $push130=, 1103515245 - i32.mul $push21=, $6, $pop130 - i32.const $push129=, 12345 - i32.add $push128=, $pop21, $pop129 - tee_local $push127=, $6=, $pop128 - i32.const $push126=, 16 - i32.shr_u $push22=, $pop127, $pop126 - i32.store8 $drop=, sN+6($pop131), $pop22 - i32.const $push125=, 0 - i32.const $push124=, 1103515245 - i32.mul $push23=, $6, $pop124 - i32.const $push123=, 12345 - i32.add $push122=, $pop23, $pop123 - tee_local $push121=, $6=, $pop122 - i32.const $push120=, 16 - i32.shr_u $push24=, $pop121, $pop120 - i32.store8 $drop=, sN+7($pop125), $pop24 - i32.const $push119=, 0 - i64.load $7=, sN($pop119) - i32.const $push118=, 0 - i32.const $push117=, 1103515245 - i32.mul $push25=, $6, $pop117 - i32.const $push116=, 12345 - i32.add $push115=, $pop25, $pop116 - tee_local $push114=, $6=, $pop115 - i32.const $push113=, 1103515245 - i32.mul $push26=, $pop114, $pop113 - i32.const $push112=, 12345 - i32.add $push1=, $pop26, $pop112 - i32.store $0=, myrnd.s($pop118), $pop1 + i32.const $push140=, 0 + i32.const $push139=, 1103515245 + i32.mul $push11=, $0, $pop139 + i32.const $push138=, 12345 + i32.add $push137=, $pop11, $pop138 + tee_local $push136=, $0=, $pop137 + i32.const $push135=, 16 + i32.shr_u $push12=, $pop136, $pop135 + i32.store8 $drop=, sN+1($pop140), $pop12 + i32.const $push134=, 0 + i32.const $push133=, 1103515245 + i32.mul $push13=, $0, $pop133 + i32.const $push132=, 12345 + i32.add $push131=, $pop13, $pop132 + tee_local $push130=, $0=, $pop131 + i32.const $push129=, 16 + i32.shr_u $push14=, $pop130, $pop129 + i32.store8 $drop=, sN+2($pop134), $pop14 + i32.const $push128=, 0 + i32.const $push127=, 1103515245 + i32.mul $push15=, $0, $pop127 + i32.const $push126=, 12345 + i32.add $push125=, $pop15, $pop126 + tee_local $push124=, $0=, $pop125 + i32.const $push123=, 16 + i32.shr_u $push16=, $pop124, $pop123 + i32.store8 $drop=, sN+3($pop128), $pop16 + i32.const $push122=, 0 + i32.const $push121=, 1103515245 + i32.mul $push17=, $0, $pop121 + i32.const $push120=, 12345 + i32.add $push119=, $pop17, $pop120 + tee_local $push118=, $0=, $pop119 + i32.const $push117=, 16 + i32.shr_u $push18=, $pop118, $pop117 + i32.store8 $drop=, sN+4($pop122), $pop18 + i32.const $push116=, 0 + i32.const $push115=, 1103515245 + i32.mul $push19=, $0, $pop115 + i32.const $push114=, 12345 + i32.add $push113=, $pop19, $pop114 + tee_local $push112=, $0=, $pop113 + i32.const $push111=, 16 + i32.shr_u $push20=, $pop112, $pop111 + i32.store8 $drop=, sN+5($pop116), $pop20 + i32.const $push110=, 0 + i32.const $push109=, 1103515245 + i32.mul $push21=, $0, $pop109 + i32.const $push108=, 12345 + i32.add $push107=, $pop21, $pop108 + tee_local $push106=, $0=, $pop107 + i32.const $push105=, 16 + i32.shr_u $push22=, $pop106, $pop105 + i32.store8 $drop=, sN+6($pop110), $pop22 + i32.const $push104=, 0 + i32.const $push103=, 1103515245 + i32.mul $push23=, $0, $pop103 + i32.const $push102=, 12345 + i32.add $push101=, $pop23, $pop102 + tee_local $push100=, $0=, $pop101 + i32.const $push99=, 16 + i32.shr_u $push24=, $pop100, $pop99 + i32.store8 $drop=, sN+7($pop104), $pop24 + i32.const $push98=, 0 + i64.load $1=, sN($pop98) + i32.const $push97=, 0 + i32.const $push96=, 1103515245 + i32.mul $push25=, $0, $pop96 + i32.const $push95=, 12345 + i32.add $push94=, $pop25, $pop95 + tee_local $push93=, $4=, $pop94 + i32.const $push92=, 1103515245 + i32.mul $push26=, $pop93, $pop92 + i32.const $push91=, 12345 + i32.add $push3=, $pop26, $pop91 + i32.store $0=, myrnd.s($pop97), $pop3 block - i32.const $push111=, 0 - i32.const $push28=, 10 - i32.shr_u $push29=, $6, $pop28 - i64.extend_u/i32 $push30=, $pop29 - i64.const $push31=, 4032 - i64.and $push32=, $pop30, $pop31 + i32.const $push90=, 16 + i32.shr_u $push89=, $4, $pop90 + tee_local $push88=, $2=, $pop89 + i32.const $push87=, 63 + i32.and $push86=, $pop88, $pop87 + tee_local $push85=, $4=, $pop86 + i32.const $push84=, 0 + i64.extend_u/i32 $push29=, $4 + i64.const $push30=, 6 + i64.shl $push31=, $pop29, $pop30 i64.const $push27=, -4033 - i64.and $push110=, $7, $pop27 - tee_local $push109=, $3=, $pop110 - i64.or $push2=, $pop32, $pop109 - i64.store $push108=, sN($pop111), $pop2 - tee_local $push107=, $1=, $pop108 - i64.const $push106=, 4032 - i64.or $push35=, $7, $pop106 - i64.xor $push105=, $pop107, $pop35 - tee_local $push104=, $7=, $pop105 - i64.const $push36=, 34359734272 - i64.and $push37=, $pop104, $pop36 - i64.const $push103=, 0 - i64.ne $push38=, $pop37, $pop103 - br_if 0, $pop38 # 0: down to label3 -# BB#1: # %lor.lhs.false29 - i64.const $push42=, 63 - i64.and $push43=, $7, $pop42 - i64.const $push166=, 0 - i64.ne $push44=, $pop43, $pop166 - br_if 0, $pop44 # 0: down to label3 -# BB#2: # %lor.lhs.false29 - i64.const $push33=, 6 - i64.shr_u $push34=, $1, $pop33 - i32.wrap/i64 $push171=, $pop34 - tee_local $push170=, $4=, $pop171 - i32.const $push169=, 16 - i32.shr_u $push168=, $6, $pop169 - tee_local $push167=, $6=, $pop168 - i32.xor $push40=, $pop170, $pop167 - i32.const $push41=, 63 - i32.and $push39=, $pop40, $pop41 + i64.and $push28=, $1, $pop27 + i64.or $push32=, $pop31, $pop28 + i64.store $push0=, sN($pop84), $pop32 + i64.const $push83=, 6 + i64.shr_u $push33=, $pop0, $pop83 + i32.wrap/i64 $push82=, $pop33 + tee_local $push81=, $4=, $pop82 + i32.const $push80=, 63 + i32.and $push34=, $pop81, $pop80 + i32.ne $push35=, $pop85, $pop34 + br_if 0, $pop35 # 0: down to label3 +# BB#1: # %lor.lhs.false49 + i32.const $push148=, 16 + i32.shr_u $push147=, $0, $pop148 + tee_local $push146=, $3=, $pop147 + i32.add $push37=, $4, $pop146 + i32.add $push36=, $3, $2 + i32.xor $push38=, $pop37, $pop36 + i32.const $push145=, 63 + i32.and $push39=, $pop38, $pop145 br_if 0, $pop39 # 0: down to label3 -# BB#3: # %lor.lhs.false49 - i32.const $push175=, 16 - i32.shr_u $push174=, $0, $pop175 - tee_local $push173=, $2=, $pop174 - i32.add $push3=, $4, $pop173 - i32.add $push45=, $2, $6 - i32.xor $push46=, $pop3, $pop45 - i32.const $push172=, 63 - i32.and $push47=, $pop46, $pop172 - br_if 0, $pop47 # 0: down to label3 -# BB#4: # %lor.lhs.false69 - i32.const $push52=, 0 - i32.const $push48=, 1103515245 - i32.mul $push49=, $0, $pop48 - i32.const $push50=, 12345 - i32.add $push191=, $pop49, $pop50 - tee_local $push190=, $6=, $pop191 - i32.const $push189=, 1103515245 - i32.mul $push51=, $pop190, $pop189 - i32.const $push188=, 12345 - i32.add $push4=, $pop51, $pop188 - i32.store $0=, myrnd.s($pop52), $pop4 - i32.const $push187=, 0 - i32.const $push53=, 10 - i32.shr_u $push54=, $6, $pop53 - i64.extend_u/i32 $push55=, $pop54 - i64.const $push56=, 4032 - i64.and $push57=, $pop55, $pop56 - i64.or $push58=, $pop57, $3 - i64.store $push186=, sN($pop187), $pop58 - tee_local $push185=, $7=, $pop186 - i64.const $push59=, 6 - i64.shr_u $push60=, $pop185, $pop59 - i32.wrap/i64 $push184=, $pop60 - tee_local $push183=, $4=, $pop184 - i32.const $push182=, 16 - i32.shr_u $push181=, $0, $pop182 - tee_local $push180=, $2=, $pop181 - i32.add $push61=, $pop183, $pop180 - i32.const $push179=, 63 - i32.and $push62=, $pop61, $pop179 - i32.const $push63=, 15 - i32.rem_u $5=, $pop62, $pop63 - i64.xor $push178=, $7, $1 - tee_local $push177=, $7=, $pop178 - i64.const $push64=, 34359734272 - i64.and $push65=, $pop177, $pop64 - i64.const $push176=, 0 - i64.ne $push66=, $pop65, $pop176 - br_if 0, $pop66 # 0: down to label3 -# BB#5: # %lor.lhs.false80 - i64.const $push70=, 63 - i64.and $push71=, $7, $pop70 - i64.const $push192=, 0 - i64.ne $push72=, $pop71, $pop192 - br_if 0, $pop72 # 0: down to label3 -# BB#6: # %lor.lhs.false80 - i32.const $push195=, 16 - i32.shr_u $push194=, $6, $pop195 - tee_local $push193=, $6=, $pop194 - i32.xor $push68=, $4, $pop193 - i32.const $push69=, 63 - i32.and $push67=, $pop68, $pop69 - br_if 0, $pop67 # 0: down to label3 -# BB#7: # %lor.lhs.false100 - i32.add $push73=, $2, $6 - i32.const $push196=, 63 - i32.and $push74=, $pop73, $pop196 - i32.const $push75=, 15 - i32.rem_u $push76=, $pop74, $pop75 - i32.ne $push77=, $pop76, $5 - br_if 0, $pop77 # 0: down to label3 -# BB#8: # %lor.lhs.false125 - i32.const $push83=, 0 - i32.const $push78=, 1103515245 - i32.mul $push79=, $0, $pop78 - i32.const $push80=, 12345 - i32.add $push208=, $pop79, $pop80 - tee_local $push207=, $6=, $pop208 - i32.const $push85=, 10 - i32.shr_u $push86=, $pop207, $pop85 - i64.extend_u/i32 $push87=, $pop86 - i64.const $push88=, 4032 - i64.and $push89=, $pop87, $pop88 - i64.or $push90=, $pop89, $3 - i64.const $push91=, 6 - i64.shr_u $push92=, $pop90, $pop91 - i32.wrap/i64 $push93=, $pop92 - i32.const $push206=, 0 - i32.const $push205=, 1103515245 - i32.mul $push81=, $6, $pop205 - i32.const $push204=, 12345 - i32.add $push82=, $pop81, $pop204 - i32.store $push0=, myrnd.s($pop206), $pop82 - i32.const $push84=, 16 - i32.shr_u $push203=, $pop0, $pop84 - tee_local $push202=, $0=, $pop203 - i32.add $push201=, $pop93, $pop202 - tee_local $push200=, $4=, $pop201 - i32.const $push94=, 6 - i32.shl $push95=, $pop200, $pop94 - i64.extend_u/i32 $push96=, $pop95 - i64.const $push199=, 4032 - i64.and $push97=, $pop96, $pop199 - i64.or $push98=, $pop97, $3 - i64.store $drop=, sN($pop83), $pop98 - i32.const $push198=, 16 - i32.shr_u $push99=, $6, $pop198 - i32.add $push100=, $0, $pop99 - i32.xor $push101=, $pop100, $4 - i32.const $push197=, 63 - i32.and $push102=, $pop101, $pop197 - br_if 0, $pop102 # 0: down to label3 -# BB#9: # %if.end158 +# BB#2: # %if.end + i32.const $push44=, 0 + i32.const $push40=, 1103515245 + i32.mul $push41=, $0, $pop40 + i32.const $push42=, 12345 + i32.add $push163=, $pop41, $pop42 + tee_local $push162=, $4=, $pop163 + i32.const $push161=, 1103515245 + i32.mul $push43=, $pop162, $pop161 + i32.const $push160=, 12345 + i32.add $push4=, $pop43, $pop160 + i32.store $0=, myrnd.s($pop44), $pop4 + i32.const $push159=, 16 + i32.shr_u $push158=, $4, $pop159 + tee_local $push157=, $2=, $pop158 + i32.const $push156=, 63 + i32.and $push155=, $pop157, $pop156 + tee_local $push154=, $4=, $pop155 + i32.const $push153=, 0 + i64.extend_u/i32 $push47=, $4 + i64.const $push48=, 6 + i64.shl $push49=, $pop47, $pop48 + i64.const $push45=, -4033 + i64.and $push46=, $1, $pop45 + i64.or $push50=, $pop49, $pop46 + i64.store $push1=, sN($pop153), $pop50 + i64.const $push152=, 6 + i64.shr_u $push51=, $pop1, $pop152 + i32.wrap/i64 $push151=, $pop51 + tee_local $push150=, $4=, $pop151 + i32.const $push149=, 63 + i32.and $push52=, $pop150, $pop149 + i32.ne $push53=, $pop154, $pop52 + br_if 0, $pop53 # 0: down to label3 +# BB#3: # %lor.lhs.false100 + i32.const $push169=, 16 + i32.shr_u $push168=, $0, $pop169 + tee_local $push167=, $3=, $pop168 + i32.add $push58=, $pop167, $2 + i32.const $push166=, 63 + i32.and $push59=, $pop58, $pop166 + i32.const $push56=, 15 + i32.rem_u $push60=, $pop59, $pop56 + i32.add $push54=, $4, $3 + i32.const $push165=, 63 + i32.and $push55=, $pop54, $pop165 + i32.const $push164=, 15 + i32.rem_u $push57=, $pop55, $pop164 + i32.ne $push61=, $pop60, $pop57 + br_if 0, $pop61 # 0: down to label3 +# BB#4: # %if.end158 + i32.const $push67=, 0 + i32.const $push175=, 0 + i32.const $push62=, 1103515245 + i32.mul $push63=, $0, $pop62 + i32.const $push64=, 12345 + i32.add $push174=, $pop63, $pop64 + tee_local $push173=, $0=, $pop174 + i32.const $push172=, 1103515245 + i32.mul $push65=, $pop173, $pop172 + i32.const $push171=, 12345 + i32.add $push66=, $pop65, $pop171 + i32.store $push2=, myrnd.s($pop175), $pop66 + i32.const $push68=, 16 + i32.shr_u $push70=, $pop2, $pop68 + i32.const $push170=, 16 + i32.shr_u $push69=, $0, $pop170 + i32.add $push71=, $pop70, $pop69 + i32.const $push72=, 63 + i32.and $push73=, $pop71, $pop72 + i64.extend_u/i32 $push74=, $pop73 + i64.const $push75=, 6 + i64.shl $push76=, $pop74, $pop75 + i64.const $push77=, -4033 + i64.and $push78=, $1, $pop77 + i64.or $push79=, $pop76, $pop78 + i64.store $drop=, sN($pop67), $pop79 return -.LBB84_10: # %if.then157 +.LBB84_5: # %if.then106 end_block # label3: call abort@FUNCTION unreachable @@ -3395,22 +3350,21 @@ fn3O: # @fn3O .local i64 # BB#0: # %entry i32.const $push0=, 0 - i32.const $push14=, 0 - i64.load $push13=, sO+8($pop14) - tee_local $push12=, $1=, $pop13 - i32.wrap/i64 $push3=, $pop12 - i32.add $push11=, $pop3, $0 - tee_local $push10=, $0=, $pop11 - i64.extend_u/i32 $push4=, $pop10 - i64.const $push5=, 4095 - i64.and $push6=, $pop4, $pop5 + i32.const $push12=, 0 + i64.load $push11=, sO+8($pop12) + tee_local $push10=, $1=, $pop11 + i32.wrap/i64 $push3=, $pop10 + i32.add $push4=, $pop3, $0 + i32.const $push5=, 4095 + i32.and $push9=, $pop4, $pop5 + tee_local $push8=, $0=, $pop9 + i64.extend_u/i32 $push6=, $pop8 i64.const $push1=, -4096 i64.and $push2=, $1, $pop1 i64.or $push7=, $pop6, $pop2 i64.store $drop=, sO+8($pop0), $pop7 - i32.const $push8=, 4095 - i32.and $push9=, $0, $pop8 - # fallthrough-return: $pop9 + copy_local $push13=, $0 + # fallthrough-return: $pop13 .endfunc .Lfunc_end89: .size fn3O, .Lfunc_end89-fn3O @@ -3423,189 +3377,189 @@ testO: # @testO .local i32, i64, i32, i32, i32 # BB#0: # %entry i32.const $push7=, 0 - i32.const $push206=, 0 - i32.load $push8=, myrnd.s($pop206) + i32.const $push203=, 0 + i32.load $push8=, myrnd.s($pop203) i32.const $push9=, 1103515245 i32.mul $push10=, $pop8, $pop9 i32.const $push11=, 12345 - i32.add $push205=, $pop10, $pop11 - tee_local $push204=, $2=, $pop205 - i32.const $push203=, 16 - i32.shr_u $push12=, $pop204, $pop203 + i32.add $push202=, $pop10, $pop11 + tee_local $push201=, $2=, $pop202 + i32.const $push200=, 16 + i32.shr_u $push12=, $pop201, $pop200 i32.store8 $drop=, sO($pop7), $pop12 - i32.const $push202=, 0 - i32.const $push201=, 1103515245 - i32.mul $push13=, $2, $pop201 - i32.const $push200=, 12345 - i32.add $push199=, $pop13, $pop200 - tee_local $push198=, $2=, $pop199 - i32.const $push197=, 16 - i32.shr_u $push14=, $pop198, $pop197 - i32.store8 $drop=, sO+1($pop202), $pop14 - i32.const $push196=, 0 - i32.const $push195=, 1103515245 - i32.mul $push15=, $2, $pop195 - i32.const $push194=, 12345 - i32.add $push193=, $pop15, $pop194 - tee_local $push192=, $2=, $pop193 - i32.const $push191=, 16 - i32.shr_u $push16=, $pop192, $pop191 - i32.store8 $drop=, sO+2($pop196), $pop16 - i32.const $push190=, 0 - i32.const $push189=, 1103515245 - i32.mul $push17=, $2, $pop189 - i32.const $push188=, 12345 - i32.add $push187=, $pop17, $pop188 - tee_local $push186=, $2=, $pop187 - i32.const $push185=, 16 - i32.shr_u $push18=, $pop186, $pop185 - i32.store8 $drop=, sO+3($pop190), $pop18 - i32.const $push184=, 0 - i32.const $push183=, 1103515245 - i32.mul $push19=, $2, $pop183 - i32.const $push182=, 12345 - i32.add $push181=, $pop19, $pop182 - tee_local $push180=, $2=, $pop181 - i32.const $push179=, 16 - i32.shr_u $push20=, $pop180, $pop179 - i32.store8 $drop=, sO+4($pop184), $pop20 - i32.const $push178=, 0 - i32.const $push177=, 1103515245 - i32.mul $push21=, $2, $pop177 - i32.const $push176=, 12345 - i32.add $push175=, $pop21, $pop176 - tee_local $push174=, $2=, $pop175 - i32.const $push173=, 16 - i32.shr_u $push22=, $pop174, $pop173 - i32.store8 $drop=, sO+5($pop178), $pop22 - i32.const $push172=, 0 - i32.const $push171=, 1103515245 - i32.mul $push23=, $2, $pop171 - i32.const $push170=, 12345 - i32.add $push169=, $pop23, $pop170 - tee_local $push168=, $2=, $pop169 - i32.const $push167=, 16 - i32.shr_u $push24=, $pop168, $pop167 - i32.store8 $drop=, sO+6($pop172), $pop24 - i32.const $push166=, 0 - i32.const $push165=, 1103515245 - i32.mul $push25=, $2, $pop165 - i32.const $push164=, 12345 - i32.add $push163=, $pop25, $pop164 - tee_local $push162=, $2=, $pop163 - i32.const $push161=, 16 - i32.shr_u $push26=, $pop162, $pop161 - i32.store8 $drop=, sO+7($pop166), $pop26 - i32.const $push160=, 0 - i32.const $push159=, 1103515245 - i32.mul $push27=, $2, $pop159 - i32.const $push158=, 12345 - i32.add $push157=, $pop27, $pop158 - tee_local $push156=, $2=, $pop157 - i32.const $push155=, 16 - i32.shr_u $push28=, $pop156, $pop155 - i32.store8 $drop=, sO+8($pop160), $pop28 - i32.const $push154=, 0 - i32.const $push153=, 1103515245 - i32.mul $push29=, $2, $pop153 - i32.const $push152=, 12345 - i32.add $push151=, $pop29, $pop152 - tee_local $push150=, $2=, $pop151 - i32.const $push149=, 16 - i32.shr_u $push30=, $pop150, $pop149 - i32.store8 $drop=, sO+9($pop154), $pop30 - i32.const $push148=, 0 - i32.const $push147=, 1103515245 - i32.mul $push31=, $2, $pop147 - i32.const $push146=, 12345 - i32.add $push145=, $pop31, $pop146 - tee_local $push144=, $2=, $pop145 - i32.const $push143=, 16 - i32.shr_u $push32=, $pop144, $pop143 - i32.store8 $drop=, sO+10($pop148), $pop32 - i32.const $push142=, 0 - i32.const $push141=, 1103515245 - i32.mul $push33=, $2, $pop141 - i32.const $push140=, 12345 - i32.add $push139=, $pop33, $pop140 - tee_local $push138=, $2=, $pop139 - i32.const $push137=, 16 - i32.shr_u $push34=, $pop138, $pop137 - i32.store8 $drop=, sO+11($pop142), $pop34 - i32.const $push136=, 0 - i32.const $push135=, 1103515245 - i32.mul $push35=, $2, $pop135 - i32.const $push134=, 12345 - i32.add $push133=, $pop35, $pop134 - tee_local $push132=, $2=, $pop133 - i32.const $push131=, 16 - i32.shr_u $push36=, $pop132, $pop131 - i32.store8 $drop=, sO+12($pop136), $pop36 - i32.const $push130=, 0 - i32.const $push129=, 1103515245 - i32.mul $push37=, $2, $pop129 - i32.const $push128=, 12345 - i32.add $push127=, $pop37, $pop128 - tee_local $push126=, $2=, $pop127 - i32.const $push125=, 16 - i32.shr_u $push38=, $pop126, $pop125 - i32.store8 $drop=, sO+13($pop130), $pop38 - i32.const $push124=, 0 - i32.const $push123=, 1103515245 - i32.mul $push39=, $2, $pop123 - i32.const $push122=, 12345 - i32.add $push121=, $pop39, $pop122 - tee_local $push120=, $2=, $pop121 - i32.const $push119=, 16 - i32.shr_u $push40=, $pop120, $pop119 - i32.store8 $drop=, sO+14($pop124), $pop40 - i32.const $push118=, 0 - i32.const $push117=, 1103515245 - i32.mul $push41=, $2, $pop117 - i32.const $push116=, 12345 - i32.add $push115=, $pop41, $pop116 - tee_local $push114=, $2=, $pop115 - i32.const $push113=, 16 - i32.shr_u $push42=, $pop114, $pop113 - i32.store8 $drop=, sO+15($pop118), $pop42 - i32.const $push112=, 0 - i64.load $1=, sO+8($pop112) - i32.const $push111=, 0 - i32.const $push110=, 1103515245 - i32.mul $push43=, $2, $pop110 - i32.const $push109=, 12345 - i32.add $push108=, $pop43, $pop109 - tee_local $push107=, $2=, $pop108 - i32.const $push106=, 1103515245 - i32.mul $push44=, $pop107, $pop106 - i32.const $push105=, 12345 - i32.add $push3=, $pop44, $pop105 - i32.store $0=, myrnd.s($pop111), $pop3 + i32.const $push199=, 0 + i32.const $push198=, 1103515245 + i32.mul $push13=, $2, $pop198 + i32.const $push197=, 12345 + i32.add $push196=, $pop13, $pop197 + tee_local $push195=, $2=, $pop196 + i32.const $push194=, 16 + i32.shr_u $push14=, $pop195, $pop194 + i32.store8 $drop=, sO+1($pop199), $pop14 + i32.const $push193=, 0 + i32.const $push192=, 1103515245 + i32.mul $push15=, $2, $pop192 + i32.const $push191=, 12345 + i32.add $push190=, $pop15, $pop191 + tee_local $push189=, $2=, $pop190 + i32.const $push188=, 16 + i32.shr_u $push16=, $pop189, $pop188 + i32.store8 $drop=, sO+2($pop193), $pop16 + i32.const $push187=, 0 + i32.const $push186=, 1103515245 + i32.mul $push17=, $2, $pop186 + i32.const $push185=, 12345 + i32.add $push184=, $pop17, $pop185 + tee_local $push183=, $2=, $pop184 + i32.const $push182=, 16 + i32.shr_u $push18=, $pop183, $pop182 + i32.store8 $drop=, sO+3($pop187), $pop18 + i32.const $push181=, 0 + i32.const $push180=, 1103515245 + i32.mul $push19=, $2, $pop180 + i32.const $push179=, 12345 + i32.add $push178=, $pop19, $pop179 + tee_local $push177=, $2=, $pop178 + i32.const $push176=, 16 + i32.shr_u $push20=, $pop177, $pop176 + i32.store8 $drop=, sO+4($pop181), $pop20 + i32.const $push175=, 0 + i32.const $push174=, 1103515245 + i32.mul $push21=, $2, $pop174 + i32.const $push173=, 12345 + i32.add $push172=, $pop21, $pop173 + tee_local $push171=, $2=, $pop172 + i32.const $push170=, 16 + i32.shr_u $push22=, $pop171, $pop170 + i32.store8 $drop=, sO+5($pop175), $pop22 + i32.const $push169=, 0 + i32.const $push168=, 1103515245 + i32.mul $push23=, $2, $pop168 + i32.const $push167=, 12345 + i32.add $push166=, $pop23, $pop167 + tee_local $push165=, $2=, $pop166 + i32.const $push164=, 16 + i32.shr_u $push24=, $pop165, $pop164 + i32.store8 $drop=, sO+6($pop169), $pop24 + i32.const $push163=, 0 + i32.const $push162=, 1103515245 + i32.mul $push25=, $2, $pop162 + i32.const $push161=, 12345 + i32.add $push160=, $pop25, $pop161 + tee_local $push159=, $2=, $pop160 + i32.const $push158=, 16 + i32.shr_u $push26=, $pop159, $pop158 + i32.store8 $drop=, sO+7($pop163), $pop26 + i32.const $push157=, 0 + i32.const $push156=, 1103515245 + i32.mul $push27=, $2, $pop156 + i32.const $push155=, 12345 + i32.add $push154=, $pop27, $pop155 + tee_local $push153=, $2=, $pop154 + i32.const $push152=, 16 + i32.shr_u $push28=, $pop153, $pop152 + i32.store8 $drop=, sO+8($pop157), $pop28 + i32.const $push151=, 0 + i32.const $push150=, 1103515245 + i32.mul $push29=, $2, $pop150 + i32.const $push149=, 12345 + i32.add $push148=, $pop29, $pop149 + tee_local $push147=, $2=, $pop148 + i32.const $push146=, 16 + i32.shr_u $push30=, $pop147, $pop146 + i32.store8 $drop=, sO+9($pop151), $pop30 + i32.const $push145=, 0 + i32.const $push144=, 1103515245 + i32.mul $push31=, $2, $pop144 + i32.const $push143=, 12345 + i32.add $push142=, $pop31, $pop143 + tee_local $push141=, $2=, $pop142 + i32.const $push140=, 16 + i32.shr_u $push32=, $pop141, $pop140 + i32.store8 $drop=, sO+10($pop145), $pop32 + i32.const $push139=, 0 + i32.const $push138=, 1103515245 + i32.mul $push33=, $2, $pop138 + i32.const $push137=, 12345 + i32.add $push136=, $pop33, $pop137 + tee_local $push135=, $2=, $pop136 + i32.const $push134=, 16 + i32.shr_u $push34=, $pop135, $pop134 + i32.store8 $drop=, sO+11($pop139), $pop34 + i32.const $push133=, 0 + i32.const $push132=, 1103515245 + i32.mul $push35=, $2, $pop132 + i32.const $push131=, 12345 + i32.add $push130=, $pop35, $pop131 + tee_local $push129=, $2=, $pop130 + i32.const $push128=, 16 + i32.shr_u $push36=, $pop129, $pop128 + i32.store8 $drop=, sO+12($pop133), $pop36 + i32.const $push127=, 0 + i32.const $push126=, 1103515245 + i32.mul $push37=, $2, $pop126 + i32.const $push125=, 12345 + i32.add $push124=, $pop37, $pop125 + tee_local $push123=, $2=, $pop124 + i32.const $push122=, 16 + i32.shr_u $push38=, $pop123, $pop122 + i32.store8 $drop=, sO+13($pop127), $pop38 + i32.const $push121=, 0 + i32.const $push120=, 1103515245 + i32.mul $push39=, $2, $pop120 + i32.const $push119=, 12345 + i32.add $push118=, $pop39, $pop119 + tee_local $push117=, $2=, $pop118 + i32.const $push116=, 16 + i32.shr_u $push40=, $pop117, $pop116 + i32.store8 $drop=, sO+14($pop121), $pop40 + i32.const $push115=, 0 + i32.const $push114=, 1103515245 + i32.mul $push41=, $2, $pop114 + i32.const $push113=, 12345 + i32.add $push112=, $pop41, $pop113 + tee_local $push111=, $2=, $pop112 + i32.const $push110=, 16 + i32.shr_u $push42=, $pop111, $pop110 + i32.store8 $drop=, sO+15($pop115), $pop42 + i32.const $push109=, 0 + i64.load $1=, sO+8($pop109) + i32.const $push108=, 0 + i32.const $push107=, 1103515245 + i32.mul $push43=, $2, $pop107 + i32.const $push106=, 12345 + i32.add $push105=, $pop43, $pop106 + tee_local $push104=, $2=, $pop105 + i32.const $push103=, 1103515245 + i32.mul $push44=, $pop104, $pop103 + i32.const $push102=, 12345 + i32.add $push3=, $pop44, $pop102 + i32.store $0=, myrnd.s($pop108), $pop3 block - i32.const $push104=, 16 - i32.shr_u $push47=, $2, $pop104 - i32.const $push103=, 2047 - i32.and $push102=, $pop47, $pop103 - tee_local $push101=, $2=, $pop102 - i32.const $push100=, 0 + i32.const $push101=, 16 + i32.shr_u $push47=, $2, $pop101 + i32.const $push100=, 2047 + i32.and $push99=, $pop47, $pop100 + tee_local $push98=, $2=, $pop99 + i32.const $push97=, 0 i64.extend_u/i32 $push48=, $2 i64.const $push45=, -4096 i64.and $push46=, $1, $pop45 i64.or $push49=, $pop48, $pop46 - i64.store $push0=, sO+8($pop100), $pop49 - i32.wrap/i64 $push99=, $pop0 - tee_local $push98=, $4=, $pop99 - i32.const $push97=, 2047 - i32.and $push53=, $pop98, $pop97 - i32.ne $push54=, $pop101, $pop53 + i64.store $push0=, sO+8($pop97), $pop49 + i32.wrap/i64 $push96=, $pop0 + tee_local $push95=, $4=, $pop96 + i32.const $push94=, 2047 + i32.and $push53=, $pop95, $pop94 + i32.ne $push54=, $pop98, $pop53 br_if 0, $pop54 # 0: down to label4 # BB#1: # %entry - i32.const $push210=, 16 - i32.shr_u $push50=, $0, $pop210 - i32.const $push209=, 2047 - i32.and $push208=, $pop50, $pop209 - tee_local $push207=, $3=, $pop208 - i32.add $push5=, $pop207, $2 + i32.const $push207=, 16 + i32.shr_u $push50=, $0, $pop207 + i32.const $push206=, 2047 + i32.and $push205=, $pop50, $pop206 + tee_local $push204=, $3=, $pop205 + i32.add $push5=, $pop204, $2 i32.add $push51=, $4, $3 i32.const $push52=, 4095 i32.and $push6=, $pop51, $pop52 @@ -3616,90 +3570,75 @@ testO: # @testO i32.const $push56=, 1103515245 i32.mul $push57=, $0, $pop56 i32.const $push58=, 12345 - i32.add $push222=, $pop57, $pop58 - tee_local $push221=, $2=, $pop222 - i32.const $push220=, 1103515245 - i32.mul $push59=, $pop221, $pop220 - i32.const $push219=, 12345 - i32.add $push4=, $pop59, $pop219 + i32.add $push219=, $pop57, $pop58 + tee_local $push218=, $2=, $pop219 + i32.const $push217=, 1103515245 + i32.mul $push59=, $pop218, $pop217 + i32.const $push216=, 12345 + i32.add $push4=, $pop59, $pop216 i32.store $0=, myrnd.s($pop60), $pop4 - i32.const $push218=, 16 - i32.shr_u $push63=, $2, $pop218 - i32.const $push217=, 2047 - i32.and $push216=, $pop63, $pop217 - tee_local $push215=, $2=, $pop216 - i32.const $push214=, 0 + i32.const $push215=, 16 + i32.shr_u $push63=, $2, $pop215 + i32.const $push214=, 2047 + i32.and $push213=, $pop63, $pop214 + tee_local $push212=, $2=, $pop213 + i32.const $push211=, 0 i64.extend_u/i32 $push64=, $2 i64.const $push61=, -4096 i64.and $push62=, $1, $pop61 i64.or $push65=, $pop64, $pop62 - i64.store $push1=, sO+8($pop214), $pop65 - i32.wrap/i64 $push213=, $pop1 - tee_local $push212=, $4=, $pop213 - i32.const $push211=, 2047 - i32.and $push66=, $pop212, $pop211 - i32.ne $push67=, $pop215, $pop66 + i64.store $push1=, sO+8($pop211), $pop65 + i32.wrap/i64 $push210=, $pop1 + tee_local $push209=, $4=, $pop210 + i32.const $push208=, 2047 + i32.and $push66=, $pop209, $pop208 + i32.ne $push67=, $pop212, $pop66 br_if 0, $pop67 # 0: down to label4 # BB#3: # %lor.lhs.false87 - i32.const $push228=, 16 - i32.shr_u $push68=, $0, $pop228 - i32.const $push227=, 2047 - i32.and $push226=, $pop68, $pop227 - tee_local $push225=, $3=, $pop226 - i32.add $push69=, $pop225, $2 + i32.const $push224=, 16 + i32.shr_u $push68=, $0, $pop224 + i32.const $push223=, 2047 + i32.and $push222=, $pop68, $pop223 + tee_local $push221=, $3=, $pop222 + i32.add $push69=, $pop221, $2 i32.const $push70=, 15 i32.rem_u $push71=, $pop69, $pop70 i32.add $push72=, $4, $3 - i32.const $push224=, 4095 - i32.and $push73=, $pop72, $pop224 - i32.const $push223=, 15 - i32.rem_u $push74=, $pop73, $pop223 - i32.ne $push75=, $pop71, $pop74 - br_if 0, $pop75 # 0: down to label4 -# BB#4: # %lor.lhs.false124 - i32.const $push81=, 0 - i32.const $push76=, 1103515245 - i32.mul $push77=, $0, $pop76 - i32.const $push78=, 12345 - i32.add $push244=, $pop77, $pop78 - tee_local $push243=, $2=, $pop244 + i32.const $push73=, 4095 + i32.and $push74=, $pop72, $pop73 + i32.const $push220=, 15 + i32.rem_u $push75=, $pop74, $pop220 + i32.ne $push76=, $pop71, $pop75 + br_if 0, $pop76 # 0: down to label4 +# BB#4: # %if.end140 + i32.const $push82=, 0 + i32.const $push231=, 0 + i32.const $push77=, 1103515245 + i32.mul $push78=, $0, $pop77 + i32.const $push79=, 12345 + i32.add $push230=, $pop78, $pop79 + tee_local $push229=, $2=, $pop230 + i32.const $push228=, 1103515245 + i32.mul $push80=, $pop229, $pop228 + i32.const $push227=, 12345 + i32.add $push81=, $pop80, $pop227 + i32.store $push2=, myrnd.s($pop231), $pop81 i32.const $push83=, 16 - i32.shr_u $push84=, $pop243, $pop83 + i32.shr_u $push87=, $pop2, $pop83 i32.const $push85=, 2047 - i32.and $push242=, $pop84, $pop85 - tee_local $push241=, $0=, $pop242 - i64.extend_u/i32 $push86=, $pop241 - i64.const $push82=, -4096 - i64.and $push240=, $1, $pop82 - tee_local $push239=, $1=, $pop240 - i64.or $push87=, $pop86, $pop239 - i32.wrap/i64 $push88=, $pop87 - i32.const $push238=, 0 - i32.const $push237=, 1103515245 - i32.mul $push79=, $2, $pop237 - i32.const $push236=, 12345 - i32.add $push80=, $pop79, $pop236 - i32.store $push2=, myrnd.s($pop238), $pop80 - i32.const $push235=, 16 - i32.shr_u $push89=, $pop2, $pop235 - i32.const $push234=, 2047 - i32.and $push233=, $pop89, $pop234 - tee_local $push232=, $2=, $pop233 - i32.add $push231=, $pop88, $pop232 - tee_local $push230=, $4=, $pop231 - i64.extend_u/i32 $push90=, $pop230 - i64.const $push91=, 4095 - i64.and $push92=, $pop90, $pop91 - i64.or $push93=, $pop92, $1 - i64.store $drop=, sO+8($pop81), $pop93 - i32.add $push94=, $2, $0 - i32.const $push229=, 4095 - i32.and $push95=, $4, $pop229 - i32.ne $push96=, $pop94, $pop95 - br_if 0, $pop96 # 0: down to label4 -# BB#5: # %if.end140 + i32.and $push88=, $pop87, $pop85 + i32.const $push226=, 16 + i32.shr_u $push84=, $2, $pop226 + i32.const $push225=, 2047 + i32.and $push86=, $pop84, $pop225 + i32.add $push89=, $pop88, $pop86 + i64.extend_u/i32 $push90=, $pop89 + i64.const $push91=, -4096 + i64.and $push92=, $1, $pop91 + i64.or $push93=, $pop90, $pop92 + i64.store $drop=, sO+8($pop82), $pop93 return -.LBB90_6: # %if.then139 +.LBB90_5: # %if.then93 end_block # label4: call abort@FUNCTION unreachable @@ -3791,22 +3730,21 @@ fn3P: # @fn3P .local i64 # BB#0: # %entry i32.const $push0=, 0 - i32.const $push14=, 0 - i64.load $push13=, sP($pop14) - tee_local $push12=, $1=, $pop13 - i32.wrap/i64 $push3=, $pop12 - i32.add $push11=, $pop3, $0 - tee_local $push10=, $0=, $pop11 - i64.extend_u/i32 $push4=, $pop10 - i64.const $push5=, 4095 - i64.and $push6=, $pop4, $pop5 + i32.const $push12=, 0 + i64.load $push11=, sP($pop12) + tee_local $push10=, $1=, $pop11 + i32.wrap/i64 $push3=, $pop10 + i32.add $push4=, $pop3, $0 + i32.const $push5=, 4095 + i32.and $push9=, $pop4, $pop5 + tee_local $push8=, $0=, $pop9 + i64.extend_u/i32 $push6=, $pop8 i64.const $push1=, -4096 i64.and $push2=, $1, $pop1 i64.or $push7=, $pop6, $pop2 i64.store $drop=, sP($pop0), $pop7 - i32.const $push8=, 4095 - i32.and $push9=, $0, $pop8 - # fallthrough-return: $pop9 + copy_local $push13=, $0 + # fallthrough-return: $pop13 .endfunc .Lfunc_end95: .size fn3P, .Lfunc_end95-fn3P @@ -3819,189 +3757,189 @@ testP: # @testP .local i32, i64, i32, i32, i32 # BB#0: # %entry i32.const $push7=, 0 - i32.const $push206=, 0 - i32.load $push8=, myrnd.s($pop206) + i32.const $push203=, 0 + i32.load $push8=, myrnd.s($pop203) i32.const $push9=, 1103515245 i32.mul $push10=, $pop8, $pop9 i32.const $push11=, 12345 - i32.add $push205=, $pop10, $pop11 - tee_local $push204=, $2=, $pop205 - i32.const $push203=, 16 - i32.shr_u $push12=, $pop204, $pop203 + i32.add $push202=, $pop10, $pop11 + tee_local $push201=, $2=, $pop202 + i32.const $push200=, 16 + i32.shr_u $push12=, $pop201, $pop200 i32.store8 $drop=, sP($pop7), $pop12 - i32.const $push202=, 0 - i32.const $push201=, 1103515245 - i32.mul $push13=, $2, $pop201 - i32.const $push200=, 12345 - i32.add $push199=, $pop13, $pop200 - tee_local $push198=, $2=, $pop199 - i32.const $push197=, 16 - i32.shr_u $push14=, $pop198, $pop197 - i32.store8 $drop=, sP+1($pop202), $pop14 - i32.const $push196=, 0 - i32.const $push195=, 1103515245 - i32.mul $push15=, $2, $pop195 - i32.const $push194=, 12345 - i32.add $push193=, $pop15, $pop194 - tee_local $push192=, $2=, $pop193 - i32.const $push191=, 16 - i32.shr_u $push16=, $pop192, $pop191 - i32.store8 $drop=, sP+2($pop196), $pop16 - i32.const $push190=, 0 - i32.const $push189=, 1103515245 - i32.mul $push17=, $2, $pop189 - i32.const $push188=, 12345 - i32.add $push187=, $pop17, $pop188 - tee_local $push186=, $2=, $pop187 - i32.const $push185=, 16 - i32.shr_u $push18=, $pop186, $pop185 - i32.store8 $drop=, sP+3($pop190), $pop18 - i32.const $push184=, 0 - i32.const $push183=, 1103515245 - i32.mul $push19=, $2, $pop183 - i32.const $push182=, 12345 - i32.add $push181=, $pop19, $pop182 - tee_local $push180=, $2=, $pop181 - i32.const $push179=, 16 - i32.shr_u $push20=, $pop180, $pop179 - i32.store8 $drop=, sP+4($pop184), $pop20 - i32.const $push178=, 0 - i32.const $push177=, 1103515245 - i32.mul $push21=, $2, $pop177 - i32.const $push176=, 12345 - i32.add $push175=, $pop21, $pop176 - tee_local $push174=, $2=, $pop175 - i32.const $push173=, 16 - i32.shr_u $push22=, $pop174, $pop173 - i32.store8 $drop=, sP+5($pop178), $pop22 - i32.const $push172=, 0 - i32.const $push171=, 1103515245 - i32.mul $push23=, $2, $pop171 - i32.const $push170=, 12345 - i32.add $push169=, $pop23, $pop170 - tee_local $push168=, $2=, $pop169 - i32.const $push167=, 16 - i32.shr_u $push24=, $pop168, $pop167 - i32.store8 $drop=, sP+6($pop172), $pop24 - i32.const $push166=, 0 - i32.const $push165=, 1103515245 - i32.mul $push25=, $2, $pop165 - i32.const $push164=, 12345 - i32.add $push163=, $pop25, $pop164 - tee_local $push162=, $2=, $pop163 - i32.const $push161=, 16 - i32.shr_u $push26=, $pop162, $pop161 - i32.store8 $drop=, sP+7($pop166), $pop26 - i32.const $push160=, 0 - i32.const $push159=, 1103515245 - i32.mul $push27=, $2, $pop159 - i32.const $push158=, 12345 - i32.add $push157=, $pop27, $pop158 - tee_local $push156=, $2=, $pop157 - i32.const $push155=, 16 - i32.shr_u $push28=, $pop156, $pop155 - i32.store8 $drop=, sP+8($pop160), $pop28 - i32.const $push154=, 0 - i32.const $push153=, 1103515245 - i32.mul $push29=, $2, $pop153 - i32.const $push152=, 12345 - i32.add $push151=, $pop29, $pop152 - tee_local $push150=, $2=, $pop151 - i32.const $push149=, 16 - i32.shr_u $push30=, $pop150, $pop149 - i32.store8 $drop=, sP+9($pop154), $pop30 - i32.const $push148=, 0 - i32.const $push147=, 1103515245 - i32.mul $push31=, $2, $pop147 - i32.const $push146=, 12345 - i32.add $push145=, $pop31, $pop146 - tee_local $push144=, $2=, $pop145 - i32.const $push143=, 16 - i32.shr_u $push32=, $pop144, $pop143 - i32.store8 $drop=, sP+10($pop148), $pop32 - i32.const $push142=, 0 - i32.const $push141=, 1103515245 - i32.mul $push33=, $2, $pop141 - i32.const $push140=, 12345 - i32.add $push139=, $pop33, $pop140 - tee_local $push138=, $2=, $pop139 - i32.const $push137=, 16 - i32.shr_u $push34=, $pop138, $pop137 - i32.store8 $drop=, sP+11($pop142), $pop34 - i32.const $push136=, 0 - i32.const $push135=, 1103515245 - i32.mul $push35=, $2, $pop135 - i32.const $push134=, 12345 - i32.add $push133=, $pop35, $pop134 - tee_local $push132=, $2=, $pop133 - i32.const $push131=, 16 - i32.shr_u $push36=, $pop132, $pop131 - i32.store8 $drop=, sP+12($pop136), $pop36 - i32.const $push130=, 0 - i32.const $push129=, 1103515245 - i32.mul $push37=, $2, $pop129 - i32.const $push128=, 12345 - i32.add $push127=, $pop37, $pop128 - tee_local $push126=, $2=, $pop127 - i32.const $push125=, 16 - i32.shr_u $push38=, $pop126, $pop125 - i32.store8 $drop=, sP+13($pop130), $pop38 - i32.const $push124=, 0 - i32.const $push123=, 1103515245 - i32.mul $push39=, $2, $pop123 - i32.const $push122=, 12345 - i32.add $push121=, $pop39, $pop122 - tee_local $push120=, $2=, $pop121 - i32.const $push119=, 16 - i32.shr_u $push40=, $pop120, $pop119 - i32.store8 $drop=, sP+14($pop124), $pop40 - i32.const $push118=, 0 - i32.const $push117=, 1103515245 - i32.mul $push41=, $2, $pop117 - i32.const $push116=, 12345 - i32.add $push115=, $pop41, $pop116 - tee_local $push114=, $2=, $pop115 - i32.const $push113=, 16 - i32.shr_u $push42=, $pop114, $pop113 - i32.store8 $drop=, sP+15($pop118), $pop42 - i32.const $push112=, 0 - i64.load $1=, sP($pop112) - i32.const $push111=, 0 - i32.const $push110=, 1103515245 - i32.mul $push43=, $2, $pop110 - i32.const $push109=, 12345 - i32.add $push108=, $pop43, $pop109 - tee_local $push107=, $2=, $pop108 - i32.const $push106=, 1103515245 - i32.mul $push44=, $pop107, $pop106 - i32.const $push105=, 12345 - i32.add $push3=, $pop44, $pop105 - i32.store $0=, myrnd.s($pop111), $pop3 + i32.const $push199=, 0 + i32.const $push198=, 1103515245 + i32.mul $push13=, $2, $pop198 + i32.const $push197=, 12345 + i32.add $push196=, $pop13, $pop197 + tee_local $push195=, $2=, $pop196 + i32.const $push194=, 16 + i32.shr_u $push14=, $pop195, $pop194 + i32.store8 $drop=, sP+1($pop199), $pop14 + i32.const $push193=, 0 + i32.const $push192=, 1103515245 + i32.mul $push15=, $2, $pop192 + i32.const $push191=, 12345 + i32.add $push190=, $pop15, $pop191 + tee_local $push189=, $2=, $pop190 + i32.const $push188=, 16 + i32.shr_u $push16=, $pop189, $pop188 + i32.store8 $drop=, sP+2($pop193), $pop16 + i32.const $push187=, 0 + i32.const $push186=, 1103515245 + i32.mul $push17=, $2, $pop186 + i32.const $push185=, 12345 + i32.add $push184=, $pop17, $pop185 + tee_local $push183=, $2=, $pop184 + i32.const $push182=, 16 + i32.shr_u $push18=, $pop183, $pop182 + i32.store8 $drop=, sP+3($pop187), $pop18 + i32.const $push181=, 0 + i32.const $push180=, 1103515245 + i32.mul $push19=, $2, $pop180 + i32.const $push179=, 12345 + i32.add $push178=, $pop19, $pop179 + tee_local $push177=, $2=, $pop178 + i32.const $push176=, 16 + i32.shr_u $push20=, $pop177, $pop176 + i32.store8 $drop=, sP+4($pop181), $pop20 + i32.const $push175=, 0 + i32.const $push174=, 1103515245 + i32.mul $push21=, $2, $pop174 + i32.const $push173=, 12345 + i32.add $push172=, $pop21, $pop173 + tee_local $push171=, $2=, $pop172 + i32.const $push170=, 16 + i32.shr_u $push22=, $pop171, $pop170 + i32.store8 $drop=, sP+5($pop175), $pop22 + i32.const $push169=, 0 + i32.const $push168=, 1103515245 + i32.mul $push23=, $2, $pop168 + i32.const $push167=, 12345 + i32.add $push166=, $pop23, $pop167 + tee_local $push165=, $2=, $pop166 + i32.const $push164=, 16 + i32.shr_u $push24=, $pop165, $pop164 + i32.store8 $drop=, sP+6($pop169), $pop24 + i32.const $push163=, 0 + i32.const $push162=, 1103515245 + i32.mul $push25=, $2, $pop162 + i32.const $push161=, 12345 + i32.add $push160=, $pop25, $pop161 + tee_local $push159=, $2=, $pop160 + i32.const $push158=, 16 + i32.shr_u $push26=, $pop159, $pop158 + i32.store8 $drop=, sP+7($pop163), $pop26 + i32.const $push157=, 0 + i32.const $push156=, 1103515245 + i32.mul $push27=, $2, $pop156 + i32.const $push155=, 12345 + i32.add $push154=, $pop27, $pop155 + tee_local $push153=, $2=, $pop154 + i32.const $push152=, 16 + i32.shr_u $push28=, $pop153, $pop152 + i32.store8 $drop=, sP+8($pop157), $pop28 + i32.const $push151=, 0 + i32.const $push150=, 1103515245 + i32.mul $push29=, $2, $pop150 + i32.const $push149=, 12345 + i32.add $push148=, $pop29, $pop149 + tee_local $push147=, $2=, $pop148 + i32.const $push146=, 16 + i32.shr_u $push30=, $pop147, $pop146 + i32.store8 $drop=, sP+9($pop151), $pop30 + i32.const $push145=, 0 + i32.const $push144=, 1103515245 + i32.mul $push31=, $2, $pop144 + i32.const $push143=, 12345 + i32.add $push142=, $pop31, $pop143 + tee_local $push141=, $2=, $pop142 + i32.const $push140=, 16 + i32.shr_u $push32=, $pop141, $pop140 + i32.store8 $drop=, sP+10($pop145), $pop32 + i32.const $push139=, 0 + i32.const $push138=, 1103515245 + i32.mul $push33=, $2, $pop138 + i32.const $push137=, 12345 + i32.add $push136=, $pop33, $pop137 + tee_local $push135=, $2=, $pop136 + i32.const $push134=, 16 + i32.shr_u $push34=, $pop135, $pop134 + i32.store8 $drop=, sP+11($pop139), $pop34 + i32.const $push133=, 0 + i32.const $push132=, 1103515245 + i32.mul $push35=, $2, $pop132 + i32.const $push131=, 12345 + i32.add $push130=, $pop35, $pop131 + tee_local $push129=, $2=, $pop130 + i32.const $push128=, 16 + i32.shr_u $push36=, $pop129, $pop128 + i32.store8 $drop=, sP+12($pop133), $pop36 + i32.const $push127=, 0 + i32.const $push126=, 1103515245 + i32.mul $push37=, $2, $pop126 + i32.const $push125=, 12345 + i32.add $push124=, $pop37, $pop125 + tee_local $push123=, $2=, $pop124 + i32.const $push122=, 16 + i32.shr_u $push38=, $pop123, $pop122 + i32.store8 $drop=, sP+13($pop127), $pop38 + i32.const $push121=, 0 + i32.const $push120=, 1103515245 + i32.mul $push39=, $2, $pop120 + i32.const $push119=, 12345 + i32.add $push118=, $pop39, $pop119 + tee_local $push117=, $2=, $pop118 + i32.const $push116=, 16 + i32.shr_u $push40=, $pop117, $pop116 + i32.store8 $drop=, sP+14($pop121), $pop40 + i32.const $push115=, 0 + i32.const $push114=, 1103515245 + i32.mul $push41=, $2, $pop114 + i32.const $push113=, 12345 + i32.add $push112=, $pop41, $pop113 + tee_local $push111=, $2=, $pop112 + i32.const $push110=, 16 + i32.shr_u $push42=, $pop111, $pop110 + i32.store8 $drop=, sP+15($pop115), $pop42 + i32.const $push109=, 0 + i64.load $1=, sP($pop109) + i32.const $push108=, 0 + i32.const $push107=, 1103515245 + i32.mul $push43=, $2, $pop107 + i32.const $push106=, 12345 + i32.add $push105=, $pop43, $pop106 + tee_local $push104=, $2=, $pop105 + i32.const $push103=, 1103515245 + i32.mul $push44=, $pop104, $pop103 + i32.const $push102=, 12345 + i32.add $push3=, $pop44, $pop102 + i32.store $0=, myrnd.s($pop108), $pop3 block - i32.const $push104=, 16 - i32.shr_u $push47=, $2, $pop104 - i32.const $push103=, 2047 - i32.and $push102=, $pop47, $pop103 - tee_local $push101=, $2=, $pop102 - i32.const $push100=, 0 + i32.const $push101=, 16 + i32.shr_u $push47=, $2, $pop101 + i32.const $push100=, 2047 + i32.and $push99=, $pop47, $pop100 + tee_local $push98=, $2=, $pop99 + i32.const $push97=, 0 i64.extend_u/i32 $push48=, $2 i64.const $push45=, -4096 i64.and $push46=, $1, $pop45 i64.or $push49=, $pop48, $pop46 - i64.store $push0=, sP($pop100), $pop49 - i32.wrap/i64 $push99=, $pop0 - tee_local $push98=, $4=, $pop99 - i32.const $push97=, 2047 - i32.and $push53=, $pop98, $pop97 - i32.ne $push54=, $pop101, $pop53 + i64.store $push0=, sP($pop97), $pop49 + i32.wrap/i64 $push96=, $pop0 + tee_local $push95=, $4=, $pop96 + i32.const $push94=, 2047 + i32.and $push53=, $pop95, $pop94 + i32.ne $push54=, $pop98, $pop53 br_if 0, $pop54 # 0: down to label5 # BB#1: # %entry - i32.const $push210=, 16 - i32.shr_u $push50=, $0, $pop210 - i32.const $push209=, 2047 - i32.and $push208=, $pop50, $pop209 - tee_local $push207=, $3=, $pop208 - i32.add $push5=, $pop207, $2 + i32.const $push207=, 16 + i32.shr_u $push50=, $0, $pop207 + i32.const $push206=, 2047 + i32.and $push205=, $pop50, $pop206 + tee_local $push204=, $3=, $pop205 + i32.add $push5=, $pop204, $2 i32.add $push51=, $4, $3 i32.const $push52=, 4095 i32.and $push6=, $pop51, $pop52 @@ -4012,90 +3950,75 @@ testP: # @testP i32.const $push56=, 1103515245 i32.mul $push57=, $0, $pop56 i32.const $push58=, 12345 - i32.add $push222=, $pop57, $pop58 - tee_local $push221=, $2=, $pop222 - i32.const $push220=, 1103515245 - i32.mul $push59=, $pop221, $pop220 - i32.const $push219=, 12345 - i32.add $push4=, $pop59, $pop219 + i32.add $push219=, $pop57, $pop58 + tee_local $push218=, $2=, $pop219 + i32.const $push217=, 1103515245 + i32.mul $push59=, $pop218, $pop217 + i32.const $push216=, 12345 + i32.add $push4=, $pop59, $pop216 i32.store $0=, myrnd.s($pop60), $pop4 - i32.const $push218=, 16 - i32.shr_u $push63=, $2, $pop218 - i32.const $push217=, 2047 - i32.and $push216=, $pop63, $pop217 - tee_local $push215=, $2=, $pop216 - i32.const $push214=, 0 + i32.const $push215=, 16 + i32.shr_u $push63=, $2, $pop215 + i32.const $push214=, 2047 + i32.and $push213=, $pop63, $pop214 + tee_local $push212=, $2=, $pop213 + i32.const $push211=, 0 i64.extend_u/i32 $push64=, $2 i64.const $push61=, -4096 i64.and $push62=, $1, $pop61 i64.or $push65=, $pop64, $pop62 - i64.store $push1=, sP($pop214), $pop65 - i32.wrap/i64 $push213=, $pop1 - tee_local $push212=, $4=, $pop213 - i32.const $push211=, 2047 - i32.and $push66=, $pop212, $pop211 - i32.ne $push67=, $pop215, $pop66 + i64.store $push1=, sP($pop211), $pop65 + i32.wrap/i64 $push210=, $pop1 + tee_local $push209=, $4=, $pop210 + i32.const $push208=, 2047 + i32.and $push66=, $pop209, $pop208 + i32.ne $push67=, $pop212, $pop66 br_if 0, $pop67 # 0: down to label5 # BB#3: # %lor.lhs.false83 - i32.const $push228=, 16 - i32.shr_u $push68=, $0, $pop228 - i32.const $push227=, 2047 - i32.and $push226=, $pop68, $pop227 - tee_local $push225=, $3=, $pop226 - i32.add $push69=, $pop225, $2 + i32.const $push224=, 16 + i32.shr_u $push68=, $0, $pop224 + i32.const $push223=, 2047 + i32.and $push222=, $pop68, $pop223 + tee_local $push221=, $3=, $pop222 + i32.add $push69=, $pop221, $2 i32.const $push70=, 15 i32.rem_u $push71=, $pop69, $pop70 i32.add $push72=, $4, $3 - i32.const $push224=, 4095 - i32.and $push73=, $pop72, $pop224 - i32.const $push223=, 15 - i32.rem_u $push74=, $pop73, $pop223 - i32.ne $push75=, $pop71, $pop74 - br_if 0, $pop75 # 0: down to label5 -# BB#4: # %lor.lhs.false118 - i32.const $push81=, 0 - i32.const $push76=, 1103515245 - i32.mul $push77=, $0, $pop76 - i32.const $push78=, 12345 - i32.add $push244=, $pop77, $pop78 - tee_local $push243=, $2=, $pop244 + i32.const $push73=, 4095 + i32.and $push74=, $pop72, $pop73 + i32.const $push220=, 15 + i32.rem_u $push75=, $pop74, $pop220 + i32.ne $push76=, $pop71, $pop75 + br_if 0, $pop76 # 0: down to label5 +# BB#4: # %if.end134 + i32.const $push82=, 0 + i32.const $push231=, 0 + i32.const $push77=, 1103515245 + i32.mul $push78=, $0, $pop77 + i32.const $push79=, 12345 + i32.add $push230=, $pop78, $pop79 + tee_local $push229=, $2=, $pop230 + i32.const $push228=, 1103515245 + i32.mul $push80=, $pop229, $pop228 + i32.const $push227=, 12345 + i32.add $push81=, $pop80, $pop227 + i32.store $push2=, myrnd.s($pop231), $pop81 i32.const $push83=, 16 - i32.shr_u $push84=, $pop243, $pop83 + i32.shr_u $push87=, $pop2, $pop83 i32.const $push85=, 2047 - i32.and $push242=, $pop84, $pop85 - tee_local $push241=, $0=, $pop242 - i64.extend_u/i32 $push86=, $pop241 - i64.const $push82=, -4096 - i64.and $push240=, $1, $pop82 - tee_local $push239=, $1=, $pop240 - i64.or $push87=, $pop86, $pop239 - i32.wrap/i64 $push88=, $pop87 - i32.const $push238=, 0 - i32.const $push237=, 1103515245 - i32.mul $push79=, $2, $pop237 - i32.const $push236=, 12345 - i32.add $push80=, $pop79, $pop236 - i32.store $push2=, myrnd.s($pop238), $pop80 - i32.const $push235=, 16 - i32.shr_u $push89=, $pop2, $pop235 - i32.const $push234=, 2047 - i32.and $push233=, $pop89, $pop234 - tee_local $push232=, $2=, $pop233 - i32.add $push231=, $pop88, $pop232 - tee_local $push230=, $4=, $pop231 - i64.extend_u/i32 $push90=, $pop230 - i64.const $push91=, 4095 - i64.and $push92=, $pop90, $pop91 - i64.or $push93=, $pop92, $1 - i64.store $drop=, sP($pop81), $pop93 - i32.add $push94=, $2, $0 - i32.const $push229=, 4095 - i32.and $push95=, $4, $pop229 - i32.ne $push96=, $pop94, $pop95 - br_if 0, $pop96 # 0: down to label5 -# BB#5: # %if.end134 + i32.and $push88=, $pop87, $pop85 + i32.const $push226=, 16 + i32.shr_u $push84=, $2, $pop226 + i32.const $push225=, 2047 + i32.and $push86=, $pop84, $pop225 + i32.add $push89=, $pop88, $pop86 + i64.extend_u/i32 $push90=, $pop89 + i64.const $push91=, -4096 + i64.and $push92=, $1, $pop91 + i64.or $push93=, $pop90, $pop92 + i64.store $drop=, sP($pop82), $pop93 return -.LBB96_6: # %if.then133 +.LBB96_5: # %if.then89 end_block # label5: call abort@FUNCTION unreachable diff --git a/test/torture-s/20041112-1.c.s b/test/torture-s/20041112-1.c.s index 0a13ef7f2..874bd2820 100644 --- a/test/torture-s/20041112-1.c.s +++ b/test/torture-s/20041112-1.c.s @@ -6,29 +6,30 @@ .type bar,@function bar: # @bar .result i32 - .local i32 + .local i32, i32 # BB#0: # %entry - i32.const $push3=, 0 - i32.const $push18=, 0 - i32.load $push17=, global($pop18) - tee_local $push16=, $0=, $pop17 - i32.const $push5=, 1 - i32.add $push6=, $pop16, $pop5 - i32.const $push7=, 2 - i32.select $push8=, $pop6, $pop7, $0 - i32.const $push15=, 1 - i32.const $push14=, 0 - i32.ne $push4=, $0, $pop14 - i32.const $push1=, global - i32.const $push0=, -1 - i32.eq $push2=, $pop1, $pop0 - i32.or $push13=, $pop4, $pop2 - tee_local $push12=, $0=, $pop13 - i32.select $push9=, $pop8, $pop15, $pop12 - i32.store $drop=, global($pop3), $pop9 - i32.const $push11=, 1 - i32.xor $push10=, $0, $pop11 - # fallthrough-return: $pop10 + i32.const $push0=, 0 + i32.const $push19=, 0 + i32.load $push18=, global($pop19) + tee_local $push17=, $0=, $pop18 + i32.const $push1=, 1 + i32.add $push2=, $pop17, $pop1 + i32.const $push3=, 2 + i32.select $push16=, $pop2, $pop3, $0 + tee_local $push15=, $1=, $pop16 + i32.const $push14=, 1 + i32.const $push5=, global + i32.const $push4=, -1 + i32.eq $push6=, $pop5, $pop4 + i32.select $push7=, $1, $pop14, $pop6 + i32.select $push8=, $pop15, $pop7, $0 + i32.store $drop=, global($pop0), $pop8 + i32.eqz $push10=, $0 + i32.const $push13=, global + i32.const $push12=, -1 + i32.ne $push9=, $pop13, $pop12 + i32.and $push11=, $pop10, $pop9 + # fallthrough-return: $pop11 .endfunc .Lfunc_end0: .size bar, .Lfunc_end0-bar diff --git a/test/torture-s/20041210-1.c.s b/test/torture-s/20041210-1.c.s index 6513d2675..eeaec61b7 100644 --- a/test/torture-s/20041210-1.c.s +++ b/test/torture-s/20041210-1.c.s @@ -32,7 +32,7 @@ main: # @main # BB#2: # %if.then2 call abort@FUNCTION unreachable -.LBB0_3: # %if.end +.LBB0_3: # %if.end3 end_block # label0: i32.const $push17=, 0 call exit@FUNCTION, $pop17 diff --git a/test/torture-s/20071213-1.c.s b/test/torture-s/20071213-1.c.s index 43711aa24..56f4603a1 100644 --- a/test/torture-s/20071213-1.c.s +++ b/test/torture-s/20071213-1.c.s @@ -6,9 +6,7 @@ .type h,@function h: # @h .param i32, i32 - .local i32 # BB#0: # %entry - i32.load $2=, 0($1) block block block @@ -21,28 +19,30 @@ h: # @h br_if 2, $pop3 # 2: down to label0 # BB#2: # %sw.bb block - i32.const $push9=, 3 - i32.ne $push10=, $2, $pop9 - br_if 0, $pop10 # 0: down to label3 + i32.load $push10=, 0($1) + i32.const $push11=, 3 + i32.ne $push12=, $pop10, $pop11 + br_if 0, $pop12 # 0: down to label3 # BB#3: # %lor.lhs.false - i32.load $push11=, 4($1) - i32.const $push12=, 4 - i32.eq $push13=, $pop11, $pop12 - br_if 2, $pop13 # 2: down to label1 + i32.load $push13=, 4($1) + i32.const $push14=, 4 + i32.eq $push15=, $pop13, $pop14 + br_if 2, $pop15 # 2: down to label1 .LBB0_4: # %if.then end_block # label3: call abort@FUNCTION unreachable .LBB0_5: # %sw.bb4 end_block # label2: - i32.const $push4=, 9 - i32.ne $push5=, $2, $pop4 - br_if 1, $pop5 # 1: down to label0 + i32.load $push4=, 0($1) + i32.const $push5=, 9 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label0 # BB#6: # %lor.lhs.false8 - i32.load $push6=, 4($1) - i32.const $push7=, 10 - i32.ne $push8=, $pop6, $pop7 - br_if 1, $pop8 # 1: down to label0 + i32.load $push7=, 4($1) + i32.const $push8=, 10 + i32.ne $push9=, $pop7, $pop8 + br_if 1, $pop9 # 1: down to label0 .LBB0_7: # %return end_block # label1: return @@ -60,18 +60,16 @@ h: # @h .type f1,@function f1: # @f1 .param i32, i64, i32 - .local i32, i32 + .local i32 # BB#0: # %entry - i32.const $push19=, 0 - i32.const $push16=, 0 - i32.load $push17=, __stack_pointer($pop16) - i32.const $push18=, 16 - i32.sub $push23=, $pop17, $pop18 - i32.store $push27=, __stack_pointer($pop19), $pop23 - tee_local $push26=, $4=, $pop27 - i32.store $push25=, 12($pop26), $2 - tee_local $push24=, $3=, $pop25 - i32.load $2=, 0($pop24) + i32.const $push21=, 0 + i32.const $push18=, 0 + i32.load $push19=, __stack_pointer($pop18) + i32.const $push20=, 16 + i32.sub $push25=, $pop19, $pop20 + i32.store $push27=, __stack_pointer($pop21), $pop25 + tee_local $push26=, $3=, $pop27 + i32.store $drop=, 12($pop26), $2 block block block @@ -79,23 +77,24 @@ f1: # @f1 i32.ne $push1=, $0, $pop0 br_if 0, $pop1 # 0: down to label6 # BB#1: # %sw.bb.i - i32.const $push9=, 3 - i32.ne $push10=, $2, $pop9 - br_if 1, $pop10 # 1: down to label5 + i32.load $push10=, 0($2) + i32.const $push11=, 3 + i32.ne $push12=, $pop10, $pop11 + br_if 1, $pop12 # 1: down to label5 # BB#2: # %lor.lhs.false.i - i32.load $push11=, 4($3) - i32.const $push12=, 4 - i32.ne $push13=, $pop11, $pop12 - br_if 1, $pop13 # 1: down to label5 -# BB#3: # %h.exit - i64.const $push14=, 2 - i64.ne $push15=, $1, $pop14 + i32.load $push13=, 4($2) + i32.const $push14=, 4 + i32.ne $push15=, $pop13, $pop14 br_if 1, $pop15 # 1: down to label5 +# BB#3: # %h.exit + i64.const $push16=, 2 + i64.ne $push17=, $1, $pop16 + br_if 1, $pop17 # 1: down to label5 # BB#4: # %if.end - i32.const $push22=, 0 - i32.const $push20=, 16 - i32.add $push21=, $4, $pop20 - i32.store $drop=, __stack_pointer($pop22), $pop21 + i32.const $push24=, 0 + i32.const $push22=, 16 + i32.add $push23=, $3, $pop22 + i32.store $drop=, __stack_pointer($pop24), $pop23 return .LBB1_5: # %entry end_block # label6: @@ -103,14 +102,15 @@ f1: # @f1 i32.ne $push3=, $0, $pop2 br_if 1, $pop3 # 1: down to label4 # BB#6: # %sw.bb4.i - i32.const $push4=, 9 - i32.ne $push5=, $2, $pop4 - br_if 1, $pop5 # 1: down to label4 + i32.load $push4=, 0($2) + i32.const $push5=, 9 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label4 # BB#7: # %lor.lhs.false8.i - i32.load $push6=, 4($3) - i32.const $push7=, 10 - i32.ne $push8=, $pop6, $pop7 - br_if 1, $pop8 # 1: down to label4 + i32.load $push7=, 4($2) + i32.const $push8=, 10 + i32.ne $push9=, $pop7, $pop8 + br_if 1, $pop9 # 1: down to label4 .LBB1_8: # %if.then end_block # label5: call abort@FUNCTION @@ -129,18 +129,16 @@ f1: # @f1 .type f2,@function f2: # @f2 .param i32, i32, i32, i64, i32 - .local i32, i32 + .local i32 # BB#0: # %entry - i32.const $push25=, 0 - i32.const $push22=, 0 - i32.load $push23=, __stack_pointer($pop22) - i32.const $push24=, 16 - i32.sub $push29=, $pop23, $pop24 - i32.store $push33=, __stack_pointer($pop25), $pop29 - tee_local $push32=, $6=, $pop33 - i32.store $push31=, 12($pop32), $4 - tee_local $push30=, $5=, $pop31 - i32.load $4=, 0($pop30) + i32.const $push27=, 0 + i32.const $push24=, 0 + i32.load $push25=, __stack_pointer($pop24) + i32.const $push26=, 16 + i32.sub $push31=, $pop25, $pop26 + i32.store $push33=, __stack_pointer($pop27), $pop31 + tee_local $push32=, $5=, $pop33 + i32.store $drop=, 12($pop32), $4 block block block @@ -153,50 +151,52 @@ f2: # @f2 br_if 2, $pop3 # 2: down to label7 # BB#2: # %sw.bb.i block - i32.const $push9=, 3 - i32.ne $push10=, $4, $pop9 - br_if 0, $pop10 # 0: down to label10 + i32.load $push10=, 0($4) + i32.const $push11=, 3 + i32.ne $push12=, $pop10, $pop11 + br_if 0, $pop12 # 0: down to label10 # BB#3: # %lor.lhs.false.i - i32.load $push11=, 4($5) - i32.const $push12=, 4 - i32.eq $push13=, $pop11, $pop12 - br_if 2, $pop13 # 2: down to label8 + i32.load $push13=, 4($4) + i32.const $push14=, 4 + i32.eq $push15=, $pop13, $pop14 + br_if 2, $pop15 # 2: down to label8 .LBB2_4: # %if.then.i end_block # label10: call abort@FUNCTION unreachable .LBB2_5: # %sw.bb4.i end_block # label9: - i32.const $push4=, 9 - i32.ne $push5=, $4, $pop4 - br_if 1, $pop5 # 1: down to label7 + i32.load $push4=, 0($4) + i32.const $push5=, 9 + i32.ne $push6=, $pop4, $pop5 + br_if 1, $pop6 # 1: down to label7 # BB#6: # %lor.lhs.false8.i - i32.load $push6=, 4($5) - i32.const $push7=, 10 - i32.ne $push8=, $pop6, $pop7 - br_if 1, $pop8 # 1: down to label7 + i32.load $push7=, 4($4) + i32.const $push8=, 10 + i32.ne $push9=, $pop7, $pop8 + br_if 1, $pop9 # 1: down to label7 .LBB2_7: # %h.exit end_block # label8: - i32.const $push14=, 5 - i32.ne $push15=, $0, $pop14 - br_if 0, $pop15 # 0: down to label7 -# BB#8: # %h.exit - i32.const $push16=, 6 - i32.ne $push17=, $1, $pop16 + i32.const $push16=, 5 + i32.ne $push17=, $0, $pop16 br_if 0, $pop17 # 0: down to label7 -# BB#9: # %h.exit - i32.const $push18=, 7 - i32.ne $push19=, $2, $pop18 +# BB#8: # %h.exit + i32.const $push18=, 6 + i32.ne $push19=, $1, $pop18 br_if 0, $pop19 # 0: down to label7 -# BB#10: # %h.exit - i64.const $push20=, 8 - i64.ne $push21=, $3, $pop20 +# BB#9: # %h.exit + i32.const $push20=, 7 + i32.ne $push21=, $2, $pop20 br_if 0, $pop21 # 0: down to label7 +# BB#10: # %h.exit + i64.const $push22=, 8 + i64.ne $push23=, $3, $pop22 + br_if 0, $pop23 # 0: down to label7 # BB#11: # %if.end - i32.const $push28=, 0 - i32.const $push26=, 16 - i32.add $push27=, $6, $pop26 - i32.store $drop=, __stack_pointer($pop28), $pop27 + i32.const $push30=, 0 + i32.const $push28=, 16 + i32.add $push29=, $5, $pop28 + i32.store $drop=, __stack_pointer($pop30), $pop29 return .LBB2_12: # %if.then end_block # label7: diff --git a/test/torture-s/20080519-1.c.s b/test/torture-s/20080519-1.c.s index 7fe6373d2..5f46c2ebc 100644 --- a/test/torture-s/20080519-1.c.s +++ b/test/torture-s/20080519-1.c.s @@ -46,13 +46,13 @@ regrename_optimize: # @regrename_optimize i64.store $drop=, 8($pop30):p2align=2, $pop0 block i32.load $push29=, 0($0) - tee_local $push28=, $6=, $pop29 + tee_local $push28=, $4=, $pop29 i32.eqz $push47=, $pop28 br_if 0, $pop47 # 0: down to label1 # BB#1: # %for.body.preheader - i32.const $4=, 0 - i32.const $3=, -1 i32.const $5=, 0 + i32.const $3=, -1 + i32.const $6=, 0 .LBB1_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label2: @@ -65,24 +65,24 @@ regrename_optimize: # @regrename_optimize i32.load $push2=, reg_class_contents+4($pop38) i32.const $push37=, -1 i32.xor $push3=, $pop2, $pop37 - i32.or $4=, $4, $pop3 + i32.or $5=, $5, $pop3 i32.load $push4=, reg_class_contents($0) i32.const $push36=, -1 i32.xor $push5=, $pop4, $pop36 - i32.or $5=, $5, $pop5 - copy_local $push35=, $6 + i32.or $6=, $6, $pop5 + copy_local $push35=, $4 tee_local $push34=, $2=, $pop35 copy_local $0=, $pop34 i32.load $push33=, 0($2) - tee_local $push32=, $6=, $pop33 + tee_local $push32=, $4=, $pop33 br_if 0, $pop32 # 0: up to label2 # BB#3: # %for.end end_loop # label3: i32.const $push6=, 12 i32.add $push43=, $1, $pop6 tee_local $push42=, $0=, $pop43 - i32.store $drop=, 0($pop42), $4 - i32.store $drop=, 8($1), $5 + i32.store $drop=, 0($pop42), $5 + i32.store $drop=, 8($1), $6 i32.const $push7=, 0 i32.lt_s $push8=, $3, $pop7 br_if 0, $pop8 # 0: down to label1 @@ -94,12 +94,12 @@ regrename_optimize: # @regrename_optimize i32.load $push11=, reg_class_contents+4($pop45) i32.const $push12=, -1 i32.xor $push13=, $pop11, $pop12 - i32.or $push14=, $4, $pop13 + i32.or $push14=, $5, $pop13 i32.store $drop=, 0($0), $pop14 i32.load $push15=, reg_class_contents($3) i32.const $push44=, -1 i32.xor $push16=, $pop15, $pop44 - i32.or $push17=, $5, $pop16 + i32.or $push17=, $6, $pop16 i32.store $drop=, 8($1), $pop17 i32.const $push25=, 8 i32.add $push26=, $1, $pop25 diff --git a/test/torture-s/20120207-1.c.s b/test/torture-s/20120207-1.c.s index e456df953..86ce8f735 100644 --- a/test/torture-s/20120207-1.c.s +++ b/test/torture-s/20120207-1.c.s @@ -26,14 +26,12 @@ main: # @main block i32.const $push0=, 2 i32.call $push1=, test@FUNCTION, $pop0 - i32.const $push2=, 255 - i32.and $push3=, $pop1, $pop2 - i32.const $push4=, 49 - i32.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label0 + i32.const $push2=, 49 + i32.ne $push3=, $pop1, $pop2 + br_if 0, $pop3 # 0: down to label0 # BB#1: # %if.end - i32.const $push6=, 0 - return $pop6 + i32.const $push4=, 0 + return $pop4 .LBB1_2: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/20120919-1.c.s b/test/torture-s/20120919-1.c.s index 19cbcba6e..57aca4729 100644 --- a/test/torture-s/20120919-1.c.s +++ b/test/torture-s/20120919-1.c.s @@ -25,35 +25,35 @@ init: # @init .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, f64, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, f64, i32 # BB#0: # %entry - i32.const $push14=, 0 - i32.const $push11=, 0 - i32.load $push12=, __stack_pointer($pop11) - i32.const $push13=, 6144 - i32.sub $push22=, $pop12, $pop13 - i32.store $push27=, __stack_pointer($pop14), $pop22 - tee_local $push26=, $1=, $pop27 + i32.const $push15=, 0 + i32.const $push12=, 0 + i32.load $push13=, __stack_pointer($pop12) + i32.const $push14=, 6144 + i32.sub $push23=, $pop13, $pop14 + i32.store $push28=, __stack_pointer($pop15), $pop23 + tee_local $push27=, $1=, $pop28 i32.const $push0=, 1 - i32.store $0=, 12($pop26), $pop0 - i32.const $push18=, 12 - i32.add $push19=, $1, $pop18 - i32.const $push20=, 16 - i32.add $push21=, $1, $pop20 - call init@FUNCTION, $pop19, $pop21 + i32.store $0=, 12($pop27), $pop0 + i32.const $push19=, 12 + i32.add $push20=, $1, $pop19 + i32.const $push21=, 16 + i32.add $push22=, $1, $pop21 + call init@FUNCTION, $pop20, $pop22 block - i32.load $push25=, 12($1) - tee_local $push24=, $2=, $pop25 - i32.const $push23=, 0 - i32.lt_s $push1=, $pop24, $pop23 + i32.load $push26=, 12($1) + tee_local $push25=, $2=, $pop26 + i32.const $push24=, 0 + i32.lt_s $push1=, $pop25, $pop24 br_if 0, $pop1 # 0: down to label1 # BB#1: # %while.body.lr.ph + i32.const $push30=, 0 + i32.load $4=, pi($pop30) i32.const $push29=, 0 - i32.load $4=, pi($pop29) - i32.const $push28=, 0 - i32.load $3=, pd($pop28) + i32.load $3=, pd($pop29) i32.const $8=, -1 - i32.const $7=, 0 + i32.const $5=, 0 .LBB1_2: # %while.body # =>This Inner Loop Header: Depth=1 loop # label2: @@ -61,40 +61,47 @@ main: # @main br_if 0, $8 # 0: down to label4 # BB#3: # %if.then # in Loop: Header=BB1_2 Depth=1 - f64.load $5=, 0($3) - i32.load $push35=, 0($4) - tee_local $push34=, $6=, $pop35 - f64.convert_s/i32 $push2=, $pop34 - f64.store $drop=, 0($3), $pop2 - i32.const $push33=, 0 - i32.const $push32=, 0 - i32.gt_s $push3=, $6, $pop32 - i32.select $push4=, $6, $pop33, $pop3 - i32.const $push31=, 0 - f64.const $push30=, 0x0p0 - f64.gt $push5=, $5, $pop30 - i32.select $push6=, $pop4, $pop31, $pop5 - i32.add $7=, $pop6, $7 -.LBB1_4: # %if.end11 + i32.load $6=, 0($4) + block + f64.load $push33=, 0($3) + tee_local $push32=, $7=, $pop33 + f64.const $push31=, 0x0p0 + f64.le $push2=, $pop32, $pop31 + f64.ne $push3=, $7, $7 + i32.or $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label5 +# BB#4: # %if.then3 + # in Loop: Header=BB1_2 Depth=1 + i32.const $push35=, 0 + i32.const $push34=, 0 + i32.gt_s $push5=, $6, $pop34 + i32.select $push6=, $6, $pop35, $pop5 + i32.add $5=, $pop6, $5 +.LBB1_5: # %if.end8 + # in Loop: Header=BB1_2 Depth=1 + end_block # label5: + f64.convert_s/i32 $push7=, $6 + f64.store $drop=, 0($3), $pop7 +.LBB1_6: # %if.end11 # in Loop: Header=BB1_2 Depth=1 end_block # label4: i32.add $push37=, $8, $0 tee_local $push36=, $8=, $pop37 - i32.lt_s $push7=, $pop36, $2 - br_if 0, $pop7 # 0: up to label2 -# BB#5: # %while.end + i32.lt_s $push8=, $pop36, $2 + br_if 0, $pop8 # 0: up to label2 +# BB#7: # %while.end end_loop # label3: - i32.const $push8=, 1234567890 - i32.ne $push9=, $7, $pop8 - br_if 0, $pop9 # 0: down to label1 -# BB#6: # %if.end15 - i32.const $push17=, 0 - i32.const $push15=, 6144 - i32.add $push16=, $1, $pop15 - i32.store $drop=, __stack_pointer($pop17), $pop16 - i32.const $push10=, 0 - return $pop10 -.LBB1_7: # %if.then14 + i32.const $push9=, 1234567890 + i32.ne $push10=, $5, $pop9 + br_if 0, $pop10 # 0: down to label1 +# BB#8: # %if.end15 + i32.const $push18=, 0 + i32.const $push16=, 6144 + i32.add $push17=, $1, $pop16 + i32.store $drop=, __stack_pointer($pop18), $pop17 + i32.const $push11=, 0 + return $pop11 +.LBB1_9: # %if.then14 end_block # label1: call abort@FUNCTION unreachable diff --git a/test/torture-s/20121108-1.c.s b/test/torture-s/20121108-1.c.s index d5b7d449c..435bf90db 100644 --- a/test/torture-s/20121108-1.c.s +++ b/test/torture-s/20121108-1.c.s @@ -35,7 +35,7 @@ strtoul1: # @strtoul1 .LBB0_4: # %return end_block # label1: return $1 -.LBB0_5: # %if.end +.LBB0_5: # %if.end11 end_block # label0: call abort@FUNCTION unreachable diff --git a/test/torture-s/940115-1.c.s b/test/torture-s/940115-1.c.s index 5714c93ae..a31422c79 100644 --- a/test/torture-s/940115-1.c.s +++ b/test/torture-s/940115-1.c.s @@ -20,7 +20,7 @@ f: # @f .type main,@function main: # @main .result i32 -# BB#0: # %if.end +# BB#0: # %entry i32.const $push0=, 0 call exit@FUNCTION, $pop0 unreachable diff --git a/test/torture-s/960215-1.c.s b/test/torture-s/960215-1.c.s index b1d477b1d..d83edca59 100644 --- a/test/torture-s/960215-1.c.s +++ b/test/torture-s/960215-1.c.s @@ -65,7 +65,7 @@ main: # @main i32.add $push3=, $pop70, $pop192 i64.load $push191=, 0($pop3) tee_local $push190=, $3=, $pop191 - call __addtf3@FUNCTION, $pop72, $2, $1, $pop193, $pop190 + call __addtf3@FUNCTION, $pop72, $pop193, $pop190, $2, $1 i32.const $push73=, 128 i32.add $push74=, $0, $pop73 i32.const $push189=, 0 @@ -97,13 +97,13 @@ main: # @main i32.add $push4=, $pop80, $pop175 i64.load $push174=, 0($pop4) tee_local $push173=, $9=, $pop174 - call __multf3@FUNCTION, $pop82, $8, $7, $pop176, $pop173 + call __multf3@FUNCTION, $pop82, $pop176, $pop173, $8, $7 i32.const $push83=, 208 i32.add $push84=, $0, $pop83 call __subtf3@FUNCTION, $pop84, $2, $1, $10, $9 i32.const $push85=, 160 i32.add $push86=, $0, $pop85 - call __multf3@FUNCTION, $pop86, $6, $5, $4, $3 + call __multf3@FUNCTION, $pop86, $4, $3, $6, $5 i32.const $push89=, 256 i32.add $push90=, $0, $pop89 i64.load $push172=, 272($0) diff --git a/test/torture-s/981019-1.c.s b/test/torture-s/981019-1.c.s index 93086731c..020990ef3 100644 --- a/test/torture-s/981019-1.c.s +++ b/test/torture-s/981019-1.c.s @@ -40,9 +40,9 @@ ff: # @ff i32.const $push1=, 0 i32.store $drop=, f3.x($pop1), $3 br_if 0, $2 # 0: down to label0 -# BB#7: # %if.end15 +# BB#7: # %if.end16 return -.LBB0_8: # %if.then14 +.LBB0_8: # %if.then15 end_block # label0: call f1@FUNCTION unreachable diff --git a/test/torture-s/builtin-bitops-1.c.s b/test/torture-s/builtin-bitops-1.c.s index 7cb4381fa..0317e2e49 100644 --- a/test/torture-s/builtin-bitops-1.c.s +++ b/test/torture-s/builtin-bitops-1.c.s @@ -7,39 +7,37 @@ my_ffs: # @my_ffs .param i32 .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, 0 + i32.const $1=, 0 block - i32.eqz $push11=, $0 - br_if 0, $pop11 # 0: down to label0 -# BB#1: # %for.cond.preheader - i32.const $2=, 1 -.LBB0_2: # %for.cond + i32.eqz $push9=, $0 + br_if 0, $pop9 # 0: down to label0 +# BB#1: # %for.body.preheader + i32.const $1=, 0 +.LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: - copy_local $push8=, $2 - tee_local $push7=, $3=, $pop8 - i32.const $push6=, -1 - i32.add $push5=, $pop7, $pop6 - tee_local $push4=, $1=, $pop5 - i32.const $push3=, 31 - i32.gt_u $push0=, $pop4, $pop3 - br_if 1, $pop0 # 1: down to label2 -# BB#3: # %for.body + i32.const $push4=, 1 + i32.shl $push0=, $pop4, $1 + i32.and $push1=, $pop0, $0 + br_if 1, $pop1 # 1: down to label2 +# BB#3: # %for.inc # in Loop: Header=BB0_2 Depth=1 - i32.const $push10=, 1 - i32.add $2=, $3, $pop10 - i32.const $push9=, 1 - i32.shl $push1=, $pop9, $1 - i32.and $push2=, $pop1, $0 - i32.eqz $push12=, $pop2 - br_if 0, $pop12 # 0: up to label1 -.LBB0_4: # %cleanup + i32.const $push8=, 1 + i32.add $push7=, $1, $pop8 + tee_local $push6=, $1=, $pop7 + i32.const $push5=, 32 + i32.lt_u $push2=, $pop6, $pop5 + br_if 0, $pop2 # 0: up to label1 +.LBB0_4: # %for.end end_loop # label2: + i32.const $push3=, 1 + i32.add $1=, $1, $pop3 +.LBB0_5: # %cleanup end_block # label0: - copy_local $push13=, $3 - # fallthrough-return: $pop13 + copy_local $push10=, $1 + # fallthrough-return: $pop10 .endfunc .Lfunc_end0: .size my_ffs, .Lfunc_end0-my_ffs @@ -229,39 +227,37 @@ my_parity: # @my_parity my_ffsl: # @my_ffsl .param i32 .result i32 - .local i32, i32, i32 + .local i32 # BB#0: # %entry - i32.const $3=, 0 + i32.const $1=, 0 block - i32.eqz $push11=, $0 - br_if 0, $pop11 # 0: down to label13 -# BB#1: # %for.cond.preheader - i32.const $2=, 1 -.LBB6_2: # %for.cond + i32.eqz $push9=, $0 + br_if 0, $pop9 # 0: down to label13 +# BB#1: # %for.body.preheader + i32.const $1=, 0 +.LBB6_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label14: - copy_local $push8=, $2 - tee_local $push7=, $3=, $pop8 - i32.const $push6=, -1 - i32.add $push5=, $pop7, $pop6 - tee_local $push4=, $1=, $pop5 - i32.const $push3=, 31 - i32.gt_u $push0=, $pop4, $pop3 - br_if 1, $pop0 # 1: down to label15 -# BB#3: # %for.body + i32.const $push4=, 1 + i32.shl $push0=, $pop4, $1 + i32.and $push1=, $pop0, $0 + br_if 1, $pop1 # 1: down to label15 +# BB#3: # %for.inc # in Loop: Header=BB6_2 Depth=1 - i32.const $push10=, 1 - i32.add $2=, $3, $pop10 - i32.const $push9=, 1 - i32.shl $push1=, $pop9, $1 - i32.and $push2=, $pop1, $0 - i32.eqz $push12=, $pop2 - br_if 0, $pop12 # 0: up to label14 -.LBB6_4: # %cleanup + i32.const $push8=, 1 + i32.add $push7=, $1, $pop8 + tee_local $push6=, $1=, $pop7 + i32.const $push5=, 32 + i32.lt_u $push2=, $pop6, $pop5 + br_if 0, $pop2 # 0: up to label14 +.LBB6_4: # %for.end end_loop # label15: + i32.const $push3=, 1 + i32.add $1=, $1, $pop3 +.LBB6_5: # %cleanup end_block # label13: - copy_local $push13=, $3 - # fallthrough-return: $pop13 + copy_local $push10=, $1 + # fallthrough-return: $pop10 .endfunc .Lfunc_end6: .size my_ffsl, .Lfunc_end6-my_ffsl @@ -451,39 +447,42 @@ my_parityl: # @my_parityl my_ffsll: # @my_ffsll .param i64 .result i32 - .local i64, i32, i64, i32 + .local i64, i32 # BB#0: # %entry - i32.const $4=, 0 + i32.const $2=, 0 block - i64.eqz $push1=, $0 - br_if 0, $pop1 # 0: down to label26 -# BB#1: # %for.cond.preheader - i64.const $3=, 0 - i32.const $2=, 1 -.LBB12_2: # %for.cond + i64.eqz $push0=, $0 + br_if 0, $pop0 # 0: down to label26 +# BB#1: # %for.body.preheader + i32.const $2=, 0 + i64.const $1=, 0 +.LBB12_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label27: - copy_local $4=, $2 - i64.const $push5=, 63 - i64.gt_u $push2=, $3, $pop5 - br_if 1, $pop2 # 1: down to label28 -# BB#3: # %for.body - # in Loop: Header=BB12_2 Depth=1 - i32.const $push8=, 1 - i32.add $2=, $4, $pop8 i64.const $push7=, 1 - i64.shl $1=, $pop7, $3 - i64.const $push6=, 1 - i64.add $push0=, $3, $pop6 - copy_local $3=, $pop0 - i64.and $push3=, $1, $0 - i64.eqz $push4=, $pop3 + i64.shl $push1=, $pop7, $1 + i64.and $push2=, $pop1, $0 + i64.const $push6=, 0 + i64.ne $push3=, $pop2, $pop6 + br_if 1, $pop3 # 1: down to label28 +# BB#3: # %for.inc + # in Loop: Header=BB12_2 Depth=1 + i32.const $push12=, 1 + i32.add $2=, $2, $pop12 + i64.const $push11=, 1 + i64.add $push10=, $1, $pop11 + tee_local $push9=, $1=, $pop10 + i64.const $push8=, 64 + i64.lt_u $push4=, $pop9, $pop8 br_if 0, $pop4 # 0: up to label27 -.LBB12_4: # %cleanup +.LBB12_4: # %for.end end_loop # label28: + i32.const $push5=, 1 + i32.add $2=, $2, $pop5 +.LBB12_5: # %cleanup end_block # label26: - copy_local $push9=, $4 - # fallthrough-return: $pop9 + copy_local $push13=, $2 + # fallthrough-return: $pop13 .endfunc .Lfunc_end12: .size my_ffsll, .Lfunc_end12-my_ffsll @@ -687,7 +686,7 @@ my_parityll: # @my_parityll .type main,@function main: # @main .result i32 - .local i32, i32, i32, i64, i32, i32, i32, i64, i64, i64, i32 + .local i32, i32, i32, i32, i64, i32, i32, i64, i64, i64, i32 # BB#0: # %entry i32.const $0=, 0 .LBB18_1: # %for.body @@ -701,208 +700,206 @@ main: # @main block block loop # label41: - i32.const $push213=, 2 - i32.shl $push212=, $0, $pop213 - tee_local $push211=, $4=, $pop212 - i32.load $push210=, ints($pop211) - tee_local $push209=, $10=, $pop210 - i32.ctz $push208=, $pop209 - tee_local $push207=, $1=, $pop208 - i32.const $push206=, 1 - i32.add $push6=, $pop207, $pop206 - i32.const $push205=, 0 - i32.select $6=, $pop6, $pop205, $10 - i32.const $2=, 0 + i32.const $push215=, 2 + i32.shl $push214=, $0, $pop215 + tee_local $push213=, $6=, $pop214 + i32.load $push212=, ints($pop213) + tee_local $push211=, $10=, $pop212 + i32.ctz $push210=, $pop211 + tee_local $push209=, $2=, $pop210 + i32.const $push208=, 1 + i32.add $push5=, $pop209, $pop208 + i32.const $push207=, 0 + i32.select $5=, $pop5, $pop207, $10 + i32.const $3=, 0 block - i32.eqz $push416=, $10 - br_if 0, $pop416 # 0: down to label43 -# BB#2: # %for.cond.i.preheader + i32.eqz $push427=, $10 + br_if 0, $pop427 # 0: down to label43 +# BB#2: # %for.body.i.preheader # in Loop: Header=BB18_1 Depth=1 - i32.const $5=, 0 -.LBB18_3: # %for.cond.i + i32.const $3=, 0 +.LBB18_3: # %for.body.i # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label44: - copy_local $push216=, $5 - tee_local $push215=, $2=, $pop216 - i32.const $push214=, 31 - i32.gt_u $push7=, $pop215, $pop214 + i32.const $push216=, 1 + i32.shl $push6=, $pop216, $3 + i32.and $push7=, $pop6, $10 br_if 1, $pop7 # 1: down to label45 -# BB#4: # %for.body.i +# BB#4: # %for.inc.i # in Loop: Header=BB18_3 Depth=2 - i32.const $push218=, 1 - i32.add $5=, $2, $pop218 - i32.const $push217=, 1 - i32.shl $push8=, $pop217, $2 - i32.and $push9=, $pop8, $10 - i32.eqz $push417=, $pop9 - br_if 0, $pop417 # 0: up to label44 -.LBB18_5: # %my_ffs.exit.loopexit + i32.const $push220=, 1 + i32.add $push219=, $3, $pop220 + tee_local $push218=, $3=, $pop219 + i32.const $push217=, 32 + i32.lt_u $push8=, $pop218, $pop217 + br_if 0, $pop8 # 0: up to label44 +.LBB18_5: # %for.end.i # in Loop: Header=BB18_1 Depth=1 end_loop # label45: - i32.const $push219=, 1 - i32.add $2=, $2, $pop219 + i32.const $push221=, 1 + i32.add $3=, $3, $pop221 .LBB18_6: # %my_ffs.exit # in Loop: Header=BB18_1 Depth=1 end_block # label43: - i32.ne $push10=, $6, $2 - br_if 2, $pop10 # 2: down to label40 + i32.ne $push9=, $5, $3 + br_if 2, $pop9 # 2: down to label40 # BB#7: # %if.end # in Loop: Header=BB18_1 Depth=1 block - i32.eqz $push418=, $10 - br_if 0, $pop418 # 0: down to label46 + i32.eqz $push428=, $10 + br_if 0, $pop428 # 0: down to label46 # BB#8: # %land.lhs.true # in Loop: Header=BB18_1 Depth=1 - i32.clz $6=, $10 + i32.clz $1=, $10 i32.const $5=, 0 - i32.const $2=, 31 -.LBB18_9: # %for.body.i816 + i32.const $3=, 31 +.LBB18_9: # %for.body.i822 # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label47: - i32.const $push220=, 1 - i32.shl $push11=, $pop220, $2 - i32.and $push12=, $pop11, $10 - br_if 1, $pop12 # 1: down to label48 -# BB#10: # %for.inc.i819 + i32.const $push222=, 1 + i32.shl $push10=, $pop222, $3 + i32.and $push11=, $pop10, $10 + br_if 1, $pop11 # 1: down to label48 +# BB#10: # %for.inc.i825 # in Loop: Header=BB18_9 Depth=2 - i32.const $push225=, -1 - i32.add $2=, $2, $pop225 - i32.const $push224=, 1 - i32.add $push223=, $5, $pop224 - tee_local $push222=, $5=, $pop223 - i32.const $push221=, 32 - i32.lt_u $push13=, $pop222, $pop221 - br_if 0, $pop13 # 0: up to label47 + i32.const $push227=, -1 + i32.add $3=, $3, $pop227 + i32.const $push226=, 1 + i32.add $push225=, $5, $pop226 + tee_local $push224=, $5=, $pop225 + i32.const $push223=, 32 + i32.lt_u $push12=, $pop224, $pop223 + br_if 0, $pop12 # 0: up to label47 .LBB18_11: # %my_clz.exit # in Loop: Header=BB18_1 Depth=1 end_loop # label48: - i32.ne $push14=, $6, $5 - br_if 3, $pop14 # 3: down to label40 + i32.ne $push13=, $1, $5 + br_if 3, $pop13 # 3: down to label40 # BB#12: # %land.lhs.true13 # in Loop: Header=BB18_1 Depth=1 - i32.const $2=, 0 -.LBB18_13: # %for.body.i876 + i32.const $3=, 0 +.LBB18_13: # %for.body.i889 # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label49: - i32.const $push226=, 1 - i32.shl $push15=, $pop226, $2 - i32.and $push16=, $pop15, $10 - br_if 1, $pop16 # 1: down to label50 -# BB#14: # %for.inc.i879 + i32.const $push228=, 1 + i32.shl $push14=, $pop228, $3 + i32.and $push15=, $pop14, $10 + br_if 1, $pop15 # 1: down to label50 +# BB#14: # %for.inc.i892 # in Loop: Header=BB18_13 Depth=2 - i32.const $push230=, 1 - i32.add $push229=, $2, $pop230 - tee_local $push228=, $2=, $pop229 - i32.const $push227=, 32 - i32.lt_u $push17=, $pop228, $pop227 - br_if 0, $pop17 # 0: up to label49 + i32.const $push232=, 1 + i32.add $push231=, $3, $pop232 + tee_local $push230=, $3=, $pop231 + i32.const $push229=, 32 + i32.lt_u $push16=, $pop230, $pop229 + br_if 0, $pop16 # 0: up to label49 .LBB18_15: # %my_ctz.exit # in Loop: Header=BB18_1 Depth=1 end_loop # label50: - i32.ne $push18=, $1, $2 - br_if 3, $pop18 # 3: down to label40 + i32.ne $push17=, $2, $3 + br_if 3, $pop17 # 3: down to label40 .LBB18_16: # %if.end19 # in Loop: Header=BB18_1 Depth=1 end_block # label46: - i32.call $1=, __builtin_clrsb@FUNCTION, $10 - i32.const $push234=, ints - i32.add $push0=, $4, $pop234 - i32.load $push233=, 0($pop0) - tee_local $push232=, $2=, $pop233 - i32.const $push231=, 31 - i32.shr_u $6=, $pop232, $pop231 + i32.call $2=, __builtin_clrsb@FUNCTION, $10 + i32.const $push236=, ints + i32.add $push0=, $6, $pop236 + i32.load $push235=, 0($pop0) + tee_local $push234=, $3=, $pop235 + i32.const $push233=, 31 + i32.shr_u $6=, $pop234, $pop233 i32.const $5=, 1 i32.const $10=, 30 -.LBB18_17: # %for.body.i950 +.LBB18_17: # %for.body.i974 # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label51: - i32.shr_u $push19=, $2, $10 - i32.const $push235=, 1 - i32.and $push20=, $pop19, $pop235 - i32.ne $push21=, $pop20, $6 - br_if 1, $pop21 # 1: down to label52 -# BB#18: # %for.inc.i953 + i32.shr_u $push18=, $3, $10 + i32.const $push237=, 1 + i32.and $push19=, $pop18, $pop237 + i32.ne $push20=, $pop19, $6 + br_if 1, $pop20 # 1: down to label52 +# BB#18: # %for.inc.i977 # in Loop: Header=BB18_17 Depth=2 - i32.const $push240=, -1 - i32.add $10=, $10, $pop240 - i32.const $push239=, 1 - i32.add $push238=, $5, $pop239 - tee_local $push237=, $5=, $pop238 - i32.const $push236=, 32 - i32.lt_u $push22=, $pop237, $pop236 - br_if 0, $pop22 # 0: up to label51 + i32.const $push242=, -1 + i32.add $10=, $10, $pop242 + i32.const $push241=, 1 + i32.add $push240=, $5, $pop241 + tee_local $push239=, $5=, $pop240 + i32.const $push238=, 32 + i32.lt_u $push21=, $pop239, $pop238 + br_if 0, $pop21 # 0: up to label51 .LBB18_19: # %my_clrsb.exit # in Loop: Header=BB18_1 Depth=1 end_loop # label52: - i32.const $push241=, -1 - i32.add $push23=, $5, $pop241 - i32.ne $push24=, $1, $pop23 - br_if 2, $pop24 # 2: down to label40 -# BB#20: # %for.body.i1034.preheader + i32.const $push243=, -1 + i32.add $push22=, $5, $pop243 + i32.ne $push23=, $2, $pop22 + br_if 2, $pop23 # 2: down to label40 +# BB#20: # %for.body.i1069.preheader # in Loop: Header=BB18_1 Depth=1 i32.const $5=, 0 i32.const $10=, 0 -.LBB18_21: # %for.body.i1034 +.LBB18_21: # %for.body.i1069 # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label53: + i32.const $push249=, 1 + i32.shl $push24=, $pop249, $10 + i32.and $push25=, $pop24, $3 + i32.const $push248=, 0 + i32.ne $push26=, $pop25, $pop248 + i32.add $5=, $pop26, $5 i32.const $push247=, 1 - i32.shl $push25=, $pop247, $10 - i32.and $push26=, $pop25, $2 - i32.const $push246=, 0 - i32.ne $push27=, $pop26, $pop246 - i32.add $5=, $pop27, $5 - i32.const $push245=, 1 - i32.add $push244=, $10, $pop245 - tee_local $push243=, $10=, $pop244 - i32.const $push242=, 32 - i32.ne $push28=, $pop243, $pop242 - br_if 0, $pop28 # 0: up to label53 + i32.add $push246=, $10, $pop247 + tee_local $push245=, $10=, $pop246 + i32.const $push244=, 32 + i32.ne $push27=, $pop245, $pop244 + br_if 0, $pop27 # 0: up to label53 # BB#22: # %my_popcount.exit # in Loop: Header=BB18_1 Depth=1 end_loop # label54: - i32.popcnt $push29=, $2 - i32.ne $push30=, $pop29, $5 - br_if 2, $pop30 # 2: down to label40 -# BB#23: # %for.body.i1115.preheader + i32.popcnt $push28=, $3 + i32.ne $push29=, $pop28, $5 + br_if 2, $pop29 # 2: down to label40 +# BB#23: # %for.body.i1161.preheader # in Loop: Header=BB18_1 Depth=1 i32.const $6=, 0 i32.const $10=, 0 -.LBB18_24: # %for.body.i1115 +.LBB18_24: # %for.body.i1161 # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label55: + i32.const $push255=, 1 + i32.shl $push30=, $pop255, $10 + i32.and $push31=, $pop30, $3 + i32.const $push254=, 0 + i32.ne $push32=, $pop31, $pop254 + i32.add $6=, $pop32, $6 i32.const $push253=, 1 - i32.shl $push31=, $pop253, $10 - i32.and $push32=, $pop31, $2 - i32.const $push252=, 0 - i32.ne $push33=, $pop32, $pop252 - i32.add $6=, $pop33, $6 - i32.const $push251=, 1 - i32.add $push250=, $10, $pop251 - tee_local $push249=, $10=, $pop250 - i32.const $push248=, 32 - i32.ne $push34=, $pop249, $pop248 - br_if 0, $pop34 # 0: up to label55 + i32.add $push252=, $10, $pop253 + tee_local $push251=, $10=, $pop252 + i32.const $push250=, 32 + i32.ne $push33=, $pop251, $pop250 + br_if 0, $pop33 # 0: up to label55 # BB#25: # %my_parity.exit # in Loop: Header=BB18_1 Depth=1 end_loop # label56: - i32.xor $push35=, $6, $5 - i32.const $push254=, 1 - i32.and $push36=, $pop35, $pop254 - br_if 2, $pop36 # 2: down to label40 + i32.xor $push34=, $6, $5 + i32.const $push256=, 1 + i32.and $push35=, $pop34, $pop256 + br_if 2, $pop35 # 2: down to label40 # BB#26: # %for.cond # in Loop: Header=BB18_1 Depth=1 - i32.const $push258=, 1 - i32.add $push257=, $0, $pop258 - tee_local $push256=, $0=, $pop257 - i32.const $push255=, 13 - i32.lt_u $push37=, $pop256, $pop255 - br_if 0, $pop37 # 0: up to label41 + i32.const $push260=, 1 + i32.add $push259=, $0, $pop260 + tee_local $push258=, $0=, $pop259 + i32.const $push257=, 13 + i32.lt_u $push36=, $pop258, $pop257 + br_if 0, $pop36 # 0: up to label41 # BB#27: # %for.body41.preheader end_loop # label42: i32.const $0=, 0 @@ -915,742 +912,766 @@ main: # @main # Child Loop BB18_48 Depth 2 # Child Loop BB18_51 Depth 2 loop # label57: - i32.const $push267=, 2 - i32.shl $push266=, $0, $pop267 - tee_local $push265=, $4=, $pop266 - i32.load $push264=, longs($pop265) - tee_local $push263=, $10=, $pop264 - i32.ctz $push262=, $pop263 - tee_local $push261=, $1=, $pop262 - i32.const $push260=, 1 - i32.add $push38=, $pop261, $pop260 - i32.const $push259=, 0 - i32.select $6=, $pop38, $pop259, $10 - i32.const $2=, 0 + i32.const $push269=, 2 + i32.shl $push268=, $0, $pop269 + tee_local $push267=, $6=, $pop268 + i32.load $push266=, longs($pop267) + tee_local $push265=, $10=, $pop266 + i32.ctz $push264=, $pop265 + tee_local $push263=, $2=, $pop264 + i32.const $push262=, 1 + i32.add $push37=, $pop263, $pop262 + i32.const $push261=, 0 + i32.select $5=, $pop37, $pop261, $10 + i32.const $3=, 0 block - i32.eqz $push419=, $10 - br_if 0, $pop419 # 0: down to label59 -# BB#29: # %for.cond.i1193.preheader + i32.eqz $push429=, $10 + br_if 0, $pop429 # 0: down to label59 +# BB#29: # %for.body.i1251.preheader # in Loop: Header=BB18_28 Depth=1 - i32.const $5=, 0 -.LBB18_30: # %for.cond.i1193 + i32.const $3=, 0 +.LBB18_30: # %for.body.i1251 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label60: - copy_local $push270=, $5 - tee_local $push269=, $2=, $pop270 - i32.const $push268=, 31 - i32.gt_u $push39=, $pop269, $pop268 + i32.const $push270=, 1 + i32.shl $push38=, $pop270, $3 + i32.and $push39=, $pop38, $10 br_if 1, $pop39 # 1: down to label61 -# BB#31: # %for.body.i1197 +# BB#31: # %for.inc.i1254 # in Loop: Header=BB18_30 Depth=2 - i32.const $push272=, 1 - i32.add $5=, $2, $pop272 - i32.const $push271=, 1 - i32.shl $push40=, $pop271, $2 - i32.and $push41=, $pop40, $10 - i32.eqz $push420=, $pop41 - br_if 0, $pop420 # 0: up to label60 -.LBB18_32: # %my_ffsl.exit.loopexit + i32.const $push274=, 1 + i32.add $push273=, $3, $pop274 + tee_local $push272=, $3=, $pop273 + i32.const $push271=, 32 + i32.lt_u $push40=, $pop272, $pop271 + br_if 0, $pop40 # 0: up to label60 +.LBB18_32: # %for.end.i1257 # in Loop: Header=BB18_28 Depth=1 end_loop # label61: - i32.const $push273=, 1 - i32.add $2=, $2, $pop273 + i32.const $push275=, 1 + i32.add $3=, $3, $pop275 .LBB18_33: # %my_ffsl.exit # in Loop: Header=BB18_28 Depth=1 end_block # label59: - i32.ne $push42=, $6, $2 - br_if 2, $pop42 # 2: down to label40 + i32.ne $push41=, $5, $3 + br_if 2, $pop41 # 2: down to label40 # BB#34: # %if.end49 # in Loop: Header=BB18_28 Depth=1 block - i32.eqz $push421=, $10 - br_if 0, $pop421 # 0: down to label62 + i32.eqz $push430=, $10 + br_if 0, $pop430 # 0: down to label62 # BB#35: # %land.lhs.true52 # in Loop: Header=BB18_28 Depth=1 - i32.clz $6=, $10 + i32.clz $1=, $10 i32.const $5=, 0 - i32.const $2=, 31 -.LBB18_36: # %for.body.i1276 + i32.const $3=, 31 +.LBB18_36: # %for.body.i1346 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label63: - i32.const $push274=, 1 - i32.shl $push43=, $pop274, $2 - i32.and $push44=, $pop43, $10 - br_if 1, $pop44 # 1: down to label64 -# BB#37: # %for.inc.i1279 + i32.const $push276=, 1 + i32.shl $push42=, $pop276, $3 + i32.and $push43=, $pop42, $10 + br_if 1, $pop43 # 1: down to label64 +# BB#37: # %for.inc.i1349 # in Loop: Header=BB18_36 Depth=2 - i32.const $push279=, -1 - i32.add $2=, $2, $pop279 - i32.const $push278=, 1 - i32.add $push277=, $5, $pop278 - tee_local $push276=, $5=, $pop277 - i32.const $push275=, 32 - i32.lt_u $push45=, $pop276, $pop275 - br_if 0, $pop45 # 0: up to label63 + i32.const $push281=, -1 + i32.add $3=, $3, $pop281 + i32.const $push280=, 1 + i32.add $push279=, $5, $pop280 + tee_local $push278=, $5=, $pop279 + i32.const $push277=, 32 + i32.lt_u $push44=, $pop278, $pop277 + br_if 0, $pop44 # 0: up to label63 .LBB18_38: # %my_clzl.exit # in Loop: Header=BB18_28 Depth=1 end_loop # label64: - i32.ne $push46=, $6, $5 - br_if 3, $pop46 # 3: down to label40 + i32.ne $push45=, $1, $5 + br_if 3, $pop45 # 3: down to label40 # BB#39: # %land.lhs.true61 # in Loop: Header=BB18_28 Depth=1 - i32.const $2=, 0 -.LBB18_40: # %for.body.i1357 + i32.const $3=, 0 +.LBB18_40: # %for.body.i1438 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label65: - i32.const $push280=, 1 - i32.shl $push47=, $pop280, $2 - i32.and $push48=, $pop47, $10 - br_if 1, $pop48 # 1: down to label66 -# BB#41: # %for.inc.i1360 + i32.const $push282=, 1 + i32.shl $push46=, $pop282, $3 + i32.and $push47=, $pop46, $10 + br_if 1, $pop47 # 1: down to label66 +# BB#41: # %for.inc.i1441 # in Loop: Header=BB18_40 Depth=2 - i32.const $push284=, 1 - i32.add $push283=, $2, $pop284 - tee_local $push282=, $2=, $pop283 - i32.const $push281=, 32 - i32.lt_u $push49=, $pop282, $pop281 - br_if 0, $pop49 # 0: up to label65 + i32.const $push286=, 1 + i32.add $push285=, $3, $pop286 + tee_local $push284=, $3=, $pop285 + i32.const $push283=, 32 + i32.lt_u $push48=, $pop284, $pop283 + br_if 0, $pop48 # 0: up to label65 .LBB18_42: # %my_ctzl.exit # in Loop: Header=BB18_28 Depth=1 end_loop # label66: - i32.ne $push50=, $1, $2 - br_if 3, $pop50 # 3: down to label40 + i32.ne $push49=, $2, $3 + br_if 3, $pop49 # 3: down to label40 .LBB18_43: # %if.end67 # in Loop: Header=BB18_28 Depth=1 end_block # label62: - i32.call $1=, __builtin_clrsbl@FUNCTION, $10 - i32.const $push288=, longs - i32.add $push1=, $4, $pop288 - i32.load $push287=, 0($pop1) - tee_local $push286=, $2=, $pop287 - i32.const $push285=, 31 - i32.shr_u $6=, $pop286, $pop285 + i32.call $2=, __builtin_clrsbl@FUNCTION, $10 + i32.const $push290=, longs + i32.add $push1=, $6, $pop290 + i32.load $push289=, 0($pop1) + tee_local $push288=, $3=, $pop289 + i32.const $push287=, 31 + i32.shr_u $6=, $pop288, $pop287 i32.const $5=, 1 i32.const $10=, 30 -.LBB18_44: # %for.body.i1440 +.LBB18_44: # %for.body.i1532 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label67: - i32.shr_u $push51=, $2, $10 - i32.const $push289=, 1 - i32.and $push52=, $pop51, $pop289 - i32.ne $push53=, $pop52, $6 - br_if 1, $pop53 # 1: down to label68 -# BB#45: # %for.inc.i1443 + i32.shr_u $push50=, $3, $10 + i32.const $push291=, 1 + i32.and $push51=, $pop50, $pop291 + i32.ne $push52=, $pop51, $6 + br_if 1, $pop52 # 1: down to label68 +# BB#45: # %for.inc.i1535 # in Loop: Header=BB18_44 Depth=2 - i32.const $push294=, -1 - i32.add $10=, $10, $pop294 - i32.const $push293=, 1 - i32.add $push292=, $5, $pop293 - tee_local $push291=, $5=, $pop292 - i32.const $push290=, 32 - i32.lt_u $push54=, $pop291, $pop290 - br_if 0, $pop54 # 0: up to label67 + i32.const $push296=, -1 + i32.add $10=, $10, $pop296 + i32.const $push295=, 1 + i32.add $push294=, $5, $pop295 + tee_local $push293=, $5=, $pop294 + i32.const $push292=, 32 + i32.lt_u $push53=, $pop293, $pop292 + br_if 0, $pop53 # 0: up to label67 .LBB18_46: # %my_clrsbl.exit # in Loop: Header=BB18_28 Depth=1 end_loop # label68: - i32.const $push295=, -1 - i32.add $push55=, $5, $pop295 - i32.ne $push56=, $1, $pop55 - br_if 2, $pop56 # 2: down to label40 -# BB#47: # %for.body.i1527.preheader + i32.const $push297=, -1 + i32.add $push54=, $5, $pop297 + i32.ne $push55=, $2, $pop54 + br_if 2, $pop55 # 2: down to label40 +# BB#47: # %for.body.i1630.preheader # in Loop: Header=BB18_28 Depth=1 i32.const $5=, 0 i32.const $10=, 0 -.LBB18_48: # %for.body.i1527 +.LBB18_48: # %for.body.i1630 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label69: + i32.const $push303=, 1 + i32.shl $push56=, $pop303, $10 + i32.and $push57=, $pop56, $3 + i32.const $push302=, 0 + i32.ne $push58=, $pop57, $pop302 + i32.add $5=, $pop58, $5 i32.const $push301=, 1 - i32.shl $push57=, $pop301, $10 - i32.and $push58=, $pop57, $2 - i32.const $push300=, 0 - i32.ne $push59=, $pop58, $pop300 - i32.add $5=, $pop59, $5 - i32.const $push299=, 1 - i32.add $push298=, $10, $pop299 - tee_local $push297=, $10=, $pop298 - i32.const $push296=, 32 - i32.ne $push60=, $pop297, $pop296 - br_if 0, $pop60 # 0: up to label69 + i32.add $push300=, $10, $pop301 + tee_local $push299=, $10=, $pop300 + i32.const $push298=, 32 + i32.ne $push59=, $pop299, $pop298 + br_if 0, $pop59 # 0: up to label69 # BB#49: # %my_popcountl.exit # in Loop: Header=BB18_28 Depth=1 end_loop # label70: - i32.popcnt $push61=, $2 - i32.ne $push62=, $pop61, $5 - br_if 2, $pop62 # 2: down to label40 -# BB#50: # %for.body.i1609.preheader + i32.popcnt $push60=, $3 + i32.ne $push61=, $pop60, $5 + br_if 2, $pop61 # 2: down to label40 +# BB#50: # %for.body.i1723.preheader # in Loop: Header=BB18_28 Depth=1 i32.const $6=, 0 i32.const $10=, 0 -.LBB18_51: # %for.body.i1609 +.LBB18_51: # %for.body.i1723 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label71: + i32.const $push309=, 1 + i32.shl $push62=, $pop309, $10 + i32.and $push63=, $pop62, $3 + i32.const $push308=, 0 + i32.ne $push64=, $pop63, $pop308 + i32.add $6=, $pop64, $6 i32.const $push307=, 1 - i32.shl $push63=, $pop307, $10 - i32.and $push64=, $pop63, $2 - i32.const $push306=, 0 - i32.ne $push65=, $pop64, $pop306 - i32.add $6=, $pop65, $6 - i32.const $push305=, 1 - i32.add $push304=, $10, $pop305 - tee_local $push303=, $10=, $pop304 - i32.const $push302=, 32 - i32.ne $push66=, $pop303, $pop302 - br_if 0, $pop66 # 0: up to label71 + i32.add $push306=, $10, $pop307 + tee_local $push305=, $10=, $pop306 + i32.const $push304=, 32 + i32.ne $push65=, $pop305, $pop304 + br_if 0, $pop65 # 0: up to label71 # BB#52: # %my_parityl.exit # in Loop: Header=BB18_28 Depth=1 end_loop # label72: - i32.xor $push67=, $6, $5 - i32.const $push308=, 1 - i32.and $push68=, $pop67, $pop308 - br_if 2, $pop68 # 2: down to label40 + i32.xor $push66=, $6, $5 + i32.const $push310=, 1 + i32.and $push67=, $pop66, $pop310 + br_if 2, $pop67 # 2: down to label40 # BB#53: # %for.cond39 # in Loop: Header=BB18_28 Depth=1 - i32.const $push312=, 1 - i32.add $push311=, $0, $pop312 - tee_local $push310=, $0=, $pop311 - i32.const $push309=, 13 - i32.lt_u $push69=, $pop310, $pop309 - br_if 0, $pop69 # 0: up to label57 + i32.const $push314=, 1 + i32.add $push313=, $0, $pop314 + tee_local $push312=, $0=, $pop313 + i32.const $push311=, 13 + i32.lt_u $push68=, $pop312, $pop311 + br_if 0, $pop68 # 0: up to label57 # BB#54: # %for.body92.preheader end_loop # label58: i32.const $5=, 0 .LBB18_55: # %for.body92 # =>This Loop Header: Depth=1 # Child Loop BB18_57 Depth 2 - # Child Loop BB18_62 Depth 2 - # Child Loop BB18_66 Depth 2 - # Child Loop BB18_70 Depth 2 - # Child Loop BB18_74 Depth 2 - # Child Loop BB18_77 Depth 2 + # Child Loop BB18_63 Depth 2 + # Child Loop BB18_67 Depth 2 + # Child Loop BB18_71 Depth 2 + # Child Loop BB18_75 Depth 2 + # Child Loop BB18_78 Depth 2 loop # label73: - i32.const $push323=, 0 - i32.const $push322=, 3 - i32.shl $push321=, $5, $pop322 - tee_local $push320=, $4=, $pop321 - i64.load $push319=, longlongs($pop320) - tee_local $push318=, $9=, $pop319 - i64.ctz $push317=, $pop318 - tee_local $push316=, $3=, $pop317 - i64.const $push315=, 1 - i64.add $push70=, $pop316, $pop315 - i32.wrap/i64 $push71=, $pop70 - i64.eqz $push314=, $9 - tee_local $push313=, $6=, $pop314 - i32.select $0=, $pop323, $pop71, $pop313 + i32.const $push325=, 0 + i32.const $push324=, 3 + i32.shl $push323=, $5, $pop324 + tee_local $push322=, $0=, $pop323 + i64.load $push321=, longlongs($pop322) + tee_local $push320=, $8=, $pop321 + i64.ctz $push319=, $pop320 + tee_local $push318=, $4=, $pop319 + i64.const $push317=, 1 + i64.add $push69=, $pop318, $pop317 + i32.wrap/i64 $push70=, $pop69 + i64.eqz $push316=, $8 + tee_local $push315=, $3=, $pop316 + i32.select $6=, $pop325, $pop70, $pop315 i32.const $10=, 0 block - br_if 0, $6 # 0: down to label75 -# BB#56: # %for.cond.i1687.preheader + br_if 0, $3 # 0: down to label75 +# BB#56: # %for.body.i1814.preheader # in Loop: Header=BB18_55 Depth=1 - i64.const $8=, 0 - i32.const $2=, 1 -.LBB18_57: # %for.cond.i1687 + i32.const $10=, 0 + i64.const $9=, 0 +.LBB18_57: # %for.body.i1814 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label76: - copy_local $10=, $2 - i64.const $push324=, 63 - i64.gt_u $push72=, $8, $pop324 - br_if 1, $pop72 # 1: down to label77 -# BB#58: # %for.body.i1691 + i64.const $push327=, 1 + i64.shl $push71=, $pop327, $9 + i64.and $push72=, $pop71, $8 + i64.const $push326=, 0 + i64.ne $push73=, $pop72, $pop326 + br_if 1, $pop73 # 1: down to label77 +# BB#58: # %for.inc.i1818 # in Loop: Header=BB18_57 Depth=2 - i32.const $push327=, 1 - i32.add $2=, $10, $pop327 - i64.const $push326=, 1 - i64.shl $7=, $pop326, $8 - i64.const $push325=, 1 - i64.add $push3=, $8, $pop325 - copy_local $8=, $pop3 - i64.and $push73=, $7, $9 - i64.eqz $push74=, $pop73 + i32.const $push332=, 1 + i32.add $10=, $10, $pop332 + i64.const $push331=, 1 + i64.add $push330=, $9, $pop331 + tee_local $push329=, $9=, $pop330 + i64.const $push328=, 64 + i64.lt_u $push74=, $pop329, $pop328 br_if 0, $pop74 # 0: up to label76 -.LBB18_59: # %my_ffsll.exit1693 +.LBB18_59: # %for.end.i1821 # in Loop: Header=BB18_55 Depth=1 end_loop # label77: + i32.const $push333=, 1 + i32.add $10=, $10, $pop333 +.LBB18_60: # %my_ffsll.exit1823 + # in Loop: Header=BB18_55 Depth=1 end_block # label75: - i32.ne $push75=, $0, $10 + i32.ne $push75=, $6, $10 br_if 2, $pop75 # 2: down to label40 -# BB#60: # %if.end100 +# BB#61: # %if.end100 # in Loop: Header=BB18_55 Depth=1 block - br_if 0, $6 # 0: down to label78 -# BB#61: # %land.lhs.true103 + br_if 0, $3 # 0: down to label78 +# BB#62: # %land.lhs.true103 # in Loop: Header=BB18_55 Depth=1 - i64.clz $push76=, $9 - i32.wrap/i64 $2=, $pop76 + i64.clz $push76=, $8 + i32.wrap/i64 $3=, $pop76 i32.const $10=, 0 i64.const $7=, 0 - i64.const $8=, 63 -.LBB18_62: # %for.body.i1763 + i64.const $9=, 63 +.LBB18_63: # %for.body.i1902 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label79: - i64.const $push330=, 1 - i64.const $push329=, 4294967295 - i64.and $push77=, $8, $pop329 - i64.shl $push78=, $pop330, $pop77 - i64.and $push79=, $pop78, $9 - i64.const $push328=, 0 - i64.ne $push80=, $pop79, $pop328 + i64.const $push336=, 1 + i64.const $push335=, 4294967295 + i64.and $push77=, $9, $pop335 + i64.shl $push78=, $pop336, $pop77 + i64.and $push79=, $pop78, $8 + i64.const $push334=, 0 + i64.ne $push80=, $pop79, $pop334 br_if 1, $pop80 # 1: down to label80 -# BB#63: # %for.inc.i1767 - # in Loop: Header=BB18_62 Depth=2 - i64.const $push336=, -1 - i64.add $8=, $8, $pop336 - i32.const $push335=, 1 - i32.add $10=, $10, $pop335 - i64.const $push334=, 1 - i64.add $push333=, $7, $pop334 - tee_local $push332=, $7=, $pop333 - i64.const $push331=, 64 - i64.lt_u $push81=, $pop332, $pop331 +# BB#64: # %for.inc.i1906 + # in Loop: Header=BB18_63 Depth=2 + i64.const $push342=, -1 + i64.add $9=, $9, $pop342 + i32.const $push341=, 1 + i32.add $10=, $10, $pop341 + i64.const $push340=, 1 + i64.add $push339=, $7, $pop340 + tee_local $push338=, $7=, $pop339 + i64.const $push337=, 64 + i64.lt_u $push81=, $pop338, $pop337 br_if 0, $pop81 # 0: up to label79 -.LBB18_64: # %my_clzll.exit1769 +.LBB18_65: # %my_clzll.exit1909 # in Loop: Header=BB18_55 Depth=1 end_loop # label80: - i32.ne $push82=, $2, $10 + i32.ne $push82=, $3, $10 br_if 3, $pop82 # 3: down to label40 -# BB#65: # %land.lhs.true113 +# BB#66: # %land.lhs.true113 # in Loop: Header=BB18_55 Depth=1 - i32.wrap/i64 $2=, $3 + i32.wrap/i64 $3=, $4 i32.const $10=, 0 - i64.const $8=, 0 -.LBB18_66: # %for.body.i1805 + i64.const $9=, 0 +.LBB18_67: # %for.body.i1948 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label81: - i64.const $push338=, 1 - i64.shl $push83=, $pop338, $8 - i64.and $push84=, $pop83, $9 - i64.const $push337=, 0 - i64.ne $push85=, $pop84, $pop337 + i64.const $push344=, 1 + i64.shl $push83=, $pop344, $9 + i64.and $push84=, $pop83, $8 + i64.const $push343=, 0 + i64.ne $push85=, $pop84, $pop343 br_if 1, $pop85 # 1: down to label82 -# BB#67: # %for.inc.i1809 - # in Loop: Header=BB18_66 Depth=2 - i32.const $push343=, 1 - i32.add $10=, $10, $pop343 - i64.const $push342=, 1 - i64.add $push341=, $8, $pop342 - tee_local $push340=, $8=, $pop341 - i64.const $push339=, 64 - i64.lt_u $push86=, $pop340, $pop339 +# BB#68: # %for.inc.i1952 + # in Loop: Header=BB18_67 Depth=2 + i32.const $push349=, 1 + i32.add $10=, $10, $pop349 + i64.const $push348=, 1 + i64.add $push347=, $9, $pop348 + tee_local $push346=, $9=, $pop347 + i64.const $push345=, 64 + i64.lt_u $push86=, $pop346, $pop345 br_if 0, $pop86 # 0: up to label81 -.LBB18_68: # %my_ctzll.exit1811 +.LBB18_69: # %my_ctzll.exit1955 # in Loop: Header=BB18_55 Depth=1 end_loop # label82: - i32.ne $push87=, $2, $10 + i32.ne $push87=, $3, $10 br_if 3, $pop87 # 3: down to label40 -.LBB18_69: # %if.end120 +.LBB18_70: # %if.end120 # in Loop: Header=BB18_55 Depth=1 end_block # label78: - i32.call $2=, __builtin_clrsbll@FUNCTION, $9 - i32.const $push347=, longlongs - i32.add $push2=, $4, $pop347 - i64.load $push346=, 0($pop2) - tee_local $push345=, $9=, $pop346 - i64.const $push344=, 63 - i64.shr_u $3=, $pop345, $pop344 + i32.call $3=, __builtin_clrsbll@FUNCTION, $8 + i32.const $push353=, longlongs + i32.add $push2=, $0, $pop353 + i64.load $push352=, 0($pop2) + tee_local $push351=, $9=, $pop352 + i64.const $push350=, 63 + i64.shr_u $4=, $pop351, $pop350 i32.const $10=, 1 i64.const $7=, 1 i64.const $8=, 62 -.LBB18_70: # %for.body.i1869 +.LBB18_71: # %for.body.i2018 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label83: i64.shr_u $push88=, $9, $8 - i64.const $push348=, 1 - i64.and $push89=, $pop88, $pop348 - i64.ne $push90=, $pop89, $3 + i64.const $push354=, 1 + i64.and $push89=, $pop88, $pop354 + i64.ne $push90=, $pop89, $4 br_if 1, $pop90 # 1: down to label84 -# BB#71: # %for.inc.i1873 - # in Loop: Header=BB18_70 Depth=2 - i64.const $push354=, -1 - i64.add $8=, $8, $pop354 - i32.const $push353=, 1 - i32.add $10=, $10, $pop353 - i64.const $push352=, 1 - i64.add $push351=, $7, $pop352 - tee_local $push350=, $7=, $pop351 - i64.const $push349=, 64 - i64.lt_u $push91=, $pop350, $pop349 +# BB#72: # %for.inc.i2022 + # in Loop: Header=BB18_71 Depth=2 + i64.const $push360=, -1 + i64.add $8=, $8, $pop360 + i32.const $push359=, 1 + i32.add $10=, $10, $pop359 + i64.const $push358=, 1 + i64.add $push357=, $7, $pop358 + tee_local $push356=, $7=, $pop357 + i64.const $push355=, 64 + i64.lt_u $push91=, $pop356, $pop355 br_if 0, $pop91 # 0: up to label83 -.LBB18_72: # %my_clrsbll.exit1876 +.LBB18_73: # %my_clrsbll.exit2026 # in Loop: Header=BB18_55 Depth=1 end_loop # label84: - i32.const $push355=, -1 - i32.add $push92=, $10, $pop355 - i32.ne $push93=, $2, $pop92 + i32.const $push361=, -1 + i32.add $push92=, $10, $pop361 + i32.ne $push93=, $3, $pop92 br_if 2, $pop93 # 2: down to label40 -# BB#73: # %if.end127 +# BB#74: # %if.end127 # in Loop: Header=BB18_55 Depth=1 i64.popcnt $7=, $9 i32.const $10=, 0 i64.const $8=, 0 -.LBB18_74: # %for.body.i1952 +.LBB18_75: # %for.body.i2110 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label85: - i64.const $push361=, 1 - i64.shl $push94=, $pop361, $8 + i64.const $push367=, 1 + i64.shl $push94=, $pop367, $8 i64.and $push95=, $pop94, $9 - i64.const $push360=, 0 - i64.ne $push96=, $pop95, $pop360 + i64.const $push366=, 0 + i64.ne $push96=, $pop95, $pop366 i32.add $10=, $pop96, $10 - i64.const $push359=, 1 - i64.add $push358=, $8, $pop359 - tee_local $push357=, $8=, $pop358 - i64.const $push356=, 64 - i64.ne $push97=, $pop357, $pop356 + i64.const $push365=, 1 + i64.add $push364=, $8, $pop365 + tee_local $push363=, $8=, $pop364 + i64.const $push362=, 64 + i64.ne $push97=, $pop363, $pop362 br_if 0, $pop97 # 0: up to label85 -# BB#75: # %my_popcountll.exit1953 +# BB#76: # %my_popcountll.exit2112 # in Loop: Header=BB18_55 Depth=1 end_loop # label86: i32.wrap/i64 $push98=, $7 i32.ne $push99=, $pop98, $10 br_if 2, $pop99 # 2: down to label40 -# BB#76: # %for.body.i2029.preheader +# BB#77: # %for.body.i2196.preheader # in Loop: Header=BB18_55 Depth=1 - i32.const $2=, 0 + i32.const $3=, 0 i64.const $8=, 0 -.LBB18_77: # %for.body.i2029 +.LBB18_78: # %for.body.i2196 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label87: - i64.const $push367=, 1 - i64.shl $push100=, $pop367, $8 + i64.const $push373=, 1 + i64.shl $push100=, $pop373, $8 i64.and $push101=, $pop100, $9 - i64.const $push366=, 0 - i64.ne $push102=, $pop101, $pop366 - i32.add $2=, $pop102, $2 - i64.const $push365=, 1 - i64.add $push364=, $8, $pop365 - tee_local $push363=, $8=, $pop364 - i64.const $push362=, 64 - i64.ne $push103=, $pop363, $pop362 + i64.const $push372=, 0 + i64.ne $push102=, $pop101, $pop372 + i32.add $3=, $pop102, $3 + i64.const $push371=, 1 + i64.add $push370=, $8, $pop371 + tee_local $push369=, $8=, $pop370 + i64.const $push368=, 64 + i64.ne $push103=, $pop369, $pop368 br_if 0, $pop103 # 0: up to label87 -# BB#78: # %my_parityll.exit2031 +# BB#79: # %my_parityll.exit2199 # in Loop: Header=BB18_55 Depth=1 end_loop # label88: - i32.xor $push104=, $2, $10 - i32.const $push368=, 1 - i32.and $push105=, $pop104, $pop368 + i32.xor $push104=, $3, $10 + i32.const $push374=, 1 + i32.and $push105=, $pop104, $pop374 br_if 3, $pop105 # 3: down to label39 -# BB#79: # %for.cond90 +# BB#80: # %for.cond90 # in Loop: Header=BB18_55 Depth=1 - i32.const $push372=, 1 - i32.add $push371=, $5, $pop372 - tee_local $push370=, $5=, $pop371 - i32.const $push369=, 12 - i32.le_u $push106=, $pop370, $pop369 + i32.const $push378=, 1 + i32.add $push377=, $5, $pop378 + tee_local $push376=, $5=, $pop377 + i32.const $push375=, 12 + i32.le_u $push106=, $pop376, $pop375 br_if 0, $pop106 # 0: up to label73 -# BB#80: # %if.end148 +# BB#81: # %if.end148 end_loop # label74: i32.const $push107=, 0 i32.call $push108=, __builtin_clrsb@FUNCTION, $pop107 i32.const $push109=, 31 i32.ne $push110=, $pop108, $pop109 br_if 0, $pop110 # 0: down to label40 -# BB#81: # %my_clrsb.exit2539 +# BB#82: # %my_clrsb.exit2770 i32.const $push111=, 1 i32.call $push112=, __builtin_clrsb@FUNCTION, $pop111 i32.const $push113=, 30 i32.ne $push114=, $pop112, $pop113 br_if 0, $pop114 # 0: down to label40 -# BB#82: # %if.end198 +# BB#83: # %if.end198 i32.const $push115=, -2147483648 i32.call $push116=, __builtin_clrsb@FUNCTION, $pop115 br_if 0, $pop116 # 0: down to label40 -# BB#83: # %my_clrsb.exit2386 +# BB#84: # %my_clrsb.exit2597 i32.const $push117=, 1073741824 i32.call $push118=, __builtin_clrsb@FUNCTION, $pop117 br_if 0, $pop118 # 0: down to label40 -# BB#84: # %my_clrsb.exit2312 +# BB#85: # %my_clrsb.exit2514 i32.const $push119=, 65536 i32.call $push120=, __builtin_clrsb@FUNCTION, $pop119 i32.const $push121=, 14 i32.ne $push122=, $pop120, $pop121 br_if 0, $pop122 # 0: down to label40 -# BB#85: # %my_clrsb.exit2239 +# BB#86: # %my_clrsb.exit2432 i32.const $push123=, 32768 i32.call $push124=, __builtin_clrsb@FUNCTION, $pop123 i32.const $push125=, 15 i32.ne $push126=, $pop124, $pop125 br_if 0, $pop126 # 0: down to label40 -# BB#86: # %my_clrsb.exit2164 +# BB#87: # %my_clrsb.exit2348 i32.const $push127=, -1515870811 i32.call $push128=, __builtin_clrsb@FUNCTION, $pop127 br_if 0, $pop128 # 0: down to label40 -# BB#87: # %my_clrsb.exit2097 +# BB#88: # %my_clrsb.exit2273 i32.const $push129=, 1515870810 i32.call $push130=, __builtin_clrsb@FUNCTION, $pop129 br_if 0, $pop130 # 0: down to label40 -# BB#88: # %for.body.i2013 +# BB#89: # %for.body.i2179 i32.const $push131=, -889323520 i32.call $push132=, __builtin_clrsb@FUNCTION, $pop131 i32.const $push133=, 1 i32.ne $push134=, $pop132, $pop133 br_if 0, $pop134 # 0: down to label40 -# BB#89: # %for.body.i1936 +# BB#90: # %for.body.i2093 i32.const $push135=, 13303296 i32.call $push136=, __builtin_clrsb@FUNCTION, $pop135 i32.const $push137=, 7 i32.ne $push138=, $pop136, $pop137 br_if 0, $pop138 # 0: down to label40 -# BB#90: # %for.body.i1856 +# BB#91: # %for.body.i2004 i32.const $push139=, 51966 i32.call $push140=, __builtin_clrsb@FUNCTION, $pop139 i32.const $push141=, 15 i32.ne $push142=, $pop140, $pop141 br_if 0, $pop142 # 0: down to label40 -# BB#91: # %if.end423 - i32.const $push373=, -1 - i32.call $5=, __builtin_clrsb@FUNCTION, $pop373 +# BB#92: # %if.end423 + i32.const $push379=, -1 + i32.call $5=, __builtin_clrsb@FUNCTION, $pop379 i32.const $10=, 30 - i32.const $2=, 1 -.LBB18_92: # %for.body.i1793 + i32.const $3=, 1 +.LBB18_93: # %for.body.i1935 # =>This Inner Loop Header: Depth=1 loop # label89: - i32.const $push375=, -1 - i32.shr_u $push143=, $pop375, $10 - i32.const $push374=, 1 - i32.and $push144=, $pop143, $pop374 - i32.eqz $push422=, $pop144 - br_if 1, $pop422 # 1: down to label90 -# BB#93: # %for.inc.i1796 - # in Loop: Header=BB18_92 Depth=1 - i32.const $push380=, -1 - i32.add $10=, $10, $pop380 - i32.const $push379=, 1 - i32.add $push378=, $2, $pop379 - tee_local $push377=, $2=, $pop378 - i32.const $push376=, 32 - i32.lt_u $push145=, $pop377, $pop376 + i32.const $push381=, -1 + i32.shr_u $push143=, $pop381, $10 + i32.const $push380=, 1 + i32.and $push144=, $pop143, $pop380 + i32.eqz $push431=, $pop144 + br_if 1, $pop431 # 1: down to label90 +# BB#94: # %for.inc.i1938 + # in Loop: Header=BB18_93 Depth=1 + i32.const $push386=, -1 + i32.add $10=, $10, $pop386 + i32.const $push385=, 1 + i32.add $push384=, $3, $pop385 + tee_local $push383=, $3=, $pop384 + i32.const $push382=, 32 + i32.lt_u $push145=, $pop383, $pop382 br_if 0, $pop145 # 0: up to label89 -.LBB18_94: # %my_clrsb.exit1799 +.LBB18_95: # %my_clrsb.exit1942 end_loop # label90: i32.const $push146=, -1 - i32.add $push147=, $2, $pop146 + i32.add $push147=, $3, $pop146 i32.ne $push148=, $5, $pop147 br_if 0, $pop148 # 0: down to label40 -# BB#95: # %if.end440 +# BB#96: # %if.end440 i64.const $9=, 0 - i64.const $push381=, 0 - i32.call $push149=, __builtin_clrsbll@FUNCTION, $pop381 + i64.const $push387=, 0 + i32.call $push149=, __builtin_clrsbll@FUNCTION, $pop387 i32.const $push150=, 63 i32.ne $push151=, $pop149, $pop150 br_if 0, $pop151 # 0: down to label40 -# BB#96: # %for.body.i1713.preheader +# BB#97: # %for.body.i1844.preheader i32.const $10=, 0 i64.const $8=, 63 -.LBB18_97: # %for.body.i1713 +.LBB18_98: # %for.body.i1844 # =>This Inner Loop Header: Depth=1 loop # label91: i32.wrap/i64 $push152=, $8 - i32.eqz $push423=, $pop152 - br_if 1, $pop423 # 1: down to label92 -# BB#98: # %for.inc.i1717 - # in Loop: Header=BB18_97 Depth=1 - i64.const $push387=, -1 - i64.add $8=, $8, $pop387 - i32.const $push386=, 1 - i32.add $10=, $10, $pop386 - i64.const $push385=, 1 - i64.add $push384=, $9, $pop385 - tee_local $push383=, $9=, $pop384 - i64.const $push382=, 64 - i64.lt_u $push153=, $pop383, $pop382 + i32.eqz $push432=, $pop152 + br_if 1, $pop432 # 1: down to label92 +# BB#99: # %for.inc.i1848 + # in Loop: Header=BB18_98 Depth=1 + i64.const $push393=, -1 + i64.add $8=, $8, $pop393 + i32.const $push392=, 1 + i32.add $10=, $10, $pop392 + i64.const $push391=, 1 + i64.add $push390=, $9, $pop391 + tee_local $push389=, $9=, $pop390 + i64.const $push388=, 64 + i64.lt_u $push153=, $pop389, $pop388 br_if 0, $pop153 # 0: up to label91 -.LBB18_99: # %my_clzll.exit1719 +.LBB18_100: # %my_clzll.exit1851 end_loop # label92: i32.const $push154=, 63 i32.ne $push155=, $10, $pop154 br_if 0, $pop155 # 0: down to label40 -# BB#100: # %if.end465 - i64.const $push388=, 1 - i32.call $2=, __builtin_clrsbll@FUNCTION, $pop388 +# BB#101: # %if.end465 + i64.const $push394=, 1 + i32.call $3=, __builtin_clrsbll@FUNCTION, $pop394 i64.const $8=, 1 -.LBB18_101: # %for.body.i1675 +.LBB18_102: # %for.body.i1799 # =>This Inner Loop Header: Depth=1 loop # label93: i32.const $10=, 62 - i64.const $push389=, 63 - i64.eq $push156=, $8, $pop389 + i64.const $push395=, 63 + i64.eq $push156=, $8, $pop395 br_if 1, $pop156 # 1: down to label94 -# BB#102: # %for.inc.i1679 - # in Loop: Header=BB18_101 Depth=1 +# BB#103: # %for.inc.i1803 + # in Loop: Header=BB18_102 Depth=1 i32.const $10=, 63 - i64.const $push393=, 1 - i64.add $push392=, $8, $pop393 - tee_local $push391=, $8=, $pop392 - i64.const $push390=, 64 - i64.lt_u $push157=, $pop391, $pop390 + i64.const $push399=, 1 + i64.add $push398=, $8, $pop399 + tee_local $push397=, $8=, $pop398 + i64.const $push396=, 64 + i64.lt_u $push157=, $pop397, $pop396 br_if 0, $pop157 # 0: up to label93 -.LBB18_103: # %my_clrsbll.exit1682 +.LBB18_104: # %my_clrsbll.exit1807 end_loop # label94: - i32.ne $push158=, $2, $10 + i32.ne $push158=, $3, $10 br_if 0, $pop158 # 0: down to label40 -# BB#104: # %for.body.i1616.preheader +# BB#105: # %for.body.i1759.preheader i64.const $8=, 0 -.LBB18_105: # %for.body.i1616 +.LBB18_106: # %for.body.i1759 # =>This Inner Loop Header: Depth=1 block loop # label96: - i64.const $push394=, 63 - i64.eq $push159=, $8, $pop394 + i64.const $push400=, 63 + i64.eq $push159=, $8, $pop400 br_if 2, $pop159 # 2: down to label95 -# BB#106: # %for.inc.i1620 - # in Loop: Header=BB18_105 Depth=1 - i64.const $push398=, 1 - i64.add $push397=, $8, $pop398 - tee_local $push396=, $8=, $pop397 - i64.const $push395=, 64 - i64.lt_u $push160=, $pop396, $pop395 +# BB#107: # %for.inc.i1763 + # in Loop: Header=BB18_106 Depth=1 + i64.const $push404=, 1 + i64.add $push403=, $8, $pop404 + tee_local $push402=, $8=, $pop403 + i64.const $push401=, 64 + i64.lt_u $push160=, $pop402, $pop401 br_if 0, $pop160 # 0: up to label96 -# BB#107: # %if.then489 +# BB#108: # %if.then481 end_loop # label97: call abort@FUNCTION unreachable -.LBB18_108: # %if.end490 +.LBB18_109: # %for.body.i1731.preheader end_block # label95: - i64.const $push161=, -9223372036854775808 - i32.call $push162=, __builtin_clrsbll@FUNCTION, $pop161 - br_if 0, $pop162 # 0: down to label40 -# BB#109: # %for.body.i1547.preheader + i64.const $8=, 0 +.LBB18_110: # %for.body.i1731 + # =>This Inner Loop Header: Depth=1 + block + loop # label99: + i64.const $push405=, 63 + i64.eq $push161=, $8, $pop405 + br_if 2, $pop161 # 2: down to label98 +# BB#111: # %for.inc.i1735 + # in Loop: Header=BB18_110 Depth=1 + i64.const $push409=, 1 + i64.add $push408=, $8, $pop409 + tee_local $push407=, $8=, $pop408 + i64.const $push406=, 64 + i64.lt_u $push162=, $pop407, $pop406 + br_if 0, $pop162 # 0: up to label99 +# BB#112: # %if.then489 + end_loop # label100: + call abort@FUNCTION + unreachable +.LBB18_113: # %if.end490 + end_block # label98: + i64.const $push163=, -9223372036854775808 + i32.call $push164=, __builtin_clrsbll@FUNCTION, $pop163 + br_if 0, $pop164 # 0: down to label40 +# BB#114: # %for.body.i1652.preheader i32.const $10=, 63 i64.const $8=, 63 -.LBB18_110: # %for.body.i1547 +.LBB18_115: # %for.body.i1652 # =>This Inner Loop Header: Depth=1 - loop # label98: - i32.const $push401=, -1 - i32.add $10=, $10, $pop401 - i32.wrap/i64 $2=, $8 - i64.const $push400=, -1 - i64.add $push4=, $8, $pop400 - copy_local $8=, $pop4 - i32.const $push399=, 1 - i32.ne $push163=, $2, $pop399 - br_if 0, $pop163 # 0: up to label98 -# BB#111: # %my_clzll.exit1553 - end_loop # label99: + loop # label101: + i32.const $push412=, -1 + i32.add $10=, $10, $pop412 + i32.wrap/i64 $3=, $8 + i64.const $push411=, -1 + i64.add $push3=, $8, $pop411 + copy_local $8=, $pop3 + i32.const $push410=, 1 + i32.ne $push165=, $3, $pop410 + br_if 0, $pop165 # 0: up to label101 +# BB#116: # %my_clzll.exit1659 + end_loop # label102: br_if 0, $10 # 0: down to label40 -# BB#112: # %for.body.i1510 - i64.const $push164=, 2 - i32.call $push165=, __builtin_clrsbll@FUNCTION, $pop164 - i32.const $push166=, 61 - i32.ne $push167=, $pop165, $pop166 - br_if 0, $pop167 # 0: down to label40 -# BB#113: # %my_clrsbll.exit1433 - i64.const $push168=, 4611686018427387904 - i32.call $push169=, __builtin_clrsbll@FUNCTION, $pop168 +# BB#117: # %for.body.i1612 + i64.const $push166=, 2 + i32.call $push167=, __builtin_clrsbll@FUNCTION, $pop166 + i32.const $push168=, 61 + i32.ne $push169=, $pop167, $pop168 br_if 0, $pop169 # 0: down to label40 -# BB#114: # %for.body.i1345 - i64.const $push170=, 4294967296 +# BB#118: # %my_clrsbll.exit1525 + i64.const $push170=, 4611686018427387904 i32.call $push171=, __builtin_clrsbll@FUNCTION, $pop170 - i32.const $push172=, 30 - i32.ne $push173=, $pop171, $pop172 - br_if 0, $pop173 # 0: down to label40 -# BB#115: # %for.body.i1263 - i64.const $push174=, 2147483648 - i32.call $push175=, __builtin_clrsbll@FUNCTION, $pop174 - i32.const $push176=, 31 - i32.ne $push177=, $pop175, $pop176 - br_if 0, $pop177 # 0: down to label40 -# BB#116: # %my_clrsbll.exit1188 - i64.const $push178=, -6510615555426900571 - i32.call $push179=, __builtin_clrsbll@FUNCTION, $pop178 + br_if 0, $pop171 # 0: down to label40 +# BB#119: # %for.body.i1425 + i64.const $push172=, 4294967296 + i32.call $push173=, __builtin_clrsbll@FUNCTION, $pop172 + i32.const $push174=, 30 + i32.ne $push175=, $pop173, $pop174 + br_if 0, $pop175 # 0: down to label40 +# BB#120: # %for.body.i1332 + i64.const $push176=, 2147483648 + i32.call $push177=, __builtin_clrsbll@FUNCTION, $pop176 + i32.const $push178=, 31 + i32.ne $push179=, $pop177, $pop178 br_if 0, $pop179 # 0: down to label40 -# BB#117: # %my_clrsbll.exit1106 - i64.const $push180=, 6510615555426900570 +# BB#121: # %my_clrsbll.exit1245 + i64.const $push180=, -6510615555426900571 i32.call $push181=, __builtin_clrsbll@FUNCTION, $pop180 br_if 0, $pop181 # 0: down to label40 -# BB#118: # %for.body.i1019 - i64.const $push182=, -3819392241693097984 +# BB#122: # %my_clrsbll.exit1152 + i64.const $push182=, 6510615555426900570 i32.call $push183=, __builtin_clrsbll@FUNCTION, $pop182 - i32.const $push184=, 1 - i32.ne $push185=, $pop183, $pop184 - br_if 0, $pop185 # 0: down to label40 -# BB#119: # %for.body.i941 - i64.const $push186=, 223195676147712 - i32.call $push187=, __builtin_clrsbll@FUNCTION, $pop186 - i32.const $push188=, 15 - i32.ne $push189=, $pop187, $pop188 - br_if 0, $pop189 # 0: down to label40 -# BB#120: # %for.body.i898.preheader + br_if 0, $pop183 # 0: down to label40 +# BB#123: # %for.body.i1053 + i64.const $push184=, -3819392241693097984 + i32.call $push185=, __builtin_clrsbll@FUNCTION, $pop184 + i32.const $push186=, 1 + i32.ne $push187=, $pop185, $pop186 + br_if 0, $pop187 # 0: down to label40 +# BB#124: # %for.body.i964 + i64.const $push188=, 223195676147712 + i32.call $push189=, __builtin_clrsbll@FUNCTION, $pop188 + i32.const $push190=, 15 + i32.ne $push191=, $pop189, $pop190 + br_if 0, $pop191 # 0: down to label40 +# BB#125: # %for.body.i913.preheader i32.const $10=, 33 i64.const $8=, 63 -.LBB18_121: # %for.body.i898 +.LBB18_126: # %for.body.i913 # =>This Inner Loop Header: Depth=1 - loop # label100: - i32.const $push406=, -1 - i32.add $10=, $10, $pop406 - i64.const $push405=, 4294967295 - i64.and $9=, $8, $pop405 - i64.const $push404=, -1 - i64.add $push5=, $8, $pop404 - copy_local $8=, $pop5 - i64.const $push403=, 1 - i64.shl $push190=, $pop403, $9 - i64.const $push402=, 3405695742 - i64.and $push191=, $pop190, $pop402 - i64.eqz $push192=, $pop191 - br_if 0, $pop192 # 0: up to label100 -# BB#122: # %my_clzll.exit - end_loop # label101: + loop # label103: + i32.const $push417=, -1 + i32.add $10=, $10, $pop417 + i64.const $push416=, 4294967295 + i64.and $9=, $8, $pop416 + i64.const $push415=, -1 + i64.add $push4=, $8, $pop415 + copy_local $8=, $pop4 + i64.const $push414=, 1 + i64.shl $push192=, $pop414, $9 + i64.const $push413=, 3405695742 + i64.and $push193=, $pop192, $pop413 + i64.eqz $push194=, $pop193 + br_if 0, $pop194 # 0: up to label103 +# BB#127: # %my_clzll.exit + end_loop # label104: br_if 0, $10 # 0: down to label40 -# BB#123: # %for.body.i865 - i64.const $push193=, 3405695742 - i32.call $push194=, __builtin_clrsbll@FUNCTION, $pop193 - i32.const $push195=, 31 - i32.ne $push196=, $pop194, $pop195 - br_if 0, $pop196 # 0: down to label40 -# BB#124: # %if.end740 - i64.const $push407=, -1 - i32.call $2=, __builtin_clrsbll@FUNCTION, $pop407 +# BB#128: # %for.body.i877 + i64.const $push195=, 3405695742 + i32.call $push196=, __builtin_clrsbll@FUNCTION, $pop195 + i32.const $push197=, 31 + i32.ne $push198=, $pop196, $pop197 + br_if 0, $pop198 # 0: down to label40 +# BB#129: # %if.end740 + i64.const $push418=, -1 + i32.call $3=, __builtin_clrsbll@FUNCTION, $pop418 i64.const $8=, 62 i64.const $9=, 1 i32.const $10=, 1 -.LBB18_125: # %for.body.i810 +.LBB18_130: # %for.body.i812 # =>This Inner Loop Header: Depth=1 - loop # label102: - i64.const $push409=, -1 - i64.shr_u $push197=, $pop409, $8 - i64.const $push408=, 1 - i64.and $push198=, $pop197, $pop408 - i64.eqz $push199=, $pop198 - br_if 1, $pop199 # 1: down to label103 -# BB#126: # %for.inc.i - # in Loop: Header=BB18_125 Depth=1 - i64.const $push415=, -1 - i64.add $8=, $8, $pop415 - i32.const $push414=, 1 - i32.add $10=, $10, $pop414 - i64.const $push413=, 1 - i64.add $push412=, $9, $pop413 - tee_local $push411=, $9=, $pop412 - i64.const $push410=, 64 - i64.lt_u $push200=, $pop411, $pop410 - br_if 0, $pop200 # 0: up to label102 -.LBB18_127: # %my_clrsbll.exit - end_loop # label103: - i32.const $push201=, -1 - i32.add $push202=, $10, $pop201 - i32.ne $push203=, $2, $pop202 - br_if 0, $pop203 # 0: down to label40 -# BB#128: # %if.end753 - i32.const $push204=, 0 - call exit@FUNCTION, $pop204 + loop # label105: + i64.const $push420=, -1 + i64.shr_u $push199=, $pop420, $8 + i64.const $push419=, 1 + i64.and $push200=, $pop199, $pop419 + i64.eqz $push201=, $pop200 + br_if 1, $pop201 # 1: down to label106 +# BB#131: # %for.inc.i816 + # in Loop: Header=BB18_130 Depth=1 + i64.const $push426=, -1 + i64.add $8=, $8, $pop426 + i32.const $push425=, 1 + i32.add $10=, $10, $pop425 + i64.const $push424=, 1 + i64.add $push423=, $9, $pop424 + tee_local $push422=, $9=, $pop423 + i64.const $push421=, 64 + i64.lt_u $push202=, $pop422, $pop421 + br_if 0, $pop202 # 0: up to label105 +.LBB18_132: # %my_clrsbll.exit + end_loop # label106: + i32.const $push203=, -1 + i32.add $push204=, $10, $pop203 + i32.ne $push205=, $3, $pop204 + br_if 0, $pop205 # 0: down to label40 +# BB#133: # %if.end753 + i32.const $push206=, 0 + call exit@FUNCTION, $pop206 unreachable -.LBB18_129: # %if.then37 +.LBB18_134: # %if.then37 end_block # label40: call abort@FUNCTION unreachable -.LBB18_130: # %if.then140 +.LBB18_135: # %if.then140 end_block # label39: call abort@FUNCTION unreachable diff --git a/test/torture-s/compare-1.c.s b/test/torture-s/compare-1.c.s index 2f37d2763..17360377a 100644 --- a/test/torture-s/compare-1.c.s +++ b/test/torture-s/compare-1.c.s @@ -25,50 +25,50 @@ ieq: # @ieq end_block # label4: i32.eqz $push4=, $2 br_if 2, $pop4 # 2: down to label1 -.LBB0_3: # %if.end +.LBB0_3: # %if.end6 end_block # label3: block block br_if 0, $0 # 0: down to label6 -# BB#4: # %if.then8 +# BB#4: # %if.then10 br_if 1, $2 # 1: down to label5 -# BB#5: # %if.then10 +# BB#5: # %if.then12 call abort@FUNCTION unreachable -.LBB0_6: # %if.else12 +.LBB0_6: # %if.else14 end_block # label6: br_if 1, $2 # 1: down to label2 -.LBB0_7: # %if.end16 +.LBB0_7: # %if.end18 end_block # label5: block block i32.eqz $push5=, $0 br_if 0, $pop5 # 0: down to label8 -# BB#8: # %if.else24 +# BB#8: # %if.else26 i32.eqz $push6=, $2 br_if 1, $pop6 # 1: down to label7 br 2 # 2: down to label2 -.LBB0_9: # %if.then20 +.LBB0_9: # %if.then22 end_block # label8: i32.eqz $push7=, $2 br_if 3, $pop7 # 3: down to label0 -.LBB0_10: # %if.end28 +.LBB0_10: # %if.end30 end_block # label7: block block br_if 0, $0 # 0: down to label10 -# BB#11: # %if.then32 +# BB#11: # %if.then34 br_if 1, $2 # 1: down to label9 -# BB#12: # %if.then34 +# BB#12: # %if.then36 call abort@FUNCTION unreachable -.LBB0_13: # %if.else36 +.LBB0_13: # %if.else38 end_block # label10: br_if 1, $2 # 1: down to label2 -.LBB0_14: # %if.end40 +.LBB0_14: # %if.end42 end_block # label9: return $2 -.LBB0_15: # %if.then38 +.LBB0_15: # %if.then40 end_block # label2: call abort@FUNCTION unreachable @@ -76,7 +76,7 @@ ieq: # @ieq end_block # label1: call abort@FUNCTION unreachable -.LBB0_17: # %if.then22 +.LBB0_17: # %if.then24 end_block # label0: call abort@FUNCTION unreachable @@ -107,7 +107,7 @@ ine: # @ine end_block # label13: i32.eqz $push2=, $2 br_if 1, $pop2 # 1: down to label11 -.LBB1_4: # %if.end +.LBB1_4: # %if.end6 end_block # label12: return $2 .LBB1_5: # %if.then2 @@ -139,7 +139,7 @@ ilt: # @ilt .LBB2_3: # %if.else end_block # label16: br_if 1, $2 # 1: down to label14 -.LBB2_4: # %if.end +.LBB2_4: # %if.end6 end_block # label15: return $2 .LBB2_5: # %if.then4 @@ -173,7 +173,7 @@ ile: # @ile end_block # label19: i32.eqz $push2=, $2 br_if 1, $pop2 # 1: down to label17 -.LBB3_4: # %if.end +.LBB3_4: # %if.end6 end_block # label18: return $2 .LBB3_5: # %if.then2 @@ -205,7 +205,7 @@ igt: # @igt .LBB4_3: # %if.else end_block # label22: br_if 1, $2 # 1: down to label20 -.LBB4_4: # %if.end +.LBB4_4: # %if.end6 end_block # label21: return $2 .LBB4_5: # %if.then4 @@ -239,7 +239,7 @@ ige: # @ige end_block # label25: i32.eqz $push2=, $2 br_if 1, $pop2 # 1: down to label23 -.LBB5_4: # %if.end +.LBB5_4: # %if.end6 end_block # label24: return $2 .LBB5_5: # %if.then2 diff --git a/test/torture-s/pr19005.c.s b/test/torture-s/pr19005.c.s index 09e1c67bf..539c97554 100644 --- a/test/torture-s/pr19005.c.s +++ b/test/torture-s/pr19005.c.s @@ -9,28 +9,28 @@ bar: # @bar .local i32, i32, i32 # BB#0: # %entry i32.const $push0=, 0 - i32.load $push16=, v($pop0) - tee_local $push15=, $4=, $pop16 - i32.const $push1=, 255 - i32.and $3=, $pop15, $pop1 - i32.const $push2=, 1 - i32.add $push3=, $4, $pop2 - i32.const $push14=, 255 - i32.and $4=, $pop3, $pop14 + i32.load $push20=, v($pop0) + tee_local $push19=, $2=, $pop20 + i32.const $push18=, 255 + i32.and $4=, $pop19, $pop18 block block block - i32.const $push13=, 0 - i32.load $push12=, s($pop13) - tee_local $push11=, $2=, $pop12 - i32.eqz $push17=, $pop11 - br_if 0, $pop17 # 0: down to label2 + i32.const $push17=, 0 + i32.load $push16=, s($pop17) + tee_local $push15=, $3=, $pop16 + i32.eqz $push22=, $pop15 + br_if 0, $pop22 # 0: down to label2 # BB#1: # %if.else block - i32.ne $push4=, $3, $1 + i32.ne $push4=, $4, $1 br_if 0, $pop4 # 0: down to label3 # BB#2: # %if.else - i32.eq $push5=, $4, $0 + i32.const $push2=, 1 + i32.add $push3=, $2, $pop2 + i32.const $push21=, 255 + i32.and $push1=, $pop3, $pop21 + i32.eq $push5=, $pop1, $0 br_if 2, $pop5 # 2: down to label1 .LBB0_3: # %if.then19 end_block # label3: @@ -38,17 +38,21 @@ bar: # @bar unreachable .LBB0_4: # %if.then end_block # label2: - i32.ne $push6=, $3, $0 + i32.ne $push6=, $4, $0 br_if 1, $pop6 # 1: down to label0 -# BB#5: # %if.then - i32.ne $push7=, $4, $1 - br_if 1, $pop7 # 1: down to label0 +# BB#5: # %lor.lhs.false + i32.const $push7=, 1 + i32.add $push8=, $2, $pop7 + i32.const $push9=, 255 + i32.and $push10=, $pop8, $pop9 + i32.ne $push11=, $pop10, $1 + br_if 1, $pop11 # 1: down to label0 .LBB0_6: # %if.end21 end_block # label1: - i32.const $push10=, 0 - i32.const $push8=, 1 - i32.xor $push9=, $2, $pop8 - i32.store $drop=, s($pop10), $pop9 + i32.const $push14=, 0 + i32.const $push12=, 1 + i32.xor $push13=, $3, $pop12 + i32.store $drop=, s($pop14), $pop13 return .LBB0_7: # %if.then8 end_block # label0: @@ -65,82 +69,81 @@ bar: # @bar foo: # @foo .param i32 .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $push1=, 255 - i32.and $1=, $0, $pop1 - i32.const $push2=, 0 - i32.load $push25=, v($pop2) - tee_local $push24=, $4=, $pop25 - i32.const $push23=, 255 - i32.and $3=, $pop24, $pop23 - i32.const $push3=, 1 - i32.add $push4=, $0, $pop3 + i32.const $push25=, 255 + i32.and $1=, $0, $pop25 + i32.const $push1=, 0 + i32.load $push24=, v($pop1) + tee_local $push23=, $2=, $pop24 i32.const $push22=, 255 - i32.and $2=, $pop4, $pop22 + i32.and $4=, $pop23, $pop22 i32.const $push21=, 1 - i32.add $push5=, $4, $pop21 + i32.add $push2=, $0, $pop21 i32.const $push20=, 255 - i32.and $4=, $pop5, $pop20 + i32.and $0=, $pop2, $pop20 + block block block block block i32.const $push19=, 0 i32.load $push18=, s($pop19) - tee_local $push17=, $0=, $pop18 - i32.eqz $push31=, $pop17 - br_if 0, $pop31 # 0: down to label7 + tee_local $push17=, $3=, $pop18 + i32.eqz $push35=, $pop17 + br_if 0, $pop35 # 0: down to label8 # BB#1: # %if.else.i - block - i32.ne $push27=, $3, $2 - tee_local $push26=, $5=, $pop27 - br_if 0, $pop26 # 0: down to label8 + i32.ne $push4=, $4, $0 + br_if 3, $pop4 # 3: down to label5 # BB#2: # %if.else.i - i32.eq $push29=, $4, $1 - tee_local $push28=, $6=, $pop29 - i32.eqz $push32=, $pop28 - br_if 0, $pop32 # 0: down to label8 + i32.const $push29=, 1 + i32.add $push3=, $2, $pop29 + i32.const $push28=, 255 + i32.and $push27=, $pop3, $pop28 + tee_local $push26=, $2=, $pop27 + i32.ne $push5=, $pop26, $1 + br_if 3, $pop5 # 3: down to label5 # BB#3: # %bar.exit i32.const $push8=, 0 i32.const $push6=, 1 - i32.xor $push7=, $0, $pop6 + i32.xor $push7=, $3, $pop6 i32.store $push0=, s($pop8), $pop7 - br_if 2, $pop0 # 2: down to label6 -# BB#4: # %if.then.i33 - br_if 0, $5 # 0: down to label8 -# BB#5: # %if.then.i33 - br_if 3, $6 # 3: down to label5 -.LBB1_6: # %if.then8.i34 + br_if 1, $pop0 # 1: down to label7 + br 2 # 2: down to label6 +.LBB1_4: # %if.then.i end_block # label8: - call abort@FUNCTION - unreachable -.LBB1_7: # %if.then.i - end_block # label7: - i32.ne $push9=, $3, $1 - br_if 2, $pop9 # 2: down to label4 -# BB#8: # %if.then.i - i32.ne $push10=, $4, $2 - br_if 2, $pop10 # 2: down to label4 -# BB#9: # %bar.exit.thread + i32.ne $push9=, $4, $1 + br_if 3, $pop9 # 3: down to label4 +# BB#5: # %lor.lhs.false.i + i32.const $push32=, 1 + i32.add $push10=, $2, $pop32 + i32.const $push11=, 255 + i32.and $push31=, $pop10, $pop11 + tee_local $push30=, $2=, $pop31 + i32.ne $push12=, $pop30, $0 + br_if 3, $pop12 # 3: down to label4 +# BB#6: # %bar.exit.thread i32.const $push13=, 0 - i32.const $push11=, 1 - i32.xor $push12=, $0, $pop11 - i32.store $drop=, s($pop13), $pop12 -.LBB1_10: # %if.else.i38 + i32.const $push33=, 1 + i32.store $drop=, s($pop13), $pop33 +.LBB1_7: # %if.else.i40 + end_block # label7: + i32.ne $push14=, $4, $1 + br_if 1, $pop14 # 1: down to label5 +# BB#8: # %if.else.i40 + i32.ne $push15=, $2, $0 + br_if 1, $pop15 # 1: down to label5 +.LBB1_9: # %bar.exit43 end_block # label6: - i32.ne $push14=, $3, $1 - br_if 1, $pop14 # 1: down to label4 -# BB#11: # %if.else.i38 - i32.ne $push15=, $4, $2 - br_if 1, $pop15 # 1: down to label4 -.LBB1_12: # %bar.exit41 - end_block # label5: i32.const $push16=, 0 - i32.store $drop=, s($pop16), $0 - i32.const $push30=, 0 - return $pop30 -.LBB1_13: # %if.then8.i + i32.store $drop=, s($pop16), $3 + i32.const $push34=, 0 + return $pop34 +.LBB1_10: # %if.then19.i41 + end_block # label5: + call abort@FUNCTION + unreachable +.LBB1_11: # %if.then8.i end_block # label4: call abort@FUNCTION unreachable diff --git a/test/torture-s/pr22098-2.c.s b/test/torture-s/pr22098-2.c.s index 85147489a..81aecfd5b 100644 --- a/test/torture-s/pr22098-2.c.s +++ b/test/torture-s/pr22098-2.c.s @@ -6,7 +6,7 @@ .type main,@function main: # @main .result i32 -# BB#0: # %if.end +# BB#0: # %entry i32.const $push0=, 0 call exit@FUNCTION, $pop0 unreachable diff --git a/test/torture-s/pr23604.c.s b/test/torture-s/pr23604.c.s index 055ba6d06..beb314123 100644 --- a/test/torture-s/pr23604.c.s +++ b/test/torture-s/pr23604.c.s @@ -19,7 +19,7 @@ g: # @g # BB#2: # %if.then2 i32.const $0=, 0 br_if 1, $1 # 1: down to label0 -.LBB0_3: # %if.end +.LBB0_3: # %if.end9 end_block # label1: i32.const $0=, 1 .LBB0_4: # %return diff --git a/test/torture-s/pr27073.c.s b/test/torture-s/pr27073.c.s index 3b1bb386b..d3ae9c8e5 100644 --- a/test/torture-s/pr27073.c.s +++ b/test/torture-s/pr27073.c.s @@ -8,35 +8,33 @@ foo: # @foo .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry block - i32.const $push0=, 65535 - i32.and $push1=, $4, $pop0 - i32.eqz $push15=, $pop1 - br_if 0, $pop15 # 0: down to label0 + i32.eqz $push13=, $4 + br_if 0, $pop13 # 0: down to label0 # BB#1: # %while.body.preheader - i32.const $push2=, 0 - i32.sub $4=, $pop2, $4 + i32.const $push0=, 0 + i32.sub $4=, $pop0, $4 .LBB0_2: # %while.body # =>This Inner Loop Header: Depth=1 loop # label1: i32.store $drop=, 0($0), $5 - i32.const $push14=, 4 - i32.add $push3=, $0, $pop14 - i32.store $drop=, 0($pop3), $6 - i32.const $push13=, 8 - i32.add $push4=, $0, $pop13 - i32.store $drop=, 0($pop4), $7 - i32.const $push12=, 12 - i32.add $push5=, $0, $pop12 - i32.store $drop=, 0($pop5), $8 - i32.const $push11=, 16 - i32.add $push6=, $0, $pop11 - i32.store $drop=, 0($pop6), $9 - i32.const $push10=, 20 - i32.add $0=, $0, $pop10 - i32.const $push9=, 1 - i32.add $push8=, $4, $pop9 - tee_local $push7=, $4=, $pop8 - br_if 0, $pop7 # 0: up to label1 + i32.const $push12=, 4 + i32.add $push1=, $0, $pop12 + i32.store $drop=, 0($pop1), $6 + i32.const $push11=, 8 + i32.add $push2=, $0, $pop11 + i32.store $drop=, 0($pop2), $7 + i32.const $push10=, 12 + i32.add $push3=, $0, $pop10 + i32.store $drop=, 0($pop3), $8 + i32.const $push9=, 16 + i32.add $push4=, $0, $pop9 + i32.store $drop=, 0($pop4), $9 + i32.const $push8=, 20 + i32.add $0=, $0, $pop8 + i32.const $push7=, 1 + i32.add $push6=, $4, $pop7 + tee_local $push5=, $4=, $pop6 + br_if 0, $pop5 # 0: up to label1 .LBB0_3: # %while.end end_loop # label2: end_block # label0: diff --git a/test/torture-s/pr34415.c.s b/test/torture-s/pr34415.c.s index 9d719aef1..9b673c6e6 100644 --- a/test/torture-s/pr34415.c.s +++ b/test/torture-s/pr34415.c.s @@ -9,36 +9,36 @@ foo: # @foo .result i32 .local i32, i32, i32, i32, i32 # BB#0: # %entry - # implicit-def: %vreg68 + # implicit-def: %vreg64 i32.const $5=, 1 .LBB0_1: # %for.cond # =>This Loop Header: Depth=1 # Child Loop BB0_4 Depth 2 loop # label0: - copy_local $push27=, $0 - tee_local $push26=, $1=, $pop27 - copy_local $0=, $pop26 + copy_local $push25=, $0 + tee_local $push24=, $1=, $pop25 + copy_local $0=, $pop24 block - i32.load8_s $push25=, 0($1) - tee_local $push24=, $2=, $pop25 - i32.const $push23=, -32 - i32.add $push0=, $pop24, $pop23 - i32.const $push22=, -97 - i32.add $push1=, $2, $pop22 - i32.const $push21=, 255 - i32.and $push2=, $pop1, $pop21 - i32.const $push20=, 26 - i32.lt_u $push3=, $pop2, $pop20 - i32.select $push19=, $pop0, $2, $pop3 - tee_local $push18=, $3=, $pop19 - i32.const $push17=, 66 - i32.eq $push4=, $pop18, $pop17 + i32.load8_s $push23=, 0($1) + tee_local $push22=, $2=, $pop23 + i32.const $push21=, -32 + i32.add $push0=, $pop22, $pop21 + i32.const $push20=, -97 + i32.add $push1=, $2, $pop20 + i32.const $push19=, 255 + i32.and $push2=, $pop1, $pop19 + i32.const $push18=, 26 + i32.lt_u $push3=, $pop2, $pop18 + i32.select $push17=, $pop0, $2, $pop3 + tee_local $push16=, $3=, $pop17 + i32.const $push15=, 66 + i32.eq $push4=, $pop16, $pop15 br_if 0, $pop4 # 0: down to label2 # BB#2: # %for.cond # in Loop: Header=BB0_1 Depth=1 block - i32.const $push28=, 65 - i32.ne $push5=, $3, $pop28 + i32.const $push26=, 65 + i32.ne $push5=, $3, $pop26 br_if 0, $pop5 # 0: down to label3 # BB#3: # %do.body.preheader # in Loop: Header=BB0_1 Depth=1 @@ -47,12 +47,12 @@ foo: # @foo # Parent Loop BB0_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label4: - i32.const $push32=, 1 - i32.add $push31=, $0, $pop32 - tee_local $push30=, $0=, $pop31 - i32.load8_u $push6=, 0($pop30) - i32.const $push29=, 43 - i32.eq $push7=, $pop6, $pop29 + i32.const $push30=, 1 + i32.add $push29=, $0, $pop30 + tee_local $push28=, $0=, $pop29 + i32.load8_u $push6=, 0($pop28) + i32.const $push27=, 43 + i32.eq $push7=, $pop6, $pop27 br_if 0, $pop7 # 0: up to label4 br 3 # 3: down to label2 .LBB0_5: # %for.end @@ -63,22 +63,20 @@ foo: # @foo i32.lt_s $push9=, $5, $pop8 br_if 0, $pop9 # 0: down to label6 # BB#6: # %land.lhs.true17 - i32.const $push10=, 255 - i32.and $push11=, $2, $pop10 - i32.const $push12=, 58 - i32.eq $push13=, $pop11, $pop12 - i32.select $push14=, $4, $1, $pop13 - return $pop14 + i32.const $push10=, 58 + i32.eq $push11=, $2, $pop10 + i32.select $push12=, $4, $1, $pop11 + return $pop12 .LBB0_7: # %if.end22 end_block # label6: return $1 .LBB0_8: # %cleanup.thread # in Loop: Header=BB0_1 Depth=1 end_block # label2: - i32.const $push16=, 1 - i32.add $5=, $5, $pop16 - i32.const $push15=, 1 - i32.add $0=, $0, $pop15 + i32.const $push14=, 1 + i32.add $5=, $5, $pop14 + i32.const $push13=, 1 + i32.add $0=, $0, $pop13 copy_local $4=, $1 br 0 # 0: up to label0 .LBB0_9: diff --git a/test/torture-s/pr37102.c.s b/test/torture-s/pr37102.c.s index 5b5459851..55461bde0 100644 --- a/test/torture-s/pr37102.c.s +++ b/test/torture-s/pr37102.c.s @@ -29,22 +29,32 @@ main: # @main .result i32 .local i32 # BB#0: # %entry - i32.const $push0=, 0 - i32.const $push13=, 0 - i32.load $push1=, b($pop13) - i32.store $push12=, a($pop0), $pop1 - tee_local $push11=, $0=, $pop12 - i32.const $push4=, 2 - i32.shl $push5=, $pop11, $pop4 - i32.const $push6=, 1 - i32.or $push7=, $pop5, $pop6 - i32.const $push10=, 0 - i32.const $push2=, 2147483647 - i32.and $push3=, $0, $pop2 - i32.select $push8=, $pop7, $pop10, $pop3 - call foo@FUNCTION, $pop8 i32.const $push9=, 0 - # fallthrough-return: $pop9 + i32.load $0=, b($pop9) + block + i32.const $push8=, 0 + i32.load $push0=, c($pop8) + i32.eqz $push16=, $pop0 + br_if 0, $pop16 # 0: down to label1 +# BB#1: # %if.then.3 + i32.const $push10=, 0 + i32.store $drop=, a($pop10), $0 +.LBB1_2: # %for.inc.3 + end_block # label1: + i32.const $push15=, 0 + i32.store $push14=, a($pop15), $0 + tee_local $push13=, $0=, $pop14 + i32.const $push3=, 2 + i32.shl $push4=, $pop13, $pop3 + i32.const $push5=, 1 + i32.or $push6=, $pop4, $pop5 + i32.const $push12=, 0 + i32.const $push1=, 2147483647 + i32.and $push2=, $0, $pop1 + i32.select $push7=, $pop6, $pop12, $pop2 + call foo@FUNCTION, $pop7 + i32.const $push11=, 0 + # fallthrough-return: $pop11 .endfunc .Lfunc_end1: .size main, .Lfunc_end1-main diff --git a/test/torture-s/pr41239.c.s b/test/torture-s/pr41239.c.s index 24d9d567b..f53db26b1 100644 --- a/test/torture-s/pr41239.c.s +++ b/test/torture-s/pr41239.c.s @@ -9,46 +9,44 @@ test: # @test .result i32 .local i32, i32, i32 # BB#0: # %entry - i32.const $push16=, 0 - i32.const $push13=, 0 - i32.load $push14=, __stack_pointer($pop13) - i32.const $push15=, 16 - i32.sub $push20=, $pop14, $pop15 - i32.store $1=, __stack_pointer($pop16), $pop20 + i32.const $push14=, 0 + i32.const $push11=, 0 + i32.load $push12=, __stack_pointer($pop11) + i32.const $push13=, 16 + i32.sub $push18=, $pop12, $pop13 + i32.store $1=, __stack_pointer($pop14), $pop18 i32.load $2=, 4($0) block i32.const $push0=, 8 i32.add $push1=, $0, $pop0 - i32.load $push22=, 0($pop1) - tee_local $push21=, $0=, $pop22 - br_if 0, $pop21 # 0: down to label0 + i32.load $push20=, 0($pop1) + tee_local $push19=, $0=, $pop20 + br_if 0, $pop19 # 0: down to label0 # BB#1: # %if.then i32.const $push5=, 20 i32.const $push4=, .L.str i32.const $push3=, 924 i32.const $push2=, .L__func__.test - i32.const $push23=, 0 - i32.call $push6=, fn1@FUNCTION, $pop5, $pop4, $pop3, $pop2, $pop23 - i32.const $push7=, 255 - i32.and $push8=, $pop6, $pop7 - i32.eqz $push25=, $pop8 - br_if 0, $pop25 # 0: down to label0 + i32.const $push21=, 0 + i32.call $push6=, fn1@FUNCTION, $pop5, $pop4, $pop3, $pop2, $pop21 + i32.eqz $push23=, $pop6 + br_if 0, $pop23 # 0: down to label0 # BB#2: # %cond.true - i32.const $push9=, 33816706 - i32.call $3=, fn3@FUNCTION, $pop9 - i32.const $push10=, .L.str.1 - i32.const $push24=, 0 - i32.call $push11=, fn4@FUNCTION, $pop10, $pop24 - i32.store $drop=, 0($1), $pop11 + i32.const $push7=, 33816706 + i32.call $3=, fn3@FUNCTION, $pop7 + i32.const $push8=, .L.str.1 + i32.const $push22=, 0 + i32.call $push9=, fn4@FUNCTION, $pop8, $pop22 + i32.store $drop=, 0($1), $pop9 call fn2@FUNCTION, $3, $1 .LBB0_3: # %if.end end_block # label0: - i32.const $push19=, 0 - i32.const $push17=, 16 - i32.add $push18=, $1, $pop17 - i32.store $drop=, __stack_pointer($pop19), $pop18 - i32.div_s $push12=, $2, $0 - # fallthrough-return: $pop12 + i32.const $push17=, 0 + i32.const $push15=, 16 + i32.add $push16=, $1, $pop15 + i32.store $drop=, __stack_pointer($pop17), $pop16 + i32.div_s $push10=, $2, $0 + # fallthrough-return: $pop10 .endfunc .Lfunc_end0: .size test, .Lfunc_end0-test diff --git a/test/torture-s/pr41395-1.c.s b/test/torture-s/pr41395-1.c.s index efe41d55b..80bea946d 100644 --- a/test/torture-s/pr41395-1.c.s +++ b/test/torture-s/pr41395-1.c.s @@ -38,14 +38,12 @@ main: # @main i32.call $push1=, malloc@FUNCTION, $pop0 i32.const $push2=, 8 i32.call $push3=, foo@FUNCTION, $pop1, $pop2 - i32.const $push4=, 65535 - i32.and $push5=, $pop3, $pop4 - i32.const $push6=, 1 - i32.ne $push7=, $pop5, $pop6 - br_if 0, $pop7 # 0: down to label0 + i32.const $push4=, 1 + i32.ne $push5=, $pop3, $pop4 + br_if 0, $pop5 # 0: down to label0 # BB#1: # %if.end - i32.const $push8=, 0 - return $pop8 + i32.const $push6=, 0 + return $pop6 .LBB1_2: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/pr41395-2.c.s b/test/torture-s/pr41395-2.c.s index 1b383e350..feae2e7c8 100644 --- a/test/torture-s/pr41395-2.c.s +++ b/test/torture-s/pr41395-2.c.s @@ -38,14 +38,12 @@ main: # @main i32.call $push1=, malloc@FUNCTION, $pop0 i32.const $push2=, 16 i32.call $push3=, foo@FUNCTION, $pop1, $pop2 - i32.const $push4=, 65535 - i32.and $push5=, $pop3, $pop4 - i32.const $push6=, 1 - i32.ne $push7=, $pop5, $pop6 - br_if 0, $pop7 # 0: down to label0 + i32.const $push4=, 1 + i32.ne $push5=, $pop3, $pop4 + br_if 0, $pop5 # 0: down to label0 # BB#1: # %if.end - i32.const $push8=, 0 - return $pop8 + i32.const $push6=, 0 + return $pop6 .LBB1_2: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/pr42833.c.s b/test/torture-s/pr42833.c.s index a091535de..8caac8029 100644 --- a/test/torture-s/pr42833.c.s +++ b/test/torture-s/pr42833.c.s @@ -12,210 +12,220 @@ helper_neon_rshl_s8: # @helper_neon_rshl_s8 i32.const $5=, 0 i32.const $4=, 0 block - i32.const $push75=, 24 - i32.shl $push74=, $1, $pop75 - tee_local $push73=, $6=, $pop74 - i32.const $push0=, 117440512 - i32.gt_s $push1=, $pop73, $pop0 - br_if 0, $pop1 # 0: down to label0 + i32.const $push88=, 24 + i32.shl $push87=, $1, $pop88 + tee_local $push86=, $6=, $pop87 + i32.const $push1=, 117440512 + i32.gt_s $push2=, $pop86, $pop1 + br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.else - i32.const $push76=, 24 - i32.shl $7=, $0, $pop76 block - i32.const $push2=, -134217729 - i32.gt_s $push3=, $6, $pop2 - br_if 0, $pop3 # 0: down to label1 + i32.const $push3=, -134217729 + i32.gt_s $push4=, $6, $pop3 + br_if 0, $pop4 # 0: down to label1 # BB#2: # %if.then13 - i32.const $push13=, 31 - i32.shr_s $4=, $7, $pop13 + i32.const $push16=, 24 + i32.shl $push17=, $0, $pop16 + i32.const $push18=, 31 + i32.shr_s $4=, $pop17, $pop18 br 1 # 1: down to label0 .LBB0_3: # %if.else18 end_block # label1: i32.const $4=, 0 - i32.const $push79=, 24 - i32.shr_s $push78=, $6, $pop79 - tee_local $push77=, $2=, $pop78 - i32.const $push4=, -8 - i32.eq $push5=, $pop77, $pop4 - br_if 0, $pop5 # 0: down to label0 + i32.const $push91=, 24 + i32.shr_s $push90=, $6, $pop91 + tee_local $push89=, $7=, $pop90 + i32.const $push5=, -8 + i32.eq $push6=, $pop89, $pop5 + br_if 0, $pop6 # 0: down to label0 # BB#4: # %if.else34 - i32.const $push81=, 24 - i32.shr_s $4=, $7, $pop81 + i32.const $push7=, 24 + i32.shl $push8=, $0, $pop7 + i32.const $push93=, 24 + i32.shr_s $4=, $pop8, $pop93 block - i32.const $push80=, -1 - i32.le_s $push6=, $6, $pop80 - br_if 0, $pop6 # 0: down to label2 + i32.const $push92=, -1 + i32.le_s $push9=, $6, $pop92 + br_if 0, $pop9 # 0: down to label2 # BB#5: # %if.else48 - i32.shl $4=, $4, $2 + i32.shl $4=, $4, $7 br 1 # 1: down to label0 .LBB0_6: # %if.then38 end_block # label2: - i32.const $push10=, 1 - i32.const $push82=, -1 - i32.xor $push9=, $2, $pop82 - i32.shl $push11=, $pop10, $pop9 - i32.add $push12=, $pop11, $4 - i32.const $push7=, 0 - i32.sub $push8=, $pop7, $2 - i32.shr_s $4=, $pop12, $pop8 + i32.const $push13=, 1 + i32.const $push94=, -1 + i32.xor $push12=, $7, $pop94 + i32.shl $push14=, $pop13, $pop12 + i32.add $push15=, $pop14, $4 + i32.const $push10=, 0 + i32.sub $push11=, $pop10, $7 + i32.shr_s $4=, $pop15, $pop11 .LBB0_7: # %if.end57 end_block # label0: block - i32.const $push87=, 16 - i32.shl $push14=, $1, $pop87 - i32.const $push86=, 24 - i32.shr_s $push85=, $pop14, $pop86 - tee_local $push84=, $6=, $pop85 - i32.const $push83=, 7 - i32.gt_s $push15=, $pop84, $pop83 - br_if 0, $pop15 # 0: down to label3 + i32.const $push99=, 16 + i32.shl $push19=, $1, $pop99 + i32.const $push98=, 24 + i32.shr_s $push97=, $pop19, $pop98 + tee_local $push96=, $6=, $pop97 + i32.const $push95=, 7 + i32.gt_s $push20=, $pop96, $pop95 + br_if 0, $pop20 # 0: down to label3 # BB#8: # %if.else68 - i32.const $push88=, 16 - i32.shl $7=, $0, $pop88 + i32.const $push0=, 8 + i32.shr_u $7=, $0, $pop0 block - i32.const $push17=, -9 - i32.gt_s $push18=, $6, $pop17 - br_if 0, $pop18 # 0: down to label4 + i32.const $push21=, -9 + i32.gt_s $push22=, $6, $pop21 + br_if 0, $pop22 # 0: down to label4 # BB#9: # %if.then72 - i32.const $push28=, 31 - i32.shr_s $5=, $7, $pop28 + i32.const $push34=, 24 + i32.shl $push35=, $7, $pop34 + i32.const $push36=, 31 + i32.shr_s $5=, $pop35, $pop36 br 1 # 1: down to label3 .LBB0_10: # %if.else78 end_block # label4: - i32.const $push19=, -8 - i32.eq $push20=, $6, $pop19 - br_if 0, $pop20 # 0: down to label3 + i32.const $push23=, -8 + i32.eq $push24=, $6, $pop23 + br_if 0, $pop24 # 0: down to label3 # BB#11: # %if.else96 - i32.const $push16=, 24 - i32.shr_s $5=, $7, $pop16 + i32.const $push25=, 24 + i32.shl $push26=, $7, $pop25 + i32.const $push101=, 24 + i32.shr_s $5=, $pop26, $pop101 block - i32.const $push89=, -1 - i32.le_s $push21=, $6, $pop89 - br_if 0, $pop21 # 0: down to label5 + i32.const $push100=, -1 + i32.le_s $push27=, $6, $pop100 + br_if 0, $pop27 # 0: down to label5 # BB#12: # %if.else112 i32.shl $5=, $5, $6 br 1 # 1: down to label3 .LBB0_13: # %if.then100 end_block # label5: - i32.const $push25=, 1 - i32.const $push90=, -1 - i32.xor $push24=, $6, $pop90 - i32.shl $push26=, $pop25, $pop24 - i32.add $push27=, $pop26, $5 - i32.const $push22=, 0 - i32.sub $push23=, $pop22, $6 - i32.shr_s $5=, $pop27, $pop23 + i32.const $push31=, 1 + i32.const $push102=, -1 + i32.xor $push30=, $6, $pop102 + i32.shl $push32=, $pop31, $pop30 + i32.add $push33=, $pop32, $5 + i32.const $push28=, 0 + i32.sub $push29=, $pop28, $6 + i32.shr_s $5=, $pop33, $pop29 .LBB0_14: # %if.end122 end_block # label3: i32.const $7=, 0 i32.const $6=, 0 block - i32.const $push95=, 8 - i32.shl $push29=, $1, $pop95 - i32.const $push94=, 24 - i32.shr_s $push93=, $pop29, $pop94 - tee_local $push92=, $2=, $pop93 - i32.const $push91=, 7 - i32.gt_s $push30=, $pop92, $pop91 - br_if 0, $pop30 # 0: down to label6 + i32.const $push37=, 8 + i32.shl $push38=, $1, $pop37 + i32.const $push106=, 24 + i32.shr_s $push105=, $pop38, $pop106 + tee_local $push104=, $3=, $pop105 + i32.const $push103=, 7 + i32.gt_s $push39=, $pop104, $pop103 + br_if 0, $pop39 # 0: down to label6 # BB#15: # %if.else133 - i32.const $push96=, 8 - i32.shl $3=, $0, $pop96 + i32.const $push107=, 16 + i32.shr_u $2=, $0, $pop107 block - i32.const $push31=, -9 - i32.gt_s $push32=, $2, $pop31 - br_if 0, $pop32 # 0: down to label7 + i32.const $push40=, -9 + i32.gt_s $push41=, $3, $pop40 + br_if 0, $pop41 # 0: down to label7 # BB#16: # %if.then137 - i32.const $push42=, 31 - i32.shr_s $6=, $3, $pop42 + i32.const $push53=, 24 + i32.shl $push54=, $2, $pop53 + i32.const $push55=, 31 + i32.shr_s $6=, $pop54, $pop55 br 1 # 1: down to label6 .LBB0_17: # %if.else143 end_block # label7: i32.const $6=, 0 - i32.const $push33=, -8 - i32.eq $push34=, $2, $pop33 - br_if 0, $pop34 # 0: down to label6 + i32.const $push42=, -8 + i32.eq $push43=, $3, $pop42 + br_if 0, $pop43 # 0: down to label6 # BB#18: # %if.else161 - i32.const $push98=, 24 - i32.shr_s $6=, $3, $pop98 + i32.const $push44=, 24 + i32.shl $push45=, $2, $pop44 + i32.const $push109=, 24 + i32.shr_s $6=, $pop45, $pop109 block - i32.const $push97=, -1 - i32.le_s $push35=, $2, $pop97 - br_if 0, $pop35 # 0: down to label8 + i32.const $push108=, -1 + i32.le_s $push46=, $3, $pop108 + br_if 0, $pop46 # 0: down to label8 # BB#19: # %if.else177 - i32.shl $6=, $6, $2 + i32.shl $6=, $6, $3 br 1 # 1: down to label6 .LBB0_20: # %if.then165 end_block # label8: - i32.const $push39=, 1 - i32.const $push99=, -1 - i32.xor $push38=, $2, $pop99 - i32.shl $push40=, $pop39, $pop38 - i32.add $push41=, $pop40, $6 - i32.const $push36=, 0 - i32.sub $push37=, $pop36, $2 - i32.shr_s $6=, $pop41, $pop37 + i32.const $push50=, 1 + i32.const $push110=, -1 + i32.xor $push49=, $3, $pop110 + i32.shl $push51=, $pop50, $pop49 + i32.add $push52=, $pop51, $6 + i32.const $push47=, 0 + i32.sub $push48=, $pop47, $3 + i32.shr_s $6=, $pop52, $pop48 .LBB0_21: # %if.end187 end_block # label6: block - i32.const $push102=, 24 - i32.shr_s $push101=, $1, $pop102 - tee_local $push100=, $1=, $pop101 - i32.const $push43=, 7 - i32.gt_s $push44=, $pop100, $pop43 - br_if 0, $pop44 # 0: down to label9 + i32.const $push113=, 24 + i32.shr_s $push112=, $1, $pop113 + tee_local $push111=, $1=, $pop112 + i32.const $push56=, 7 + i32.gt_s $push57=, $pop111, $pop56 + br_if 0, $pop57 # 0: down to label9 # BB#22: # %if.else199 block - i32.const $push46=, -9 - i32.gt_s $push47=, $1, $pop46 - br_if 0, $pop47 # 0: down to label10 + i32.const $push58=, -9 + i32.gt_s $push59=, $1, $pop58 + br_if 0, $pop59 # 0: down to label10 # BB#23: # %if.then203 - i32.const $push57=, 31 - i32.shr_s $7=, $0, $pop57 + i32.const $push70=, 31 + i32.shr_s $7=, $0, $pop70 br 1 # 1: down to label9 .LBB0_24: # %if.else209 end_block # label10: - i32.const $push48=, -8 - i32.eq $push49=, $1, $pop48 - br_if 0, $pop49 # 0: down to label9 + i32.const $push60=, -8 + i32.eq $push61=, $1, $pop60 + br_if 0, $pop61 # 0: down to label9 # BB#25: # %if.else227 - i32.const $push45=, 24 - i32.shr_s $0=, $0, $pop45 + i32.const $push62=, 24 + i32.shr_s $0=, $0, $pop62 block - i32.const $push103=, -1 - i32.le_s $push50=, $1, $pop103 - br_if 0, $pop50 # 0: down to label11 + i32.const $push114=, -1 + i32.le_s $push63=, $1, $pop114 + br_if 0, $pop63 # 0: down to label11 # BB#26: # %if.else243 i32.shl $7=, $0, $1 br 1 # 1: down to label9 .LBB0_27: # %if.then231 end_block # label11: - i32.const $push54=, 1 - i32.const $push104=, -1 - i32.xor $push53=, $1, $pop104 - i32.shl $push55=, $pop54, $pop53 - i32.add $push56=, $pop55, $0 - i32.const $push51=, 0 - i32.sub $push52=, $pop51, $1 - i32.shr_s $7=, $pop56, $pop52 + i32.const $push67=, 1 + i32.const $push115=, -1 + i32.xor $push66=, $1, $pop115 + i32.shl $push68=, $pop67, $pop66 + i32.add $push69=, $pop68, $0 + i32.const $push64=, 0 + i32.sub $push65=, $pop64, $1 + i32.shr_s $7=, $pop69, $pop65 .LBB0_28: # %if.end253 end_block # label9: - i32.const $push60=, 8 - i32.shl $push61=, $5, $pop60 - i32.const $push62=, 65280 - i32.and $push63=, $pop61, $pop62 - i32.const $push58=, 255 - i32.and $push59=, $4, $pop58 - i32.or $push64=, $pop63, $pop59 - i32.const $push65=, 16 - i32.shl $push66=, $6, $pop65 - i32.const $push67=, 16711680 - i32.and $push68=, $pop66, $pop67 - i32.or $push69=, $pop64, $pop68 - i32.const $push70=, 24 - i32.shl $push71=, $7, $pop70 - i32.or $push72=, $pop69, $pop71 - # fallthrough-return: $pop72 + i32.const $push73=, 8 + i32.shl $push74=, $5, $pop73 + i32.const $push75=, 65280 + i32.and $push76=, $pop74, $pop75 + i32.const $push71=, 255 + i32.and $push72=, $4, $pop71 + i32.or $push77=, $pop76, $pop72 + i32.const $push78=, 16 + i32.shl $push79=, $6, $pop78 + i32.const $push80=, 16711680 + i32.and $push81=, $pop79, $pop80 + i32.or $push82=, $pop77, $pop81 + i32.const $push83=, 24 + i32.shl $push84=, $7, $pop83 + i32.or $push85=, $pop82, $pop84 + # fallthrough-return: $pop85 .endfunc .Lfunc_end0: .size helper_neon_rshl_s8, .Lfunc_end0-helper_neon_rshl_s8 diff --git a/test/torture-s/pr47538.c.s b/test/torture-s/pr47538.c.s index 75b8a1dda..37bbd4d59 100644 --- a/test/torture-s/pr47538.c.s +++ b/test/torture-s/pr47538.c.s @@ -12,49 +12,53 @@ foo: # @foo f64.store $11=, 0($0), $pop1 f64.load $push2=, 8($1) f64.store $10=, 8($0), $pop2 - i32.load $6=, 16($0) block block - i32.load $push36=, 20($1) - tee_local $push35=, $3=, $pop36 - i32.eqz $push53=, $pop35 - br_if 0, $pop53 # 0: down to label1 + i32.load $push38=, 20($1) + tee_local $push37=, $3=, $pop38 + i32.eqz $push57=, $pop37 + br_if 0, $pop57 # 0: down to label1 # BB#1: # %if.else f64.sub $push4=, $10, $11 f64.const $push5=, 0x1p-2 f64.mul $5=, $pop4, $pop5 - i32.load $7=, 16($1) i32.const $push3=, 1 - i32.add $push38=, $3, $pop3 - tee_local $push37=, $4=, $pop38 + i32.add $push40=, $3, $pop3 + tee_local $push39=, $4=, $pop40 i32.const $push6=, 2 - i32.ne $push7=, $pop37, $pop6 + i32.ne $push7=, $pop39, $pop6 br_if 1, $pop7 # 1: down to label0 # BB#2: # %if.then6 - f64.load $push31=, 0($7) - f64.mul $push32=, $5, $pop31 - f64.store $push40=, 8($6), $pop32 - tee_local $push39=, $11=, $pop40 - f64.add $push33=, $pop39, $11 - f64.store $drop=, 0($6), $pop33 + i32.load $push44=, 16($0) + tee_local $push43=, $0=, $pop44 + i32.load $push31=, 16($1) + f64.load $push32=, 0($pop31) + f64.mul $push33=, $5, $pop32 + f64.store $push42=, 8($0), $pop33 + tee_local $push41=, $11=, $pop42 + f64.add $push34=, $pop41, $11 + f64.store $drop=, 0($pop43), $pop34 return .LBB0_3: # %if.then end_block # label1: - i64.const $push34=, 0 - i64.store $drop=, 0($6), $pop34 + i32.load $push35=, 16($0) + i64.const $push36=, 0 + i64.store $drop=, 0($pop35), $pop36 return .LBB0_4: # %for.cond.preheader end_block # label0: + i32.load $8=, 16($0) + i32.load $7=, 16($1) block block i32.const $push8=, -1 - i32.add $push42=, $3, $pop8 - tee_local $push41=, $8=, $pop42 - i32.eqz $push54=, $pop41 - br_if 0, $pop54 # 0: down to label3 + i32.add $push46=, $3, $pop8 + tee_local $push45=, $6=, $pop46 + i32.eqz $push58=, $pop45 + br_if 0, $pop58 # 0: down to label3 # BB#5: # %for.body.preheader - i32.const $push43=, 8 - i32.add $0=, $6, $pop43 + i32.const $push47=, 8 + i32.add $0=, $8, $pop47 f64.const $10=, 0x0p0 f64.const $11=, 0x1p0 copy_local $1=, $7 @@ -63,25 +67,25 @@ foo: # @foo # =>This Inner Loop Header: Depth=1 loop # label4: f64.load $push11=, 0($1) - i32.const $push49=, 16 - i32.add $push9=, $1, $pop49 + i32.const $push53=, 16 + i32.add $push9=, $1, $pop53 f64.load $push10=, 0($pop9) f64.sub $push12=, $pop11, $pop10 f64.mul $push13=, $5, $pop12 f64.convert_u/i32 $push14=, $9 f64.div $push15=, $pop13, $pop14 f64.store $2=, 0($0), $pop15 - i32.const $push48=, 8 - i32.add $0=, $0, $pop48 - i32.const $push47=, 8 - i32.add $1=, $1, $pop47 + i32.const $push52=, 8 + i32.add $0=, $0, $pop52 + i32.const $push51=, 8 + i32.add $1=, $1, $pop51 f64.mul $push16=, $11, $2 f64.add $10=, $10, $pop16 f64.neg $11=, $11 - i32.const $push46=, 1 - i32.add $push45=, $9, $pop46 - tee_local $push44=, $9=, $pop45 - i32.le_u $push17=, $pop44, $8 + i32.const $push50=, 1 + i32.add $push49=, $9, $pop50 + tee_local $push48=, $9=, $pop49 + i32.le_u $push17=, $pop48, $6 br_if 0, $pop17 # 0: up to label4 br 3 # 3: down to label2 .LBB0_7: @@ -93,9 +97,9 @@ foo: # @foo end_block # label2: i32.const $push21=, 3 i32.shl $push27=, $3, $pop21 - i32.add $push28=, $6, $pop27 - i32.const $push52=, 3 - i32.shl $push22=, $8, $pop52 + i32.add $push28=, $8, $pop27 + i32.const $push56=, 3 + i32.shl $push22=, $6, $pop56 i32.add $push23=, $7, $pop22 f64.load $push24=, 0($pop23) f64.mul $push25=, $5, $pop24 @@ -105,10 +109,10 @@ foo: # @foo f64.div $push26=, $pop25, $pop20 f64.store $push0=, 0($pop28), $pop26 f64.mul $push29=, $11, $pop0 - f64.add $push51=, $10, $pop29 - tee_local $push50=, $11=, $pop51 - f64.add $push30=, $pop50, $11 - f64.store $drop=, 0($6), $pop30 + f64.add $push55=, $10, $pop29 + tee_local $push54=, $11=, $pop55 + f64.add $push30=, $pop54, $11 + f64.store $drop=, 0($8), $pop30 # fallthrough-return .endfunc .Lfunc_end0: diff --git a/test/torture-s/pr49390.c.s b/test/torture-s/pr49390.c.s index 676028e79..4cbcf35c4 100644 --- a/test/torture-s/pr49390.c.s +++ b/test/torture-s/pr49390.c.s @@ -172,13 +172,13 @@ test: # @test .LBB3_10: # %if.end24 end_block # label5: block - i32.const $push29=, 1 - i32.and $push30=, $4, $pop29 - i32.eqz $push85=, $pop30 - br_if 0, $pop85 # 0: down to label7 -# BB#11: # %if.end24 i32.ne $push31=, $7, $0 br_if 0, $pop31 # 0: down to label7 +# BB#11: # %if.end24 + i32.const $push30=, 1 + i32.and $push29=, $4, $pop30 + i32.eqz $push85=, $pop29 + br_if 0, $pop85 # 0: down to label7 # BB#12: # %if.then31 i64.load $push43=, 0($6):p2align=2 i64.store $drop=, 0($2):p2align=2, $pop43 diff --git a/test/torture-s/pr49419.c.s b/test/torture-s/pr49419.c.s index c843bbe7c..95c564eea 100644 --- a/test/torture-s/pr49419.c.s +++ b/test/torture-s/pr49419.c.s @@ -114,28 +114,28 @@ main: # @main .local i32, i32, i32, i32, i32, i32 # BB#0: # %for.body.i.preheader i32.const $1=, 0 + i32.const $push37=, 0 i32.const $push34=, 0 - i32.const $push31=, 0 - i32.load $push32=, __stack_pointer($pop31) - i32.const $push33=, 48 - i32.sub $push40=, $pop32, $pop33 - i32.store $push1=, __stack_pointer($pop34), $pop40 - i32.const $push47=, 0 + i32.load $push35=, __stack_pointer($pop34) + i32.const $push36=, 48 + i32.sub $push43=, $pop35, $pop36 + i32.store $push1=, __stack_pointer($pop37), $pop43 + i32.const $push50=, 0 i32.const $push2=, 36 - i32.call $push46=, memset@FUNCTION, $pop1, $pop47, $pop2 - tee_local $push45=, $0=, $pop46 + i32.call $push49=, memset@FUNCTION, $pop1, $pop50, $pop2 + tee_local $push48=, $0=, $pop49 i32.const $push3=, 2 - i32.store $5=, 8($pop45), $pop3 + i32.store $5=, 8($pop48), $pop3 i64.const $push4=, 4294967297 i64.store $drop=, 0($0), $pop4 i32.const $3=, 1 block - i32.const $push44=, 0 - i32.store $push43=, t($pop44), $0 - tee_local $push42=, $0=, $pop43 - i32.load $push5=, 12($pop42) - i32.const $push41=, 1 - i32.ne $push6=, $pop5, $pop41 + i32.const $push47=, 0 + i32.store $push46=, t($pop47), $0 + tee_local $push45=, $0=, $pop46 + i32.load $push5=, 12($pop45) + i32.const $push44=, 1 + i32.ne $push6=, $pop5, $pop44 br_if 0, $pop6 # 0: down to label8 # BB#1: # %for.body.i.for.body.i_crit_edge.preheader i32.const $4=, 0 @@ -143,106 +143,112 @@ main: # @main .LBB1_2: # %for.body.i.for.body.i_crit_edge # =>This Inner Loop Header: Depth=1 loop # label9: - i32.const $push48=, 1 - i32.add $1=, $4, $pop48 + i32.const $push51=, 1 + i32.add $1=, $4, $pop51 i32.add $push8=, $4, $5 i32.gt_s $push9=, $pop8, $5 br_if 1, $pop9 # 1: down to label10 # BB#3: # %for.body.i.for.body.i_crit_edge # in Loop: Header=BB1_2 Depth=1 copy_local $4=, $1 - i32.const $push53=, 12 - i32.mul $push10=, $3, $pop53 + i32.const $push57=, 12 + i32.mul $push10=, $3, $pop57 i32.add $push11=, $0, $pop10 - i32.load $push52=, 4($pop11) - tee_local $push51=, $3=, $pop52 - i32.const $push50=, 12 - i32.mul $push12=, $pop51, $pop50 - i32.add $push13=, $0, $pop12 - i32.load $push7=, 0($pop13) - i32.const $push49=, 1 - i32.eq $push14=, $pop7, $pop49 - br_if 0, $pop14 # 0: up to label9 + i32.const $push56=, 4 + i32.add $push12=, $pop11, $pop56 + i32.load $push55=, 0($pop12) + tee_local $push54=, $3=, $pop55 + i32.const $push53=, 12 + i32.mul $push13=, $pop54, $pop53 + i32.add $push14=, $0, $pop13 + i32.load $push7=, 0($pop14) + i32.const $push52=, 1 + i32.eq $push15=, $pop7, $pop52 + br_if 0, $pop15 # 0: up to label9 .LBB1_4: # %for.end.i.loopexit end_loop # label10: - i32.const $push15=, 1 - i32.add $3=, $1, $pop15 + i32.const $push16=, 1 + i32.add $3=, $1, $pop16 .LBB1_5: # %for.end.i end_block # label8: block block block - i32.const $push16=, 3 - i32.eq $push17=, $3, $pop16 - br_if 0, $pop17 # 0: down to label13 + i32.const $push17=, 3 + i32.eq $push18=, $3, $pop17 + br_if 0, $pop18 # 0: down to label13 # BB#6: # %if.end7.i - i32.const $push54=, 0 - i32.lt_s $push18=, $1, $pop54 - br_if 1, $pop18 # 1: down to label12 + i32.const $push58=, 0 + i32.lt_s $push19=, $1, $pop58 + br_if 1, $pop19 # 1: down to label12 # BB#7: # %for.body10.i.preheader i32.const $5=, 1 block - i32.const $push38=, 36 - i32.add $push39=, $0, $pop38 - i32.const $push19=, 2 - i32.shl $push20=, $3, $pop19 - i32.add $push57=, $pop39, $pop20 - tee_local $push56=, $4=, $pop57 - i32.const $push55=, 2 - i32.store $push0=, 0($pop56), $pop55 - i32.lt_s $push21=, $3, $pop0 - br_if 0, $pop21 # 0: down to label14 + i32.const $push41=, 36 + i32.add $push42=, $0, $pop41 + i32.const $push20=, 2 + i32.shl $push21=, $3, $pop20 + i32.add $push61=, $pop42, $pop21 + tee_local $push60=, $4=, $pop61 + i32.const $push59=, 2 + i32.store $push0=, 0($pop60), $pop59 + i32.lt_s $push22=, $3, $pop0 + br_if 0, $pop22 # 0: down to label14 # BB#8: # %for.body10.i.for.body10.i_crit_edge.preheader - i32.const $push58=, -4 - i32.add $4=, $4, $pop58 + i32.const $push62=, -4 + i32.add $4=, $4, $pop62 i32.const $5=, 1 .LBB1_9: # %for.body10.i.for.body10.i_crit_edge # =>This Inner Loop Header: Depth=1 loop # label15: - i32.const $push66=, 12 - i32.mul $push22=, $5, $pop66 - i32.add $push65=, $0, $pop22 - tee_local $push64=, $2=, $pop65 - i32.load $5=, 4($pop64) - i32.load $push23=, 8($2) - i32.store $drop=, 0($4), $pop23 - i32.const $push63=, -4 - i32.add $4=, $4, $pop63 - i32.const $push62=, -1 - i32.add $push61=, $3, $pop62 - tee_local $push60=, $3=, $pop61 - i32.const $push59=, 1 - i32.gt_s $push24=, $pop60, $pop59 - br_if 0, $pop24 # 0: up to label15 + i32.const $push72=, 12 + i32.mul $push23=, $5, $pop72 + i32.add $push71=, $0, $pop23 + tee_local $push70=, $2=, $pop71 + i32.const $push69=, 4 + i32.add $push24=, $pop70, $pop69 + i32.load $5=, 0($pop24) + i32.const $push68=, 8 + i32.add $push25=, $2, $pop68 + i32.load $push26=, 0($pop25) + i32.store $drop=, 0($4), $pop26 + i32.const $push67=, -4 + i32.add $4=, $4, $pop67 + i32.const $push66=, -1 + i32.add $push65=, $3, $pop66 + tee_local $push64=, $3=, $pop65 + i32.const $push63=, 1 + i32.gt_s $push27=, $pop64, $pop63 + br_if 0, $pop27 # 0: up to label15 .LBB1_10: # %foo.exit end_loop # label16: end_block # label14: i32.store $4=, 36($0), $5 br_if 2, $1 # 2: down to label11 # BB#11: # %if.end - i32.const $push25=, 1 - i32.ne $push26=, $4, $pop25 - br_if 2, $pop26 # 2: down to label11 -# BB#12: # %lor.lhs.false - i32.load $push28=, 40($0) - i32.const $push27=, 2 - i32.ne $push29=, $pop28, $pop27 + i32.const $push28=, 1 + i32.ne $push29=, $4, $pop28 br_if 2, $pop29 # 2: down to label11 +# BB#12: # %lor.lhs.false + i32.load $push31=, 40($0) + i32.const $push30=, 2 + i32.ne $push32=, $pop31, $pop30 + br_if 2, $pop32 # 2: down to label11 # BB#13: # %if.end6 - i32.const $push37=, 0 - i32.const $push35=, 48 - i32.add $push36=, $0, $pop35 - i32.store $drop=, __stack_pointer($pop37), $pop36 - i32.const $push30=, 0 - return $pop30 + i32.const $push40=, 0 + i32.const $push38=, 48 + i32.add $push39=, $0, $pop38 + i32.store $drop=, __stack_pointer($pop40), $pop39 + i32.const $push33=, 0 + return $pop33 .LBB1_14: # %if.then6.i end_block # label13: call abort@FUNCTION unreachable .LBB1_15: # %foo.exit.thread end_block # label12: - i32.const $push67=, 0 - i32.store $drop=, 36($0), $pop67 + i32.const $push73=, 0 + i32.store $drop=, 36($0), $pop73 .LBB1_16: # %if.then5 end_block # label11: call abort@FUNCTION diff --git a/test/torture-s/pr53688.c.s b/test/torture-s/pr53688.c.s index f7bd9ad0c..0259c71c9 100644 --- a/test/torture-s/pr53688.c.s +++ b/test/torture-s/pr53688.c.s @@ -31,37 +31,34 @@ main: # @main .local i32, i64 # BB#0: # %entry call init@FUNCTION - i32.const $push19=, 0 - i32.const $push0=, 32 - i32.store8 $0=, headline+17($pop19), $pop0 - i32.const $push18=, 0 - i64.const $push1=, 2314885530818453536 - i64.store $drop=, headline+9($pop18):p2align=0, $pop1 i32.const $push17=, 0 + i32.const $push0=, 32 + i32.store8 $0=, headline+9($pop17), $pop0 i32.const $push16=, 0 - i32.load8_u $push2=, p+8($pop16) - i32.store8 $drop=, headline+8($pop17), $pop2 i32.const $push15=, 0 + i32.load8_u $push1=, p+8($pop15) + i32.store8 $drop=, headline+8($pop16), $pop1 i32.const $push14=, 0 - i64.load $push3=, p($pop14):p2align=0 - i64.store $drop=, headline($pop15), $pop3 i32.const $push13=, 0 + i64.load $push2=, p($pop13):p2align=0 + i64.store $drop=, headline($pop14), $pop2 i32.const $push12=, 0 - i64.load $push4=, p+9($pop12):p2align=0 - i64.store $1=, headline+10($pop13):p2align=1, $pop4 - i32.const $push6=, headline+18 - i32.const $push5=, 238 - i32.call $drop=, memset@FUNCTION, $pop6, $0, $pop5 + i32.const $push11=, 0 + i64.load $push3=, p+9($pop11):p2align=0 + i64.store $1=, headline+10($pop12):p2align=1, $pop3 + i32.const $push5=, headline+18 + i32.const $push4=, 238 + i32.call $drop=, memset@FUNCTION, $pop5, $0, $pop4 block - i32.wrap/i64 $push7=, $1 - i32.const $push8=, 255 - i32.and $push9=, $pop7, $pop8 - i32.const $push10=, 83 - i32.ne $push11=, $pop9, $pop10 - br_if 0, $pop11 # 0: down to label0 + i32.wrap/i64 $push6=, $1 + i32.const $push7=, 255 + i32.and $push8=, $pop6, $pop7 + i32.const $push9=, 83 + i32.ne $push10=, $pop8, $pop9 + br_if 0, $pop10 # 0: down to label0 # BB#1: # %if.end - i32.const $push20=, 0 - return $pop20 + i32.const $push18=, 0 + return $pop18 .LBB1_2: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/pr56799.c.s b/test/torture-s/pr56799.c.s index 43ad957c0..d5e658e19 100644 --- a/test/torture-s/pr56799.c.s +++ b/test/torture-s/pr56799.c.s @@ -55,35 +55,39 @@ foo: # @foo .result i32 .local i32, i32 # BB#0: # %entry - i32.load $1=, 4($0) i32.const $2=, 0 block - i32.load $push10=, 0($0) - tee_local $push9=, $0=, $pop10 - i32.const $push0=, 65535 - i32.and $push1=, $pop9, $pop0 - i32.eqz $push11=, $pop1 - br_if 0, $pop11 # 0: down to label1 + i32.load $push11=, 0($0) + tee_local $push10=, $1=, $pop11 + i32.const $push9=, 65535 + i32.and $push0=, $pop10, $pop9 + i32.eqz $push16=, $pop0 + br_if 0, $pop16 # 0: down to label1 # BB#1: # %if.then - i32.const $push3=, 0 - i32.const $push2=, 1 - i32.store $drop=, lo($pop3), $pop2 - copy_local $2=, $1 + i32.const $push2=, 0 + i32.const $push1=, 1 + i32.store $drop=, lo($pop2), $pop1 + i32.load $2=, 4($0) .LBB1_2: # %if.end end_block # label1: block - i32.const $push4=, 65536 - i32.lt_u $push5=, $0, $pop4 - br_if 0, $pop5 # 0: down to label2 + i32.const $push12=, 65535 + i32.le_u $push3=, $1, $pop12 + br_if 0, $pop3 # 0: down to label2 # BB#3: # %if.then7 - i32.const $push7=, 0 - i32.const $push6=, 1 - i32.store $drop=, hi($pop7), $pop6 - i32.add $2=, $2, $1 -.LBB1_4: # %if.end10 + i32.const $push5=, 0 + i32.const $push4=, 1 + i32.store $drop=, hi($pop5), $pop4 + i32.load $push15=, 4($0) + tee_local $push14=, $0=, $pop15 + i32.add $push13=, $0, $2 + i32.add $push7=, $pop14, $pop13 + return $pop7 +.LBB1_4: # %if.end.if.end10_crit_edge end_block # label2: - i32.add $push8=, $2, $1 - # fallthrough-return: $pop8 + i32.load $push8=, 4($0) + i32.add $push6=, $pop8, $2 + # fallthrough-return: $pop6 .endfunc .Lfunc_end1: .size foo, .Lfunc_end1-foo diff --git a/test/torture-s/pr57861.c.s b/test/torture-s/pr57861.c.s index 5499af8d8..0d69853f6 100644 --- a/test/torture-s/pr57861.c.s +++ b/test/torture-s/pr57861.c.s @@ -16,23 +16,23 @@ main: # @main tee_local $push19=, $1=, $pop20 copy_local $2=, $pop19 block - i32.load $push4=, e($0) - i32.const $push1=, 24 - i32.shl $push2=, $1, $pop1 + i32.load $push8=, e($0) + i32.const $push5=, 24 + i32.shl $push6=, $1, $pop5 i32.const $push18=, 24 - i32.shr_s $push3=, $pop2, $pop18 - i32.ge_u $push5=, $pop4, $pop3 - br_if 0, $pop5 # 0: down to label0 -# BB#1: # %if.then.1.i - i32.load $push8=, d($0) - i32.ne $push9=, $pop8, $0 - i32.load $push6=, h($0) - i32.ne $push7=, $pop6, $0 - i32.and $push25=, $pop9, $pop7 + i32.shr_s $push7=, $pop6, $pop18 + i32.ge_u $push9=, $pop8, $pop7 + br_if 0, $pop9 # 0: down to label0 +# BB#1: # %if.then.i.1 + i32.load $push3=, d($0) + i32.ne $push4=, $pop3, $0 + i32.load $push1=, h($0) + i32.ne $push2=, $pop1, $0 + i32.and $push25=, $pop4, $pop2 tee_local $push24=, $2=, $pop25 i32.store16 $drop=, a($0), $pop24 i32.store16 $drop=, f($0), $0 -.LBB0_2: # %foo.exit +.LBB0_2: # %for.inc.i.1 end_block # label0: i32.const $push10=, 2 i32.store $drop=, c($0), $pop10 diff --git a/test/torture-s/pr57876.c.s b/test/torture-s/pr57876.c.s index cf66e0ba7..c179d9bdc 100644 --- a/test/torture-s/pr57876.c.s +++ b/test/torture-s/pr57876.c.s @@ -6,159 +6,160 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64 -# BB#0: # %entry - i32.const $push66=, 0 - i32.const $push63=, 0 - i32.load $push64=, __stack_pointer($pop63) - i32.const $push65=, 16 - i32.sub $push72=, $pop64, $pop65 - i32.store $9=, __stack_pointer($pop66), $pop72 - i32.const $push2=, 0 - i32.load $10=, d($pop2) - i32.const $push95=, 0 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64 +# BB#0: # %for.body4.1 + i32.const $push65=, 0 + i32.const $push62=, 0 + i32.load $push63=, __stack_pointer($pop62) + i32.const $push64=, 16 + i32.sub $push71=, $pop63, $pop64 + i32.store $10=, __stack_pointer($pop65), $pop71 + i32.const $push1=, 0 + i32.load $11=, d($pop1) i32.const $push94=, 0 - i32.store $push93=, f($pop95), $pop94 - tee_local $push92=, $0=, $pop93 - i32.load $push3=, 0($10) - i32.store $1=, j($pop92), $pop3 - i32.const $push4=, 1 - i32.store $2=, f($0), $pop4 - i32.load $push91=, a($0) - tee_local $push90=, $11=, $pop91 - i32.mul $push5=, $1, $pop90 - i32.const $push6=, -1 - i32.add $push7=, $pop5, $pop6 - i32.store $drop=, h($0), $pop7 - i32.load $push8=, 0($10) - i32.store $1=, j($0), $pop8 - i32.const $push9=, 2 - i32.store $3=, f($0), $pop9 - i32.mul $push10=, $11, $1 - i32.const $push89=, -1 - i32.add $push11=, $pop10, $pop89 - i32.store $drop=, h($0), $pop11 - i32.load $push12=, 0($10) - i32.store $1=, j($0), $pop12 - i32.const $push13=, 3 - i32.store $4=, f($0), $pop13 - i32.mul $push14=, $11, $1 + i32.const $push93=, 0 + i32.store $push92=, f($pop94), $pop93 + tee_local $push91=, $0=, $pop92 + i32.load $push2=, 0($11) + i32.store $1=, j($pop91), $pop2 + i32.const $push3=, 1 + i32.store $2=, f($0), $pop3 + i32.load $push90=, a($0) + tee_local $push89=, $12=, $pop90 + i32.mul $push4=, $1, $pop89 + i32.const $push5=, -1 + i32.add $push6=, $pop4, $pop5 + i32.store $drop=, h($0), $pop6 + i32.load $push7=, 0($11) + i32.store $1=, j($0), $pop7 + i32.const $push8=, 2 + i32.store $3=, f($0), $pop8 + i32.mul $push9=, $12, $1 i32.const $push88=, -1 - i32.add $push15=, $pop14, $pop88 - i32.store $drop=, h($0), $pop15 - i32.load $push16=, 0($10) - i32.store $1=, j($0), $pop16 - i32.const $push17=, 4 - i32.store $5=, f($0), $pop17 - i32.mul $push18=, $11, $1 + i32.add $push10=, $pop9, $pop88 + i32.store $drop=, h($0), $pop10 + i32.load $push11=, 0($11) + i32.store $1=, j($0), $pop11 + i32.const $push12=, 3 + i32.store $4=, f($0), $pop12 + i32.mul $push13=, $12, $1 i32.const $push87=, -1 - i32.add $push19=, $pop18, $pop87 - i32.store $drop=, h($0), $pop19 - i32.load $push20=, 0($10) - i32.store $1=, j($0), $pop20 - i32.const $push21=, 5 - i32.store $6=, f($0), $pop21 - i32.mul $push22=, $11, $1 + i32.add $push14=, $pop13, $pop87 + i32.store $drop=, h($0), $pop14 + i32.load $push15=, 0($11) + i32.store $1=, j($0), $pop15 + i32.const $push16=, 4 + i32.store $5=, f($0), $pop16 + i32.mul $push17=, $12, $1 i32.const $push86=, -1 - i32.add $push23=, $pop22, $pop86 - i32.store $drop=, h($0), $pop23 - i32.load $push24=, 0($10) - i32.store $1=, j($0), $pop24 - i32.const $push25=, 6 - i32.store $7=, f($0), $pop25 - i32.mul $push26=, $11, $1 + i32.add $push18=, $pop17, $pop86 + i32.store $drop=, h($0), $pop18 + i32.load $push19=, 0($11) + i32.store $1=, j($0), $pop19 + i32.const $push20=, 5 + i32.store $6=, f($0), $pop20 + i32.mul $push21=, $12, $1 i32.const $push85=, -1 - i32.add $push27=, $pop26, $pop85 - i32.store $drop=, h($0), $pop27 - i32.load $push28=, 0($10) - i32.store $1=, j($0), $pop28 - i32.const $push29=, 7 - i32.store $8=, f($0), $pop29 - i32.mul $push30=, $11, $1 + i32.add $push22=, $pop21, $pop85 + i32.store $drop=, h($0), $pop22 + i32.load $push23=, 0($11) + i32.store $1=, j($0), $pop23 + i32.const $push24=, 6 + i32.store $7=, f($0), $pop24 + i32.mul $push25=, $12, $1 i32.const $push84=, -1 - i32.add $push31=, $pop30, $pop84 - i32.store $drop=, h($0), $pop31 - i32.load $push32=, 0($10) - i32.store $push0=, j($0), $pop32 - i32.mul $push33=, $11, $pop0 + i32.add $push26=, $pop25, $pop84 + i32.store $drop=, h($0), $pop26 + i32.load $push27=, 0($11) + i32.store $1=, j($0), $pop27 + i32.const $push28=, 7 + i32.store $8=, f($0), $pop28 + i32.mul $push29=, $12, $1 i32.const $push83=, -1 - i32.add $push34=, $pop33, $pop83 + i32.add $push30=, $pop29, $pop83 + i32.store $drop=, h($0), $pop30 + i32.load $push31=, 0($11) + i32.store $1=, j($0), $pop31 + i32.const $push32=, 8 + i32.store $9=, f($0), $pop32 + i32.mul $push33=, $12, $1 + i32.const $push82=, -1 + i32.add $push34=, $pop33, $pop82 i32.store $drop=, h($0), $pop34 - i64.load32_s $12=, b($0) - i32.store $push82=, f($0), $0 - tee_local $push81=, $0=, $pop82 - i32.load $push35=, 0($10) - i32.store $1=, j($pop81), $pop35 + i64.load32_s $13=, b($0) + i32.store $push81=, f($0), $0 + tee_local $push80=, $0=, $pop81 + i32.load $push35=, 0($11) + i32.store $1=, j($pop80), $pop35 i32.store $drop=, f($0), $2 - i32.mul $push36=, $11, $1 - i32.const $push80=, -1 - i32.add $push37=, $pop36, $pop80 + i32.mul $push36=, $12, $1 + i32.const $push79=, -1 + i32.add $push37=, $pop36, $pop79 i32.store $drop=, h($0), $pop37 - i32.load $push38=, 0($10) + i32.load $push38=, 0($11) i32.store $1=, j($0), $pop38 i32.store $drop=, f($0), $3 - i32.mul $push39=, $11, $1 - i32.const $push79=, -1 - i32.add $push40=, $pop39, $pop79 + i32.mul $push39=, $12, $1 + i32.const $push78=, -1 + i32.add $push40=, $pop39, $pop78 i32.store $drop=, h($0), $pop40 - i32.load $push41=, 0($10) + i32.load $push41=, 0($11) i32.store $1=, j($0), $pop41 i32.store $drop=, f($0), $4 - i32.mul $push42=, $11, $1 - i32.const $push78=, -1 - i32.add $push43=, $pop42, $pop78 + i32.mul $push42=, $12, $1 + i32.const $push77=, -1 + i32.add $push43=, $pop42, $pop77 i32.store $drop=, h($0), $pop43 - i32.load $push44=, 0($10) + i32.load $push44=, 0($11) i32.store $1=, j($0), $pop44 i32.store $drop=, f($0), $5 - i32.mul $push45=, $11, $1 - i32.const $push77=, -1 - i32.add $push46=, $pop45, $pop77 + i32.mul $push45=, $12, $1 + i32.const $push76=, -1 + i32.add $push46=, $pop45, $pop76 i32.store $drop=, h($0), $pop46 - i32.load $push47=, 0($10) + i32.load $push47=, 0($11) i32.store $1=, j($0), $pop47 i32.store $drop=, f($0), $6 - i32.mul $push48=, $11, $1 - i32.const $push76=, -1 - i32.add $push49=, $pop48, $pop76 + i32.mul $push48=, $12, $1 + i32.const $push75=, -1 + i32.add $push49=, $pop48, $pop75 i32.store $drop=, h($0), $pop49 - i32.load $push50=, 0($10) + i32.load $push50=, 0($11) i32.store $1=, j($0), $pop50 i32.store $drop=, f($0), $7 - i32.mul $push51=, $11, $1 - i32.const $push75=, -1 - i32.add $push52=, $pop51, $pop75 + i32.mul $push51=, $12, $1 + i32.const $push74=, -1 + i32.add $push52=, $pop51, $pop74 i32.store $drop=, h($0), $pop52 - i32.load $push53=, 0($10) + i32.load $push53=, 0($11) i32.store $1=, j($0), $pop53 i32.store $drop=, f($0), $8 - i32.mul $push54=, $11, $1 - i32.const $push74=, -1 - i32.add $push55=, $pop54, $pop74 - i32.store $drop=, h($0), $pop55 - i32.load $push56=, 0($10) - i32.store $10=, j($0), $pop56 - i32.const $push57=, 8 - i32.store $drop=, f($0), $pop57 - i32.mul $push58=, $11, $10 + i32.mul $push54=, $12, $1 i32.const $push73=, -1 - i32.add $push59=, $pop58, $pop73 - i32.store $push1=, h($0), $pop59 - i32.eqz $push60=, $pop1 - i64.extend_u/i32 $push61=, $pop60 - i64.lt_s $push62=, $pop61, $12 - i32.store $10=, e($0), $pop62 - i32.const $push70=, 12 - i32.add $push71=, $9, $pop70 - i32.store $drop=, g($0), $pop71 + i32.add $push55=, $pop54, $pop73 + i32.store $drop=, h($0), $pop55 + i32.load $push56=, 0($11) + i32.store $11=, j($0), $pop56 + i32.store $drop=, f($0), $9 + i32.mul $push57=, $12, $11 + i32.const $push72=, -1 + i32.add $push58=, $pop57, $pop72 + i32.store $push0=, h($0), $pop58 + i32.eqz $push59=, $pop0 + i64.extend_u/i32 $push60=, $pop59 + i64.lt_s $push61=, $pop60, $13 + i32.store $11=, e($0), $pop61 + i32.const $push69=, 12 + i32.add $push70=, $10, $pop69 + i32.store $drop=, g($0), $pop70 block - i32.eqz $push96=, $10 - br_if 0, $pop96 # 0: down to label0 + i32.eqz $push95=, $11 + br_if 0, $pop95 # 0: down to label0 # BB#1: # %if.end - i32.const $push69=, 0 - i32.const $push67=, 16 - i32.add $push68=, $9, $pop67 - i32.store $drop=, __stack_pointer($pop69), $pop68 + i32.const $push68=, 0 + i32.const $push66=, 16 + i32.add $push67=, $10, $pop66 + i32.store $drop=, __stack_pointer($pop68), $pop67 return $0 .LBB0_2: # %if.then end_block # label0: diff --git a/test/torture-s/pr58419.c.s b/test/torture-s/pr58419.c.s index 59fe3b9eb..395e26c68 100644 --- a/test/torture-s/pr58419.c.s +++ b/test/torture-s/pr58419.c.s @@ -45,245 +45,229 @@ main: # @main .result i32 .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $push66=, 0 + i32.const $push57=, 0 i32.const $push1=, 234 - i32.store8 $drop=, b($pop66), $pop1 + i32.store8 $drop=, b($pop57), $pop1 i32.const $5=, 1 - i32.const $push65=, 0 - i32.load $0=, p($pop65) + i32.const $push56=, 0 + i32.load $0=, p($pop56) i32.const $1=, 1 block - i32.const $push64=, 0 - i32.load $push63=, k($pop64) - tee_local $push62=, $4=, $pop63 - i32.const $push61=, 0 - i32.ne $push3=, $pop62, $pop61 - i32.const $push60=, 0 - i32.load16_u $push59=, c($pop60) - tee_local $push58=, $3=, $pop59 - i32.const $push57=, 0 - i32.ne $push2=, $pop58, $pop57 + i32.const $push55=, 0 + i32.load $push54=, k($pop55) + tee_local $push53=, $4=, $pop54 + i32.const $push52=, 0 + i32.ne $push3=, $pop53, $pop52 + i32.const $push51=, 0 + i32.load16_u $push50=, c($pop51) + tee_local $push49=, $3=, $pop50 + i32.const $push48=, 0 + i32.ne $push2=, $pop49, $pop48 i32.and $push4=, $pop3, $pop2 - i32.const $push56=, 0 - i32.load $push55=, i($pop56) - tee_local $push54=, $2=, $pop55 - i32.const $push53=, 1 - i32.lt_s $push5=, $pop54, $pop53 + i32.const $push47=, 0 + i32.load $push46=, i($pop47) + tee_local $push45=, $2=, $pop46 + i32.const $push44=, 1 + i32.lt_s $push5=, $pop45, $pop44 i32.sub $push6=, $pop4, $pop5 - i32.const $push52=, 255 - i32.and $push7=, $pop6, $pop52 - br_if 0, $pop7 # 0: down to label0 + br_if 0, $pop6 # 0: down to label0 # BB#1: # %lor.rhs i32.const $3=, 1 - i32.const $push70=, 0 - i32.store $push69=, 0($0), $pop70 - tee_local $push68=, $4=, $pop69 - i32.const $push67=, 1 - i32.store16 $drop=, c($pop68), $pop67 + i32.const $push61=, 0 + i32.store $push60=, 0($0), $pop61 + tee_local $push59=, $4=, $pop60 + i32.const $push58=, 1 + i32.store16 $drop=, c($pop59), $pop58 i32.load $2=, i($4) i32.load $4=, k($4) i32.const $1=, 0 .LBB2_2: # %lor.end end_block # label0: - i32.const $push75=, 0 - i32.store $drop=, g($pop75), $1 + i32.const $push65=, 0 + i32.store $drop=, g($pop65), $1 block - i32.const $push74=, 0 - i32.ne $push9=, $4, $pop74 - i32.const $push73=, 0 - i32.ne $push8=, $3, $pop73 - i32.and $push10=, $pop9, $pop8 - i32.const $push72=, 1 - i32.lt_s $push11=, $2, $pop72 - i32.sub $push12=, $pop10, $pop11 - i32.const $push71=, 255 - i32.and $push13=, $pop12, $pop71 - br_if 0, $pop13 # 0: down to label1 + i32.const $push64=, 0 + i32.ne $push8=, $4, $pop64 + i32.const $push63=, 0 + i32.ne $push7=, $3, $pop63 + i32.and $push9=, $pop8, $pop7 + i32.const $push62=, 1 + i32.lt_s $push10=, $2, $pop62 + i32.sub $push11=, $pop9, $pop10 + br_if 0, $pop11 # 0: down to label1 # BB#3: # %lor.rhs.1 i32.const $5=, 0 i32.const $3=, 1 - i32.const $push79=, 0 - i32.store $push78=, 0($0), $pop79 - tee_local $push77=, $4=, $pop78 - i32.const $push76=, 1 - i32.store16 $drop=, c($pop77), $pop76 + i32.const $push69=, 0 + i32.store $push68=, 0($0), $pop69 + tee_local $push67=, $4=, $pop68 + i32.const $push66=, 1 + i32.store16 $drop=, c($pop67), $pop66 i32.load $2=, i($4) i32.load $4=, k($4) .LBB2_4: # %lor.end.1 end_block # label1: - i32.const $push84=, 0 - i32.store $drop=, g($pop84), $5 + i32.const $push73=, 0 + i32.store $drop=, g($pop73), $5 i32.const $5=, 1 i32.const $1=, 1 block - i32.const $push83=, 0 - i32.ne $push15=, $4, $pop83 - i32.const $push82=, 0 - i32.ne $push14=, $3, $pop82 - i32.and $push16=, $pop15, $pop14 - i32.const $push81=, 1 - i32.lt_s $push17=, $2, $pop81 - i32.sub $push18=, $pop16, $pop17 - i32.const $push80=, 255 - i32.and $push19=, $pop18, $pop80 - br_if 0, $pop19 # 0: down to label2 + i32.const $push72=, 0 + i32.ne $push13=, $4, $pop72 + i32.const $push71=, 0 + i32.ne $push12=, $3, $pop71 + i32.and $push14=, $pop13, $pop12 + i32.const $push70=, 1 + i32.lt_s $push15=, $2, $pop70 + i32.sub $push16=, $pop14, $pop15 + br_if 0, $pop16 # 0: down to label2 # BB#5: # %lor.rhs.2 i32.const $3=, 1 - i32.const $push88=, 0 - i32.store $push87=, 0($0), $pop88 - tee_local $push86=, $4=, $pop87 - i32.const $push85=, 1 - i32.store16 $drop=, c($pop86), $pop85 + i32.const $push77=, 0 + i32.store $push76=, 0($0), $pop77 + tee_local $push75=, $4=, $pop76 + i32.const $push74=, 1 + i32.store16 $drop=, c($pop75), $pop74 i32.load $2=, i($4) i32.load $4=, k($4) i32.const $1=, 0 .LBB2_6: # %lor.end.2 end_block # label2: - i32.const $push93=, 0 - i32.store $drop=, g($pop93), $1 + i32.const $push81=, 0 + i32.store $drop=, g($pop81), $1 block - i32.const $push92=, 0 - i32.ne $push21=, $4, $pop92 - i32.const $push91=, 0 - i32.ne $push20=, $3, $pop91 - i32.and $push22=, $pop21, $pop20 - i32.const $push90=, 1 - i32.lt_s $push23=, $2, $pop90 - i32.sub $push24=, $pop22, $pop23 - i32.const $push89=, 255 - i32.and $push25=, $pop24, $pop89 - br_if 0, $pop25 # 0: down to label3 + i32.const $push80=, 0 + i32.ne $push18=, $4, $pop80 + i32.const $push79=, 0 + i32.ne $push17=, $3, $pop79 + i32.and $push19=, $pop18, $pop17 + i32.const $push78=, 1 + i32.lt_s $push20=, $2, $pop78 + i32.sub $push21=, $pop19, $pop20 + br_if 0, $pop21 # 0: down to label3 # BB#7: # %lor.rhs.3 i32.const $5=, 0 i32.const $3=, 1 - i32.const $push97=, 0 - i32.store $push96=, 0($0), $pop97 - tee_local $push95=, $4=, $pop96 - i32.const $push94=, 1 - i32.store16 $drop=, c($pop95), $pop94 + i32.const $push85=, 0 + i32.store $push84=, 0($0), $pop85 + tee_local $push83=, $4=, $pop84 + i32.const $push82=, 1 + i32.store16 $drop=, c($pop83), $pop82 i32.load $2=, i($4) i32.load $4=, k($4) .LBB2_8: # %lor.end.3 end_block # label3: - i32.const $push102=, 0 - i32.store $drop=, g($pop102), $5 + i32.const $push89=, 0 + i32.store $drop=, g($pop89), $5 i32.const $5=, 1 i32.const $1=, 1 block - i32.const $push101=, 0 - i32.ne $push27=, $4, $pop101 - i32.const $push100=, 0 - i32.ne $push26=, $3, $pop100 - i32.and $push28=, $pop27, $pop26 - i32.const $push99=, 1 - i32.lt_s $push29=, $2, $pop99 - i32.sub $push30=, $pop28, $pop29 - i32.const $push98=, 255 - i32.and $push31=, $pop30, $pop98 - br_if 0, $pop31 # 0: down to label4 + i32.const $push88=, 0 + i32.ne $push23=, $4, $pop88 + i32.const $push87=, 0 + i32.ne $push22=, $3, $pop87 + i32.and $push24=, $pop23, $pop22 + i32.const $push86=, 1 + i32.lt_s $push25=, $2, $pop86 + i32.sub $push26=, $pop24, $pop25 + br_if 0, $pop26 # 0: down to label4 # BB#9: # %lor.rhs.4 i32.const $3=, 1 - i32.const $push106=, 0 - i32.store $push105=, 0($0), $pop106 - tee_local $push104=, $4=, $pop105 - i32.const $push103=, 1 - i32.store16 $drop=, c($pop104), $pop103 + i32.const $push93=, 0 + i32.store $push92=, 0($0), $pop93 + tee_local $push91=, $4=, $pop92 + i32.const $push90=, 1 + i32.store16 $drop=, c($pop91), $pop90 i32.load $2=, i($4) i32.load $4=, k($4) i32.const $1=, 0 .LBB2_10: # %lor.end.4 end_block # label4: - i32.const $push111=, 0 - i32.store $drop=, g($pop111), $1 + i32.const $push97=, 0 + i32.store $drop=, g($pop97), $1 block - i32.const $push110=, 0 - i32.ne $push33=, $4, $pop110 - i32.const $push109=, 0 - i32.ne $push32=, $3, $pop109 - i32.and $push34=, $pop33, $pop32 - i32.const $push108=, 1 - i32.lt_s $push35=, $2, $pop108 - i32.sub $push36=, $pop34, $pop35 - i32.const $push107=, 255 - i32.and $push37=, $pop36, $pop107 - br_if 0, $pop37 # 0: down to label5 + i32.const $push96=, 0 + i32.ne $push28=, $4, $pop96 + i32.const $push95=, 0 + i32.ne $push27=, $3, $pop95 + i32.and $push29=, $pop28, $pop27 + i32.const $push94=, 1 + i32.lt_s $push30=, $2, $pop94 + i32.sub $push31=, $pop29, $pop30 + br_if 0, $pop31 # 0: down to label5 # BB#11: # %lor.rhs.5 i32.const $5=, 0 i32.const $3=, 1 - i32.const $push115=, 0 - i32.store $push114=, 0($0), $pop115 - tee_local $push113=, $4=, $pop114 - i32.const $push112=, 1 - i32.store16 $drop=, c($pop113), $pop112 + i32.const $push101=, 0 + i32.store $push100=, 0($0), $pop101 + tee_local $push99=, $4=, $pop100 + i32.const $push98=, 1 + i32.store16 $drop=, c($pop99), $pop98 i32.load $2=, i($4) i32.load $4=, k($4) .LBB2_12: # %lor.end.5 end_block # label5: - i32.const $push120=, 0 - i32.store $drop=, g($pop120), $5 + i32.const $push105=, 0 + i32.store $drop=, g($pop105), $5 i32.const $5=, 1 i32.const $1=, 1 block - i32.const $push119=, 0 - i32.ne $push39=, $4, $pop119 - i32.const $push118=, 0 - i32.ne $push38=, $3, $pop118 - i32.and $push40=, $pop39, $pop38 - i32.const $push117=, 1 - i32.lt_s $push41=, $2, $pop117 - i32.sub $push42=, $pop40, $pop41 - i32.const $push116=, 255 - i32.and $push43=, $pop42, $pop116 - br_if 0, $pop43 # 0: down to label6 + i32.const $push104=, 0 + i32.ne $push33=, $4, $pop104 + i32.const $push103=, 0 + i32.ne $push32=, $3, $pop103 + i32.and $push34=, $pop33, $pop32 + i32.const $push102=, 1 + i32.lt_s $push35=, $2, $pop102 + i32.sub $push36=, $pop34, $pop35 + br_if 0, $pop36 # 0: down to label6 # BB#13: # %lor.rhs.6 i32.const $3=, 1 - i32.const $push124=, 0 - i32.store $push123=, 0($0), $pop124 - tee_local $push122=, $4=, $pop123 - i32.const $push121=, 1 - i32.store16 $drop=, c($pop122), $pop121 + i32.const $push109=, 0 + i32.store $push108=, 0($0), $pop109 + tee_local $push107=, $4=, $pop108 + i32.const $push106=, 1 + i32.store16 $drop=, c($pop107), $pop106 i32.load $2=, i($4) i32.load $4=, k($4) i32.const $1=, 0 .LBB2_14: # %lor.end.6 end_block # label6: - i32.const $push132=, 0 - i32.store $drop=, g($pop132), $1 - i32.const $push131=, 0 - i32.load $1=, a($pop131) + i32.const $push116=, 0 + i32.store $drop=, g($pop116), $1 + i32.const $push115=, 0 + i32.load $1=, a($pop115) block - i32.const $push130=, 0 - i32.ne $push45=, $4, $pop130 - i32.const $push129=, 0 - i32.ne $push44=, $3, $pop129 - i32.and $push128=, $pop45, $pop44 - tee_local $push127=, $4=, $pop128 - i32.const $push126=, 1 - i32.lt_s $push46=, $2, $pop126 - i32.sub $push47=, $pop127, $pop46 - i32.const $push125=, 255 - i32.and $push48=, $pop47, $pop125 - br_if 0, $pop48 # 0: down to label7 + i32.const $push114=, 0 + i32.ne $push38=, $4, $pop114 + i32.const $push113=, 0 + i32.ne $push37=, $3, $pop113 + i32.and $push112=, $pop38, $pop37 + tee_local $push111=, $4=, $pop112 + i32.const $push110=, 1 + i32.lt_s $push39=, $2, $pop110 + i32.sub $push40=, $pop111, $pop39 + br_if 0, $pop40 # 0: down to label7 # BB#15: # %lor.rhs.7 i32.const $5=, 0 - i32.const $push133=, 0 - i32.store $push0=, 0($0), $pop133 - i32.const $push49=, 1 - i32.store16 $drop=, c($pop0), $pop49 + i32.const $push117=, 0 + i32.store $push0=, 0($0), $pop117 + i32.const $push41=, 1 + i32.store16 $drop=, c($pop0), $pop41 .LBB2_16: # %lor.end.7 end_block # label7: - i32.const $push50=, 0 - i32.store16 $drop=, h($pop50), $1 - i32.const $push137=, 0 - i32.store $drop=, g($pop137), $5 - i32.const $push136=, 0 - i32.store8 $drop=, e($pop136), $4 - i32.const $push135=, 0 - i32.const $push51=, 226 - i32.store8 $drop=, b($pop135), $pop51 + i32.const $push42=, 0 + i32.store16 $drop=, h($pop42), $1 + i32.const $push121=, 0 + i32.store $drop=, g($pop121), $5 + i32.const $push120=, 0 + i32.store8 $drop=, e($pop120), $4 + i32.const $push119=, 0 + i32.const $push43=, 226 + i32.store8 $drop=, b($pop119), $pop43 i32.call $drop=, getpid@FUNCTION - i32.const $push134=, 0 - # fallthrough-return: $pop134 + i32.const $push118=, 0 + # fallthrough-return: $pop118 .endfunc .Lfunc_end2: .size main, .Lfunc_end2-main diff --git a/test/torture-s/pr59221.c.s b/test/torture-s/pr59221.c.s index c7c398bdc..325db4a9f 100644 --- a/test/torture-s/pr59221.c.s +++ b/test/torture-s/pr59221.c.s @@ -9,40 +9,38 @@ main: # @main .local i32 # BB#0: # %entry block - i32.const $push14=, 0 - i32.load $push2=, b($pop14) - i32.eqz $push24=, $pop2 - br_if 0, $pop24 # 0: down to label0 + i32.const $push13=, 0 + i32.load $push2=, b($pop13) + i32.eqz $push22=, $pop2 + br_if 0, $pop22 # 0: down to label0 # BB#1: # %for.inc.preheader - i32.const $push16=, 0 i32.const $push15=, 0 - i32.store $drop=, b($pop16), $pop15 + i32.const $push14=, 0 + i32.store $drop=, b($pop15), $pop14 .LBB0_2: # %for.end end_block # label0: block - i32.const $push23=, 0 - i32.const $push22=, 0 i32.const $push21=, 0 - i32.load $push20=, a($pop21) - tee_local $push19=, $0=, $pop20 + i32.const $push20=, 0 + i32.const $push19=, 0 + i32.load $push18=, a($pop19) + tee_local $push17=, $0=, $pop18 i32.const $push5=, 16 - i32.shl $push6=, $pop19, $pop5 - i32.const $push18=, 16 - i32.shr_s $push7=, $pop6, $pop18 + i32.shl $push6=, $pop17, $pop5 + i32.const $push16=, 16 + i32.shr_s $push7=, $pop6, $pop16 i32.const $push8=, -32768 i32.const $push3=, 65535 i32.and $push4=, $0, $pop3 i32.select $push9=, $pop7, $pop8, $pop4 - i32.store16 $push0=, e($pop22), $pop9 - i32.store $push1=, d($pop23), $pop0 - i32.const $push17=, 65535 - i32.and $push10=, $pop1, $pop17 - i32.const $push11=, 1 - i32.ne $push12=, $pop10, $pop11 - br_if 0, $pop12 # 0: down to label1 + i32.store16 $push0=, e($pop20), $pop9 + i32.store $push1=, d($pop21), $pop0 + i32.const $push10=, 1 + i32.ne $push11=, $pop1, $pop10 + br_if 0, $pop11 # 0: down to label1 # BB#3: # %if.end - i32.const $push13=, 0 - return $pop13 + i32.const $push12=, 0 + return $pop12 .LBB0_4: # %if.then end_block # label1: call abort@FUNCTION diff --git a/test/torture-s/regstack-1.c.s b/test/torture-s/regstack-1.c.s index a4f3182ce..2fea3600e 100644 --- a/test/torture-s/regstack-1.c.s +++ b/test/torture-s/regstack-1.c.s @@ -65,7 +65,7 @@ main: # @main i32.add $push16=, $pop85, $pop208 i64.load $push207=, 0($pop16) tee_local $push206=, $9=, $pop207 - call __addtf3@FUNCTION, $pop87, $8, $7, $pop209, $pop206 + call __addtf3@FUNCTION, $pop87, $pop209, $pop206, $8, $7 i32.const $push88=, 128 i32.add $push89=, $6, $pop88 i32.const $push205=, 0 @@ -97,13 +97,13 @@ main: # @main i32.add $push17=, $pop95, $pop191 i64.load $push190=, 0($pop17) tee_local $push189=, $15=, $pop190 - call __multf3@FUNCTION, $pop97, $14, $13, $pop192, $pop189 + call __multf3@FUNCTION, $pop97, $pop192, $pop189, $14, $13 i32.const $push98=, 208 i32.add $push99=, $6, $pop98 call __subtf3@FUNCTION, $pop99, $8, $7, $16, $15 i32.const $push100=, 160 i32.add $push101=, $6, $pop100 - call __multf3@FUNCTION, $pop101, $12, $11, $10, $9 + call __multf3@FUNCTION, $pop101, $10, $9, $12, $11 i32.const $push104=, 256 i32.add $push105=, $6, $pop104 i64.load $push188=, 272($6) diff --git a/test/torture-s/stdarg-1.c.s b/test/torture-s/stdarg-1.c.s index df6eab452..c73c8aa19 100644 --- a/test/torture-s/stdarg-1.c.s +++ b/test/torture-s/stdarg-1.c.s @@ -122,7 +122,7 @@ bar: # @bar i32.const $push28=, 17 i32.ne $push29=, $pop27, $pop28 br_if 1, $pop29 # 1: down to label1 -.LBB1_8: # %if.end +.LBB1_8: # %if.end22 end_block # label2: i32.const $push44=, 0 i32.store $drop=, bar_arg($pop44), $0 diff --git a/test/torture-s/stdarg-2.c.s b/test/torture-s/stdarg-2.c.s index 2ae681db7..a2a60e314 100644 --- a/test/torture-s/stdarg-2.c.s +++ b/test/torture-s/stdarg-2.c.s @@ -142,7 +142,7 @@ bar: # @bar f64.const $push13=, -0x1.cp3 f64.ne $push14=, $pop12, $pop13 br_if 1, $pop14 # 1: down to label4 -.LBB1_3: # %if.end +.LBB1_3: # %if.end6 end_block # label5: i32.const $push15=, 0 i32.store $drop=, bar_arg($pop15), $0 diff --git a/test/torture-s/strcpy-1.c.s b/test/torture-s/strcpy-1.c.s index d6b0ff3d6..3200bc640 100644 --- a/test/torture-s/strcpy-1.c.s +++ b/test/torture-s/strcpy-1.c.s @@ -6,9 +6,9 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $0=, 0 + i32.const $1=, 0 .LBB0_1: # %for.cond1.preheader # =>This Loop Header: Depth=1 # Child Loop BB0_2 Depth 2 @@ -19,9 +19,9 @@ main: # @main block block loop # label2: - i32.const $push51=, u1 - i32.add $1=, $0, $pop51 - i32.const $2=, 0 + i32.const $push49=, u1 + i32.add $2=, $1, $pop49 + i32.const $3=, 0 .LBB0_2: # %for.cond4.preheader # Parent Loop BB0_1 Depth=1 # => This Loop Header: Depth=2 @@ -30,11 +30,11 @@ main: # @main # Child Loop BB0_8 Depth 4 # Child Loop BB0_12 Depth 4 loop # label4: - i32.const $push53=, 65 - i32.add $4=, $2, $pop53 - i32.const $push52=, u2 - i32.add $3=, $2, $pop52 - i32.const $5=, 1 + i32.const $push51=, 65 + i32.add $5=, $3, $pop51 + i32.const $push50=, u2 + i32.add $4=, $3, $pop50 + i32.const $6=, 1 .LBB0_3: # %for.cond7.preheader # Parent Loop BB0_1 Depth=1 # Parent Loop BB0_2 Depth=2 @@ -43,10 +43,10 @@ main: # @main # Child Loop BB0_8 Depth 4 # Child Loop BB0_12 Depth 4 loop # label6: - i32.const $push56=, u1 - i32.const $push55=, 97 - i32.const $push54=, 97 - i32.call $10=, memset@FUNCTION, $pop56, $pop55, $pop54 + i32.const $push54=, u1 + i32.const $push53=, 97 + i32.const $push52=, 97 + i32.call $0=, memset@FUNCTION, $pop54, $pop53, $pop52 i32.const $9=, 65 i32.const $7=, -97 .LBB0_4: # %for.body9 @@ -55,36 +55,36 @@ main: # @main # Parent Loop BB0_3 Depth=3 # => This Inner Loop Header: Depth=4 loop # label8: - i32.const $push64=, 65 - i32.const $push63=, 24 - i32.shl $push1=, $9, $pop63 - i32.const $push62=, 24 - i32.shr_s $push2=, $pop1, $pop62 - i32.const $push61=, 95 - i32.gt_s $push3=, $pop2, $pop61 - i32.select $push4=, $pop64, $9, $pop3 + i32.const $push62=, 65 + i32.const $push61=, 24 + i32.shl $push1=, $9, $pop61 + i32.const $push60=, 24 + i32.shr_s $push2=, $pop1, $pop60 + i32.const $push59=, 95 + i32.gt_s $push3=, $pop2, $pop59 + i32.select $push4=, $pop62, $9, $pop3 i32.store8 $push0=, u2+97($7), $pop4 - i32.const $push60=, 1 - i32.add $9=, $pop0, $pop60 - i32.const $push59=, 1 - i32.add $push58=, $7, $pop59 - tee_local $push57=, $7=, $pop58 - br_if 0, $pop57 # 0: up to label8 + i32.const $push58=, 1 + i32.add $9=, $pop0, $pop58 + i32.const $push57=, 1 + i32.add $push56=, $7, $pop57 + tee_local $push55=, $7=, $pop56 + br_if 0, $pop55 # 0: up to label8 # BB#5: # %for.end # in Loop: Header=BB0_3 Depth=3 end_loop # label9: - i32.add $push5=, $5, $2 - i32.const $push65=, 0 - i32.store8 $drop=, u2($pop5), $pop65 - i32.call $push6=, strcpy@FUNCTION, $1, $3 - i32.ne $push7=, $pop6, $1 + i32.add $push5=, $6, $3 + i32.const $push63=, 0 + i32.store8 $drop=, u2($pop5), $pop63 + i32.call $push6=, strcpy@FUNCTION, $2, $4 + i32.ne $push7=, $pop6, $2 br_if 6, $pop7 # 6: down to label1 # BB#6: # %for.cond21.preheader # in Loop: Header=BB0_3 Depth=3 i32.const $8=, u1 block - i32.const $push66=, 1 - i32.lt_s $push8=, $0, $pop66 + i32.const $push64=, 1 + i32.lt_s $push8=, $1, $pop64 br_if 0, $pop8 # 0: down to label10 # BB#7: # %for.body24.preheader # in Loop: Header=BB0_3 Depth=3 @@ -96,162 +96,156 @@ main: # @main # => This Inner Loop Header: Depth=4 loop # label11: i32.load8_u $push9=, u1($9) - i32.const $push67=, 97 - i32.ne $push10=, $pop9, $pop67 + i32.const $push65=, 97 + i32.ne $push10=, $pop9, $pop65 br_if 9, $pop10 # 9: down to label1 # BB#9: # %for.inc30 # in Loop: Header=BB0_8 Depth=4 - i32.const $push70=, 1 - i32.add $push69=, $9, $pop70 - tee_local $push68=, $9=, $pop69 - i32.lt_s $push11=, $pop68, $0 + i32.const $push68=, 1 + i32.add $push67=, $9, $pop68 + tee_local $push66=, $9=, $pop67 + i32.lt_s $push11=, $pop66, $1 br_if 0, $pop11 # 0: up to label11 # BB#10: # %for.body38.preheader.loopexit # in Loop: Header=BB0_3 Depth=3 end_loop # label12: - i32.add $8=, $9, $10 + i32.add $8=, $9, $0 .LBB0_11: # %for.body38.preheader # in Loop: Header=BB0_3 Depth=3 end_block # label10: - i32.load8_u $9=, 0($8) - i32.const $10=, 0 - copy_local $7=, $4 + i32.const $9=, 0 + copy_local $7=, $5 .LBB0_12: # %for.body38 # Parent Loop BB0_1 Depth=1 # Parent Loop BB0_2 Depth=2 # Parent Loop BB0_3 Depth=3 # => This Inner Loop Header: Depth=4 loop # label13: - i32.const $push76=, 255 - i32.and $push12=, $9, $pop76 + i32.add $push16=, $8, $9 + i32.load8_u $push17=, 0($pop16) i32.const $push75=, 65 i32.const $push74=, 24 - i32.shl $push13=, $7, $pop74 + i32.shl $push12=, $7, $pop74 i32.const $push73=, 24 - i32.shr_s $push14=, $pop13, $pop73 + i32.shr_s $push13=, $pop12, $pop73 i32.const $push72=, 95 - i32.gt_s $push15=, $pop14, $pop72 - i32.select $push16=, $pop75, $7, $pop15 - i32.const $push71=, 255 - i32.and $push17=, $pop16, $pop71 - i32.ne $push18=, $pop12, $pop17 + i32.gt_s $push14=, $pop13, $pop72 + i32.select $push71=, $pop75, $7, $pop14 + tee_local $push70=, $7=, $pop71 + i32.const $push69=, 255 + i32.and $push15=, $pop70, $pop69 + i32.ne $push18=, $pop17, $pop15 br_if 8, $pop18 # 8: down to label1 # BB#13: # %for.inc50 # in Loop: Header=BB0_12 Depth=4 - i32.const $push81=, 1 - i32.add $7=, $9, $pop81 - i32.add $push20=, $8, $10 - i32.const $push80=, 1 - i32.add $push21=, $pop20, $pop80 - i32.load8_u $9=, 0($pop21) i32.const $push79=, 1 - i32.add $push78=, $10, $pop79 - tee_local $push77=, $6=, $pop78 - copy_local $10=, $pop77 - i32.lt_s $push19=, $6, $5 + i32.add $7=, $7, $pop79 + i32.const $push78=, 1 + i32.add $push77=, $9, $pop78 + tee_local $push76=, $9=, $pop77 + i32.lt_s $push19=, $pop76, $6 br_if 0, $pop19 # 0: up to label13 # BB#14: # %for.end54 # in Loop: Header=BB0_3 Depth=3 end_loop # label14: - i32.const $push82=, 255 - i32.and $push22=, $9, $pop82 - br_if 6, $pop22 # 6: down to label1 + i32.add $push81=, $8, $9 + tee_local $push80=, $9=, $pop81 + i32.load8_u $push20=, 0($pop80) + br_if 6, $pop20 # 6: down to label1 # BB#15: # %for.cond61.preheader # in Loop: Header=BB0_3 Depth=3 - i32.add $push86=, $8, $6 - tee_local $push85=, $9=, $pop86 - i32.const $push84=, 1 - i32.add $push23=, $pop85, $pop84 - i32.load8_u $push24=, 0($pop23) - i32.const $push83=, 97 - i32.ne $push25=, $pop24, $pop83 - br_if 7, $pop25 # 7: down to label0 + i32.const $push83=, 1 + i32.add $push21=, $9, $pop83 + i32.load8_u $push22=, 0($pop21) + i32.const $push82=, 97 + i32.ne $push23=, $pop22, $pop82 + br_if 7, $pop23 # 7: down to label0 # BB#16: # %for.cond61 # in Loop: Header=BB0_3 Depth=3 - i32.const $push88=, 2 - i32.add $push26=, $9, $pop88 - i32.load8_u $push27=, 0($pop26) - i32.const $push87=, 97 - i32.ne $push28=, $pop27, $pop87 - br_if 7, $pop28 # 7: down to label0 + i32.const $push85=, 2 + i32.add $push24=, $9, $pop85 + i32.load8_u $push25=, 0($pop24) + i32.const $push84=, 97 + i32.ne $push26=, $pop25, $pop84 + br_if 7, $pop26 # 7: down to label0 # BB#17: # %for.cond61.1 # in Loop: Header=BB0_3 Depth=3 - i32.const $push90=, 3 - i32.add $push29=, $9, $pop90 - i32.load8_u $push30=, 0($pop29) - i32.const $push89=, 97 - i32.ne $push31=, $pop30, $pop89 - br_if 7, $pop31 # 7: down to label0 + i32.const $push87=, 3 + i32.add $push27=, $9, $pop87 + i32.load8_u $push28=, 0($pop27) + i32.const $push86=, 97 + i32.ne $push29=, $pop28, $pop86 + br_if 7, $pop29 # 7: down to label0 # BB#18: # %for.cond61.2 # in Loop: Header=BB0_3 Depth=3 - i32.const $push92=, 4 - i32.add $push32=, $9, $pop92 - i32.load8_u $push33=, 0($pop32) - i32.const $push91=, 97 - i32.ne $push34=, $pop33, $pop91 - br_if 7, $pop34 # 7: down to label0 + i32.const $push89=, 4 + i32.add $push30=, $9, $pop89 + i32.load8_u $push31=, 0($pop30) + i32.const $push88=, 97 + i32.ne $push32=, $pop31, $pop88 + br_if 7, $pop32 # 7: down to label0 # BB#19: # %for.cond61.3 # in Loop: Header=BB0_3 Depth=3 - i32.const $push94=, 5 - i32.add $push35=, $9, $pop94 - i32.load8_u $push36=, 0($pop35) - i32.const $push93=, 97 - i32.ne $push37=, $pop36, $pop93 - br_if 7, $pop37 # 7: down to label0 + i32.const $push91=, 5 + i32.add $push33=, $9, $pop91 + i32.load8_u $push34=, 0($pop33) + i32.const $push90=, 97 + i32.ne $push35=, $pop34, $pop90 + br_if 7, $pop35 # 7: down to label0 # BB#20: # %for.cond61.4 # in Loop: Header=BB0_3 Depth=3 - i32.const $push96=, 6 - i32.add $push38=, $9, $pop96 - i32.load8_u $push39=, 0($pop38) - i32.const $push95=, 97 - i32.ne $push40=, $pop39, $pop95 - br_if 7, $pop40 # 7: down to label0 + i32.const $push93=, 6 + i32.add $push36=, $9, $pop93 + i32.load8_u $push37=, 0($pop36) + i32.const $push92=, 97 + i32.ne $push38=, $pop37, $pop92 + br_if 7, $pop38 # 7: down to label0 # BB#21: # %for.cond61.5 # in Loop: Header=BB0_3 Depth=3 - i32.const $push98=, 7 - i32.add $push41=, $9, $pop98 - i32.load8_u $push42=, 0($pop41) - i32.const $push97=, 97 - i32.ne $push43=, $pop42, $pop97 - br_if 7, $pop43 # 7: down to label0 + i32.const $push95=, 7 + i32.add $push39=, $9, $pop95 + i32.load8_u $push40=, 0($pop39) + i32.const $push94=, 97 + i32.ne $push41=, $pop40, $pop94 + br_if 7, $pop41 # 7: down to label0 # BB#22: # %for.cond61.6 # in Loop: Header=BB0_3 Depth=3 - i32.const $push100=, 8 - i32.add $push44=, $9, $pop100 - i32.load8_u $push45=, 0($pop44) - i32.const $push99=, 97 - i32.ne $push46=, $pop45, $pop99 - br_if 7, $pop46 # 7: down to label0 + i32.const $push97=, 8 + i32.add $push42=, $9, $pop97 + i32.load8_u $push43=, 0($pop42) + i32.const $push96=, 97 + i32.ne $push44=, $pop43, $pop96 + br_if 7, $pop44 # 7: down to label0 # BB#23: # %for.cond61.7 # in Loop: Header=BB0_3 Depth=3 - i32.const $push104=, 1 - i32.add $push103=, $5, $pop104 - tee_local $push102=, $5=, $pop103 - i32.const $push101=, 80 - i32.lt_u $push47=, $pop102, $pop101 - br_if 0, $pop47 # 0: up to label6 + i32.const $push101=, 1 + i32.add $push100=, $6, $pop101 + tee_local $push99=, $6=, $pop100 + i32.const $push98=, 80 + i32.lt_u $push45=, $pop99, $pop98 + br_if 0, $pop45 # 0: up to label6 # BB#24: # %for.inc77 # in Loop: Header=BB0_2 Depth=2 end_loop # label7: - i32.const $push108=, 1 - i32.add $push107=, $2, $pop108 - tee_local $push106=, $2=, $pop107 - i32.const $push105=, 8 - i32.lt_u $push48=, $pop106, $pop105 - br_if 0, $pop48 # 0: up to label4 + i32.const $push105=, 1 + i32.add $push104=, $3, $pop105 + tee_local $push103=, $3=, $pop104 + i32.const $push102=, 8 + i32.lt_u $push46=, $pop103, $pop102 + br_if 0, $pop46 # 0: up to label4 # BB#25: # %for.inc80 # in Loop: Header=BB0_1 Depth=1 end_loop # label5: - i32.const $push112=, 1 - i32.add $push111=, $0, $pop112 - tee_local $push110=, $0=, $pop111 - i32.const $push109=, 8 - i32.lt_u $push49=, $pop110, $pop109 - br_if 0, $pop49 # 0: up to label2 + i32.const $push109=, 1 + i32.add $push108=, $1, $pop109 + tee_local $push107=, $1=, $pop108 + i32.const $push106=, 8 + i32.lt_u $push47=, $pop107, $pop106 + br_if 0, $pop47 # 0: up to label2 # BB#26: # %for.end82 end_loop # label3: - i32.const $push50=, 0 - call exit@FUNCTION, $pop50 + i32.const $push48=, 0 + call exit@FUNCTION, $pop48 unreachable .LBB0_27: # %if.then59 end_block # label1: diff --git a/test/torture-s/string-opt-18.c.s b/test/torture-s/string-opt-18.c.s index e0dabaf12..22dbc4973 100644 --- a/test/torture-s/string-opt-18.c.s +++ b/test/torture-s/string-opt-18.c.s @@ -19,13 +19,12 @@ test1: # @test1 test2: # @test2 .param i32 # BB#0: # %entry + i64.load $push0=, 0($0):p2align=0 + i64.store $drop=, 0($0):p2align=0, $pop0 block - i32.const $push0=, 8 - i32.call $push2=, mempcpy@FUNCTION, $0, $0, $pop0 - i32.const $push4=, 8 - i32.add $push1=, $0, $pop4 - i32.ne $push3=, $pop2, $pop1 - br_if 0, $pop3 # 0: down to label0 + i32.const $push1=, 1 + i32.eqz $push2=, $pop1 + br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.end return .LBB1_2: # %if.then @@ -104,33 +103,26 @@ main: # @main .result i32 .local i32 # BB#0: # %entry + i32.const $push6=, 0 + i32.const $push3=, 0 + i32.load $push4=, __stack_pointer($pop3) + i32.const $push5=, 16 + i32.sub $push10=, $pop4, $pop5 + i32.store $push12=, __stack_pointer($pop6), $pop10 + tee_local $push11=, $0=, $pop12 + i64.load $push0=, 4($0):p2align=2 + i64.store $drop=, 4($pop11):p2align=2, $pop0 block - i32.const $push8=, 0 - i32.const $push5=, 0 - i32.load $push6=, __stack_pointer($pop5) - i32.const $push7=, 16 - i32.sub $push18=, $pop6, $pop7 - i32.store $push21=, __stack_pointer($pop8), $pop18 - tee_local $push20=, $0=, $pop21 - i32.const $push14=, 6 - i32.add $push15=, $pop20, $pop14 - i32.const $push16=, 6 - i32.add $push17=, $0, $pop16 - i32.const $push0=, 8 - i32.call $push2=, mempcpy@FUNCTION, $pop15, $pop17, $pop0 - i32.const $push12=, 6 - i32.add $push13=, $0, $pop12 - i32.const $push19=, 8 - i32.add $push1=, $pop13, $pop19 - i32.ne $push3=, $pop2, $pop1 - br_if 0, $pop3 # 0: down to label1 + i32.const $push1=, 1 + i32.eqz $push13=, $pop1 + br_if 0, $pop13 # 0: down to label1 # BB#1: # %test2.exit - i32.const $push11=, 0 - i32.const $push9=, 16 - i32.add $push10=, $0, $pop9 - i32.store $drop=, __stack_pointer($pop11), $pop10 - i32.const $push4=, 0 - return $pop4 + i32.const $push9=, 0 + i32.const $push7=, 16 + i32.add $push8=, $0, $pop7 + i32.store $drop=, __stack_pointer($pop9), $pop8 + i32.const $push2=, 0 + return $pop2 .LBB7_2: # %if.then.i end_block # label1: call abort@FUNCTION diff --git a/test/torture-s/struct-cpy-1.c.s b/test/torture-s/struct-cpy-1.c.s index 026b6db6c..ff092e22e 100644 --- a/test/torture-s/struct-cpy-1.c.s +++ b/test/torture-s/struct-cpy-1.c.s @@ -6,16 +6,24 @@ .type ini,@function ini: # @ini # BB#0: # %entry - i32.const $push2=, pty+40 - i32.const $push1=, 0 - i32.const $push0=, 44 - i32.call $drop=, memset@FUNCTION, $pop2, $pop1, $pop0 - i32.const $push6=, 0 - i64.const $push3=, 8589934593 - i64.store $drop=, pty+40($pop6), $pop3 - i32.const $push5=, 0 - i64.const $push4=, 17179869187 - i64.store $drop=, pty+48($pop5), $pop4 + i32.const $push4=, 0 + i32.const $push13=, 0 + i32.const $push12=, 0 + i64.const $push3=, 0 + i64.store $push0=, pty+72($pop12), $pop3 + i64.store $push1=, pty+64($pop13), $pop0 + i64.store $drop=, pty+56($pop4), $pop1 + i32.const $push11=, 0 + i64.const $push5=, 8589934593 + i64.store $drop=, pty+40($pop11), $pop5 + i32.const $push10=, 0 + i32.const $push6=, 3 + i32.store $drop=, pty+48($pop10), $pop6 + i32.const $push9=, 0 + i32.const $push8=, 0 + i32.store $push2=, pty+80($pop9), $pop8 + i32.const $push7=, 4 + i32.store $drop=, pty+52($pop2), $pop7 # fallthrough-return .endfunc .Lfunc_end0: @@ -27,19 +35,29 @@ ini: # @ini .type main,@function main: # @main .result i32 + .local i32 # BB#0: # %entry - i32.const $push2=, pty+40 - i32.const $push1=, 0 - i32.const $push0=, 44 - i32.call $drop=, memset@FUNCTION, $pop2, $pop1, $pop0 - i32.const $push7=, 0 - i64.const $push3=, 8589934593 - i64.store $drop=, pty+40($pop7), $pop3 - i32.const $push6=, 0 - i64.const $push4=, 17179869187 - i64.store $drop=, pty+48($pop6), $pop4 - i32.const $push5=, 0 - # fallthrough-return: $pop5 + i32.const $push3=, 0 + i32.const $push14=, 0 + i32.const $push13=, 0 + i64.const $push2=, 0 + i64.store $push0=, pty+72($pop13), $pop2 + i64.store $push1=, pty+64($pop14), $pop0 + i64.store $drop=, pty+56($pop3), $pop1 + i32.const $push12=, 0 + i64.const $push4=, 8589934593 + i64.store $drop=, pty+40($pop12), $pop4 + i32.const $push11=, 0 + i32.const $push5=, 3 + i32.store $drop=, pty+48($pop11), $pop5 + i32.const $push10=, 0 + i32.const $push9=, 0 + i32.store $push8=, pty+80($pop10), $pop9 + tee_local $push7=, $0=, $pop8 + i32.const $push6=, 4 + i32.store $drop=, pty+52($pop7), $pop6 + copy_local $push15=, $0 + # fallthrough-return: $pop15 .endfunc .Lfunc_end1: .size main, .Lfunc_end1-main diff --git a/test/torture-s/va-arg-22.c.s b/test/torture-s/va-arg-22.c.s index 1fe3a94d3..9e478e3fa 100644 --- a/test/torture-s/va-arg-22.c.s +++ b/test/torture-s/va-arg-22.c.s @@ -115,7 +115,7 @@ foo: # @foo i32.xor $push55=, $pop54, $pop630 i32.ne $push56=, $pop55, $1 br_if 0, $pop56 # 0: down to label10 -# BB#5: # %if.then.i314 +# BB#5: # %if.then.i312 i32.const $push633=, 0 i32.const $push57=, 1 i32.add $push58=, $0, $pop57 @@ -124,7 +124,7 @@ foo: # @foo i32.add $push3=, $2, $pop632 i32.store $1=, 4($6), $pop3 br_if 0, $0 # 0: down to label10 -# BB#6: # %if.end3.i321 +# BB#6: # %if.end3.i319 i32.const $push59=, 4 i32.add $push60=, $2, $pop59 i32.load16_u $0=, 0($pop60):p2align=0 @@ -139,7 +139,7 @@ foo: # @foo i32.const $push64=, 16 i32.ne $push65=, $pop63, $pop64 br_if 0, $pop65 # 0: down to label10 -# BB#7: # %if.end3.i321.1 +# BB#7: # %if.end3.i319.1 i32.const $push637=, 0 i32.const $push66=, 1 i32.store $drop=, bar.lastc($pop637), $pop66 @@ -148,7 +148,7 @@ foo: # @foo i32.const $push69=, 4352 i32.ne $push70=, $pop68, $pop69 br_if 0, $pop70 # 0: down to label10 -# BB#8: # %if.end3.i335 +# BB#8: # %if.end3.i333 i32.const $push71=, 12 i32.add $push72=, $2, $pop71 i32.store $drop=, 4($6), $pop72 @@ -167,7 +167,7 @@ foo: # @foo i32.const $push78=, 24 i32.ne $push79=, $0, $pop78 br_if 8, $pop79 # 8: down to label2 -# BB#9: # %if.end3.i335.1 +# BB#9: # %if.end3.i333.1 i32.const $push640=, 0 i32.const $push80=, 1 i32.store $drop=, bar.lastc($pop640), $pop80 @@ -175,7 +175,7 @@ foo: # @foo i32.const $push81=, 25 i32.ne $push83=, $pop82, $pop81 br_if 8, $pop83 # 8: down to label2 -# BB#10: # %if.end3.i335.2 +# BB#10: # %if.end3.i333.2 i32.const $push641=, 0 i32.const $push84=, 2 i32.store $drop=, bar.lastc($pop641), $pop84 @@ -183,7 +183,7 @@ foo: # @foo i32.const $push85=, 26 i32.ne $push87=, $pop86, $pop85 br_if 8, $pop87 # 8: down to label2 -# BB#11: # %if.end3.i349 +# BB#11: # %if.end3.i347 i32.const $push88=, 16 i32.add $push4=, $2, $pop88 i32.store $1=, 4($6), $pop4 @@ -201,7 +201,7 @@ foo: # @foo i32.const $push95=, 32 i32.ne $push96=, $pop94, $pop95 br_if 7, $pop96 # 7: down to label3 -# BB#12: # %if.end3.i349.1 +# BB#12: # %if.end3.i347.1 i32.const $push97=, 1 i32.store $drop=, bar.lastc($7), $pop97 i32.const $push98=, 65280 @@ -209,7 +209,7 @@ foo: # @foo i32.const $push100=, 8448 i32.ne $push101=, $pop99, $pop100 br_if 7, $pop101 # 7: down to label3 -# BB#13: # %if.end3.i349.2 +# BB#13: # %if.end3.i347.2 i32.const $push644=, 0 i32.const $push102=, 2 i32.store $drop=, bar.lastc($pop644), $pop102 @@ -218,7 +218,7 @@ foo: # @foo i32.const $push105=, 2228224 i32.ne $push106=, $pop104, $pop105 br_if 7, $pop106 # 7: down to label3 -# BB#14: # %if.end3.i349.3 +# BB#14: # %if.end3.i347.3 i32.const $push645=, 0 i32.const $push107=, 3 i32.store $drop=, bar.lastc($pop645), $pop107 @@ -227,7 +227,7 @@ foo: # @foo i32.const $push110=, 587202560 i32.ne $push111=, $pop109, $pop110 br_if 7, $pop111 # 7: down to label3 -# BB#15: # %if.end3.i363 +# BB#15: # %if.end3.i361 i32.const $push112=, 24 i32.add $push5=, $2, $pop112 i32.store $7=, 4($6), $pop5 @@ -247,14 +247,14 @@ foo: # @foo i32.const $push119=, 40 i32.ne $push120=, $0, $pop119 br_if 6, $pop120 # 6: down to label4 -# BB#16: # %if.end3.i363.1 +# BB#16: # %if.end3.i361.1 i32.const $push121=, 1 i32.store $drop=, bar.lastc($1), $pop121 i32.load8_u $push123=, 337($6) i32.const $push122=, 41 i32.ne $push124=, $pop123, $pop122 br_if 6, $pop124 # 6: down to label4 -# BB#17: # %if.end3.i363.2 +# BB#17: # %if.end3.i361.2 i32.const $push649=, 0 i32.const $push125=, 2 i32.store $drop=, bar.lastc($pop649), $pop125 @@ -262,7 +262,7 @@ foo: # @foo i32.const $push126=, 42 i32.ne $push128=, $pop127, $pop126 br_if 6, $pop128 # 6: down to label4 -# BB#18: # %if.end3.i363.3 +# BB#18: # %if.end3.i361.3 i32.const $push650=, 0 i32.const $push129=, 3 i32.store $drop=, bar.lastc($pop650), $pop129 @@ -270,7 +270,7 @@ foo: # @foo i32.const $push130=, 43 i32.ne $push132=, $pop131, $pop130 br_if 6, $pop132 # 6: down to label4 -# BB#19: # %if.end3.i363.4 +# BB#19: # %if.end3.i361.4 i32.const $push651=, 0 i32.const $push133=, 4 i32.store $1=, bar.lastc($pop651), $pop133 @@ -278,7 +278,7 @@ foo: # @foo i32.const $push134=, 44 i32.ne $push136=, $pop135, $pop134 br_if 6, $pop136 # 6: down to label4 -# BB#20: # %if.end3.i377 +# BB#20: # %if.end3.i375 i32.const $push137=, 32 i32.add $push6=, $2, $pop137 i32.store $0=, 4($6), $pop6 @@ -296,7 +296,7 @@ foo: # @foo i32.const $push142=, 48 i32.ne $push143=, $1, $pop142 br_if 5, $pop143 # 5: down to label5 -# BB#21: # %if.end3.i377.1 +# BB#21: # %if.end3.i375.1 i32.const $push654=, 0 i32.const $push144=, 1 i32.store $drop=, bar.lastc($pop654), $pop144 @@ -304,7 +304,7 @@ foo: # @foo i32.const $push145=, 49 i32.ne $push147=, $pop146, $pop145 br_if 5, $pop147 # 5: down to label5 -# BB#22: # %if.end3.i377.2 +# BB#22: # %if.end3.i375.2 i32.const $push655=, 0 i32.const $push148=, 2 i32.store $drop=, bar.lastc($pop655), $pop148 @@ -312,7 +312,7 @@ foo: # @foo i32.const $push149=, 50 i32.ne $push151=, $pop150, $pop149 br_if 5, $pop151 # 5: down to label5 -# BB#23: # %if.end3.i377.3 +# BB#23: # %if.end3.i375.3 i32.const $push656=, 0 i32.const $push152=, 3 i32.store $drop=, bar.lastc($pop656), $pop152 @@ -320,7 +320,7 @@ foo: # @foo i32.const $push153=, 51 i32.ne $push155=, $pop154, $pop153 br_if 5, $pop155 # 5: down to label5 -# BB#24: # %if.end3.i377.4 +# BB#24: # %if.end3.i375.4 i32.const $push657=, 0 i32.const $push156=, 4 i32.store $drop=, bar.lastc($pop657), $pop156 @@ -328,7 +328,7 @@ foo: # @foo i32.const $push157=, 52 i32.ne $push159=, $pop158, $pop157 br_if 5, $pop159 # 5: down to label5 -# BB#25: # %if.end3.i377.5 +# BB#25: # %if.end3.i375.5 i32.const $push658=, 0 i32.const $push160=, 5 i32.store $drop=, bar.lastc($pop658), $pop160 @@ -336,7 +336,7 @@ foo: # @foo i32.const $push161=, 53 i32.ne $push163=, $pop162, $pop161 br_if 5, $pop163 # 5: down to label5 -# BB#26: # %if.end3.i391 +# BB#26: # %if.end3.i389 i32.const $push164=, 40 i32.add $push165=, $2, $pop164 i32.store $drop=, 4($6), $pop165 @@ -359,7 +359,7 @@ foo: # @foo i32.const $push174=, 56 i32.ne $push175=, $0, $pop174 br_if 4, $pop175 # 4: down to label6 -# BB#27: # %if.end3.i391.1 +# BB#27: # %if.end3.i389.1 i32.const $push661=, 0 i32.const $push176=, 1 i32.store $drop=, bar.lastc($pop661), $pop176 @@ -367,7 +367,7 @@ foo: # @foo i32.const $push177=, 57 i32.ne $push179=, $pop178, $pop177 br_if 4, $pop179 # 4: down to label6 -# BB#28: # %if.end3.i391.2 +# BB#28: # %if.end3.i389.2 i32.const $push662=, 0 i32.const $push180=, 2 i32.store $drop=, bar.lastc($pop662), $pop180 @@ -375,7 +375,7 @@ foo: # @foo i32.const $push181=, 58 i32.ne $push183=, $pop182, $pop181 br_if 4, $pop183 # 4: down to label6 -# BB#29: # %if.end3.i391.3 +# BB#29: # %if.end3.i389.3 i32.const $push663=, 0 i32.const $push184=, 3 i32.store $drop=, bar.lastc($pop663), $pop184 @@ -383,7 +383,7 @@ foo: # @foo i32.const $push185=, 59 i32.ne $push187=, $pop186, $pop185 br_if 4, $pop187 # 4: down to label6 -# BB#30: # %if.end3.i391.4 +# BB#30: # %if.end3.i389.4 i32.const $push664=, 0 i32.const $push188=, 4 i32.store $drop=, bar.lastc($pop664), $pop188 @@ -391,7 +391,7 @@ foo: # @foo i32.const $push189=, 60 i32.ne $push191=, $pop190, $pop189 br_if 4, $pop191 # 4: down to label6 -# BB#31: # %if.end3.i391.5 +# BB#31: # %if.end3.i389.5 i32.const $push665=, 0 i32.const $push192=, 5 i32.store $drop=, bar.lastc($pop665), $pop192 @@ -399,7 +399,7 @@ foo: # @foo i32.const $push193=, 61 i32.ne $push195=, $pop194, $pop193 br_if 4, $pop195 # 4: down to label6 -# BB#32: # %if.end3.i391.6 +# BB#32: # %if.end3.i389.6 i32.const $push666=, 0 i32.const $push196=, 6 i32.store $drop=, bar.lastc($pop666), $pop196 @@ -407,7 +407,7 @@ foo: # @foo i32.const $push197=, 62 i32.ne $push199=, $pop198, $pop197 br_if 4, $pop199 # 4: down to label6 -# BB#33: # %if.end3.i405 +# BB#33: # %if.end3.i403 i32.const $push201=, 0 i32.const $push200=, 7 i32.store $drop=, bar.lastc($pop201), $pop200 @@ -428,14 +428,14 @@ foo: # @foo i32.const $push207=, 64 i32.ne $push209=, $pop208, $pop207 br_if 3, $pop209 # 3: down to label7 -# BB#34: # %if.end3.i405.1 +# BB#34: # %if.end3.i403.1 i32.const $push36=, 1 i32.store $1=, bar.lastc($1), $pop36 i32.load8_s $push211=, 313($6) i32.const $push210=, 65 i32.ne $push212=, $pop211, $pop210 br_if 3, $pop212 # 3: down to label7 -# BB#35: # %if.end3.i405.2 +# BB#35: # %if.end3.i403.2 i32.const $push673=, 0 i32.add $push37=, $1, $1 i32.store $push672=, bar.lastc($pop673), $pop37 @@ -445,7 +445,7 @@ foo: # @foo i32.load8_s $push214=, 314($6) i32.ne $push215=, $pop213, $pop214 br_if 3, $pop215 # 3: down to label7 -# BB#36: # %if.end3.i405.3 +# BB#36: # %if.end3.i403.3 i32.const $push680=, 0 i32.const $push679=, 1 i32.add $push38=, $1, $pop679 @@ -460,7 +460,7 @@ foo: # @foo i32.load8_s $push219=, 315($6) i32.ne $push220=, $pop218, $pop219 br_if 3, $pop220 # 3: down to label7 -# BB#37: # %if.end3.i405.4 +# BB#37: # %if.end3.i403.4 i32.const $push687=, 0 i32.const $push686=, 1 i32.add $push39=, $1, $pop686 @@ -475,7 +475,7 @@ foo: # @foo i32.load8_s $push224=, 316($6) i32.ne $push225=, $pop223, $pop224 br_if 3, $pop225 # 3: down to label7 -# BB#38: # %if.end3.i405.5 +# BB#38: # %if.end3.i403.5 i32.const $push694=, 0 i32.const $push693=, 1 i32.add $push40=, $1, $pop693 @@ -490,7 +490,7 @@ foo: # @foo i32.load8_s $push229=, 317($6) i32.ne $push230=, $pop228, $pop229 br_if 3, $pop230 # 3: down to label7 -# BB#39: # %if.end3.i405.6 +# BB#39: # %if.end3.i403.6 i32.const $push701=, 0 i32.const $push700=, 1 i32.add $push41=, $1, $pop700 @@ -505,7 +505,7 @@ foo: # @foo i32.load8_s $push234=, 318($6) i32.ne $push235=, $pop233, $pop234 br_if 3, $pop235 # 3: down to label7 -# BB#40: # %if.end3.i405.7 +# BB#40: # %if.end3.i403.7 i32.const $push707=, 0 i32.const $push706=, 1 i32.add $push42=, $1, $pop706 @@ -548,11 +548,11 @@ foo: # @foo block i32.const $push708=, 0 br_if 0, $pop708 # 0: down to label12 -# BB#42: # %if.then.i412 +# BB#42: # %if.then.i410 i32.const $push251=, 8 i32.ne $push252=, $8, $pop251 br_if 1, $pop252 # 1: down to label10 -# BB#43: # %if.end.i414 +# BB#43: # %if.end.i412 i32.const $1=, 9 i32.const $7=, 0 i32.const $push717=, 0 @@ -561,7 +561,7 @@ foo: # @foo i32.const $push715=, 0 i32.const $push714=, 0 i32.store $drop=, bar.lastc($pop715), $pop714 -.LBB1_44: # %if.end3.i419 +.LBB1_44: # %if.end3.i417 end_block # label12: i32.const $push720=, 24 i32.shl $push253=, $7, $pop720 @@ -571,7 +571,7 @@ foo: # @foo i32.xor $push255=, $pop254, $pop718 i32.ne $push256=, $pop255, $0 br_if 2, $pop256 # 2: down to label8 -# BB#45: # %if.end3.i419.1 +# BB#45: # %if.end3.i417.1 i32.const $push727=, 0 i32.const $push726=, 1 i32.add $push28=, $7, $pop726 @@ -586,7 +586,7 @@ foo: # @foo i32.load8_s $push260=, 297($6) i32.ne $push261=, $pop259, $pop260 br_if 2, $pop261 # 2: down to label8 -# BB#46: # %if.end3.i419.2 +# BB#46: # %if.end3.i417.2 i32.const $push734=, 0 i32.const $push733=, 1 i32.add $push29=, $0, $pop733 @@ -601,7 +601,7 @@ foo: # @foo i32.load8_s $push265=, 298($6) i32.ne $push266=, $pop264, $pop265 br_if 2, $pop266 # 2: down to label8 -# BB#47: # %if.end3.i419.3 +# BB#47: # %if.end3.i417.3 i32.const $push741=, 0 i32.const $push740=, 1 i32.add $push30=, $0, $pop740 @@ -616,7 +616,7 @@ foo: # @foo i32.load8_s $push270=, 299($6) i32.ne $push271=, $pop269, $pop270 br_if 2, $pop271 # 2: down to label8 -# BB#48: # %if.end3.i419.4 +# BB#48: # %if.end3.i417.4 i32.const $push748=, 0 i32.const $push747=, 1 i32.add $push31=, $0, $pop747 @@ -631,7 +631,7 @@ foo: # @foo i32.load8_s $push275=, 300($6) i32.ne $push276=, $pop274, $pop275 br_if 2, $pop276 # 2: down to label8 -# BB#49: # %if.end3.i419.5 +# BB#49: # %if.end3.i417.5 i32.const $push755=, 0 i32.const $push754=, 1 i32.add $push32=, $0, $pop754 @@ -646,7 +646,7 @@ foo: # @foo i32.load8_s $push280=, 301($6) i32.ne $push281=, $pop279, $pop280 br_if 2, $pop281 # 2: down to label8 -# BB#50: # %if.end3.i419.6 +# BB#50: # %if.end3.i417.6 i32.const $push762=, 0 i32.const $push761=, 1 i32.add $push33=, $0, $pop761 @@ -661,7 +661,7 @@ foo: # @foo i32.load8_s $push285=, 302($6) i32.ne $push286=, $pop284, $pop285 br_if 2, $pop286 # 2: down to label8 -# BB#51: # %if.end3.i419.7 +# BB#51: # %if.end3.i417.7 i32.const $push769=, 0 i32.const $push768=, 1 i32.add $push34=, $0, $pop768 @@ -676,7 +676,7 @@ foo: # @foo i32.load8_s $push290=, 303($6) i32.ne $push291=, $pop289, $pop290 br_if 2, $pop291 # 2: down to label8 -# BB#52: # %if.end3.i419.8 +# BB#52: # %if.end3.i417.8 i32.const $push775=, 0 i32.const $push774=, 1 i32.add $push35=, $0, $pop774 @@ -719,10 +719,10 @@ foo: # @foo i32.const $push308=, 10 i32.eq $push309=, $1, $pop308 br_if 0, $pop309 # 0: down to label13 -# BB#54: # %if.then.i426 +# BB#54: # %if.then.i424 i32.ne $push310=, $8, $1 br_if 1, $pop310 # 1: down to label10 -# BB#55: # %if.end.i428 +# BB#55: # %if.end.i426 i32.const $1=, 10 i32.const $0=, 0 i32.const $push783=, 0 @@ -731,7 +731,7 @@ foo: # @foo i32.const $push781=, 0 i32.const $push780=, 0 i32.store $drop=, bar.lastc($pop781), $pop780 -.LBB1_56: # %if.end3.i433 +.LBB1_56: # %if.end3.i431 end_block # label13: i32.const $push786=, 24 i32.shl $push311=, $0, $pop786 @@ -741,7 +741,7 @@ foo: # @foo i32.xor $push313=, $pop312, $pop784 i32.ne $push314=, $pop313, $9 br_if 1, $pop314 # 1: down to label9 -# BB#57: # %if.end3.i433.1 +# BB#57: # %if.end3.i431.1 i32.const $push793=, 0 i32.const $push792=, 1 i32.add $push18=, $0, $pop792 @@ -756,7 +756,7 @@ foo: # @foo i32.load8_s $push318=, 281($6) i32.ne $push319=, $pop317, $pop318 br_if 1, $pop319 # 1: down to label9 -# BB#58: # %if.end3.i433.2 +# BB#58: # %if.end3.i431.2 i32.const $push800=, 0 i32.const $push799=, 1 i32.add $push19=, $0, $pop799 @@ -771,7 +771,7 @@ foo: # @foo i32.load8_s $push323=, 282($6) i32.ne $push324=, $pop322, $pop323 br_if 1, $pop324 # 1: down to label9 -# BB#59: # %if.end3.i433.3 +# BB#59: # %if.end3.i431.3 i32.const $push807=, 0 i32.const $push806=, 1 i32.add $push20=, $0, $pop806 @@ -786,7 +786,7 @@ foo: # @foo i32.load8_s $push328=, 283($6) i32.ne $push329=, $pop327, $pop328 br_if 1, $pop329 # 1: down to label9 -# BB#60: # %if.end3.i433.4 +# BB#60: # %if.end3.i431.4 i32.const $push814=, 0 i32.const $push813=, 1 i32.add $push21=, $0, $pop813 @@ -801,7 +801,7 @@ foo: # @foo i32.load8_s $push333=, 284($6) i32.ne $push334=, $pop332, $pop333 br_if 1, $pop334 # 1: down to label9 -# BB#61: # %if.end3.i433.5 +# BB#61: # %if.end3.i431.5 i32.const $push821=, 0 i32.const $push820=, 1 i32.add $push22=, $0, $pop820 @@ -816,7 +816,7 @@ foo: # @foo i32.load8_s $push338=, 285($6) i32.ne $push339=, $pop337, $pop338 br_if 1, $pop339 # 1: down to label9 -# BB#62: # %if.end3.i433.6 +# BB#62: # %if.end3.i431.6 i32.const $push828=, 0 i32.const $push827=, 1 i32.add $push23=, $0, $pop827 @@ -831,7 +831,7 @@ foo: # @foo i32.load8_s $push343=, 286($6) i32.ne $push344=, $pop342, $pop343 br_if 1, $pop344 # 1: down to label9 -# BB#63: # %if.end3.i433.7 +# BB#63: # %if.end3.i431.7 i32.const $push835=, 0 i32.const $push834=, 1 i32.add $push24=, $0, $pop834 @@ -846,7 +846,7 @@ foo: # @foo i32.load8_s $push348=, 287($6) i32.ne $push349=, $pop347, $pop348 br_if 1, $pop349 # 1: down to label9 -# BB#64: # %if.end3.i433.8 +# BB#64: # %if.end3.i431.8 i32.const $push842=, 0 i32.const $push841=, 1 i32.add $push25=, $0, $pop841 @@ -861,7 +861,7 @@ foo: # @foo i32.load8_s $push353=, 288($6) i32.ne $push354=, $pop352, $pop353 br_if 1, $pop354 # 1: down to label9 -# BB#65: # %if.end3.i433.9 +# BB#65: # %if.end3.i431.9 i32.const $push849=, 0 i32.const $push848=, 1 i32.add $push26=, $0, $pop848 @@ -876,7 +876,7 @@ foo: # @foo i32.load8_s $push358=, 289($6) i32.ne $push359=, $pop357, $pop358 br_if 1, $pop359 # 1: down to label9 -# BB#66: # %bar.exit436.9 +# BB#66: # %bar.exit434.9 i32.const $push855=, 0 i32.const $push854=, 1 i32.add $push853=, $0, $pop854 @@ -920,11 +920,11 @@ foo: # @foo i32.const $push856=, 11 i32.eq $push373=, $9, $pop856 br_if 0, $pop373 # 0: down to label16 -# BB#68: # %if.then.i440 +# BB#68: # %if.then.i438 # in Loop: Header=BB1_67 Depth=1 i32.ne $push375=, $0, $9 br_if 3, $pop375 # 3: down to label10 -# BB#69: # %if.end.i442 +# BB#69: # %if.end.i440 # in Loop: Header=BB1_67 Depth=1 i32.const $1=, 11 i32.const $0=, 0 @@ -934,7 +934,7 @@ foo: # @foo i32.const $push858=, 0 i32.const $push857=, 0 i32.store $drop=, bar.lastc($pop858), $pop857 -.LBB1_70: # %if.end3.i447 +.LBB1_70: # %if.end3.i445 # in Loop: Header=BB1_67 Depth=1 end_block # label16: i32.const $push863=, 24 @@ -945,7 +945,7 @@ foo: # @foo i32.xor $push378=, $pop377, $pop861 i32.ne $push379=, $pop378, $8 br_if 2, $pop379 # 2: down to label10 -# BB#71: # %bar.exit450 +# BB#71: # %bar.exit448 # in Loop: Header=BB1_67 Depth=1 i32.const $push871=, 0 i32.const $push870=, 1 @@ -991,11 +991,11 @@ foo: # @foo i32.const $push874=, 12 i32.eq $push389=, $9, $pop874 br_if 0, $pop389 # 0: down to label19 -# BB#74: # %if.then.i454 +# BB#74: # %if.then.i452 # in Loop: Header=BB1_73 Depth=1 i32.ne $push391=, $0, $9 br_if 3, $pop391 # 3: down to label10 -# BB#75: # %if.end.i456 +# BB#75: # %if.end.i454 # in Loop: Header=BB1_73 Depth=1 i32.const $1=, 12 i32.const $0=, 0 @@ -1005,7 +1005,7 @@ foo: # @foo i32.const $push876=, 0 i32.const $push875=, 0 i32.store $drop=, bar.lastc($pop876), $pop875 -.LBB1_76: # %if.end3.i461 +.LBB1_76: # %if.end3.i459 # in Loop: Header=BB1_73 Depth=1 end_block # label19: i32.const $push881=, 24 @@ -1016,7 +1016,7 @@ foo: # @foo i32.xor $push394=, $pop393, $pop879 i32.ne $push395=, $pop394, $8 br_if 2, $pop395 # 2: down to label10 -# BB#77: # %bar.exit464 +# BB#77: # %bar.exit462 # in Loop: Header=BB1_73 Depth=1 i32.const $push889=, 0 i32.const $push888=, 1 @@ -1070,11 +1070,11 @@ foo: # @foo i32.const $push892=, 13 i32.eq $push410=, $9, $pop892 br_if 0, $pop410 # 0: down to label22 -# BB#80: # %if.then.i468 +# BB#80: # %if.then.i466 # in Loop: Header=BB1_79 Depth=1 i32.ne $push412=, $0, $9 br_if 3, $pop412 # 3: down to label10 -# BB#81: # %if.end.i470 +# BB#81: # %if.end.i468 # in Loop: Header=BB1_79 Depth=1 i32.const $1=, 13 i32.const $0=, 0 @@ -1084,7 +1084,7 @@ foo: # @foo i32.const $push894=, 0 i32.const $push893=, 0 i32.store $drop=, bar.lastc($pop894), $pop893 -.LBB1_82: # %if.end3.i475 +.LBB1_82: # %if.end3.i473 # in Loop: Header=BB1_79 Depth=1 end_block # label22: i32.const $push899=, 24 @@ -1095,7 +1095,7 @@ foo: # @foo i32.xor $push415=, $pop414, $pop897 i32.ne $push416=, $pop415, $8 br_if 2, $pop416 # 2: down to label10 -# BB#83: # %bar.exit478 +# BB#83: # %bar.exit476 # in Loop: Header=BB1_79 Depth=1 i32.const $push907=, 0 i32.const $push906=, 1 @@ -1149,11 +1149,11 @@ foo: # @foo i32.const $push910=, 14 i32.eq $push431=, $9, $pop910 br_if 0, $pop431 # 0: down to label25 -# BB#86: # %if.then.i482 +# BB#86: # %if.then.i480 # in Loop: Header=BB1_85 Depth=1 i32.ne $push433=, $0, $9 br_if 3, $pop433 # 3: down to label10 -# BB#87: # %if.end.i484 +# BB#87: # %if.end.i482 # in Loop: Header=BB1_85 Depth=1 i32.const $1=, 14 i32.const $0=, 0 @@ -1163,7 +1163,7 @@ foo: # @foo i32.const $push912=, 0 i32.const $push911=, 0 i32.store $drop=, bar.lastc($pop912), $pop911 -.LBB1_88: # %if.end3.i489 +.LBB1_88: # %if.end3.i487 # in Loop: Header=BB1_85 Depth=1 end_block # label25: i32.const $push917=, 24 @@ -1174,7 +1174,7 @@ foo: # @foo i32.xor $push436=, $pop435, $pop915 i32.ne $push437=, $pop436, $8 br_if 2, $pop437 # 2: down to label10 -# BB#89: # %bar.exit492 +# BB#89: # %bar.exit490 # in Loop: Header=BB1_85 Depth=1 i32.const $push925=, 0 i32.const $push924=, 1 @@ -1236,11 +1236,11 @@ foo: # @foo i32.const $push929=, 15 i32.eq $push456=, $9, $pop929 br_if 0, $pop456 # 0: down to label28 -# BB#92: # %if.then.i496 +# BB#92: # %if.then.i494 # in Loop: Header=BB1_91 Depth=1 i32.ne $push458=, $0, $9 br_if 3, $pop458 # 3: down to label10 -# BB#93: # %if.end.i498 +# BB#93: # %if.end.i496 # in Loop: Header=BB1_91 Depth=1 i32.const $1=, 15 i32.const $0=, 0 @@ -1250,7 +1250,7 @@ foo: # @foo i32.const $push931=, 0 i32.const $push930=, 0 i32.store $drop=, bar.lastc($pop931), $pop930 -.LBB1_94: # %if.end3.i503 +.LBB1_94: # %if.end3.i501 # in Loop: Header=BB1_91 Depth=1 end_block # label28: i32.const $push936=, 24 @@ -1261,7 +1261,7 @@ foo: # @foo i32.xor $push461=, $pop460, $pop934 i32.ne $push462=, $pop461, $8 br_if 2, $pop462 # 2: down to label10 -# BB#95: # %bar.exit506 +# BB#95: # %bar.exit504 # in Loop: Header=BB1_91 Depth=1 i32.const $push944=, 0 i32.const $push943=, 1 @@ -1315,11 +1315,11 @@ foo: # @foo i32.const $push947=, 16 i32.eq $push477=, $9, $pop947 br_if 0, $pop477 # 0: down to label31 -# BB#98: # %if.then.i510 +# BB#98: # %if.then.i508 # in Loop: Header=BB1_97 Depth=1 i32.ne $push479=, $0, $9 br_if 3, $pop479 # 3: down to label10 -# BB#99: # %if.end.i512 +# BB#99: # %if.end.i510 # in Loop: Header=BB1_97 Depth=1 i32.const $1=, 16 i32.const $0=, 0 @@ -1329,7 +1329,7 @@ foo: # @foo i32.const $push949=, 0 i32.const $push948=, 0 i32.store $drop=, bar.lastc($pop949), $pop948 -.LBB1_100: # %if.end3.i517 +.LBB1_100: # %if.end3.i515 # in Loop: Header=BB1_97 Depth=1 end_block # label31: i32.const $push954=, 24 @@ -1340,7 +1340,7 @@ foo: # @foo i32.shr_s $push482=, $pop481, $pop952 i32.ne $push483=, $pop482, $8 br_if 2, $pop483 # 2: down to label10 -# BB#101: # %bar.exit520 +# BB#101: # %bar.exit518 # in Loop: Header=BB1_97 Depth=1 i32.const $push962=, 0 i32.const $push961=, 1 @@ -1376,11 +1376,11 @@ foo: # @foo i32.const $push964=, 31 i32.eq $push486=, $9, $pop964 br_if 0, $pop486 # 0: down to label34 -# BB#104: # %if.then.i524 +# BB#104: # %if.then.i522 # in Loop: Header=BB1_103 Depth=1 i32.ne $push488=, $0, $9 br_if 3, $pop488 # 3: down to label10 -# BB#105: # %if.end.i526 +# BB#105: # %if.end.i524 # in Loop: Header=BB1_103 Depth=1 i32.const $1=, 31 i32.const $0=, 0 @@ -1390,7 +1390,7 @@ foo: # @foo i32.const $push966=, 0 i32.const $push965=, 0 i32.store $drop=, bar.lastc($pop966), $pop965 -.LBB1_106: # %if.end3.i531 +.LBB1_106: # %if.end3.i529 # in Loop: Header=BB1_103 Depth=1 end_block # label34: i32.const $push971=, 24 @@ -1401,7 +1401,7 @@ foo: # @foo i32.shr_s $push491=, $pop490, $pop969 i32.ne $push492=, $pop491, $8 br_if 2, $pop492 # 2: down to label10 -# BB#107: # %bar.exit534 +# BB#107: # %bar.exit532 # in Loop: Header=BB1_103 Depth=1 i32.const $push979=, 0 i32.const $push978=, 1 @@ -1487,11 +1487,11 @@ foo: # @foo i32.const $push987=, 32 i32.eq $push522=, $9, $pop987 br_if 0, $pop522 # 0: down to label37 -# BB#110: # %if.then.i538 +# BB#110: # %if.then.i536 # in Loop: Header=BB1_109 Depth=1 i32.ne $push524=, $0, $9 br_if 3, $pop524 # 3: down to label10 -# BB#111: # %if.end.i540 +# BB#111: # %if.end.i538 # in Loop: Header=BB1_109 Depth=1 i32.const $1=, 32 i32.const $0=, 0 @@ -1501,7 +1501,7 @@ foo: # @foo i32.const $push989=, 0 i32.const $push988=, 0 i32.store $drop=, bar.lastc($pop989), $pop988 -.LBB1_112: # %if.end3.i545 +.LBB1_112: # %if.end3.i543 # in Loop: Header=BB1_109 Depth=1 end_block # label37: i32.const $push993=, 24 @@ -1510,7 +1510,7 @@ foo: # @foo i32.shr_s $push526=, $pop525, $pop992 i32.ne $push527=, $pop526, $8 br_if 2, $pop527 # 2: down to label10 -# BB#113: # %bar.exit548 +# BB#113: # %bar.exit546 # in Loop: Header=BB1_109 Depth=1 i32.const $push1001=, 0 i32.const $push1000=, 1 @@ -1546,11 +1546,11 @@ foo: # @foo i32.const $push1003=, 35 i32.eq $push530=, $9, $pop1003 br_if 0, $pop530 # 0: down to label40 -# BB#116: # %if.then.i552 +# BB#116: # %if.then.i550 # in Loop: Header=BB1_115 Depth=1 i32.ne $push532=, $0, $9 br_if 3, $pop532 # 3: down to label10 -# BB#117: # %if.end.i554 +# BB#117: # %if.end.i552 # in Loop: Header=BB1_115 Depth=1 i32.const $1=, 35 i32.const $0=, 0 @@ -1560,7 +1560,7 @@ foo: # @foo i32.const $push1005=, 0 i32.const $push1004=, 0 i32.store $drop=, bar.lastc($pop1005), $pop1004 -.LBB1_118: # %if.end3.i559 +.LBB1_118: # %if.end3.i557 # in Loop: Header=BB1_115 Depth=1 end_block # label40: i32.const $push1010=, 24 @@ -1571,7 +1571,7 @@ foo: # @foo i32.xor $push535=, $pop534, $pop1008 i32.ne $push536=, $pop535, $8 br_if 2, $pop536 # 2: down to label10 -# BB#119: # %bar.exit562 +# BB#119: # %bar.exit560 # in Loop: Header=BB1_115 Depth=1 i32.const $push1018=, 0 i32.const $push1017=, 1 @@ -1606,11 +1606,11 @@ foo: # @foo i32.const $push1020=, 72 i32.eq $push540=, $1, $pop1020 br_if 0, $pop540 # 0: down to label43 -# BB#122: # %if.then.i566 +# BB#122: # %if.then.i564 # in Loop: Header=BB1_121 Depth=1 i32.ne $push542=, $0, $1 br_if 3, $pop542 # 3: down to label10 -# BB#123: # %if.end.i568 +# BB#123: # %if.end.i566 # in Loop: Header=BB1_121 Depth=1 i32.const $0=, 0 i32.const $push1024=, 0 @@ -1619,7 +1619,7 @@ foo: # @foo i32.const $push1022=, 0 i32.const $push1021=, 0 i32.store $drop=, bar.lastc($pop1022), $pop1021 -.LBB1_124: # %if.end3.i573 +.LBB1_124: # %if.end3.i571 # in Loop: Header=BB1_121 Depth=1 end_block # label43: i32.const $push1027=, 24 @@ -1630,7 +1630,7 @@ foo: # @foo i32.xor $push545=, $pop544, $pop1025 i32.ne $push546=, $pop545, $9 br_if 2, $pop546 # 2: down to label10 -# BB#125: # %bar.exit576 +# BB#125: # %bar.exit574 # in Loop: Header=BB1_121 Depth=1 i32.const $push1035=, 0 i32.const $push1034=, 1 @@ -1651,39 +1651,39 @@ foo: # @foo i32.add $push553=, $6, $pop552 i32.store $drop=, __stack_pointer($pop554), $pop553 return -.LBB1_127: # %if.then7.i322 +.LBB1_127: # %if.then7.i320 end_block # label10: call abort@FUNCTION unreachable -.LBB1_128: # %if.then7.i434 +.LBB1_128: # %if.then7.i432 end_block # label9: call abort@FUNCTION unreachable -.LBB1_129: # %if.then7.i420 +.LBB1_129: # %if.then7.i418 end_block # label8: call abort@FUNCTION unreachable -.LBB1_130: # %if.then7.i406 +.LBB1_130: # %if.then7.i404 end_block # label7: call abort@FUNCTION unreachable -.LBB1_131: # %if.then7.i392 +.LBB1_131: # %if.then7.i390 end_block # label6: call abort@FUNCTION unreachable -.LBB1_132: # %if.then7.i378 +.LBB1_132: # %if.then7.i376 end_block # label5: call abort@FUNCTION unreachable -.LBB1_133: # %if.then7.i364 +.LBB1_133: # %if.then7.i362 end_block # label4: call abort@FUNCTION unreachable -.LBB1_134: # %if.then7.i350 +.LBB1_134: # %if.then7.i348 end_block # label3: call abort@FUNCTION unreachable -.LBB1_135: # %if.then7.i336 +.LBB1_135: # %if.then7.i334 end_block # label2: call abort@FUNCTION unreachable diff --git a/test/torture-s/vrp-6.c.s b/test/torture-s/vrp-6.c.s index 9d65301cd..8b96efb8f 100644 --- a/test/torture-s/vrp-6.c.s +++ b/test/torture-s/vrp-6.c.s @@ -51,7 +51,7 @@ test02: # @test02 i32.const $push5=, -17 i32.le_u $push6=, $pop0, $pop5 br_if 1, $pop6 # 1: down to label1 -.LBB1_3: # %if.end +.LBB1_3: # %if.end6 end_block # label2: return .LBB1_4: # %if.then4 |