diff options
author | Derek Schuff <dschuff@chromium.org> | 2016-09-29 12:55:52 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-29 12:55:52 -0700 |
commit | a82528f17feba6b1c34794c645ea5c78892a57d0 (patch) | |
tree | 312d95fe4489e56a2d244aecd081d2724a3a4aca | |
parent | 2234cc7374797d188761916f6b1e82ce9ade1fa3 (diff) | |
download | binaryen-a82528f17feba6b1c34794c645ea5c78892a57d0.tar.gz binaryen-a82528f17feba6b1c34794c645ea5c78892a57d0.tar.bz2 binaryen-a82528f17feba6b1c34794c645ea5c78892a57d0.zip |
Update waterfall to 11453 and re-enable torture tests (#721)
Torture tests from the clang were disabled with the first 0xc
udpate. This PR updates the tests to a new waterfall build and turns
them on (also updating the known failures for 0xc). It also updates the
download URL since mac and windows bots have been added to the
waterfall (they are not up yet and support in this script is not tested
yet).
106 files changed, 6544 insertions, 7077 deletions
@@ -55,6 +55,10 @@ os.environ['BINARYEN'] = os.getcwd() def fetch_waterfall(): rev = open(os.path.join('test', 'revision')).read().strip() + buildername = { 'linux2':'linux', + 'darwin':'mac', + 'win32':'windows', + 'cygwin':'windows' }[sys.platform] try: local_rev = open(os.path.join('test', 'local-revision')).read().strip() except: @@ -62,7 +66,7 @@ def fetch_waterfall(): if local_rev == rev: return # fetch it basename = 'wasm-binaries-' + rev + '.tbz2' - url = 'https://storage.googleapis.com/wasm-llvm/builds/git/' + basename + url = '/'.join(['https://storage.googleapis.com/wasm-llvm/builds', buildername, rev, basename]) print '(downloading waterfall %s: %s)' % (rev, url) downloaded = urllib2.urlopen(url).read().strip() fullname = os.path.join('test', basename) @@ -541,7 +545,7 @@ run_command(cmd, expected_status=1) cmd = [wasm_as, '--validate=none', os.path.join('test', 'validator', 'invalid_return.wast')] run_command(cmd) -if torture and 0: +if torture: print '\n[ checking torture testcases... ]\n' diff --git a/test/revision b/test/revision index 3904dc97c..b4aa4be4e 100644 --- a/test/revision +++ b/test/revision @@ -1 +1 @@ -10372 +11453 diff --git a/test/s2wasm_known_binaryen_shell_test_failures.txt b/test/s2wasm_known_binaryen_shell_test_failures.txt index 284a9134b..6c6a2ba4c 100644 --- a/test/s2wasm_known_binaryen_shell_test_failures.txt +++ b/test/s2wasm_known_binaryen_shell_test_failures.txt @@ -149,3 +149,8 @@ va-arg-22.c.s.wast # memcpy va-arg-21.c.s.wast # malloc vprintf-chk-1.c.s.wast # vprintf vprintf-1.c.s.wast # vprintf + +# new in 0xc +20021118-2.c.s.wast # [parse exception: no table] +921208-1.c.s.wast # [parse exception: no table] +930126-1.c.s.wast # called abort() diff --git a/test/s2wasm_known_gcc_test_failures.txt b/test/s2wasm_known_gcc_test_failures.txt index 2609ca18a..09761248b 100644 --- a/test/s2wasm_known_gcc_test_failures.txt +++ b/test/s2wasm_known_gcc_test_failures.txt @@ -14,3 +14,11 @@ vfprintf-chk-1.c.s # Call has wrong number of parameters for function declaration. pr44942.c.s + +# New in 0xc: +# return type check failures +pr17133.c.s +pr24716.c.s +pr34415.c.s +pr38051.c.s +pr55875.c.s diff --git a/test/torture-s/20000715-1.c.s b/test/torture-s/20000715-1.c.s index dc971d71d..c8cae0cf3 100644 --- a/test/torture-s/20000715-1.c.s +++ b/test/torture-s/20000715-1.c.s @@ -5,7 +5,7 @@ .globl test1 .type test1,@function test1: # @test1 -# BB#0: # %if.end8 +# BB#0: # %entry # fallthrough-return .endfunc .Lfunc_end0: @@ -16,7 +16,7 @@ test1: # @test1 .globl test2 .type test2,@function test2: # @test2 -# BB#0: # %if.end8 +# BB#0: # %entry # fallthrough-return .endfunc .Lfunc_end1: diff --git a/test/torture-s/20000815-1.c.s b/test/torture-s/20000815-1.c.s index cc2beded3..009b52cab 100644 --- a/test/torture-s/20000815-1.c.s +++ b/test/torture-s/20000815-1.c.s @@ -8,67 +8,67 @@ invalidate_memory: # @invalidate_memory .param i32 .local i32, i32, i32, i32 # BB#0: # %entry - i32.load8_u $push10=, 0($0) - tee_local $push9=, $0=, $pop10 - i32.const $push2=, 8 - i32.and $1=, $pop9, $pop2 + i32.load8_u $push8=, 0($0) + tee_local $push7=, $0=, $pop8 + i32.const $push0=, 4 + i32.and $2=, $pop7, $pop0 + i32.const $push1=, 8 + i32.and $1=, $0, $pop1 i32.const $4=, 0 - 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 $push14=, 2 - i32.shl $push3=, $4, $pop14 - i32.const $push13=, table - i32.add $push4=, $pop3, $pop13 - i32.load $push12=, 0($pop4) - tee_local $push11=, $0=, $pop12 - i32.eqz $push21=, $pop11 - br_if 0, $pop21 # 0: down to label3 + i32.const $push12=, 2 + i32.shl $push2=, $4, $pop12 + i32.const $push11=, table + i32.add $push3=, $pop2, $pop11 + i32.load $push10=, 0($pop3) + tee_local $push9=, $0=, $pop10 + i32.eqz $push19=, $pop9 + 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 $2=, 36($0) - i32.load $0=, 4($0) + copy_local $push14=, $0 + tee_local $push13=, $3=, $pop14 + i32.load $0=, 4($pop13) block - i32.const $push15=, 255 - i32.and $push5=, $2, $pop15 - i32.eqz $push22=, $pop5 - br_if 0, $pop22 # 0: down to label6 + i32.load8_u $push4=, 36($3) + 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, $1 # 6: down to label0 -# BB#4: # %land.lhs.true +# BB#4: # %lor.lhs.false # in Loop: Header=BB0_2 Depth=2 - i32.const $push16=, 256 - i32.lt_u $push7=, $2, $pop16 - i32.or $push6=, $3, $pop7 - i32.eqz $push23=, $pop6 - br_if 6, $pop23 # 6: down to label0 -.LBB0_5: # %for.cond5.backedge + i32.eqz $push21=, $2 + br_if 0, $pop21 # 0: down to label6 +# BB#5: # %land.lhs.true10 + # in Loop: Header=BB0_2 Depth=2 + i32.load8_u $push5=, 37($3) + br_if 6, $pop5 # 6: down to label0 +.LBB0_6: # %for.cond5.backedge # in Loop: Header=BB0_2 Depth=2 end_block # label6: br_if 0, $0 # 0: up to label4 -.LBB0_6: # %for.inc15 +.LBB0_7: # %for.inc15 # in Loop: Header=BB0_1 Depth=1 end_loop # label5: end_block # label3: - i32.const $push20=, 1 - i32.add $push19=, $4, $pop20 - tee_local $push18=, $4=, $pop19 - i32.const $push17=, 31 - i32.lt_s $push8=, $pop18, $pop17 - br_if 0, $pop8 # 0: up to label1 -# BB#7: # %for.end16 + i32.const $push18=, 1 + i32.add $push17=, $4, $pop18 + tee_local $push16=, $4=, $pop17 + i32.const $push15=, 31 + i32.lt_s $push6=, $pop16, $pop15 + br_if 0, $pop6 # 0: up to label1 +# BB#8: # %for.end16 end_loop # label2: return -.LBB0_8: # %if.then +.LBB0_9: # %if.then end_block # label0: call remove_from_table@FUNCTION, $0, $0 unreachable @@ -139,36 +139,35 @@ main: # @main block loop # label8: block - i32.eqz $push33=, $2 - br_if 0, $pop33 # 0: down to label10 + i32.eqz $push31=, $2 + br_if 0, $pop31 # 0: down to label10 .LBB3_2: # %for.body6.i # Parent Loop BB3_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label11: - i32.load16_u $0=, 36($2) - i32.load $2=, 4($2) + i32.load $0=, 4($2) block - i32.const $push27=, 256 - i32.lt_u $push1=, $0, $pop27 - br_if 0, $pop1 # 0: down to label13 -# BB#3: # %for.body6.i + i32.load8_u $push1=, 36($2) + i32.eqz $push32=, $pop1 + br_if 0, $pop32 # 0: down to label13 +# BB#3: # %land.lhs.true10.i # in Loop: Header=BB3_2 Depth=2 - i32.const $push28=, 255 - i32.and $push2=, $0, $pop28 + i32.load8_u $push2=, 37($2) br_if 6, $pop2 # 6: down to label7 .LBB3_4: # %for.cond5.backedge.i # in Loop: Header=BB3_2 Depth=2 end_block # label13: - br_if 0, $2 # 0: up to label11 + copy_local $2=, $0 + br_if 0, $0 # 0: up to label11 .LBB3_5: # %for.inc15.i # in Loop: Header=BB3_1 Depth=1 end_loop # label12: end_block # label10: - i32.const $push32=, 1 - i32.add $push31=, $1, $pop32 - tee_local $push30=, $1=, $pop31 - i32.const $push29=, 30 - i32.gt_s $push3=, $pop30, $pop29 + i32.const $push30=, 1 + i32.add $push29=, $1, $pop30 + tee_local $push28=, $1=, $pop29 + i32.const $push27=, 30 + i32.gt_s $push3=, $pop28, $pop27 br_if 1, $pop3 # 1: down to label9 # BB#6: # %for.inc15.i.for.body.i_crit_edge # in Loop: Header=BB3_1 Depth=1 diff --git a/test/torture-s/20001013-1.c.s b/test/torture-s/20001013-1.c.s index ed563a48f..c23fe864b 100644 --- a/test/torture-s/20001013-1.c.s +++ b/test/torture-s/20001013-1.c.s @@ -9,26 +9,21 @@ foo: # @foo .result i32 # BB#0: # %entry block - block i32.const $push0=, 255 i32.and $push1=, $1, $pop0 i32.ne $push2=, $pop1, $1 - br_if 0, $pop2 # 0: down to label1 + br_if 0, $pop2 # 0: down to label0 # BB#1: # %lor.lhs.false - i32.const $1=, 0 - i32.load $push5=, 0($0) - i32.const $push7=, 0 - i32.load $push3=, 4($0) - i32.sub $push4=, $pop7, $pop3 - i32.gt_s $push6=, $pop5, $pop4 - br_if 1, $pop6 # 1: down to label0 -.LBB0_2: # %if.then - end_block # label1: - i32.const $1=, 1 -.LBB0_3: # %return + i32.load $push7=, 0($0) + i32.const $push5=, 0 + i32.load $push4=, 4($0) + i32.sub $push6=, $pop5, $pop4 + i32.le_s $push8=, $pop7, $pop6 + return $pop8 +.LBB0_2: # %return end_block # label0: - copy_local $push8=, $1 - # fallthrough-return: $pop8 + i32.const $push3=, 1 + # fallthrough-return: $pop3 .endfunc .Lfunc_end0: .size foo, .Lfunc_end0-foo @@ -48,13 +43,13 @@ main: # @main i32.load $push0=, z+4($pop4) i32.sub $push1=, $pop5, $pop0 i32.le_s $push3=, $pop2, $pop1 - br_if 0, $pop3 # 0: down to label2 + br_if 0, $pop3 # 0: down to label1 # BB#1: # %if.end i32.const $push7=, 0 call exit@FUNCTION, $pop7 unreachable .LBB1_2: # %if.then - end_block # label2: + end_block # label1: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/20010221-1.c.s b/test/torture-s/20010221-1.c.s index dc8732beb..b526d48ba 100644 --- a/test/torture-s/20010221-1.c.s +++ b/test/torture-s/20010221-1.c.s @@ -8,7 +8,7 @@ main: # @main .result i32 .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, 0 + i32.const $2=, 0 block i32.const $push8=, 0 i32.load $push7=, n($pop8) @@ -17,20 +17,20 @@ main: # @main i32.lt_s $push0=, $pop6, $pop5 br_if 0, $pop0 # 0: down to label0 # BB#1: # %for.body.preheader - i32.const $2=, 45 + i32.const $1=, 45 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: - i32.select $2=, $1, $2, $1 + i32.select $1=, $2, $1, $2 i32.const $push11=, 1 - i32.add $push10=, $1, $pop11 - tee_local $push9=, $1=, $pop10 + i32.add $push10=, $2, $pop11 + tee_local $push9=, $2=, $pop10 i32.lt_s $push1=, $pop9, $0 br_if 0, $pop1 # 0: up to label1 # BB#3: # %for.end end_loop # label2: i32.const $push2=, 1 - i32.ne $push3=, $2, $pop2 + i32.ne $push3=, $1, $pop2 br_if 0, $pop3 # 0: down to label0 # BB#4: # %if.end5 i32.const $push4=, 0 diff --git a/test/torture-s/20010723-1.c.s b/test/torture-s/20010723-1.c.s index 6e14aba98..dd1413d83 100644 --- a/test/torture-s/20010723-1.c.s +++ b/test/torture-s/20010723-1.c.s @@ -6,7 +6,7 @@ .type test,@function test: # @test .result i32 -# BB#0: # %for.body.lr.ph +# BB#0: # %entry i32.const $push0=, 8 # fallthrough-return: $pop0 .endfunc @@ -19,7 +19,7 @@ test: # @test .type main,@function main: # @main .result i32 -# BB#0: # %entry +# BB#0: # %if.end i32.const $push0=, 0 call exit@FUNCTION, $pop0 unreachable diff --git a/test/torture-s/20011219-1.c.s b/test/torture-s/20011219-1.c.s index e04d34223..c61a71d09 100644 --- a/test/torture-s/20011219-1.c.s +++ b/test/torture-s/20011219-1.c.s @@ -21,24 +21,19 @@ foo: # @foo .result i32 .local i32 # BB#0: # %entry - # implicit-def: %vreg18 + # implicit-def: %vreg14 block i32.const $push0=, -10 - i32.add $push4=, $0, $pop0 - tee_local $push3=, $0=, $pop4 - i32.const $push1=, 4 - i32.gt_u $push2=, $pop3, $pop1 - br_if 0, $pop2 # 0: down to label0 -# BB#1: # %entry - block - br_table $0, 0, 0, 0, 0, 0, 0 # 0: down to label1 -.LBB1_2: # %sw.bb4 - end_block # label1: + i32.add $push1=, $0, $pop0 + i32.const $push2=, 4 + i32.gt_u $push3=, $pop1, $pop2 + br_if 0, $pop3 # 0: down to label0 +# BB#1: # %sw.epilog.sink.split i32.load $2=, 0($1) -.LBB1_3: # %sw.epilog +.LBB1_2: # %sw.epilog end_block # label0: - copy_local $push5=, $2 - # fallthrough-return: $pop5 + copy_local $push4=, $2 + # fallthrough-return: $pop4 .endfunc .Lfunc_end1: .size foo, .Lfunc_end1-foo diff --git a/test/torture-s/20020402-3.c.s b/test/torture-s/20020402-3.c.s index e20a1b559..d58d57f31 100644 --- a/test/torture-s/20020402-3.c.s +++ b/test/torture-s/20020402-3.c.s @@ -7,104 +7,89 @@ blockvector_for_pc_sect: # @blockvector_for_pc_sect .param i64, i32 .result i32 - .local i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $3=, 0 - i32.const $push24=, 0 - i32.load $push25=, __stack_pointer($pop24) - i32.const $push26=, 16 - i32.sub $push38=, $pop25, $pop26 - tee_local $push37=, $5=, $pop38 - i32.const $push36=, 0 - i32.store $drop=, 12($pop37), $pop36 - i32.load $push35=, 0($1) - tee_local $push34=, $2=, $pop35 - i32.load $push33=, 0($pop34) - tee_local $push32=, $1=, $pop33 - i32.store $drop=, 8($5), $pop32 + i32.const $7=, 0 block block - block - i32.const $push31=, 2 - i32.lt_s $push0=, $1, $pop31 - br_if 0, $pop0 # 0: down to label2 + i32.load $push21=, 0($1) + tee_local $push20=, $2=, $pop21 + i32.load $push19=, 0($pop20) + tee_local $push18=, $1=, $pop19 + i32.const $push17=, 2 + i32.lt_s $push0=, $pop18, $pop17 + br_if 0, $pop0 # 0: down to label1 # BB#1: # %while.body.preheader - i32.const $3=, 0 + i32.const $7=, 0 + copy_local $6=, $1 .LBB0_2: # %while.body # =>This Inner Loop Header: Depth=1 - loop # label3: - i32.const $push27=, 8 - i32.add $push28=, $5, $pop27 - i32.const $push29=, 12 - i32.add $push30=, $5, $pop29 - i32.const $push49=, 1 - i32.add $push1=, $1, $pop49 - i32.const $push48=, 1 - i32.shr_s $push2=, $pop1, $pop48 - i32.add $push47=, $pop2, $3 - tee_local $push46=, $3=, $pop47 - i32.const $push45=, 2 - i32.shl $push3=, $pop46, $pop45 - i32.add $push4=, $2, $pop3 - i32.const $push44=, 4 - i32.add $push5=, $pop4, $pop44 - i32.load $push6=, 0($pop5) - i64.load $push7=, 0($pop6) - i64.gt_u $push8=, $pop7, $0 - i32.select $push9=, $pop28, $pop30, $pop8 - i32.store $drop=, 0($pop9), $3 - i32.load $push10=, 8($5) - i32.load $push43=, 12($5) - tee_local $push42=, $3=, $pop43 - i32.sub $push41=, $pop10, $pop42 - tee_local $push40=, $1=, $pop41 - i32.const $push39=, 1 - i32.gt_s $push11=, $pop40, $pop39 - br_if 0, $pop11 # 0: up to label3 + loop # label2: + i32.const $push34=, 1 + i32.add $push1=, $1, $pop34 + i32.const $push33=, 1 + i32.shr_s $push32=, $pop1, $pop33 + tee_local $push31=, $3=, $pop32 + i32.add $push30=, $pop31, $7 + tee_local $push29=, $1=, $pop30 + i32.sub $4=, $6, $pop29 + i32.const $push28=, 2 + i32.shl $push2=, $1, $pop28 + i32.add $push3=, $2, $pop2 + i32.const $push27=, 4 + i32.add $push4=, $pop3, $pop27 + i32.load $push5=, 0($pop4) + i64.load $push6=, 0($pop5) + i64.gt_u $push26=, $pop6, $0 + tee_local $push25=, $5=, $pop26 + i32.select $6=, $1, $6, $pop25 + i32.select $7=, $7, $1, $5 + i32.select $push24=, $3, $4, $5 + tee_local $push23=, $1=, $pop24 + i32.const $push22=, 1 + i32.gt_s $push7=, $pop23, $pop22 + br_if 0, $pop7 # 0: up to label2 # BB#3: # %while.cond8.preheader - end_loop # label4: - i32.const $4=, 0 - i32.const $push12=, -1 - i32.le_s $push13=, $3, $pop12 - br_if 1, $pop13 # 1: down to label1 + end_loop # label3: + i32.const $5=, 0 + i32.const $push8=, -1 + i32.le_s $push9=, $7, $pop8 + br_if 1, $pop9 # 1: down to label0 .LBB0_4: # %while.body10.preheader - end_block # label2: - i32.const $push14=, 1 - i32.add $1=, $3, $pop14 - i32.const $push50=, 2 - i32.shl $push15=, $3, $pop50 - i32.add $push16=, $2, $pop15 - i32.const $push17=, 4 - i32.add $3=, $pop16, $pop17 + end_block # label1: + i32.const $push36=, 1 + i32.add $6=, $7, $pop36 + i32.const $push35=, 2 + i32.shl $push10=, $7, $pop35 + i32.add $push11=, $2, $pop10 + i32.const $push12=, 4 + i32.add $1=, $pop11, $pop12 .LBB0_5: # %while.body10 # =>This Inner Loop Header: Depth=1 - loop # label5: - i32.load $push18=, 0($3) - i64.load $push19=, 8($pop18) - i64.gt_u $push20=, $pop19, $0 - br_if 3, $pop20 # 3: down to label0 -# BB#6: # %if.end15 + loop # label4: + i32.load $push13=, 0($1) + i64.load $push14=, 8($pop13) + i64.gt_u $push15=, $pop14, $0 + br_if 1, $pop15 # 1: down to label5 +# BB#6: # %while.cond8 # in Loop: Header=BB0_5 Depth=1 - i32.const $push56=, -2 - i32.add $push21=, $1, $pop56 - i32.store $drop=, 12($5), $pop21 - i32.const $push55=, -4 - i32.add $3=, $3, $pop55 - i32.const $4=, 0 - i32.const $push54=, -1 - i32.add $push53=, $1, $pop54 - tee_local $push52=, $1=, $pop53 - i32.const $push51=, 0 - i32.gt_s $push22=, $pop52, $pop51 - br_if 0, $pop22 # 0: up to label5 -.LBB0_7: # %cleanup - end_loop # label6: - end_block # label1: - return $4 -.LBB0_8: + i32.const $push41=, -4 + i32.add $1=, $1, $pop41 + i32.const $5=, 0 + i32.const $push40=, -1 + i32.add $push39=, $6, $pop40 + tee_local $push38=, $6=, $pop39 + i32.const $push37=, 1 + i32.ge_s $push16=, $pop38, $pop37 + br_if 0, $pop16 # 0: up to label4 + br 2 # 2: down to label0 +.LBB0_7: + end_loop # label5: + copy_local $5=, $2 +.LBB0_8: # %cleanup end_block # label0: - copy_local $push23=, $2 - # fallthrough-return: $pop23 + copy_local $push42=, $5 + # fallthrough-return: $pop42 .endfunc .Lfunc_end0: .size blockvector_for_pc_sect, .Lfunc_end0-blockvector_for_pc_sect diff --git a/test/torture-s/20020810-1.c.s b/test/torture-s/20020810-1.c.s index c673496d3..f77621c38 100644 --- a/test/torture-s/20020810-1.c.s +++ b/test/torture-s/20020810-1.c.s @@ -6,23 +6,19 @@ .type f,@function f: # @f .param i32 - .local i64 # BB#0: # %entry block - i32.load $push0=, 0($0) - i32.const $push1=, 0 - i64.load $push10=, R($pop1) - tee_local $push9=, $1=, $pop10 - i32.wrap/i64 $push2=, $pop9 - i32.ne $push3=, $pop0, $pop2 - br_if 0, $pop3 # 0: down to label0 + i32.load $push1=, 0($0) + i32.const $push6=, 0 + i32.load $push0=, R($pop6) + i32.ne $push2=, $pop1, $pop0 + br_if 0, $pop2 # 0: down to label0 # BB#1: # %lor.lhs.false - i32.load $push7=, 4($0) - i64.const $push4=, 32 - i64.shr_u $push5=, $1, $pop4 - i32.wrap/i64 $push6=, $pop5 - i32.ne $push8=, $pop7, $pop6 - br_if 0, $pop8 # 0: down to label0 + i32.load $push4=, 4($0) + i32.const $push7=, 0 + i32.load $push3=, R+4($pop7) + i32.ne $push5=, $pop4, $pop3 + br_if 0, $pop5 # 0: down to label0 # BB#2: # %if.end return .LBB0_3: # %if.then @@ -54,18 +50,29 @@ g: # @g .type main,@function main: # @main .result i32 -# BB#0: # %entry + .local i64 +# BB#0: # %f.exit block - i32.const $push0=, 0 - br_if 0, $pop0 # 0: down to label1 -# BB#1: # %lor.lhs.false.i - i32.const $push1=, 1 - i32.eqz $push3=, $pop1 - br_if 0, $pop3 # 0: down to label1 + i32.const $push12=, 0 + i64.load $push11=, R($pop12) + tee_local $push10=, $0=, $pop11 + i32.wrap/i64 $push3=, $pop10 + i32.const $push9=, 0 + i32.load $push2=, R($pop9) + i32.ne $push4=, $pop3, $pop2 + br_if 0, $pop4 # 0: down to label1 +# BB#1: # %f.exit + i64.const $push5=, 32 + i64.shr_u $push6=, $0, $pop5 + i32.wrap/i64 $push0=, $pop6 + i32.const $push13=, 0 + i32.load $push1=, R+4($pop13) + i32.ne $push7=, $pop0, $pop1 + br_if 0, $pop7 # 0: down to label1 # BB#2: # %if.end - i32.const $push2=, 0 - return $pop2 -.LBB2_3: # %if.then.i + i32.const $push8=, 0 + return $pop8 +.LBB2_3: # %if.then end_block # label1: call abort@FUNCTION unreachable diff --git a/test/torture-s/20030714-1.c.s b/test/torture-s/20030714-1.c.s index d63a12368..d70adf78d 100644 --- a/test/torture-s/20030714-1.c.s +++ b/test/torture-s/20030714-1.c.s @@ -6,9 +6,9 @@ .type RenderBox_setStyle,@function RenderBox_setStyle: # @RenderBox_setStyle .param i32, i32 - .local i32 + .local i32, i32 # BB#0: # %entry - i32.load16_u $2=, 26($0) + i32.const $3=, 16 block block i32.const $push0=, 2 @@ -19,69 +19,55 @@ RenderBox_setStyle: # @RenderBox_setStyle br_if 0, $pop4 # 0: down to label1 # BB#1: # %sw.default block - i32.const $push33=, 16 - i32.and $push9=, $2, $pop33 - i32.eqz $push41=, $pop9 - br_if 0, $pop41 # 0: down to label2 + i32.load16_u $push26=, 26($0) + tee_local $push25=, $3=, $pop26 + i32.const $push24=, 16 + i32.and $push5=, $pop25, $pop24 + i32.eqz $push32=, $pop5 + br_if 0, $pop32 # 0: down to label2 # BB#2: # %if.then - i32.const $push10=, 26 - i32.add $push11=, $0, $pop10 - i32.const $push36=, 16 - i32.or $push35=, $2, $pop36 - tee_local $push34=, $2=, $pop35 - i32.store16 $drop=, 0($pop11), $pop34 + i32.const $push6=, 26 + i32.add $push7=, $0, $pop6 + i32.const $push29=, 16 + i32.or $push28=, $3, $pop29 + tee_local $push27=, $3=, $pop28 + i32.store16 $drop=, 0($pop7), $pop27 .LBB0_3: # %if.end end_block # label2: - i32.const $push15=, 26 - i32.add $push16=, $0, $pop15 - i32.const $push13=, 65519 - i32.and $push14=, $2, $pop13 - i32.store16 $drop=, 0($pop16), $pop14 + i32.const $push11=, 26 + i32.add $push12=, $0, $pop11 + i32.const $push9=, 65519 + i32.and $push10=, $3, $pop9 + i32.store16 $drop=, 0($pop12), $pop10 i32.load $2=, 0($1) - i32.load $push18=, 28($0) - i32.call_indirect $push19=, $pop18, $0 - br_if 1, $pop19 # 1: down to label0 + block + i32.load $push14=, 28($0) + i32.call_indirect $push15=, $pop14, $0 + br_if 0, $pop15 # 0: down to label3 # BB#4: # %if.end - i32.const $push17=, 1572864 - i32.and $push12=, $2, $pop17 - i32.eqz $push42=, $pop12 - br_if 1, $pop42 # 1: down to label0 -# BB#5: # %if.then39 - i32.const $push20=, 26 - i32.add $push38=, $0, $pop20 - tee_local $push37=, $0=, $pop38 - i32.load16_u $push21=, 0($0) - i32.const $push22=, 8 - i32.or $push23=, $pop21, $pop22 - i32.store16 $drop=, 0($pop37), $pop23 - return -.LBB0_6: # %sw.bb + i32.const $3=, 8 + i32.const $push13=, 1572864 + i32.and $push8=, $2, $pop13 + br_if 1, $pop8 # 1: down to label1 +.LBB0_5: # %if.else + end_block # label3: + i32.const $3=, 64 + i32.load $push16=, 0($1) + i32.const $push17=, 393216 + i32.and $push18=, $pop16, $pop17 + i32.const $push19=, 131072 + i32.ne $push20=, $pop18, $pop19 + br_if 1, $pop20 # 1: down to label0 +.LBB0_6: # %sw.epilog.sink.split end_block # label1: - i32.const $push7=, 26 - i32.add $push8=, $0, $pop7 - i32.const $push5=, 16 - i32.or $push6=, $2, $pop5 - i32.store16 $drop=, 0($pop8), $pop6 - return -.LBB0_7: # %if.else + i32.const $push21=, 26 + i32.add $push31=, $0, $pop21 + tee_local $push30=, $0=, $pop31 + i32.load16_u $push22=, 0($0) + i32.or $push23=, $pop22, $3 + i32.store16 $drop=, 0($pop30), $pop23 +.LBB0_7: # %sw.epilog end_block # label0: - block - i32.load $push24=, 0($1) - i32.const $push25=, 393216 - i32.and $push26=, $pop24, $pop25 - i32.const $push27=, 131072 - i32.ne $push28=, $pop26, $pop27 - br_if 0, $pop28 # 0: down to label3 -# BB#8: # %if.then55 - i32.const $push29=, 26 - i32.add $push40=, $0, $pop29 - tee_local $push39=, $0=, $pop40 - i32.load16_u $push30=, 0($0) - i32.const $push31=, 64 - i32.or $push32=, $pop30, $pop31 - i32.store16 $drop=, 0($pop39), $pop32 -.LBB0_9: # %sw.epilog - end_block # label3: # fallthrough-return .endfunc .Lfunc_end0: diff --git a/test/torture-s/20031204-1.c.s b/test/torture-s/20031204-1.c.s index e22aa6622..e59d924be 100644 --- a/test/torture-s/20031204-1.c.s +++ b/test/torture-s/20031204-1.c.s @@ -21,122 +21,111 @@ in_aton: # @in_aton root_nfs_parse_addr: # @root_nfs_parse_addr .param i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $push24=, 0 - i32.const $push21=, 0 - i32.load $push22=, __stack_pointer($pop21) - i32.const $push23=, 16 - i32.sub $push29=, $pop22, $pop23 - tee_local $push28=, $5=, $pop29 - i32.store $drop=, __stack_pointer($pop24), $pop28 i32.const $1=, 0 copy_local $4=, $0 .LBB1_1: # %while.cond1.preheader # =>This Loop Header: Depth=1 - # Child Loop BB1_3 Depth 2 - loop # label0: - i32.store $drop=, 12($5), $4 - copy_local $2=, $4 + # Child Loop BB1_2 Depth 2 block - i32.load8_u $push35=, 0($4) - tee_local $push34=, $3=, $pop35 - i32.const $push33=, -48 - i32.add $push0=, $pop34, $pop33 - i32.const $push32=, 255 - i32.and $push1=, $pop0, $pop32 - i32.const $push31=, 9 - i32.gt_u $push2=, $pop1, $pop31 - br_if 0, $pop2 # 0: down to label2 -# BB#2: # %while.body7.preheader - # in Loop: Header=BB1_1 Depth=1 - copy_local $2=, $4 -.LBB1_3: # %while.body7 + block + loop # label2: + i32.const $5=, 0 + copy_local $6=, $4 +.LBB1_2: # %while.cond1 # Parent Loop BB1_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop # label3: - i32.const $push43=, 1 - i32.add $push42=, $2, $pop43 - tee_local $push41=, $2=, $pop42 - i32.load8_u $push40=, 0($pop41) - tee_local $push39=, $3=, $pop40 - i32.const $push38=, -48 - i32.add $push3=, $pop39, $pop38 - i32.const $push37=, 255 - i32.and $push4=, $pop3, $pop37 - i32.const $push36=, 10 - i32.lt_u $push5=, $pop4, $pop36 - br_if 0, $pop5 # 0: up to label3 -# BB#4: # %while.cond1.while.end_crit_edge - # in Loop: Header=BB1_1 Depth=1 - end_loop # label4: - i32.store $drop=, 12($5), $2 -.LBB1_5: # %while.end - # in Loop: Header=BB1_1 Depth=1 - end_block # label2: - i32.eq $push6=, $2, $4 - br_if 1, $pop6 # 1: down to label1 -# BB#6: # %lor.lhs.false + loop # label4: + copy_local $push30=, $6 + tee_local $push29=, $7=, $pop30 + i32.const $push28=, 1 + i32.add $6=, $pop29, $pop28 + i32.add $3=, $4, $5 + i32.const $push27=, 1 + i32.add $push26=, $5, $pop27 + tee_local $push25=, $2=, $pop26 + copy_local $5=, $pop25 + i32.load8_u $push24=, 0($3) + tee_local $push23=, $3=, $pop24 + i32.const $push22=, -48 + i32.add $push1=, $pop23, $pop22 + i32.const $push21=, 255 + i32.and $push2=, $pop1, $pop21 + i32.const $push20=, 10 + i32.lt_u $push3=, $pop2, $pop20 + br_if 0, $pop3 # 0: up to label4 +# BB#3: # %while.end # in Loop: Header=BB1_1 Depth=1 - i32.sub $push7=, $2, $4 - i32.const $push44=, 3 - i32.gt_s $push8=, $pop7, $pop44 - br_if 1, $pop8 # 1: down to label1 -# BB#7: # %if.end + end_loop # label5: + i32.const $push31=, 1 + i32.eq $push4=, $2, $pop31 + br_if 1, $pop4 # 1: down to label3 +# BB#4: # %lor.lhs.false # in Loop: Header=BB1_1 Depth=1 - i32.const $push50=, 3 - i32.eq $push9=, $1, $pop50 - i32.const $push49=, 255 - i32.and $push10=, $3, $pop49 - i32.const $push48=, 46 - i32.eq $push11=, $pop10, $pop48 - i32.or $push12=, $pop9, $pop11 - i32.add $push47=, $pop12, $1 - tee_local $push46=, $1=, $pop47 - i32.const $push45=, 3 - i32.gt_s $push13=, $pop46, $pop45 - br_if 1, $pop13 # 1: down to label1 -# BB#8: # %if.end24.thread + i32.add $push35=, $4, $2 + tee_local $push34=, $5=, $pop35 + i32.const $push33=, -1 + i32.add $push0=, $pop34, $pop33 + i32.sub $push5=, $pop0, $4 + i32.const $push32=, 4 + i32.ge_s $push6=, $pop5, $pop32 + br_if 2, $pop6 # 2: down to label1 +# BB#5: # %if.end # in Loop: Header=BB1_1 Depth=1 - i32.const $push30=, 1 - i32.add $4=, $2, $pop30 - br 0 # 0: up to label0 -.LBB1_9: # %while.end25 - end_loop # label1: - i32.const $3=, -1 + copy_local $4=, $5 + i32.const $push41=, 3 + i32.eq $push7=, $1, $pop41 + i32.const $push40=, 255 + i32.and $push8=, $3, $pop40 + i32.const $push39=, 46 + i32.eq $push9=, $pop8, $pop39 + i32.or $push10=, $pop7, $pop9 + i32.add $push38=, $pop10, $1 + tee_local $push37=, $1=, $pop38 + i32.const $push36=, 4 + i32.lt_s $push11=, $pop37, $pop36 + br_if 0, $pop11 # 0: up to label2 + br 3 # 3: down to label0 +.LBB1_6: + end_loop # label3: + copy_local $7=, $4 + br 1 # 1: down to label0 +.LBB1_7: # %lor.lhs.false.while.end25_crit_edge + end_block # label1: + i32.add $push12=, $4, $2 + i32.const $push13=, -1 + i32.add $7=, $pop12, $pop13 +.LBB1_8: # %while.end25 + end_block # label0: + i32.const $5=, -1 block i32.const $push14=, 4 i32.ne $push15=, $1, $pop14 - br_if 0, $pop15 # 0: down to label5 -# BB#10: # %land.lhs.true + br_if 0, $pop15 # 0: down to label6 +# BB#9: # %land.lhs.true block - i32.load8_u $push52=, 0($2) - tee_local $push51=, $4=, $pop52 - i32.eqz $push53=, $pop51 - br_if 0, $pop53 # 0: down to label6 -# BB#11: # %land.lhs.true + i32.load8_u $push43=, 0($7) + tee_local $push42=, $6=, $pop43 + i32.eqz $push44=, $pop42 + br_if 0, $pop44 # 0: down to label7 +# BB#10: # %land.lhs.true i32.const $push16=, 58 - i32.ne $push17=, $4, $pop16 - br_if 1, $pop17 # 1: down to label5 -# BB#12: # %if.then39 - i32.const $push18=, 1 - i32.add $push19=, $2, $pop18 - i32.store $drop=, 12($5), $pop19 - i32.const $push20=, 0 - i32.store8 $drop=, 0($2), $pop20 - i32.load $2=, 12($5) -.LBB1_13: # %if.end41 + i32.ne $push17=, $6, $pop16 + br_if 1, $pop17 # 1: down to label6 +# BB#11: # %if.then39 + i32.const $push18=, 0 + i32.store8 $drop=, 0($7), $pop18 + i32.const $push19=, 1 + i32.add $7=, $7, $pop19 +.LBB1_12: # %if.end41 + end_block # label7: + i32.call $drop=, strcpy@FUNCTION, $0, $7 + i32.const $5=, 168496141 +.LBB1_13: # %if.end43 end_block # label6: - i32.call $drop=, strcpy@FUNCTION, $0, $2 - i32.const $3=, 168496141 -.LBB1_14: # %if.end43 - end_block # label5: - i32.const $push27=, 0 - i32.const $push25=, 16 - i32.add $push26=, $5, $pop25 - i32.store $drop=, __stack_pointer($pop27), $pop26 - copy_local $push54=, $3 - # fallthrough-return: $pop54 + copy_local $push45=, $5 + # fallthrough-return: $pop45 .endfunc .Lfunc_end1: .size root_nfs_parse_addr, .Lfunc_end1-root_nfs_parse_addr @@ -147,129 +136,110 @@ root_nfs_parse_addr: # @root_nfs_parse_addr .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $0=, 0 - block - i32.const $push32=, 0 - i32.load8_u $push0=, main.addr($pop32) - i32.const $push31=, -48 - i32.add $push1=, $pop0, $pop31 - i32.const $push30=, 255 - i32.and $push2=, $pop1, $pop30 - i32.const $push3=, 9 - i32.gt_u $push4=, $pop2, $pop3 - br_if 0, $pop4 # 0: down to label7 -# BB#1: # %while.body7.i.preheader.preheader - i32.const $1=, main.addr -.LBB2_2: # %while.body7.i.preheader + i32.const $3=, main.addr +.LBB2_1: # %while.cond1.preheader.i # =>This Loop Header: Depth=1 - # Child Loop BB2_3 Depth 2 + # Child Loop BB2_2 Depth 2 block block loop # label10: i32.const $4=, 0 - copy_local $5=, $1 -.LBB2_3: # %while.body7.i - # Parent Loop BB2_2 Depth=1 + copy_local $5=, $3 +.LBB2_2: # %while.cond1.i + # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label12: - i32.const $push42=, 1 - i32.add $5=, $5, $pop42 - i32.add $3=, $1, $4 - i32.const $push41=, 1 - i32.add $push40=, $4, $pop41 - tee_local $push39=, $2=, $pop40 - copy_local $4=, $pop39 - i32.const $push38=, 1 - i32.add $push5=, $3, $pop38 - i32.load8_u $push37=, 0($pop5) - tee_local $push36=, $3=, $pop37 - i32.const $push35=, -48 - i32.add $push6=, $pop36, $pop35 - i32.const $push34=, 255 - i32.and $push7=, $pop6, $pop34 - i32.const $push33=, 10 - i32.lt_u $push8=, $pop7, $pop33 - br_if 0, $pop8 # 0: up to label12 -# BB#4: # %while.end.i - # in Loop: Header=BB2_2 Depth=1 + copy_local $push32=, $5 + tee_local $push31=, $6=, $pop32 + i32.const $push30=, 1 + i32.add $5=, $pop31, $pop30 + i32.add $2=, $3, $4 + i32.const $push29=, 1 + i32.add $push28=, $4, $pop29 + tee_local $push27=, $1=, $pop28 + copy_local $4=, $pop27 + i32.load8_u $push26=, 0($2) + tee_local $push25=, $2=, $pop26 + i32.const $push24=, -48 + i32.add $push1=, $pop25, $pop24 + i32.const $push23=, 255 + i32.and $push2=, $pop1, $pop23 + i32.const $push22=, 10 + i32.lt_u $push3=, $pop2, $pop22 + br_if 0, $pop3 # 0: up to label12 +# BB#3: # %while.end.i + # in Loop: Header=BB2_1 Depth=1 end_loop # label13: - i32.eqz $push60=, $2 - br_if 1, $pop60 # 1: down to label11 -# BB#5: # %lor.lhs.false.i - # in Loop: Header=BB2_2 Depth=1 - i32.add $push45=, $1, $2 - tee_local $push44=, $4=, $pop45 - i32.sub $push9=, $pop44, $1 + i32.const $push33=, 1 + i32.eq $push4=, $1, $pop33 + br_if 1, $pop4 # 1: down to label11 +# BB#4: # %lor.lhs.false.i + # in Loop: Header=BB2_1 Depth=1 + i32.add $push37=, $3, $1 + tee_local $push36=, $4=, $pop37 + i32.const $push35=, -1 + i32.add $push0=, $pop36, $pop35 + i32.sub $push5=, $pop0, $3 + i32.const $push34=, 4 + i32.ge_s $push6=, $pop5, $pop34 + br_if 2, $pop6 # 2: down to label9 +# BB#5: # %if.end.i + # in Loop: Header=BB2_1 Depth=1 + copy_local $3=, $4 i32.const $push43=, 3 - i32.gt_s $push10=, $pop9, $pop43 - br_if 2, $pop10 # 2: down to label9 -# BB#6: # %if.end.i - # in Loop: Header=BB2_2 Depth=1 - i32.const $push51=, 3 - i32.eq $push11=, $0, $pop51 - i32.const $push50=, 255 - i32.and $push12=, $3, $pop50 - i32.const $push49=, 46 - i32.eq $push13=, $pop12, $pop49 - i32.or $push14=, $pop11, $pop13 - i32.add $push48=, $pop14, $0 - tee_local $push47=, $0=, $pop48 - i32.const $push46=, 4 - i32.ge_s $push15=, $pop47, $pop46 - br_if 3, $pop15 # 3: down to label8 -# BB#7: # %if.end24.thread.i - # in Loop: Header=BB2_2 Depth=1 - i32.add $push16=, $1, $2 - i32.const $push57=, 1 - i32.add $push56=, $pop16, $pop57 - tee_local $push55=, $1=, $pop56 - i32.load8_u $push17=, 0($pop55) - i32.const $push54=, -48 - i32.add $push18=, $pop17, $pop54 - i32.const $push53=, 255 - i32.and $push19=, $pop18, $pop53 - i32.const $push52=, 10 - i32.lt_u $push20=, $pop19, $pop52 - br_if 0, $pop20 # 0: up to label10 - br 4 # 4: down to label7 -.LBB2_8: + i32.eq $push7=, $0, $pop43 + i32.const $push42=, 255 + i32.and $push8=, $2, $pop42 + i32.const $push41=, 46 + i32.eq $push9=, $pop8, $pop41 + i32.or $push10=, $pop7, $pop9 + i32.add $push40=, $pop10, $0 + tee_local $push39=, $0=, $pop40 + i32.const $push38=, 4 + i32.lt_s $push11=, $pop39, $pop38 + br_if 0, $pop11 # 0: up to label10 + br 3 # 3: down to label8 +.LBB2_6: end_loop # label11: - copy_local $4=, $1 + copy_local $6=, $3 br 1 # 1: down to label8 -.LBB2_9: +.LBB2_7: # %lor.lhs.false.i.while.end25.i_crit_edge end_block # label9: - copy_local $4=, $5 -.LBB2_10: # %while.end25.i + i32.add $push12=, $3, $1 + i32.const $push13=, -1 + i32.add $6=, $pop12, $pop13 +.LBB2_8: # %while.end25.i end_block # label8: - i32.const $push21=, 4 - i32.ne $push22=, $0, $pop21 - br_if 0, $pop22 # 0: down to label7 -# BB#11: # %land.lhs.true.i block - i32.load8_u $push59=, 0($4) - tee_local $push58=, $5=, $pop59 - i32.eqz $push61=, $pop58 - br_if 0, $pop61 # 0: down to label14 -# BB#12: # %land.lhs.true.i - i32.const $push23=, 58 - i32.ne $push24=, $5, $pop23 - br_if 1, $pop24 # 1: down to label7 -# BB#13: # %if.then39.i - i32.const $push25=, 0 - i32.store8 $drop=, 0($4), $pop25 - i32.add $push26=, $1, $2 - i32.const $push27=, 1 - i32.add $4=, $pop26, $pop27 -.LBB2_14: # %if.end + i32.const $push14=, 4 + i32.ne $push15=, $0, $pop14 + br_if 0, $pop15 # 0: down to label14 +# BB#9: # %land.lhs.true.i + block + i32.load8_u $push45=, 0($6) + tee_local $push44=, $4=, $pop45 + i32.eqz $push46=, $pop44 + br_if 0, $pop46 # 0: down to label15 +# BB#10: # %land.lhs.true.i + i32.const $push16=, 58 + i32.ne $push17=, $4, $pop16 + br_if 1, $pop17 # 1: down to label14 +# BB#11: # %if.then39.i + i32.const $push18=, 0 + i32.store8 $drop=, 0($6), $pop18 + i32.const $push19=, 1 + i32.add $6=, $6, $pop19 +.LBB2_12: # %if.end + end_block # label15: + i32.const $push20=, main.addr + i32.call $drop=, strcpy@FUNCTION, $pop20, $6 + i32.const $push21=, 0 + return $pop21 +.LBB2_13: # %if.then end_block # label14: - i32.const $push28=, main.addr - i32.call $drop=, strcpy@FUNCTION, $pop28, $4 - i32.const $push29=, 0 - return $pop29 -.LBB2_15: # %if.then - end_block # label7: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/20040703-1.c.s b/test/torture-s/20040703-1.c.s index 5ff9dce2d..668a3b687 100644 --- a/test/torture-s/20040703-1.c.s +++ b/test/torture-s/20040703-1.c.s @@ -6,8 +6,12 @@ .type num_lshift,@function num_lshift: # @num_lshift .param i32, i32, i32, i32 - .local i32, i32, i64, i32, i32, i32, i32, i32 + .local i32, i32, i64, i32, i32, i32, i32, i32, i32 # BB#0: # %entry + i32.const $push93=, 0 + i32.load $push94=, __stack_pointer($pop93) + i32.const $push95=, 16 + i32.sub $12=, $pop94, $pop95 block block block @@ -18,56 +22,56 @@ num_lshift: # @num_lshift i32.ge_u $push0=, $3, $2 br_if 0, $pop0 # 0: down to label6 # BB#1: # %if.else - i32.load $push96=, 4($1) - tee_local $push95=, $5=, $pop96 - copy_local $8=, $pop95 - i32.load $push94=, 0($1) - tee_local $push93=, $4=, $pop94 - copy_local $11=, $pop93 - copy_local $9=, $3 + i32.load $push103=, 4($1) + tee_local $push102=, $5=, $pop103 + copy_local $7=, $pop102 + i32.load $push101=, 0($1) + tee_local $push100=, $4=, $pop101 + copy_local $9=, $pop100 + copy_local $8=, $3 block i32.const $push9=, 32 i32.lt_u $push10=, $3, $pop9 br_if 0, $pop10 # 0: down to label7 # BB#2: # %if.then5 i32.store $drop=, 0($1), $5 - i32.const $8=, 0 + i32.const $7=, 0 i32.const $push11=, 4 i32.add $push12=, $1, $pop11 - i32.const $push97=, 0 - i32.store $drop=, 0($pop12), $pop97 + i32.const $push104=, 0 + i32.store $drop=, 0($pop12), $pop104 i32.const $push13=, -32 - i32.add $9=, $3, $pop13 - copy_local $11=, $5 + i32.add $8=, $3, $pop13 + copy_local $9=, $5 .LBB0_3: # %if.end end_block # label7: - i32.eqz $push116=, $9 - br_if 1, $pop116 # 1: down to label5 + i32.eqz $push125=, $8 + br_if 1, $pop125 # 1: down to label5 # BB#4: # %if.then10 i32.const $push14=, 4 i32.add $push15=, $1, $pop14 - i32.shl $push101=, $8, $9 - tee_local $push100=, $10=, $pop101 - i32.store $drop=, 0($pop15), $pop100 + i32.shl $push108=, $7, $8 + tee_local $push107=, $10=, $pop108 + i32.store $drop=, 0($pop15), $pop107 i32.const $push17=, 32 - i32.sub $push18=, $pop17, $9 - i32.shr_u $push19=, $8, $pop18 - i32.shl $push16=, $11, $9 - i32.or $push99=, $pop19, $pop16 - tee_local $push98=, $11=, $pop99 - i32.store $drop=, 0($1), $pop98 + i32.sub $push18=, $pop17, $8 + i32.shr_u $push19=, $7, $pop18 + i32.shl $push16=, $9, $8 + i32.or $push106=, $pop19, $pop16 + tee_local $push105=, $9=, $pop106 + i32.store $drop=, 0($1), $pop105 br 2 # 2: down to label4 .LBB0_5: # %if.then end_block # label6: i32.load $push1=, 8($1) - i32.eqz $push117=, $pop1 - br_if 2, $pop117 # 2: down to label3 + i32.eqz $push126=, $pop1 + br_if 2, $pop126 # 2: down to label3 # BB#6: # %if.then.land.end_crit_edge i32.const $2=, 0 br 3 # 3: down to label2 .LBB0_7: end_block # label5: - copy_local $10=, $8 + copy_local $10=, $7 .LBB0_8: # %if.end18 end_block # label4: i32.const $push22=, 8 @@ -80,21 +84,21 @@ num_lshift: # @num_lshift br_if 0, $pop21 # 0: down to label9 # BB#9: # %if.then.i i32.const $push30=, -32 - i32.add $push103=, $2, $pop30 - tee_local $push102=, $9=, $pop103 + i32.add $push110=, $2, $pop30 + tee_local $push109=, $8=, $pop110 i32.const $push31=, 31 - i32.gt_u $push32=, $pop102, $pop31 + i32.gt_u $push32=, $pop109, $pop31 br_if 1, $pop32 # 1: down to label8 # BB#10: # %if.then2.i i32.const $push33=, 1 - i32.shl $push34=, $pop33, $9 + i32.shl $push34=, $pop33, $8 i32.const $push35=, -1 i32.add $push36=, $pop34, $pop35 - i32.and $11=, $11, $pop36 + i32.and $9=, $9, $pop36 br 1 # 1: down to label8 .LBB0_11: # %if.else.i end_block # label9: - i32.const $11=, 0 + i32.const $9=, 0 i32.const $push24=, 32 i32.eq $push25=, $2, $pop24 br_if 0, $pop25 # 0: down to label8 @@ -106,13 +110,13 @@ num_lshift: # @num_lshift i32.and $10=, $10, $pop29 .LBB0_13: # %num_trim.exit end_block # label8: - i32.store $drop=, 0($1), $11 + i32.store $drop=, 0($1), $9 i32.const $push37=, 4 i32.add $push38=, $1, $pop37 i32.store $drop=, 0($pop38), $10 i32.wrap/i64 $push39=, $6 - i32.eqz $push118=, $pop39 - br_if 2, $pop118 # 2: down to label1 + i32.eqz $push127=, $pop39 + br_if 2, $pop127 # 2: down to label1 # BB#14: # %if.then21 i32.const $push40=, 0 i32.store $drop=, 12($1), $pop40 @@ -132,129 +136,143 @@ num_lshift: # @num_lshift i64.const $push8=, 0 i64.store $drop=, 0($1):p2align=2, $pop8 br 1 # 1: down to label0 -.LBB0_17: # %if.else23 +.LBB0_17: # %if.else3.i end_block # label1: + i32.store $drop=, 8($12), $9 + i32.store $drop=, 4($12), $10 + i32.const $push43=, -1 + i32.const $push50=, 0 + i32.const $push41=, 32 + i32.gt_u $push113=, $2, $pop41 + tee_local $push112=, $8=, $pop113 + i32.select $push42=, $9, $10, $pop112 + i32.const $push47=, 1 + i32.const $push44=, -33 + i32.const $push111=, -1 + i32.select $push45=, $pop44, $pop111, $8 + i32.add $push46=, $pop45, $2 + i32.shl $push48=, $pop47, $pop46 + i32.and $push49=, $pop42, $pop48 + i32.select $8=, $pop43, $pop50, $pop49 block block block - block - i32.const $push104=, 32 - i32.le_u $push41=, $2, $pop104 - br_if 0, $pop41 # 0: down to label13 -# BB#18: # %if.else8.i - i32.const $push56=, -1 - i32.const $push55=, 0 - i32.const $push52=, 1 - i32.const $push50=, -33 - i32.add $push51=, $2, $pop50 - i32.shl $push53=, $pop52, $pop51 - i32.and $push54=, $11, $pop53 - i32.select $9=, $pop56, $pop55, $pop54 - i32.const $push57=, 63 - i32.le_u $push58=, $2, $pop57 - br_if 1, $pop58 # 1: down to label12 - br 3 # 3: down to label10 -.LBB0_19: # %if.else3.i - end_block # label13: - i32.const $push42=, -1 - i32.const $push47=, 0 - i32.const $push44=, 1 - i32.const $push106=, -1 - i32.add $push43=, $2, $pop106 - i32.shl $push45=, $pop44, $pop43 - i32.and $push46=, $10, $pop45 - i32.select $9=, $pop42, $pop47, $pop46 - i32.const $push105=, 32 - i32.ne $push48=, $2, $pop105 - br_if 1, $pop48 # 1: down to label11 -.LBB0_20: # %if.then10.i + i32.const $push51=, 31 + i32.gt_u $push52=, $2, $pop51 + br_if 0, $pop52 # 0: down to label12 +# BB#18: # %if.then5.i61 + i32.store $drop=, 8($12), $8 + i32.const $push96=, 4 + i32.add $push97=, $12, $pop96 + copy_local $7=, $pop97 + copy_local $11=, $2 + br 1 # 1: down to label11 +.LBB0_19: # %if.else8.i end_block # label12: - i32.const $push59=, -32 - i32.add $push60=, $2, $pop59 - i32.shl $push61=, $9, $pop60 - i32.or $11=, $pop61, $11 - br 1 # 1: down to label10 -.LBB0_21: # %if.then5.i64 + i32.const $push53=, 63 + i32.gt_u $push54=, $2, $pop53 + br_if 1, $pop54 # 1: down to label10 +# BB#20: # %if.then10.i + i32.const $push55=, -32 + i32.add $11=, $2, $pop55 + i32.const $push98=, 8 + i32.add $push99=, $12, $pop98 + copy_local $7=, $pop99 + copy_local $10=, $9 +.LBB0_21: # %if.end15.sink.split.i end_block # label11: - i32.shl $push49=, $9, $2 - i32.or $10=, $pop49, $10 - copy_local $11=, $9 + i32.shl $push56=, $8, $11 + i32.or $push57=, $10, $pop56 + i32.store $drop=, 0($7), $pop57 .LBB0_22: # %if.end15.i end_block # label10: - i32.const $push62=, 31 - i32.gt_u $push110=, $3, $pop62 - tee_local $push109=, $8=, $pop110 - i32.select $7=, $9, $11, $pop109 - i32.select $11=, $11, $10, $8 + block + i32.const $push58=, 32 + i32.lt_u $push59=, $3, $pop58 + br_if 0, $pop59 # 0: down to label13 +# BB#23: # %if.then17.i + i32.load $push60=, 8($12) + i32.store $drop=, 4($12), $pop60 + i32.store $drop=, 8($12), $8 + i32.const $push61=, -32 + i32.add $3=, $3, $pop61 +.LBB0_24: # %if.end22.i + end_block # label13: block block - i32.const $push63=, -32 - i32.add $push64=, $3, $pop63 - i32.select $push108=, $pop64, $3, $8 - tee_local $push107=, $10=, $pop108 - i32.eqz $push119=, $pop107 - br_if 0, $pop119 # 0: down to label15 -# BB#23: # %if.then24.i - i32.shr_u $push65=, $7, $10 - i32.const $push66=, 32 - i32.sub $push112=, $pop66, $10 - tee_local $push111=, $8=, $pop112 - i32.shl $push67=, $9, $pop111 - i32.or $3=, $pop65, $pop67 - i32.shl $push69=, $7, $8 - i32.shr_u $push68=, $11, $10 - i32.or $11=, $pop69, $pop68 + i32.eqz $push128=, $3 + br_if 0, $pop128 # 0: down to label15 +# BB#25: # %if.end38.sink.split.i + i32.load $push121=, 8($12) + tee_local $push120=, $10=, $pop121 + i32.const $push64=, 32 + i32.sub $push119=, $pop64, $3 + tee_local $push118=, $7=, $pop119 + i32.shl $push65=, $pop120, $pop118 + i32.load $push62=, 4($12) + i32.shr_u $push63=, $pop62, $3 + i32.or $push117=, $pop65, $pop63 + tee_local $push116=, $9=, $pop117 + i32.store $drop=, 4($12), $pop116 + i32.shr_u $push66=, $10, $3 + i32.shl $push67=, $8, $7 + i32.or $push115=, $pop66, $pop67 + tee_local $push114=, $3=, $pop115 + i32.store $drop=, 8($12), $pop114 br 1 # 1: down to label14 -.LBB0_24: +.LBB0_26: # %if.end22.if.end38_crit_edge.i end_block # label15: - copy_local $3=, $7 -.LBB0_25: # %if.end38.i + i32.load $9=, 4($12) + i32.load $3=, 8($12) +.LBB0_27: # %if.end38.i end_block # label14: block block - i32.const $push70=, 33 - i32.lt_u $push71=, $2, $pop70 - br_if 0, $pop71 # 0: down to label17 -# BB#26: # %if.then.i61.i - i32.const $push78=, -32 - i32.add $push114=, $2, $pop78 - tee_local $push113=, $2=, $pop114 - i32.const $push79=, 31 - i32.gt_u $push80=, $pop113, $pop79 - br_if 1, $pop80 # 1: down to label16 -# BB#27: # %if.then2.i.i - i32.const $push81=, 1 - i32.shl $push82=, $pop81, $2 - i32.const $push83=, -1 - i32.add $push84=, $pop82, $pop83 - i32.and $3=, $3, $pop84 + i32.const $push68=, 33 + i32.lt_u $push69=, $2, $pop68 + br_if 0, $pop69 # 0: down to label17 +# BB#28: # %if.then.i.i + i32.const $push76=, -32 + i32.add $push123=, $2, $pop76 + tee_local $push122=, $2=, $pop123 + i32.const $push77=, 31 + i32.gt_u $push78=, $pop122, $pop77 + br_if 1, $pop78 # 1: down to label16 +# BB#29: # %if.then2.i.i + i32.const $push79=, 1 + i32.shl $push80=, $pop79, $2 + i32.const $push81=, -1 + i32.add $push82=, $pop80, $pop81 + i32.and $3=, $3, $pop82 br 1 # 1: down to label16 -.LBB0_28: # %if.else.i.i +.LBB0_30: # %if.else.i.i end_block # label17: i32.const $3=, 0 - i32.const $push72=, 32 - i32.eq $push73=, $2, $pop72 - br_if 0, $pop73 # 0: down to label16 -# BB#29: # %if.then5.i.i - i32.const $push74=, 1 - i32.shl $push75=, $pop74, $2 - i32.const $push76=, -1 - i32.add $push77=, $pop75, $pop76 - i32.and $11=, $11, $pop77 -.LBB0_30: # %num_rshift.exit + i32.const $push70=, 32 + i32.eq $push71=, $2, $pop70 + br_if 0, $pop71 # 0: down to label16 +# BB#31: # %if.then5.i.i + i32.const $push72=, 1 + i32.shl $push73=, $pop72, $2 + i32.const $push74=, -1 + i32.add $push75=, $pop73, $pop74 + i32.and $9=, $9, $pop75 +.LBB0_32: # %num_rshift.exit end_block # label16: - i32.ne $push86=, $5, $11 - i32.ne $push85=, $4, $3 - i32.or $push87=, $pop86, $pop85 - i32.store $drop=, 12($1), $pop87 -.LBB0_31: # %if.end37 + i32.const $push86=, 12 + i32.add $push87=, $1, $pop86 + i32.ne $push84=, $5, $9 + i32.ne $push83=, $4, $3 + i32.or $push85=, $pop84, $pop83 + i32.store $drop=, 0($pop87), $pop85 +.LBB0_33: # %if.end37 end_block # label0: i64.load $push88=, 0($1):p2align=2 i64.store $drop=, 0($0):p2align=2, $pop88 i32.const $push89=, 8 i32.add $push90=, $0, $pop89 - i32.const $push115=, 8 - i32.add $push91=, $1, $pop115 + i32.const $push124=, 8 + i32.add $push91=, $1, $pop124 i64.load $push92=, 0($pop91):p2align=2 i64.store $drop=, 0($pop90):p2align=2, $pop92 # fallthrough-return diff --git a/test/torture-s/20041124-1.c.s b/test/torture-s/20041124-1.c.s index bf3e9427b..30019406a 100644 --- a/test/torture-s/20041124-1.c.s +++ b/test/torture-s/20041124-1.c.s @@ -21,34 +21,33 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32 + .local i32 # BB#0: # %entry i32.const $push13=, 0 i32.const $push10=, 0 i32.load $push11=, __stack_pointer($pop10) i32.const $push12=, 16 - i32.sub $push20=, $pop11, $pop12 - tee_local $push19=, $1=, $pop20 - i32.store $drop=, __stack_pointer($pop13), $pop19 + i32.sub $push18=, $pop11, $pop12 + tee_local $push17=, $0=, $pop18 + i32.store $drop=, __stack_pointer($pop13), $pop17 i32.const $push14=, 8 - i32.add $push15=, $1, $pop14 + i32.add $push15=, $0, $pop14 call foo@FUNCTION, $pop15 block - i32.load16_u $push5=, 8($1) - i32.const $push2=, 0 - i32.load $push18=, gs($pop2) - tee_local $push17=, $0=, $pop18 - i32.const $push16=, 65535 - i32.and $push4=, $pop17, $pop16 - i32.ne $push6=, $pop5, $pop4 - br_if 0, $pop6 # 0: down to label0 + i32.load16_u $push3=, 8($0) + i32.const $push16=, 0 + i32.load16_u $push2=, gs($pop16) + i32.ne $push4=, $pop3, $pop2 + br_if 0, $pop4 # 0: down to label0 # BB#1: # %entry - i32.load16_u $push0=, 10($1) - i32.const $push21=, 65535 - i32.and $push7=, $pop0, $pop21 - i32.const $push3=, 16 - i32.shr_u $push1=, $0, $pop3 - i32.ne $push8=, $pop7, $pop1 + i32.load16_u $push0=, 10($0) + i32.const $push5=, 65535 + i32.and $push7=, $pop0, $pop5 + i32.const $push20=, 0 + i32.load16_u $push1=, gs+2($pop20) + i32.const $push19=, 65535 + i32.and $push6=, $pop1, $pop19 + i32.ne $push8=, $pop7, $pop6 br_if 0, $pop8 # 0: down to label0 # BB#2: # %if.end i32.const $push9=, 0 diff --git a/test/torture-s/20041210-1.c.s b/test/torture-s/20041210-1.c.s index eeaec61b7..3c575ac58 100644 --- a/test/torture-s/20041210-1.c.s +++ b/test/torture-s/20041210-1.c.s @@ -6,36 +6,30 @@ .type main,@function main: # @main .result i32 - .local i64 # BB#0: # %entry block - i32.const $push12=, 0 - i64.load $push11=, x($pop12) - tee_local $push10=, $0=, $pop11 - i32.wrap/i64 $push2=, $pop10 - i64.const $push9=, 32 - i64.shr_u $push0=, $0, $pop9 - i32.wrap/i64 $push1=, $pop0 - i32.ge_s $push3=, $pop2, $pop1 - br_if 0, $pop3 # 0: down to label0 + i32.const $push9=, 0 + i32.load $push1=, x($pop9) + i32.const $push8=, 0 + i32.load $push0=, x+4($pop8) + i32.ge_s $push2=, $pop1, $pop0 + br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.then - i32.const $push16=, 0 - i64.load $push15=, x+8($pop16) - tee_local $push14=, $0=, $pop15 - i64.const $push13=, 32 - i64.shr_u $push4=, $pop14, $pop13 - i64.and $push5=, $pop4, $0 - i32.wrap/i64 $push6=, $pop5 - i32.const $push7=, -1 - i32.gt_s $push8=, $pop6, $pop7 - br_if 0, $pop8 # 0: down to label0 + i32.const $push11=, 0 + i32.load $push4=, x+12($pop11) + i32.const $push10=, 0 + i32.load $push3=, x+8($pop10) + i32.and $push5=, $pop4, $pop3 + i32.const $push6=, -1 + i32.gt_s $push7=, $pop5, $pop6 + br_if 0, $pop7 # 0: down to label0 # BB#2: # %if.then2 call abort@FUNCTION unreachable .LBB0_3: # %if.end3 end_block # label0: - i32.const $push17=, 0 - call exit@FUNCTION, $pop17 + i32.const $push12=, 0 + call exit@FUNCTION, $pop12 unreachable .endfunc .Lfunc_end0: diff --git a/test/torture-s/20041213-2.c.s b/test/torture-s/20041213-2.c.s index 4c67bd4a6..84d5097ea 100644 --- a/test/torture-s/20041213-2.c.s +++ b/test/torture-s/20041213-2.c.s @@ -6,55 +6,49 @@ .type foo,@function foo: # @foo .param i32 - .local i32, i32, i32, i32 + .local i32, i32, i32 # BB#0: # %entry block block - i32.eqz $push12=, $0 - br_if 0, $pop12 # 0: down to label1 -# BB#1: # %for.body.preheader - i32.const $1=, 0 - i32.const $2=, 1 -.LBB0_2: # %for.body + i32.eqz $push9=, $0 + br_if 0, $pop9 # 0: down to label1 +# BB#1: # %for.cond1.preheader.preheader + i32.const $2=, 0 + i32.const $3=, 1 +.LBB0_2: # %for.cond1.preheader # =>This Inner Loop Header: Depth=1 loop # label2: block block - i32.ge_s $push0=, $1, $2 + copy_local $push4=, $3 + tee_local $push3=, $1=, $pop4 + i32.ge_s $push0=, $2, $pop3 br_if 0, $pop0 # 0: down to label5 -# BB#3: # %for.body3.lr.ph +# BB#3: # %for.end.thread # in Loop: Header=BB0_2 Depth=1 - i32.const $push8=, 1 - i32.add $push7=, $1, $pop8 - tee_local $push6=, $4=, $pop7 - i32.gt_s $push1=, $2, $4 - i32.select $push5=, $2, $pop6, $pop1 - tee_local $push4=, $4=, $pop5 - i32.add $push2=, $2, $pop4 - i32.sub $3=, $pop2, $1 + i32.const $push5=, 1 + i32.shl $push2=, $1, $pop5 + i32.sub $3=, $pop2, $2 br 1 # 1: down to label4 -.LBB0_4: # in Loop: Header=BB0_2 Depth=1 +.LBB0_4: # %for.end + # in Loop: Header=BB0_2 Depth=1 end_block # label5: - copy_local $3=, $2 - copy_local $4=, $1 -.LBB0_5: # %for.end + copy_local $3=, $1 + i32.ne $push1=, $2, $1 + br_if 4, $pop1 # 4: down to label0 +.LBB0_5: # %for.cond # in Loop: Header=BB0_2 Depth=1 end_block # label4: - i32.ne $push3=, $4, $2 - br_if 3, $pop3 # 3: down to label0 -# BB#6: # %if.end - # in Loop: Header=BB0_2 Depth=1 - copy_local $1=, $2 - copy_local $2=, $3 - i32.const $push11=, -1 - i32.add $push10=, $0, $pop11 - tee_local $push9=, $0=, $pop10 - br_if 0, $pop9 # 0: up to label2 -.LBB0_7: # %for.end7 + copy_local $2=, $1 + i32.const $push8=, -1 + i32.add $push7=, $0, $pop8 + tee_local $push6=, $0=, $pop7 + br_if 0, $pop6 # 0: up to label2 +.LBB0_6: # %for.end7 end_loop # label3: end_block # label1: return -.LBB0_8: # %if.then +.LBB0_7: # %if.then end_block # label0: call abort@FUNCTION unreachable diff --git a/test/torture-s/20050218-1.c.s b/test/torture-s/20050218-1.c.s index 656c09267..3a9e8f92d 100644 --- a/test/torture-s/20050218-1.c.s +++ b/test/torture-s/20050218-1.c.s @@ -21,7 +21,7 @@ foo: # @foo # =>This Inner Loop Header: Depth=1 loop # label1: i32.const $7=, 2 - i32.add $push0=, $0, $6 + i32.add $push0=, $0, $5 i32.load $push7=, 0($4) tee_local $push6=, $3=, $pop7 i32.call $push5=, strlen@FUNCTION, $3 @@ -30,14 +30,14 @@ foo: # @foo br_if 1, $pop1 # 1: down to label2 # BB#3: # %if.end # in Loop: Header=BB0_2 Depth=1 - i32.add $6=, $3, $6 + i32.add $5=, $3, $5 block i32.eqz $push13=, $1 br_if 0, $pop13 # 0: down to label3 # BB#4: # %if.then6 # in Loop: Header=BB0_2 Depth=1 i32.call $push2=, strlen@FUNCTION, $1 - i32.add $6=, $pop2, $6 + i32.add $5=, $pop2, $5 .LBB0_5: # %for.inc # in Loop: Header=BB0_2 Depth=1 end_block # label3: @@ -45,8 +45,8 @@ foo: # @foo i32.add $4=, $4, $pop11 i32.const $7=, 0 i32.const $push10=, 1 - i32.add $push9=, $5, $pop10 - tee_local $push8=, $5=, $pop9 + i32.add $push9=, $6, $pop10 + tee_local $push8=, $6=, $pop9 i32.lt_u $push3=, $pop8, $2 br_if 0, $pop3 # 0: up to label1 .LBB0_6: # %cleanup diff --git a/test/torture-s/20051215-1.c.s b/test/torture-s/20051215-1.c.s index 8cef90f6c..2dad91ab0 100644 --- a/test/torture-s/20051215-1.c.s +++ b/test/torture-s/20051215-1.c.s @@ -16,8 +16,8 @@ foo: # @foo br_if 0, $pop0 # 0: down to label0 # BB#1: # %for.body.lr.ph i32.const $3=, 0 - i32.const $5=, 0 i32.const $4=, 0 + i32.const $5=, 0 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: @@ -28,7 +28,7 @@ foo: # @foo # in Loop: Header=BB0_2 Depth=1 i32.load $push1=, 0($2) i32.mul $4=, $pop1, $3 -.LBB0_4: # %for.cond1.preheader +.LBB0_4: # %if.end # in Loop: Header=BB0_2 Depth=1 end_block # label3: i32.mul $push3=, $4, $0 diff --git a/test/torture-s/20060905-1.c.s b/test/torture-s/20060905-1.c.s index cfe886a8c..f8e851ec0 100644 --- a/test/torture-s/20060905-1.c.s +++ b/test/torture-s/20060905-1.c.s @@ -16,7 +16,7 @@ main: # @main loop # label0: block i32.const $push6=, 128 - i32.lt_s $push0=, $1, $pop6 + i32.lt_s $push0=, $2, $pop6 br_if 0, $pop0 # 0: down to label2 # BB#2: # %if.then.i # in Loop: Header=BB0_1 Depth=1 @@ -24,15 +24,15 @@ main: # @main i32.load8_u $push1=, 0($0) i32.store8 $drop=, g($pop8), $pop1 i32.const $push7=, 1 - i32.add $2=, $2, $pop7 + i32.add $1=, $1, $pop7 .LBB0_3: # %for.inc.i # in Loop: Header=BB0_1 Depth=1 end_block # label2: i32.const $push13=, 3 i32.add $0=, $0, $pop13 i32.const $push12=, 1 - i32.add $push11=, $1, $pop12 - tee_local $push10=, $1=, $pop11 + i32.add $push11=, $2, $pop12 + tee_local $push10=, $2=, $pop11 i32.const $push9=, 256 i32.ne $push2=, $pop10, $pop9 br_if 0, $pop2 # 0: up to label0 @@ -40,7 +40,7 @@ main: # @main end_loop # label1: block i32.const $push3=, 128 - i32.ne $push4=, $2, $pop3 + i32.ne $push4=, $1, $pop3 br_if 0, $pop4 # 0: down to label3 # BB#5: # %if.end i32.const $push5=, 0 diff --git a/test/torture-s/20060930-1.c.s b/test/torture-s/20060930-1.c.s index a993e806f..21e73147f 100644 --- a/test/torture-s/20060930-1.c.s +++ b/test/torture-s/20060930-1.c.s @@ -28,61 +28,35 @@ bar: # @bar .type foo,@function foo: # @foo .param i32, i32 - .local i32, i32, i32 # BB#0: # %entry - i32.const $push10=, 0 - i32.const $push7=, 0 - i32.load $push8=, __stack_pointer($pop7) - i32.const $push9=, 16 - i32.sub $push23=, $pop8, $pop9 - tee_local $push22=, $4=, $pop23 - i32.store $drop=, __stack_pointer($pop10), $pop22 block i32.const $push3=, 1 i32.lt_s $push4=, $1, $pop3 br_if 0, $pop4 # 0: down to label1 # BB#1: # %for.body.lr.ph i32.const $push0=, 0 - i32.const $push31=, 0 - i32.const $push30=, 0 - i32.sub $push2=, $pop30, $0 - i32.const $push29=, 0 - i32.gt_s $push1=, $0, $pop29 - i32.select $push28=, $pop2, $0, $pop1 - tee_local $push27=, $0=, $pop28 - i32.sub $push5=, $pop31, $pop27 - i32.const $push26=, -1 - i32.gt_s $push25=, $0, $pop26 - tee_local $push24=, $2=, $pop25 - i32.select $0=, $pop0, $pop5, $pop24 - i32.const $push14=, 8 - i32.add $push15=, $4, $pop14 - i32.const $push16=, 12 - i32.add $push17=, $4, $pop16 - i32.select $3=, $pop15, $pop17, $2 - i32.const $push18=, 12 - i32.add $push19=, $4, $pop18 - i32.const $push20=, 8 - i32.add $push21=, $4, $pop20 - i32.select $2=, $pop19, $pop21, $2 + i32.const $push12=, 0 + i32.const $push11=, 0 + i32.sub $push2=, $pop11, $0 + i32.const $push10=, 0 + i32.gt_s $push1=, $0, $pop10 + i32.select $push9=, $pop2, $0, $pop1 + tee_local $push8=, $0=, $pop9 + i32.sub $push6=, $pop12, $pop8 + i32.const $push7=, -1 + i32.gt_s $push5=, $0, $pop7 + i32.select $0=, $pop0, $pop6, $pop5 .LBB1_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label2: - i32.store $drop=, 0($3), $0 - i32.store $drop=, 0($2), $0 - i32.load $push6=, 12($4) - i32.call $drop=, bar@FUNCTION, $1, $pop6 - i32.const $push34=, -1 - i32.add $push33=, $1, $pop34 - tee_local $push32=, $1=, $pop33 - br_if 0, $pop32 # 0: up to label2 + i32.call $drop=, bar@FUNCTION, $1, $0 + i32.const $push15=, -1 + i32.add $push14=, $1, $pop15 + tee_local $push13=, $1=, $pop14 + br_if 0, $pop13 # 0: up to label2 .LBB1_3: # %for.end end_loop # label3: end_block # label1: - i32.const $push13=, 0 - i32.const $push11=, 16 - i32.add $push12=, $4, $pop11 - i32.store $drop=, __stack_pointer($pop13), $pop12 # fallthrough-return .endfunc .Lfunc_end1: diff --git a/test/torture-s/20061101-1.c.s b/test/torture-s/20061101-1.c.s index 07ecc78ad..3a1d4ddcd 100644 --- a/test/torture-s/20061101-1.c.s +++ b/test/torture-s/20061101-1.c.s @@ -29,49 +29,31 @@ tar: # @tar .type bug,@function bug: # @bug .param i32, i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $push9=, 0 - i32.const $push6=, 0 - i32.load $push7=, __stack_pointer($pop6) - i32.const $push8=, 16 - i32.sub $push20=, $pop7, $pop8 - tee_local $push19=, $5=, $pop20 - i32.store $drop=, __stack_pointer($pop9), $pop19 - i32.const $4=, 0 - i32.const $push18=, 0 - i32.store $drop=, 12($5), $pop18 - i32.const $push17=, -1 - i32.add $2=, $0, $pop17 - i32.const $push13=, 8 - i32.add $push14=, $5, $pop13 - copy_local $0=, $pop14 + i32.const $push0=, -1 + i32.add $2=, $0, $pop0 + i32.const $0=, 0 + i32.const $3=, 1 .LBB1_1: # %while.cond # =>This Inner Loop Header: Depth=1 block loop # label2: - i32.store $drop=, 0($0), $4 - i32.load $push0=, 12($5) - i32.const $push21=, -1 - i32.eq $push1=, $pop0, $pop21 - br_if 2, $pop1 # 2: down to label1 + i32.const $push6=, 1 + i32.and $push1=, $3, $pop6 + i32.eqz $push11=, $pop1 + br_if 2, $pop11 # 2: down to label1 # BB#2: # %while.body # in Loop: Header=BB1_1 Depth=1 - i32.load $push27=, 8($5) - tee_local $push26=, $4=, $pop27 - i32.const $push25=, 1 - i32.add $push3=, $pop26, $pop25 - i32.lt_s $push2=, $4, $2 - i32.select $push24=, $pop3, $2, $pop2 - tee_local $push23=, $3=, $pop24 - i32.store $drop=, 8($5), $pop23 - i32.const $4=, -1 - i32.const $push15=, 12 - i32.add $push16=, $5, $pop15 - copy_local $0=, $pop16 - i32.mul $push4=, $3, $1 - i32.const $push22=, 36863 - i32.eq $push5=, $pop4, $pop22 + i32.const $3=, 0 + i32.const $push10=, 1 + i32.add $push3=, $0, $pop10 + i32.lt_s $push2=, $0, $2 + i32.select $push9=, $pop3, $2, $pop2 + tee_local $push8=, $0=, $pop9 + i32.mul $push4=, $pop8, $1 + i32.const $push7=, 36863 + i32.eq $push5=, $pop4, $pop7 br_if 0, $pop5 # 0: up to label2 # BB#3: # %if.then.i end_loop # label3: @@ -79,10 +61,6 @@ bug: # @bug unreachable .LBB1_4: # %while.end end_block # label1: - i32.const $push12=, 0 - i32.const $push10=, 16 - i32.add $push11=, $5, $pop10 - i32.store $drop=, __stack_pointer($pop12), $pop11 # fallthrough-return .endfunc .Lfunc_end1: @@ -94,63 +72,9 @@ bug: # @bug .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 -# BB#0: # %entry - i32.const $push10=, 0 - i32.const $push7=, 0 - i32.load $push8=, __stack_pointer($pop7) - i32.const $push9=, 16 - i32.sub $push20=, $pop8, $pop9 - tee_local $push19=, $3=, $pop20 - i32.store $drop=, __stack_pointer($pop10), $pop19 - i32.const $2=, 0 - i32.const $push18=, 0 - i32.store $drop=, 12($3), $pop18 - i32.const $push14=, 8 - i32.add $push15=, $3, $pop14 - copy_local $1=, $pop15 -.LBB2_1: # %while.cond.i - # =>This Inner Loop Header: Depth=1 - block - loop # label5: - i32.store $drop=, 0($1), $2 - i32.load $push0=, 12($3) - i32.const $push21=, -1 - i32.eq $push1=, $pop0, $pop21 - br_if 2, $pop1 # 2: down to label4 -# BB#2: # %while.body.i - # in Loop: Header=BB2_1 Depth=1 - i32.load $push30=, 8($3) - tee_local $push29=, $2=, $pop30 - i32.const $push28=, 1 - i32.add $push3=, $pop29, $pop28 - i32.const $push27=, 4 - i32.const $push26=, 4 - i32.lt_s $push2=, $2, $pop26 - i32.select $push25=, $pop3, $pop27, $pop2 - tee_local $push24=, $0=, $pop25 - i32.store $drop=, 8($3), $pop24 - i32.const $2=, -1 - i32.const $push16=, 12 - i32.add $push17=, $3, $pop16 - copy_local $1=, $pop17 - i32.const $push23=, 36863 - i32.mul $push4=, $0, $pop23 - i32.const $push22=, 36863 - i32.eq $push5=, $pop4, $pop22 - br_if 0, $pop5 # 0: up to label5 -# BB#3: # %if.then.i.i - end_loop # label6: - call abort@FUNCTION - unreachable -.LBB2_4: # %bug.exit - end_block # label4: - i32.const $push13=, 0 - i32.const $push11=, 16 - i32.add $push12=, $3, $pop11 - i32.store $drop=, __stack_pointer($pop13), $pop12 - i32.const $push6=, 0 - # fallthrough-return: $pop6 +# BB#0: # %bug.exit + i32.const $push0=, 0 + # fallthrough-return: $pop0 .endfunc .Lfunc_end2: .size main, .Lfunc_end2-main diff --git a/test/torture-s/20061101-2.c.s b/test/torture-s/20061101-2.c.s index 8d15339ae..803a4c4bc 100644 --- a/test/torture-s/20061101-2.c.s +++ b/test/torture-s/20061101-2.c.s @@ -29,49 +29,31 @@ tar: # @tar .type bug,@function bug: # @bug .param i32, i32 - .local i32, i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $push9=, 0 - i32.const $push6=, 0 - i32.load $push7=, __stack_pointer($pop6) - i32.const $push8=, 16 - i32.sub $push20=, $pop7, $pop8 - tee_local $push19=, $5=, $pop20 - i32.store $drop=, __stack_pointer($pop9), $pop19 - i32.const $4=, 0 - i32.const $push18=, 0 - i32.store $drop=, 12($5), $pop18 - i32.const $push17=, -1 - i32.add $2=, $0, $pop17 - i32.const $push13=, 8 - i32.add $push14=, $5, $pop13 - copy_local $0=, $pop14 + i32.const $push0=, -1 + i32.add $2=, $0, $pop0 + i32.const $0=, 0 + i32.const $3=, 1 .LBB1_1: # %while.cond # =>This Inner Loop Header: Depth=1 block loop # label2: - i32.store $drop=, 0($0), $4 - i32.load $push0=, 12($5) - i32.const $push21=, -1 - i32.eq $push1=, $pop0, $pop21 - br_if 2, $pop1 # 2: down to label1 + i32.const $push6=, 1 + i32.and $push1=, $3, $pop6 + i32.eqz $push11=, $pop1 + br_if 2, $pop11 # 2: down to label1 # BB#2: # %while.body # in Loop: Header=BB1_1 Depth=1 - i32.load $push27=, 8($5) - tee_local $push26=, $4=, $pop27 - i32.const $push25=, 1 - i32.add $push3=, $pop26, $pop25 - i32.lt_s $push2=, $4, $2 - i32.select $push24=, $pop3, $2, $pop2 - tee_local $push23=, $3=, $pop24 - i32.store $drop=, 8($5), $pop23 - i32.const $4=, -1 - i32.const $push15=, 12 - i32.add $push16=, $5, $pop15 - copy_local $0=, $pop16 - i32.mul $push4=, $3, $1 - i32.const $push22=, 36863 - i32.eq $push5=, $pop4, $pop22 + i32.const $3=, 0 + i32.const $push10=, 1 + i32.add $push3=, $0, $pop10 + i32.lt_s $push2=, $0, $2 + i32.select $push9=, $pop3, $2, $pop2 + tee_local $push8=, $0=, $pop9 + i32.mul $push4=, $pop8, $1 + i32.const $push7=, 36863 + i32.eq $push5=, $pop4, $pop7 br_if 0, $pop5 # 0: up to label2 # BB#3: # %if.then.i end_loop # label3: @@ -79,10 +61,6 @@ bug: # @bug unreachable .LBB1_4: # %while.end end_block # label1: - i32.const $push12=, 0 - i32.const $push10=, 16 - i32.add $push11=, $5, $pop10 - i32.store $drop=, __stack_pointer($pop12), $pop11 # fallthrough-return .endfunc .Lfunc_end1: @@ -94,63 +72,9 @@ bug: # @bug .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32 -# BB#0: # %entry - i32.const $push10=, 0 - i32.const $push7=, 0 - i32.load $push8=, __stack_pointer($pop7) - i32.const $push9=, 16 - i32.sub $push20=, $pop8, $pop9 - tee_local $push19=, $3=, $pop20 - i32.store $drop=, __stack_pointer($pop10), $pop19 - i32.const $2=, 0 - i32.const $push18=, 0 - i32.store $drop=, 12($3), $pop18 - i32.const $push14=, 8 - i32.add $push15=, $3, $pop14 - copy_local $1=, $pop15 -.LBB2_1: # %while.cond.i - # =>This Inner Loop Header: Depth=1 - block - loop # label5: - i32.store $drop=, 0($1), $2 - i32.load $push0=, 12($3) - i32.const $push21=, -1 - i32.eq $push1=, $pop0, $pop21 - br_if 2, $pop1 # 2: down to label4 -# BB#2: # %while.body.i - # in Loop: Header=BB2_1 Depth=1 - i32.load $push30=, 8($3) - tee_local $push29=, $2=, $pop30 - i32.const $push28=, 1 - i32.add $push3=, $pop29, $pop28 - i32.const $push27=, 4 - i32.const $push26=, 4 - i32.lt_s $push2=, $2, $pop26 - i32.select $push25=, $pop3, $pop27, $pop2 - tee_local $push24=, $0=, $pop25 - i32.store $drop=, 8($3), $pop24 - i32.const $2=, -1 - i32.const $push16=, 12 - i32.add $push17=, $3, $pop16 - copy_local $1=, $pop17 - i32.const $push23=, 36863 - i32.mul $push4=, $0, $pop23 - i32.const $push22=, 36863 - i32.eq $push5=, $pop4, $pop22 - br_if 0, $pop5 # 0: up to label5 -# BB#3: # %if.then.i.i - end_loop # label6: - call abort@FUNCTION - unreachable -.LBB2_4: # %bug.exit - end_block # label4: - i32.const $push13=, 0 - i32.const $push11=, 16 - i32.add $push12=, $3, $pop11 - i32.store $drop=, __stack_pointer($pop13), $pop12 - i32.const $push6=, 0 - # fallthrough-return: $pop6 +# BB#0: # %bug.exit + i32.const $push0=, 0 + # fallthrough-return: $pop0 .endfunc .Lfunc_end2: .size main, .Lfunc_end2-main diff --git a/test/torture-s/20070212-3.c.s b/test/torture-s/20070212-3.c.s index a1c2079fb..fbc868e2a 100644 --- a/test/torture-s/20070212-3.c.s +++ b/test/torture-s/20070212-3.c.s @@ -11,15 +11,20 @@ bar: # @bar # BB#0: # %entry i32.const $push0=, 4 i32.add $push1=, $0, $pop0 - i32.select $push7=, $0, $pop1, $2 - tee_local $push6=, $2=, $pop7 - i32.load $4=, 0($pop6) + i32.select $push5=, $0, $pop1, $2 + tee_local $push4=, $4=, $pop5 + i32.load $2=, 0($pop4) i32.const $push2=, 1 i32.store $drop=, 0($0), $pop2 - i32.load $push3=, 0($2) - i32.select $push4=, $pop3, $1, $3 - i32.add $push5=, $4, $pop4 - # fallthrough-return: $pop5 + block + i32.eqz $push6=, $3 + br_if 0, $pop6 # 0: down to label0 +# BB#1: # %if.then3 + i32.load $1=, 0($4) +.LBB0_2: # %if.end5 + end_block # label0: + i32.add $push3=, $1, $2 + # fallthrough-return: $pop3 .endfunc .Lfunc_end0: .size bar, .Lfunc_end0-bar diff --git a/test/torture-s/20071030-1.c.s b/test/torture-s/20071030-1.c.s index 1fb8a00ed..1e4051e5f 100644 --- a/test/torture-s/20071030-1.c.s +++ b/test/torture-s/20071030-1.c.s @@ -7,59 +7,55 @@ CalcPing: # @CalcPing .param i32 .result i32 - .local i64, f32, i32, i32, i32, f32 + .local f32, i32, i32, i32, f32 # BB#0: # %entry block - i64.load $push14=, 0($0) - tee_local $push13=, $1=, $pop14 - i32.wrap/i64 $push0=, $pop13 + i32.load $push0=, 0($0) i32.const $push1=, 1 i32.ne $push2=, $pop0, $pop1 br_if 0, $pop2 # 0: down to label0 # BB#1: # %if.then - i64.const $push10=, 32 - i64.shr_u $push11=, $1, $pop10 - i32.wrap/i64 $push12=, $pop11 - return $pop12 + i32.load $push10=, 4($0) + return $pop10 .LBB0_2: # %if.end end_block # label0: - i32.const $5=, 0 - i32.const $4=, 16 - f32.const $6=, 0x0p0 + i32.const $4=, 0 + i32.const $3=, 16 + f32.const $5=, 0x0p0 .LBB0_3: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: - i32.add $push3=, $0, $4 - f32.load $push23=, 0($pop3) - tee_local $push22=, $2=, $pop23 - f32.add $push4=, $6, $pop22 - f32.const $push21=, 0x0p0 - f32.gt $push20=, $2, $pop21 - tee_local $push19=, $3=, $pop20 - f32.select $6=, $pop4, $6, $pop19 - i32.add $5=, $3, $5 - i32.const $push18=, 24 - i32.add $push17=, $4, $pop18 - tee_local $push16=, $4=, $pop17 - i32.const $push15=, 1552 - i32.ne $push5=, $pop16, $pop15 + i32.add $push3=, $0, $3 + f32.load $push19=, 0($pop3) + tee_local $push18=, $1=, $pop19 + f32.add $push4=, $5, $pop18 + f32.const $push17=, 0x0p0 + f32.gt $push16=, $1, $pop17 + tee_local $push15=, $2=, $pop16 + f32.select $5=, $pop4, $5, $pop15 + i32.add $4=, $2, $4 + i32.const $push14=, 24 + i32.add $push13=, $3, $pop14 + tee_local $push12=, $3=, $pop13 + i32.const $push11=, 1552 + i32.ne $push5=, $pop12, $pop11 br_if 0, $pop5 # 0: up to label1 # BB#4: # %for.end end_loop # label2: - i32.const $4=, 9999 + i32.const $3=, 9999 block - i32.eqz $push24=, $5 - br_if 0, $pop24 # 0: down to label3 + i32.eqz $push20=, $4 + br_if 0, $pop20 # 0: down to label3 # BB#5: # %if.end9 - f32.convert_s/i32 $push6=, $5 - f32.div $push7=, $6, $pop6 + f32.convert_s/i32 $push6=, $4 + f32.div $push7=, $5, $pop6 f32.const $push8=, 0x1.f4p9 f32.mul $push9=, $pop7, $pop8 - i32.trunc_s/f32 $4=, $pop9 + i32.trunc_s/f32 $3=, $pop9 .LBB0_6: # %cleanup end_block # label3: - copy_local $push25=, $4 - # fallthrough-return: $pop25 + copy_local $push21=, $3 + # fallthrough-return: $pop21 .endfunc .Lfunc_end0: .size CalcPing, .Lfunc_end0-CalcPing diff --git a/test/torture-s/20071108-1.c.s b/test/torture-s/20071108-1.c.s index ee5efb5ab..a55227760 100644 --- a/test/torture-s/20071108-1.c.s +++ b/test/torture-s/20071108-1.c.s @@ -52,48 +52,44 @@ main: # @main .result i32 .local i32, i32 # BB#0: # %lor.lhs.false - i32.const $push12=, 0 - i32.const $push9=, 0 - i32.load $push10=, __stack_pointer($pop9) - i32.const $push11=, 16 - i32.sub $push27=, $pop10, $pop11 - tee_local $push26=, $1=, $pop27 - i32.store $drop=, __stack_pointer($pop12), $pop26 + i32.const $push10=, 0 + i32.const $push7=, 0 + i32.load $push8=, __stack_pointer($pop7) + i32.const $push9=, 16 + i32.sub $push25=, $pop8, $pop9 + tee_local $push24=, $1=, $pop25 + i32.store $drop=, __stack_pointer($pop10), $pop24 block - i32.const $push16=, 12 + i32.const $push14=, 12 + i32.add $push15=, $1, $pop14 + i32.const $push16=, 8 i32.add $push17=, $1, $pop16 - i32.const $push18=, 8 + i32.call $push23=, test@FUNCTION, $pop15, $pop17 + tee_local $push22=, $0=, $pop23 + i32.load $push0=, 0($pop22) + i32.const $push18=, 12 i32.add $push19=, $1, $pop18 - i32.call $push25=, test@FUNCTION, $pop17, $pop19 - tee_local $push24=, $0=, $pop25 - i32.load $push0=, 0($pop24) - i32.const $push20=, 12 - i32.add $push21=, $1, $pop20 - i32.ne $push1=, $pop0, $pop21 + i32.ne $push1=, $pop0, $pop19 br_if 0, $pop1 # 0: down to label0 # BB#1: # %lor.lhs.false2 i32.load $push2=, 4($0) - i32.const $push22=, 8 - i32.add $push23=, $1, $pop22 - i32.ne $push3=, $pop2, $pop23 + i32.const $push20=, 8 + i32.add $push21=, $1, $pop20 + i32.ne $push3=, $pop2, $pop21 br_if 0, $pop3 # 0: down to label0 # BB#2: # %lor.lhs.false4 - i32.load16_u $push29=, 8($0) - tee_local $push28=, $0=, $pop29 - i32.const $push4=, 255 - i32.and $push5=, $pop28, $pop4 + i32.load8_u $push4=, 8($0) + br_if 0, $pop4 # 0: down to label0 +# BB#3: # %lor.lhs.false5 + i32.load8_u $push5=, 9($0) br_if 0, $pop5 # 0: down to label0 -# BB#3: # %lor.lhs.false4 - i32.const $push6=, 256 - i32.ge_u $push7=, $0, $pop6 - br_if 0, $pop7 # 0: down to label0 # BB#4: # %if.end - i32.const $push15=, 0 - i32.const $push13=, 16 - i32.add $push14=, $1, $pop13 - i32.store $drop=, __stack_pointer($pop15), $pop14 - i32.const $push8=, 0 - return $pop8 + i32.const $push13=, 0 + i32.const $push11=, 16 + i32.add $push12=, $1, $pop11 + i32.store $drop=, __stack_pointer($pop13), $pop12 + i32.const $push6=, 0 + return $pop6 .LBB3_5: # %if.then end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/20111208-1.c.s b/test/torture-s/20111208-1.c.s index 210556e88..4f92e9be2 100644 --- a/test/torture-s/20111208-1.c.s +++ b/test/torture-s/20111208-1.c.s @@ -40,7 +40,7 @@ pack_unpack: # @pack_unpack i32.add $0=, $0, $pop7 copy_local $1=, $3 br 1 # 1: up to label0 -.LBB0_5: # %sw.bb8 +.LBB0_5: # %sw.bb7 # in Loop: Header=BB0_1 Depth=1 end_block # label2: i32.load $push5=, 0($0):p2align=0 @@ -95,7 +95,7 @@ main: # @main i32.const $push9=, 108 i32.ne $push3=, $pop10, $pop9 br_if 0, $pop3 # 0: down to label5 -# BB#3: # %sw.bb8.i +# BB#3: # %sw.bb7.i # in Loop: Header=BB2_1 Depth=1 i32.load $push5=, 0($3):p2align=0 call do_something@FUNCTION, $pop5 diff --git a/test/torture-s/20120808-1.c.s b/test/torture-s/20120808-1.c.s index 4f046fada..5beace55a 100644 --- a/test/torture-s/20120808-1.c.s +++ b/test/torture-s/20120808-1.c.s @@ -6,128 +6,125 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i64, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $push40=, 0 - i32.const $push37=, 0 - i32.load $push38=, __stack_pointer($pop37) - i32.const $push39=, 32 - i32.sub $push46=, $pop38, $pop39 - tee_local $push45=, $6=, $pop46 - i32.store $drop=, __stack_pointer($pop40), $pop45 + i32.const $push35=, 0 + i32.const $push32=, 0 + i32.load $push33=, __stack_pointer($pop32) + i32.const $push34=, 32 + i32.sub $push41=, $pop33, $pop34 + tee_local $push40=, $5=, $pop41 + i32.store $drop=, __stack_pointer($pop35), $pop40 i32.const $push0=, 24 - i32.add $push1=, $6, $pop0 + i32.add $push1=, $5, $pop0 i64.const $push2=, 0 i64.store $drop=, 0($pop1), $pop2 i32.const $push3=, 16 - i32.add $push4=, $6, $pop3 - i64.const $push44=, 0 - i64.store $drop=, 0($pop4), $pop44 - i64.const $push43=, 0 - i64.store $drop=, 8($6), $pop43 - i64.const $push42=, 0 - i64.store $drop=, 0($6), $pop42 - i32.const $push41=, 0 - i32.load $push5=, i($pop41) + i32.add $push4=, $5, $pop3 + i64.const $push39=, 0 + i64.store $drop=, 0($pop4), $pop39 + i64.const $push38=, 0 + i64.store $drop=, 8($5), $pop38 + i64.const $push37=, 0 + i64.store $drop=, 0($5), $pop37 + i32.const $push36=, 0 + i32.load $push5=, i($pop36) i32.const $push6=, d+1 i32.add $0=, $pop5, $pop6 - i32.const $4=, 0 + i32.const $3=, 0 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label0: - i32.add $push49=, $0, $4 - tee_local $push48=, $1=, $pop49 - i32.load8_u $2=, 0($pop48) + i32.add $push44=, $0, $3 + tee_local $push43=, $1=, $pop44 + i32.load8_u $2=, 0($pop43) block block - block - i32.const $push47=, 25 - i32.eq $push7=, $4, $pop47 - br_if 0, $pop7 # 0: down to label4 + i32.const $push42=, 25 + i32.eq $push7=, $3, $pop42 + br_if 0, $pop7 # 0: down to label3 # BB#2: # %for.body # in Loop: Header=BB0_1 Depth=1 - i32.const $push50=, 2 - i32.eq $push8=, $4, $pop50 - br_if 1, $pop8 # 1: down to label3 + block + i32.const $push45=, 2 + i32.eq $push8=, $3, $pop45 + br_if 0, $pop8 # 0: down to label4 # BB#3: # %for.body # in Loop: Header=BB0_1 Depth=1 - i32.const $5=, 255 - i32.const $push51=, 1 - i32.ne $push9=, $4, $pop51 + i32.const $4=, 255 + i32.const $push46=, 1 + i32.ne $push9=, $3, $pop46 br_if 2, $pop9 # 2: down to label2 # BB#4: # %sw.bb # in Loop: Header=BB0_1 Depth=1 - i32.const $5=, 253 + i32.const $4=, 253 br 2 # 2: down to label2 -.LBB0_5: # %sw.bb3 +.LBB0_5: # %sw.bb1 # in Loop: Header=BB0_1 Depth=1 end_block # label4: - i32.const $5=, 254 + i32.const $4=, 251 br 1 # 1: down to label2 -.LBB0_6: # %sw.bb1 +.LBB0_6: # %sw.bb3 # in Loop: Header=BB0_1 Depth=1 end_block # label3: - i32.const $5=, 251 + i32.const $4=, 254 .LBB0_7: # %sw.epilog # in Loop: Header=BB0_1 Depth=1 end_block # label2: - i32.const $push56=, 0 - i32.store $drop=, cp($pop56), $1 - i32.add $push11=, $6, $4 - i32.or $push10=, $5, $2 + i32.const $push51=, 0 + i32.store $drop=, cp($pop51), $1 + i32.add $push11=, $5, $3 + i32.or $push10=, $4, $2 i32.store8 $drop=, 0($pop11), $pop10 - i32.const $push55=, 1 - i32.add $push54=, $4, $pop55 - tee_local $push53=, $4=, $pop54 - i32.const $push52=, 30 - i32.ne $push12=, $pop53, $pop52 + i32.const $push50=, 1 + i32.add $push49=, $3, $pop50 + tee_local $push48=, $3=, $pop49 + i32.const $push47=, 30 + i32.ne $push12=, $pop48, $pop47 br_if 0, $pop12 # 0: up to label0 # BB#8: # %for.end end_loop # label1: block - i64.load $push58=, 0($6) - tee_local $push57=, $3=, $pop58 - i64.const $push19=, 65535 - i64.and $push20=, $pop57, $pop19 - i64.const $push21=, 65023 - i64.ne $push22=, $pop20, $pop21 - br_if 0, $pop22 # 0: down to label5 -# BB#9: # %for.end - i32.wrap/i64 $push17=, $3 - i32.const $push18=, 16 - i32.shr_u $push13=, $pop17, $pop18 - i32.const $push23=, 255 - i32.and $push24=, $pop13, $pop23 - i32.const $push25=, 251 - i32.ne $push26=, $pop24, $pop25 - br_if 0, $pop26 # 0: down to label5 -# BB#10: # %for.end - i32.load $push14=, 0($6) - i32.const $push27=, -16777216 - i32.lt_u $push28=, $pop14, $pop27 + i32.load8_u $push14=, 0($5) + i32.const $push13=, 255 + i32.ne $push15=, $pop14, $pop13 + br_if 0, $pop15 # 0: down to label5 +# BB#9: # %lor.lhs.false + i32.load8_u $push17=, 1($5) + i32.const $push16=, 253 + i32.ne $push18=, $pop17, $pop16 + br_if 0, $pop18 # 0: down to label5 +# BB#10: # %lor.lhs.false14 + i32.load8_u $push20=, 2($5) + i32.const $push19=, 251 + i32.ne $push21=, $pop20, $pop19 + br_if 0, $pop21 # 0: down to label5 +# BB#11: # %lor.lhs.false19 + i32.load8_u $push22=, 3($5) + i32.const $push52=, 255 + i32.ne $push23=, $pop22, $pop52 + br_if 0, $pop23 # 0: down to label5 +# BB#12: # %lor.lhs.false24 + i32.load8_u $push24=, 4($5) + i32.const $push53=, 255 + i32.ne $push25=, $pop24, $pop53 + br_if 0, $pop25 # 0: down to label5 +# BB#13: # %lor.lhs.false29 + i32.load8_u $push27=, 25($5) + i32.const $push26=, 254 + i32.ne $push28=, $pop27, $pop26 br_if 0, $pop28 # 0: down to label5 -# BB#11: # %for.end - i64.const $push16=, 1095216660480 - i64.and $push15=, $3, $pop16 - i64.const $push29=, 1095216660480 - i64.ne $push30=, $pop15, $pop29 - br_if 0, $pop30 # 0: down to label5 -# BB#12: # %lor.lhs.false29 - i32.load8_u $push32=, 25($6) - i32.const $push31=, 254 - i32.ne $push33=, $pop32, $pop31 - br_if 0, $pop33 # 0: down to label5 -# BB#13: # %lor.lhs.false34 - i32.const $push59=, 0 - i32.load $push34=, cp($pop59) - i32.const $push35=, d+30 - i32.ne $push36=, $pop34, $pop35 - br_if 0, $pop36 # 0: down to label5 -# BB#14: # %if.end - i32.const $push60=, 0 - call exit@FUNCTION, $pop60 +# BB#14: # %lor.lhs.false34 + i32.const $push54=, 0 + i32.load $push29=, cp($pop54) + i32.const $push30=, d+30 + i32.ne $push31=, $pop29, $pop30 + br_if 0, $pop31 # 0: down to label5 +# BB#15: # %if.end + i32.const $push55=, 0 + call exit@FUNCTION, $pop55 unreachable -.LBB0_15: # %if.then +.LBB0_16: # %if.then end_block # label5: call abort@FUNCTION unreachable diff --git a/test/torture-s/920501-2.c.s b/test/torture-s/920501-2.c.s index e3310a674..1747b194f 100644 --- a/test/torture-s/920501-2.c.s +++ b/test/torture-s/920501-2.c.s @@ -126,14 +126,14 @@ facts: # @facts tee_local $push39=, $4=, $pop40 i64.const $push38=, 1 i64.add $5=, $pop39, $pop38 - i32.const $16=, factab + i32.const $15=, factab i32.const $17=, 0 + i32.const $16=, 1 i32.const $7=, 1 - i32.const $15=, 1 + i64.const $8=, 1 i64.extend_s/i32 $push37=, $2 - tee_local $push36=, $13=, $pop37 - copy_local $8=, $pop36 - i64.const $9=, 1 + tee_local $push36=, $9=, $pop37 + copy_local $13=, $pop36 .LBB2_1: # %for.body # =>This Loop Header: Depth=1 # Child Loop BB2_3 Depth 2 @@ -243,7 +243,7 @@ facts: # @facts br_if 0, $pop7 # 0: down to label24 # BB#13: # %for.body4.i125.preheader # in Loop: Header=BB2_1 Depth=1 - copy_local $12=, $8 + copy_local $12=, $9 .LBB2_14: # %for.body4.i125 # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 @@ -260,7 +260,7 @@ facts: # @facts br_if 0, $pop108 # 0: down to label27 # BB#15: # %if.then5.i128 # in Loop: Header=BB2_14 Depth=2 - i64.mul $push12=, $12, $8 + i64.mul $push12=, $12, $9 i64.rem_u $12=, $pop12, $0 .LBB2_16: # %for.inc9.i131 # in Loop: Header=BB2_14 Depth=2 @@ -275,7 +275,7 @@ facts: # @facts .LBB2_17: # in Loop: Header=BB2_1 Depth=1 end_loop # label26: end_block # label24: - copy_local $12=, $8 + copy_local $12=, $9 .LBB2_18: # %for.body.i88.preheader # in Loop: Header=BB2_1 Depth=1 end_block # label23: @@ -340,24 +340,24 @@ facts: # @facts # in Loop: Header=BB2_1 Depth=1 end_block # label13: i64.add $push86=, $14, $4 - tee_local $push85=, $8=, $pop86 + tee_local $push85=, $9=, $pop86 i64.sub $push23=, $13, $pop85 - i64.sub $push22=, $8, $13 - i64.gt_u $push21=, $13, $8 + i64.sub $push22=, $9, $13 + i64.gt_u $push21=, $13, $9 i64.select $push24=, $pop23, $pop22, $pop21 i64.const $push84=, 4294967295 i64.and $push25=, $pop24, $pop84 i64.const $push83=, 4294967295 - i64.and $push26=, $9, $pop83 + i64.and $push26=, $8, $pop83 i64.mul $push27=, $pop25, $pop26 - i64.rem_u $9=, $pop27, $0 + i64.rem_u $8=, $pop27, $0 block - i32.ne $push28=, $7, $15 + i32.ne $push28=, $7, $16 br_if 0, $pop28 # 0: down to label33 # BB#27: # %if.then19 # in Loop: Header=BB2_1 Depth=1 i64.const $push88=, 4294967295 - i64.and $12=, $9, $pop88 + i64.and $12=, $8, $pop88 i32.const $push87=, 1 i32.add $17=, $17, $pop87 block @@ -388,7 +388,7 @@ facts: # @facts .LBB2_32: # %gcd_ll.exit # in Loop: Header=BB2_1 Depth=1 end_block # label34: - i32.add $15=, $17, $7 + i32.add $16=, $17, $16 i32.wrap/i64 $push96=, $12 tee_local $push95=, $2=, $pop96 i32.const $push94=, 1 @@ -396,7 +396,7 @@ facts: # @facts br_if 0, $pop32 # 0: down to label33 # BB#33: # %if.then26 # in Loop: Header=BB2_1 Depth=1 - i32.store $drop=, 0($16), $2 + i32.store $drop=, 0($15), $2 i64.const $push100=, 4294967295 i64.and $push33=, $12, $pop100 i64.div_u $push99=, $0, $pop33 @@ -406,7 +406,7 @@ facts: # @facts br_if 2, $pop34 # 2: down to label12 # BB#34: # in Loop: Header=BB2_1 Depth=1 i32.const $push101=, 4 - i32.add $16=, $16, $pop101 + i32.add $15=, $15, $pop101 .LBB2_35: # %for.inc # in Loop: Header=BB2_1 Depth=1 end_block # label33: @@ -429,7 +429,6 @@ facts: # @facts .type main,@function main: # @main .result i32 - .local i64 # BB#0: # %entry i64.const $push5=, 134217727 i32.const $push4=, -1 @@ -437,28 +436,26 @@ main: # @main i32.const $push2=, 27 call facts@FUNCTION, $pop5, $pop4, $pop3, $pop2 block - i32.const $push17=, 0 - i64.load $push16=, factab($pop17) - tee_local $push15=, $0=, $pop16 - i32.wrap/i64 $push7=, $pop15 - i32.const $push8=, 7 - i32.ne $push9=, $pop7, $pop8 - br_if 0, $pop9 # 0: down to label37 + i32.const $push14=, 0 + i32.load $push6=, factab($pop14) + i32.const $push7=, 7 + i32.ne $push8=, $pop6, $pop7 + br_if 0, $pop8 # 0: down to label37 # BB#1: # %entry - i64.const $push6=, -4294967296 - i64.and $push0=, $0, $pop6 - i64.const $push10=, 313532612608 - i64.ne $push11=, $pop0, $pop10 - br_if 0, $pop11 # 0: down to label37 + i32.const $push15=, 0 + i32.load $push0=, factab+4($pop15) + i32.const $push9=, 73 + i32.ne $push10=, $pop0, $pop9 + br_if 0, $pop10 # 0: down to label37 # BB#2: # %entry - i32.const $push18=, 0 - i32.load $push1=, factab+8($pop18) - i32.const $push12=, 262657 - i32.ne $push13=, $pop1, $pop12 - br_if 0, $pop13 # 0: down to label37 + i32.const $push16=, 0 + i32.load $push1=, factab+8($pop16) + i32.const $push11=, 262657 + i32.ne $push12=, $pop1, $pop11 + br_if 0, $pop12 # 0: down to label37 # BB#3: # %if.end - i32.const $push14=, 0 - call exit@FUNCTION, $pop14 + i32.const $push13=, 0 + call exit@FUNCTION, $pop13 unreachable .LBB3_4: # %if.then end_block # label37: diff --git a/test/torture-s/920501-6.c.s b/test/torture-s/920501-6.c.s index b2d7f3e7f..289c5b07e 100644 --- a/test/torture-s/920501-6.c.s +++ b/test/torture-s/920501-6.c.s @@ -229,7 +229,7 @@ plist: # @plist main: # @main .param i32, i32 .result i32 - .local i32, i64, i32, i64, i64, i32, i32 + .local i32, i32, i64, i64, i64, i32, i32 # BB#0: # %for.cond.i.preheader.i.preheader i32.const $push30=, 0 i32.const $push27=, 0 @@ -238,15 +238,15 @@ main: # @main i32.sub $push32=, $pop28, $pop29 tee_local $push31=, $8=, $pop32 i32.store $drop=, __stack_pointer($pop30), $pop31 - i64.const $3=, 1234111111 - copy_local $4=, $8 + i64.const $4=, 1234111111 + copy_local $3=, $8 .LBB3_1: # %for.cond.i.preheader.i # =>This Loop Header: Depth=1 # Child Loop BB3_2 Depth 2 # Child Loop BB3_4 Depth 2 # Child Loop BB3_7 Depth 2 loop # label18: - copy_local $5=, $3 + copy_local $5=, $4 i64.const $6=, 0 .LBB3_2: # %for.cond.i.i # Parent Loop BB3_1 Depth=1 @@ -280,7 +280,7 @@ main: # @main # Parent Loop BB3_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label22: - i64.div_u $push49=, $3, $6 + i64.div_u $push49=, $4, $6 tee_local $push48=, $5=, $pop49 i64.add $push6=, $5, $6 i64.const $push47=, 1 @@ -306,7 +306,7 @@ main: # @main # => This Inner Loop Header: Depth=2 loop # label26: i64.extend_u/i32 $push9=, $7 - i64.rem_u $push10=, $3, $pop9 + i64.rem_u $push10=, $4, $pop9 i64.eqz $push11=, $pop10 br_if 3, $pop11 # 3: down to label24 # BB#8: # %for.cond1.i @@ -320,22 +320,22 @@ main: # @main # in Loop: Header=BB3_1 Depth=1 end_loop # label27: end_block # label25: - i64.store $drop=, 0($4), $3 + i64.store $drop=, 0($3), $4 i32.const $push56=, 8 - i32.add $4=, $4, $pop56 + i32.add $3=, $3, $pop56 .LBB3_10: # %for.inc6.i # in Loop: Header=BB3_1 Depth=1 end_block # label24: i64.const $push60=, 2 - i64.add $push59=, $3, $pop60 - tee_local $push58=, $3=, $pop59 + i64.add $push59=, $4, $pop60 + tee_local $push58=, $4=, $pop59 i64.const $push57=, 1234111128 i64.lt_u $push13=, $pop58, $pop57 br_if 0, $pop13 # 0: up to label18 # BB#11: # %plist.exit end_loop # label19: i64.const $push14=, 0 - i64.store $drop=, 0($4), $pop14 + i64.store $drop=, 0($3), $pop14 block i64.load $push16=, 0($8) i64.const $push15=, 1234111117 diff --git a/test/torture-s/920625-1.c.s b/test/torture-s/920625-1.c.s index cd3e44d42..6bcc3b2c1 100644 --- a/test/torture-s/920625-1.c.s +++ b/test/torture-s/920625-1.c.s @@ -205,99 +205,87 @@ va1: # @va1 .type va2,@function va2: # @va2 .param i32, i32 - .local i64, i32 + .local i32 # BB#0: # %entry - i32.const $push53=, 0 - i32.const $push50=, 0 - i32.load $push51=, __stack_pointer($pop50) - i32.const $push52=, 16 - i32.sub $push60=, $pop51, $pop52 - tee_local $push59=, $3=, $pop60 - i32.store $drop=, __stack_pointer($pop53), $pop59 - i32.store $drop=, 12($3), $1 + i32.const $push41=, 0 + i32.const $push38=, 0 + i32.load $push39=, __stack_pointer($pop38) + i32.const $push40=, 16 + i32.sub $push47=, $pop39, $pop40 + tee_local $push46=, $2=, $pop47 + i32.store $drop=, __stack_pointer($pop41), $pop46 + i32.store $drop=, 12($2), $1 i32.const $push0=, 8 i32.add $push1=, $1, $pop0 - i32.store $drop=, 12($3), $pop1 + i32.store $drop=, 12($2), $pop1 block - i32.const $push2=, 0 - i64.load $push58=, ipts($pop2) - tee_local $push57=, $2=, $pop58 - i32.wrap/i64 $push3=, $pop57 - i32.load $push4=, 0($1) - i32.ne $push5=, $pop3, $pop4 - br_if 0, $pop5 # 0: down to label1 + i32.const $push45=, 0 + i32.load $push2=, ipts($pop45) + i32.load $push3=, 0($1) + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label1 # BB#1: # %lor.lhs.false - i64.const $push6=, 32 - i64.shr_u $push7=, $2, $pop6 - i32.wrap/i64 $push8=, $pop7 - i32.load $push9=, 4($1) - i32.ne $push10=, $pop8, $pop9 - br_if 0, $pop10 # 0: down to label1 + i32.const $push48=, 0 + i32.load $push6=, ipts+4($pop48) + i32.load $push5=, 4($1) + i32.ne $push7=, $pop6, $pop5 + br_if 0, $pop7 # 0: down to label1 # BB#2: # %for.cond - i32.const $push11=, 16 - i32.add $push12=, $1, $pop11 - i32.store $drop=, 12($3), $pop12 - i32.const $push16=, 0 - i64.load $push62=, ipts+8($pop16) - tee_local $push61=, $2=, $pop62 - i32.wrap/i64 $push17=, $pop61 - i32.const $push13=, 8 - i32.add $push14=, $1, $pop13 - i32.load $push15=, 0($pop14) - i32.ne $push18=, $pop17, $pop15 - br_if 0, $pop18 # 0: down to label1 + i32.const $push8=, 16 + i32.add $push9=, $1, $pop8 + i32.store $drop=, 12($2), $pop9 + i32.const $push49=, 0 + i32.load $push13=, ipts+8($pop49) + i32.const $push10=, 8 + i32.add $push11=, $1, $pop10 + i32.load $push12=, 0($pop11) + i32.ne $push14=, $pop13, $pop12 + br_if 0, $pop14 # 0: down to label1 # BB#3: # %lor.lhs.false.1 - i64.const $push19=, 32 - i64.shr_u $push20=, $2, $pop19 - i32.wrap/i64 $push21=, $pop20 - i32.load $push22=, 12($1) - i32.ne $push23=, $pop21, $pop22 - br_if 0, $pop23 # 0: down to label1 + i32.const $push50=, 0 + i32.load $push16=, ipts+12($pop50) + i32.load $push15=, 12($1) + i32.ne $push17=, $pop16, $pop15 + br_if 0, $pop17 # 0: down to label1 # BB#4: # %for.cond.1 - i32.const $push24=, 24 - i32.add $push25=, $1, $pop24 - i32.store $drop=, 12($3), $pop25 - i32.const $push29=, 0 - i64.load $push64=, ipts+16($pop29) - tee_local $push63=, $2=, $pop64 - i32.wrap/i64 $push30=, $pop63 - i32.const $push26=, 16 - i32.add $push27=, $1, $pop26 - i32.load $push28=, 0($pop27) - i32.ne $push31=, $pop30, $pop28 - br_if 0, $pop31 # 0: down to label1 + i32.const $push18=, 24 + i32.add $push19=, $1, $pop18 + i32.store $drop=, 12($2), $pop19 + i32.const $push51=, 0 + i32.load $push23=, ipts+16($pop51) + i32.const $push20=, 16 + i32.add $push21=, $1, $pop20 + i32.load $push22=, 0($pop21) + i32.ne $push24=, $pop23, $pop22 + br_if 0, $pop24 # 0: down to label1 # BB#5: # %lor.lhs.false.2 - i64.const $push32=, 32 - i64.shr_u $push33=, $2, $pop32 - i32.wrap/i64 $push34=, $pop33 - i32.load $push35=, 20($1) - i32.ne $push36=, $pop34, $pop35 - br_if 0, $pop36 # 0: down to label1 + i32.const $push52=, 0 + i32.load $push26=, ipts+20($pop52) + i32.load $push25=, 20($1) + i32.ne $push27=, $pop26, $pop25 + br_if 0, $pop27 # 0: down to label1 # BB#6: # %for.cond.2 - i32.const $push37=, 32 - i32.add $push38=, $1, $pop37 - i32.store $drop=, 12($3), $pop38 - i32.const $push42=, 0 - i64.load $push66=, ipts+24($pop42) - tee_local $push65=, $2=, $pop66 - i32.wrap/i64 $push43=, $pop65 - i32.const $push39=, 24 - i32.add $push40=, $1, $pop39 - i32.load $push41=, 0($pop40) - i32.ne $push44=, $pop43, $pop41 - br_if 0, $pop44 # 0: down to label1 + i32.const $push28=, 32 + i32.add $push29=, $1, $pop28 + i32.store $drop=, 12($2), $pop29 + i32.const $push53=, 0 + i32.load $push33=, ipts+24($pop53) + i32.const $push30=, 24 + i32.add $push31=, $1, $pop30 + i32.load $push32=, 0($pop31) + i32.ne $push34=, $pop33, $pop32 + br_if 0, $pop34 # 0: down to label1 # BB#7: # %lor.lhs.false.3 - i64.const $push45=, 32 - i64.shr_u $push46=, $2, $pop45 - i32.wrap/i64 $push47=, $pop46 - i32.load $push48=, 28($1) - i32.ne $push49=, $pop47, $pop48 - br_if 0, $pop49 # 0: down to label1 + i32.const $push54=, 0 + i32.load $push36=, ipts+28($pop54) + i32.load $push35=, 28($1) + i32.ne $push37=, $pop36, $pop35 + br_if 0, $pop37 # 0: down to label1 # BB#8: # %for.cond.3 - i32.const $push56=, 0 - i32.const $push54=, 16 - i32.add $push55=, $3, $pop54 - i32.store $drop=, __stack_pointer($pop56), $pop55 + i32.const $push44=, 0 + i32.const $push42=, 16 + i32.add $push43=, $2, $pop42 + i32.store $drop=, __stack_pointer($pop44), $pop43 return .LBB2_9: # %if.then end_block # label1: diff --git a/test/torture-s/930111-1.c.s b/test/torture-s/930111-1.c.s index 14bb7ec2d..2d5ca46f2 100644 --- a/test/torture-s/930111-1.c.s +++ b/test/torture-s/930111-1.c.s @@ -23,22 +23,22 @@ wwrite: # @wwrite .result i32 .local i32 # BB#0: # %entry - i32.const $1=, 123 + block block i64.const $push1=, -3 i64.add $push5=, $0, $pop1 tee_local $push4=, $0=, $pop5 i64.const $push2=, 44 i64.gt_u $push3=, $pop4, $pop2 - br_if 0, $pop3 # 0: down to label0 + br_if 0, $pop3 # 0: down to label1 # BB#1: # %entry - block + i32.const $1=, 0 i32.wrap/i64 $push0=, $0 - br_table $pop0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0 # 0: down to label1 - # 1: down to label0 -.LBB1_2: # %sw.bb + br_table $pop0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 # 1: down to label0 + # 0: down to label1 +.LBB1_2: # %sw.default end_block # label1: - i32.const $1=, 0 + i32.const $1=, 123 .LBB1_3: # %return end_block # label0: copy_local $push6=, $1 diff --git a/test/torture-s/930208-1.c.s b/test/torture-s/930208-1.c.s index 1716c0117..4d5b5b277 100644 --- a/test/torture-s/930208-1.c.s +++ b/test/torture-s/930208-1.c.s @@ -12,18 +12,18 @@ f: # @f i32.const $push1=, 1 i32.add $push2=, $pop0, $pop1 i32.store8 $drop=, 3($0), $pop2 - i32.load $push8=, 0($0) - i32.const $push9=, 16711680 - i32.and $push10=, $pop8, $pop9 - i32.const $push11=, 131072 - i32.ne $push12=, $pop10, $pop11 - i32.load16_u $push3=, 0($0) - i32.const $push4=, 65280 - i32.and $push5=, $pop3, $pop4 - i32.const $push6=, 512 - i32.ne $push7=, $pop5, $pop6 - i32.or $push13=, $pop12, $pop7 - # fallthrough-return: $pop13 + i32.load8_u $push3=, 0($0) + i32.const $push12=, 1 + i32.add $push4=, $pop3, $pop12 + i32.store8 $drop=, 0($0), $pop4 + i32.load8_u $push8=, 2($0) + i32.const $push6=, 2 + i32.ne $push9=, $pop8, $pop6 + i32.load8_u $push5=, 1($0) + i32.const $push11=, 2 + i32.ne $push7=, $pop5, $pop11 + i32.or $push10=, $pop9, $pop7 + # fallthrough-return: $pop10 .endfunc .Lfunc_end0: .size f, .Lfunc_end0-f diff --git a/test/torture-s/930603-3.c.s b/test/torture-s/930603-3.c.s index cf1e88309..958915dba 100644 --- a/test/torture-s/930603-3.c.s +++ b/test/torture-s/930603-3.c.s @@ -7,27 +7,27 @@ f: # @f .param i32, i32 .result i32 + .local i32 # BB#0: # %entry + i32.const $2=, 1 block block - i32.const $push0=, 107 + i32.const $push0=, 100 i32.eq $push1=, $1, $pop0 br_if 0, $pop1 # 0: down to label1 # BB#1: # %entry - i32.const $push2=, 100 + i32.const $push2=, 107 i32.ne $push3=, $1, $pop2 br_if 1, $pop3 # 1: down to label0 -# BB#2: # %sw.bb - i32.load8_u $push6=, 0($0) - i32.const $push7=, 1 - i32.shr_u $push9=, $pop6, $pop7 - return $pop9 -.LBB0_3: # %sw.bb3 +# BB#2: # %sw.bb3 + i32.const $push4=, 3 + i32.add $0=, $0, $pop4 + i32.const $2=, 4 +.LBB0_3: # %sw.epilog end_block # label1: - i32.load8_u $push4=, 3($0) - i32.const $push5=, 4 - i32.shr_u $push8=, $pop4, $pop5 - return $pop8 + i32.load8_u $push5=, 0($0) + i32.shr_u $push6=, $pop5, $2 + return $pop6 .LBB0_4: # %sw.default end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/930930-1.c.s b/test/torture-s/930930-1.c.s index d63b49cfc..64a1f619c 100644 --- a/test/torture-s/930930-1.c.s +++ b/test/torture-s/930930-1.c.s @@ -9,27 +9,19 @@ f: # @f .result i32 .local i32, i32 # BB#0: # %entry - i32.const $push9=, 0 - i32.const $push6=, 0 - i32.load $push7=, __stack_pointer($pop6) - i32.const $push8=, 16 - i32.sub $push14=, $pop7, $pop8 - tee_local $push13=, $6=, $pop14 - i32.store $drop=, __stack_pointer($pop9), $pop13 - i32.store $drop=, 12($6), $3 - i32.store $drop=, 8($6), $0 block block i32.lt_u $push0=, $3, $4 br_if 0, $pop0 # 0: down to label1 # BB#1: # %if.end.preheader + copy_local $6=, $0 .LBB0_2: # %if.end # =>This Inner Loop Header: Depth=1 loop # label2: block - i32.load $push16=, 0($3) - tee_local $push15=, $5=, $pop16 - i32.ge_u $push1=, $pop15, $2 + i32.load $push6=, 0($3) + tee_local $push5=, $5=, $pop6 + i32.ge_u $push1=, $pop5, $2 br_if 0, $pop1 # 0: down to label4 # BB#3: # %if.end # in Loop: Header=BB0_2 Depth=1 @@ -37,31 +29,24 @@ f: # @f br_if 0, $pop2 # 0: down to label4 # BB#4: # %if.then3 # in Loop: Header=BB0_2 Depth=1 - i32.const $push19=, -4 - i32.add $push18=, $0, $pop19 - tee_local $push17=, $0=, $pop18 - i32.store $drop=, 0($pop17), $5 - i32.load $3=, 12($6) + i32.const $push9=, -4 + i32.add $push8=, $6, $pop9 + tee_local $push7=, $6=, $pop8 + i32.store $drop=, 0($pop7), $5 .LBB0_5: # %if.end4 # in Loop: Header=BB0_2 Depth=1 end_block # label4: - i32.const $push22=, -4 - i32.add $push21=, $3, $pop22 - tee_local $push20=, $3=, $pop21 - i32.store $drop=, 12($6), $pop20 - i32.ge_u $push3=, $3, $4 + i32.const $push12=, -4 + i32.add $push11=, $3, $pop12 + tee_local $push10=, $3=, $pop11 + i32.ge_u $push3=, $pop10, $4 br_if 0, $pop3 # 0: up to label2 # BB#6: # %out end_loop # label3: - i32.load $push4=, 8($6) - i32.ne $push5=, $pop4, $0 - br_if 1, $pop5 # 1: down to label0 + i32.ne $push4=, $6, $0 + br_if 1, $pop4 # 1: down to label0 .LBB0_7: # %if.end8 end_block # label1: - i32.const $push12=, 0 - i32.const $push10=, 16 - i32.add $push11=, $6, $pop10 - i32.store $drop=, __stack_pointer($pop12), $pop11 return $3 .LBB0_8: # %if.then7 end_block # label0: diff --git a/test/torture-s/931004-10.c.s b/test/torture-s/931004-10.c.s index e6191f552..885f40c30 100644 --- a/test/torture-s/931004-10.c.s +++ b/test/torture-s/931004-10.c.s @@ -7,55 +7,55 @@ f: # @f .param i32, i32 .result i32 - .local i32, i32 + .local i32, i32, 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 - tee_local $push23=, $3=, $pop24 + tee_local $push23=, $4=, $pop24 i32.store $drop=, __stack_pointer($pop17), $pop23 - i32.store $drop=, 12($3), $1 + i32.store $drop=, 12($4), $1 i32.const $push22=, 4 - i32.add $push0=, $1, $pop22 - i32.store $drop=, 12($3), $pop0 + i32.add $push1=, $1, $pop22 + i32.store $drop=, 12($4), $pop1 block block block i32.const $push21=, 1 - i32.lt_s $push1=, $0, $pop21 - br_if 0, $pop1 # 0: down to label2 + i32.lt_s $push2=, $0, $pop21 + br_if 0, $pop2 # 0: down to label2 # BB#1: # %for.body.preheader - i32.const $2=, 0 + i32.const $2=, 10 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label3: - i32.const $push25=, 10 - i32.add $push2=, $2, $pop25 i32.load8_s $push3=, 0($1) - i32.ne $push4=, $pop2, $pop3 + i32.ne $push4=, $2, $pop3 br_if 4, $pop4 # 4: down to label0 # BB#3: # %if.end # in Loop: Header=BB0_2 Depth=1 - i32.const $push27=, 20 - i32.add $push5=, $2, $pop27 - i32.const $push26=, 1 - i32.add $push6=, $1, $pop26 + i32.const $push26=, 10 + i32.add $push5=, $2, $pop26 + i32.const $push25=, 1 + i32.add $push6=, $1, $pop25 i32.load8_s $push7=, 0($pop6) i32.ne $push8=, $pop5, $pop7 br_if 3, $pop8 # 3: down to label1 # BB#4: # %for.cond # in Loop: Header=BB0_2 Depth=1 - i32.const $push32=, 8 - i32.add $push9=, $1, $pop32 - i32.store $drop=, 12($3), $pop9 - i32.const $push31=, 4 - i32.add $1=, $1, $pop31 - i32.const $push30=, 1 - i32.add $push29=, $2, $pop30 - tee_local $push28=, $2=, $pop29 - i32.lt_s $push10=, $pop28, $0 + i32.const $push30=, 8 + i32.add $push9=, $1, $pop30 + i32.store $drop=, 12($4), $pop9 + i32.const $push29=, 4 + i32.add $1=, $1, $pop29 + i32.const $push28=, -9 + i32.add $3=, $2, $pop28 + i32.const $push27=, 1 + i32.add $push0=, $2, $pop27 + copy_local $2=, $pop0 + i32.lt_s $push10=, $3, $0 br_if 0, $pop10 # 0: up to label3 .LBB0_5: # %for.end end_loop # label4: @@ -67,7 +67,7 @@ f: # @f # BB#6: # %if.end16 i32.const $push20=, 0 i32.const $push18=, 16 - i32.add $push19=, $3, $pop18 + i32.add $push19=, $4, $pop18 i32.store $drop=, __stack_pointer($pop20), $pop19 return $1 .LBB0_7: # %if.then8 diff --git a/test/torture-s/931004-2.c.s b/test/torture-s/931004-2.c.s index 60b75022b..f7f391bc7 100644 --- a/test/torture-s/931004-2.c.s +++ b/test/torture-s/931004-2.c.s @@ -7,61 +7,61 @@ f: # @f .param i32, i32 .result i32 - .local i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry i32.const $push13=, 0 i32.const $push10=, 0 i32.load $push11=, __stack_pointer($pop10) i32.const $push12=, 16 i32.sub $push20=, $pop11, $pop12 - tee_local $push19=, $4=, $pop20 + tee_local $push19=, $5=, $pop20 i32.store $drop=, __stack_pointer($pop13), $pop19 - i32.store $drop=, 12($4), $1 + i32.store $drop=, 12($5), $1 i32.const $push18=, 4 - i32.add $push1=, $1, $pop18 - i32.store $drop=, 12($4), $pop1 - i32.load $3=, 0($1) + i32.add $push2=, $1, $pop18 + i32.store $drop=, 12($5), $pop2 + i32.load $4=, 0($1) block block block i32.const $push17=, 1 - i32.lt_s $push2=, $0, $pop17 - br_if 0, $pop2 # 0: down to label2 + i32.lt_s $push3=, $0, $pop17 + br_if 0, $pop3 # 0: down to label2 # BB#1: # %for.body.preheader - i32.const $push3=, 8 - i32.add $1=, $1, $pop3 - i32.const $2=, 0 + i32.const $push4=, 8 + i32.add $3=, $1, $pop4 + i32.const $1=, 10 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label3: - i32.const $push21=, 10 - i32.add $push4=, $2, $pop21 - i32.ne $push5=, $pop4, $3 + i32.ne $push5=, $1, $4 br_if 3, $pop5 # 3: down to label1 # BB#3: # %for.cond # in Loop: Header=BB0_2 Depth=1 - i32.store $drop=, 12($4), $1 - i32.const $push26=, -4 - i32.add $push7=, $1, $pop26 - i32.load $3=, 0($pop7) - i32.const $push25=, 4 - i32.add $push0=, $1, $pop25 - copy_local $1=, $pop0 - i32.const $push24=, 1 - i32.add $push23=, $2, $pop24 - tee_local $push22=, $2=, $pop23 - i32.lt_s $push6=, $pop22, $0 + i32.store $drop=, 12($5), $3 + i32.const $push24=, -9 + i32.add $2=, $1, $pop24 + i32.const $push23=, -4 + i32.add $push7=, $3, $pop23 + i32.load $4=, 0($pop7) + i32.const $push22=, 1 + i32.add $push1=, $1, $pop22 + copy_local $1=, $pop1 + i32.const $push21=, 4 + i32.add $push0=, $3, $pop21 + copy_local $3=, $pop0 + i32.lt_s $push6=, $2, $0 br_if 0, $pop6 # 0: up to label3 .LBB0_4: # %for.end end_loop # label4: end_block # label2: i32.const $push8=, 123 - i32.ne $push9=, $3, $pop8 + i32.ne $push9=, $4, $pop8 br_if 1, $pop9 # 1: down to label0 # BB#5: # %if.end8 i32.const $push16=, 0 i32.const $push14=, 16 - i32.add $push15=, $4, $pop14 + i32.add $push15=, $5, $pop14 i32.store $drop=, __stack_pointer($pop16), $pop15 return $1 .LBB0_6: # %if.then diff --git a/test/torture-s/931004-4.c.s b/test/torture-s/931004-4.c.s index 6078633c5..343d65dbe 100644 --- a/test/torture-s/931004-4.c.s +++ b/test/torture-s/931004-4.c.s @@ -7,46 +7,46 @@ f: # @f .param i32, i32 .result i32 - .local i32, i32 + .local i32, i32, i32 # BB#0: # %entry i32.const $push13=, 0 i32.const $push10=, 0 i32.load $push11=, __stack_pointer($pop10) i32.const $push12=, 16 i32.sub $push20=, $pop11, $pop12 - tee_local $push19=, $3=, $pop20 + tee_local $push19=, $4=, $pop20 i32.store $drop=, __stack_pointer($pop13), $pop19 - i32.store $drop=, 12($3), $1 + i32.store $drop=, 12($4), $1 i32.const $push18=, 4 - i32.add $push0=, $1, $pop18 - i32.store $drop=, 12($3), $pop0 + i32.add $push1=, $1, $pop18 + i32.store $drop=, 12($4), $pop1 block block block i32.const $push17=, 1 - i32.lt_s $push1=, $0, $pop17 - br_if 0, $pop1 # 0: down to label2 + i32.lt_s $push2=, $0, $pop17 + br_if 0, $pop2 # 0: down to label2 # BB#1: # %for.body.preheader - i32.const $2=, 0 + i32.const $3=, 10 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label3: - i32.const $push21=, 10 - i32.add $push2=, $2, $pop21 i32.load16_s $push3=, 0($1) - i32.ne $push4=, $pop2, $pop3 + i32.ne $push4=, $3, $pop3 br_if 3, $pop4 # 3: down to label1 # BB#3: # %for.cond # in Loop: Header=BB0_2 Depth=1 - i32.const $push26=, 8 - i32.add $push5=, $1, $pop26 - i32.store $drop=, 12($3), $pop5 - i32.const $push25=, 4 - i32.add $1=, $1, $pop25 - i32.const $push24=, 1 - i32.add $push23=, $2, $pop24 - tee_local $push22=, $2=, $pop23 - i32.lt_s $push6=, $pop22, $0 + i32.const $push24=, 8 + i32.add $push5=, $1, $pop24 + i32.store $drop=, 12($4), $pop5 + i32.const $push23=, 4 + i32.add $1=, $1, $pop23 + i32.const $push22=, -9 + i32.add $2=, $3, $pop22 + i32.const $push21=, 1 + i32.add $push0=, $3, $pop21 + copy_local $3=, $pop0 + i32.lt_s $push6=, $2, $0 br_if 0, $pop6 # 0: up to label3 .LBB0_4: # %for.end end_loop # label4: @@ -58,7 +58,7 @@ f: # @f # BB#5: # %if.end10 i32.const $push16=, 0 i32.const $push14=, 16 - i32.add $push15=, $3, $pop14 + i32.add $push15=, $4, $pop14 i32.store $drop=, __stack_pointer($pop16), $pop15 return $1 .LBB0_6: # %if.then diff --git a/test/torture-s/931004-6.c.s b/test/torture-s/931004-6.c.s index eb60cce31..6d2a4c19a 100644 --- a/test/torture-s/931004-6.c.s +++ b/test/torture-s/931004-6.c.s @@ -7,55 +7,55 @@ f: # @f .param i32, i32 .result i32 - .local i32, i32 + .local i32, i32, 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 - tee_local $push23=, $3=, $pop24 + tee_local $push23=, $4=, $pop24 i32.store $drop=, __stack_pointer($pop17), $pop23 - i32.store $drop=, 12($3), $1 + i32.store $drop=, 12($4), $1 i32.const $push22=, 4 - i32.add $push0=, $1, $pop22 - i32.store $drop=, 12($3), $pop0 + i32.add $push1=, $1, $pop22 + i32.store $drop=, 12($4), $pop1 block block block i32.const $push21=, 1 - i32.lt_s $push1=, $0, $pop21 - br_if 0, $pop1 # 0: down to label2 + i32.lt_s $push2=, $0, $pop21 + br_if 0, $pop2 # 0: down to label2 # BB#1: # %for.body.preheader - i32.const $2=, 0 + i32.const $2=, 10 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label3: - i32.const $push25=, 10 - i32.add $push2=, $2, $pop25 i32.load16_s $push3=, 0($1) - i32.ne $push4=, $pop2, $pop3 + i32.ne $push4=, $2, $pop3 br_if 4, $pop4 # 4: down to label0 # BB#3: # %if.end # in Loop: Header=BB0_2 Depth=1 - i32.const $push27=, 20 - i32.add $push5=, $2, $pop27 - i32.const $push26=, 2 - i32.add $push6=, $1, $pop26 + i32.const $push26=, 10 + i32.add $push5=, $2, $pop26 + i32.const $push25=, 2 + i32.add $push6=, $1, $pop25 i32.load16_s $push7=, 0($pop6) i32.ne $push8=, $pop5, $pop7 br_if 3, $pop8 # 3: down to label1 # BB#4: # %for.cond # in Loop: Header=BB0_2 Depth=1 - i32.const $push32=, 8 - i32.add $push9=, $1, $pop32 - i32.store $drop=, 12($3), $pop9 - i32.const $push31=, 4 - i32.add $1=, $1, $pop31 - i32.const $push30=, 1 - i32.add $push29=, $2, $pop30 - tee_local $push28=, $2=, $pop29 - i32.lt_s $push10=, $pop28, $0 + i32.const $push30=, 8 + i32.add $push9=, $1, $pop30 + i32.store $drop=, 12($4), $pop9 + i32.const $push29=, 4 + i32.add $1=, $1, $pop29 + i32.const $push28=, -9 + i32.add $3=, $2, $pop28 + i32.const $push27=, 1 + i32.add $push0=, $2, $pop27 + copy_local $2=, $pop0 + i32.lt_s $push10=, $3, $0 br_if 0, $pop10 # 0: up to label3 .LBB0_5: # %for.end end_loop # label4: @@ -67,7 +67,7 @@ f: # @f # BB#6: # %if.end16 i32.const $push20=, 0 i32.const $push18=, 16 - i32.add $push19=, $3, $pop18 + i32.add $push19=, $4, $pop18 i32.store $drop=, __stack_pointer($pop20), $pop19 return $1 .LBB0_7: # %if.then8 diff --git a/test/torture-s/931004-8.c.s b/test/torture-s/931004-8.c.s index fd56349e4..a2cb2a4cc 100644 --- a/test/torture-s/931004-8.c.s +++ b/test/torture-s/931004-8.c.s @@ -7,46 +7,46 @@ f: # @f .param i32, i32 .result i32 - .local i32, i32 + .local i32, i32, i32 # BB#0: # %entry i32.const $push13=, 0 i32.const $push10=, 0 i32.load $push11=, __stack_pointer($pop10) i32.const $push12=, 16 i32.sub $push20=, $pop11, $pop12 - tee_local $push19=, $3=, $pop20 + tee_local $push19=, $4=, $pop20 i32.store $drop=, __stack_pointer($pop13), $pop19 - i32.store $drop=, 12($3), $1 + i32.store $drop=, 12($4), $1 i32.const $push18=, 4 - i32.add $push0=, $1, $pop18 - i32.store $drop=, 12($3), $pop0 + i32.add $push1=, $1, $pop18 + i32.store $drop=, 12($4), $pop1 block block block i32.const $push17=, 1 - i32.lt_s $push1=, $0, $pop17 - br_if 0, $pop1 # 0: down to label2 + i32.lt_s $push2=, $0, $pop17 + br_if 0, $pop2 # 0: down to label2 # BB#1: # %for.body.preheader - i32.const $2=, 0 + i32.const $3=, 10 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label3: - i32.const $push21=, 10 - i32.add $push2=, $2, $pop21 i32.load8_s $push3=, 0($1) - i32.ne $push4=, $pop2, $pop3 + i32.ne $push4=, $3, $pop3 br_if 3, $pop4 # 3: down to label1 # BB#3: # %for.cond # in Loop: Header=BB0_2 Depth=1 - i32.const $push26=, 8 - i32.add $push5=, $1, $pop26 - i32.store $drop=, 12($3), $pop5 - i32.const $push25=, 4 - i32.add $1=, $1, $pop25 - i32.const $push24=, 1 - i32.add $push23=, $2, $pop24 - tee_local $push22=, $2=, $pop23 - i32.lt_s $push6=, $pop22, $0 + i32.const $push24=, 8 + i32.add $push5=, $1, $pop24 + i32.store $drop=, 12($4), $pop5 + i32.const $push23=, 4 + i32.add $1=, $1, $pop23 + i32.const $push22=, -9 + i32.add $2=, $3, $pop22 + i32.const $push21=, 1 + i32.add $push0=, $3, $pop21 + copy_local $3=, $pop0 + i32.lt_s $push6=, $2, $0 br_if 0, $pop6 # 0: up to label3 .LBB0_4: # %for.end end_loop # label4: @@ -58,7 +58,7 @@ f: # @f # BB#5: # %if.end10 i32.const $push16=, 0 i32.const $push14=, 16 - i32.add $push15=, $3, $pop14 + i32.add $push15=, $4, $pop14 i32.store $drop=, __stack_pointer($pop16), $pop15 return $1 .LBB0_6: # %if.then diff --git a/test/torture-s/960116-1.c.s b/test/torture-s/960116-1.c.s index bbff4e0bc..14755d214 100644 --- a/test/torture-s/960116-1.c.s +++ b/test/torture-s/960116-1.c.s @@ -9,19 +9,22 @@ f: # @f .result i32 .local i32 # BB#0: # %entry - i32.const $1=, 0 + i32.const $1=, 1 + block block - i32.const $push0=, 1 - i32.and $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label0 + i32.const $push2=, 1 + i32.and $push0=, $0, $pop2 + br_if 0, $pop0 # 0: down to label1 # BB#1: # %land.lhs.true - i32.load $push2=, 0($0) - i32.const $push3=, 0 - i32.ne $1=, $pop2, $pop3 -.LBB0_2: # %return + i32.load $push1=, 0($0) + br_if 1, $pop1 # 1: down to label0 +.LBB0_2: # %if.end + end_block # label1: + i32.const $1=, 0 +.LBB0_3: # %return end_block # label0: - copy_local $push4=, $1 - # fallthrough-return: $pop4 + copy_local $push3=, $1 + # fallthrough-return: $pop3 .endfunc .Lfunc_end0: .size f, .Lfunc_end0-f diff --git a/test/torture-s/960317-1.c.s b/test/torture-s/960317-1.c.s index 739a80e5b..b7ebe9eb1 100644 --- a/test/torture-s/960317-1.c.s +++ b/test/torture-s/960317-1.c.s @@ -7,31 +7,27 @@ f: # @f .param i32, i32 .result i32 - .local i32 # BB#0: # %entry block - block - i32.const $push0=, 0 + i32.const $push8=, 0 i32.const $push7=, -1 i32.shl $push6=, $pop7, $0 - tee_local $push5=, $2=, $pop6 - i32.sub $push1=, $pop0, $pop5 - i32.and $push2=, $1, $pop1 - i32.eqz $push9=, $pop2 - br_if 0, $pop9 # 0: down to label1 + tee_local $push5=, $0=, $pop6 + i32.sub $push0=, $pop8, $pop5 + i32.and $push1=, $1, $pop0 + i32.eqz $push12=, $pop1 + br_if 0, $pop12 # 0: down to label0 # BB#1: # %if.end - i32.const $0=, 1 - i32.const $push8=, -1 - i32.xor $push3=, $2, $pop8 - i32.and $push4=, $1, $pop3 - br_if 1, $pop4 # 1: down to label0 -.LBB0_2: # %ab - end_block # label1: - i32.const $0=, 0 -.LBB0_3: # %cleanup + i32.const $push10=, -1 + i32.xor $push2=, $0, $pop10 + i32.and $push3=, $1, $pop2 + i32.const $push9=, 0 + i32.ne $push4=, $pop3, $pop9 + return $pop4 +.LBB0_2: # %cleanup end_block # label0: - copy_local $push10=, $0 - # fallthrough-return: $pop10 + i32.const $push11=, 0 + # fallthrough-return: $pop11 .endfunc .Lfunc_end0: .size f, .Lfunc_end0-f diff --git a/test/torture-s/960416-1.c.s b/test/torture-s/960416-1.c.s index 764108a9f..08a972d02 100644 --- a/test/torture-s/960416-1.c.s +++ b/test/torture-s/960416-1.c.s @@ -7,61 +7,57 @@ f_le: # @f_le .param i32, i32 .result i32 - .local i64, i64, i32, i32, i64, i64, i64 + .local i32, i32, i32, i64, i64, i64, i64 # BB#0: # %entry - i64.load $push51=, 0($1) - tee_local $push50=, $2=, $pop51 - i64.const $push12=, 4294967295 - i64.and $push13=, $pop50, $pop12 - i32.load $push49=, 0($0) - tee_local $push48=, $1=, $pop49 - i64.extend_u/i32 $push14=, $pop48 - i64.mul $push47=, $pop13, $pop14 - tee_local $push46=, $6=, $pop47 - i64.const $push0=, 32 - i64.shr_u $push45=, $pop46, $pop0 - tee_local $push44=, $8=, $pop45 - i64.const $push43=, 32 - i64.shr_u $push42=, $2, $pop43 - tee_local $push41=, $3=, $pop42 - i32.load $push40=, 4($0) - tee_local $push39=, $5=, $pop40 - i64.extend_u/i32 $push15=, $pop39 - i64.mul $push38=, $pop41, $pop15 - tee_local $push37=, $7=, $pop38 - i64.add $push21=, $pop44, $pop37 - i64.const $push36=, 32 - i64.shr_u $push22=, $7, $pop36 - i64.add $push23=, $pop21, $pop22 - i32.const $push2=, 0 - i32.wrap/i64 $push35=, $2 - tee_local $push34=, $4=, $pop35 - i32.wrap/i64 $push1=, $3 - i32.sub $push33=, $pop34, $pop1 - tee_local $push32=, $0=, $pop33 - i32.sub $push3=, $pop2, $pop32 - i32.gt_u $push31=, $0, $4 - tee_local $push30=, $4=, $pop31 - i32.select $push4=, $pop3, $0, $pop30 + i32.load $push47=, 0($1) + tee_local $push46=, $2=, $pop47 + i64.extend_u/i32 $push11=, $pop46 + i32.load $push45=, 0($0) + tee_local $push44=, $3=, $pop45 + i64.extend_u/i32 $push10=, $pop44 + i64.mul $push43=, $pop11, $pop10 + tee_local $push42=, $6=, $pop43 + i64.const $push15=, 32 + i64.shr_u $push41=, $pop42, $pop15 + tee_local $push40=, $8=, $pop41 + i32.load $push39=, 4($1) + tee_local $push38=, $1=, $pop39 + i64.extend_u/i32 $push13=, $pop38 + i32.load $push37=, 4($0) + tee_local $push36=, $4=, $pop37 + i64.extend_u/i32 $push12=, $pop36 + i64.mul $push35=, $pop13, $pop12 + tee_local $push34=, $7=, $pop35 + i64.add $push20=, $pop40, $pop34 + i64.const $push33=, 32 + i64.shr_u $push21=, $7, $pop33 + i64.add $push22=, $pop20, $pop21 + i32.const $push0=, 0 + i32.sub $push32=, $2, $1 + tee_local $push31=, $0=, $pop32 + i32.sub $push1=, $pop0, $pop31 + i32.gt_u $push30=, $0, $2 + tee_local $push29=, $1=, $pop30 + i32.select $push2=, $pop1, $0, $pop29 + i64.extend_u/i32 $push3=, $pop2 + i32.sub $push4=, $4, $3 i64.extend_u/i32 $push5=, $pop4 - i32.sub $push6=, $5, $1 - i64.extend_u/i32 $push7=, $pop6 - i64.mul $push8=, $pop5, $pop7 - i64.const $push10=, -1 - i64.const $push9=, 0 - i64.select $push11=, $pop10, $pop9, $4 - i64.xor $push29=, $pop8, $pop11 - tee_local $push28=, $2=, $pop29 - i64.const $push27=, 32 - i64.shr_u $push20=, $pop28, $pop27 - i64.add $push24=, $pop23, $pop20 - i32.wrap/i64 $push25=, $pop24 - i64.add $push16=, $7, $6 - i64.add $push17=, $pop16, $8 - i64.add $push18=, $pop17, $2 - i32.wrap/i64 $push19=, $pop18 - i32.add $push26=, $pop25, $pop19 - # fallthrough-return: $pop26 + i64.mul $push6=, $pop3, $pop5 + i64.const $push8=, -1 + i64.const $push7=, 0 + i64.select $push9=, $pop8, $pop7, $1 + i64.xor $push28=, $pop6, $pop9 + tee_local $push27=, $5=, $pop28 + i64.const $push26=, 32 + i64.shr_u $push19=, $pop27, $pop26 + i64.add $push23=, $pop22, $pop19 + i32.wrap/i64 $push24=, $pop23 + i64.add $push14=, $7, $6 + i64.add $push16=, $pop14, $8 + i64.add $push17=, $pop16, $5 + i32.wrap/i64 $push18=, $pop17 + i32.add $push25=, $pop24, $pop18 + # fallthrough-return: $pop25 .endfunc .Lfunc_end0: .size f_le, .Lfunc_end0-f_le @@ -73,69 +69,67 @@ f_le: # @f_le f_be: # @f_be .param i32, i32 .result i32 - .local i32, i64, i64, i64, i64, i64 + .local i32, i32, i32, i64, i64, i64, i64 # BB#0: # %entry - i32.load $push59=, 4($1) - tee_local $push58=, $2=, $pop59 - i64.extend_u/i32 $push13=, $pop58 - i64.load $push57=, 0($0) - tee_local $push56=, $3=, $pop57 - i64.const $push4=, 32 - i64.shr_u $push55=, $pop56, $pop4 - tee_local $push54=, $4=, $pop55 - i64.mul $push53=, $pop13, $pop54 - tee_local $push52=, $5=, $pop53 - i64.const $push6=, 4294967295 - i64.and $push51=, $pop52, $pop6 - tee_local $push50=, $6=, $pop51 + i32.load $push57=, 4($1) + tee_local $push56=, $2=, $pop57 + i64.extend_u/i32 $push13=, $pop56 + i32.load $push55=, 4($0) + tee_local $push54=, $3=, $pop55 + i64.extend_u/i32 $push12=, $pop54 + i64.mul $push53=, $pop13, $pop12 + tee_local $push52=, $6=, $pop53 + i64.const $push14=, 4294967295 + i64.and $push51=, $pop52, $pop14 + tee_local $push50=, $7=, $pop51 i32.load $push49=, 0($1) tee_local $push48=, $1=, $pop49 - i64.extend_u/i32 $push17=, $pop48 - i64.const $push47=, 4294967295 - i64.and $push16=, $3, $pop47 - i64.mul $push46=, $pop17, $pop16 - tee_local $push45=, $7=, $pop46 - i64.add $push24=, $pop50, $pop45 - i64.const $push44=, 4294967295 - i64.and $push25=, $7, $pop44 - i64.add $push26=, $pop24, $pop25 + i64.extend_u/i32 $push18=, $pop48 + i32.load $push47=, 0($0) + tee_local $push46=, $4=, $pop47 + i64.extend_u/i32 $push17=, $pop46 + i64.mul $push45=, $pop18, $pop17 + tee_local $push44=, $8=, $pop45 + i64.add $push25=, $pop50, $pop44 + i64.const $push43=, 4294967295 + i64.and $push26=, $8, $pop43 + i64.add $push27=, $pop25, $pop26 i32.const $push0=, 0 - i32.sub $push43=, $2, $1 - tee_local $push42=, $1=, $pop43 - i32.sub $push1=, $pop0, $pop42 - i32.gt_u $push41=, $1, $2 - tee_local $push40=, $2=, $pop41 - i32.select $push2=, $pop1, $1, $pop40 + i32.sub $push42=, $2, $1 + tee_local $push41=, $0=, $pop42 + i32.sub $push1=, $pop0, $pop41 + i32.gt_u $push40=, $0, $2 + tee_local $push39=, $1=, $pop40 + i32.select $push2=, $pop1, $0, $pop39 i64.extend_u/i32 $push3=, $pop2 - i64.sub $push5=, $3, $4 - i64.const $push39=, 4294967295 - i64.and $push7=, $pop5, $pop39 - i64.mul $push8=, $pop3, $pop7 - i64.const $push10=, -1 - i64.const $push9=, 0 - i64.select $push11=, $pop10, $pop9, $2 - i64.xor $push38=, $pop8, $pop11 - tee_local $push37=, $3=, $pop38 + i32.sub $push4=, $4, $3 + i64.extend_u/i32 $push5=, $pop4 + i64.mul $push6=, $pop3, $pop5 + i64.const $push8=, -1 + i64.const $push7=, 0 + i64.select $push9=, $pop8, $pop7, $1 + i64.xor $push38=, $pop6, $pop9 + tee_local $push37=, $5=, $pop38 i64.const $push36=, 4294967295 - i64.and $push23=, $pop37, $pop36 - i64.add $push27=, $pop26, $pop23 + i64.and $push24=, $pop37, $pop36 + i64.add $push28=, $pop27, $pop24 + i64.const $push10=, 32 + i64.shr_u $push29=, $pop28, $pop10 + i32.wrap/i64 $push30=, $pop29 i64.const $push35=, 32 - i64.shr_u $push28=, $pop27, $pop35 - i32.wrap/i64 $push29=, $pop28 + i64.shr_u $push15=, $6, $pop35 + i64.add $push16=, $pop15, $7 i64.const $push34=, 32 - i64.shr_u $push14=, $5, $pop34 - i64.add $push15=, $pop14, $6 + i64.shr_u $push19=, $8, $pop34 + i64.add $push20=, $pop16, $pop19 i64.const $push33=, 32 - i64.shr_u $push18=, $7, $pop33 - i64.add $push19=, $pop15, $pop18 + i64.shr_u $push11=, $5, $pop33 + i64.add $push21=, $pop20, $pop11 i64.const $push32=, 32 - i64.shr_u $push12=, $3, $pop32 - i64.add $push20=, $pop19, $pop12 - i64.const $push31=, 32 - i64.shr_u $push21=, $pop20, $pop31 - i32.wrap/i64 $push22=, $pop21 - i32.add $push30=, $pop29, $pop22 - # fallthrough-return: $pop30 + i64.shr_u $push22=, $pop21, $pop32 + i32.wrap/i64 $push23=, $pop22 + i32.add $push31=, $pop30, $pop23 + # fallthrough-return: $pop31 .endfunc .Lfunc_end1: .size f_be, .Lfunc_end1-f_be diff --git a/test/torture-s/980424-1.c.s b/test/torture-s/980424-1.c.s index 86f0f1220..01bf03f92 100644 --- a/test/torture-s/980424-1.c.s +++ b/test/torture-s/980424-1.c.s @@ -71,15 +71,6 @@ main: # @main .Lfunc_end2: .size main, .Lfunc_end2-main - .hidden i # @i - .type i,@object - .section .bss.i,"aw",@nobits - .globl i - .p2align 2 -i: - .int32 0 # 0x0 - .size i, 4 - .hidden a # @a .type a,@object .section .bss.a,"aw",@nobits @@ -89,6 +80,15 @@ a: .skip 396 .size a, 396 + .hidden i # @i + .type i,@object + .section .bss.i,"aw",@nobits + .globl i + .p2align 2 +i: + .int32 0 # 0x0 + .size i, 4 + .ident "clang version 4.0.0 " .functype abort, void diff --git a/test/torture-s/990127-1.c.s b/test/torture-s/990127-1.c.s index 12a36a610..3ca68e1c0 100644 --- a/test/torture-s/990127-1.c.s +++ b/test/torture-s/990127-1.c.s @@ -24,11 +24,11 @@ main: # @main i32.store $drop=, 8($3), $pop1 i32.const $push2=, 9 i32.store $drop=, 12($3), $pop2 - i32.const $1=, 21 + i32.const $2=, 21 .LBB0_1: # %while.body.1 # =>This Inner Loop Header: Depth=1 loop # label0: - copy_local $2=, $1 + copy_local $1=, $2 i32.const $push66=, 4 i32.lt_s $push3=, $0, $pop66 br_if 1, $pop3 # 1: down to label1 @@ -40,7 +40,7 @@ main: # @main i32.add $push4=, $pop69, $pop68 i32.store $drop=, 8($3), $pop4 i32.const $push67=, 1 - i32.add $1=, $2, $pop67 + i32.add $2=, $1, $pop67 br_if 0, $0 # 0: up to label0 .LBB0_3: # %while.end.1 end_loop # label1: @@ -51,208 +51,208 @@ main: # @main # =>This Inner Loop Header: Depth=1 loop # label2: i32.load $push73=, 0($0) - tee_local $push72=, $1=, $pop73 + tee_local $push72=, $2=, $pop73 i32.const $push71=, -1 i32.add $push5=, $pop72, $pop71 i32.store $drop=, 0($0), $pop5 - i32.eqz $push118=, $1 + i32.eqz $push118=, $2 br_if 1, $pop118 # 1: down to label3 # BB#5: # %while.body.2 # in Loop: Header=BB0_4 Depth=1 i32.const $push75=, 1 - i32.add $2=, $2, $pop75 + i32.add $1=, $1, $pop75 i32.const $push61=, 8 i32.add $push62=, $3, $pop61 copy_local $0=, $pop62 i32.const $push74=, 3 - i32.gt_s $push6=, $1, $pop74 + i32.gt_s $push6=, $2, $pop74 br_if 0, $pop6 # 0: up to label2 .LBB0_6: # %while.end.2 end_loop # label3: i32.const $push76=, 1 - i32.add $1=, $2, $pop76 + i32.add $2=, $1, $pop76 i32.const $push33=, 12 i32.add $push34=, $3, $pop33 - copy_local $2=, $pop34 + copy_local $1=, $pop34 .LBB0_7: # %while.cond.3 # =>This Inner Loop Header: Depth=1 loop # label4: - i32.load $push79=, 0($2) + i32.load $push79=, 0($1) tee_local $push78=, $0=, $pop79 i32.const $push77=, -1 i32.add $push7=, $pop78, $pop77 - i32.store $drop=, 0($2), $pop7 + i32.store $drop=, 0($1), $pop7 i32.eqz $push119=, $0 br_if 1, $pop119 # 1: down to label5 # BB#8: # %while.body.3 # in Loop: Header=BB0_7 Depth=1 i32.const $push81=, 1 - i32.add $1=, $1, $pop81 + i32.add $2=, $2, $pop81 i32.const $push59=, 8 i32.add $push60=, $3, $pop59 - copy_local $2=, $pop60 + copy_local $1=, $pop60 i32.const $push80=, 3 i32.gt_s $push8=, $0, $pop80 br_if 0, $pop8 # 0: up to label4 .LBB0_9: # %while.end.3 end_loop # label5: i32.const $push82=, 1 - i32.add $1=, $1, $pop82 + i32.add $2=, $2, $pop82 i32.const $push35=, 12 i32.add $push36=, $3, $pop35 - copy_local $2=, $pop36 + copy_local $1=, $pop36 .LBB0_10: # %while.cond.4 # =>This Inner Loop Header: Depth=1 loop # label6: - i32.load $push85=, 0($2) + i32.load $push85=, 0($1) tee_local $push84=, $0=, $pop85 i32.const $push83=, -1 i32.add $push9=, $pop84, $pop83 - i32.store $drop=, 0($2), $pop9 + i32.store $drop=, 0($1), $pop9 i32.eqz $push120=, $0 br_if 1, $pop120 # 1: down to label7 # BB#11: # %while.body.4 # in Loop: Header=BB0_10 Depth=1 i32.const $push87=, 1 - i32.add $1=, $1, $pop87 + i32.add $2=, $2, $pop87 i32.const $push57=, 8 i32.add $push58=, $3, $pop57 - copy_local $2=, $pop58 + copy_local $1=, $pop58 i32.const $push86=, 3 i32.gt_s $push10=, $0, $pop86 br_if 0, $pop10 # 0: up to label6 .LBB0_12: # %while.end.4 end_loop # label7: i32.const $push88=, 1 - i32.add $1=, $1, $pop88 + i32.add $2=, $2, $pop88 i32.const $push37=, 12 i32.add $push38=, $3, $pop37 - copy_local $2=, $pop38 + copy_local $1=, $pop38 .LBB0_13: # %while.cond.5 # =>This Inner Loop Header: Depth=1 loop # label8: - i32.load $push91=, 0($2) + i32.load $push91=, 0($1) tee_local $push90=, $0=, $pop91 i32.const $push89=, -1 i32.add $push11=, $pop90, $pop89 - i32.store $drop=, 0($2), $pop11 + i32.store $drop=, 0($1), $pop11 i32.eqz $push121=, $0 br_if 1, $pop121 # 1: down to label9 # BB#14: # %while.body.5 # in Loop: Header=BB0_13 Depth=1 i32.const $push93=, 1 - i32.add $1=, $1, $pop93 + i32.add $2=, $2, $pop93 i32.const $push55=, 8 i32.add $push56=, $3, $pop55 - copy_local $2=, $pop56 + copy_local $1=, $pop56 i32.const $push92=, 3 i32.gt_s $push12=, $0, $pop92 br_if 0, $pop12 # 0: up to label8 .LBB0_15: # %while.end.5 end_loop # label9: i32.const $push94=, 1 - i32.add $1=, $1, $pop94 + i32.add $2=, $2, $pop94 i32.const $push39=, 12 i32.add $push40=, $3, $pop39 - copy_local $2=, $pop40 + copy_local $1=, $pop40 .LBB0_16: # %while.cond.6 # =>This Inner Loop Header: Depth=1 loop # label10: - i32.load $push97=, 0($2) + i32.load $push97=, 0($1) tee_local $push96=, $0=, $pop97 i32.const $push95=, -1 i32.add $push13=, $pop96, $pop95 - i32.store $drop=, 0($2), $pop13 + i32.store $drop=, 0($1), $pop13 i32.eqz $push122=, $0 br_if 1, $pop122 # 1: down to label11 # BB#17: # %while.body.6 # in Loop: Header=BB0_16 Depth=1 i32.const $push99=, 1 - i32.add $1=, $1, $pop99 + i32.add $2=, $2, $pop99 i32.const $push53=, 8 i32.add $push54=, $3, $pop53 - copy_local $2=, $pop54 + copy_local $1=, $pop54 i32.const $push98=, 3 i32.gt_s $push14=, $0, $pop98 br_if 0, $pop14 # 0: up to label10 .LBB0_18: # %while.end.6 end_loop # label11: i32.const $push100=, 1 - i32.add $1=, $1, $pop100 + i32.add $2=, $2, $pop100 i32.const $push41=, 12 i32.add $push42=, $3, $pop41 - copy_local $2=, $pop42 + copy_local $1=, $pop42 .LBB0_19: # %while.cond.7 # =>This Inner Loop Header: Depth=1 loop # label12: - i32.load $push103=, 0($2) + i32.load $push103=, 0($1) tee_local $push102=, $0=, $pop103 i32.const $push101=, -1 i32.add $push15=, $pop102, $pop101 - i32.store $drop=, 0($2), $pop15 + i32.store $drop=, 0($1), $pop15 i32.eqz $push123=, $0 br_if 1, $pop123 # 1: down to label13 # BB#20: # %while.body.7 # in Loop: Header=BB0_19 Depth=1 i32.const $push105=, 1 - i32.add $1=, $1, $pop105 + i32.add $2=, $2, $pop105 i32.const $push51=, 8 i32.add $push52=, $3, $pop51 - copy_local $2=, $pop52 + copy_local $1=, $pop52 i32.const $push104=, 3 i32.gt_s $push16=, $0, $pop104 br_if 0, $pop16 # 0: up to label12 .LBB0_21: # %while.end.7 end_loop # label13: i32.const $push106=, 1 - i32.add $1=, $1, $pop106 + i32.add $2=, $2, $pop106 i32.const $push43=, 12 i32.add $push44=, $3, $pop43 - copy_local $2=, $pop44 + copy_local $1=, $pop44 .LBB0_22: # %while.cond.8 # =>This Inner Loop Header: Depth=1 loop # label14: - i32.load $push109=, 0($2) + i32.load $push109=, 0($1) tee_local $push108=, $0=, $pop109 i32.const $push107=, -1 i32.add $push17=, $pop108, $pop107 - i32.store $drop=, 0($2), $pop17 + i32.store $drop=, 0($1), $pop17 i32.eqz $push124=, $0 br_if 1, $pop124 # 1: down to label15 # BB#23: # %while.body.8 # in Loop: Header=BB0_22 Depth=1 i32.const $push111=, 1 - i32.add $1=, $1, $pop111 + i32.add $2=, $2, $pop111 i32.const $push49=, 8 i32.add $push50=, $3, $pop49 - copy_local $2=, $pop50 + copy_local $1=, $pop50 i32.const $push110=, 3 i32.gt_s $push18=, $0, $pop110 br_if 0, $pop18 # 0: up to label14 .LBB0_24: # %while.end.8 end_loop # label15: i32.const $push112=, 1 - i32.add $1=, $1, $pop112 + i32.add $2=, $2, $pop112 i32.const $push45=, 12 i32.add $push46=, $3, $pop45 - copy_local $2=, $pop46 + copy_local $1=, $pop46 .LBB0_25: # %while.cond.9 # =>This Inner Loop Header: Depth=1 loop # label16: - i32.load $push115=, 0($2) + i32.load $push115=, 0($1) tee_local $push114=, $0=, $pop115 i32.const $push113=, -1 i32.add $push19=, $pop114, $pop113 - i32.store $drop=, 0($2), $pop19 + i32.store $drop=, 0($1), $pop19 i32.eqz $push125=, $0 br_if 1, $pop125 # 1: down to label17 # BB#26: # %while.body.9 # in Loop: Header=BB0_25 Depth=1 i32.const $push117=, 1 - i32.add $1=, $1, $pop117 + i32.add $2=, $2, $pop117 i32.const $push47=, 8 i32.add $push48=, $3, $pop47 - copy_local $2=, $pop48 + copy_local $1=, $pop48 i32.const $push116=, 3 i32.gt_s $push20=, $0, $pop116 br_if 0, $pop20 # 0: up to label16 @@ -265,7 +265,7 @@ main: # @main br_if 0, $pop23 # 0: down to label18 # BB#28: # %while.end.9 i32.const $push24=, 42 - i32.ne $push25=, $1, $pop24 + i32.ne $push25=, $2, $pop24 br_if 0, $pop25 # 0: down to label18 # BB#29: # %if.end13 i32.const $push26=, 0 diff --git a/test/torture-s/991201-1.c.s b/test/torture-s/991201-1.c.s index d4db29337..077e7262b 100644 --- a/test/torture-s/991201-1.c.s +++ b/test/torture-s/991201-1.c.s @@ -13,39 +13,37 @@ reset_palette: # @reset_palette i32.const $push2=, vc_cons i32.add $1=, $pop1, $pop2 i32.const $0=, 6 - i32.const $2=, 0 + i32.const $2=, -64 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label0: i32.load $push3=, 0($1) i32.add $push4=, $pop3, $0 - i32.const $push27=, -2 - i32.add $push5=, $pop4, $pop27 - i32.const $push26=, default_red - i32.add $push6=, $2, $pop26 + i32.const $push25=, -2 + i32.add $push5=, $pop4, $pop25 + i32.const $push24=, default_red+64 + i32.add $push6=, $2, $pop24 i32.load $push7=, 0($pop6) i32.store8 $drop=, 0($pop5), $pop7 i32.load $push8=, 0($1) i32.add $push9=, $pop8, $0 - i32.const $push25=, -1 - i32.add $push10=, $pop9, $pop25 - i32.const $push24=, default_grn - i32.add $push11=, $2, $pop24 + i32.const $push23=, -1 + i32.add $push10=, $pop9, $pop23 + i32.const $push22=, default_grn+64 + i32.add $push11=, $2, $pop22 i32.load $push12=, 0($pop11) i32.store8 $drop=, 0($pop10), $pop12 i32.load $push13=, 0($1) i32.add $push14=, $pop13, $0 - i32.const $push23=, default_blu - i32.add $push15=, $2, $pop23 + i32.const $push21=, default_blu+64 + i32.add $push15=, $2, $pop21 i32.load $push16=, 0($pop15) i32.store8 $drop=, 0($pop14), $pop16 - i32.const $push22=, 4 - i32.add $2=, $2, $pop22 - i32.const $push21=, 3 - i32.add $push20=, $0, $pop21 - tee_local $push19=, $0=, $pop20 - i32.const $push18=, 54 - i32.ne $push17=, $pop19, $pop18 + i32.const $push20=, 3 + i32.add $0=, $0, $pop20 + i32.const $push19=, 4 + i32.add $push18=, $2, $pop19 + tee_local $push17=, $2=, $pop18 br_if 0, $pop17 # 0: up to label0 # BB#2: # %bar.exit end_loop # label1: diff --git a/test/torture-s/arith-rand-ll.c.s b/test/torture-s/arith-rand-ll.c.s index 1e63bb27f..b03ab43fb 100644 --- a/test/torture-s/arith-rand-ll.c.s +++ b/test/torture-s/arith-rand-ll.c.s @@ -30,12 +30,12 @@ simple_rand: # @simple_rand .type random_bitstring,@function random_bitstring: # @random_bitstring .result i64 - .local i64, i32, i64, i32, i64 + .local i64, i32, i64, i64, i32 # BB#0: # %entry - i32.const $3=, 0 + i32.const $4=, 0 i32.const $push10=, 0 i64.load $2=, simple_rand.seed($pop10) - i64.const $4=, 0 + i64.const $3=, 0 .LBB1_1: # %for.cond # =>This Inner Loop Header: Depth=1 loop # label0: @@ -55,10 +55,10 @@ random_bitstring: # @random_bitstring br_if 1, $pop26 # 1: down to label1 # BB#2: # %if.else # in Loop: Header=BB1_1 Depth=1 - i32.add $3=, $1, $3 + i32.add $4=, $1, $4 i64.const $push22=, 15 i64.and $push2=, $0, $pop22 - i64.shl $4=, $4, $pop2 + i64.shl $3=, $3, $pop2 block i64.const $push21=, 256 i64.and $push3=, $2, $pop21 @@ -71,18 +71,18 @@ random_bitstring: # @random_bitstring i32.const $push23=, -1 i32.add $push6=, $pop5, $pop23 i64.extend_s/i32 $push7=, $pop6 - i64.or $4=, $pop7, $4 + i64.or $3=, $pop7, $3 .LBB1_4: # %if.end # in Loop: Header=BB1_1 Depth=1 end_block # label2: i32.const $push25=, 71 - i32.lt_u $push8=, $3, $pop25 + i32.lt_u $push8=, $4, $pop25 br_if 0, $pop8 # 0: up to label0 .LBB1_5: # %cleanup end_loop # label1: i32.const $push9=, 0 i64.store $drop=, simple_rand.seed($pop9), $2 - copy_local $push27=, $4 + copy_local $push27=, $3 # fallthrough-return: $pop27 .endfunc .Lfunc_end1: @@ -94,7 +94,7 @@ random_bitstring: # @random_bitstring .type main,@function main: # @main .result i32 - .local i64, i32, i64, i64, i32, i32, i32, i32, i32, i32, i64, i64 + .local i64, i32, i64, i64, i32, i32, i32, i32, i32, i64, i32, i64 # BB#0: # %entry i32.const $push76=, 0 i64.load $2=, simple_rand.seed($pop76) @@ -108,8 +108,8 @@ main: # @main block block loop # label7: - i32.const $9=, 0 - i64.const $10=, 0 + i64.const $9=, 0 + i32.const $10=, 0 .LBB2_2: # %for.cond.i # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 @@ -130,10 +130,10 @@ main: # @main br_if 1, $pop186 # 1: down to label10 # BB#3: # %if.else.i # in Loop: Header=BB2_2 Depth=2 - i32.add $9=, $1, $9 + i32.add $10=, $1, $10 i64.const $push88=, 15 i64.and $push2=, $11, $pop88 - i64.shl $10=, $10, $pop2 + i64.shl $9=, $9, $pop2 block i64.const $push87=, 256 i64.and $push3=, $2, $pop87 @@ -146,18 +146,18 @@ main: # @main i32.const $push89=, -1 i32.add $push6=, $pop5, $pop89 i64.extend_s/i32 $push7=, $pop6 - i64.or $10=, $pop7, $10 + i64.or $9=, $pop7, $9 .LBB2_5: # %if.end.i # in Loop: Header=BB2_2 Depth=2 end_block # label11: i32.const $push91=, 71 - i32.lt_u $push8=, $9, $pop91 + i32.lt_u $push8=, $10, $pop91 br_if 0, $pop8 # 0: up to label9 .LBB2_6: # %random_bitstring.exit # in Loop: Header=BB2_1 Depth=1 end_loop # label10: + i32.const $10=, 0 i64.const $11=, 0 - i32.const $9=, 0 .LBB2_7: # %for.cond.i452 # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 @@ -178,7 +178,7 @@ main: # @main br_if 1, $pop187 # 1: down to label13 # BB#8: # %if.else.i457 # in Loop: Header=BB2_7 Depth=2 - i32.add $9=, $1, $9 + i32.add $10=, $1, $10 i64.const $push103=, 15 i64.and $push11=, $3, $pop103 i64.shl $11=, $11, $pop11 @@ -199,7 +199,7 @@ main: # @main # in Loop: Header=BB2_7 Depth=2 end_block # label14: i32.const $push106=, 71 - i32.lt_u $push17=, $9, $pop106 + i32.lt_u $push17=, $10, $pop106 br_if 0, $pop17 # 0: up to label12 .LBB2_11: # %random_bitstring.exit467 # in Loop: Header=BB2_1 Depth=1 @@ -207,15 +207,15 @@ main: # @main block i64.eqz $push18=, $11 br_if 0, $pop18 # 0: down to label15 -# BB#12: # %cleanup.cont.critedge +# BB#12: # %cleanup.cont # in Loop: Header=BB2_1 Depth=1 block i64.const $push108=, 9223372036854775807 - i64.and $push19=, $10, $pop108 + i64.and $push19=, $9, $pop108 i64.const $push107=, 0 i64.ne $push20=, $pop19, $pop107 br_if 0, $pop20 # 0: down to label16 -# BB#13: # %cleanup.cont.critedge +# BB#13: # %cleanup.cont # in Loop: Header=BB2_1 Depth=1 i64.const $push109=, -1 i64.eq $push21=, $11, $pop109 @@ -223,7 +223,7 @@ main: # @main .LBB2_14: # %if.end17 # in Loop: Header=BB2_1 Depth=1 end_block # label16: - i64.rem_s $push117=, $10, $11 + i64.rem_s $push117=, $9, $11 tee_local $push116=, $3=, $pop117 i64.const $push115=, 63 i64.shr_s $push114=, $3, $pop115 @@ -237,29 +237,29 @@ main: # @main i64.xor $push23=, $pop22, $3 i64.ge_u $push26=, $pop25, $pop23 br_if 3, $pop26 # 3: down to label6 -# BB#15: # %save_time.critedge +# BB#15: # %save_time # in Loop: Header=BB2_1 Depth=1 i32.wrap/i64 $push119=, $11 - tee_local $push118=, $9=, $pop119 + tee_local $push118=, $10=, $pop119 i32.eqz $push188=, $pop118 br_if 0, $pop188 # 0: down to label15 -# BB#16: # %cleanup.cont65.critedge +# BB#16: # %cleanup.cont65 # in Loop: Header=BB2_1 Depth=1 block - i32.wrap/i64 $push122=, $10 + i32.wrap/i64 $push122=, $9 tee_local $push121=, $1=, $pop122 i32.const $push120=, 2147483647 i32.and $push28=, $pop121, $pop120 br_if 0, $pop28 # 0: down to label17 -# BB#17: # %cleanup.cont65.critedge +# BB#17: # %cleanup.cont65 # in Loop: Header=BB2_1 Depth=1 i32.const $push123=, -1 - i32.eq $push29=, $9, $pop123 + i32.eq $push29=, $10, $pop123 br_if 1, $pop29 # 1: down to label15 .LBB2_18: # %if.end79 # in Loop: Header=BB2_1 Depth=1 end_block # label17: - i32.rem_s $push131=, $1, $9 + i32.rem_s $push131=, $1, $10 tee_local $push130=, $4=, $pop131 i32.const $push129=, 31 i32.shr_s $push128=, $4, $pop129 @@ -267,9 +267,9 @@ main: # @main i32.add $push32=, $pop130, $pop127 i32.xor $push33=, $pop32, $6 i32.const $push126=, 31 - i32.shr_s $push125=, $9, $pop126 + i32.shr_s $push125=, $10, $pop126 tee_local $push124=, $6=, $pop125 - i32.add $push30=, $9, $pop124 + i32.add $push30=, $10, $pop124 i32.xor $push31=, $pop30, $6 i32.ge_u $push34=, $pop33, $pop31 br_if 4, $pop34 # 4: down to label5 @@ -284,14 +284,14 @@ main: # @main i32.const $push132=, -1 i32.le_s $push36=, $pop35, $pop132 br_if 5, $pop36 # 5: down to label5 -.LBB2_21: # %cleanup.cont118.critedge +.LBB2_21: # %cleanup.cont118 # in Loop: Header=BB2_1 Depth=1 end_block # label18: i32.const $push133=, 65535 - i32.and $push37=, $9, $pop133 + i32.and $push37=, $10, $pop133 i32.eqz $push190=, $pop37 br_if 0, $pop190 # 0: down to label15 -# BB#22: # %cleanup.cont158.critedge +# BB#22: # %cleanup.cont158 # in Loop: Header=BB2_1 Depth=1 i32.const $push154=, 16 i32.shl $push38=, $1, $pop154 @@ -299,7 +299,7 @@ main: # @main i32.shr_s $push152=, $pop38, $pop153 tee_local $push151=, $5=, $pop152 i32.const $push150=, 16 - i32.shl $push149=, $9, $pop150 + i32.shl $push149=, $10, $pop150 tee_local $push148=, $7=, $pop149 i32.const $push147=, 16 i32.shr_s $push146=, $pop148, $pop147 @@ -339,10 +339,10 @@ main: # @main # BB#24: # %if.end209 # in Loop: Header=BB2_1 Depth=1 i32.const $push157=, 255 - i32.and $push55=, $9, $pop157 + i32.and $push55=, $10, $pop157 i32.eqz $push191=, $pop55 br_if 0, $pop191 # 0: down to label15 -# BB#25: # %cleanup.cont249.critedge +# BB#25: # %cleanup.cont249 # in Loop: Header=BB2_1 Depth=1 i32.const $push178=, 24 i32.shl $push56=, $1, $pop178 @@ -350,11 +350,11 @@ main: # @main i32.shr_s $push176=, $pop56, $pop177 tee_local $push175=, $4=, $pop176 i32.const $push174=, 24 - i32.shl $push173=, $9, $pop174 + i32.shl $push173=, $10, $pop174 tee_local $push172=, $6=, $pop173 i32.const $push171=, 24 i32.shr_s $push170=, $pop172, $pop171 - tee_local $push169=, $9=, $pop170 + tee_local $push169=, $10=, $pop170 i32.rem_s $push57=, $pop175, $pop169 i32.const $push168=, 24 i32.shl $push167=, $pop57, $pop168 @@ -368,18 +368,18 @@ main: # @main i32.gt_s $push58=, $5, $pop161 i32.select $push60=, $pop163, $pop59, $pop58 i32.const $push160=, 0 - i32.sub $push62=, $pop160, $9 + i32.sub $push62=, $pop160, $10 i32.const $push159=, -16777216 i32.gt_s $push61=, $6, $pop159 - i32.select $push63=, $9, $pop62, $pop61 + i32.select $push63=, $10, $pop62, $pop61 i32.const $push158=, 255 i32.and $push64=, $pop63, $pop158 i32.ge_s $push65=, $pop60, $pop64 br_if 6, $pop65 # 6: down to label3 # BB#26: # %lor.lhs.false288 # in Loop: Header=BB2_1 Depth=1 - i32.div_s $push66=, $4, $9 - i32.mul $push67=, $pop66, $9 + i32.div_s $push66=, $4, $10 + i32.mul $push67=, $pop66, $10 i32.add $push68=, $pop67, $1 i32.const $push180=, 24 i32.shl $push69=, $pop68, $pop180 diff --git a/test/torture-s/arith-rand.c.s b/test/torture-s/arith-rand.c.s index 0e865cdf9..813d79f45 100644 --- a/test/torture-s/arith-rand.c.s +++ b/test/torture-s/arith-rand.c.s @@ -53,8 +53,8 @@ random_bitstring: # @random_bitstring br_if 1, $pop20 # 1: down to label1 # BB#2: # %if.else # in Loop: Header=BB1_1 Depth=1 - i32.add $2=, $0, $2 - i32.shl $3=, $3, $0 + i32.add $3=, $0, $3 + i32.shl $2=, $2, $0 block i32.const $push16=, 256 i32.and $push2=, $1, $pop16 @@ -66,18 +66,18 @@ random_bitstring: # @random_bitstring i32.shl $push3=, $pop18, $0 i32.const $push17=, -1 i32.add $push4=, $pop3, $pop17 - i32.or $3=, $pop4, $3 + i32.or $2=, $pop4, $2 .LBB1_4: # %if.end # in Loop: Header=BB1_1 Depth=1 end_block # label2: i32.const $push19=, 39 - i32.lt_u $push5=, $2, $pop19 + i32.lt_u $push5=, $3, $pop19 br_if 0, $pop5 # 0: up to label0 .LBB1_5: # %cleanup end_loop # label1: i32.const $push6=, 0 i32.store $drop=, simple_rand.seed($pop6), $1 - copy_local $push22=, $3 + copy_local $push22=, $2 # fallthrough-return: $pop22 .endfunc .Lfunc_end1: @@ -102,8 +102,8 @@ main: # @main block block loop # label6: - i32.const $8=, 0 i32.const $6=, 0 + i32.const $7=, 0 .LBB2_2: # %for.cond.i # Parent Loop BB2_1 Depth=1 # => This Inner Loop Header: Depth=2 @@ -122,7 +122,7 @@ main: # @main br_if 1, $pop146 # 1: down to label9 # BB#3: # %if.else.i # in Loop: Header=BB2_2 Depth=2 - i32.add $8=, $1, $8 + i32.add $7=, $1, $7 i32.shl $6=, $6, $1 block i32.const $push67=, 256 @@ -140,7 +140,7 @@ main: # @main # in Loop: Header=BB2_2 Depth=2 end_block # label10: i32.const $push70=, 39 - i32.lt_u $push5=, $8, $pop70 + i32.lt_u $push5=, $7, $pop70 br_if 0, $pop5 # 0: up to label8 .LBB2_6: # %random_bitstring.exit # in Loop: Header=BB2_1 Depth=1 @@ -165,8 +165,8 @@ main: # @main br_if 1, $pop148 # 1: down to label12 # BB#8: # %if.else.i343 # in Loop: Header=BB2_7 Depth=2 - i32.add $7=, $1, $7 - i32.shl $8=, $8, $1 + i32.add $8=, $1, $8 + i32.shl $7=, $7, $1 block i32.const $push79=, 256 i32.and $push8=, $2, $pop79 @@ -178,34 +178,34 @@ main: # @main i32.shl $push9=, $pop81, $1 i32.const $push80=, -1 i32.add $push10=, $pop9, $pop80 - i32.or $8=, $pop10, $8 + i32.or $7=, $pop10, $7 .LBB2_10: # %if.end.i350 # in Loop: Header=BB2_7 Depth=2 end_block # label13: i32.const $push82=, 39 - i32.lt_u $push11=, $7, $pop82 + i32.lt_u $push11=, $8, $pop82 br_if 0, $pop11 # 0: up to label11 .LBB2_11: # %random_bitstring.exit352 # in Loop: Header=BB2_1 Depth=1 end_loop # label12: block - i32.eqz $push150=, $8 + i32.eqz $push150=, $7 br_if 0, $pop150 # 0: down to label14 -# BB#12: # %cleanup.cont.critedge +# BB#12: # %cleanup.cont # in Loop: Header=BB2_1 Depth=1 block i32.const $push83=, 2147483647 i32.and $push12=, $6, $pop83 br_if 0, $pop12 # 0: down to label15 -# BB#13: # %cleanup.cont.critedge +# BB#13: # %cleanup.cont # in Loop: Header=BB2_1 Depth=1 i32.const $push84=, -1 - i32.eq $push13=, $8, $pop84 + i32.eq $push13=, $7, $pop84 br_if 1, $pop13 # 1: down to label14 .LBB2_14: # %if.end25 # in Loop: Header=BB2_1 Depth=1 end_block # label15: - i32.rem_s $push92=, $6, $8 + i32.rem_s $push92=, $6, $7 tee_local $push91=, $1=, $pop92 i32.const $push90=, 31 i32.shr_s $push89=, $1, $pop90 @@ -213,19 +213,19 @@ main: # @main i32.add $push16=, $pop91, $pop88 i32.xor $push17=, $pop16, $1 i32.const $push87=, 31 - i32.shr_s $push86=, $8, $pop87 + i32.shr_s $push86=, $7, $pop87 tee_local $push85=, $1=, $pop86 - i32.add $push14=, $8, $pop85 + i32.add $push14=, $7, $pop85 i32.xor $push15=, $pop14, $1 i32.ge_u $push18=, $pop17, $pop15 br_if 4, $pop18 # 4: down to label4 -# BB#15: # %cleanup.cont47.critedge +# BB#15: # %cleanup.cont47 # in Loop: Header=BB2_1 Depth=1 i32.const $push93=, 65535 - i32.and $push20=, $8, $pop93 + i32.and $push20=, $7, $pop93 i32.eqz $push151=, $pop20 br_if 0, $pop151 # 0: down to label14 -# BB#16: # %cleanup.cont86.critedge +# BB#16: # %cleanup.cont86 # in Loop: Header=BB2_1 Depth=1 i32.const $push114=, 16 i32.shl $push21=, $6, $pop114 @@ -233,7 +233,7 @@ main: # @main i32.shr_s $push112=, $pop21, $pop113 tee_local $push111=, $3=, $pop112 i32.const $push110=, 16 - i32.shl $push109=, $8, $pop110 + i32.shl $push109=, $7, $pop110 tee_local $push108=, $4=, $pop109 i32.const $push107=, 16 i32.shr_s $push106=, $pop108, $pop107 @@ -244,9 +244,9 @@ main: # @main tee_local $push102=, $5=, $pop103 i32.const $push101=, 16 i32.shr_s $push100=, $pop102, $pop101 - tee_local $push99=, $7=, $pop100 + tee_local $push99=, $8=, $pop100 i32.const $push98=, 0 - i32.sub $push24=, $pop98, $7 + i32.sub $push24=, $pop98, $8 i32.const $push97=, -65536 i32.gt_s $push23=, $5, $pop97 i32.select $push25=, $pop99, $pop24, $pop23 @@ -263,7 +263,7 @@ main: # @main # in Loop: Header=BB2_1 Depth=1 i32.div_s $push31=, $3, $1 i32.mul $push32=, $pop31, $1 - i32.add $push33=, $pop32, $7 + i32.add $push33=, $pop32, $8 i32.const $push116=, 16 i32.shl $push34=, $pop33, $pop116 i32.const $push115=, 16 @@ -273,10 +273,10 @@ main: # @main # BB#18: # %if.end137 # in Loop: Header=BB2_1 Depth=1 i32.const $push117=, 255 - i32.and $push38=, $8, $pop117 + i32.and $push38=, $7, $pop117 i32.eqz $push152=, $pop38 br_if 0, $pop152 # 0: down to label14 -# BB#19: # %cleanup.cont177.critedge +# BB#19: # %cleanup.cont177 # in Loop: Header=BB2_1 Depth=1 i32.const $push138=, 24 i32.shl $push39=, $6, $pop138 @@ -284,8 +284,8 @@ main: # @main i32.shr_s $push136=, $pop39, $pop137 tee_local $push135=, $6=, $pop136 i32.const $push134=, 24 - i32.shl $push133=, $8, $pop134 - tee_local $push132=, $7=, $pop133 + i32.shl $push133=, $7, $pop134 + tee_local $push132=, $8=, $pop133 i32.const $push131=, 24 i32.shr_s $push130=, $pop132, $pop131 tee_local $push129=, $1=, $pop130 @@ -295,16 +295,16 @@ main: # @main tee_local $push126=, $3=, $pop127 i32.const $push125=, 24 i32.shr_s $push124=, $pop126, $pop125 - tee_local $push123=, $8=, $pop124 + tee_local $push123=, $7=, $pop124 i32.const $push122=, 0 - i32.sub $push42=, $pop122, $8 + i32.sub $push42=, $pop122, $7 i32.const $push121=, -16777216 i32.gt_s $push41=, $3, $pop121 i32.select $push43=, $pop123, $pop42, $pop41 i32.const $push120=, 0 i32.sub $push45=, $pop120, $1 i32.const $push119=, -16777216 - i32.gt_s $push44=, $7, $pop119 + i32.gt_s $push44=, $8, $pop119 i32.select $push46=, $1, $pop45, $pop44 i32.const $push118=, 255 i32.and $push47=, $pop46, $pop118 @@ -314,7 +314,7 @@ main: # @main # in Loop: Header=BB2_1 Depth=1 i32.div_s $push49=, $6, $1 i32.mul $push50=, $pop49, $1 - i32.add $push51=, $pop50, $8 + i32.add $push51=, $pop50, $7 i32.const $push140=, 24 i32.shl $push52=, $pop51, $pop140 i32.const $push139=, 24 diff --git a/test/torture-s/bf-sign-2.c.s b/test/torture-s/bf-sign-2.c.s index 1f4b30392..82c4ec2fc 100644 --- a/test/torture-s/bf-sign-2.c.s +++ b/test/torture-s/bf-sign-2.c.s @@ -10,80 +10,79 @@ main: # @main # BB#0: # %entry block block - i32.const $push40=, 0 - i64.load $push39=, x($pop40) - tee_local $push38=, $0=, $pop39 - i32.wrap/i64 $push0=, $pop38 + i32.const $push37=, 0 + i32.load8_u $push0=, x($pop37) i32.const $push1=, 7 i32.and $push2=, $pop0, $pop1 - i32.const $push37=, -2 - i32.add $push3=, $pop2, $pop37 - i32.const $push36=, 0 - i32.ge_s $push4=, $pop3, $pop36 + i32.const $push36=, -2 + i32.add $push3=, $pop2, $pop36 + i32.const $push35=, 0 + i32.ge_s $push4=, $pop3, $pop35 br_if 0, $pop4 # 0: down to label1 # BB#1: # %if.end - i64.const $push5=, 31 - i64.shr_u $push6=, $0, $pop5 - i32.wrap/i64 $push7=, $pop6 - i32.const $push8=, 1 - i32.shr_s $push9=, $pop7, $pop8 - i32.const $push42=, -2 - i32.add $push10=, $pop9, $pop42 i32.const $push41=, 0 - i32.ge_s $push11=, $pop10, $pop41 - br_if 0, $pop11 # 0: down to label1 + i32.load $push5=, x+4($pop41) + i32.const $push6=, 1 + i32.shl $push7=, $pop5, $pop6 + i32.const $push40=, 1 + i32.shr_s $push8=, $pop7, $pop40 + i32.const $push39=, -2 + i32.add $push9=, $pop8, $pop39 + i32.const $push38=, 0 + i32.ge_s $push10=, $pop9, $pop38 + br_if 0, $pop10 # 0: down to label1 # BB#2: # %if.end5 - i32.const $push47=, 0 - i64.load $push46=, x+8($pop47) - tee_local $push45=, $0=, $pop46 - i32.wrap/i64 $push12=, $pop45 - i32.const $push44=, -2 - i32.add $push13=, $pop12, $pop44 - i32.const $push43=, 0 - i32.ge_s $push14=, $pop13, $pop43 - br_if 0, $pop14 # 0: down to label1 + i32.const $push46=, 0 + i64.load $push45=, x+8($pop46) + tee_local $push44=, $0=, $pop45 + i32.wrap/i64 $push11=, $pop44 + i32.const $push43=, -2 + i32.add $push12=, $pop11, $pop43 + i32.const $push42=, 0 + i32.ge_s $push13=, $pop12, $pop42 + br_if 0, $pop13 # 0: down to label1 # BB#3: # %if.end13 - i32.const $push50=, 0 - i64.load $push15=, x+24($pop50) - i64.const $push16=, 35 - i64.shr_u $push17=, $pop15, $pop16 - i32.wrap/i64 $push18=, $pop17 - i32.const $push19=, 32767 - i32.and $push20=, $pop18, $pop19 - i32.const $push49=, -2 - i32.add $push21=, $pop20, $pop49 - i32.const $push48=, 0 - i32.ge_s $push22=, $pop21, $pop48 - br_if 0, $pop22 # 0: down to label1 + i32.const $push49=, 0 + i64.load $push14=, x+24($pop49) + i64.const $push15=, 35 + i64.shr_u $push16=, $pop14, $pop15 + i32.wrap/i64 $push17=, $pop16 + i32.const $push18=, 32767 + i32.and $push19=, $pop17, $pop18 + i32.const $push48=, -2 + i32.add $push20=, $pop19, $pop48 + i32.const $push47=, 0 + i32.ge_s $push21=, $pop20, $pop47 + br_if 0, $pop21 # 0: down to label1 # BB#4: # %if.end20 - i64.const $push23=, 32 - i64.shr_u $push24=, $0, $pop23 - i32.wrap/i64 $push25=, $pop24 - i32.const $push26=, 2147483647 - i32.and $push27=, $pop25, $pop26 - i32.const $push52=, -2 - i32.add $push28=, $pop27, $pop52 - i32.const $push51=, 0 - i32.ge_s $push29=, $pop28, $pop51 - br_if 0, $pop29 # 0: down to label1 + i64.const $push22=, 32 + i64.shr_u $push23=, $0, $pop22 + i32.wrap/i64 $push24=, $pop23 + i32.const $push25=, 2147483647 + i32.and $push26=, $pop24, $pop25 + i32.const $push51=, -2 + i32.add $push27=, $pop26, $pop51 + i32.const $push50=, 0 + i32.ge_s $push28=, $pop27, $pop50 + br_if 0, $pop28 # 0: down to label1 # BB#5: # %if.end35 - i32.const $push55=, 0 - i32.load $push30=, x+20($pop55) - i32.const $push31=, 7 - i32.and $push32=, $pop30, $pop31 - i32.const $push54=, -2 - i32.add $push33=, $pop32, $pop54 - i32.const $push53=, 0 - i32.lt_s $push34=, $pop33, $pop53 - br_if 1, $pop34 # 1: down to label0 + i32.const $push54=, 0 + i32.load $push29=, x+20($pop54) + i32.const $push30=, 7 + i32.and $push31=, $pop29, $pop30 + i32.const $push53=, -2 + i32.add $push32=, $pop31, $pop53 + i32.const $push52=, 0 + i32.lt_s $push33=, $pop32, $pop52 + br_if 1, $pop33 # 1: down to label0 .LBB0_6: # %if.then42 end_block # label1: call abort@FUNCTION unreachable .LBB0_7: # %if.end50 end_block # label0: - i32.const $push35=, 0 - call exit@FUNCTION, $pop35 + i32.const $push34=, 0 + call exit@FUNCTION, $pop34 unreachable .endfunc .Lfunc_end0: diff --git a/test/torture-s/builtin-bitops-1.c.s b/test/torture-s/builtin-bitops-1.c.s index 554a5fac2..b8d79e0c1 100644 --- a/test/torture-s/builtin-bitops-1.c.s +++ b/test/torture-s/builtin-bitops-1.c.s @@ -7,39 +7,39 @@ my_ffs: # @my_ffs .param i32 .result i32 - .local i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, 0 + i32.const $3=, 0 block - i32.eqz $push9=, $0 - br_if 0, $pop9 # 0: down to label0 + i32.eqz $push11=, $0 + br_if 0, $pop11 # 0: down to label0 # BB#1: # %for.cond.preheader - i32.const $2=, 0 + i32.const $2=, 1 .LBB0_2: # %for.cond # =>This Inner Loop Header: Depth=1 loop # label1: - copy_local $push6=, $2 - tee_local $push5=, $1=, $pop6 - i32.const $push4=, 31 - i32.gt_u $push0=, $pop5, $pop4 + 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 # in Loop: Header=BB0_2 Depth=1 - i32.const $push8=, 1 - i32.add $2=, $1, $pop8 - i32.const $push7=, 1 - i32.shl $push1=, $pop7, $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 $push10=, $pop2 - br_if 0, $pop10 # 0: up to label1 -.LBB0_4: # %cleanup.loopexit + i32.eqz $push12=, $pop2 + br_if 0, $pop12 # 0: up to label1 +.LBB0_4: # %cleanup end_loop # label2: - i32.const $push3=, 1 - i32.add $1=, $1, $pop3 -.LBB0_5: # %cleanup end_block # label0: - copy_local $push11=, $1 - # fallthrough-return: $pop11 + copy_local $push13=, $3 + # fallthrough-return: $pop13 .endfunc .Lfunc_end0: .size my_ffs, .Lfunc_end0-my_ffs @@ -168,20 +168,20 @@ my_popcount: # @my_popcount # =>This Inner Loop Header: Depth=1 loop # label9: i32.const $push9=, 1 - i32.shl $push0=, $pop9, $1 + i32.shl $push0=, $pop9, $2 i32.and $push1=, $pop0, $0 i32.const $push8=, 0 i32.ne $push2=, $pop1, $pop8 - i32.add $2=, $pop2, $2 + i32.add $1=, $pop2, $1 i32.const $push7=, 1 - i32.add $push6=, $1, $pop7 - tee_local $push5=, $1=, $pop6 + i32.add $push6=, $2, $pop7 + tee_local $push5=, $2=, $pop6 i32.const $push4=, 32 i32.ne $push3=, $pop5, $pop4 br_if 0, $pop3 # 0: up to label9 # BB#2: # %for.end end_loop # label10: - copy_local $push10=, $2 + copy_local $push10=, $1 # fallthrough-return: $pop10 .endfunc .Lfunc_end4: @@ -202,21 +202,21 @@ my_parity: # @my_parity # =>This Inner Loop Header: Depth=1 loop # label11: i32.const $push11=, 1 - i32.shl $push0=, $pop11, $1 + i32.shl $push0=, $pop11, $2 i32.and $push1=, $pop0, $0 i32.const $push10=, 0 i32.ne $push2=, $pop1, $pop10 - i32.add $2=, $pop2, $2 + i32.add $1=, $pop2, $1 i32.const $push9=, 1 - i32.add $push8=, $1, $pop9 - tee_local $push7=, $1=, $pop8 + i32.add $push8=, $2, $pop9 + tee_local $push7=, $2=, $pop8 i32.const $push6=, 32 i32.ne $push3=, $pop7, $pop6 br_if 0, $pop3 # 0: up to label11 # BB#2: # %for.end end_loop # label12: i32.const $push4=, 1 - i32.and $push5=, $2, $pop4 + i32.and $push5=, $1, $pop4 # fallthrough-return: $pop5 .endfunc .Lfunc_end5: @@ -229,39 +229,39 @@ my_parity: # @my_parity my_ffsl: # @my_ffsl .param i32 .result i32 - .local i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $1=, 0 + i32.const $3=, 0 block - i32.eqz $push9=, $0 - br_if 0, $pop9 # 0: down to label13 + i32.eqz $push11=, $0 + br_if 0, $pop11 # 0: down to label13 # BB#1: # %for.cond.preheader - i32.const $2=, 0 + i32.const $2=, 1 .LBB6_2: # %for.cond # =>This Inner Loop Header: Depth=1 loop # label14: - copy_local $push6=, $2 - tee_local $push5=, $1=, $pop6 - i32.const $push4=, 31 - i32.gt_u $push0=, $pop5, $pop4 + 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 # in Loop: Header=BB6_2 Depth=1 - i32.const $push8=, 1 - i32.add $2=, $1, $pop8 - i32.const $push7=, 1 - i32.shl $push1=, $pop7, $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 $push10=, $pop2 - br_if 0, $pop10 # 0: up to label14 -.LBB6_4: # %cleanup.loopexit + i32.eqz $push12=, $pop2 + br_if 0, $pop12 # 0: up to label14 +.LBB6_4: # %cleanup end_loop # label15: - i32.const $push3=, 1 - i32.add $1=, $1, $pop3 -.LBB6_5: # %cleanup end_block # label13: - copy_local $push11=, $1 - # fallthrough-return: $pop11 + copy_local $push13=, $3 + # fallthrough-return: $pop13 .endfunc .Lfunc_end6: .size my_ffsl, .Lfunc_end6-my_ffsl @@ -390,20 +390,20 @@ my_popcountl: # @my_popcountl # =>This Inner Loop Header: Depth=1 loop # label22: i32.const $push9=, 1 - i32.shl $push0=, $pop9, $1 + i32.shl $push0=, $pop9, $2 i32.and $push1=, $pop0, $0 i32.const $push8=, 0 i32.ne $push2=, $pop1, $pop8 - i32.add $2=, $pop2, $2 + i32.add $1=, $pop2, $1 i32.const $push7=, 1 - i32.add $push6=, $1, $pop7 - tee_local $push5=, $1=, $pop6 + i32.add $push6=, $2, $pop7 + tee_local $push5=, $2=, $pop6 i32.const $push4=, 32 i32.ne $push3=, $pop5, $pop4 br_if 0, $pop3 # 0: up to label22 # BB#2: # %for.end end_loop # label23: - copy_local $push10=, $2 + copy_local $push10=, $1 # fallthrough-return: $pop10 .endfunc .Lfunc_end10: @@ -424,21 +424,21 @@ my_parityl: # @my_parityl # =>This Inner Loop Header: Depth=1 loop # label24: i32.const $push11=, 1 - i32.shl $push0=, $pop11, $1 + i32.shl $push0=, $pop11, $2 i32.and $push1=, $pop0, $0 i32.const $push10=, 0 i32.ne $push2=, $pop1, $pop10 - i32.add $2=, $pop2, $2 + i32.add $1=, $pop2, $1 i32.const $push9=, 1 - i32.add $push8=, $1, $pop9 - tee_local $push7=, $1=, $pop8 + i32.add $push8=, $2, $pop9 + tee_local $push7=, $2=, $pop8 i32.const $push6=, 32 i32.ne $push3=, $pop7, $pop6 br_if 0, $pop3 # 0: up to label24 # BB#2: # %for.end end_loop # label25: i32.const $push4=, 1 - i32.and $push5=, $2, $pop4 + i32.and $push5=, $1, $pop4 # fallthrough-return: $pop5 .endfunc .Lfunc_end11: @@ -541,30 +541,28 @@ my_clzll: # @my_clzll .LBB14_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label31: - i64.const $push7=, 1 - i64.const $push6=, 4294967295 - i64.and $push0=, $1, $pop6 - i64.shl $push1=, $pop7, $pop0 - i64.and $push2=, $pop1, $0 - i64.const $push5=, 0 - i64.ne $push3=, $pop2, $pop5 - br_if 1, $pop3 # 1: down to label32 + i64.const $push5=, 1 + i64.shl $push0=, $pop5, $1 + i64.and $push1=, $pop0, $0 + i64.const $push4=, 0 + i64.ne $push2=, $pop1, $pop4 + br_if 1, $pop2 # 1: down to label32 # BB#2: # %for.inc # in Loop: Header=BB14_1 Depth=1 - i64.const $push13=, -1 - i64.add $1=, $1, $pop13 - i32.const $push12=, 1 - i32.add $3=, $3, $pop12 - i64.const $push11=, 1 - i64.add $push10=, $2, $pop11 - tee_local $push9=, $2=, $pop10 - i64.const $push8=, 64 - i64.lt_u $push4=, $pop9, $pop8 - br_if 0, $pop4 # 0: up to label31 + i64.const $push11=, -1 + i64.add $1=, $1, $pop11 + i32.const $push10=, 1 + i32.add $3=, $3, $pop10 + i64.const $push9=, 1 + i64.add $push8=, $2, $pop9 + tee_local $push7=, $2=, $pop8 + i64.const $push6=, 64 + i64.lt_u $push3=, $pop7, $pop6 + br_if 0, $pop3 # 0: up to label31 .LBB14_3: # %for.end end_loop # label32: - copy_local $push14=, $3 - # fallthrough-return: $pop14 + copy_local $push12=, $3 + # fallthrough-return: $pop12 .endfunc .Lfunc_end14: .size my_clzll, .Lfunc_end14-my_clzll @@ -701,23 +699,23 @@ main: # @main block block loop # label41: - i32.const $push214=, 2 - i32.shl $push3=, $0, $pop214 - i32.const $push213=, ints - i32.add $push212=, $pop3, $pop213 - tee_local $push211=, $1=, $pop212 - i32.load $push210=, 0($pop211) - tee_local $push209=, $10=, $pop210 - i32.ctz $push208=, $pop209 - tee_local $push207=, $2=, $pop208 - i32.const $push206=, 1 - i32.add $push4=, $pop207, $pop206 - i32.const $push205=, 0 - i32.select $6=, $pop4, $pop205, $10 + i32.const $push205=, 2 + i32.shl $push1=, $0, $pop205 + i32.const $push204=, ints + i32.add $push203=, $pop1, $pop204 + tee_local $push202=, $1=, $pop203 + i32.load $push201=, 0($pop202) + tee_local $push200=, $10=, $pop201 + i32.ctz $push199=, $pop200 + tee_local $push198=, $2=, $pop199 + i32.const $push197=, 1 + i32.add $push2=, $pop198, $pop197 + i32.const $push196=, 0 + i32.select $6=, $pop2, $pop196, $10 i32.const $3=, 0 block - i32.eqz $push416=, $10 - br_if 0, $pop416 # 0: down to label43 + i32.eqz $push397=, $10 + br_if 0, $pop397 # 0: down to label43 # BB#2: # %for.cond.i.preheader # in Loop: Header=BB18_1 Depth=1 i32.const $5=, 0 @@ -725,35 +723,35 @@ main: # @main # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label44: - copy_local $push217=, $5 - tee_local $push216=, $3=, $pop217 - i32.const $push215=, 31 - i32.gt_u $push5=, $pop216, $pop215 - br_if 1, $pop5 # 1: down to label45 + copy_local $push208=, $5 + tee_local $push207=, $3=, $pop208 + i32.const $push206=, 31 + i32.gt_u $push3=, $pop207, $pop206 + br_if 1, $pop3 # 1: down to label45 # BB#4: # %for.body.i # in Loop: Header=BB18_3 Depth=2 - i32.const $push219=, 1 - i32.add $5=, $3, $pop219 - i32.const $push218=, 1 - i32.shl $push6=, $pop218, $3 - i32.and $push7=, $pop6, $10 - i32.eqz $push417=, $pop7 - br_if 0, $pop417 # 0: up to label44 + i32.const $push210=, 1 + i32.add $5=, $3, $pop210 + i32.const $push209=, 1 + i32.shl $push4=, $pop209, $3 + i32.and $push5=, $pop4, $10 + i32.eqz $push398=, $pop5 + br_if 0, $pop398 # 0: up to label44 .LBB18_5: # %my_ffs.exit.loopexit # in Loop: Header=BB18_1 Depth=1 end_loop # label45: - i32.const $push220=, 1 - i32.add $3=, $3, $pop220 + i32.const $push211=, 1 + i32.add $3=, $3, $pop211 .LBB18_6: # %my_ffs.exit # in Loop: Header=BB18_1 Depth=1 end_block # label43: - i32.ne $push8=, $6, $3 - br_if 2, $pop8 # 2: down to label40 + i32.ne $push6=, $6, $3 + br_if 2, $pop6 # 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 $push399=, $10 + br_if 0, $pop399 # 0: down to label46 # BB#8: # %land.lhs.true # in Loop: Header=BB18_1 Depth=1 i32.clz $6=, $10 @@ -763,146 +761,146 @@ main: # @main # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label47: - i32.const $push221=, 1 - i32.shl $push9=, $pop221, $3 - i32.and $push10=, $pop9, $10 - br_if 1, $pop10 # 1: down to label48 + i32.const $push212=, 1 + i32.shl $push7=, $pop212, $3 + i32.and $push8=, $pop7, $10 + br_if 1, $pop8 # 1: down to label48 # BB#10: # %for.inc.i819 # in Loop: Header=BB18_9 Depth=2 - i32.const $push226=, -1 - i32.add $3=, $3, $pop226 - i32.const $push225=, 1 - i32.add $push224=, $5, $pop225 - tee_local $push223=, $5=, $pop224 - i32.const $push222=, 32 - i32.lt_u $push11=, $pop223, $pop222 - br_if 0, $pop11 # 0: up to label47 + i32.const $push217=, -1 + i32.add $3=, $3, $pop217 + i32.const $push216=, 1 + i32.add $push215=, $5, $pop216 + tee_local $push214=, $5=, $pop215 + i32.const $push213=, 32 + i32.lt_u $push9=, $pop214, $pop213 + br_if 0, $pop9 # 0: up to label47 .LBB18_11: # %my_clz.exit # in Loop: Header=BB18_1 Depth=1 end_loop # label48: - i32.ne $push12=, $6, $5 - br_if 3, $pop12 # 3: down to label40 + i32.ne $push10=, $6, $5 + br_if 3, $pop10 # 3: down to label40 # BB#12: # %land.lhs.true13 # in Loop: Header=BB18_1 Depth=1 i32.const $3=, 0 -.LBB18_13: # %for.body.i876 +.LBB18_13: # %for.body.i875 # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label49: - i32.const $push227=, 1 - i32.shl $push13=, $pop227, $3 - i32.and $push14=, $pop13, $10 - br_if 1, $pop14 # 1: down to label50 -# BB#14: # %for.inc.i879 + i32.const $push218=, 1 + i32.shl $push11=, $pop218, $3 + i32.and $push12=, $pop11, $10 + br_if 1, $pop12 # 1: down to label50 +# BB#14: # %for.inc.i878 # in Loop: Header=BB18_13 Depth=2 - i32.const $push231=, 1 - i32.add $push230=, $3, $pop231 - tee_local $push229=, $3=, $pop230 - i32.const $push228=, 32 - i32.lt_u $push15=, $pop229, $pop228 - br_if 0, $pop15 # 0: up to label49 + i32.const $push222=, 1 + i32.add $push221=, $3, $pop222 + tee_local $push220=, $3=, $pop221 + i32.const $push219=, 32 + i32.lt_u $push13=, $pop220, $pop219 + br_if 0, $pop13 # 0: up to label49 .LBB18_15: # %my_ctz.exit # in Loop: Header=BB18_1 Depth=1 end_loop # label50: - i32.ne $push16=, $2, $3 - br_if 3, $pop16 # 3: down to label40 + i32.ne $push14=, $2, $3 + br_if 3, $pop14 # 3: down to label40 .LBB18_16: # %if.end19 # in Loop: Header=BB18_1 Depth=1 end_block # label46: i32.call $2=, __builtin_clrsb@FUNCTION, $10 - i32.load $push234=, 0($1) - tee_local $push233=, $3=, $pop234 - i32.const $push232=, 31 - i32.shr_u $6=, $pop233, $pop232 + i32.load $push225=, 0($1) + tee_local $push224=, $3=, $pop225 + i32.const $push223=, 31 + i32.shr_u $6=, $pop224, $pop223 i32.const $5=, 1 i32.const $10=, 30 -.LBB18_17: # %for.body.i950 +.LBB18_17: # %for.body.i948 # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label51: - i32.shr_u $push17=, $3, $10 - i32.const $push235=, 1 - i32.and $push18=, $pop17, $pop235 - i32.ne $push19=, $pop18, $6 - br_if 1, $pop19 # 1: down to label52 -# BB#18: # %for.inc.i953 + i32.shr_u $push15=, $3, $10 + i32.const $push226=, 1 + i32.and $push16=, $pop15, $pop226 + i32.ne $push17=, $pop16, $6 + br_if 1, $pop17 # 1: down to label52 +# BB#18: # %for.inc.i951 # 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 $push20=, $pop237, $pop236 - br_if 0, $pop20 # 0: up to label51 + i32.const $push231=, -1 + i32.add $10=, $10, $pop231 + i32.const $push230=, 1 + i32.add $push229=, $5, $pop230 + tee_local $push228=, $5=, $pop229 + i32.const $push227=, 32 + i32.lt_u $push18=, $pop228, $pop227 + br_if 0, $pop18 # 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 $push21=, $5, $pop241 - i32.ne $push22=, $2, $pop21 - br_if 2, $pop22 # 2: down to label40 -# BB#20: # %for.body.i1034.preheader + i32.const $push232=, -1 + i32.add $push19=, $5, $pop232 + i32.ne $push20=, $2, $pop19 + br_if 2, $pop20 # 2: down to label40 +# BB#20: # %for.body.i1030.preheader # in Loop: Header=BB18_1 Depth=1 - i32.const $10=, 0 i32.const $5=, 0 -.LBB18_21: # %for.body.i1034 + i32.const $10=, 0 +.LBB18_21: # %for.body.i1030 # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label53: - i32.const $push247=, 1 - i32.shl $push23=, $pop247, $10 - i32.and $push24=, $pop23, $3 - i32.const $push246=, 0 - i32.ne $push25=, $pop24, $pop246 - i32.add $5=, $pop25, $5 - i32.const $push245=, 1 - i32.add $push244=, $10, $pop245 - tee_local $push243=, $10=, $pop244 - i32.const $push242=, 32 - i32.ne $push26=, $pop243, $pop242 - br_if 0, $pop26 # 0: up to label53 + i32.const $push238=, 1 + i32.shl $push21=, $pop238, $10 + i32.and $push22=, $pop21, $3 + i32.const $push237=, 0 + i32.ne $push23=, $pop22, $pop237 + i32.add $5=, $pop23, $5 + i32.const $push236=, 1 + i32.add $push235=, $10, $pop236 + tee_local $push234=, $10=, $pop235 + i32.const $push233=, 32 + i32.ne $push24=, $pop234, $pop233 + br_if 0, $pop24 # 0: up to label53 # BB#22: # %my_popcount.exit # in Loop: Header=BB18_1 Depth=1 end_loop # label54: - i32.popcnt $push27=, $3 - i32.ne $push28=, $pop27, $5 - br_if 2, $pop28 # 2: down to label40 -# BB#23: # %for.body.i1115.preheader + i32.popcnt $push25=, $3 + i32.ne $push26=, $pop25, $5 + br_if 2, $pop26 # 2: down to label40 +# BB#23: # %for.body.i1109.preheader # in Loop: Header=BB18_1 Depth=1 - i32.const $10=, 0 i32.const $6=, 0 -.LBB18_24: # %for.body.i1115 + i32.const $10=, 0 +.LBB18_24: # %for.body.i1109 # Parent Loop BB18_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label55: - i32.const $push253=, 1 - i32.shl $push29=, $pop253, $10 - i32.and $push30=, $pop29, $3 - i32.const $push252=, 0 - i32.ne $push31=, $pop30, $pop252 - i32.add $6=, $pop31, $6 - i32.const $push251=, 1 - i32.add $push250=, $10, $pop251 - tee_local $push249=, $10=, $pop250 - i32.const $push248=, 32 - i32.ne $push32=, $pop249, $pop248 - br_if 0, $pop32 # 0: up to label55 + i32.const $push244=, 1 + i32.shl $push27=, $pop244, $10 + i32.and $push28=, $pop27, $3 + i32.const $push243=, 0 + i32.ne $push29=, $pop28, $pop243 + i32.add $6=, $pop29, $6 + i32.const $push242=, 1 + i32.add $push241=, $10, $pop242 + tee_local $push240=, $10=, $pop241 + i32.const $push239=, 32 + i32.ne $push30=, $pop240, $pop239 + br_if 0, $pop30 # 0: up to label55 # BB#25: # %my_parity.exit # in Loop: Header=BB18_1 Depth=1 end_loop # label56: - i32.xor $push33=, $6, $5 - i32.const $push254=, 1 - i32.and $push34=, $pop33, $pop254 - br_if 2, $pop34 # 2: down to label40 + i32.xor $push31=, $6, $5 + i32.const $push245=, 1 + i32.and $push32=, $pop31, $pop245 + br_if 2, $pop32 # 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 $push35=, $pop256, $pop255 - br_if 0, $pop35 # 0: up to label41 + i32.const $push249=, 1 + i32.add $push248=, $0, $pop249 + tee_local $push247=, $0=, $pop248 + i32.const $push246=, 13 + i32.lt_u $push33=, $pop247, $pop246 + br_if 0, $pop33 # 0: up to label41 # BB#27: # %for.body41.preheader end_loop # label42: i32.const $0=, 0 @@ -915,208 +913,208 @@ main: # @main # Child Loop BB18_48 Depth 2 # Child Loop BB18_51 Depth 2 loop # label57: - i32.const $push268=, 2 - i32.shl $push36=, $0, $pop268 - i32.const $push267=, longs - i32.add $push266=, $pop36, $pop267 - tee_local $push265=, $1=, $pop266 - i32.load $push264=, 0($pop265) - tee_local $push263=, $10=, $pop264 - i32.ctz $push262=, $pop263 - tee_local $push261=, $2=, $pop262 - i32.const $push260=, 1 - i32.add $push37=, $pop261, $pop260 - i32.const $push259=, 0 - i32.select $6=, $pop37, $pop259, $10 + i32.const $push259=, 2 + i32.shl $push34=, $0, $pop259 + i32.const $push258=, longs + i32.add $push257=, $pop34, $pop258 + tee_local $push256=, $1=, $pop257 + i32.load $push255=, 0($pop256) + tee_local $push254=, $10=, $pop255 + i32.ctz $push253=, $pop254 + tee_local $push252=, $2=, $pop253 + i32.const $push251=, 1 + i32.add $push35=, $pop252, $pop251 + i32.const $push250=, 0 + i32.select $6=, $pop35, $pop250, $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 $push400=, $10 + br_if 0, $pop400 # 0: down to label59 +# BB#29: # %for.cond.i1185.preheader # in Loop: Header=BB18_28 Depth=1 i32.const $5=, 0 -.LBB18_30: # %for.cond.i1193 +.LBB18_30: # %for.cond.i1185 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label60: - copy_local $push271=, $5 - tee_local $push270=, $3=, $pop271 - i32.const $push269=, 31 - i32.gt_u $push38=, $pop270, $pop269 - br_if 1, $pop38 # 1: down to label61 -# BB#31: # %for.body.i1197 + copy_local $push262=, $5 + tee_local $push261=, $3=, $pop262 + i32.const $push260=, 31 + i32.gt_u $push36=, $pop261, $pop260 + br_if 1, $pop36 # 1: down to label61 +# BB#31: # %for.body.i1189 # in Loop: Header=BB18_30 Depth=2 - i32.const $push273=, 1 - i32.add $5=, $3, $pop273 - i32.const $push272=, 1 - i32.shl $push39=, $pop272, $3 - i32.and $push40=, $pop39, $10 - i32.eqz $push420=, $pop40 - br_if 0, $pop420 # 0: up to label60 + i32.const $push264=, 1 + i32.add $5=, $3, $pop264 + i32.const $push263=, 1 + i32.shl $push37=, $pop263, $3 + i32.and $push38=, $pop37, $10 + i32.eqz $push401=, $pop38 + br_if 0, $pop401 # 0: up to label60 .LBB18_32: # %my_ffsl.exit.loopexit # in Loop: Header=BB18_28 Depth=1 end_loop # label61: - i32.const $push274=, 1 - i32.add $3=, $3, $pop274 + i32.const $push265=, 1 + i32.add $3=, $3, $pop265 .LBB18_33: # %my_ffsl.exit # in Loop: Header=BB18_28 Depth=1 end_block # label59: - i32.ne $push41=, $6, $3 - br_if 2, $pop41 # 2: down to label40 + i32.ne $push39=, $6, $3 + br_if 2, $pop39 # 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 $push402=, $10 + br_if 0, $pop402 # 0: down to label62 # BB#35: # %land.lhs.true52 # in Loop: Header=BB18_28 Depth=1 i32.clz $6=, $10 i32.const $5=, 0 i32.const $3=, 31 -.LBB18_36: # %for.body.i1276 +.LBB18_36: # %for.body.i1266 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label63: - i32.const $push275=, 1 - i32.shl $push42=, $pop275, $3 - i32.and $push43=, $pop42, $10 - br_if 1, $pop43 # 1: down to label64 -# BB#37: # %for.inc.i1279 + i32.const $push266=, 1 + i32.shl $push40=, $pop266, $3 + i32.and $push41=, $pop40, $10 + br_if 1, $pop41 # 1: down to label64 +# BB#37: # %for.inc.i1269 # in Loop: Header=BB18_36 Depth=2 - i32.const $push280=, -1 - i32.add $3=, $3, $pop280 - i32.const $push279=, 1 - i32.add $push278=, $5, $pop279 - tee_local $push277=, $5=, $pop278 - i32.const $push276=, 32 - i32.lt_u $push44=, $pop277, $pop276 - br_if 0, $pop44 # 0: up to label63 + i32.const $push271=, -1 + i32.add $3=, $3, $pop271 + i32.const $push270=, 1 + i32.add $push269=, $5, $pop270 + tee_local $push268=, $5=, $pop269 + i32.const $push267=, 32 + i32.lt_u $push42=, $pop268, $pop267 + br_if 0, $pop42 # 0: up to label63 .LBB18_38: # %my_clzl.exit # in Loop: Header=BB18_28 Depth=1 end_loop # label64: - i32.ne $push45=, $6, $5 - br_if 3, $pop45 # 3: down to label40 + i32.ne $push43=, $6, $5 + br_if 3, $pop43 # 3: down to label40 # BB#39: # %land.lhs.true61 # in Loop: Header=BB18_28 Depth=1 i32.const $3=, 0 -.LBB18_40: # %for.body.i1357 +.LBB18_40: # %for.body.i1345 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label65: - i32.const $push281=, 1 - i32.shl $push46=, $pop281, $3 - i32.and $push47=, $pop46, $10 - br_if 1, $pop47 # 1: down to label66 -# BB#41: # %for.inc.i1360 + i32.const $push272=, 1 + i32.shl $push44=, $pop272, $3 + i32.and $push45=, $pop44, $10 + br_if 1, $pop45 # 1: down to label66 +# BB#41: # %for.inc.i1348 # in Loop: Header=BB18_40 Depth=2 - i32.const $push285=, 1 - i32.add $push284=, $3, $pop285 - tee_local $push283=, $3=, $pop284 - i32.const $push282=, 32 - i32.lt_u $push48=, $pop283, $pop282 - br_if 0, $pop48 # 0: up to label65 + i32.const $push276=, 1 + i32.add $push275=, $3, $pop276 + tee_local $push274=, $3=, $pop275 + i32.const $push273=, 32 + i32.lt_u $push46=, $pop274, $pop273 + br_if 0, $pop46 # 0: up to label65 .LBB18_42: # %my_ctzl.exit # in Loop: Header=BB18_28 Depth=1 end_loop # label66: - i32.ne $push49=, $2, $3 - br_if 3, $pop49 # 3: down to label40 + i32.ne $push47=, $2, $3 + br_if 3, $pop47 # 3: down to label40 .LBB18_43: # %if.end67 # in Loop: Header=BB18_28 Depth=1 end_block # label62: i32.call $2=, __builtin_clrsbl@FUNCTION, $10 - i32.load $push288=, 0($1) - tee_local $push287=, $3=, $pop288 - i32.const $push286=, 31 - i32.shr_u $6=, $pop287, $pop286 + i32.load $push279=, 0($1) + tee_local $push278=, $3=, $pop279 + i32.const $push277=, 31 + i32.shr_u $6=, $pop278, $pop277 i32.const $5=, 1 i32.const $10=, 30 -.LBB18_44: # %for.body.i1440 +.LBB18_44: # %for.body.i1426 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label67: - i32.shr_u $push50=, $3, $10 - i32.const $push289=, 1 - i32.and $push51=, $pop50, $pop289 - i32.ne $push52=, $pop51, $6 - br_if 1, $pop52 # 1: down to label68 -# BB#45: # %for.inc.i1443 + i32.shr_u $push48=, $3, $10 + i32.const $push280=, 1 + i32.and $push49=, $pop48, $pop280 + i32.ne $push50=, $pop49, $6 + br_if 1, $pop50 # 1: down to label68 +# BB#45: # %for.inc.i1429 # 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 $push53=, $pop291, $pop290 - br_if 0, $pop53 # 0: up to label67 + i32.const $push285=, -1 + i32.add $10=, $10, $pop285 + i32.const $push284=, 1 + i32.add $push283=, $5, $pop284 + tee_local $push282=, $5=, $pop283 + i32.const $push281=, 32 + i32.lt_u $push51=, $pop282, $pop281 + br_if 0, $pop51 # 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 $push54=, $5, $pop295 - i32.ne $push55=, $2, $pop54 - br_if 2, $pop55 # 2: down to label40 -# BB#47: # %for.body.i1527.preheader + i32.const $push286=, -1 + i32.add $push52=, $5, $pop286 + i32.ne $push53=, $2, $pop52 + br_if 2, $pop53 # 2: down to label40 +# BB#47: # %for.body.i1511.preheader # in Loop: Header=BB18_28 Depth=1 - i32.const $10=, 0 i32.const $5=, 0 -.LBB18_48: # %for.body.i1527 + i32.const $10=, 0 +.LBB18_48: # %for.body.i1511 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label69: - i32.const $push301=, 1 - i32.shl $push56=, $pop301, $10 - i32.and $push57=, $pop56, $3 - i32.const $push300=, 0 - i32.ne $push58=, $pop57, $pop300 - i32.add $5=, $pop58, $5 - i32.const $push299=, 1 - i32.add $push298=, $10, $pop299 - tee_local $push297=, $10=, $pop298 - i32.const $push296=, 32 - i32.ne $push59=, $pop297, $pop296 - br_if 0, $pop59 # 0: up to label69 + i32.const $push292=, 1 + i32.shl $push54=, $pop292, $10 + i32.and $push55=, $pop54, $3 + i32.const $push291=, 0 + i32.ne $push56=, $pop55, $pop291 + i32.add $5=, $pop56, $5 + i32.const $push290=, 1 + i32.add $push289=, $10, $pop290 + tee_local $push288=, $10=, $pop289 + i32.const $push287=, 32 + i32.ne $push57=, $pop288, $pop287 + br_if 0, $pop57 # 0: up to label69 # BB#49: # %my_popcountl.exit # in Loop: Header=BB18_28 Depth=1 end_loop # label70: - i32.popcnt $push60=, $3 - i32.ne $push61=, $pop60, $5 - br_if 2, $pop61 # 2: down to label40 -# BB#50: # %for.body.i1609.preheader + i32.popcnt $push58=, $3 + i32.ne $push59=, $pop58, $5 + br_if 2, $pop59 # 2: down to label40 +# BB#50: # %for.body.i1591.preheader # in Loop: Header=BB18_28 Depth=1 - i32.const $10=, 0 i32.const $6=, 0 -.LBB18_51: # %for.body.i1609 + i32.const $10=, 0 +.LBB18_51: # %for.body.i1591 # Parent Loop BB18_28 Depth=1 # => This Inner Loop Header: Depth=2 loop # label71: - i32.const $push307=, 1 - i32.shl $push62=, $pop307, $10 - i32.and $push63=, $pop62, $3 - i32.const $push306=, 0 - i32.ne $push64=, $pop63, $pop306 - i32.add $6=, $pop64, $6 - i32.const $push305=, 1 - i32.add $push304=, $10, $pop305 - tee_local $push303=, $10=, $pop304 - i32.const $push302=, 32 - i32.ne $push65=, $pop303, $pop302 - br_if 0, $pop65 # 0: up to label71 + i32.const $push298=, 1 + i32.shl $push60=, $pop298, $10 + i32.and $push61=, $pop60, $3 + i32.const $push297=, 0 + i32.ne $push62=, $pop61, $pop297 + i32.add $6=, $pop62, $6 + i32.const $push296=, 1 + i32.add $push295=, $10, $pop296 + tee_local $push294=, $10=, $pop295 + i32.const $push293=, 32 + i32.ne $push63=, $pop294, $pop293 + br_if 0, $pop63 # 0: up to label71 # BB#52: # %my_parityl.exit # in Loop: Header=BB18_28 Depth=1 end_loop # label72: - i32.xor $push66=, $6, $5 - i32.const $push308=, 1 - i32.and $push67=, $pop66, $pop308 - br_if 2, $pop67 # 2: down to label40 + i32.xor $push64=, $6, $5 + i32.const $push299=, 1 + i32.and $push65=, $pop64, $pop299 + br_if 2, $pop65 # 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 $push68=, $pop310, $pop309 - br_if 0, $pop68 # 0: up to label57 + i32.const $push303=, 1 + i32.add $push302=, $0, $pop303 + tee_local $push301=, $0=, $pop302 + i32.const $push300=, 13 + i32.lt_u $push66=, $pop301, $pop300 + br_if 0, $pop66 # 0: up to label57 # BB#54: # %for.body92.preheader end_loop # label58: i32.const $5=, 0 @@ -1129,528 +1127,481 @@ main: # @main # Child Loop BB18_74 Depth 2 # Child Loop BB18_77 Depth 2 loop # label73: - i32.const $push324=, 0 - i32.const $push323=, 3 - i32.shl $push69=, $5, $pop323 - i32.const $push322=, longlongs - i32.add $push321=, $pop69, $pop322 - tee_local $push320=, $1=, $pop321 - i64.load $push319=, 0($pop320) - tee_local $push318=, $9=, $pop319 - i64.ctz $push317=, $pop318 - tee_local $push316=, $4=, $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=, $pop324, $pop71, $pop313 + i32.const $push315=, 0 + i32.const $push314=, 3 + i32.shl $push67=, $5, $pop314 + i32.const $push313=, longlongs + i32.add $push312=, $pop67, $pop313 + tee_local $push311=, $1=, $pop312 + i64.load $push310=, 0($pop311) + tee_local $push309=, $9=, $pop310 + i64.ctz $push308=, $pop309 + tee_local $push307=, $4=, $pop308 + i64.const $push306=, 1 + i64.add $push68=, $pop307, $pop306 + i32.wrap/i64 $push69=, $pop68 + i64.eqz $push305=, $9 + tee_local $push304=, $6=, $pop305 + i32.select $0=, $pop315, $pop69, $pop304 i32.const $10=, 0 block br_if 0, $6 # 0: down to label75 -# BB#56: # %for.cond.i1687.preheader +# BB#56: # %for.cond.i1667.preheader # in Loop: Header=BB18_55 Depth=1 i64.const $8=, 0 i32.const $3=, 1 -.LBB18_57: # %for.cond.i1687 +.LBB18_57: # %for.cond.i1667 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label76: copy_local $10=, $3 - i64.const $push325=, 63 - i64.gt_u $push72=, $8, $pop325 - br_if 1, $pop72 # 1: down to label77 -# BB#58: # %for.body.i1691 + i64.const $push316=, 63 + i64.gt_u $push70=, $8, $pop316 + br_if 1, $pop70 # 1: down to label77 +# BB#58: # %for.body.i1671 # in Loop: Header=BB18_57 Depth=2 - i32.const $push328=, 1 - i32.add $3=, $10, $pop328 - i64.const $push327=, 1 - i64.shl $7=, $pop327, $8 - i64.const $push326=, 1 - i64.add $push0=, $8, $pop326 + i32.const $push319=, 1 + i32.add $3=, $10, $pop319 + i64.const $push318=, 1 + i64.shl $7=, $pop318, $8 + i64.const $push317=, 1 + i64.add $push0=, $8, $pop317 copy_local $8=, $pop0 - i64.and $push73=, $7, $9 - i64.eqz $push74=, $pop73 - br_if 0, $pop74 # 0: up to label76 -.LBB18_59: # %my_ffsll.exit1693 + i64.and $push71=, $7, $9 + i64.eqz $push72=, $pop71 + br_if 0, $pop72 # 0: up to label76 +.LBB18_59: # %my_ffsll.exit1673 # in Loop: Header=BB18_55 Depth=1 end_loop # label77: end_block # label75: - i32.ne $push75=, $0, $10 - br_if 2, $pop75 # 2: down to label40 + i32.ne $push73=, $0, $10 + br_if 2, $pop73 # 2: down to label40 # BB#60: # %if.end100 # in Loop: Header=BB18_55 Depth=1 block br_if 0, $6 # 0: down to label78 # BB#61: # %land.lhs.true103 # in Loop: Header=BB18_55 Depth=1 - i64.clz $push76=, $9 - i32.wrap/i64 $3=, $pop76 + i64.clz $push74=, $9 + i32.wrap/i64 $3=, $pop74 i32.const $10=, 0 i64.const $7=, 0 i64.const $8=, 63 -.LBB18_62: # %for.body.i1763 +.LBB18_62: # %for.body.i1739 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label79: - i64.const $push331=, 1 - i64.const $push330=, 4294967295 - i64.and $push77=, $8, $pop330 - i64.shl $push78=, $pop331, $pop77 - i64.and $push79=, $pop78, $9 - i64.const $push329=, 0 - i64.ne $push80=, $pop79, $pop329 - br_if 1, $pop80 # 1: down to label80 -# BB#63: # %for.inc.i1767 + i64.const $push321=, 1 + i64.shl $push75=, $pop321, $8 + i64.and $push76=, $pop75, $9 + i64.const $push320=, 0 + i64.ne $push77=, $pop76, $pop320 + br_if 1, $pop77 # 1: down to label80 +# BB#63: # %for.inc.i1743 # in Loop: Header=BB18_62 Depth=2 - i64.const $push337=, -1 - i64.add $8=, $8, $pop337 - i32.const $push336=, 1 - i32.add $10=, $10, $pop336 - i64.const $push335=, 1 - i64.add $push334=, $7, $pop335 - tee_local $push333=, $7=, $pop334 - i64.const $push332=, 64 - i64.lt_u $push81=, $pop333, $pop332 - br_if 0, $pop81 # 0: up to label79 -.LBB18_64: # %my_clzll.exit1769 + i64.const $push327=, -1 + i64.add $8=, $8, $pop327 + i32.const $push326=, 1 + i32.add $10=, $10, $pop326 + i64.const $push325=, 1 + i64.add $push324=, $7, $pop325 + tee_local $push323=, $7=, $pop324 + i64.const $push322=, 64 + i64.lt_u $push78=, $pop323, $pop322 + br_if 0, $pop78 # 0: up to label79 +.LBB18_64: # %my_clzll.exit1745 # in Loop: Header=BB18_55 Depth=1 end_loop # label80: - i32.ne $push82=, $3, $10 - br_if 3, $pop82 # 3: down to label40 + i32.ne $push79=, $3, $10 + br_if 3, $pop79 # 3: down to label40 # BB#65: # %land.lhs.true113 # in Loop: Header=BB18_55 Depth=1 i32.wrap/i64 $3=, $4 i32.const $10=, 0 i64.const $8=, 0 -.LBB18_66: # %for.body.i1805 +.LBB18_66: # %for.body.i1781 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label81: - i64.const $push339=, 1 - i64.shl $push83=, $pop339, $8 - i64.and $push84=, $pop83, $9 - i64.const $push338=, 0 - i64.ne $push85=, $pop84, $pop338 - br_if 1, $pop85 # 1: down to label82 -# BB#67: # %for.inc.i1809 + i64.const $push329=, 1 + i64.shl $push80=, $pop329, $8 + i64.and $push81=, $pop80, $9 + i64.const $push328=, 0 + i64.ne $push82=, $pop81, $pop328 + br_if 1, $pop82 # 1: down to label82 +# BB#67: # %for.inc.i1785 # in Loop: Header=BB18_66 Depth=2 - i32.const $push344=, 1 - i32.add $10=, $10, $pop344 - i64.const $push343=, 1 - i64.add $push342=, $8, $pop343 - tee_local $push341=, $8=, $pop342 - i64.const $push340=, 64 - i64.lt_u $push86=, $pop341, $pop340 - br_if 0, $pop86 # 0: up to label81 -.LBB18_68: # %my_ctzll.exit1811 + i32.const $push334=, 1 + i32.add $10=, $10, $pop334 + i64.const $push333=, 1 + i64.add $push332=, $8, $pop333 + tee_local $push331=, $8=, $pop332 + i64.const $push330=, 64 + i64.lt_u $push83=, $pop331, $pop330 + br_if 0, $pop83 # 0: up to label81 +.LBB18_68: # %my_ctzll.exit1787 # in Loop: Header=BB18_55 Depth=1 end_loop # label82: - i32.ne $push87=, $3, $10 - br_if 3, $pop87 # 3: down to label40 + i32.ne $push84=, $3, $10 + br_if 3, $pop84 # 3: down to label40 .LBB18_69: # %if.end120 # in Loop: Header=BB18_55 Depth=1 end_block # label78: i32.call $3=, __builtin_clrsbll@FUNCTION, $9 - i64.load $push347=, 0($1) - tee_local $push346=, $9=, $pop347 - i64.const $push345=, 63 - i64.shr_u $4=, $pop346, $pop345 + i64.load $push337=, 0($1) + tee_local $push336=, $9=, $pop337 + i64.const $push335=, 63 + i64.shr_u $4=, $pop336, $pop335 i32.const $10=, 1 i64.const $7=, 1 i64.const $8=, 62 -.LBB18_70: # %for.body.i1869 +.LBB18_70: # %for.body.i1845 # 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, $4 - br_if 1, $pop90 # 1: down to label84 -# BB#71: # %for.inc.i1873 + i64.shr_u $push85=, $9, $8 + i64.const $push338=, 1 + i64.and $push86=, $pop85, $pop338 + i64.ne $push87=, $pop86, $4 + br_if 1, $pop87 # 1: down to label84 +# BB#71: # %for.inc.i1849 # 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 - br_if 0, $pop91 # 0: up to label83 -.LBB18_72: # %my_clrsbll.exit1876 + i64.const $push344=, -1 + i64.add $8=, $8, $pop344 + i32.const $push343=, 1 + i32.add $10=, $10, $pop343 + i64.const $push342=, 1 + i64.add $push341=, $7, $pop342 + tee_local $push340=, $7=, $pop341 + i64.const $push339=, 64 + i64.lt_u $push88=, $pop340, $pop339 + br_if 0, $pop88 # 0: up to label83 +.LBB18_72: # %my_clrsbll.exit1852 # in Loop: Header=BB18_55 Depth=1 end_loop # label84: - i32.const $push355=, -1 - i32.add $push92=, $10, $pop355 - i32.ne $push93=, $3, $pop92 - br_if 2, $pop93 # 2: down to label40 + i32.const $push345=, -1 + i32.add $push89=, $10, $pop345 + i32.ne $push90=, $3, $pop89 + br_if 2, $pop90 # 2: down to label40 # BB#73: # %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_74: # %for.body.i1928 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label85: - i64.const $push361=, 1 - i64.shl $push94=, $pop361, $8 - i64.and $push95=, $pop94, $9 - i64.const $push360=, 0 - i64.ne $push96=, $pop95, $pop360 - 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 - br_if 0, $pop97 # 0: up to label85 -# BB#75: # %my_popcountll.exit1953 + i64.const $push351=, 1 + i64.shl $push91=, $pop351, $8 + i64.and $push92=, $pop91, $9 + i64.const $push350=, 0 + i64.ne $push93=, $pop92, $pop350 + i32.add $10=, $pop93, $10 + i64.const $push349=, 1 + i64.add $push348=, $8, $pop349 + tee_local $push347=, $8=, $pop348 + i64.const $push346=, 64 + i64.ne $push94=, $pop347, $pop346 + br_if 0, $pop94 # 0: up to label85 +# BB#75: # %my_popcountll.exit1929 # 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 + i32.wrap/i64 $push95=, $7 + i32.ne $push96=, $pop95, $10 + br_if 2, $pop96 # 2: down to label40 +# BB#76: # %for.body.i2005.preheader # in Loop: Header=BB18_55 Depth=1 i32.const $3=, 0 i64.const $8=, 0 -.LBB18_77: # %for.body.i2029 +.LBB18_77: # %for.body.i2005 # Parent Loop BB18_55 Depth=1 # => This Inner Loop Header: Depth=2 loop # label87: - i64.const $push367=, 1 - i64.shl $push100=, $pop367, $8 - i64.and $push101=, $pop100, $9 - i64.const $push366=, 0 - i64.ne $push102=, $pop101, $pop366 - i32.add $3=, $pop102, $3 - i64.const $push365=, 1 - i64.add $push364=, $8, $pop365 - tee_local $push363=, $8=, $pop364 - i64.const $push362=, 64 - i64.ne $push103=, $pop363, $pop362 - br_if 0, $pop103 # 0: up to label87 -# BB#78: # %my_parityll.exit2031 + i64.const $push357=, 1 + i64.shl $push97=, $pop357, $8 + i64.and $push98=, $pop97, $9 + i64.const $push356=, 0 + i64.ne $push99=, $pop98, $pop356 + i32.add $3=, $pop99, $3 + i64.const $push355=, 1 + i64.add $push354=, $8, $pop355 + tee_local $push353=, $8=, $pop354 + i64.const $push352=, 64 + i64.ne $push100=, $pop353, $pop352 + br_if 0, $pop100 # 0: up to label87 +# BB#78: # %my_parityll.exit2007 # in Loop: Header=BB18_55 Depth=1 end_loop # label88: - i32.xor $push104=, $3, $10 - i32.const $push368=, 1 - i32.and $push105=, $pop104, $pop368 - br_if 3, $pop105 # 3: down to label39 + i32.xor $push101=, $3, $10 + i32.const $push358=, 1 + i32.and $push102=, $pop101, $pop358 + br_if 3, $pop102 # 3: down to label39 # BB#79: # %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 - br_if 0, $pop106 # 0: up to label73 + i32.const $push362=, 1 + i32.add $push361=, $5, $pop362 + tee_local $push360=, $5=, $pop361 + i32.const $push359=, 12 + i32.le_u $push103=, $pop360, $pop359 + br_if 0, $pop103 # 0: up to label73 # BB#80: # %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 - 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 + i32.const $push104=, 0 + i32.call $push105=, __builtin_clrsb@FUNCTION, $pop104 + i32.const $push106=, 31 + i32.ne $push107=, $pop105, $pop106 + br_if 0, $pop107 # 0: down to label40 +# BB#81: # %my_clrsb.exit2515 + i32.const $push108=, 1 + i32.call $push109=, __builtin_clrsb@FUNCTION, $pop108 + i32.const $push110=, 30 + i32.ne $push111=, $pop109, $pop110 + br_if 0, $pop111 # 0: down to label40 # BB#82: # %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 - i32.const $push117=, 1073741824 - i32.call $push118=, __builtin_clrsb@FUNCTION, $pop117 - br_if 0, $pop118 # 0: down to label40 -# BB#84: # %my_clrsb.exit2312 - 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 - 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 - i32.const $push127=, -1515870811 - i32.call $push128=, __builtin_clrsb@FUNCTION, $pop127 - br_if 0, $pop128 # 0: down to label40 -# BB#87: # %my_clrsb.exit2097 - i32.const $push129=, 1515870810 - i32.call $push130=, __builtin_clrsb@FUNCTION, $pop129 - br_if 0, $pop130 # 0: down to label40 -# BB#88: # %for.body.i2013 - 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 - 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 - 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 + i32.const $push112=, -2147483648 + i32.call $push113=, __builtin_clrsb@FUNCTION, $pop112 + br_if 0, $pop113 # 0: down to label40 +# BB#83: # %my_clrsb.exit2362 + i32.const $push114=, 1073741824 + i32.call $push115=, __builtin_clrsb@FUNCTION, $pop114 + br_if 0, $pop115 # 0: down to label40 +# BB#84: # %my_clrsb.exit2288 + i32.const $push116=, 65536 + i32.call $push117=, __builtin_clrsb@FUNCTION, $pop116 + i32.const $push118=, 14 + i32.ne $push119=, $pop117, $pop118 + br_if 0, $pop119 # 0: down to label40 +# BB#85: # %my_clrsb.exit2215 + i32.const $push120=, 32768 + i32.call $push121=, __builtin_clrsb@FUNCTION, $pop120 + i32.const $push122=, 15 + i32.ne $push123=, $pop121, $pop122 + br_if 0, $pop123 # 0: down to label40 +# BB#86: # %my_clrsb.exit2140 + i32.const $push124=, -1515870811 + i32.call $push125=, __builtin_clrsb@FUNCTION, $pop124 + br_if 0, $pop125 # 0: down to label40 +# BB#87: # %my_clrsb.exit2073 + i32.const $push126=, 1515870810 + i32.call $push127=, __builtin_clrsb@FUNCTION, $pop126 + br_if 0, $pop127 # 0: down to label40 +# BB#88: # %for.body.i1989 + i32.const $push128=, -889323520 + i32.call $push129=, __builtin_clrsb@FUNCTION, $pop128 + i32.const $push130=, 1 + i32.ne $push131=, $pop129, $pop130 + br_if 0, $pop131 # 0: down to label40 +# BB#89: # %for.body.i1912 + i32.const $push132=, 13303296 + i32.call $push133=, __builtin_clrsb@FUNCTION, $pop132 + i32.const $push134=, 7 + i32.ne $push135=, $pop133, $pop134 + br_if 0, $pop135 # 0: down to label40 +# BB#90: # %for.body.i1832 + i32.const $push136=, 51966 + i32.call $push137=, __builtin_clrsb@FUNCTION, $pop136 + i32.const $push138=, 15 + i32.ne $push139=, $pop137, $pop138 + br_if 0, $pop139 # 0: down to label40 # BB#91: # %if.end423 - i32.const $push373=, -1 - i32.call $5=, __builtin_clrsb@FUNCTION, $pop373 + i32.const $push363=, -1 + i32.call $5=, __builtin_clrsb@FUNCTION, $pop363 i32.const $10=, 30 i32.const $3=, 1 -.LBB18_92: # %for.body.i1793 +.LBB18_92: # %for.body.i1769 # =>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 + i32.const $push365=, -1 + i32.shr_u $push140=, $pop365, $10 + i32.const $push364=, 1 + i32.and $push141=, $pop140, $pop364 + i32.eqz $push403=, $pop141 + br_if 1, $pop403 # 1: down to label90 +# BB#93: # %for.inc.i1772 # in Loop: Header=BB18_92 Depth=1 - i32.const $push380=, -1 - i32.add $10=, $10, $pop380 - i32.const $push379=, 1 - i32.add $push378=, $3, $pop379 - tee_local $push377=, $3=, $pop378 - i32.const $push376=, 32 - i32.lt_u $push145=, $pop377, $pop376 - br_if 0, $pop145 # 0: up to label89 -.LBB18_94: # %my_clrsb.exit1799 + i32.const $push370=, -1 + i32.add $10=, $10, $pop370 + i32.const $push369=, 1 + i32.add $push368=, $3, $pop369 + tee_local $push367=, $3=, $pop368 + i32.const $push366=, 32 + i32.lt_u $push142=, $pop367, $pop366 + br_if 0, $pop142 # 0: up to label89 +.LBB18_94: # %my_clrsb.exit1775 end_loop # label90: - i32.const $push146=, -1 - i32.add $push147=, $3, $pop146 - i32.ne $push148=, $5, $pop147 - br_if 0, $pop148 # 0: down to label40 + i32.const $push143=, -1 + i32.add $push144=, $3, $pop143 + i32.ne $push145=, $5, $pop144 + br_if 0, $pop145 # 0: down to label40 # BB#95: # %if.end440 - i64.const $9=, 0 - i64.const $push381=, 0 - i32.call $push149=, __builtin_clrsbll@FUNCTION, $pop381 - i32.const $push150=, 63 - i32.ne $push151=, $pop149, $pop150 - br_if 0, $pop151 # 0: down to label40 -# BB#96: # %for.body.i1713.preheader - i32.const $10=, 0 - i64.const $8=, 63 -.LBB18_97: # %for.body.i1713 + i64.const $8=, 0 + i64.const $push371=, 0 + i32.call $push146=, __builtin_clrsbll@FUNCTION, $pop371 + i32.const $push147=, 63 + i32.ne $push148=, $pop146, $pop147 + br_if 0, $pop148 # 0: down to label40 +# BB#96: # %for.body.i1691.preheader +.LBB18_97: # %for.body.i1691 # =>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 + block + loop # label92: + i64.const $push372=, 63 + i64.eq $push149=, $8, $pop372 + br_if 2, $pop149 # 2: down to label91 +# BB#98: # %for.inc.i1695 # 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 - br_if 0, $pop153 # 0: up to label91 -.LBB18_99: # %my_clzll.exit1719 - 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 $3=, __builtin_clrsbll@FUNCTION, $pop388 + i64.const $push376=, 1 + i64.add $push375=, $8, $pop376 + tee_local $push374=, $8=, $pop375 + i64.const $push373=, 64 + i64.lt_u $push150=, $pop374, $pop373 + br_if 0, $pop150 # 0: up to label92 +# BB#99: # %if.then460 + end_loop # label93: + call abort@FUNCTION + unreachable +.LBB18_100: # %if.end465 + end_block # label91: + i64.const $push377=, 1 + i32.call $3=, __builtin_clrsbll@FUNCTION, $pop377 i64.const $8=, 1 -.LBB18_101: # %for.body.i1675 +.LBB18_101: # %for.body.i1655 # =>This Inner Loop Header: Depth=1 - loop # label93: + loop # label94: i32.const $10=, 62 - i64.const $push389=, 63 - i64.eq $push156=, $8, $pop389 - br_if 1, $pop156 # 1: down to label94 -# BB#102: # %for.inc.i1679 + i64.const $push378=, 63 + i64.eq $push151=, $8, $pop378 + br_if 1, $pop151 # 1: down to label95 +# BB#102: # %for.inc.i1659 # in Loop: Header=BB18_101 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 - br_if 0, $pop157 # 0: up to label93 -.LBB18_103: # %my_clrsbll.exit1682 - end_loop # label94: - i32.ne $push158=, $3, $10 - br_if 0, $pop158 # 0: down to label40 -# BB#104: # %for.body.i1616.preheader + i64.const $push382=, 1 + i64.add $push381=, $8, $pop382 + tee_local $push380=, $8=, $pop381 + i64.const $push379=, 64 + i64.lt_u $push152=, $pop380, $pop379 + br_if 0, $pop152 # 0: up to label94 +.LBB18_103: # %my_clrsbll.exit1662 + end_loop # label95: + i32.ne $push153=, $3, $10 + br_if 0, $pop153 # 0: down to label40 +# BB#104: # %for.body.i1598.preheader i64.const $8=, 0 -.LBB18_105: # %for.body.i1616 +.LBB18_105: # %for.body.i1598 # =>This Inner Loop Header: Depth=1 block - loop # label96: - i64.const $push394=, 63 - i64.eq $push159=, $8, $pop394 - br_if 2, $pop159 # 2: down to label95 -# BB#106: # %for.inc.i1620 + loop # label97: + i64.const $push383=, 63 + i64.eq $push154=, $8, $pop383 + br_if 2, $pop154 # 2: down to label96 +# BB#106: # %for.inc.i1602 # 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 - br_if 0, $pop160 # 0: up to label96 + i64.const $push387=, 1 + i64.add $push386=, $8, $pop387 + tee_local $push385=, $8=, $pop386 + i64.const $push384=, 64 + i64.lt_u $push155=, $pop385, $pop384 + br_if 0, $pop155 # 0: up to label97 # BB#107: # %if.then489 - end_loop # label97: + end_loop # label98: call abort@FUNCTION unreachable .LBB18_108: # %if.end490 - 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 - i32.const $10=, 63 - i64.const $8=, 63 -.LBB18_110: # %for.body.i1547 - # =>This Inner Loop Header: Depth=1 - loop # label98: - i32.const $push401=, -1 - i32.add $10=, $10, $pop401 - i32.wrap/i64 $3=, $8 - i64.const $push400=, -1 - i64.add $push1=, $8, $pop400 - copy_local $8=, $pop1 - i32.const $push399=, 1 - i32.ne $push163=, $3, $pop399 - br_if 0, $pop163 # 0: up to label98 -# BB#111: # %my_clzll.exit1553 - end_loop # label99: - br_if 0, $10 # 0: down to label40 -# BB#112: # %for.body.i1510 - i64.const $push164=, 2 + end_block # label96: + i64.const $push156=, -9223372036854775808 + i32.call $push157=, __builtin_clrsbll@FUNCTION, $pop156 + br_if 0, $pop157 # 0: down to label40 +# BB#109: # %for.body.i1494 + i64.const $push158=, 2 + i32.call $push159=, __builtin_clrsbll@FUNCTION, $pop158 + i32.const $push160=, 61 + i32.ne $push161=, $pop159, $pop160 + br_if 0, $pop161 # 0: down to label40 +# BB#110: # %my_clrsbll.exit1419 + i64.const $push162=, 4611686018427387904 + i32.call $push163=, __builtin_clrsbll@FUNCTION, $pop162 + br_if 0, $pop163 # 0: down to label40 +# BB#111: # %for.body.i1333 + i64.const $push164=, 4294967296 i32.call $push165=, __builtin_clrsbll@FUNCTION, $pop164 - i32.const $push166=, 61 + i32.const $push166=, 30 i32.ne $push167=, $pop165, $pop166 br_if 0, $pop167 # 0: down to label40 -# BB#113: # %my_clrsbll.exit1433 - i64.const $push168=, 4611686018427387904 +# BB#112: # %for.body.i1253 + i64.const $push168=, 2147483648 i32.call $push169=, __builtin_clrsbll@FUNCTION, $pop168 - br_if 0, $pop169 # 0: down to label40 -# BB#114: # %for.body.i1345 - i64.const $push170=, 4294967296 - i32.call $push171=, __builtin_clrsbll@FUNCTION, $pop170 - i32.const $push172=, 30 - i32.ne $push173=, $pop171, $pop172 + i32.const $push170=, 31 + i32.ne $push171=, $pop169, $pop170 + br_if 0, $pop171 # 0: down to label40 +# BB#113: # %my_clrsbll.exit1180 + i64.const $push172=, -6510615555426900571 + i32.call $push173=, __builtin_clrsbll@FUNCTION, $pop172 br_if 0, $pop173 # 0: down to label40 -# BB#115: # %for.body.i1263 - i64.const $push174=, 2147483648 +# BB#114: # %my_clrsbll.exit1100 + i64.const $push174=, 6510615555426900570 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, $pop175 # 0: down to label40 +# BB#115: # %for.body.i1015 + i64.const $push176=, -3819392241693097984 + i32.call $push177=, __builtin_clrsbll@FUNCTION, $pop176 + i32.const $push178=, 1 + i32.ne $push179=, $pop177, $pop178 br_if 0, $pop179 # 0: down to label40 -# BB#117: # %my_clrsbll.exit1106 - i64.const $push180=, 6510615555426900570 +# BB#116: # %for.body.i939 + i64.const $push180=, 223195676147712 i32.call $push181=, __builtin_clrsbll@FUNCTION, $pop180 - br_if 0, $pop181 # 0: down to label40 -# BB#118: # %for.body.i1019 - i64.const $push182=, -3819392241693097984 - 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 - i32.const $10=, 33 - i64.const $8=, 63 -.LBB18_121: # %for.body.i898 - # =>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 $push2=, $8, $pop404 - copy_local $8=, $pop2 - 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: - 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 $3=, __builtin_clrsbll@FUNCTION, $pop407 + i32.const $push182=, 15 + i32.ne $push183=, $pop181, $pop182 + br_if 0, $pop183 # 0: down to label40 +# BB#117: # %for.body.i864 + i64.const $push184=, 3405695742 + i32.call $push185=, __builtin_clrsbll@FUNCTION, $pop184 + i32.const $push186=, 31 + i32.ne $push187=, $pop185, $pop186 + br_if 0, $pop187 # 0: down to label40 +# BB#118: # %if.end740 + i64.const $push388=, -1 + i32.call $3=, __builtin_clrsbll@FUNCTION, $pop388 i64.const $8=, 62 i64.const $9=, 1 i32.const $10=, 1 -.LBB18_125: # %for.body.i810 +.LBB18_119: # %for.body.i810 # =>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=, $3, $pop202 - br_if 0, $pop203 # 0: down to label40 -# BB#128: # %if.end753 - i32.const $push204=, 0 - call exit@FUNCTION, $pop204 + loop # label99: + i64.const $push390=, -1 + i64.shr_u $push188=, $pop390, $8 + i64.const $push389=, 1 + i64.and $push189=, $pop188, $pop389 + i64.eqz $push190=, $pop189 + br_if 1, $pop190 # 1: down to label100 +# BB#120: # %for.inc.i + # in Loop: Header=BB18_119 Depth=1 + i64.const $push396=, -1 + i64.add $8=, $8, $pop396 + i32.const $push395=, 1 + i32.add $10=, $10, $pop395 + i64.const $push394=, 1 + i64.add $push393=, $9, $pop394 + tee_local $push392=, $9=, $pop393 + i64.const $push391=, 64 + i64.lt_u $push191=, $pop392, $pop391 + br_if 0, $pop191 # 0: up to label99 +.LBB18_121: # %my_clrsbll.exit + end_loop # label100: + i32.const $push192=, -1 + i32.add $push193=, $10, $pop192 + i32.ne $push194=, $3, $pop193 + br_if 0, $pop194 # 0: down to label40 +# BB#122: # %if.end753 + i32.const $push195=, 0 + call exit@FUNCTION, $pop195 unreachable -.LBB18_129: # %if.then37 +.LBB18_123: # %if.then37 end_block # label40: call abort@FUNCTION unreachable -.LBB18_130: # %if.then140 +.LBB18_124: # %if.then140 end_block # label39: call abort@FUNCTION unreachable diff --git a/test/torture-s/cmpdi-1.c.s b/test/torture-s/cmpdi-1.c.s index 8a5580174..654f769a7 100644 --- a/test/torture-s/cmpdi-1.c.s +++ b/test/torture-s/cmpdi-1.c.s @@ -25,9 +25,9 @@ fne: # @fne .param i64, i64 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - i64.ne $push0=, $0, $1 + i32.const $push2=, 140 + i32.const $push1=, 13 + i64.eq $push0=, $0, $1 i32.select $push3=, $pop2, $pop1, $pop0 # fallthrough-return: $pop3 .endfunc @@ -59,9 +59,9 @@ fge: # @fge .param i64, i64 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - i64.ge_s $push0=, $0, $1 + i32.const $push2=, 140 + i32.const $push1=, 13 + i64.lt_s $push0=, $0, $1 i32.select $push3=, $pop2, $pop1, $pop0 # fallthrough-return: $pop3 .endfunc @@ -93,9 +93,9 @@ fle: # @fle .param i64, i64 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - i64.le_s $push0=, $0, $1 + i32.const $push2=, 140 + i32.const $push1=, 13 + i64.gt_s $push0=, $0, $1 i32.select $push3=, $pop2, $pop1, $pop0 # fallthrough-return: $pop3 .endfunc @@ -127,9 +127,9 @@ fgeu: # @fgeu .param i64, i64 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - i64.ge_u $push0=, $0, $1 + i32.const $push2=, 140 + i32.const $push1=, 13 + i64.lt_u $push0=, $0, $1 i32.select $push3=, $pop2, $pop1, $pop0 # fallthrough-return: $pop3 .endfunc @@ -161,9 +161,9 @@ fleu: # @fleu .param i64, i64 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - i64.le_u $push0=, $0, $1 + i32.const $push2=, 140 + i32.const $push1=, 13 + i64.gt_u $push0=, $0, $1 i32.select $push3=, $pop2, $pop1, $pop0 # fallthrough-return: $pop3 .endfunc @@ -176,7 +176,7 @@ fleu: # @fleu .type main,@function main: # @main .result i32 - .local i32, i64, i32, i32, i32, i64 + .local i32, i64, i32, i32, i32, i64, i32 # BB#0: # %entry i32.const $4=, correct_results i32.const $0=, 0 @@ -186,124 +186,124 @@ main: # @main block loop # label1: i32.const $2=, args - i32.const $push55=, 3 - i32.shl $push0=, $0, $pop55 - i32.const $push54=, args - i32.add $push1=, $pop0, $pop54 + i32.const $push45=, 3 + i32.shl $push0=, $0, $pop45 + i32.const $push44=, args + i32.add $push1=, $pop0, $pop44 i64.load $1=, 0($pop1) i32.const $3=, 0 .LBB10_2: # %for.body3 # Parent Loop BB10_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label3: - i32.const $push59=, 13 - i32.const $push58=, 140 - i64.load $push57=, 0($2) - tee_local $push56=, $5=, $pop57 - i64.eq $push2=, $1, $pop56 - i32.select $push3=, $pop59, $pop58, $pop2 - i32.load $push4=, 0($4) - i32.ne $push5=, $pop3, $pop4 - br_if 4, $pop5 # 4: down to label0 + i32.const $push51=, 13 + i32.const $push50=, 140 + i64.load $push49=, 0($2) + tee_local $push48=, $5=, $pop49 + i64.eq $push47=, $1, $pop48 + tee_local $push46=, $6=, $pop47 + i32.select $push2=, $pop51, $pop50, $pop46 + i32.load $push3=, 0($4) + i32.ne $push4=, $pop2, $pop3 + br_if 4, $pop4 # 4: down to label0 # BB#3: # %if.end # in Loop: Header=BB10_2 Depth=2 - i32.const $push62=, 13 - i32.const $push61=, 140 - i64.ne $push6=, $1, $5 - i32.select $push7=, $pop62, $pop61, $pop6 - i32.const $push60=, 4 - i32.add $push8=, $4, $pop60 - i32.load $push9=, 0($pop8) - i32.ne $push10=, $pop7, $pop9 - br_if 4, $pop10 # 4: down to label0 + i32.const $push54=, 140 + i32.const $push53=, 13 + i32.select $push5=, $pop54, $pop53, $6 + i32.const $push52=, 4 + i32.add $push6=, $4, $pop52 + i32.load $push7=, 0($pop6) + i32.ne $push8=, $pop5, $pop7 + br_if 4, $pop8 # 4: down to label0 # BB#4: # %if.end10 # in Loop: Header=BB10_2 Depth=2 - i32.const $push65=, 13 - i32.const $push64=, 140 - i64.lt_s $push11=, $1, $5 - i32.select $push12=, $pop65, $pop64, $pop11 - i32.const $push63=, 8 - i32.add $push13=, $4, $pop63 - i32.load $push14=, 0($pop13) - i32.ne $push15=, $pop12, $pop14 - br_if 4, $pop15 # 4: down to label0 + i32.const $push59=, 13 + i32.const $push58=, 140 + i64.lt_s $push57=, $1, $5 + tee_local $push56=, $6=, $pop57 + i32.select $push9=, $pop59, $pop58, $pop56 + i32.const $push55=, 8 + i32.add $push10=, $4, $pop55 + i32.load $push11=, 0($pop10) + i32.ne $push12=, $pop9, $pop11 + br_if 4, $pop12 # 4: down to label0 # BB#5: # %if.end15 # in Loop: Header=BB10_2 Depth=2 - i32.const $push68=, 13 - i32.const $push67=, 140 - i64.ge_s $push16=, $1, $5 - i32.select $push17=, $pop68, $pop67, $pop16 - i32.const $push66=, 12 - i32.add $push18=, $4, $pop66 + i32.const $push62=, 140 + i32.const $push61=, 13 + i32.select $push13=, $pop62, $pop61, $6 + i32.const $push60=, 12 + i32.add $push14=, $4, $pop60 + i32.load $push15=, 0($pop14) + i32.ne $push16=, $pop13, $pop15 + br_if 4, $pop16 # 4: down to label0 +# BB#6: # %if.end20 + # in Loop: Header=BB10_2 Depth=2 + i32.const $push67=, 13 + i32.const $push66=, 140 + i64.gt_s $push65=, $1, $5 + tee_local $push64=, $6=, $pop65 + i32.select $push17=, $pop67, $pop66, $pop64 + i32.const $push63=, 16 + i32.add $push18=, $4, $pop63 i32.load $push19=, 0($pop18) i32.ne $push20=, $pop17, $pop19 br_if 4, $pop20 # 4: down to label0 -# BB#6: # %if.end20 - # in Loop: Header=BB10_2 Depth=2 - i32.const $push71=, 13 - i32.const $push70=, 140 - i64.gt_s $push21=, $1, $5 - i32.select $push22=, $pop71, $pop70, $pop21 - i32.const $push69=, 16 - i32.add $push23=, $4, $pop69 - i32.load $push24=, 0($pop23) - i32.ne $push25=, $pop22, $pop24 - br_if 4, $pop25 # 4: down to label0 # BB#7: # %if.end25 # in Loop: Header=BB10_2 Depth=2 - i32.const $push74=, 13 - i32.const $push73=, 140 - i64.le_s $push26=, $1, $5 - i32.select $push27=, $pop74, $pop73, $pop26 - i32.const $push72=, 20 - i32.add $push28=, $4, $pop72 - i32.load $push29=, 0($pop28) - i32.ne $push30=, $pop27, $pop29 - br_if 4, $pop30 # 4: down to label0 + i32.const $push70=, 140 + i32.const $push69=, 13 + i32.select $push21=, $pop70, $pop69, $6 + i32.const $push68=, 20 + i32.add $push22=, $4, $pop68 + i32.load $push23=, 0($pop22) + i32.ne $push24=, $pop21, $pop23 + br_if 4, $pop24 # 4: down to label0 # BB#8: # %if.end30 # in Loop: Header=BB10_2 Depth=2 - i32.const $push77=, 13 - i32.const $push76=, 140 - i64.lt_u $push31=, $1, $5 - i32.select $push32=, $pop77, $pop76, $pop31 - i32.const $push75=, 24 - i32.add $push33=, $4, $pop75 - i32.load $push34=, 0($pop33) - i32.ne $push35=, $pop32, $pop34 - br_if 4, $pop35 # 4: down to label0 + i32.const $push75=, 13 + i32.const $push74=, 140 + i64.lt_u $push73=, $1, $5 + tee_local $push72=, $6=, $pop73 + i32.select $push25=, $pop75, $pop74, $pop72 + i32.const $push71=, 24 + i32.add $push26=, $4, $pop71 + i32.load $push27=, 0($pop26) + i32.ne $push28=, $pop25, $pop27 + br_if 4, $pop28 # 4: down to label0 # BB#9: # %if.end35 # in Loop: Header=BB10_2 Depth=2 - i32.const $push80=, 13 - i32.const $push79=, 140 - i64.ge_u $push36=, $1, $5 - i32.select $push37=, $pop80, $pop79, $pop36 - i32.const $push78=, 28 - i32.add $push38=, $4, $pop78 - i32.load $push39=, 0($pop38) - i32.ne $push40=, $pop37, $pop39 - br_if 4, $pop40 # 4: down to label0 + i32.const $push78=, 140 + i32.const $push77=, 13 + i32.select $push29=, $pop78, $pop77, $6 + i32.const $push76=, 28 + i32.add $push30=, $4, $pop76 + i32.load $push31=, 0($pop30) + i32.ne $push32=, $pop29, $pop31 + br_if 4, $pop32 # 4: down to label0 # BB#10: # %if.end40 # in Loop: Header=BB10_2 Depth=2 i32.const $push83=, 13 i32.const $push82=, 140 - i64.gt_u $push41=, $1, $5 - i32.select $push42=, $pop83, $pop82, $pop41 - i32.const $push81=, 32 - i32.add $push43=, $4, $pop81 - i32.load $push44=, 0($pop43) - i32.ne $push45=, $pop42, $pop44 - br_if 4, $pop45 # 4: down to label0 + i64.gt_u $push81=, $1, $5 + tee_local $push80=, $6=, $pop81 + i32.select $push33=, $pop83, $pop82, $pop80 + i32.const $push79=, 32 + i32.add $push34=, $4, $pop79 + i32.load $push35=, 0($pop34) + i32.ne $push36=, $pop33, $pop35 + br_if 4, $pop36 # 4: down to label0 # BB#11: # %if.end45 # in Loop: Header=BB10_2 Depth=2 - i32.const $push86=, 13 - i32.const $push85=, 140 - i64.le_u $push46=, $1, $5 - i32.select $push47=, $pop86, $pop85, $pop46 + i32.const $push86=, 140 + i32.const $push85=, 13 + i32.select $push37=, $pop86, $pop85, $6 i32.const $push84=, 36 - i32.add $push48=, $4, $pop84 - i32.load $push49=, 0($pop48) - i32.ne $push50=, $pop47, $pop49 - br_if 4, $pop50 # 4: down to label0 + i32.add $push38=, $4, $pop84 + i32.load $push39=, 0($pop38) + i32.ne $push40=, $pop37, $pop39 + br_if 4, $pop40 # 4: down to label0 # BB#12: # %if.end50 # in Loop: Header=BB10_2 Depth=2 i32.const $push92=, 40 @@ -314,8 +314,8 @@ main: # @main i32.add $push89=, $3, $pop90 tee_local $push88=, $3=, $pop89 i32.const $push87=, 8 - i32.lt_s $push51=, $pop88, $pop87 - br_if 0, $pop51 # 0: up to label3 + i32.lt_s $push41=, $pop88, $pop87 + br_if 0, $pop41 # 0: up to label3 # BB#13: # %for.end # in Loop: Header=BB10_1 Depth=1 end_loop # label4: @@ -323,12 +323,12 @@ main: # @main i32.add $push95=, $0, $pop96 tee_local $push94=, $0=, $pop95 i32.const $push93=, 8 - i32.lt_s $push52=, $pop94, $pop93 - br_if 0, $pop52 # 0: up to label1 + i32.lt_s $push42=, $pop94, $pop93 + br_if 0, $pop42 # 0: up to label1 # BB#14: # %for.end53 end_loop # label2: - i32.const $push53=, 0 - call exit@FUNCTION, $pop53 + i32.const $push43=, 0 + call exit@FUNCTION, $pop43 unreachable .LBB10_15: # %if.then49 end_block # label0: diff --git a/test/torture-s/cmpsf-1.c.s b/test/torture-s/cmpsf-1.c.s index c126e5983..bbede4215 100644 --- a/test/torture-s/cmpsf-1.c.s +++ b/test/torture-s/cmpsf-1.c.s @@ -59,11 +59,15 @@ fge: # @fge .param f32, f32 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - f32.ge $push0=, $0, $1 - i32.select $push3=, $pop2, $pop1, $pop0 - # fallthrough-return: $pop3 + i32.const $push6=, 140 + i32.const $push5=, 13 + f32.lt $push0=, $0, $1 + f32.ne $push2=, $0, $0 + f32.ne $push1=, $1, $1 + i32.or $push3=, $pop2, $pop1 + i32.or $push4=, $pop0, $pop3 + i32.select $push7=, $pop6, $pop5, $pop4 + # fallthrough-return: $pop7 .endfunc .Lfunc_end3: .size fge, .Lfunc_end3-fge @@ -93,11 +97,15 @@ fle: # @fle .param f32, f32 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - f32.le $push0=, $0, $1 - i32.select $push3=, $pop2, $pop1, $pop0 - # fallthrough-return: $pop3 + i32.const $push6=, 140 + i32.const $push5=, 13 + f32.gt $push0=, $0, $1 + f32.ne $push2=, $0, $0 + f32.ne $push1=, $1, $1 + i32.or $push3=, $pop2, $pop1 + i32.or $push4=, $pop0, $pop3 + i32.select $push7=, $pop6, $pop5, $pop4 + # fallthrough-return: $pop7 .endfunc .Lfunc_end5: .size fle, .Lfunc_end5-fle @@ -108,7 +116,7 @@ fle: # @fle .type main,@function main: # @main .result i32 - .local i32, f32, i32, i32, i32, f32 + .local i32, f32, i32, i32, i32, f32, i32, i32 # BB#0: # %entry i32.const $4=, correct_results i32.const $0=, 0 @@ -150,68 +158,74 @@ main: # @main br_if 4, $pop10 # 4: down to label0 # BB#4: # %if.end10 # in Loop: Header=BB6_2 Depth=2 - i32.const $push45=, 13 - i32.const $push44=, 140 - f32.lt $push11=, $1, $5 - i32.select $push12=, $pop45, $pop44, $pop11 + i32.const $push47=, 13 + i32.const $push46=, 140 + f32.lt $push45=, $1, $5 + tee_local $push44=, $6=, $pop45 + i32.select $push11=, $pop47, $pop46, $pop44 i32.const $push43=, 8 - i32.add $push13=, $4, $pop43 - i32.load $push14=, 0($pop13) - i32.ne $push15=, $pop12, $pop14 - br_if 4, $pop15 # 4: down to label0 + i32.add $push12=, $4, $pop43 + i32.load $push13=, 0($pop12) + i32.ne $push14=, $pop11, $pop13 + br_if 4, $pop14 # 4: down to label0 # BB#5: # %if.end15 # in Loop: Header=BB6_2 Depth=2 - i32.const $push48=, 13 - i32.const $push47=, 140 - f32.ge $push16=, $1, $5 - i32.select $push17=, $pop48, $pop47, $pop16 - i32.const $push46=, 12 - i32.add $push18=, $4, $pop46 - i32.load $push19=, 0($pop18) - i32.ne $push20=, $pop17, $pop19 - br_if 4, $pop20 # 4: down to label0 + i32.const $push52=, 140 + i32.const $push51=, 13 + f32.ne $push16=, $1, $1 + f32.ne $push15=, $5, $5 + i32.or $push50=, $pop16, $pop15 + tee_local $push49=, $7=, $pop50 + i32.or $push17=, $6, $pop49 + i32.select $push18=, $pop52, $pop51, $pop17 + i32.const $push48=, 12 + i32.add $push19=, $4, $pop48 + i32.load $push20=, 0($pop19) + i32.ne $push21=, $pop18, $pop20 + br_if 4, $pop21 # 4: down to label0 # BB#6: # %if.end20 # in Loop: Header=BB6_2 Depth=2 - i32.const $push51=, 13 - i32.const $push50=, 140 - f32.gt $push21=, $1, $5 - i32.select $push22=, $pop51, $pop50, $pop21 - i32.const $push49=, 16 - i32.add $push23=, $4, $pop49 + i32.const $push57=, 13 + i32.const $push56=, 140 + f32.gt $push55=, $1, $5 + tee_local $push54=, $6=, $pop55 + i32.select $push22=, $pop57, $pop56, $pop54 + i32.const $push53=, 16 + i32.add $push23=, $4, $pop53 i32.load $push24=, 0($pop23) i32.ne $push25=, $pop22, $pop24 br_if 4, $pop25 # 4: down to label0 # BB#7: # %if.end25 # in Loop: Header=BB6_2 Depth=2 - i32.const $push54=, 13 - i32.const $push53=, 140 - f32.le $push26=, $1, $5 - i32.select $push27=, $pop54, $pop53, $pop26 - i32.const $push52=, 20 - i32.add $push28=, $4, $pop52 + i32.const $push60=, 140 + i32.const $push59=, 13 + i32.or $push26=, $6, $7 + i32.select $push27=, $pop60, $pop59, $pop26 + i32.const $push58=, 20 + i32.add $push28=, $4, $pop58 i32.load $push29=, 0($pop28) i32.ne $push30=, $pop27, $pop29 br_if 4, $pop30 # 4: down to label0 # BB#8: # %if.end30 # in Loop: Header=BB6_2 Depth=2 - i32.const $push60=, 24 - i32.add $4=, $4, $pop60 - i32.const $push59=, 4 - i32.add $2=, $2, $pop59 - i32.const $push58=, 1 - i32.add $push57=, $3, $pop58 - tee_local $push56=, $3=, $pop57 - i32.const $push55=, 8 - i32.lt_s $push31=, $pop56, $pop55 + i32.const $push66=, 24 + i32.add $4=, $4, $pop66 + i32.const $push65=, 4 + i32.add $2=, $2, $pop65 + i32.const $push64=, 1 + i32.add $push63=, $3, $pop64 + tee_local $push62=, $3=, $pop63 + i32.const $push61=, 8 + i32.lt_s $push31=, $pop62, $pop61 br_if 0, $pop31 # 0: up to label3 # BB#9: # %for.end # in Loop: Header=BB6_1 Depth=1 end_loop # label4: - i32.const $push64=, 1 - i32.add $push63=, $0, $pop64 - tee_local $push62=, $0=, $pop63 - i32.const $push61=, 8 - i32.lt_s $push32=, $pop62, $pop61 + i32.const $push70=, 1 + i32.add $push69=, $0, $pop70 + tee_local $push68=, $0=, $pop69 + i32.const $push67=, 8 + i32.lt_s $push32=, $pop68, $pop67 br_if 0, $pop32 # 0: up to label1 # BB#10: # %for.end33 end_loop # label2: diff --git a/test/torture-s/cmpsi-2.c.s b/test/torture-s/cmpsi-2.c.s index daade55ab..73b7643c3 100644 --- a/test/torture-s/cmpsi-2.c.s +++ b/test/torture-s/cmpsi-2.c.s @@ -25,9 +25,9 @@ fne: # @fne .param i32, i32 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - i32.ne $push0=, $0, $1 + i32.const $push2=, 140 + i32.const $push1=, 13 + i32.eq $push0=, $0, $1 i32.select $push3=, $pop2, $pop1, $pop0 # fallthrough-return: $pop3 .endfunc @@ -59,9 +59,9 @@ fge: # @fge .param i32, i32 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - i32.ge_s $push0=, $0, $1 + i32.const $push2=, 140 + i32.const $push1=, 13 + i32.lt_s $push0=, $0, $1 i32.select $push3=, $pop2, $pop1, $pop0 # fallthrough-return: $pop3 .endfunc @@ -93,9 +93,9 @@ fle: # @fle .param i32, i32 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - i32.le_s $push0=, $0, $1 + i32.const $push2=, 140 + i32.const $push1=, 13 + i32.gt_s $push0=, $0, $1 i32.select $push3=, $pop2, $pop1, $pop0 # fallthrough-return: $pop3 .endfunc @@ -127,9 +127,9 @@ fgeu: # @fgeu .param i32, i32 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - i32.ge_u $push0=, $0, $1 + i32.const $push2=, 140 + i32.const $push1=, 13 + i32.lt_u $push0=, $0, $1 i32.select $push3=, $pop2, $pop1, $pop0 # fallthrough-return: $pop3 .endfunc @@ -161,9 +161,9 @@ fleu: # @fleu .param i32, i32 .result i32 # BB#0: # %entry - i32.const $push2=, 13 - i32.const $push1=, 140 - i32.le_u $push0=, $0, $1 + i32.const $push2=, 140 + i32.const $push1=, 13 + i32.gt_u $push0=, $0, $1 i32.select $push3=, $pop2, $pop1, $pop0 # fallthrough-return: $pop3 .endfunc @@ -176,7 +176,7 @@ fleu: # @fleu .type main,@function main: # @main .result i32 - .local i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry i32.const $4=, correct_results i32.const $0=, 0 @@ -186,124 +186,124 @@ main: # @main block loop # label1: i32.const $2=, args - i32.const $push55=, 2 - i32.shl $push0=, $0, $pop55 - i32.const $push54=, args - i32.add $push1=, $pop0, $pop54 + i32.const $push45=, 2 + i32.shl $push0=, $0, $pop45 + i32.const $push44=, args + i32.add $push1=, $pop0, $pop44 i32.load $1=, 0($pop1) i32.const $3=, 0 .LBB10_2: # %for.body3 # Parent Loop BB10_1 Depth=1 # => This Inner Loop Header: Depth=2 loop # label3: - i32.const $push59=, 13 - i32.const $push58=, 140 - i32.load $push57=, 0($2) - tee_local $push56=, $5=, $pop57 - i32.eq $push2=, $1, $pop56 - i32.select $push3=, $pop59, $pop58, $pop2 - i32.load $push4=, 0($4) - i32.ne $push5=, $pop3, $pop4 - br_if 4, $pop5 # 4: down to label0 + i32.const $push51=, 13 + i32.const $push50=, 140 + i32.load $push49=, 0($2) + tee_local $push48=, $5=, $pop49 + i32.eq $push47=, $1, $pop48 + tee_local $push46=, $6=, $pop47 + i32.select $push2=, $pop51, $pop50, $pop46 + i32.load $push3=, 0($4) + i32.ne $push4=, $pop2, $pop3 + br_if 4, $pop4 # 4: down to label0 # BB#3: # %if.end # in Loop: Header=BB10_2 Depth=2 - i32.const $push62=, 13 - i32.const $push61=, 140 - i32.ne $push6=, $1, $5 - i32.select $push7=, $pop62, $pop61, $pop6 - i32.const $push60=, 4 - i32.add $push8=, $4, $pop60 - i32.load $push9=, 0($pop8) - i32.ne $push10=, $pop7, $pop9 - br_if 4, $pop10 # 4: down to label0 + i32.const $push54=, 140 + i32.const $push53=, 13 + i32.select $push5=, $pop54, $pop53, $6 + i32.const $push52=, 4 + i32.add $push6=, $4, $pop52 + i32.load $push7=, 0($pop6) + i32.ne $push8=, $pop5, $pop7 + br_if 4, $pop8 # 4: down to label0 # BB#4: # %if.end10 # in Loop: Header=BB10_2 Depth=2 - i32.const $push65=, 13 - i32.const $push64=, 140 - i32.lt_s $push11=, $1, $5 - i32.select $push12=, $pop65, $pop64, $pop11 - i32.const $push63=, 8 - i32.add $push13=, $4, $pop63 - i32.load $push14=, 0($pop13) - i32.ne $push15=, $pop12, $pop14 - br_if 4, $pop15 # 4: down to label0 + i32.const $push59=, 13 + i32.const $push58=, 140 + i32.lt_s $push57=, $1, $5 + tee_local $push56=, $6=, $pop57 + i32.select $push9=, $pop59, $pop58, $pop56 + i32.const $push55=, 8 + i32.add $push10=, $4, $pop55 + i32.load $push11=, 0($pop10) + i32.ne $push12=, $pop9, $pop11 + br_if 4, $pop12 # 4: down to label0 # BB#5: # %if.end15 # in Loop: Header=BB10_2 Depth=2 - i32.const $push68=, 13 - i32.const $push67=, 140 - i32.ge_s $push16=, $1, $5 - i32.select $push17=, $pop68, $pop67, $pop16 - i32.const $push66=, 12 - i32.add $push18=, $4, $pop66 + i32.const $push62=, 140 + i32.const $push61=, 13 + i32.select $push13=, $pop62, $pop61, $6 + i32.const $push60=, 12 + i32.add $push14=, $4, $pop60 + i32.load $push15=, 0($pop14) + i32.ne $push16=, $pop13, $pop15 + br_if 4, $pop16 # 4: down to label0 +# BB#6: # %if.end20 + # in Loop: Header=BB10_2 Depth=2 + i32.const $push67=, 13 + i32.const $push66=, 140 + i32.gt_s $push65=, $1, $5 + tee_local $push64=, $6=, $pop65 + i32.select $push17=, $pop67, $pop66, $pop64 + i32.const $push63=, 16 + i32.add $push18=, $4, $pop63 i32.load $push19=, 0($pop18) i32.ne $push20=, $pop17, $pop19 br_if 4, $pop20 # 4: down to label0 -# BB#6: # %if.end20 - # in Loop: Header=BB10_2 Depth=2 - i32.const $push71=, 13 - i32.const $push70=, 140 - i32.gt_s $push21=, $1, $5 - i32.select $push22=, $pop71, $pop70, $pop21 - i32.const $push69=, 16 - i32.add $push23=, $4, $pop69 - i32.load $push24=, 0($pop23) - i32.ne $push25=, $pop22, $pop24 - br_if 4, $pop25 # 4: down to label0 # BB#7: # %if.end25 # in Loop: Header=BB10_2 Depth=2 - i32.const $push74=, 13 - i32.const $push73=, 140 - i32.le_s $push26=, $1, $5 - i32.select $push27=, $pop74, $pop73, $pop26 - i32.const $push72=, 20 - i32.add $push28=, $4, $pop72 - i32.load $push29=, 0($pop28) - i32.ne $push30=, $pop27, $pop29 - br_if 4, $pop30 # 4: down to label0 + i32.const $push70=, 140 + i32.const $push69=, 13 + i32.select $push21=, $pop70, $pop69, $6 + i32.const $push68=, 20 + i32.add $push22=, $4, $pop68 + i32.load $push23=, 0($pop22) + i32.ne $push24=, $pop21, $pop23 + br_if 4, $pop24 # 4: down to label0 # BB#8: # %if.end30 # in Loop: Header=BB10_2 Depth=2 - i32.const $push77=, 13 - i32.const $push76=, 140 - i32.lt_u $push31=, $1, $5 - i32.select $push32=, $pop77, $pop76, $pop31 - i32.const $push75=, 24 - i32.add $push33=, $4, $pop75 - i32.load $push34=, 0($pop33) - i32.ne $push35=, $pop32, $pop34 - br_if 4, $pop35 # 4: down to label0 + i32.const $push75=, 13 + i32.const $push74=, 140 + i32.lt_u $push73=, $1, $5 + tee_local $push72=, $6=, $pop73 + i32.select $push25=, $pop75, $pop74, $pop72 + i32.const $push71=, 24 + i32.add $push26=, $4, $pop71 + i32.load $push27=, 0($pop26) + i32.ne $push28=, $pop25, $pop27 + br_if 4, $pop28 # 4: down to label0 # BB#9: # %if.end35 # in Loop: Header=BB10_2 Depth=2 - i32.const $push80=, 13 - i32.const $push79=, 140 - i32.ge_u $push36=, $1, $5 - i32.select $push37=, $pop80, $pop79, $pop36 - i32.const $push78=, 28 - i32.add $push38=, $4, $pop78 - i32.load $push39=, 0($pop38) - i32.ne $push40=, $pop37, $pop39 - br_if 4, $pop40 # 4: down to label0 + i32.const $push78=, 140 + i32.const $push77=, 13 + i32.select $push29=, $pop78, $pop77, $6 + i32.const $push76=, 28 + i32.add $push30=, $4, $pop76 + i32.load $push31=, 0($pop30) + i32.ne $push32=, $pop29, $pop31 + br_if 4, $pop32 # 4: down to label0 # BB#10: # %if.end40 # in Loop: Header=BB10_2 Depth=2 i32.const $push83=, 13 i32.const $push82=, 140 - i32.gt_u $push41=, $1, $5 - i32.select $push42=, $pop83, $pop82, $pop41 - i32.const $push81=, 32 - i32.add $push43=, $4, $pop81 - i32.load $push44=, 0($pop43) - i32.ne $push45=, $pop42, $pop44 - br_if 4, $pop45 # 4: down to label0 + i32.gt_u $push81=, $1, $5 + tee_local $push80=, $5=, $pop81 + i32.select $push33=, $pop83, $pop82, $pop80 + i32.const $push79=, 32 + i32.add $push34=, $4, $pop79 + i32.load $push35=, 0($pop34) + i32.ne $push36=, $pop33, $pop35 + br_if 4, $pop36 # 4: down to label0 # BB#11: # %if.end45 # in Loop: Header=BB10_2 Depth=2 - i32.const $push86=, 13 - i32.const $push85=, 140 - i32.le_u $push46=, $1, $5 - i32.select $push47=, $pop86, $pop85, $pop46 + i32.const $push86=, 140 + i32.const $push85=, 13 + i32.select $push37=, $pop86, $pop85, $5 i32.const $push84=, 36 - i32.add $push48=, $4, $pop84 - i32.load $push49=, 0($pop48) - i32.ne $push50=, $pop47, $pop49 - br_if 4, $pop50 # 4: down to label0 + i32.add $push38=, $4, $pop84 + i32.load $push39=, 0($pop38) + i32.ne $push40=, $pop37, $pop39 + br_if 4, $pop40 # 4: down to label0 # BB#12: # %if.end50 # in Loop: Header=BB10_2 Depth=2 i32.const $push92=, 40 @@ -314,8 +314,8 @@ main: # @main i32.add $push89=, $3, $pop90 tee_local $push88=, $3=, $pop89 i32.const $push87=, 8 - i32.lt_s $push51=, $pop88, $pop87 - br_if 0, $pop51 # 0: up to label3 + i32.lt_s $push41=, $pop88, $pop87 + br_if 0, $pop41 # 0: up to label3 # BB#13: # %for.end # in Loop: Header=BB10_1 Depth=1 end_loop # label4: @@ -323,12 +323,12 @@ main: # @main i32.add $push95=, $0, $pop96 tee_local $push94=, $0=, $pop95 i32.const $push93=, 8 - i32.lt_s $push52=, $pop94, $pop93 - br_if 0, $pop52 # 0: up to label1 + i32.lt_s $push42=, $pop94, $pop93 + br_if 0, $pop42 # 0: up to label1 # BB#14: # %for.end53 end_loop # label2: - i32.const $push53=, 0 - call exit@FUNCTION, $pop53 + i32.const $push43=, 0 + call exit@FUNCTION, $pop43 unreachable .LBB10_15: # %if.then49 end_block # label0: diff --git a/test/torture-s/dbra-1.c.s b/test/torture-s/dbra-1.c.s index a382b8cce..3ea1f22f5 100644 --- a/test/torture-s/dbra-1.c.s +++ b/test/torture-s/dbra-1.c.s @@ -7,64 +7,12 @@ f1: # @f1 .param i32 .result i32 - .local i32 # BB#0: # %entry - i32.const $1=, 0 - block - block - i32.eqz $push21=, $0 - br_if 0, $pop21 # 0: down to label1 -# BB#1: # %for.inc - i32.const $1=, 1 - i32.const $push12=, 1 - i32.eq $push0=, $0, $pop12 - br_if 0, $pop0 # 0: down to label1 -# BB#2: # %for.inc.1 - i32.const $1=, 2 - i32.const $push13=, 2 - i32.eq $push1=, $0, $pop13 - br_if 0, $pop1 # 0: down to label1 -# BB#3: # %for.inc.2 - i32.const $1=, 3 - i32.const $push14=, 3 - i32.eq $push2=, $0, $pop14 - br_if 0, $pop2 # 0: down to label1 -# BB#4: # %for.inc.3 - i32.const $1=, 4 - i32.const $push15=, 4 - i32.eq $push3=, $0, $pop15 - br_if 0, $pop3 # 0: down to label1 -# BB#5: # %for.inc.4 - i32.const $1=, 5 - i32.const $push16=, 5 - i32.eq $push4=, $0, $pop16 - br_if 0, $pop4 # 0: down to label1 -# BB#6: # %for.inc.5 - i32.const $1=, 6 - i32.const $push17=, 6 - i32.eq $push5=, $0, $pop17 - br_if 0, $pop5 # 0: down to label1 -# BB#7: # %for.inc.6 - i32.const $1=, 7 - i32.const $push18=, 7 - i32.eq $push6=, $0, $pop18 - br_if 0, $pop6 # 0: down to label1 -# BB#8: # %for.inc.7 - i32.const $1=, 8 - i32.const $push19=, 8 - i32.ne $push7=, $0, $pop19 - br_if 1, $pop7 # 1: down to label0 -.LBB0_9: # %cleanup - end_block # label1: - return $1 -.LBB0_10: # %for.inc.8 - end_block # label0: - i32.const $push8=, 9 - i32.const $push10=, -1 - i32.const $push20=, 9 - i32.eq $push9=, $0, $pop20 - i32.select $push11=, $pop8, $pop10, $pop9 - # fallthrough-return: $pop11 + i32.const $push2=, -1 + i32.const $push0=, 10 + i32.lt_u $push1=, $0, $pop0 + i32.select $push3=, $0, $pop2, $pop1 + # fallthrough-return: $pop3 .endfunc .Lfunc_end0: .size f1, .Lfunc_end0-f1 @@ -90,65 +38,15 @@ f2: # @f2 f3: # @f3 .param i32 .result i32 - .local i32 # BB#0: # %entry - i32.const $1=, 0 - block - block - i32.const $push0=, 1 - i32.eq $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label3 -# BB#1: # %for.inc - i32.const $1=, 1 - i32.const $push2=, 2 - i32.eq $push3=, $0, $pop2 - br_if 0, $pop3 # 0: down to label3 -# BB#2: # %for.inc.1 - i32.const $1=, 2 - i32.const $push4=, 3 - i32.eq $push5=, $0, $pop4 - br_if 0, $pop5 # 0: down to label3 -# BB#3: # %for.inc.2 - i32.const $1=, 3 - i32.const $push6=, 4 - i32.eq $push7=, $0, $pop6 - br_if 0, $pop7 # 0: down to label3 -# BB#4: # %for.inc.3 - i32.const $1=, 4 - i32.const $push8=, 5 - i32.eq $push9=, $0, $pop8 - br_if 0, $pop9 # 0: down to label3 -# BB#5: # %for.inc.4 - i32.const $1=, 5 - i32.const $push10=, 6 - i32.eq $push11=, $0, $pop10 - br_if 0, $pop11 # 0: down to label3 -# BB#6: # %for.inc.5 - i32.const $1=, 6 - i32.const $push12=, 7 - i32.eq $push13=, $0, $pop12 - br_if 0, $pop13 # 0: down to label3 -# BB#7: # %for.inc.6 - i32.const $1=, 7 - i32.const $push14=, 8 - i32.eq $push15=, $0, $pop14 - br_if 0, $pop15 # 0: down to label3 -# BB#8: # %for.inc.7 - i32.const $1=, 8 - i32.const $push21=, 9 - i32.ne $push16=, $0, $pop21 - br_if 1, $pop16 # 1: down to label2 -.LBB2_9: # %cleanup - end_block # label3: - return $1 -.LBB2_10: # %for.inc.8 - end_block # label2: - i32.const $push22=, 9 - i32.const $push19=, -1 - i32.const $push17=, 10 - i32.eq $push18=, $0, $pop17 - i32.select $push20=, $pop22, $pop19, $pop18 - # fallthrough-return: $pop20 + i32.const $push0=, -1 + i32.add $push6=, $0, $pop0 + tee_local $push5=, $0=, $pop6 + i32.const $push4=, -1 + i32.const $push1=, 10 + i32.lt_u $push2=, $0, $pop1 + i32.select $push3=, $pop5, $pop4, $pop2 + # fallthrough-return: $pop3 .endfunc .Lfunc_end2: .size f3, .Lfunc_end2-f3 @@ -175,65 +73,19 @@ f4: # @f4 f5: # @f5 .param i32 .result i32 - .local i32 # BB#0: # %entry - i32.const $1=, 0 - block block - i32.const $push0=, -1 - i32.eq $push1=, $0, $pop0 - br_if 0, $pop1 # 0: down to label5 -# BB#1: # %for.inc - i32.const $1=, 1 - i32.const $push2=, -2 - i32.eq $push3=, $0, $pop2 - br_if 0, $pop3 # 0: down to label5 -# BB#2: # %for.inc.1 - i32.const $1=, 2 - i32.const $push4=, -3 - i32.eq $push5=, $0, $pop4 - br_if 0, $pop5 # 0: down to label5 -# BB#3: # %for.inc.2 - i32.const $1=, 3 - i32.const $push6=, -4 - i32.eq $push7=, $0, $pop6 - br_if 0, $pop7 # 0: down to label5 -# BB#4: # %for.inc.3 - i32.const $1=, 4 - i32.const $push8=, -5 - i32.eq $push9=, $0, $pop8 - br_if 0, $pop9 # 0: down to label5 -# BB#5: # %for.inc.4 - i32.const $1=, 5 - i32.const $push10=, -6 - i32.eq $push11=, $0, $pop10 - br_if 0, $pop11 # 0: down to label5 -# BB#6: # %for.inc.5 - i32.const $1=, 6 - i32.const $push12=, -7 - i32.eq $push13=, $0, $pop12 - br_if 0, $pop13 # 0: down to label5 -# BB#7: # %for.inc.6 - i32.const $1=, 7 - i32.const $push14=, -8 - i32.eq $push15=, $0, $pop14 - br_if 0, $pop15 # 0: down to label5 -# BB#8: # %for.inc.7 - i32.const $1=, 8 - i32.const $push16=, -9 - i32.ne $push17=, $0, $pop16 - br_if 1, $pop17 # 1: down to label4 -.LBB4_9: # %cleanup - end_block # label5: - return $1 -.LBB4_10: # %for.inc.8 - end_block # label4: - i32.const $push21=, 9 - i32.const $push20=, -1 - i32.const $push18=, -10 - i32.eq $push19=, $0, $pop18 - i32.select $push22=, $pop21, $pop20, $pop19 - # fallthrough-return: $pop22 + i32.const $push0=, -10 + i32.lt_u $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label0 +# BB#1: # %switch.lookup + i32.const $push3=, -1 + i32.xor $push4=, $0, $pop3 + return $pop4 +.LBB4_2: # %for.inc.9 + end_block # label0: + i32.const $push2=, -1 + # fallthrough-return: $pop2 .endfunc .Lfunc_end4: .size f5, .Lfunc_end4-f5 diff --git a/test/torture-s/ffs-2.c.s b/test/torture-s/ffs-2.c.s index 41be1e5f4..68e60786d 100644 --- a/test/torture-s/ffs-2.c.s +++ b/test/torture-s/ffs-2.c.s @@ -6,139 +6,115 @@ .type main,@function main: # @main .result i32 - .local i64, i32 + .local i32 # BB#0: # %entry block - i32.const $push56=, 0 - i64.load $push55=, ffstesttab($pop56) - tee_local $push54=, $0=, $pop55 - i32.wrap/i64 $push53=, $pop54 - tee_local $push52=, $1=, $pop53 - i32.ctz $push0=, $pop52 - i32.const $push51=, 1 - i32.add $push1=, $pop0, $pop51 - i32.const $push50=, 0 - i32.select $push2=, $pop1, $pop50, $1 - i64.const $push49=, 32 - i64.shr_u $push3=, $0, $pop49 - i32.wrap/i64 $push4=, $pop3 - i32.ne $push5=, $pop2, $pop4 - br_if 0, $pop5 # 0: down to label0 + i32.const $push46=, 0 + i32.load $push45=, ffstesttab($pop46) + tee_local $push44=, $0=, $pop45 + i32.ctz $push0=, $pop44 + i32.const $push43=, 1 + i32.add $push1=, $pop0, $pop43 + i32.const $push42=, 0 + i32.select $push2=, $pop1, $pop42, $0 + i32.const $push41=, 0 + i32.load $push3=, ffstesttab+4($pop41) + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 # BB#1: # %for.cond + i32.const $push52=, 0 + i32.load $push51=, ffstesttab+8($pop52) + tee_local $push50=, $0=, $pop51 + i32.ctz $push5=, $pop50 + i32.const $push49=, 1 + i32.add $push6=, $pop5, $pop49 + i32.const $push48=, 0 + i32.select $push7=, $pop6, $pop48, $0 + i32.const $push47=, 0 + i32.load $push8=, ffstesttab+12($pop47) + i32.ne $push9=, $pop7, $pop8 + br_if 0, $pop9 # 0: down to label0 +# BB#2: # %for.cond.1 + i32.const $push58=, 0 + i32.load $push57=, ffstesttab+16($pop58) + tee_local $push56=, $0=, $pop57 + i32.ctz $push10=, $pop56 + i32.const $push55=, 1 + i32.add $push11=, $pop10, $pop55 + i32.const $push54=, 0 + i32.select $push12=, $pop11, $pop54, $0 + i32.const $push53=, 0 + i32.load $push13=, ffstesttab+20($pop53) + i32.ne $push14=, $pop12, $pop13 + br_if 0, $pop14 # 0: down to label0 +# BB#3: # %for.cond.2 i32.const $push64=, 0 - i64.load $push63=, ffstesttab+8($pop64) + i32.load $push63=, ffstesttab+24($pop64) tee_local $push62=, $0=, $pop63 - i32.wrap/i64 $push61=, $pop62 - tee_local $push60=, $1=, $pop61 - i32.ctz $push6=, $pop60 - i32.const $push59=, 1 - i32.add $push7=, $pop6, $pop59 - i32.const $push58=, 0 - i32.select $push8=, $pop7, $pop58, $1 - i64.const $push57=, 32 - i64.shr_u $push9=, $0, $pop57 - i32.wrap/i64 $push10=, $pop9 - i32.ne $push11=, $pop8, $pop10 - br_if 0, $pop11 # 0: down to label0 -# BB#2: # %for.cond.1 - i32.const $push72=, 0 - i64.load $push71=, ffstesttab+16($pop72) - tee_local $push70=, $0=, $pop71 - i32.wrap/i64 $push69=, $pop70 - tee_local $push68=, $1=, $pop69 - i32.ctz $push12=, $pop68 + i32.ctz $push15=, $pop62 + i32.const $push61=, 1 + i32.add $push16=, $pop15, $pop61 + i32.const $push60=, 0 + i32.select $push17=, $pop16, $pop60, $0 + i32.const $push59=, 0 + i32.load $push18=, ffstesttab+28($pop59) + i32.ne $push19=, $pop17, $pop18 + br_if 0, $pop19 # 0: down to label0 +# BB#4: # %for.cond.3 + i32.const $push70=, 0 + i32.load $push69=, ffstesttab+32($pop70) + tee_local $push68=, $0=, $pop69 + i32.ctz $push20=, $pop68 i32.const $push67=, 1 - i32.add $push13=, $pop12, $pop67 + i32.add $push21=, $pop20, $pop67 i32.const $push66=, 0 - i32.select $push14=, $pop13, $pop66, $1 - i64.const $push65=, 32 - i64.shr_u $push15=, $0, $pop65 - i32.wrap/i64 $push16=, $pop15 - i32.ne $push17=, $pop14, $pop16 - br_if 0, $pop17 # 0: down to label0 -# BB#3: # %for.cond.2 - i32.const $push80=, 0 - i64.load $push79=, ffstesttab+24($pop80) - tee_local $push78=, $0=, $pop79 - i32.wrap/i64 $push77=, $pop78 - tee_local $push76=, $1=, $pop77 - i32.ctz $push18=, $pop76 - i32.const $push75=, 1 - i32.add $push19=, $pop18, $pop75 - i32.const $push74=, 0 - i32.select $push20=, $pop19, $pop74, $1 - i64.const $push73=, 32 - i64.shr_u $push21=, $0, $pop73 - i32.wrap/i64 $push22=, $pop21 - i32.ne $push23=, $pop20, $pop22 - br_if 0, $pop23 # 0: down to label0 -# BB#4: # %for.cond.3 - i32.const $push88=, 0 - i64.load $push87=, ffstesttab+32($pop88) - tee_local $push86=, $0=, $pop87 - i32.wrap/i64 $push85=, $pop86 - tee_local $push84=, $1=, $pop85 - i32.ctz $push24=, $pop84 - i32.const $push83=, 1 - i32.add $push25=, $pop24, $pop83 - i32.const $push82=, 0 - i32.select $push26=, $pop25, $pop82, $1 - i64.const $push81=, 32 - i64.shr_u $push27=, $0, $pop81 - i32.wrap/i64 $push28=, $pop27 - i32.ne $push29=, $pop26, $pop28 - br_if 0, $pop29 # 0: down to label0 + i32.select $push22=, $pop21, $pop66, $0 + i32.const $push65=, 0 + i32.load $push23=, ffstesttab+36($pop65) + i32.ne $push24=, $pop22, $pop23 + br_if 0, $pop24 # 0: down to label0 # BB#5: # %for.cond.4 - i32.const $push96=, 0 - i64.load $push95=, ffstesttab+40($pop96) - tee_local $push94=, $0=, $pop95 - i32.wrap/i64 $push93=, $pop94 - tee_local $push92=, $1=, $pop93 - i32.ctz $push30=, $pop92 - i32.const $push91=, 1 - i32.add $push31=, $pop30, $pop91 - i32.const $push90=, 0 - i32.select $push32=, $pop31, $pop90, $1 - i64.const $push89=, 32 - i64.shr_u $push33=, $0, $pop89 - i32.wrap/i64 $push34=, $pop33 - i32.ne $push35=, $pop32, $pop34 - br_if 0, $pop35 # 0: down to label0 + i32.const $push76=, 0 + i32.load $push75=, ffstesttab+40($pop76) + tee_local $push74=, $0=, $pop75 + i32.ctz $push25=, $pop74 + i32.const $push73=, 1 + i32.add $push26=, $pop25, $pop73 + i32.const $push72=, 0 + i32.select $push27=, $pop26, $pop72, $0 + i32.const $push71=, 0 + i32.load $push28=, ffstesttab+44($pop71) + i32.ne $push29=, $pop27, $pop28 + br_if 0, $pop29 # 0: down to label0 # BB#6: # %for.cond.5 - i32.const $push104=, 0 - i64.load $push103=, ffstesttab+48($pop104) - tee_local $push102=, $0=, $pop103 - i32.wrap/i64 $push101=, $pop102 - tee_local $push100=, $1=, $pop101 - i32.ctz $push36=, $pop100 - i32.const $push99=, 1 - i32.add $push37=, $pop36, $pop99 - i32.const $push98=, 0 - i32.select $push38=, $pop37, $pop98, $1 - i64.const $push97=, 32 - i64.shr_u $push39=, $0, $pop97 - i32.wrap/i64 $push40=, $pop39 - i32.ne $push41=, $pop38, $pop40 - br_if 0, $pop41 # 0: down to label0 + i32.const $push82=, 0 + i32.load $push81=, ffstesttab+48($pop82) + tee_local $push80=, $0=, $pop81 + i32.ctz $push30=, $pop80 + i32.const $push79=, 1 + i32.add $push31=, $pop30, $pop79 + i32.const $push78=, 0 + i32.select $push32=, $pop31, $pop78, $0 + i32.const $push77=, 0 + i32.load $push33=, ffstesttab+52($pop77) + i32.ne $push34=, $pop32, $pop33 + br_if 0, $pop34 # 0: down to label0 # BB#7: # %for.cond.6 - i32.const $push112=, 0 - i64.load $push111=, ffstesttab+56($pop112) - tee_local $push110=, $0=, $pop111 - i32.wrap/i64 $push109=, $pop110 - tee_local $push108=, $1=, $pop109 - i32.ctz $push42=, $pop108 - i32.const $push107=, 1 - i32.add $push43=, $pop42, $pop107 - i32.const $push106=, 0 - i32.select $push44=, $pop43, $pop106, $1 - i64.const $push105=, 32 - i64.shr_u $push45=, $0, $pop105 - i32.wrap/i64 $push46=, $pop45 - i32.ne $push47=, $pop44, $pop46 - br_if 0, $pop47 # 0: down to label0 + i32.const $push88=, 0 + i32.load $push87=, ffstesttab+56($pop88) + tee_local $push86=, $0=, $pop87 + i32.ctz $push35=, $pop86 + i32.const $push85=, 1 + i32.add $push36=, $pop35, $pop85 + i32.const $push84=, 0 + i32.select $push37=, $pop36, $pop84, $0 + i32.const $push83=, 0 + i32.load $push38=, ffstesttab+60($pop83) + i32.ne $push39=, $pop37, $pop38 + br_if 0, $pop39 # 0: down to label0 # BB#8: # %for.cond.7 - i32.const $push48=, 0 - call exit@FUNCTION, $pop48 + i32.const $push40=, 0 + call exit@FUNCTION, $pop40 unreachable .LBB0_9: # %if.then end_block # label0: diff --git a/test/torture-s/ipa-sra-2.c.s b/test/torture-s/ipa-sra-2.c.s index 1371ff12d..1c8c39f89 100644 --- a/test/torture-s/ipa-sra-2.c.s +++ b/test/torture-s/ipa-sra-2.c.s @@ -29,11 +29,14 @@ foo: # @foo .param i32, i32 .result i32 # BB#0: # %entry - i32.const $push0=, 3999996 - i32.add $push1=, $1, $pop0 - i32.select $push2=, $pop1, $1, $0 - i32.load $push3=, 0($pop2) - # fallthrough-return: $pop3 + i32.const $push1=, 999999 + i32.const $push0=, 0 + i32.select $push2=, $pop1, $pop0, $0 + i32.const $push3=, 2 + i32.shl $push4=, $pop2, $pop3 + i32.add $push5=, $1, $pop4 + i32.load $push6=, 0($pop5) + # fallthrough-return: $pop6 .endfunc .Lfunc_end1: .size foo, .Lfunc_end1-foo diff --git a/test/torture-s/loop-15.c.s b/test/torture-s/loop-15.c.s index 37cc5541b..29d27ce6f 100644 --- a/test/torture-s/loop-15.c.s +++ b/test/torture-s/loop-15.c.s @@ -37,22 +37,23 @@ foo: # @foo .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, i32, i32 # BB#0: # %entry - i32.const $push22=, 0 - i32.const $push19=, 0 - i32.load $push20=, __stack_pointer($pop19) - i32.const $push21=, 32 - i32.sub $push30=, $pop20, $pop21 - tee_local $push29=, $10=, $pop30 - i32.store $drop=, __stack_pointer($pop22), $pop29 - i32.const $2=, 0 - i32.const $push3=, 16 - i32.add $6=, $10, $pop3 - i32.const $push28=, 4 - i32.or $push27=, $10, $pop28 - tee_local $push26=, $0=, $pop27 - copy_local $1=, $pop26 + i32.const $push20=, 0 + i32.const $push17=, 0 + i32.load $push18=, __stack_pointer($pop17) + i32.const $push19=, 32 + i32.sub $push28=, $pop18, $pop19 + tee_local $push27=, $11=, $pop28 + i32.store $drop=, __stack_pointer($pop20), $pop27 + i32.const $3=, 0 + i32.const $2=, -1 + i32.const $push2=, 16 + i32.add $7=, $11, $pop2 + i32.const $push26=, 4 + i32.or $push25=, $11, $pop26 + tee_local $push24=, $0=, $pop25 + copy_local $1=, $pop24 .LBB1_1: # %for.cond1.preheader # =>This Loop Header: Depth=1 # Child Loop BB1_2 Depth 2 @@ -62,12 +63,13 @@ main: # @main # Child Loop BB1_12 Depth 3 block block - loop # label5: - i32.const $push31=, 2 - i32.shl $push2=, $2, $pop31 - i32.add $3=, $10, $pop2 - copy_local $4=, $0 - i32.const $5=, 0 + block + loop # label6: + i32.const $push29=, 2 + i32.shl $push1=, $3, $pop29 + i32.add $4=, $11, $pop1 + copy_local $5=, $0 + i32.const $6=, 0 .LBB1_2: # %for.cond4.preheader # Parent Loop BB1_1 Depth=1 # => This Loop Header: Depth=2 @@ -75,141 +77,147 @@ main: # @main # Child Loop BB1_6 Depth 3 # Child Loop BB1_9 Depth 3 # Child Loop BB1_12 Depth 3 - loop # label7: - i32.const $push34=, 4 - i32.store $drop=, 0($6), $pop34 - i64.const $push33=, 4294967296 - i64.store $drop=, 0($10), $pop33 - i64.const $push32=, 12884901890 - i64.store $drop=, 8($10), $pop32 + loop # label8: + i32.const $push32=, 4 + i32.store $drop=, 0($7), $pop32 + i64.const $push31=, 4294967296 + i64.store $drop=, 0($11), $pop31 + i64.const $push30=, 12884901890 + i64.store $drop=, 8($11), $pop30 block - i32.le_s $push4=, $5, $2 - br_if 0, $pop4 # 0: down to label9 + i32.le_s $push3=, $6, $3 + br_if 0, $pop3 # 0: down to label10 # BB#3: # %while.body.i.preheader # in Loop: Header=BB1_2 Depth=2 - i32.const $push35=, 2 - i32.shl $push5=, $5, $pop35 - i32.add $9=, $10, $pop5 + i32.const $push33=, 2 + i32.shl $push4=, $6, $pop33 + i32.add $10=, $11, $pop4 .LBB1_4: # %while.body.i # Parent Loop BB1_1 Depth=1 # Parent Loop BB1_2 Depth=2 # => This Inner Loop Header: Depth=3 - loop # label10: - i32.const $push38=, -4 - i32.add $push37=, $9, $pop38 - tee_local $push36=, $8=, $pop37 - i32.load $push6=, 0($pop36) - i32.store $drop=, 0($9), $pop6 - copy_local $9=, $8 - i32.gt_u $push7=, $8, $3 - br_if 0, $pop7 # 0: up to label10 + loop # label11: + i32.const $push36=, -4 + i32.add $push35=, $10, $pop36 + tee_local $push34=, $9=, $pop35 + i32.load $push5=, 0($pop34) + i32.store $drop=, 0($10), $pop5 + copy_local $10=, $9 + i32.gt_u $push6=, $9, $4 + br_if 0, $pop6 # 0: up to label11 .LBB1_5: # %for.body11.preheader # in Loop: Header=BB1_2 Depth=2 - end_loop # label11: - end_block # label9: - i32.const $9=, -1 - copy_local $8=, $10 + end_loop # label12: + end_block # label10: + i32.const $10=, -1 + copy_local $9=, $11 .LBB1_6: # %for.body11 # Parent Loop BB1_1 Depth=1 # Parent Loop BB1_2 Depth=2 # => This Inner Loop Header: Depth=3 - loop # label12: - i32.const $push41=, 1 - i32.add $push40=, $9, $pop41 - tee_local $push39=, $9=, $pop40 - i32.load $push8=, 0($8) - i32.ne $push9=, $pop39, $pop8 - br_if 6, $pop9 # 6: down to label4 + loop # label13: + i32.const $push39=, 1 + i32.add $push38=, $10, $pop39 + tee_local $push37=, $10=, $pop38 + i32.load $push7=, 0($9) + i32.ne $push8=, $pop37, $pop7 + br_if 6, $pop8 # 6: down to label5 # BB#7: # %for.cond9 # in Loop: Header=BB1_6 Depth=3 - i32.const $push42=, 4 - i32.add $8=, $8, $pop42 - i32.lt_s $push10=, $9, $2 - br_if 0, $pop10 # 0: up to label12 + i32.const $push40=, 4 + i32.add $9=, $9, $pop40 + i32.lt_s $push9=, $10, $3 + br_if 0, $pop9 # 0: up to label13 # BB#8: # in Loop: Header=BB1_2 Depth=2 - end_loop # label13: - copy_local $8=, $1 - copy_local $9=, $2 + end_loop # label14: + copy_local $9=, $1 + copy_local $10=, $2 .LBB1_9: # %for.cond17 # Parent Loop BB1_1 Depth=1 # Parent Loop BB1_2 Depth=2 # => This Inner Loop Header: Depth=3 - loop # label14: - i32.ge_s $push11=, $9, $5 - br_if 1, $pop11 # 1: down to label15 + loop # label15: + i32.const $push43=, 1 + i32.add $push42=, $10, $pop43 + tee_local $push41=, $10=, $pop42 + i32.ge_s $push10=, $pop41, $6 + br_if 1, $pop10 # 1: down to label16 # BB#10: # %for.body19 # in Loop: Header=BB1_9 Depth=3 - i32.load $7=, 0($8) + i32.load $8=, 0($9) + i32.const $push44=, 4 + i32.add $push0=, $9, $pop44 + copy_local $9=, $pop0 + i32.eq $push16=, $10, $8 + br_if 0, $pop16 # 0: up to label15 + br 7 # 7: down to label4 +.LBB1_11: # %for.end26 + # in Loop: Header=BB1_2 Depth=2 + end_loop # label16: + copy_local $10=, $5 + i32.const $push50=, 1 + i32.add $push49=, $6, $pop50 + tee_local $push48=, $6=, $pop49 + copy_local $9=, $pop48 i32.const $push47=, 4 - i32.add $push0=, $8, $pop47 - copy_local $8=, $pop0 - i32.const $push46=, 1 - i32.add $push45=, $9, $pop46 - tee_local $push44=, $9=, $pop45 - i32.const $push43=, -1 - i32.add $push17=, $pop44, $pop43 - i32.eq $push18=, $7, $pop17 - br_if 0, $pop18 # 0: up to label14 - br 7 # 7: down to label3 -.LBB1_11: # in Loop: Header=BB1_2 Depth=2 - end_loop # label15: - copy_local $8=, $4 - copy_local $9=, $5 -.LBB1_12: # %for.cond28 + i32.gt_s $push46=, $6, $pop47 + tee_local $push45=, $8=, $pop46 + br_if 1, $pop45 # 1: down to label9 +.LBB1_12: # %for.body30 # Parent Loop BB1_1 Depth=1 # Parent Loop BB1_2 Depth=2 # => This Inner Loop Header: Depth=3 - loop # label16: - i32.const $push51=, 1 - i32.add $push50=, $9, $pop51 - tee_local $push49=, $9=, $pop50 - i32.const $push48=, 4 - i32.gt_s $push12=, $pop49, $pop48 - br_if 1, $pop12 # 1: down to label17 -# BB#13: # %for.body30 + loop # label17: + i32.load $push11=, 0($10) + i32.ne $push12=, $9, $pop11 + br_if 8, $pop12 # 8: down to label3 +# BB#13: # %for.cond28 # in Loop: Header=BB1_12 Depth=3 - i32.load $7=, 0($8) - i32.const $push52=, 4 - i32.add $push1=, $8, $pop52 - copy_local $8=, $pop1 - i32.eq $push16=, $9, $7 - br_if 0, $pop16 # 0: up to label16 - br 6 # 6: down to label4 -.LBB1_14: # %for.inc38 + i32.const $push55=, 4 + i32.add $10=, $10, $pop55 + i32.const $push54=, 1 + i32.add $push53=, $9, $pop54 + tee_local $push52=, $9=, $pop53 + i32.const $push51=, 4 + i32.le_s $push13=, $pop52, $pop51 + br_if 0, $pop13 # 0: up to label17 +# BB#14: # %for.cond1.loopexit # in Loop: Header=BB1_2 Depth=2 - end_loop # label17: - i32.const $push57=, 4 - i32.add $4=, $4, $pop57 - i32.const $push56=, 1 - i32.add $push55=, $5, $pop56 - tee_local $push54=, $5=, $pop55 - i32.const $push53=, 5 - i32.lt_s $push13=, $pop54, $pop53 - br_if 0, $pop13 # 0: up to label7 -# BB#15: # %for.inc41 + end_loop # label18: + i32.const $push56=, 4 + i32.add $5=, $5, $pop56 + i32.eqz $push63=, $8 + br_if 0, $pop63 # 0: up to label8 +.LBB1_15: # %for.inc41 # in Loop: Header=BB1_1 Depth=1 - end_loop # label8: + end_loop # label9: i32.const $push62=, 4 i32.add $1=, $1, $pop62 i32.const $push61=, 1 - i32.add $push60=, $2, $pop61 - tee_local $push59=, $2=, $pop60 - i32.const $push58=, 5 - i32.lt_s $push14=, $pop59, $pop58 - br_if 0, $pop14 # 0: up to label5 + i32.add $2=, $2, $pop61 + i32.const $push60=, 1 + i32.add $push59=, $3, $pop60 + tee_local $push58=, $3=, $pop59 + i32.const $push57=, 5 + i32.lt_s $push14=, $pop58, $pop57 + br_if 0, $pop14 # 0: up to label6 # BB#16: # %for.end43 - end_loop # label6: - i32.const $push25=, 0 - i32.const $push23=, 32 - i32.add $push24=, $10, $pop23 - i32.store $drop=, __stack_pointer($pop25), $pop24 + end_loop # label7: + i32.const $push23=, 0 + i32.const $push21=, 32 + i32.add $push22=, $11, $pop21 + i32.store $drop=, __stack_pointer($pop23), $pop22 i32.const $push15=, 0 return $pop15 .LBB1_17: # %if.then - end_block # label4: + end_block # label5: call abort@FUNCTION unreachable .LBB1_18: # %if.then22 + end_block # label4: + call abort@FUNCTION + unreachable +.LBB1_19: # %if.then33 end_block # label3: call abort@FUNCTION unreachable diff --git a/test/torture-s/loop-2b.c.s b/test/torture-s/loop-2b.c.s index 019fb570a..69d67e8d1 100644 --- a/test/torture-s/loop-2b.c.s +++ b/test/torture-s/loop-2b.c.s @@ -32,10 +32,10 @@ f: # @f br_if 1, $pop6 # 1: down to label2 # BB#3: # %for.body # in Loop: Header=BB0_2 Depth=1 - i32.const $push12=, 4 - i32.add $0=, $0, $pop12 - i32.const $push11=, -1 - i32.add $2=, $1, $pop11 + i32.const $push12=, -1 + i32.add $2=, $1, $pop12 + i32.const $push11=, 4 + i32.add $0=, $0, $pop11 br_if 0, $1 # 0: up to label1 .LBB0_4: # %for.end end_loop # label2: diff --git a/test/torture-s/loop-5.c.s b/test/torture-s/loop-5.c.s index ef827a1b4..b5024fbb7 100644 --- a/test/torture-s/loop-5.c.s +++ b/test/torture-s/loop-5.c.s @@ -6,99 +6,95 @@ .type main,@function main: # @main .result i32 - .local i32, i32, i32, i64 + .local i32, i32, i32 # BB#0: # %entry block - i32.const $push35=, 0 - i32.load $push34=, t($pop35) - tee_local $push33=, $0=, $pop34 + i32.const $push31=, 0 + i32.load $push30=, t($pop31) + tee_local $push29=, $0=, $pop30 i32.const $push0=, 4 - i32.ge_s $push1=, $pop33, $pop0 + i32.ge_s $push1=, $pop29, $pop0 br_if 0, $pop1 # 0: down to label0 # BB#1: # %ap.exit.i - i32.const $push42=, 0 + i32.const $push38=, 0 i32.const $push2=, 1 - i32.add $push41=, $0, $pop2 - tee_local $push40=, $1=, $pop41 - i32.store $drop=, t($pop42), $pop40 - i32.const $push39=, 2 - i32.shl $push3=, $0, $pop39 - i32.const $push38=, a - i32.add $push4=, $pop3, $pop38 - i32.const $push37=, 0 - i32.store $drop=, 0($pop4), $pop37 - i32.const $push36=, 3 - i32.eq $push5=, $0, $pop36 + i32.add $push37=, $0, $pop2 + tee_local $push36=, $1=, $pop37 + i32.store $drop=, t($pop38), $pop36 + i32.const $push35=, 2 + i32.shl $push3=, $0, $pop35 + i32.const $push34=, a + i32.add $push4=, $pop3, $pop34 + i32.const $push33=, 0 + i32.store $drop=, 0($pop4), $pop33 + i32.const $push32=, 3 + i32.eq $push5=, $0, $pop32 br_if 0, $pop5 # 0: down to label0 # BB#2: # %ap.exit.1.i - i32.const $push50=, 0 - i32.const $push49=, 2 - i32.add $push48=, $0, $pop49 - tee_local $push47=, $2=, $pop48 - i32.store $drop=, t($pop50), $pop47 - i32.const $push46=, 2 - i32.shl $push6=, $1, $pop46 - i32.const $push45=, a - i32.add $push7=, $pop6, $pop45 - i32.const $push44=, 3 - i32.store $drop=, 0($pop7), $pop44 - i32.const $push43=, 3 - i32.gt_s $push8=, $2, $pop43 + i32.const $push46=, 0 + i32.const $push45=, 2 + i32.add $push44=, $0, $pop45 + tee_local $push43=, $2=, $pop44 + i32.store $drop=, t($pop46), $pop43 + i32.const $push42=, 2 + i32.shl $push6=, $1, $pop42 + i32.const $push41=, a + i32.add $push7=, $pop6, $pop41 + i32.const $push40=, 3 + i32.store $drop=, 0($pop7), $pop40 + i32.const $push39=, 3 + i32.gt_s $push8=, $2, $pop39 br_if 0, $pop8 # 0: down to label0 # BB#3: # %ap.exit.2.i - i32.const $push57=, 0 + i32.const $push53=, 0 i32.const $push9=, 3 - i32.add $push56=, $0, $pop9 - tee_local $push55=, $1=, $pop56 - i32.store $drop=, t($pop57), $pop55 - i32.const $push54=, 2 - i32.shl $push10=, $2, $pop54 - i32.const $push53=, a - i32.add $push11=, $pop10, $pop53 - i32.const $push52=, 2 - i32.store $drop=, 0($pop11), $pop52 - i32.const $push51=, 0 - i32.gt_s $push12=, $0, $pop51 + i32.add $push52=, $0, $pop9 + tee_local $push51=, $1=, $pop52 + i32.store $drop=, t($pop53), $pop51 + i32.const $push50=, 2 + i32.shl $push10=, $2, $pop50 + i32.const $push49=, a + i32.add $push11=, $pop10, $pop49 + i32.const $push48=, 2 + i32.store $drop=, 0($pop11), $pop48 + i32.const $push47=, 0 + i32.gt_s $push12=, $0, $pop47 br_if 0, $pop12 # 0: down to label0 # BB#4: # %testit.exit - i32.const $push62=, 2 - i32.shl $push13=, $1, $pop62 - i32.const $push61=, a - i32.add $push14=, $pop13, $pop61 + i32.const $push57=, 2 + i32.shl $push13=, $1, $pop57 + i32.const $push56=, a + i32.add $push14=, $pop13, $pop56 i32.const $push15=, 1 i32.store $drop=, 0($pop14), $pop15 - i32.const $push18=, 0 + i32.const $push55=, 0 i32.const $push16=, 4 i32.add $push17=, $0, $pop16 - i32.store $drop=, t($pop18), $pop17 - i32.const $push60=, 0 - i64.load $push59=, a($pop60) - tee_local $push58=, $3=, $pop59 - i32.wrap/i64 $push19=, $pop58 - br_if 0, $pop19 # 0: down to label0 + i32.store $drop=, t($pop55), $pop17 + i32.const $push54=, 0 + i32.load $push18=, a($pop54) + br_if 0, $pop18 # 0: down to label0 # BB#5: # %if.end - i64.const $push20=, -4294967296 - i64.and $push21=, $3, $pop20 - i64.const $push22=, 12884901888 - i64.ne $push23=, $pop21, $pop22 - br_if 0, $pop23 # 0: down to label0 + i32.const $push58=, 0 + i32.load $push19=, a+4($pop58) + i32.const $push20=, 3 + i32.ne $push21=, $pop19, $pop20 + br_if 0, $pop21 # 0: down to label0 # BB#6: # %if.end3 - i32.const $push24=, 0 - i64.load $push64=, a+8($pop24) - tee_local $push63=, $3=, $pop64 - i32.wrap/i64 $push25=, $pop63 - i32.const $push26=, 2 + i32.const $push59=, 0 + i32.load $push22=, a+8($pop59) + i32.const $push23=, 2 + i32.ne $push24=, $pop22, $pop23 + br_if 0, $pop24 # 0: down to label0 +# BB#7: # %if.end6 + i32.const $push60=, 0 + i32.load $push25=, a+12($pop60) + i32.const $push26=, 1 i32.ne $push27=, $pop25, $pop26 br_if 0, $pop27 # 0: down to label0 -# BB#7: # %if.end6 - i64.const $push28=, -4294967296 - i64.and $push29=, $3, $pop28 - i64.const $push30=, 4294967296 - i64.ne $push31=, $pop29, $pop30 - br_if 0, $pop31 # 0: down to label0 # BB#8: # %if.end9 - i32.const $push32=, 0 - call exit@FUNCTION, $pop32 + i32.const $push28=, 0 + call exit@FUNCTION, $pop28 unreachable .LBB0_9: # %if.then8 end_block # label0: diff --git a/test/torture-s/loop-7.c.s b/test/torture-s/loop-7.c.s index 9f1bfcf76..5e274e4b3 100644 --- a/test/torture-s/loop-7.c.s +++ b/test/torture-s/loop-7.c.s @@ -6,37 +6,33 @@ .type foo,@function foo: # @foo .param i32 - .local i32, i32, i32 + .local i32, i32 # BB#0: # %entry - i32.const $2=, 1 - i32.const $3=, -1 + i32.const $1=, -1 + i32.const $2=, 0 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label0: - i32.const $push12=, -1 - i32.add $push11=, $2, $pop12 - tee_local $push10=, $1=, $pop11 + i32.const $push10=, 1 + i32.shl $push0=, $pop10, $2 + i32.eq $push1=, $pop0, $0 + i32.select $1=, $2, $1, $pop1 i32.const $push9=, 1 - i32.shl $push1=, $pop9, $1 - i32.eq $push2=, $pop1, $0 - i32.select $push8=, $pop10, $3, $pop2 - tee_local $push7=, $3=, $pop8 - i32.const $push6=, -1 - i32.gt_s $push3=, $pop7, $pop6 - br_if 1, $pop3 # 1: down to label1 + i32.add $push8=, $2, $pop9 + tee_local $push7=, $2=, $pop8 + i32.const $push6=, 9 + i32.gt_s $push2=, $pop7, $pop6 + br_if 1, $pop2 # 1: down to label1 # BB#2: # %for.body # in Loop: Header=BB0_1 Depth=1 - i32.const $push14=, 10 - i32.lt_s $1=, $2, $pop14 - i32.const $push13=, 1 - i32.add $push0=, $2, $pop13 - copy_local $2=, $pop0 - br_if 0, $1 # 0: up to label0 + i32.const $push11=, 0 + i32.lt_s $push3=, $1, $pop11 + br_if 0, $pop3 # 0: up to label0 .LBB0_3: # %for.end end_loop # label1: block i32.const $push4=, -1 - i32.le_s $push5=, $3, $pop4 + i32.le_s $push5=, $1, $pop4 br_if 0, $pop5 # 0: down to label2 # BB#4: # %if.end5 return diff --git a/test/torture-s/loop-ivopts-1.c.s b/test/torture-s/loop-ivopts-1.c.s index d38c8629d..4de74b954 100644 --- a/test/torture-s/loop-ivopts-1.c.s +++ b/test/torture-s/loop-ivopts-1.c.s @@ -25,25 +25,23 @@ main: # @main .type foo,@function foo: # @foo .param i32 - .local i64 # BB#0: # %for.inc9.3 i32.const $push1=, 0 i64.const $push0=, 4838273375797772288 i64.store $drop=, foo.tmp+4($pop1):p2align=2, $pop0 - i32.const $push10=, 0 + i32.const $push9=, 0 i32.const $push2=, 1095761920 - i32.store $drop=, foo.tmp($pop10), $pop2 + i32.store $drop=, foo.tmp($pop9), $pop2 i32.const $push3=, 1118306304 i32.store $drop=, 4($0), $pop3 - i32.const $push9=, 1095761920 - i32.store $drop=, 0($0), $pop9 - i32.const $push8=, 0 - i64.load $push7=, foo.tmp+8($pop8) - tee_local $push6=, $1=, $pop7 - i64.store32 $drop=, 8($0), $pop6 - i64.const $push4=, 32 - i64.shr_u $push5=, $1, $pop4 - i64.store32 $drop=, 12($0), $pop5 + i32.const $push8=, 1095761920 + i32.store $drop=, 0($0), $pop8 + i32.const $push7=, 0 + i32.load $push4=, foo.tmp+8($pop7) + i32.store $drop=, 8($0), $pop4 + i32.const $push6=, 0 + i32.load $push5=, foo.tmp+12($pop6) + i32.store $drop=, 12($0), $pop5 # fallthrough-return .endfunc .Lfunc_end1: diff --git a/test/torture-s/memcpy-1.c.s b/test/torture-s/memcpy-1.c.s index a258f835b..ff115295e 100644 --- a/test/torture-s/memcpy-1.c.s +++ b/test/torture-s/memcpy-1.c.s @@ -79,14 +79,14 @@ main: # @main i32.const $push10=, 2720 i32.call $0=, memset@FUNCTION, $1, $pop64, $pop10 i32.const $2=, 1 -.LBB1_6: # %for.cond18 +.LBB1_6: # %for.cond17 # =>This Inner Loop Header: Depth=1 block loop # label8: i32.const $push65=, 2719 i32.gt_u $push11=, $2, $pop65 br_if 2, $pop11 # 2: down to label7 -# BB#7: # %for.cond18.for.body21_crit_edge +# BB#7: # %for.cond17.for.body20_crit_edge # in Loop: Header=BB1_6 Depth=1 i32.add $1=, $0, $2 i32.const $push67=, 1 @@ -96,18 +96,18 @@ main: # @main i32.const $push66=, 1 i32.eq $push36=, $pop35, $pop66 br_if 0, $pop36 # 0: up to label8 -# BB#8: # %if.then26 +# BB#8: # %if.then25 end_loop # label9: call abort@FUNCTION unreachable -.LBB1_9: # %for.end30 +.LBB1_9: # %for.end29 end_block # label7: i32.const $push45=, 348160 i32.add $push46=, $0, $pop45 i32.const $push12=, 348160 i32.call $1=, memcpy@FUNCTION, $0, $pop46, $pop12 i32.const $2=, 0 -.LBB1_10: # %for.body37 +.LBB1_10: # %for.body35 # =>This Inner Loop Header: Depth=1 loop # label10: i32.add $push14=, $1, $2 @@ -116,7 +116,7 @@ main: # @main i32.and $push13=, $2, $pop68 i32.ne $push16=, $pop15, $pop13 br_if 3, $pop16 # 3: down to label3 -# BB#11: # %for.cond34 +# BB#11: # %for.cond32 # in Loop: Header=BB1_10 Depth=1 i32.const $push72=, 1 i32.add $push71=, $2, $pop72 @@ -124,20 +124,20 @@ main: # @main i32.const $push69=, 348159 i32.le_u $push17=, $pop70, $pop69 br_if 0, $pop17 # 0: up to label10 -# BB#12: # %for.end48 +# BB#12: # %for.end46 end_loop # label11: i32.const $push19=, 0 i32.const $push18=, 348160 i32.call $0=, memset@FUNCTION, $1, $pop19, $pop18 i32.const $2=, 1 -.LBB1_13: # %for.cond51 +.LBB1_13: # %for.cond48 # =>This Inner Loop Header: Depth=1 block loop # label13: i32.const $push73=, 348159 i32.gt_u $push20=, $2, $pop73 br_if 2, $pop20 # 2: down to label12 -# BB#14: # %for.cond51.for.body54_crit_edge +# BB#14: # %for.cond48.for.body51_crit_edge # in Loop: Header=BB1_13 Depth=1 i32.add $1=, $0, $2 i32.const $push74=, 1 @@ -146,18 +146,18 @@ main: # @main i32.load8_u $push34=, 0($1) i32.eqz $push85=, $pop34 br_if 0, $pop85 # 0: up to label13 -# BB#15: # %if.then59 +# BB#15: # %if.then56 end_loop # label14: call abort@FUNCTION unreachable -.LBB1_16: # %for.end63 +.LBB1_16: # %for.end60 end_block # label12: i32.const $push47=, 348160 i32.add $push48=, $0, $pop47 i32.const $push21=, 2720 i32.call $1=, memcpy@FUNCTION, $0, $pop48, $pop21 i32.const $2=, 0 -.LBB1_17: # %for.body70 +.LBB1_17: # %for.body66 # =>This Inner Loop Header: Depth=1 loop # label15: i32.add $push23=, $1, $2 @@ -166,7 +166,7 @@ main: # @main i32.and $push22=, $2, $pop75 i32.ne $push25=, $pop24, $pop22 br_if 4, $pop25 # 4: down to label2 -# BB#18: # %for.cond67 +# BB#18: # %for.cond63 # in Loop: Header=BB1_17 Depth=1 i32.const $push79=, 1 i32.add $push78=, $2, $pop79 @@ -174,14 +174,14 @@ main: # @main i32.const $push76=, 2719 i32.le_u $push26=, $pop77, $pop76 br_if 0, $pop26 # 0: up to label15 -# BB#19: # %for.end81 +# BB#19: # %for.end77 end_loop # label16: i32.const $push49=, 348160 i32.add $push50=, $1, $pop49 i32.const $push27=, 348160 i32.call $drop=, memcpy@FUNCTION, $1, $pop50, $pop27 i32.const $2=, 0 -.LBB1_20: # %for.body90 +.LBB1_20: # %for.body85 # =>This Inner Loop Header: Depth=1 block loop # label18: @@ -191,7 +191,7 @@ main: # @main i32.and $push28=, $2, $pop80 i32.ne $push31=, $pop30, $pop28 br_if 2, $pop31 # 2: down to label17 -# BB#21: # %for.cond87 +# BB#21: # %for.cond82 # in Loop: Header=BB1_20 Depth=1 i32.const $push84=, 1 i32.add $push83=, $2, $pop84 @@ -199,12 +199,12 @@ main: # @main i32.const $push81=, 348159 i32.le_u $push32=, $pop82, $pop81 br_if 0, $pop32 # 0: up to label18 -# BB#22: # %for.end101 +# BB#22: # %for.end96 end_loop # label19: i32.const $push33=, 0 call exit@FUNCTION, $pop33 unreachable -.LBB1_23: # %if.then97 +.LBB1_23: # %if.then92 end_block # label17: call abort@FUNCTION unreachable @@ -212,11 +212,11 @@ main: # @main end_block # label4: call abort@FUNCTION unreachable -.LBB1_25: # %if.then44 +.LBB1_25: # %if.then42 end_block # label3: call abort@FUNCTION unreachable -.LBB1_26: # %if.then77 +.LBB1_26: # %if.then73 end_block # label2: call abort@FUNCTION unreachable diff --git a/test/torture-s/memcpy-2.c.s b/test/torture-s/memcpy-2.c.s index 3de4605d1..5e661779b 100644 --- a/test/torture-s/memcpy-2.c.s +++ b/test/torture-s/memcpy-2.c.s @@ -47,7 +47,7 @@ main: # @main i32.const $push47=, 96 i32.call $0=, memset@FUNCTION, $pop49, $pop48, $pop47 i32.const $9=, 65 - i32.const $8=, -96 + i32.const $7=, -96 .LBB0_4: # %for.body9 # Parent Loop BB0_1 Depth=1 # Parent Loop BB0_2 Depth=2 @@ -55,7 +55,7 @@ main: # @main # => This Inner Loop Header: Depth=4 loop # label7: i32.const $push60=, u2+96 - i32.add $push3=, $8, $pop60 + i32.add $push3=, $7, $pop60 i32.const $push59=, 65 i32.const $push58=, 24 i32.shl $push0=, $9, $pop58 @@ -69,14 +69,14 @@ main: # @main i32.const $push53=, 1 i32.add $9=, $9, $pop53 i32.const $push52=, 1 - i32.add $push51=, $8, $pop52 - tee_local $push50=, $8=, $pop51 + i32.add $push51=, $7, $pop52 + tee_local $push50=, $7=, $pop51 br_if 0, $pop50 # 0: up to label7 # BB#5: # %for.end # in Loop: Header=BB0_3 Depth=3 end_loop # label8: i32.call $drop=, memcpy@FUNCTION, $2, $4, $6 - i32.const $7=, u1 + i32.const $8=, u1 block i32.const $push61=, 1 i32.lt_s $push4=, $1, $pop61 @@ -105,29 +105,29 @@ main: # @main # BB#9: # %for.body36.preheader.loopexit # in Loop: Header=BB0_3 Depth=3 end_loop # label11: - i32.add $7=, $9, $0 + i32.add $8=, $9, $0 .LBB0_10: # %for.body36.preheader # in Loop: Header=BB0_3 Depth=3 end_block # label9: i32.const $9=, 0 - copy_local $8=, $5 + copy_local $7=, $5 .LBB0_11: # %for.body36 # 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 # label12: - i32.add $push13=, $7, $9 + i32.add $push13=, $8, $9 i32.load8_u $push14=, 0($pop13) i32.const $push72=, 65 i32.const $push71=, 24 - i32.shl $push9=, $8, $pop71 + i32.shl $push9=, $7, $pop71 i32.const $push70=, 24 i32.shr_s $push10=, $pop9, $pop70 i32.const $push69=, 95 i32.gt_s $push11=, $pop10, $pop69 - i32.select $push68=, $pop72, $8, $pop11 - tee_local $push67=, $8=, $pop68 + i32.select $push68=, $pop72, $7, $pop11 + tee_local $push67=, $7=, $pop68 i32.const $push66=, 255 i32.and $push12=, $pop67, $pop66 i32.ne $push15=, $pop14, $pop12 @@ -135,16 +135,16 @@ main: # @main # BB#12: # %for.inc48 # in Loop: Header=BB0_11 Depth=4 i32.const $push76=, 1 - i32.add $8=, $8, $pop76 + i32.add $7=, $7, $pop76 i32.const $push75=, 1 i32.add $push74=, $9, $pop75 tee_local $push73=, $9=, $pop74 i32.lt_s $push16=, $pop73, $6 br_if 0, $pop16 # 0: up to label12 -# BB#13: # %for.cond53.preheader +# BB#13: # %for.body56.preheader # in Loop: Header=BB0_3 Depth=3 end_loop # label13: - i32.add $push79=, $7, $9 + i32.add $push79=, $8, $9 tee_local $push78=, $9=, $pop79 i32.load8_u $push17=, 0($pop78) i32.const $push77=, 97 diff --git a/test/torture-s/memcpy-bi.c.s b/test/torture-s/memcpy-bi.c.s index 4c1028431..711e4f207 100644 --- a/test/torture-s/memcpy-bi.c.s +++ b/test/torture-s/memcpy-bi.c.s @@ -32,987 +32,987 @@ main: # @main .LBB1_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: - i32.const $push305=, src - i32.add $push24=, $0, $pop305 - i32.const $push304=, 26 - i32.rem_u $push25=, $0, $pop304 - i32.const $push303=, 97 - i32.add $push26=, $pop25, $pop303 + i32.const $push304=, src + i32.add $push24=, $0, $pop304 + i32.const $push303=, 26 + i32.rem_u $push25=, $0, $pop303 + i32.const $push302=, 97 + i32.add $push26=, $pop25, $pop302 i32.store8 $drop=, 0($pop24), $pop26 - i32.const $push302=, 1 - i32.add $push301=, $0, $pop302 - tee_local $push300=, $0=, $pop301 - i32.const $push299=, 80 - i32.ne $push27=, $pop300, $pop299 + i32.const $push301=, 1 + i32.add $push300=, $0, $pop301 + tee_local $push299=, $0=, $pop300 + i32.const $push298=, 80 + i32.ne $push27=, $pop299, $pop298 br_if 0, $pop27 # 0: up to label1 # BB#2: # %check.exit end_loop # label2: + i32.const $push308=, 0 i32.const $push307=, 0 - i32.const $push306=, 0 - i32.load16_u $push28=, src($pop306) - i32.store16 $drop=, dst($pop307), $pop28 + i32.load16_u $push306=, src($pop307) + tee_local $push305=, $0=, $pop306 + i32.store16 $drop=, dst($pop308), $pop305 block - i32.const $push29=, 1 - i32.eqz $push730=, $pop29 - br_if 0, $pop730 # 0: down to label3 -# BB#3: # %check.exit172 + i32.ne $push28=, $0, $0 + br_if 0, $pop28 # 0: down to label3 +# BB#3: # %check.exit13 + i32.const $push314=, 0 i32.const $push313=, 0 + i32.load8_u $push29=, src+2($pop313) + i32.store8 $drop=, dst+2($pop314), $pop29 i32.const $push312=, 0 - i32.load8_u $push30=, src+2($pop312) - i32.store8 $drop=, dst+2($pop313), $pop30 i32.const $push311=, 0 - i32.const $push310=, 0 - i32.load16_u $push31=, src($pop310) - i32.store16 $drop=, dst($pop311), $pop31 - i32.const $push309=, dst - i32.const $push308=, src - i32.const $push32=, 3 - i32.call $push33=, memcmp@FUNCTION, $pop309, $pop308, $pop32 - br_if 0, $pop33 # 0: down to label3 -# BB#4: # %check.exit176 + i32.load16_u $push30=, src($pop311) + i32.store16 $drop=, dst($pop312), $pop30 + i32.const $push310=, dst + i32.const $push309=, src + i32.const $push31=, 3 + i32.call $push32=, memcmp@FUNCTION, $pop310, $pop309, $pop31 + br_if 0, $pop32 # 0: down to label3 +# BB#4: # %check.exit17 + i32.const $push320=, 0 i32.const $push319=, 0 + i32.load8_u $push33=, src+4($pop319) + i32.store8 $drop=, dst+4($pop320), $pop33 i32.const $push318=, 0 - i32.load8_u $push34=, src+4($pop318) - i32.store8 $drop=, dst+4($pop319), $pop34 i32.const $push317=, 0 - i32.const $push316=, 0 - i32.load $push35=, src($pop316) - i32.store $drop=, dst($pop317), $pop35 - i32.const $push315=, dst - i32.const $push314=, src - i32.const $push36=, 5 - i32.call $push37=, memcmp@FUNCTION, $pop315, $pop314, $pop36 - br_if 0, $pop37 # 0: down to label3 -# BB#5: # %check.exit184 + i32.load $push34=, src($pop317) + i32.store $drop=, dst($pop318), $pop34 + i32.const $push316=, dst + i32.const $push315=, src + i32.const $push35=, 5 + i32.call $push36=, memcmp@FUNCTION, $pop316, $pop315, $pop35 + br_if 0, $pop36 # 0: down to label3 +# BB#5: # %check.exit25 + i32.const $push326=, 0 i32.const $push325=, 0 + i32.load16_u $push37=, src+4($pop325) + i32.store16 $drop=, dst+4($pop326), $pop37 i32.const $push324=, 0 - i32.load16_u $push38=, src+4($pop324) - i32.store16 $drop=, dst+4($pop325), $pop38 i32.const $push323=, 0 - i32.const $push322=, 0 - i32.load $push39=, src($pop322) - i32.store $drop=, dst($pop323), $pop39 - i32.const $push321=, dst - i32.const $push320=, src - i32.const $push40=, 6 - i32.call $push41=, memcmp@FUNCTION, $pop321, $pop320, $pop40 - br_if 0, $pop41 # 0: down to label3 -# BB#6: # %check.exit188 + i32.load $push38=, src($pop323) + i32.store $drop=, dst($pop324), $pop38 + i32.const $push322=, dst + i32.const $push321=, src + i32.const $push39=, 6 + i32.call $push40=, memcmp@FUNCTION, $pop322, $pop321, $pop39 + br_if 0, $pop40 # 0: down to label3 +# BB#6: # %check.exit29 + i32.const $push334=, 0 i32.const $push333=, 0 + i32.load8_u $push41=, src+6($pop333) + i32.store8 $drop=, dst+6($pop334), $pop41 i32.const $push332=, 0 - i32.load8_u $push42=, src+6($pop332) - i32.store8 $drop=, dst+6($pop333), $pop42 i32.const $push331=, 0 + i32.load16_u $push42=, src+4($pop331) + i32.store16 $drop=, dst+4($pop332), $pop42 i32.const $push330=, 0 - i32.load16_u $push43=, src+4($pop330) - i32.store16 $drop=, dst+4($pop331), $pop43 i32.const $push329=, 0 - i32.const $push328=, 0 - i32.load $push44=, src($pop328) - i32.store $drop=, dst($pop329), $pop44 - i32.const $push327=, dst - i32.const $push326=, src - i32.const $push45=, 7 - i32.call $push46=, memcmp@FUNCTION, $pop327, $pop326, $pop45 - br_if 0, $pop46 # 0: down to label3 -# BB#7: # %check.exit192 + i32.load $push43=, src($pop329) + i32.store $drop=, dst($pop330), $pop43 + i32.const $push328=, dst + i32.const $push327=, src + i32.const $push44=, 7 + i32.call $push45=, memcmp@FUNCTION, $pop328, $pop327, $pop44 + br_if 0, $pop45 # 0: down to label3 +# BB#7: # %check.exit33 + i32.const $push340=, 0 i32.const $push339=, 0 + i32.load8_u $push46=, src+8($pop339) + i32.store8 $drop=, dst+8($pop340), $pop46 i32.const $push338=, 0 - i32.load8_u $push47=, src+8($pop338) - i32.store8 $drop=, dst+8($pop339), $pop47 i32.const $push337=, 0 - i32.const $push336=, 0 - i64.load $push48=, src($pop336) - i64.store $drop=, dst($pop337), $pop48 - i32.const $push335=, dst - i32.const $push334=, src - i32.const $push49=, 9 - i32.call $push50=, memcmp@FUNCTION, $pop335, $pop334, $pop49 - br_if 0, $pop50 # 0: down to label3 -# BB#8: # %check.exit200 + i64.load $push47=, src($pop337) + i64.store $drop=, dst($pop338), $pop47 + i32.const $push336=, dst + i32.const $push335=, src + i32.const $push48=, 9 + i32.call $push49=, memcmp@FUNCTION, $pop336, $pop335, $pop48 + br_if 0, $pop49 # 0: down to label3 +# BB#8: # %check.exit41 + i32.const $push346=, 0 i32.const $push345=, 0 + i32.load16_u $push50=, src+8($pop345) + i32.store16 $drop=, dst+8($pop346), $pop50 i32.const $push344=, 0 - i32.load16_u $push51=, src+8($pop344) - i32.store16 $drop=, dst+8($pop345), $pop51 i32.const $push343=, 0 - i32.const $push342=, 0 - i64.load $push52=, src($pop342) - i64.store $drop=, dst($pop343), $pop52 - i32.const $push341=, dst - i32.const $push340=, src - i32.const $push53=, 10 - i32.call $push54=, memcmp@FUNCTION, $pop341, $pop340, $pop53 - br_if 0, $pop54 # 0: down to label3 -# BB#9: # %check.exit204 + i64.load $push51=, src($pop343) + i64.store $drop=, dst($pop344), $pop51 + i32.const $push342=, dst + i32.const $push341=, src + i32.const $push52=, 10 + i32.call $push53=, memcmp@FUNCTION, $pop342, $pop341, $pop52 + br_if 0, $pop53 # 0: down to label3 +# BB#9: # %check.exit45 + i32.const $push354=, 0 i32.const $push353=, 0 + i32.load8_u $push54=, src+10($pop353) + i32.store8 $drop=, dst+10($pop354), $pop54 i32.const $push352=, 0 - i32.load8_u $push55=, src+10($pop352) - i32.store8 $drop=, dst+10($pop353), $pop55 i32.const $push351=, 0 + i32.load16_u $push55=, src+8($pop351) + i32.store16 $drop=, dst+8($pop352), $pop55 i32.const $push350=, 0 - i32.load16_u $push56=, src+8($pop350) - i32.store16 $drop=, dst+8($pop351), $pop56 i32.const $push349=, 0 - i32.const $push348=, 0 - i64.load $push57=, src($pop348) - i64.store $drop=, dst($pop349), $pop57 - i32.const $push347=, dst - i32.const $push346=, src - i32.const $push58=, 11 - i32.call $push59=, memcmp@FUNCTION, $pop347, $pop346, $pop58 - br_if 0, $pop59 # 0: down to label3 -# BB#10: # %check.exit208 + i64.load $push56=, src($pop349) + i64.store $drop=, dst($pop350), $pop56 + i32.const $push348=, dst + i32.const $push347=, src + i32.const $push57=, 11 + i32.call $push58=, memcmp@FUNCTION, $pop348, $pop347, $pop57 + br_if 0, $pop58 # 0: down to label3 +# BB#10: # %check.exit49 + i32.const $push360=, 0 i32.const $push359=, 0 + i32.load $push59=, src+8($pop359) + i32.store $drop=, dst+8($pop360), $pop59 i32.const $push358=, 0 - i32.load $push60=, src+8($pop358) - i32.store $drop=, dst+8($pop359), $pop60 i32.const $push357=, 0 - i32.const $push356=, 0 - i64.load $push61=, src($pop356) - i64.store $drop=, dst($pop357), $pop61 - i32.const $push355=, dst - i32.const $push354=, src - i32.const $push62=, 12 - i32.call $push63=, memcmp@FUNCTION, $pop355, $pop354, $pop62 - br_if 0, $pop63 # 0: down to label3 -# BB#11: # %check.exit212 + i64.load $push60=, src($pop357) + i64.store $drop=, dst($pop358), $pop60 + i32.const $push356=, dst + i32.const $push355=, src + i32.const $push61=, 12 + i32.call $push62=, memcmp@FUNCTION, $pop356, $pop355, $pop61 + br_if 0, $pop62 # 0: down to label3 +# BB#11: # %check.exit53 + i32.const $push368=, 0 i32.const $push367=, 0 + i32.load8_u $push63=, src+12($pop367) + i32.store8 $drop=, dst+12($pop368), $pop63 i32.const $push366=, 0 - i32.load8_u $push64=, src+12($pop366) - i32.store8 $drop=, dst+12($pop367), $pop64 i32.const $push365=, 0 + i32.load $push64=, src+8($pop365) + i32.store $drop=, dst+8($pop366), $pop64 i32.const $push364=, 0 - i32.load $push65=, src+8($pop364) - i32.store $drop=, dst+8($pop365), $pop65 i32.const $push363=, 0 - i32.const $push362=, 0 - i64.load $push66=, src($pop362) - i64.store $drop=, dst($pop363), $pop66 - i32.const $push361=, dst - i32.const $push360=, src - i32.const $push67=, 13 - i32.call $push68=, memcmp@FUNCTION, $pop361, $pop360, $pop67 - br_if 0, $pop68 # 0: down to label3 -# BB#12: # %check.exit216 + i64.load $push65=, src($pop363) + i64.store $drop=, dst($pop364), $pop65 + i32.const $push362=, dst + i32.const $push361=, src + i32.const $push66=, 13 + i32.call $push67=, memcmp@FUNCTION, $pop362, $pop361, $pop66 + br_if 0, $pop67 # 0: down to label3 +# BB#12: # %check.exit57 + i32.const $push376=, 0 i32.const $push375=, 0 + i32.load16_u $push68=, src+12($pop375) + i32.store16 $drop=, dst+12($pop376), $pop68 i32.const $push374=, 0 - i32.load16_u $push69=, src+12($pop374) - i32.store16 $drop=, dst+12($pop375), $pop69 i32.const $push373=, 0 + i32.load $push69=, src+8($pop373) + i32.store $drop=, dst+8($pop374), $pop69 i32.const $push372=, 0 - i32.load $push70=, src+8($pop372) - i32.store $drop=, dst+8($pop373), $pop70 i32.const $push371=, 0 - i32.const $push370=, 0 - i64.load $push71=, src($pop370) - i64.store $drop=, dst($pop371), $pop71 - i32.const $push369=, dst - i32.const $push368=, src - i32.const $push72=, 14 - i32.call $push73=, memcmp@FUNCTION, $pop369, $pop368, $pop72 - br_if 0, $pop73 # 0: down to label3 -# BB#13: # %check.exit220 + i64.load $push70=, src($pop371) + i64.store $drop=, dst($pop372), $pop70 + i32.const $push370=, dst + i32.const $push369=, src + i32.const $push71=, 14 + i32.call $push72=, memcmp@FUNCTION, $pop370, $pop369, $pop71 + br_if 0, $pop72 # 0: down to label3 +# BB#13: # %check.exit61 + i32.const $push386=, 0 i32.const $push385=, 0 + i32.load8_u $push73=, src+14($pop385) + i32.store8 $drop=, dst+14($pop386), $pop73 i32.const $push384=, 0 - i32.load8_u $push74=, src+14($pop384) - i32.store8 $drop=, dst+14($pop385), $pop74 i32.const $push383=, 0 + i32.load16_u $push74=, src+12($pop383) + i32.store16 $drop=, dst+12($pop384), $pop74 i32.const $push382=, 0 - i32.load16_u $push75=, src+12($pop382) - i32.store16 $drop=, dst+12($pop383), $pop75 i32.const $push381=, 0 + i32.load $push75=, src+8($pop381) + i32.store $drop=, dst+8($pop382), $pop75 i32.const $push380=, 0 - i32.load $push76=, src+8($pop380) - i32.store $drop=, dst+8($pop381), $pop76 i32.const $push379=, 0 - i32.const $push378=, 0 - i64.load $push77=, src($pop378) - i64.store $drop=, dst($pop379), $pop77 - i32.const $push377=, dst - i32.const $push376=, src - i32.const $push78=, 15 - i32.call $push79=, memcmp@FUNCTION, $pop377, $pop376, $pop78 - br_if 0, $pop79 # 0: down to label3 -# BB#14: # %check.exit224 + i64.load $push76=, src($pop379) + i64.store $drop=, dst($pop380), $pop76 + i32.const $push378=, dst + i32.const $push377=, src + i32.const $push77=, 15 + i32.call $push78=, memcmp@FUNCTION, $pop378, $pop377, $pop77 + br_if 0, $pop78 # 0: down to label3 +# BB#14: # %check.exit65 + i32.const $push392=, 0 i32.const $push391=, 0 + i64.load $push79=, src+8($pop391) + i64.store $drop=, dst+8($pop392), $pop79 i32.const $push390=, 0 - i64.load $push80=, src+8($pop390) - i64.store $drop=, dst+8($pop391), $pop80 i32.const $push389=, 0 - i32.const $push388=, 0 - i64.load $push81=, src($pop388) - i64.store $drop=, dst($pop389), $pop81 - i32.const $push387=, dst - i32.const $push386=, src - i32.const $push82=, 16 - i32.call $push83=, memcmp@FUNCTION, $pop387, $pop386, $pop82 - br_if 0, $pop83 # 0: down to label3 -# BB#15: # %check.exit228 + i64.load $push80=, src($pop389) + i64.store $drop=, dst($pop390), $pop80 + i32.const $push388=, dst + i32.const $push387=, src + i32.const $push81=, 16 + i32.call $push82=, memcmp@FUNCTION, $pop388, $pop387, $pop81 + br_if 0, $pop82 # 0: down to label3 +# BB#15: # %check.exit69 + i32.const $push400=, 0 i32.const $push399=, 0 + i32.load8_u $push83=, src+16($pop399) + i32.store8 $drop=, dst+16($pop400), $pop83 i32.const $push398=, 0 - i32.load8_u $push84=, src+16($pop398) - i32.store8 $drop=, dst+16($pop399), $pop84 i32.const $push397=, 0 + i64.load $push84=, src+8($pop397) + i64.store $drop=, dst+8($pop398), $pop84 i32.const $push396=, 0 - i64.load $push85=, src+8($pop396) - i64.store $drop=, dst+8($pop397), $pop85 i32.const $push395=, 0 - i32.const $push394=, 0 - i64.load $push86=, src($pop394) - i64.store $drop=, dst($pop395), $pop86 - i32.const $push393=, dst - i32.const $push392=, src - i32.const $push87=, 17 - i32.call $push88=, memcmp@FUNCTION, $pop393, $pop392, $pop87 - br_if 0, $pop88 # 0: down to label3 -# BB#16: # %check.exit232 + i64.load $push85=, src($pop395) + i64.store $drop=, dst($pop396), $pop85 + i32.const $push394=, dst + i32.const $push393=, src + i32.const $push86=, 17 + i32.call $push87=, memcmp@FUNCTION, $pop394, $pop393, $pop86 + br_if 0, $pop87 # 0: down to label3 +# BB#16: # %check.exit73 + i32.const $push408=, 0 i32.const $push407=, 0 + i32.load16_u $push88=, src+16($pop407) + i32.store16 $drop=, dst+16($pop408), $pop88 i32.const $push406=, 0 - i32.load16_u $push89=, src+16($pop406) - i32.store16 $drop=, dst+16($pop407), $pop89 i32.const $push405=, 0 + i64.load $push89=, src+8($pop405) + i64.store $drop=, dst+8($pop406), $pop89 i32.const $push404=, 0 - i64.load $push90=, src+8($pop404) - i64.store $drop=, dst+8($pop405), $pop90 i32.const $push403=, 0 - i32.const $push402=, 0 - i64.load $push91=, src($pop402) - i64.store $drop=, dst($pop403), $pop91 - i32.const $push401=, dst - i32.const $push400=, src - i32.const $push92=, 18 - i32.call $push93=, memcmp@FUNCTION, $pop401, $pop400, $pop92 - br_if 0, $pop93 # 0: down to label3 -# BB#17: # %check.exit236 + i64.load $push90=, src($pop403) + i64.store $drop=, dst($pop404), $pop90 + i32.const $push402=, dst + i32.const $push401=, src + i32.const $push91=, 18 + i32.call $push92=, memcmp@FUNCTION, $pop402, $pop401, $pop91 + br_if 0, $pop92 # 0: down to label3 +# BB#17: # %check.exit77 + i32.const $push418=, 0 i32.const $push417=, 0 + i32.load8_u $push93=, src+18($pop417) + i32.store8 $drop=, dst+18($pop418), $pop93 i32.const $push416=, 0 - i32.load8_u $push94=, src+18($pop416) - i32.store8 $drop=, dst+18($pop417), $pop94 i32.const $push415=, 0 + i32.load16_u $push94=, src+16($pop415) + i32.store16 $drop=, dst+16($pop416), $pop94 i32.const $push414=, 0 - i32.load16_u $push95=, src+16($pop414) - i32.store16 $drop=, dst+16($pop415), $pop95 i32.const $push413=, 0 + i64.load $push95=, src+8($pop413) + i64.store $drop=, dst+8($pop414), $pop95 i32.const $push412=, 0 - i64.load $push96=, src+8($pop412) - i64.store $drop=, dst+8($pop413), $pop96 i32.const $push411=, 0 - i32.const $push410=, 0 - i64.load $push97=, src($pop410) - i64.store $drop=, dst($pop411), $pop97 - i32.const $push409=, dst - i32.const $push408=, src - i32.const $push98=, 19 - i32.call $push99=, memcmp@FUNCTION, $pop409, $pop408, $pop98 - br_if 0, $pop99 # 0: down to label3 -# BB#18: # %check.exit240 + i64.load $push96=, src($pop411) + i64.store $drop=, dst($pop412), $pop96 + i32.const $push410=, dst + i32.const $push409=, src + i32.const $push97=, 19 + i32.call $push98=, memcmp@FUNCTION, $pop410, $pop409, $pop97 + br_if 0, $pop98 # 0: down to label3 +# BB#18: # %check.exit81 + i32.const $push426=, 0 i32.const $push425=, 0 + i32.load $push99=, src+16($pop425) + i32.store $drop=, dst+16($pop426), $pop99 i32.const $push424=, 0 - i32.load $push100=, src+16($pop424) - i32.store $drop=, dst+16($pop425), $pop100 i32.const $push423=, 0 + i64.load $push100=, src+8($pop423) + i64.store $drop=, dst+8($pop424), $pop100 i32.const $push422=, 0 - i64.load $push101=, src+8($pop422) - i64.store $drop=, dst+8($pop423), $pop101 i32.const $push421=, 0 - i32.const $push420=, 0 - i64.load $push102=, src($pop420) - i64.store $drop=, dst($pop421), $pop102 - i32.const $push419=, dst - i32.const $push418=, src - i32.const $push103=, 20 - i32.call $push104=, memcmp@FUNCTION, $pop419, $pop418, $pop103 - br_if 0, $pop104 # 0: down to label3 -# BB#19: # %check.exit244 + i64.load $push101=, src($pop421) + i64.store $drop=, dst($pop422), $pop101 + i32.const $push420=, dst + i32.const $push419=, src + i32.const $push102=, 20 + i32.call $push103=, memcmp@FUNCTION, $pop420, $pop419, $pop102 + br_if 0, $pop103 # 0: down to label3 +# BB#19: # %check.exit85 + i32.const $push436=, 0 i32.const $push435=, 0 + i32.load8_u $push104=, src+20($pop435) + i32.store8 $drop=, dst+20($pop436), $pop104 i32.const $push434=, 0 - i32.load8_u $push105=, src+20($pop434) - i32.store8 $drop=, dst+20($pop435), $pop105 i32.const $push433=, 0 + i32.load $push105=, src+16($pop433) + i32.store $drop=, dst+16($pop434), $pop105 i32.const $push432=, 0 - i32.load $push106=, src+16($pop432) - i32.store $drop=, dst+16($pop433), $pop106 i32.const $push431=, 0 + i64.load $push106=, src+8($pop431) + i64.store $drop=, dst+8($pop432), $pop106 i32.const $push430=, 0 - i64.load $push107=, src+8($pop430) - i64.store $drop=, dst+8($pop431), $pop107 i32.const $push429=, 0 - i32.const $push428=, 0 - i64.load $push108=, src($pop428) - i64.store $drop=, dst($pop429), $pop108 - i32.const $push427=, dst - i32.const $push426=, src - i32.const $push109=, 21 - i32.call $push110=, memcmp@FUNCTION, $pop427, $pop426, $pop109 - br_if 0, $pop110 # 0: down to label3 -# BB#20: # %check.exit248 + i64.load $push107=, src($pop429) + i64.store $drop=, dst($pop430), $pop107 + i32.const $push428=, dst + i32.const $push427=, src + i32.const $push108=, 21 + i32.call $push109=, memcmp@FUNCTION, $pop428, $pop427, $pop108 + br_if 0, $pop109 # 0: down to label3 +# BB#20: # %check.exit89 + i32.const $push446=, 0 i32.const $push445=, 0 + i32.load16_u $push110=, src+20($pop445) + i32.store16 $drop=, dst+20($pop446), $pop110 i32.const $push444=, 0 - i32.load16_u $push111=, src+20($pop444) - i32.store16 $drop=, dst+20($pop445), $pop111 i32.const $push443=, 0 + i32.load $push111=, src+16($pop443) + i32.store $drop=, dst+16($pop444), $pop111 i32.const $push442=, 0 - i32.load $push112=, src+16($pop442) - i32.store $drop=, dst+16($pop443), $pop112 i32.const $push441=, 0 + i64.load $push112=, src+8($pop441) + i64.store $drop=, dst+8($pop442), $pop112 i32.const $push440=, 0 - i64.load $push113=, src+8($pop440) - i64.store $drop=, dst+8($pop441), $pop113 i32.const $push439=, 0 - i32.const $push438=, 0 - i64.load $push114=, src($pop438) - i64.store $drop=, dst($pop439), $pop114 - i32.const $push437=, dst - i32.const $push436=, src - i32.const $push115=, 22 - i32.call $push116=, memcmp@FUNCTION, $pop437, $pop436, $pop115 - br_if 0, $pop116 # 0: down to label3 -# BB#21: # %check.exit252 + i64.load $push113=, src($pop439) + i64.store $drop=, dst($pop440), $pop113 + i32.const $push438=, dst + i32.const $push437=, src + i32.const $push114=, 22 + i32.call $push115=, memcmp@FUNCTION, $pop438, $pop437, $pop114 + br_if 0, $pop115 # 0: down to label3 +# BB#21: # %check.exit93 + i32.const $push458=, 0 i32.const $push457=, 0 + i32.load8_u $push116=, src+22($pop457) + i32.store8 $drop=, dst+22($pop458), $pop116 i32.const $push456=, 0 - i32.load8_u $push117=, src+22($pop456) - i32.store8 $drop=, dst+22($pop457), $pop117 i32.const $push455=, 0 + i32.load16_u $push117=, src+20($pop455) + i32.store16 $drop=, dst+20($pop456), $pop117 i32.const $push454=, 0 - i32.load16_u $push118=, src+20($pop454) - i32.store16 $drop=, dst+20($pop455), $pop118 i32.const $push453=, 0 + i32.load $push118=, src+16($pop453) + i32.store $drop=, dst+16($pop454), $pop118 i32.const $push452=, 0 - i32.load $push119=, src+16($pop452) - i32.store $drop=, dst+16($pop453), $pop119 i32.const $push451=, 0 + i64.load $push119=, src+8($pop451) + i64.store $drop=, dst+8($pop452), $pop119 i32.const $push450=, 0 - i64.load $push120=, src+8($pop450) - i64.store $drop=, dst+8($pop451), $pop120 i32.const $push449=, 0 - i32.const $push448=, 0 - i64.load $push121=, src($pop448) - i64.store $drop=, dst($pop449), $pop121 - i32.const $push447=, dst - i32.const $push446=, src - i32.const $push122=, 23 - i32.call $push123=, memcmp@FUNCTION, $pop447, $pop446, $pop122 - br_if 0, $pop123 # 0: down to label3 -# BB#22: # %check.exit256 + i64.load $push120=, src($pop449) + i64.store $drop=, dst($pop450), $pop120 + i32.const $push448=, dst + i32.const $push447=, src + i32.const $push121=, 23 + i32.call $push122=, memcmp@FUNCTION, $pop448, $pop447, $pop121 + br_if 0, $pop122 # 0: down to label3 +# BB#22: # %check.exit97 + i32.const $push466=, 0 i32.const $push465=, 0 + i64.load $push123=, src+16($pop465) + i64.store $drop=, dst+16($pop466), $pop123 i32.const $push464=, 0 - i64.load $push124=, src+16($pop464) - i64.store $drop=, dst+16($pop465), $pop124 i32.const $push463=, 0 + i64.load $push124=, src+8($pop463) + i64.store $drop=, dst+8($pop464), $pop124 i32.const $push462=, 0 - i64.load $push125=, src+8($pop462) - i64.store $drop=, dst+8($pop463), $pop125 i32.const $push461=, 0 - i32.const $push460=, 0 - i64.load $push126=, src($pop460) - i64.store $drop=, dst($pop461), $pop126 - i32.const $push459=, dst - i32.const $push458=, src - i32.const $push127=, 24 - i32.call $push128=, memcmp@FUNCTION, $pop459, $pop458, $pop127 - br_if 0, $pop128 # 0: down to label3 -# BB#23: # %check.exit260 + i64.load $push125=, src($pop461) + i64.store $drop=, dst($pop462), $pop125 + i32.const $push460=, dst + i32.const $push459=, src + i32.const $push126=, 24 + i32.call $push127=, memcmp@FUNCTION, $pop460, $pop459, $pop126 + br_if 0, $pop127 # 0: down to label3 +# BB#23: # %check.exit101 + i32.const $push476=, 0 i32.const $push475=, 0 + i32.load8_u $push128=, src+24($pop475) + i32.store8 $drop=, dst+24($pop476), $pop128 i32.const $push474=, 0 - i32.load8_u $push129=, src+24($pop474) - i32.store8 $drop=, dst+24($pop475), $pop129 i32.const $push473=, 0 + i64.load $push129=, src+16($pop473) + i64.store $drop=, dst+16($pop474), $pop129 i32.const $push472=, 0 - i64.load $push130=, src+16($pop472) - i64.store $drop=, dst+16($pop473), $pop130 i32.const $push471=, 0 + i64.load $push130=, src+8($pop471) + i64.store $drop=, dst+8($pop472), $pop130 i32.const $push470=, 0 - i64.load $push131=, src+8($pop470) - i64.store $drop=, dst+8($pop471), $pop131 i32.const $push469=, 0 - i32.const $push468=, 0 - i64.load $push132=, src($pop468) - i64.store $drop=, dst($pop469), $pop132 - i32.const $push467=, dst - i32.const $push466=, src - i32.const $push133=, 25 - i32.call $push134=, memcmp@FUNCTION, $pop467, $pop466, $pop133 - br_if 0, $pop134 # 0: down to label3 -# BB#24: # %check.exit264 + i64.load $push131=, src($pop469) + i64.store $drop=, dst($pop470), $pop131 + i32.const $push468=, dst + i32.const $push467=, src + i32.const $push132=, 25 + i32.call $push133=, memcmp@FUNCTION, $pop468, $pop467, $pop132 + br_if 0, $pop133 # 0: down to label3 +# BB#24: # %check.exit105 + i32.const $push486=, 0 i32.const $push485=, 0 + i32.load16_u $push134=, src+24($pop485) + i32.store16 $drop=, dst+24($pop486), $pop134 i32.const $push484=, 0 - i32.load16_u $push135=, src+24($pop484) - i32.store16 $drop=, dst+24($pop485), $pop135 i32.const $push483=, 0 + i64.load $push135=, src+16($pop483) + i64.store $drop=, dst+16($pop484), $pop135 i32.const $push482=, 0 - i64.load $push136=, src+16($pop482) - i64.store $drop=, dst+16($pop483), $pop136 i32.const $push481=, 0 + i64.load $push136=, src+8($pop481) + i64.store $drop=, dst+8($pop482), $pop136 i32.const $push480=, 0 - i64.load $push137=, src+8($pop480) - i64.store $drop=, dst+8($pop481), $pop137 i32.const $push479=, 0 - i32.const $push478=, 0 - i64.load $push138=, src($pop478) - i64.store $drop=, dst($pop479), $pop138 - i32.const $push477=, dst - i32.const $push476=, src - i32.const $push139=, 26 - i32.call $push140=, memcmp@FUNCTION, $pop477, $pop476, $pop139 - br_if 0, $pop140 # 0: down to label3 -# BB#25: # %check.exit268 + i64.load $push137=, src($pop479) + i64.store $drop=, dst($pop480), $pop137 + i32.const $push478=, dst + i32.const $push477=, src + i32.const $push138=, 26 + i32.call $push139=, memcmp@FUNCTION, $pop478, $pop477, $pop138 + br_if 0, $pop139 # 0: down to label3 +# BB#25: # %check.exit109 + i32.const $push498=, 0 i32.const $push497=, 0 + i32.load8_u $push140=, src+26($pop497) + i32.store8 $drop=, dst+26($pop498), $pop140 i32.const $push496=, 0 - i32.load8_u $push141=, src+26($pop496) - i32.store8 $drop=, dst+26($pop497), $pop141 i32.const $push495=, 0 + i32.load16_u $push141=, src+24($pop495) + i32.store16 $drop=, dst+24($pop496), $pop141 i32.const $push494=, 0 - i32.load16_u $push142=, src+24($pop494) - i32.store16 $drop=, dst+24($pop495), $pop142 i32.const $push493=, 0 + i64.load $push142=, src+16($pop493) + i64.store $drop=, dst+16($pop494), $pop142 i32.const $push492=, 0 - i64.load $push143=, src+16($pop492) - i64.store $drop=, dst+16($pop493), $pop143 i32.const $push491=, 0 + i64.load $push143=, src+8($pop491) + i64.store $drop=, dst+8($pop492), $pop143 i32.const $push490=, 0 - i64.load $push144=, src+8($pop490) - i64.store $drop=, dst+8($pop491), $pop144 i32.const $push489=, 0 - i32.const $push488=, 0 - i64.load $push145=, src($pop488) - i64.store $drop=, dst($pop489), $pop145 - i32.const $push487=, dst - i32.const $push486=, src - i32.const $push146=, 27 - i32.call $push147=, memcmp@FUNCTION, $pop487, $pop486, $pop146 - br_if 0, $pop147 # 0: down to label3 -# BB#26: # %check.exit272 + i64.load $push144=, src($pop489) + i64.store $drop=, dst($pop490), $pop144 + i32.const $push488=, dst + i32.const $push487=, src + i32.const $push145=, 27 + i32.call $push146=, memcmp@FUNCTION, $pop488, $pop487, $pop145 + br_if 0, $pop146 # 0: down to label3 +# BB#26: # %check.exit113 + i32.const $push508=, 0 i32.const $push507=, 0 + i32.load $push147=, src+24($pop507) + i32.store $drop=, dst+24($pop508), $pop147 i32.const $push506=, 0 - i32.load $push148=, src+24($pop506) - i32.store $drop=, dst+24($pop507), $pop148 i32.const $push505=, 0 + i64.load $push148=, src+16($pop505) + i64.store $drop=, dst+16($pop506), $pop148 i32.const $push504=, 0 - i64.load $push149=, src+16($pop504) - i64.store $drop=, dst+16($pop505), $pop149 i32.const $push503=, 0 + i64.load $push149=, src+8($pop503) + i64.store $drop=, dst+8($pop504), $pop149 i32.const $push502=, 0 - i64.load $push150=, src+8($pop502) - i64.store $drop=, dst+8($pop503), $pop150 i32.const $push501=, 0 - i32.const $push500=, 0 - i64.load $push151=, src($pop500) - i64.store $drop=, dst($pop501), $pop151 - i32.const $push499=, dst - i32.const $push498=, src - i32.const $push152=, 28 - i32.call $push153=, memcmp@FUNCTION, $pop499, $pop498, $pop152 - br_if 0, $pop153 # 0: down to label3 -# BB#27: # %check.exit276 + i64.load $push150=, src($pop501) + i64.store $drop=, dst($pop502), $pop150 + i32.const $push500=, dst + i32.const $push499=, src + i32.const $push151=, 28 + i32.call $push152=, memcmp@FUNCTION, $pop500, $pop499, $pop151 + br_if 0, $pop152 # 0: down to label3 +# BB#27: # %check.exit117 + i32.const $push520=, 0 i32.const $push519=, 0 + i32.load8_u $push153=, src+28($pop519) + i32.store8 $drop=, dst+28($pop520), $pop153 i32.const $push518=, 0 - i32.load8_u $push154=, src+28($pop518) - i32.store8 $drop=, dst+28($pop519), $pop154 i32.const $push517=, 0 + i32.load $push154=, src+24($pop517) + i32.store $drop=, dst+24($pop518), $pop154 i32.const $push516=, 0 - i32.load $push155=, src+24($pop516) - i32.store $drop=, dst+24($pop517), $pop155 i32.const $push515=, 0 + i64.load $push155=, src+16($pop515) + i64.store $drop=, dst+16($pop516), $pop155 i32.const $push514=, 0 - i64.load $push156=, src+16($pop514) - i64.store $drop=, dst+16($pop515), $pop156 i32.const $push513=, 0 + i64.load $push156=, src+8($pop513) + i64.store $drop=, dst+8($pop514), $pop156 i32.const $push512=, 0 - i64.load $push157=, src+8($pop512) - i64.store $drop=, dst+8($pop513), $pop157 i32.const $push511=, 0 - i32.const $push510=, 0 - i64.load $push158=, src($pop510) - i64.store $drop=, dst($pop511), $pop158 - i32.const $push509=, dst - i32.const $push508=, src - i32.const $push159=, 29 - i32.call $push160=, memcmp@FUNCTION, $pop509, $pop508, $pop159 - br_if 0, $pop160 # 0: down to label3 -# BB#28: # %check.exit280 - i32.const $push161=, 0 + i64.load $push157=, src($pop511) + i64.store $drop=, dst($pop512), $pop157 + i32.const $push510=, dst + i32.const $push509=, src + i32.const $push158=, 29 + i32.call $push159=, memcmp@FUNCTION, $pop510, $pop509, $pop158 + br_if 0, $pop159 # 0: down to label3 +# BB#28: # %check.exit121 + i32.const $push160=, 0 + i32.const $push531=, 0 + i32.load16_u $push161=, src+28($pop531) + i32.store16 $drop=, dst+28($pop160), $pop161 i32.const $push530=, 0 - i32.load16_u $push162=, src+28($pop530) - i32.store16 $drop=, dst+28($pop161), $pop162 i32.const $push529=, 0 + i32.load $push162=, src+24($pop529) + i32.store $drop=, dst+24($pop530), $pop162 i32.const $push528=, 0 - i32.load $push163=, src+24($pop528) - i32.store $drop=, dst+24($pop529), $pop163 i32.const $push527=, 0 + i64.load $push163=, src+16($pop527) + i64.store $drop=, dst+16($pop528), $pop163 i32.const $push526=, 0 - i64.load $push164=, src+16($pop526) - i64.store $drop=, dst+16($pop527), $pop164 i32.const $push525=, 0 + i64.load $push164=, src+8($pop525) + i64.store $drop=, dst+8($pop526), $pop164 i32.const $push524=, 0 - i64.load $push165=, src+8($pop524) - i64.store $drop=, dst+8($pop525), $pop165 i32.const $push523=, 0 - i32.const $push522=, 0 - i64.load $push166=, src($pop522) - i64.store $drop=, dst($pop523), $pop166 - i32.const $push521=, dst - i32.const $push520=, src - i32.const $push167=, 30 - i32.call $push168=, memcmp@FUNCTION, $pop521, $pop520, $pop167 - br_if 0, $pop168 # 0: down to label3 -# BB#29: # %check.exit284 - i32.const $push170=, dst - i32.const $push535=, src - i32.const $push169=, 31 - i32.call $push534=, memcpy@FUNCTION, $pop170, $pop535, $pop169 - tee_local $push533=, $0=, $pop534 - i32.const $push532=, src - i32.const $push531=, 31 - i32.call $push171=, memcmp@FUNCTION, $pop533, $pop532, $pop531 - br_if 0, $pop171 # 0: down to label3 -# BB#30: # %check.exit288 - i32.const $push172=, 0 + i64.load $push165=, src($pop523) + i64.store $drop=, dst($pop524), $pop165 + i32.const $push522=, dst + i32.const $push521=, src + i32.const $push166=, 30 + i32.call $push167=, memcmp@FUNCTION, $pop522, $pop521, $pop166 + br_if 0, $pop167 # 0: down to label3 +# BB#29: # %check.exit125 + i32.const $push169=, dst + i32.const $push536=, src + i32.const $push168=, 31 + i32.call $push535=, memcpy@FUNCTION, $pop169, $pop536, $pop168 + tee_local $push534=, $0=, $pop535 + i32.const $push533=, src + i32.const $push532=, 31 + i32.call $push170=, memcmp@FUNCTION, $pop534, $pop533, $pop532 + br_if 0, $pop170 # 0: down to label3 +# BB#30: # %check.exit129 + i32.const $push171=, 0 + i32.const $push544=, 0 + i64.load $push172=, src+24($pop544) + i64.store $drop=, dst+24($pop171), $pop172 i32.const $push543=, 0 - i64.load $push173=, src+24($pop543) - i64.store $drop=, dst+24($pop172), $pop173 i32.const $push542=, 0 + i64.load $push173=, src+16($pop542) + i64.store $drop=, dst+16($pop543), $pop173 i32.const $push541=, 0 - i64.load $push174=, src+16($pop541) - i64.store $drop=, dst+16($pop542), $pop174 i32.const $push540=, 0 + i64.load $push174=, src+8($pop540) + i64.store $drop=, dst+8($pop541), $pop174 i32.const $push539=, 0 - i64.load $push175=, src+8($pop539) - i64.store $drop=, dst+8($pop540), $pop175 i32.const $push538=, 0 - i32.const $push537=, 0 - i64.load $push176=, src($pop537) - i64.store $drop=, dst($pop538), $pop176 - i32.const $push536=, src - i32.const $push177=, 32 - i32.call $push178=, memcmp@FUNCTION, $0, $pop536, $pop177 - br_if 0, $pop178 # 0: down to label3 -# BB#31: # %check.exit292 - i32.const $push180=, dst - i32.const $push548=, src - i32.const $push179=, 33 - i32.call $push547=, memcpy@FUNCTION, $pop180, $pop548, $pop179 - tee_local $push546=, $0=, $pop547 - i32.const $push545=, src - i32.const $push544=, 33 - i32.call $push181=, memcmp@FUNCTION, $pop546, $pop545, $pop544 - br_if 0, $pop181 # 0: down to label3 -# BB#32: # %check.exit296 + i64.load $push175=, src($pop538) + i64.store $drop=, dst($pop539), $pop175 + i32.const $push537=, src + i32.const $push176=, 32 + i32.call $push177=, memcmp@FUNCTION, $0, $pop537, $pop176 + br_if 0, $pop177 # 0: down to label3 +# BB#31: # %check.exit133 + i32.const $push179=, dst + i32.const $push549=, src + i32.const $push178=, 33 + i32.call $push548=, memcpy@FUNCTION, $pop179, $pop549, $pop178 + tee_local $push547=, $0=, $pop548 + i32.const $push546=, src + i32.const $push545=, 33 + i32.call $push180=, memcmp@FUNCTION, $pop547, $pop546, $pop545 + br_if 0, $pop180 # 0: down to label3 +# BB#32: # %check.exit137 + i32.const $push552=, src + i32.const $push181=, 34 + i32.call $push0=, memcpy@FUNCTION, $0, $pop552, $pop181 i32.const $push551=, src - i32.const $push182=, 34 - i32.call $push0=, memcpy@FUNCTION, $0, $pop551, $pop182 - i32.const $push550=, src - i32.const $push549=, 34 - i32.call $push183=, memcmp@FUNCTION, $pop0, $pop550, $pop549 - br_if 0, $pop183 # 0: down to label3 -# BB#33: # %check.exit300 - i32.const $push185=, dst - i32.const $push556=, src - i32.const $push184=, 35 - i32.call $push555=, memcpy@FUNCTION, $pop185, $pop556, $pop184 - tee_local $push554=, $0=, $pop555 - i32.const $push553=, src - i32.const $push552=, 35 - i32.call $push186=, memcmp@FUNCTION, $pop554, $pop553, $pop552 - br_if 0, $pop186 # 0: down to label3 -# BB#34: # %check.exit304 + i32.const $push550=, 34 + i32.call $push182=, memcmp@FUNCTION, $pop0, $pop551, $pop550 + br_if 0, $pop182 # 0: down to label3 +# BB#33: # %check.exit141 + i32.const $push184=, dst + i32.const $push557=, src + i32.const $push183=, 35 + i32.call $push556=, memcpy@FUNCTION, $pop184, $pop557, $pop183 + tee_local $push555=, $0=, $pop556 + i32.const $push554=, src + i32.const $push553=, 35 + i32.call $push185=, memcmp@FUNCTION, $pop555, $pop554, $pop553 + br_if 0, $pop185 # 0: down to label3 +# BB#34: # %check.exit145 + i32.const $push560=, src + i32.const $push186=, 36 + i32.call $push1=, memcpy@FUNCTION, $0, $pop560, $pop186 i32.const $push559=, src - i32.const $push187=, 36 - i32.call $push1=, memcpy@FUNCTION, $0, $pop559, $pop187 - i32.const $push558=, src - i32.const $push557=, 36 - i32.call $push188=, memcmp@FUNCTION, $pop1, $pop558, $pop557 - br_if 0, $pop188 # 0: down to label3 -# BB#35: # %check.exit308 - i32.const $push190=, dst - i32.const $push564=, src - i32.const $push189=, 37 - i32.call $push563=, memcpy@FUNCTION, $pop190, $pop564, $pop189 - tee_local $push562=, $0=, $pop563 - i32.const $push561=, src - i32.const $push560=, 37 - i32.call $push191=, memcmp@FUNCTION, $pop562, $pop561, $pop560 - br_if 0, $pop191 # 0: down to label3 -# BB#36: # %check.exit312 + i32.const $push558=, 36 + i32.call $push187=, memcmp@FUNCTION, $pop1, $pop559, $pop558 + br_if 0, $pop187 # 0: down to label3 +# BB#35: # %check.exit149 + i32.const $push189=, dst + i32.const $push565=, src + i32.const $push188=, 37 + i32.call $push564=, memcpy@FUNCTION, $pop189, $pop565, $pop188 + tee_local $push563=, $0=, $pop564 + i32.const $push562=, src + i32.const $push561=, 37 + i32.call $push190=, memcmp@FUNCTION, $pop563, $pop562, $pop561 + br_if 0, $pop190 # 0: down to label3 +# BB#36: # %check.exit153 + i32.const $push568=, src + i32.const $push191=, 38 + i32.call $push2=, memcpy@FUNCTION, $0, $pop568, $pop191 i32.const $push567=, src - i32.const $push192=, 38 - i32.call $push2=, memcpy@FUNCTION, $0, $pop567, $pop192 - i32.const $push566=, src - i32.const $push565=, 38 - i32.call $push193=, memcmp@FUNCTION, $pop2, $pop566, $pop565 - br_if 0, $pop193 # 0: down to label3 -# BB#37: # %check.exit316 - i32.const $push195=, dst - i32.const $push572=, src - i32.const $push194=, 39 - i32.call $push571=, memcpy@FUNCTION, $pop195, $pop572, $pop194 - tee_local $push570=, $0=, $pop571 - i32.const $push569=, src - i32.const $push568=, 39 - i32.call $push196=, memcmp@FUNCTION, $pop570, $pop569, $pop568 - br_if 0, $pop196 # 0: down to label3 -# BB#38: # %check.exit320 + i32.const $push566=, 38 + i32.call $push192=, memcmp@FUNCTION, $pop2, $pop567, $pop566 + br_if 0, $pop192 # 0: down to label3 +# BB#37: # %check.exit157 + i32.const $push194=, dst + i32.const $push573=, src + i32.const $push193=, 39 + i32.call $push572=, memcpy@FUNCTION, $pop194, $pop573, $pop193 + tee_local $push571=, $0=, $pop572 + i32.const $push570=, src + i32.const $push569=, 39 + i32.call $push195=, memcmp@FUNCTION, $pop571, $pop570, $pop569 + br_if 0, $pop195 # 0: down to label3 +# BB#38: # %check.exit161 + i32.const $push576=, src + i32.const $push196=, 40 + i32.call $push3=, memcpy@FUNCTION, $0, $pop576, $pop196 i32.const $push575=, src - i32.const $push197=, 40 - i32.call $push3=, memcpy@FUNCTION, $0, $pop575, $pop197 - i32.const $push574=, src - i32.const $push573=, 40 - i32.call $push198=, memcmp@FUNCTION, $pop3, $pop574, $pop573 - br_if 0, $pop198 # 0: down to label3 -# BB#39: # %check.exit324 - i32.const $push200=, dst - i32.const $push580=, src - i32.const $push199=, 41 - i32.call $push579=, memcpy@FUNCTION, $pop200, $pop580, $pop199 - tee_local $push578=, $0=, $pop579 - i32.const $push577=, src - i32.const $push576=, 41 - i32.call $push201=, memcmp@FUNCTION, $pop578, $pop577, $pop576 - br_if 0, $pop201 # 0: down to label3 -# BB#40: # %check.exit328 + i32.const $push574=, 40 + i32.call $push197=, memcmp@FUNCTION, $pop3, $pop575, $pop574 + br_if 0, $pop197 # 0: down to label3 +# BB#39: # %check.exit165 + i32.const $push199=, dst + i32.const $push581=, src + i32.const $push198=, 41 + i32.call $push580=, memcpy@FUNCTION, $pop199, $pop581, $pop198 + tee_local $push579=, $0=, $pop580 + i32.const $push578=, src + i32.const $push577=, 41 + i32.call $push200=, memcmp@FUNCTION, $pop579, $pop578, $pop577 + br_if 0, $pop200 # 0: down to label3 +# BB#40: # %check.exit169 + i32.const $push584=, src + i32.const $push201=, 42 + i32.call $push4=, memcpy@FUNCTION, $0, $pop584, $pop201 i32.const $push583=, src - i32.const $push202=, 42 - i32.call $push4=, memcpy@FUNCTION, $0, $pop583, $pop202 - i32.const $push582=, src - i32.const $push581=, 42 - i32.call $push203=, memcmp@FUNCTION, $pop4, $pop582, $pop581 - br_if 0, $pop203 # 0: down to label3 -# BB#41: # %check.exit332 - i32.const $push205=, dst - i32.const $push588=, src - i32.const $push204=, 43 - i32.call $push587=, memcpy@FUNCTION, $pop205, $pop588, $pop204 - tee_local $push586=, $0=, $pop587 - i32.const $push585=, src - i32.const $push584=, 43 - i32.call $push206=, memcmp@FUNCTION, $pop586, $pop585, $pop584 - br_if 0, $pop206 # 0: down to label3 -# BB#42: # %check.exit336 + i32.const $push582=, 42 + i32.call $push202=, memcmp@FUNCTION, $pop4, $pop583, $pop582 + br_if 0, $pop202 # 0: down to label3 +# BB#41: # %check.exit173 + i32.const $push204=, dst + i32.const $push589=, src + i32.const $push203=, 43 + i32.call $push588=, memcpy@FUNCTION, $pop204, $pop589, $pop203 + tee_local $push587=, $0=, $pop588 + i32.const $push586=, src + i32.const $push585=, 43 + i32.call $push205=, memcmp@FUNCTION, $pop587, $pop586, $pop585 + br_if 0, $pop205 # 0: down to label3 +# BB#42: # %check.exit177 + i32.const $push592=, src + i32.const $push206=, 44 + i32.call $push5=, memcpy@FUNCTION, $0, $pop592, $pop206 i32.const $push591=, src - i32.const $push207=, 44 - i32.call $push5=, memcpy@FUNCTION, $0, $pop591, $pop207 - i32.const $push590=, src - i32.const $push589=, 44 - i32.call $push208=, memcmp@FUNCTION, $pop5, $pop590, $pop589 - br_if 0, $pop208 # 0: down to label3 -# BB#43: # %check.exit340 - i32.const $push210=, dst - i32.const $push596=, src - i32.const $push209=, 45 - i32.call $push595=, memcpy@FUNCTION, $pop210, $pop596, $pop209 - tee_local $push594=, $0=, $pop595 - i32.const $push593=, src - i32.const $push592=, 45 - i32.call $push211=, memcmp@FUNCTION, $pop594, $pop593, $pop592 - br_if 0, $pop211 # 0: down to label3 -# BB#44: # %check.exit344 + i32.const $push590=, 44 + i32.call $push207=, memcmp@FUNCTION, $pop5, $pop591, $pop590 + br_if 0, $pop207 # 0: down to label3 +# BB#43: # %check.exit181 + i32.const $push209=, dst + i32.const $push597=, src + i32.const $push208=, 45 + i32.call $push596=, memcpy@FUNCTION, $pop209, $pop597, $pop208 + tee_local $push595=, $0=, $pop596 + i32.const $push594=, src + i32.const $push593=, 45 + i32.call $push210=, memcmp@FUNCTION, $pop595, $pop594, $pop593 + br_if 0, $pop210 # 0: down to label3 +# BB#44: # %check.exit185 + i32.const $push600=, src + i32.const $push211=, 46 + i32.call $push6=, memcpy@FUNCTION, $0, $pop600, $pop211 i32.const $push599=, src - i32.const $push212=, 46 - i32.call $push6=, memcpy@FUNCTION, $0, $pop599, $pop212 - i32.const $push598=, src - i32.const $push597=, 46 - i32.call $push213=, memcmp@FUNCTION, $pop6, $pop598, $pop597 - br_if 0, $pop213 # 0: down to label3 -# BB#45: # %check.exit348 - i32.const $push215=, dst - i32.const $push604=, src - i32.const $push214=, 47 - i32.call $push603=, memcpy@FUNCTION, $pop215, $pop604, $pop214 - tee_local $push602=, $0=, $pop603 - i32.const $push601=, src - i32.const $push600=, 47 - i32.call $push216=, memcmp@FUNCTION, $pop602, $pop601, $pop600 - br_if 0, $pop216 # 0: down to label3 -# BB#46: # %check.exit352 + i32.const $push598=, 46 + i32.call $push212=, memcmp@FUNCTION, $pop6, $pop599, $pop598 + br_if 0, $pop212 # 0: down to label3 +# BB#45: # %check.exit189 + i32.const $push214=, dst + i32.const $push605=, src + i32.const $push213=, 47 + i32.call $push604=, memcpy@FUNCTION, $pop214, $pop605, $pop213 + tee_local $push603=, $0=, $pop604 + i32.const $push602=, src + i32.const $push601=, 47 + i32.call $push215=, memcmp@FUNCTION, $pop603, $pop602, $pop601 + br_if 0, $pop215 # 0: down to label3 +# BB#46: # %check.exit193 + i32.const $push608=, src + i32.const $push216=, 48 + i32.call $push7=, memcpy@FUNCTION, $0, $pop608, $pop216 i32.const $push607=, src - i32.const $push217=, 48 - i32.call $push7=, memcpy@FUNCTION, $0, $pop607, $pop217 - i32.const $push606=, src - i32.const $push605=, 48 - i32.call $push218=, memcmp@FUNCTION, $pop7, $pop606, $pop605 - br_if 0, $pop218 # 0: down to label3 -# BB#47: # %check.exit356 - i32.const $push220=, dst - i32.const $push612=, src - i32.const $push219=, 49 - i32.call $push611=, memcpy@FUNCTION, $pop220, $pop612, $pop219 - tee_local $push610=, $0=, $pop611 - i32.const $push609=, src - i32.const $push608=, 49 - i32.call $push221=, memcmp@FUNCTION, $pop610, $pop609, $pop608 - br_if 0, $pop221 # 0: down to label3 -# BB#48: # %check.exit360 + i32.const $push606=, 48 + i32.call $push217=, memcmp@FUNCTION, $pop7, $pop607, $pop606 + br_if 0, $pop217 # 0: down to label3 +# BB#47: # %check.exit197 + i32.const $push219=, dst + i32.const $push613=, src + i32.const $push218=, 49 + i32.call $push612=, memcpy@FUNCTION, $pop219, $pop613, $pop218 + tee_local $push611=, $0=, $pop612 + i32.const $push610=, src + i32.const $push609=, 49 + i32.call $push220=, memcmp@FUNCTION, $pop611, $pop610, $pop609 + br_if 0, $pop220 # 0: down to label3 +# BB#48: # %check.exit201 + i32.const $push616=, src + i32.const $push221=, 50 + i32.call $push8=, memcpy@FUNCTION, $0, $pop616, $pop221 i32.const $push615=, src - i32.const $push222=, 50 - i32.call $push8=, memcpy@FUNCTION, $0, $pop615, $pop222 - i32.const $push614=, src - i32.const $push613=, 50 - i32.call $push223=, memcmp@FUNCTION, $pop8, $pop614, $pop613 - br_if 0, $pop223 # 0: down to label3 -# BB#49: # %check.exit364 - i32.const $push225=, dst - i32.const $push620=, src - i32.const $push224=, 51 - i32.call $push619=, memcpy@FUNCTION, $pop225, $pop620, $pop224 - tee_local $push618=, $0=, $pop619 - i32.const $push617=, src - i32.const $push616=, 51 - i32.call $push226=, memcmp@FUNCTION, $pop618, $pop617, $pop616 - br_if 0, $pop226 # 0: down to label3 -# BB#50: # %check.exit368 + i32.const $push614=, 50 + i32.call $push222=, memcmp@FUNCTION, $pop8, $pop615, $pop614 + br_if 0, $pop222 # 0: down to label3 +# BB#49: # %check.exit205 + i32.const $push224=, dst + i32.const $push621=, src + i32.const $push223=, 51 + i32.call $push620=, memcpy@FUNCTION, $pop224, $pop621, $pop223 + tee_local $push619=, $0=, $pop620 + i32.const $push618=, src + i32.const $push617=, 51 + i32.call $push225=, memcmp@FUNCTION, $pop619, $pop618, $pop617 + br_if 0, $pop225 # 0: down to label3 +# BB#50: # %check.exit209 + i32.const $push624=, src + i32.const $push226=, 52 + i32.call $push9=, memcpy@FUNCTION, $0, $pop624, $pop226 i32.const $push623=, src - i32.const $push227=, 52 - i32.call $push9=, memcpy@FUNCTION, $0, $pop623, $pop227 - i32.const $push622=, src - i32.const $push621=, 52 - i32.call $push228=, memcmp@FUNCTION, $pop9, $pop622, $pop621 - br_if 0, $pop228 # 0: down to label3 -# BB#51: # %check.exit372 - i32.const $push230=, dst - i32.const $push628=, src - i32.const $push229=, 53 - i32.call $push627=, memcpy@FUNCTION, $pop230, $pop628, $pop229 - tee_local $push626=, $0=, $pop627 - i32.const $push625=, src - i32.const $push624=, 53 - i32.call $push231=, memcmp@FUNCTION, $pop626, $pop625, $pop624 - br_if 0, $pop231 # 0: down to label3 -# BB#52: # %check.exit376 + i32.const $push622=, 52 + i32.call $push227=, memcmp@FUNCTION, $pop9, $pop623, $pop622 + br_if 0, $pop227 # 0: down to label3 +# BB#51: # %check.exit213 + i32.const $push229=, dst + i32.const $push629=, src + i32.const $push228=, 53 + i32.call $push628=, memcpy@FUNCTION, $pop229, $pop629, $pop228 + tee_local $push627=, $0=, $pop628 + i32.const $push626=, src + i32.const $push625=, 53 + i32.call $push230=, memcmp@FUNCTION, $pop627, $pop626, $pop625 + br_if 0, $pop230 # 0: down to label3 +# BB#52: # %check.exit217 + i32.const $push632=, src + i32.const $push231=, 54 + i32.call $push10=, memcpy@FUNCTION, $0, $pop632, $pop231 i32.const $push631=, src - i32.const $push232=, 54 - i32.call $push10=, memcpy@FUNCTION, $0, $pop631, $pop232 - i32.const $push630=, src - i32.const $push629=, 54 - i32.call $push233=, memcmp@FUNCTION, $pop10, $pop630, $pop629 - br_if 0, $pop233 # 0: down to label3 -# BB#53: # %check.exit380 - i32.const $push235=, dst - i32.const $push636=, src - i32.const $push234=, 55 - i32.call $push635=, memcpy@FUNCTION, $pop235, $pop636, $pop234 - tee_local $push634=, $0=, $pop635 - i32.const $push633=, src - i32.const $push632=, 55 - i32.call $push236=, memcmp@FUNCTION, $pop634, $pop633, $pop632 - br_if 0, $pop236 # 0: down to label3 -# BB#54: # %check.exit384 + i32.const $push630=, 54 + i32.call $push232=, memcmp@FUNCTION, $pop10, $pop631, $pop630 + br_if 0, $pop232 # 0: down to label3 +# BB#53: # %check.exit221 + i32.const $push234=, dst + i32.const $push637=, src + i32.const $push233=, 55 + i32.call $push636=, memcpy@FUNCTION, $pop234, $pop637, $pop233 + tee_local $push635=, $0=, $pop636 + i32.const $push634=, src + i32.const $push633=, 55 + i32.call $push235=, memcmp@FUNCTION, $pop635, $pop634, $pop633 + br_if 0, $pop235 # 0: down to label3 +# BB#54: # %check.exit225 + i32.const $push640=, src + i32.const $push236=, 56 + i32.call $push11=, memcpy@FUNCTION, $0, $pop640, $pop236 i32.const $push639=, src - i32.const $push237=, 56 - i32.call $push11=, memcpy@FUNCTION, $0, $pop639, $pop237 - i32.const $push638=, src - i32.const $push637=, 56 - i32.call $push238=, memcmp@FUNCTION, $pop11, $pop638, $pop637 - br_if 0, $pop238 # 0: down to label3 -# BB#55: # %check.exit388 - i32.const $push240=, dst - i32.const $push644=, src - i32.const $push239=, 57 - i32.call $push643=, memcpy@FUNCTION, $pop240, $pop644, $pop239 - tee_local $push642=, $0=, $pop643 - i32.const $push641=, src - i32.const $push640=, 57 - i32.call $push241=, memcmp@FUNCTION, $pop642, $pop641, $pop640 - br_if 0, $pop241 # 0: down to label3 -# BB#56: # %check.exit392 + i32.const $push638=, 56 + i32.call $push237=, memcmp@FUNCTION, $pop11, $pop639, $pop638 + br_if 0, $pop237 # 0: down to label3 +# BB#55: # %check.exit229 + i32.const $push239=, dst + i32.const $push645=, src + i32.const $push238=, 57 + i32.call $push644=, memcpy@FUNCTION, $pop239, $pop645, $pop238 + tee_local $push643=, $0=, $pop644 + i32.const $push642=, src + i32.const $push641=, 57 + i32.call $push240=, memcmp@FUNCTION, $pop643, $pop642, $pop641 + br_if 0, $pop240 # 0: down to label3 +# BB#56: # %check.exit233 + i32.const $push648=, src + i32.const $push241=, 58 + i32.call $push12=, memcpy@FUNCTION, $0, $pop648, $pop241 i32.const $push647=, src - i32.const $push242=, 58 - i32.call $push12=, memcpy@FUNCTION, $0, $pop647, $pop242 - i32.const $push646=, src - i32.const $push645=, 58 - i32.call $push243=, memcmp@FUNCTION, $pop12, $pop646, $pop645 - br_if 0, $pop243 # 0: down to label3 -# BB#57: # %check.exit396 - i32.const $push245=, dst - i32.const $push652=, src - i32.const $push244=, 59 - i32.call $push651=, memcpy@FUNCTION, $pop245, $pop652, $pop244 - tee_local $push650=, $0=, $pop651 - i32.const $push649=, src - i32.const $push648=, 59 - i32.call $push246=, memcmp@FUNCTION, $pop650, $pop649, $pop648 - br_if 0, $pop246 # 0: down to label3 -# BB#58: # %check.exit400 + i32.const $push646=, 58 + i32.call $push242=, memcmp@FUNCTION, $pop12, $pop647, $pop646 + br_if 0, $pop242 # 0: down to label3 +# BB#57: # %check.exit237 + i32.const $push244=, dst + i32.const $push653=, src + i32.const $push243=, 59 + i32.call $push652=, memcpy@FUNCTION, $pop244, $pop653, $pop243 + tee_local $push651=, $0=, $pop652 + i32.const $push650=, src + i32.const $push649=, 59 + i32.call $push245=, memcmp@FUNCTION, $pop651, $pop650, $pop649 + br_if 0, $pop245 # 0: down to label3 +# BB#58: # %check.exit241 + i32.const $push656=, src + i32.const $push246=, 60 + i32.call $push13=, memcpy@FUNCTION, $0, $pop656, $pop246 i32.const $push655=, src - i32.const $push247=, 60 - i32.call $push13=, memcpy@FUNCTION, $0, $pop655, $pop247 - i32.const $push654=, src - i32.const $push653=, 60 - i32.call $push248=, memcmp@FUNCTION, $pop13, $pop654, $pop653 - br_if 0, $pop248 # 0: down to label3 -# BB#59: # %check.exit404 - i32.const $push250=, dst - i32.const $push660=, src - i32.const $push249=, 61 - i32.call $push659=, memcpy@FUNCTION, $pop250, $pop660, $pop249 - tee_local $push658=, $0=, $pop659 - i32.const $push657=, src - i32.const $push656=, 61 - i32.call $push251=, memcmp@FUNCTION, $pop658, $pop657, $pop656 - br_if 0, $pop251 # 0: down to label3 -# BB#60: # %check.exit408 + i32.const $push654=, 60 + i32.call $push247=, memcmp@FUNCTION, $pop13, $pop655, $pop654 + br_if 0, $pop247 # 0: down to label3 +# BB#59: # %check.exit245 + i32.const $push249=, dst + i32.const $push661=, src + i32.const $push248=, 61 + i32.call $push660=, memcpy@FUNCTION, $pop249, $pop661, $pop248 + tee_local $push659=, $0=, $pop660 + i32.const $push658=, src + i32.const $push657=, 61 + i32.call $push250=, memcmp@FUNCTION, $pop659, $pop658, $pop657 + br_if 0, $pop250 # 0: down to label3 +# BB#60: # %check.exit249 + i32.const $push664=, src + i32.const $push251=, 62 + i32.call $push14=, memcpy@FUNCTION, $0, $pop664, $pop251 i32.const $push663=, src - i32.const $push252=, 62 - i32.call $push14=, memcpy@FUNCTION, $0, $pop663, $pop252 - i32.const $push662=, src - i32.const $push661=, 62 - i32.call $push253=, memcmp@FUNCTION, $pop14, $pop662, $pop661 - br_if 0, $pop253 # 0: down to label3 -# BB#61: # %check.exit412 - i32.const $push255=, dst - i32.const $push668=, src - i32.const $push254=, 63 - i32.call $push667=, memcpy@FUNCTION, $pop255, $pop668, $pop254 - tee_local $push666=, $0=, $pop667 - i32.const $push665=, src - i32.const $push664=, 63 - i32.call $push256=, memcmp@FUNCTION, $pop666, $pop665, $pop664 - br_if 0, $pop256 # 0: down to label3 -# BB#62: # %check.exit416 + i32.const $push662=, 62 + i32.call $push252=, memcmp@FUNCTION, $pop14, $pop663, $pop662 + br_if 0, $pop252 # 0: down to label3 +# BB#61: # %check.exit253 + i32.const $push254=, dst + i32.const $push669=, src + i32.const $push253=, 63 + i32.call $push668=, memcpy@FUNCTION, $pop254, $pop669, $pop253 + tee_local $push667=, $0=, $pop668 + i32.const $push666=, src + i32.const $push665=, 63 + i32.call $push255=, memcmp@FUNCTION, $pop667, $pop666, $pop665 + br_if 0, $pop255 # 0: down to label3 +# BB#62: # %check.exit257 + i32.const $push672=, src + i32.const $push256=, 64 + i32.call $push15=, memcpy@FUNCTION, $0, $pop672, $pop256 i32.const $push671=, src - i32.const $push257=, 64 - i32.call $push15=, memcpy@FUNCTION, $0, $pop671, $pop257 - i32.const $push670=, src - i32.const $push669=, 64 - i32.call $push258=, memcmp@FUNCTION, $pop15, $pop670, $pop669 - br_if 0, $pop258 # 0: down to label3 -# BB#63: # %check.exit420 - i32.const $push260=, dst - i32.const $push676=, src - i32.const $push259=, 65 - i32.call $push675=, memcpy@FUNCTION, $pop260, $pop676, $pop259 - tee_local $push674=, $0=, $pop675 - i32.const $push673=, src - i32.const $push672=, 65 - i32.call $push261=, memcmp@FUNCTION, $pop674, $pop673, $pop672 - br_if 0, $pop261 # 0: down to label3 -# BB#64: # %check.exit424 + i32.const $push670=, 64 + i32.call $push257=, memcmp@FUNCTION, $pop15, $pop671, $pop670 + br_if 0, $pop257 # 0: down to label3 +# BB#63: # %check.exit261 + i32.const $push259=, dst + i32.const $push677=, src + i32.const $push258=, 65 + i32.call $push676=, memcpy@FUNCTION, $pop259, $pop677, $pop258 + tee_local $push675=, $0=, $pop676 + i32.const $push674=, src + i32.const $push673=, 65 + i32.call $push260=, memcmp@FUNCTION, $pop675, $pop674, $pop673 + br_if 0, $pop260 # 0: down to label3 +# BB#64: # %check.exit265 + i32.const $push680=, src + i32.const $push261=, 66 + i32.call $push16=, memcpy@FUNCTION, $0, $pop680, $pop261 i32.const $push679=, src - i32.const $push262=, 66 - i32.call $push16=, memcpy@FUNCTION, $0, $pop679, $pop262 - i32.const $push678=, src - i32.const $push677=, 66 - i32.call $push263=, memcmp@FUNCTION, $pop16, $pop678, $pop677 - br_if 0, $pop263 # 0: down to label3 -# BB#65: # %check.exit428 - i32.const $push265=, dst - i32.const $push684=, src - i32.const $push264=, 67 - i32.call $push683=, memcpy@FUNCTION, $pop265, $pop684, $pop264 - tee_local $push682=, $0=, $pop683 - i32.const $push681=, src - i32.const $push680=, 67 - i32.call $push266=, memcmp@FUNCTION, $pop682, $pop681, $pop680 - br_if 0, $pop266 # 0: down to label3 -# BB#66: # %check.exit432 + i32.const $push678=, 66 + i32.call $push262=, memcmp@FUNCTION, $pop16, $pop679, $pop678 + br_if 0, $pop262 # 0: down to label3 +# BB#65: # %check.exit269 + i32.const $push264=, dst + i32.const $push685=, src + i32.const $push263=, 67 + i32.call $push684=, memcpy@FUNCTION, $pop264, $pop685, $pop263 + tee_local $push683=, $0=, $pop684 + i32.const $push682=, src + i32.const $push681=, 67 + i32.call $push265=, memcmp@FUNCTION, $pop683, $pop682, $pop681 + br_if 0, $pop265 # 0: down to label3 +# BB#66: # %check.exit273 + i32.const $push688=, src + i32.const $push266=, 68 + i32.call $push17=, memcpy@FUNCTION, $0, $pop688, $pop266 i32.const $push687=, src - i32.const $push267=, 68 - i32.call $push17=, memcpy@FUNCTION, $0, $pop687, $pop267 - i32.const $push686=, src - i32.const $push685=, 68 - i32.call $push268=, memcmp@FUNCTION, $pop17, $pop686, $pop685 - br_if 0, $pop268 # 0: down to label3 -# BB#67: # %check.exit436 - i32.const $push270=, dst - i32.const $push692=, src - i32.const $push269=, 69 - i32.call $push691=, memcpy@FUNCTION, $pop270, $pop692, $pop269 - tee_local $push690=, $0=, $pop691 - i32.const $push689=, src - i32.const $push688=, 69 - i32.call $push271=, memcmp@FUNCTION, $pop690, $pop689, $pop688 - br_if 0, $pop271 # 0: down to label3 -# BB#68: # %check.exit440 + i32.const $push686=, 68 + i32.call $push267=, memcmp@FUNCTION, $pop17, $pop687, $pop686 + br_if 0, $pop267 # 0: down to label3 +# BB#67: # %check.exit277 + i32.const $push269=, dst + i32.const $push693=, src + i32.const $push268=, 69 + i32.call $push692=, memcpy@FUNCTION, $pop269, $pop693, $pop268 + tee_local $push691=, $0=, $pop692 + i32.const $push690=, src + i32.const $push689=, 69 + i32.call $push270=, memcmp@FUNCTION, $pop691, $pop690, $pop689 + br_if 0, $pop270 # 0: down to label3 +# BB#68: # %check.exit281 + i32.const $push696=, src + i32.const $push271=, 70 + i32.call $push18=, memcpy@FUNCTION, $0, $pop696, $pop271 i32.const $push695=, src - i32.const $push272=, 70 - i32.call $push18=, memcpy@FUNCTION, $0, $pop695, $pop272 - i32.const $push694=, src - i32.const $push693=, 70 - i32.call $push273=, memcmp@FUNCTION, $pop18, $pop694, $pop693 - br_if 0, $pop273 # 0: down to label3 -# BB#69: # %check.exit444 - i32.const $push275=, dst - i32.const $push700=, src - i32.const $push274=, 71 - i32.call $push699=, memcpy@FUNCTION, $pop275, $pop700, $pop274 - tee_local $push698=, $0=, $pop699 - i32.const $push697=, src - i32.const $push696=, 71 - i32.call $push276=, memcmp@FUNCTION, $pop698, $pop697, $pop696 - br_if 0, $pop276 # 0: down to label3 -# BB#70: # %check.exit448 + i32.const $push694=, 70 + i32.call $push272=, memcmp@FUNCTION, $pop18, $pop695, $pop694 + br_if 0, $pop272 # 0: down to label3 +# BB#69: # %check.exit285 + i32.const $push274=, dst + i32.const $push701=, src + i32.const $push273=, 71 + i32.call $push700=, memcpy@FUNCTION, $pop274, $pop701, $pop273 + tee_local $push699=, $0=, $pop700 + i32.const $push698=, src + i32.const $push697=, 71 + i32.call $push275=, memcmp@FUNCTION, $pop699, $pop698, $pop697 + br_if 0, $pop275 # 0: down to label3 +# BB#70: # %check.exit289 + i32.const $push704=, src + i32.const $push276=, 72 + i32.call $push19=, memcpy@FUNCTION, $0, $pop704, $pop276 i32.const $push703=, src - i32.const $push277=, 72 - i32.call $push19=, memcpy@FUNCTION, $0, $pop703, $pop277 - i32.const $push702=, src - i32.const $push701=, 72 - i32.call $push278=, memcmp@FUNCTION, $pop19, $pop702, $pop701 - br_if 0, $pop278 # 0: down to label3 -# BB#71: # %check.exit452 - i32.const $push280=, dst - i32.const $push708=, src - i32.const $push279=, 73 - i32.call $push707=, memcpy@FUNCTION, $pop280, $pop708, $pop279 - tee_local $push706=, $0=, $pop707 - i32.const $push705=, src - i32.const $push704=, 73 - i32.call $push281=, memcmp@FUNCTION, $pop706, $pop705, $pop704 - br_if 0, $pop281 # 0: down to label3 -# BB#72: # %check.exit456 + i32.const $push702=, 72 + i32.call $push277=, memcmp@FUNCTION, $pop19, $pop703, $pop702 + br_if 0, $pop277 # 0: down to label3 +# BB#71: # %check.exit293 + i32.const $push279=, dst + i32.const $push709=, src + i32.const $push278=, 73 + i32.call $push708=, memcpy@FUNCTION, $pop279, $pop709, $pop278 + tee_local $push707=, $0=, $pop708 + i32.const $push706=, src + i32.const $push705=, 73 + i32.call $push280=, memcmp@FUNCTION, $pop707, $pop706, $pop705 + br_if 0, $pop280 # 0: down to label3 +# BB#72: # %check.exit297 + i32.const $push712=, src + i32.const $push281=, 74 + i32.call $push20=, memcpy@FUNCTION, $0, $pop712, $pop281 i32.const $push711=, src - i32.const $push282=, 74 - i32.call $push20=, memcpy@FUNCTION, $0, $pop711, $pop282 - i32.const $push710=, src - i32.const $push709=, 74 - i32.call $push283=, memcmp@FUNCTION, $pop20, $pop710, $pop709 - br_if 0, $pop283 # 0: down to label3 -# BB#73: # %check.exit460 - i32.const $push285=, dst - i32.const $push716=, src - i32.const $push284=, 75 - i32.call $push715=, memcpy@FUNCTION, $pop285, $pop716, $pop284 - tee_local $push714=, $0=, $pop715 - i32.const $push713=, src - i32.const $push712=, 75 - i32.call $push286=, memcmp@FUNCTION, $pop714, $pop713, $pop712 - br_if 0, $pop286 # 0: down to label3 -# BB#74: # %check.exit464 + i32.const $push710=, 74 + i32.call $push282=, memcmp@FUNCTION, $pop20, $pop711, $pop710 + br_if 0, $pop282 # 0: down to label3 +# BB#73: # %check.exit301 + i32.const $push284=, dst + i32.const $push717=, src + i32.const $push283=, 75 + i32.call $push716=, memcpy@FUNCTION, $pop284, $pop717, $pop283 + tee_local $push715=, $0=, $pop716 + i32.const $push714=, src + i32.const $push713=, 75 + i32.call $push285=, memcmp@FUNCTION, $pop715, $pop714, $pop713 + br_if 0, $pop285 # 0: down to label3 +# BB#74: # %check.exit305 + i32.const $push720=, src + i32.const $push286=, 76 + i32.call $push21=, memcpy@FUNCTION, $0, $pop720, $pop286 i32.const $push719=, src - i32.const $push287=, 76 - i32.call $push21=, memcpy@FUNCTION, $0, $pop719, $pop287 - i32.const $push718=, src - i32.const $push717=, 76 - i32.call $push288=, memcmp@FUNCTION, $pop21, $pop718, $pop717 - br_if 0, $pop288 # 0: down to label3 -# BB#75: # %check.exit468 - i32.const $push290=, dst - i32.const $push724=, src - i32.const $push289=, 77 - i32.call $push723=, memcpy@FUNCTION, $pop290, $pop724, $pop289 - tee_local $push722=, $0=, $pop723 - i32.const $push721=, src - i32.const $push720=, 77 - i32.call $push291=, memcmp@FUNCTION, $pop722, $pop721, $pop720 - br_if 0, $pop291 # 0: down to label3 -# BB#76: # %check.exit472 + i32.const $push718=, 76 + i32.call $push287=, memcmp@FUNCTION, $pop21, $pop719, $pop718 + br_if 0, $pop287 # 0: down to label3 +# BB#75: # %check.exit309 + i32.const $push289=, dst + i32.const $push725=, src + i32.const $push288=, 77 + i32.call $push724=, memcpy@FUNCTION, $pop289, $pop725, $pop288 + tee_local $push723=, $0=, $pop724 + i32.const $push722=, src + i32.const $push721=, 77 + i32.call $push290=, memcmp@FUNCTION, $pop723, $pop722, $pop721 + br_if 0, $pop290 # 0: down to label3 +# BB#76: # %check.exit313 + i32.const $push728=, src + i32.const $push291=, 78 + i32.call $push22=, memcpy@FUNCTION, $0, $pop728, $pop291 i32.const $push727=, src - i32.const $push292=, 78 - i32.call $push22=, memcpy@FUNCTION, $0, $pop727, $pop292 - i32.const $push726=, src - i32.const $push725=, 78 - i32.call $push293=, memcmp@FUNCTION, $pop22, $pop726, $pop725 - br_if 0, $pop293 # 0: down to label3 -# BB#77: # %check.exit476 - i32.const $push296=, dst - i32.const $push295=, src - i32.const $push294=, 79 - i32.call $push23=, memcpy@FUNCTION, $pop296, $pop295, $pop294 - i32.const $push729=, src - i32.const $push728=, 79 - i32.call $push297=, memcmp@FUNCTION, $pop23, $pop729, $pop728 - br_if 0, $pop297 # 0: down to label3 -# BB#78: # %check.exit480 - i32.const $push298=, 0 - return $pop298 -.LBB1_79: # %if.then.i479 + i32.const $push726=, 78 + i32.call $push292=, memcmp@FUNCTION, $pop22, $pop727, $pop726 + br_if 0, $pop292 # 0: down to label3 +# BB#77: # %check.exit317 + i32.const $push295=, dst + i32.const $push294=, src + i32.const $push293=, 79 + i32.call $push23=, memcpy@FUNCTION, $pop295, $pop294, $pop293 + i32.const $push730=, src + i32.const $push729=, 79 + i32.call $push296=, memcmp@FUNCTION, $pop23, $pop730, $pop729 + br_if 0, $pop296 # 0: down to label3 +# BB#78: # %check.exit321 + i32.const $push297=, 0 + return $pop297 +.LBB1_79: # %if.then.i320 end_block # label3: call abort@FUNCTION unreachable diff --git a/test/torture-s/memset-1.c.s b/test/torture-s/memset-1.c.s index 2252ce70f..d47bbfc92 100644 --- a/test/torture-s/memset-1.c.s +++ b/test/torture-s/memset-1.c.s @@ -163,10 +163,10 @@ main: # @main i32.const $5=, u block br_if 0, $4 # 0: down to label10 -# BB#19: # %for.body56.preheader +# BB#19: # %for.body55.preheader # in Loop: Header=BB0_2 Depth=2 i32.const $6=, 0 -.LBB0_20: # %for.body56 +.LBB0_20: # %for.body55 # Parent Loop BB0_1 Depth=1 # Parent Loop BB0_2 Depth=2 # => This Inner Loop Header: Depth=3 @@ -177,23 +177,23 @@ main: # @main i32.const $push131=, 97 i32.ne $push33=, $pop32, $pop131 br_if 7, $pop33 # 7: down to label0 -# BB#21: # %for.inc62 +# BB#21: # %for.inc61 # in Loop: Header=BB0_20 Depth=3 i32.const $push135=, 1 i32.add $push134=, $6, $pop135 tee_local $push133=, $6=, $pop134 i32.lt_s $push34=, $pop133, $1 br_if 0, $pop34 # 0: up to label11 -# BB#22: # %for.body69.preheader.loopexit +# BB#22: # %for.body68.preheader.loopexit # in Loop: Header=BB0_2 Depth=2 end_loop # label12: i32.const $push136=, u i32.add $5=, $6, $pop136 -.LBB0_23: # %for.body69.preheader +.LBB0_23: # %for.body68.preheader # in Loop: Header=BB0_2 Depth=2 end_block # label10: i32.const $6=, 0 -.LBB0_24: # %for.body69 +.LBB0_24: # %for.body68 # Parent Loop BB0_1 Depth=1 # Parent Loop BB0_2 Depth=2 # => This Inner Loop Header: Depth=3 @@ -203,14 +203,14 @@ main: # @main i32.const $push137=, 65 i32.ne $push37=, $pop36, $pop137 br_if 6, $pop37 # 6: down to label0 -# BB#25: # %for.inc75 +# BB#25: # %for.inc74 # in Loop: Header=BB0_24 Depth=3 i32.const $push140=, 1 i32.add $push139=, $6, $pop140 tee_local $push138=, $6=, $pop139 i32.lt_s $push38=, $pop138, $3 br_if 0, $pop38 # 0: up to label13 -# BB#26: # %for.body82.preheader +# BB#26: # %for.body81.preheader # in Loop: Header=BB0_2 Depth=2 end_loop # label14: i32.add $push143=, $5, $6 @@ -219,7 +219,7 @@ main: # @main i32.const $push141=, 97 i32.ne $push40=, $pop39, $pop141 br_if 4, $pop40 # 4: down to label0 -# BB#27: # %for.inc88 +# BB#27: # %for.inc87 # in Loop: Header=BB0_2 Depth=2 i32.const $push145=, 1 i32.add $push41=, $6, $pop145 @@ -227,7 +227,7 @@ main: # @main i32.const $push144=, 97 i32.ne $push43=, $pop42, $pop144 br_if 4, $pop43 # 4: down to label0 -# BB#28: # %for.inc88.1 +# BB#28: # %for.inc87.1 # in Loop: Header=BB0_2 Depth=2 i32.const $push147=, 2 i32.add $push44=, $6, $pop147 @@ -235,7 +235,7 @@ main: # @main i32.const $push146=, 97 i32.ne $push46=, $pop45, $pop146 br_if 4, $pop46 # 4: down to label0 -# BB#29: # %for.inc88.2 +# BB#29: # %for.inc87.2 # in Loop: Header=BB0_2 Depth=2 i32.const $push149=, 3 i32.add $push47=, $6, $pop149 @@ -243,7 +243,7 @@ main: # @main i32.const $push148=, 97 i32.ne $push49=, $pop48, $pop148 br_if 4, $pop49 # 4: down to label0 -# BB#30: # %for.inc88.3 +# BB#30: # %for.inc87.3 # in Loop: Header=BB0_2 Depth=2 i32.const $push151=, 4 i32.add $push50=, $6, $pop151 @@ -251,7 +251,7 @@ main: # @main i32.const $push150=, 97 i32.ne $push52=, $pop51, $pop150 br_if 4, $pop52 # 4: down to label0 -# BB#31: # %for.inc88.4 +# BB#31: # %for.inc87.4 # in Loop: Header=BB0_2 Depth=2 i32.const $push153=, 5 i32.add $push53=, $6, $pop153 @@ -259,7 +259,7 @@ main: # @main i32.const $push152=, 97 i32.ne $push55=, $pop54, $pop152 br_if 4, $pop55 # 4: down to label0 -# BB#32: # %for.inc88.5 +# BB#32: # %for.inc87.5 # in Loop: Header=BB0_2 Depth=2 i32.const $push155=, 6 i32.add $push56=, $6, $pop155 @@ -267,7 +267,7 @@ main: # @main i32.const $push154=, 97 i32.ne $push58=, $pop57, $pop154 br_if 4, $pop58 # 4: down to label0 -# BB#33: # %for.inc88.6 +# BB#33: # %for.inc87.6 # in Loop: Header=BB0_2 Depth=2 i32.const $push157=, 7 i32.add $push59=, $6, $pop157 @@ -275,17 +275,17 @@ main: # @main i32.const $push156=, 97 i32.ne $push61=, $pop60, $pop156 br_if 4, $pop61 # 4: down to label0 -# BB#34: # %for.inc88.7 +# BB#34: # %for.inc87.7 # in Loop: Header=BB0_2 Depth=2 i32.const $push158=, 66 i32.call $drop=, memset@FUNCTION, $0, $pop158, $3 i32.const $5=, u block br_if 0, $4 # 0: down to label15 -# BB#35: # %for.body102.preheader +# BB#35: # %for.body100.preheader # in Loop: Header=BB0_2 Depth=2 i32.const $6=, 0 -.LBB0_36: # %for.body102 +.LBB0_36: # %for.body100 # Parent Loop BB0_1 Depth=1 # Parent Loop BB0_2 Depth=2 # => This Inner Loop Header: Depth=3 @@ -296,23 +296,23 @@ main: # @main i32.const $push159=, 97 i32.ne $push64=, $pop63, $pop159 br_if 7, $pop64 # 7: down to label0 -# BB#37: # %for.inc108 +# BB#37: # %for.inc106 # in Loop: Header=BB0_36 Depth=3 i32.const $push163=, 1 i32.add $push162=, $6, $pop163 tee_local $push161=, $6=, $pop162 i32.lt_s $push65=, $pop161, $1 br_if 0, $pop65 # 0: up to label16 -# BB#38: # %for.body115.preheader.loopexit +# BB#38: # %for.body113.preheader.loopexit # in Loop: Header=BB0_2 Depth=2 end_loop # label17: i32.const $push164=, u i32.add $5=, $6, $pop164 -.LBB0_39: # %for.body115.preheader +.LBB0_39: # %for.body113.preheader # in Loop: Header=BB0_2 Depth=2 end_block # label15: i32.const $6=, 0 -.LBB0_40: # %for.body115 +.LBB0_40: # %for.body113 # Parent Loop BB0_1 Depth=1 # Parent Loop BB0_2 Depth=2 # => This Inner Loop Header: Depth=3 @@ -322,14 +322,14 @@ main: # @main i32.const $push165=, 66 i32.ne $push68=, $pop67, $pop165 br_if 6, $pop68 # 6: down to label0 -# BB#41: # %for.inc121 +# BB#41: # %for.inc119 # in Loop: Header=BB0_40 Depth=3 i32.const $push168=, 1 i32.add $push167=, $6, $pop168 tee_local $push166=, $6=, $pop167 i32.lt_s $push69=, $pop166, $3 br_if 0, $pop69 # 0: up to label18 -# BB#42: # %for.cond125.preheader +# BB#42: # %for.body126.preheader # in Loop: Header=BB0_2 Depth=2 end_loop # label19: i32.add $push171=, $5, $6 @@ -338,7 +338,7 @@ main: # @main i32.const $push169=, 97 i32.ne $push71=, $pop70, $pop169 br_if 4, $pop71 # 4: down to label0 -# BB#43: # %for.inc134 +# BB#43: # %for.inc132 # in Loop: Header=BB0_2 Depth=2 i32.const $push173=, 1 i32.add $push72=, $6, $pop173 @@ -346,7 +346,7 @@ main: # @main i32.const $push172=, 97 i32.ne $push74=, $pop73, $pop172 br_if 4, $pop74 # 4: down to label0 -# BB#44: # %for.inc134.1 +# BB#44: # %for.inc132.1 # in Loop: Header=BB0_2 Depth=2 i32.const $push175=, 2 i32.add $push75=, $6, $pop175 @@ -354,7 +354,7 @@ main: # @main i32.const $push174=, 97 i32.ne $push77=, $pop76, $pop174 br_if 4, $pop77 # 4: down to label0 -# BB#45: # %for.inc134.2 +# BB#45: # %for.inc132.2 # in Loop: Header=BB0_2 Depth=2 i32.const $push177=, 3 i32.add $push78=, $6, $pop177 @@ -362,7 +362,7 @@ main: # @main i32.const $push176=, 97 i32.ne $push80=, $pop79, $pop176 br_if 4, $pop80 # 4: down to label0 -# BB#46: # %for.inc134.3 +# BB#46: # %for.inc132.3 # in Loop: Header=BB0_2 Depth=2 i32.const $push179=, 4 i32.add $push81=, $6, $pop179 @@ -370,7 +370,7 @@ main: # @main i32.const $push178=, 97 i32.ne $push83=, $pop82, $pop178 br_if 4, $pop83 # 4: down to label0 -# BB#47: # %for.inc134.4 +# BB#47: # %for.inc132.4 # in Loop: Header=BB0_2 Depth=2 i32.const $push181=, 5 i32.add $push84=, $6, $pop181 @@ -378,7 +378,7 @@ main: # @main i32.const $push180=, 97 i32.ne $push86=, $pop85, $pop180 br_if 4, $pop86 # 4: down to label0 -# BB#48: # %for.inc134.5 +# BB#48: # %for.inc132.5 # in Loop: Header=BB0_2 Depth=2 i32.const $push183=, 6 i32.add $push87=, $6, $pop183 @@ -386,7 +386,7 @@ main: # @main i32.const $push182=, 97 i32.ne $push89=, $pop88, $pop182 br_if 4, $pop89 # 4: down to label0 -# BB#49: # %for.inc134.6 +# BB#49: # %for.inc132.6 # in Loop: Header=BB0_2 Depth=2 i32.const $push185=, 7 i32.add $push90=, $6, $pop185 @@ -394,7 +394,7 @@ main: # @main i32.const $push184=, 97 i32.ne $push92=, $pop91, $pop184 br_if 4, $pop92 # 4: down to label0 -# BB#50: # %for.inc134.7 +# BB#50: # %for.inc132.7 # in Loop: Header=BB0_2 Depth=2 i32.const $push189=, 1 i32.add $push188=, $3, $pop189 @@ -402,7 +402,7 @@ main: # @main i32.const $push186=, 80 i32.lt_u $push93=, $pop187, $pop186 br_if 0, $pop93 # 0: up to label3 -# BB#51: # %for.inc141 +# BB#51: # %for.inc139 # in Loop: Header=BB0_1 Depth=1 end_loop # label4: i32.const $push193=, 1 @@ -411,12 +411,12 @@ main: # @main i32.const $push190=, 8 i32.lt_u $push94=, $pop191, $pop190 br_if 0, $pop94 # 0: up to label1 -# BB#52: # %for.end143 +# BB#52: # %for.end141 end_loop # label2: i32.const $push95=, 0 call exit@FUNCTION, $pop95 unreachable -.LBB0_53: # %if.then132 +.LBB0_53: # %if.then130 end_block # label0: call abort@FUNCTION unreachable diff --git a/test/torture-s/mode-dependent-address.c.s b/test/torture-s/mode-dependent-address.c.s index 8b660c2c5..0ad0d9e14 100644 --- a/test/torture-s/mode-dependent-address.c.s +++ b/test/torture-s/mode-dependent-address.c.s @@ -35,12 +35,12 @@ f883b: # @f883b i64.load $push10=, 0($3) i64.and $push11=, $pop9, $pop10 i64.store8 $drop=, 0($pop12), $pop11 - i32.const $push20=, 2 - i32.add $1=, $1, $pop20 + i32.const $push20=, 8 + i32.add $3=, $3, $pop20 i32.const $push19=, 4 i32.add $2=, $2, $pop19 - i32.const $push18=, 8 - i32.add $3=, $3, $pop18 + i32.const $push18=, 2 + i32.add $1=, $1, $pop18 i32.const $push17=, 1 i32.add $push16=, $6, $pop17 tee_local $push15=, $6=, $pop16 diff --git a/test/torture-s/pending-4.c.s b/test/torture-s/pending-4.c.s index 3e1ca39e1..4dac8b196 100644 --- a/test/torture-s/pending-4.c.s +++ b/test/torture-s/pending-4.c.s @@ -21,62 +21,48 @@ main: # @main .result i32 .local i32, i32, i32 # BB#0: # %entry - i32.const $push14=, 0 - i32.const $push11=, 0 - i32.load $push12=, __stack_pointer($pop11) - i32.const $push13=, 16 - i32.sub $push21=, $pop12, $pop13 - tee_local $push20=, $4=, $pop21 - i32.store $drop=, __stack_pointer($pop14), $pop20 - i32.const $push0=, 0 - i32.store $drop=, 12($4), $pop0 - i32.const $push19=, 0 - i32.store $drop=, 8($4), $pop19 - i32.const $2=, 8 + i32.const $4=, 8 + i32.const $2=, 0 + i32.const $3=, 0 .LBB1_1: # %for.cond # =>This Inner Loop Header: Depth=1 loop # label0: - i32.const $push15=, 12 - i32.add $push16=, $4, $pop15 - copy_local $3=, $pop16 block - i32.const $push24=, 1 - i32.eq $push1=, $2, $pop24 - br_if 0, $pop1 # 0: down to label2 -# BB#2: # %for.cond + i32.const $push8=, 1 + i32.ne $push0=, $4, $pop8 + br_if 0, $pop0 # 0: down to label2 +# BB#2: # %if.then # in Loop: Header=BB1_1 Depth=1 - i32.eqz $push25=, $2 - br_if 2, $pop25 # 2: down to label1 -# BB#3: # %if.else - # in Loop: Header=BB1_1 Depth=1 - i32.const $push17=, 8 - i32.add $push18=, $4, $pop17 - copy_local $3=, $pop18 -.LBB1_4: # %if.end + i32.const $push7=, 1 + i32.add $2=, $2, $pop7 + i32.const $push6=, -1 + i32.add $4=, $4, $pop6 + br 1 # 1: up to label0 +.LBB1_3: # %for.cond # in Loop: Header=BB1_1 Depth=1 end_block # label2: - i32.load $push9=, 0($3) - i32.const $push23=, 1 - i32.add $push10=, $pop9, $pop23 - i32.store $drop=, 0($3), $pop10 - i32.const $push22=, -1 - i32.add $2=, $2, $pop22 + i32.eqz $push11=, $4 + br_if 1, $pop11 # 1: down to label1 +# BB#4: # %if.else + # in Loop: Header=BB1_1 Depth=1 + i32.const $push10=, 1 + i32.add $3=, $3, $pop10 + i32.const $push9=, -1 + i32.add $4=, $4, $pop9 br 0 # 0: up to label0 .LBB1_5: # %for.end end_loop # label1: block - i32.load $push4=, 12($4) - i32.const $push3=, 1 - i32.ne $push5=, $pop4, $pop3 - br_if 0, $pop5 # 0: down to label3 + i32.const $push1=, 1 + i32.ne $push2=, $2, $pop1 + br_if 0, $pop2 # 0: down to label3 # BB#6: # %for.end - i32.load $push2=, 8($4) - i32.const $push6=, 7 - i32.ne $push7=, $pop2, $pop6 - br_if 0, $pop7 # 0: down to label3 + i32.const $push3=, 7 + i32.ne $push4=, $3, $pop3 + br_if 0, $pop4 # 0: down to label3 # BB#7: # %if.end7 - i32.const $push8=, 0 - call exit@FUNCTION, $pop8 + i32.const $push5=, 0 + call exit@FUNCTION, $pop5 unreachable .LBB1_8: # %if.then6 end_block # label3: diff --git a/test/torture-s/pr15296.c.s b/test/torture-s/pr15296.c.s index 24edd6e87..b80810329 100644 --- a/test/torture-s/pr15296.c.s +++ b/test/torture-s/pr15296.c.s @@ -23,41 +23,43 @@ f: # @f block block block - i32.eqz $push14=, $3 - br_if 0, $pop14 # 0: down to label7 + i32.eqz $push16=, $3 + br_if 0, $pop16 # 0: down to label7 # BB#3: # %if.end3 copy_local $4=, $5 - i32.eqz $push15=, $5 - br_if 1, $pop15 # 1: down to label6 + i32.eqz $push17=, $5 + br_if 1, $pop17 # 1: down to label6 .LBB0_4: # %l3 end_block # label7: - i32.const $push6=, 4 + i32.const $push4=, 4 + i32.add $push5=, $1, $pop4 + i32.store $drop=, 0($pop5), $4 + i32.const $push6=, 8 i32.add $push7=, $1, $pop6 - i32.store $drop=, 0($pop7), $4 - i32.const $push8=, 8 - i32.add $push9=, $1, $pop8 - i32.load $push11=, 0($pop9) - tee_local $push10=, $3=, $pop11 - br_if 1, $pop10 # 1: down to label5 + i32.load $push13=, 0($pop7) + tee_local $push12=, $3=, $pop13 + br_if 1, $pop12 # 1: down to label5 # BB#5: # %if.end19 - i32.eqz $push16=, $4 - br_if 2, $pop16 # 2: down to label4 + i32.eqz $push18=, $4 + br_if 2, $pop18 # 2: down to label4 # BB#6: # %if.end24 - i32.store $drop=, 8($4), $3 + i32.const $push8=, 8 + i32.add $push9=, $4, $pop8 + i32.store $drop=, 0($pop9), $3 return .LBB0_7: # %if.end6 end_block # label6: i32.const $push2=, 4 i32.add $push3=, $1, $pop2 i32.load $push0=, 0($1) - i32.load $push13=, 0($pop0) - tee_local $push12=, $3=, $pop13 - i32.store $drop=, 0($pop3), $pop12 + i32.load $push15=, 0($pop0) + tee_local $push14=, $3=, $pop15 + i32.store $drop=, 0($pop3), $pop14 br_if 2, $3 # 2: down to label3 -# BB#8: # %if.end12 - i32.const $push5=, 0 - i32.const $push4=, -1 - i32.store $drop=, 12($pop5), $pop4 +# BB#8: + i32.const $push10=, 12 + i32.const $push11=, -1 + i32.store $drop=, 0($pop10), $pop11 return .LBB0_9: # %if.then18 end_block # label5: @@ -96,46 +98,46 @@ main: # @main .result i32 .local i32, i32 # BB#0: # %entry - i32.const $push34=, 0 - i32.const $push31=, 0 - i32.load $push32=, __stack_pointer($pop31) - i32.const $push33=, 48 - i32.sub $push49=, $pop32, $pop33 - tee_local $push48=, $1=, $pop49 - i32.store $drop=, __stack_pointer($pop34), $pop48 + i32.const $push38=, 0 + i32.const $push35=, 0 + i32.load $push36=, __stack_pointer($pop35) + i32.const $push37=, 48 + i32.sub $push53=, $pop36, $pop37 + tee_local $push52=, $1=, $pop53 + i32.store $drop=, __stack_pointer($pop38), $pop52 i32.const $push0=, 0 i64.load $push1=, .Lmain.uv+8($pop0) i64.store $drop=, 40($1), $pop1 - i32.const $push47=, 0 - i64.load $push2=, .Lmain.uv($pop47) + i32.const $push51=, 0 + i64.load $push2=, .Lmain.uv($pop51) i64.store $drop=, 32($1), $pop2 i32.const $push3=, 24 i32.add $push4=, $1, $pop3 - i32.const $push46=, 0 - i32.load $push5=, .Lmain.s+16($pop46) + i32.const $push50=, 0 + i32.load $push5=, .Lmain.s+16($pop50) i32.store $drop=, 0($pop4), $pop5 i32.const $push6=, 16 - i32.add $push45=, $1, $pop6 - tee_local $push44=, $0=, $pop45 - i32.const $push43=, 0 - i64.load $push7=, .Lmain.s+8($pop43):p2align=2 - i64.store $drop=, 0($pop44), $pop7 - i32.const $push42=, 0 - i64.load $push8=, .Lmain.s($pop42):p2align=2 + i32.add $push49=, $1, $pop6 + tee_local $push48=, $0=, $pop49 + i32.const $push47=, 0 + i64.load $push7=, .Lmain.s+8($pop47):p2align=2 + i64.store $drop=, 0($pop48), $pop7 + i32.const $push46=, 0 + i64.load $push8=, .Lmain.s($pop46):p2align=2 i64.store $drop=, 8($1), $pop8 - i32.const $push41=, 0 - i32.const $push35=, 8 - i32.add $push36=, $1, $pop35 + i32.const $push45=, 0 + i32.const $push39=, 8 + i32.add $push40=, $1, $pop39 i32.const $push10=, 20000 i32.const $push9=, 10000 - i32.const $push37=, 32 - i32.add $push38=, $1, $pop37 - call f@FUNCTION, $pop41, $pop36, $1, $pop10, $pop9, $pop38 + i32.const $push41=, 32 + i32.add $push42=, $1, $pop41 + call f@FUNCTION, $pop45, $pop40, $1, $pop10, $pop9, $pop42 block i32.load $push11=, 12($1) - i32.const $push39=, 32 - i32.add $push40=, $1, $pop39 - i32.ne $push12=, $pop11, $pop40 + i32.const $push43=, 32 + i32.add $push44=, $1, $pop43 + i32.ne $push12=, $pop11, $pop44 br_if 0, $pop12 # 0: down to label8 # BB#1: # %lor.lhs.false i32.load $push13=, 0($0) @@ -155,20 +157,28 @@ main: # @main i32.ne $push23=, $pop21, $pop22 br_if 0, $pop23 # 0: down to label8 # BB#4: # %lor.lhs.false16 - i64.load $push25=, 32($1) - i64.const $push24=, 953482739823 - i64.ne $push26=, $pop25, $pop24 + i32.load $push25=, 32($1) + i32.const $push24=, 111 + i32.ne $push26=, $pop25, $pop24 br_if 0, $pop26 # 0: down to label8 -# BB#5: # %lor.lhs.false24 - i64.load $push28=, 40($1) - i64.const $push27=, 1906965479424 - i64.ne $push29=, $pop28, $pop27 +# BB#5: # %lor.lhs.false20 + i32.load $push28=, 36($1) + i32.const $push27=, 222 + i32.ne $push29=, $pop28, $pop27 br_if 0, $pop29 # 0: down to label8 -# BB#6: # %if.end - i32.const $push30=, 0 - call exit@FUNCTION, $pop30 +# BB#6: # %lor.lhs.false24 + i32.load $push30=, 40($1) + br_if 0, $pop30 # 0: down to label8 +# BB#7: # %lor.lhs.false28 + i32.load $push32=, 44($1) + i32.const $push31=, 444 + i32.ne $push33=, $pop32, $pop31 + br_if 0, $pop33 # 0: down to label8 +# BB#8: # %if.end + i32.const $push34=, 0 + call exit@FUNCTION, $pop34 unreachable -.LBB2_7: # %if.then +.LBB2_9: # %if.then end_block # label8: call abort@FUNCTION unreachable diff --git a/test/torture-s/pr20100-1.c.s b/test/torture-s/pr20100-1.c.s index b9b08af06..38d480c42 100644 --- a/test/torture-s/pr20100-1.c.s +++ b/test/torture-s/pr20100-1.c.s @@ -57,27 +57,27 @@ get_n: # @get_n .LBB1_2: # %while.body # =>This Inner Loop Header: Depth=1 loop # label1: - i32.const $push27=, 1 - i32.add $3=, $3, $pop27 - i32.const $push26=, 0 - i32.const $push25=, 65535 - i32.and $push24=, $2, $pop25 - tee_local $push23=, $2=, $pop24 - i32.const $push22=, 1 - i32.add $push4=, $pop23, $pop22 + i32.const $push28=, 0 + i32.const $push27=, 65535 + i32.and $push26=, $2, $pop27 + tee_local $push25=, $2=, $pop26 + i32.const $push24=, 1 + i32.add $push4=, $pop25, $pop24 i32.eq $push3=, $2, $1 - i32.select $push21=, $pop26, $pop4, $pop3 - tee_local $push20=, $2=, $pop21 - i32.const $push19=, 65535 - i32.and $push5=, $pop20, $pop19 - i32.eq $push6=, $0, $pop5 + i32.select $2=, $pop28, $pop4, $pop3 + i32.const $push23=, 1 + i32.add $push22=, $3, $pop23 + tee_local $push21=, $3=, $pop22 + i32.const $push20=, 65535 + i32.and $push5=, $pop21, $pop20 + i32.const $push19=, 4 + i32.gt_u $push6=, $pop5, $pop19 br_if 1, $pop6 # 1: down to label2 # BB#3: # %while.body # in Loop: Header=BB1_2 Depth=1 i32.const $push29=, 65535 - i32.and $push7=, $3, $pop29 - i32.const $push28=, 5 - i32.lt_u $push8=, $pop7, $pop28 + i32.and $push7=, $2, $pop29 + i32.ne $push8=, $0, $pop7 br_if 0, $pop8 # 0: up to label1 .LBB1_4: # %while.cond.while.end_crit_edge end_loop # label2: diff --git a/test/torture-s/pr20527-1.c.s b/test/torture-s/pr20527-1.c.s index f0f5b8fb9..e755335f7 100644 --- a/test/torture-s/pr20527-1.c.s +++ b/test/torture-s/pr20527-1.c.s @@ -6,42 +6,44 @@ .type f,@function f: # @f .param i32, i32, i32, i32 - .local i32, i32 + .local i32 # BB#0: # %entry block i32.gt_s $push0=, $2, $3 br_if 0, $pop0 # 0: down to label0 # BB#1: # %for.body.preheader - i32.const $push9=, -1 - i32.add $5=, $2, $pop9 + i32.const $push12=, -1 + i32.add $4=, $2, $pop12 i32.const $push1=, 2 - i32.shl $push8=, $2, $pop1 - tee_local $push7=, $4=, $pop8 - i32.add $2=, $1, $pop7 - i32.add $0=, $0, $4 + i32.shl $push11=, $2, $pop1 + tee_local $push10=, $2=, $pop11 + i32.add $0=, $0, $pop10 + i32.add $push2=, $1, $2 + i32.const $push9=, 4 + i32.add $2=, $pop2, $pop9 i32.const $1=, 0 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: - i32.const $push19=, 4 - i32.add $push18=, $2, $pop19 - tee_local $push17=, $4=, $pop18 - i32.load $push2=, 0($pop17) - i32.load $push3=, 0($2) - i32.sub $push4=, $pop2, $pop3 - i32.add $push16=, $pop4, $1 - tee_local $push15=, $1=, $pop16 - i32.const $push14=, -1 - i32.add $push5=, $pop15, $pop14 - i32.store $drop=, 0($0), $pop5 - i32.const $push13=, 4 - i32.add $0=, $0, $pop13 - copy_local $2=, $4 - i32.const $push12=, 1 - i32.add $push11=, $5, $pop12 - tee_local $push10=, $5=, $pop11 - i32.lt_s $push6=, $pop10, $3 - br_if 0, $pop6 # 0: up to label1 + i32.load $push5=, 0($2) + i32.const $push21=, -4 + i32.add $push3=, $2, $pop21 + i32.load $push4=, 0($pop3) + i32.sub $push6=, $pop5, $pop4 + i32.add $push20=, $pop6, $1 + tee_local $push19=, $1=, $pop20 + i32.const $push18=, -1 + i32.add $push7=, $pop19, $pop18 + i32.store $drop=, 0($0), $pop7 + i32.const $push17=, 4 + i32.add $0=, $0, $pop17 + i32.const $push16=, 4 + i32.add $2=, $2, $pop16 + i32.const $push15=, 1 + i32.add $push14=, $4, $pop15 + tee_local $push13=, $4=, $pop14 + i32.lt_s $push8=, $pop13, $3 + br_if 0, $pop8 # 0: up to label1 .LBB0_3: # %for.end end_loop # label2: end_block # label0: diff --git a/test/torture-s/pr20601-1.c.s b/test/torture-s/pr20601-1.c.s index 09cae3d39..5f077aa43 100644 --- a/test/torture-s/pr20601-1.c.s +++ b/test/torture-s/pr20601-1.c.s @@ -38,20 +38,20 @@ main: # @main .result i32 .local i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $push34=, 0 - i32.const $push33=, 4 - i32.store $drop=, b($pop34), $pop33 - i32.const $push32=, 0 + i32.const $push35=, 0 + i32.const $push34=, 4 + i32.store $drop=, b($pop35), $pop34 + i32.const $push33=, 0 i32.const $push0=, g - i32.store $drop=, c($pop32), $pop0 + i32.store $drop=, c($pop33), $pop0 i32.const $1=, g+4 - i32.const $push31=, 0 - i32.const $push30=, g+4 - i32.store $drop=, e($pop31), $pop30 + i32.const $push32=, 0 + i32.const $push31=, g+4 + i32.store $drop=, e($pop32), $pop31 i32.const $0=, 3 - i32.const $push29=, 0 - i32.const $push28=, 3 - i32.store $drop=, d($pop29), $pop28 + i32.const $push30=, 0 + i32.const $push29=, 3 + i32.store $drop=, d($pop30), $pop29 i32.const $3=, 1 .LBB2_1: # %land.rhs.i # =>This Inner Loop Header: Depth=1 @@ -60,19 +60,19 @@ main: # @main block block loop # label6: - i32.load $push37=, 0($1) - tee_local $push36=, $2=, $pop37 - i32.load8_u $push1=, 0($pop36) - i32.const $push35=, 45 - i32.ne $push2=, $pop1, $pop35 + i32.load $push38=, 0($1) + tee_local $push37=, $2=, $pop38 + i32.load8_u $push1=, 0($pop37) + i32.const $push36=, 45 + i32.ne $push2=, $pop1, $pop36 br_if 1, $pop2 # 1: down to label7 # BB#2: # %while.body.i # in Loop: Header=BB2_1 Depth=1 block - i32.load8_s $push39=, 1($2) - tee_local $push38=, $4=, $pop39 - i32.eqz $push81=, $pop38 - br_if 0, $pop81 # 0: down to label8 + i32.load8_s $push40=, 1($2) + tee_local $push39=, $4=, $pop40 + i32.eqz $push83=, $pop39 + br_if 0, $pop83 # 0: down to label8 # BB#3: # %land.lhs.true.i # in Loop: Header=BB2_1 Depth=1 i32.load8_u $push3=, 2($2) @@ -84,25 +84,25 @@ main: # @main block block block - i32.const $push40=, 80 - i32.eq $push4=, $4, $pop40 + i32.const $push41=, 80 + i32.eq $push4=, $4, $pop41 br_if 0, $pop4 # 0: down to label12 # BB#5: # %if.end.i # in Loop: Header=BB2_1 Depth=1 - i32.const $push41=, 117 - i32.eq $push5=, $4, $pop41 + i32.const $push42=, 117 + i32.eq $push5=, $4, $pop42 br_if 2, $pop5 # 2: down to label10 # BB#6: # %if.end.i # in Loop: Header=BB2_1 Depth=1 - i32.const $push42=, 45 - i32.ne $push6=, $4, $pop42 + i32.const $push43=, 45 + i32.ne $push6=, $4, $pop43 br_if 1, $pop6 # 1: down to label11 br 6 # 6: down to label5 .LBB2_7: # %sw.bb21.i # in Loop: Header=BB2_1 Depth=1 end_block # label12: - i32.const $push43=, 4096 - i32.or $3=, $3, $pop43 + i32.const $push44=, 4096 + i32.or $3=, $3, $pop44 .LBB2_8: # %sw.epilog.i # in Loop: Header=BB2_1 Depth=1 end_block # label11: @@ -112,60 +112,60 @@ main: # @main # in Loop: Header=BB2_1 Depth=1 end_block # label10: i32.load $push14=, 4($1) - i32.eqz $push82=, $pop14 - br_if 5, $pop82 # 5: down to label3 + i32.eqz $push84=, $pop14 + br_if 5, $pop84 # 5: down to label3 # BB#10: # %if.end19.i # in Loop: Header=BB2_1 Depth=1 - i32.const $push52=, 0 - i32.const $push51=, 4 - i32.add $push50=, $1, $pop51 - tee_local $push49=, $1=, $pop50 - i32.store $drop=, t+4100($pop52), $pop49 + i32.const $push53=, 0 + i32.const $push52=, 4 + i32.add $push51=, $1, $pop52 + tee_local $push50=, $1=, $pop51 + i32.store $drop=, t+4100($pop53), $pop50 + i32.const $push49=, 0 + i32.store $drop=, e($pop49), $1 i32.const $push48=, 0 - i32.store $drop=, e($pop48), $1 - i32.const $push47=, 0 - i32.const $push46=, -1 - i32.add $push45=, $0, $pop46 - tee_local $push44=, $4=, $pop45 - i32.store $drop=, d($pop47), $pop44 + i32.const $push47=, -1 + i32.add $push46=, $0, $pop47 + tee_local $push45=, $4=, $pop46 + i32.store $drop=, d($pop48), $pop45 .LBB2_11: # %sw.epilog.i # in Loop: Header=BB2_1 Depth=1 end_block # label9: - i32.const $push61=, 0 - i32.const $push60=, 4 - i32.add $push59=, $1, $pop60 - tee_local $push58=, $1=, $pop59 - i32.store $drop=, e($pop61), $pop58 - i32.const $push57=, 0 - i32.const $push56=, -1 - i32.add $push55=, $4, $pop56 - tee_local $push54=, $0=, $pop55 - i32.store $drop=, d($pop57), $pop54 - i32.const $push53=, 1 - i32.gt_s $push15=, $4, $pop53 + i32.const $push62=, 0 + i32.const $push61=, 4 + i32.add $push60=, $1, $pop61 + tee_local $push59=, $1=, $pop60 + i32.store $drop=, e($pop62), $pop59 + i32.const $push58=, 0 + i32.const $push57=, -1 + i32.add $push56=, $4, $pop57 + tee_local $push55=, $0=, $pop56 + i32.store $drop=, d($pop58), $pop55 + i32.const $push54=, 1 + i32.gt_s $push15=, $4, $pop54 br_if 0, $pop15 # 0: up to label6 .LBB2_12: # %while.end.i end_loop # label7: - i32.const $push62=, 1 - i32.lt_s $push17=, $0, $pop62 + i32.const $push63=, 1 + i32.lt_s $push17=, $0, $pop63 br_if 1, $pop17 # 1: down to label4 # BB#13: # %while.end.i - i32.const $push63=, 1 - i32.and $push16=, $3, $pop63 + i32.const $push64=, 1 + i32.and $push16=, $3, $pop64 br_if 1, $pop16 # 1: down to label4 br 2 # 2: down to label3 .LBB2_14: # %sw.bb22.i end_block # label5: i32.const $push8=, 0 i32.const $push7=, 4 - i32.add $push68=, $1, $pop7 - tee_local $push67=, $1=, $pop68 - i32.store $drop=, e($pop8), $pop67 - i32.const $push66=, 0 + i32.add $push69=, $1, $pop7 + tee_local $push68=, $1=, $pop69 + i32.store $drop=, e($pop8), $pop68 + i32.const $push67=, 0 i32.const $push9=, -1 - i32.add $push65=, $0, $pop9 - tee_local $push64=, $0=, $pop65 - i32.store $drop=, d($pop66), $pop64 + i32.add $push66=, $0, $pop9 + tee_local $push65=, $0=, $pop66 + i32.store $drop=, d($pop67), $pop65 i32.const $push12=, 1536 i32.or $push13=, $3, $pop12 i32.const $push10=, 1 @@ -173,48 +173,50 @@ main: # @main i32.select $3=, $pop13, $3, $pop11 .LBB2_15: # %setup2.exit end_block # label4: - i32.const $4=, 0 - i32.const $push70=, 0 - i32.const $push69=, .L.str.4 - i32.store $drop=, t($pop70), $pop69 + i32.const $push71=, 0 + i32.const $push70=, .L.str.4 + i32.store $drop=, t($pop71), $pop70 block i32.const $push18=, 512 i32.and $push19=, $3, $pop18 - i32.eqz $push83=, $pop19 - br_if 0, $pop83 # 0: down to label13 + i32.eqz $push85=, $pop19 + br_if 0, $pop85 # 0: down to label13 # BB#16: # %if.then6.i + i32.const $push76=, 0 + i32.const $push75=, f + i32.store $drop=, e($pop76), $pop75 i32.const $push74=, 0 - i32.const $push20=, f - i32.store $drop=, e($pop74), $pop20 - i32.const $push73=, 0 - i32.const $push72=, .L.str.4 - i32.store $drop=, f($pop73), $pop72 - i32.const $push71=, 0 - i32.const $push21=, 1 - i32.add $push22=, $0, $pop21 - i32.store $drop=, d($pop71), $pop22 + i32.const $push73=, .L.str.4 + i32.store $drop=, f($pop74), $pop73 + i32.const $push72=, 0 + i32.const $push20=, 1 + i32.add $push21=, $0, $pop20 + i32.store $drop=, d($pop72), $pop21 + i32.const $4=, 4 .LBB2_17: # %for.cond.i # =>This Inner Loop Header: Depth=1 loop # label14: - i32.const $push78=, f+4 - i32.add $push23=, $4, $pop78 - i32.add $push24=, $1, $4 - i32.load $push77=, 0($pop24) - tee_local $push76=, $2=, $pop77 - i32.store $drop=, 0($pop23), $pop76 - i32.const $push75=, 4 - i32.add $4=, $4, $pop75 + i32.const $push81=, f + i32.add $push22=, $4, $pop81 + i32.add $push23=, $1, $4 + i32.const $push80=, -4 + i32.add $push24=, $pop23, $pop80 + i32.load $push79=, 0($pop24) + tee_local $push78=, $2=, $pop79 + i32.store $drop=, 0($pop22), $pop78 + i32.const $push77=, 4 + i32.add $4=, $4, $pop77 br_if 0, $2 # 0: up to label14 .LBB2_18: # %setup1.exit end_loop # label15: end_block # label13: i32.const $push26=, 1024 i32.and $push27=, $3, $pop26 - i32.eqz $push84=, $pop27 - br_if 1, $pop84 # 1: down to label2 + i32.eqz $push86=, $pop27 + br_if 1, $pop86 # 1: down to label2 # BB#19: # %setup1.exit - i32.const $push79=, 0 - i32.load $push25=, a+16($pop79) + i32.const $push82=, 0 + i32.load $push25=, a+16($pop82) br_if 1, $pop25 # 1: down to label2 .LBB2_20: # %if.then end_block # label3: @@ -222,8 +224,8 @@ main: # @main unreachable .LBB2_21: # %if.end end_block # label2: - i32.const $push80=, 0 - call exit@FUNCTION, $pop80 + i32.const $push28=, 0 + call exit@FUNCTION, $pop28 unreachable .endfunc .Lfunc_end2: diff --git a/test/torture-s/pr23604.c.s b/test/torture-s/pr23604.c.s index 3e4f18a88..beb314123 100644 --- a/test/torture-s/pr23604.c.s +++ b/test/torture-s/pr23604.c.s @@ -7,21 +7,25 @@ g: # @g .param i32, i32 .result i32 - .local i32 # BB#0: # %entry - i32.const $2=, 1 block - i32.const $push3=, 1 - i32.gt_u $push0=, $0, $pop3 - br_if 0, $pop0 # 0: down to label0 + block + i32.const $push0=, 1 + i32.gt_u $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label1 # BB#1: # %if.then2 - i32.eqz $push2=, $1 - i32.eq $push1=, $0, $1 - i32.or $2=, $pop2, $pop1 -.LBB0_2: # %return + i32.eq $push2=, $0, $1 + br_if 0, $pop2 # 0: down to label1 +# BB#2: # %if.then2 + i32.const $0=, 0 + br_if 1, $1 # 1: down to label0 +.LBB0_3: # %if.end9 + end_block # label1: + i32.const $0=, 1 +.LBB0_4: # %return end_block # label0: - copy_local $push4=, $2 - # fallthrough-return: $pop4 + copy_local $push3=, $0 + # fallthrough-return: $pop3 .endfunc .Lfunc_end0: .size g, .Lfunc_end0-g diff --git a/test/torture-s/pr24716.c.s b/test/torture-s/pr24716.c.s index ac371a6da..7e8380365 100644 --- a/test/torture-s/pr24716.c.s +++ b/test/torture-s/pr24716.c.s @@ -7,187 +7,142 @@ f: # @f .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32, i32, i32 # BB#0: # %entry - i32.const $push17=, 0 - i32.load $push18=, __stack_pointer($pop17) - i32.const $push19=, 16 - i32.sub $push26=, $pop18, $pop19 - tee_local $push25=, $6=, $pop26 - i32.const $push24=, 0 - i32.store $drop=, 8($pop25), $pop24 - i32.const $push20=, 12 - i32.add $push21=, $6, $pop20 - copy_local $5=, $pop21 - i32.const $3=, 0 + i32.const $5=, 0 + i32.const $2=, 0 .LBB0_1: # %for.cond # =>This Loop Header: Depth=1 # Child Loop BB0_6 Depth 2 - # Child Loop BB0_10 Depth 2 - # Child Loop BB0_11 Depth 3 - # Child Loop BB0_15 Depth 2 - # Child Loop BB0_16 Depth 3 + # Child Loop BB0_8 Depth 2 + # Child Loop BB0_9 Depth 3 + # Child Loop BB0_14 Depth 2 + # Child Loop BB0_15 Depth 3 loop # label0: - i32.store $drop=, 0($5), $3 - i32.load $5=, 8($6) block block - i32.load $push29=, 12($6) - tee_local $push28=, $4=, $pop29 - i32.const $push27=, 3 - i32.lt_s $push0=, $pop28, $pop27 + i32.const $push25=, 3 + i32.lt_s $push0=, $5, $pop25 br_if 0, $pop0 # 0: down to label3 -# BB#2: # %do.body.preheader +# BB#2: # %if.end.thread # in Loop: Header=BB0_1 Depth=1 - i32.const $push42=, 0 - i32.sub $push41=, $pop42, $5 - tee_local $push40=, $3=, $pop41 - i32.const $push39=, -3 - i32.const $push38=, -3 - i32.gt_s $push1=, $3, $pop38 - i32.select $push37=, $pop40, $pop39, $pop1 - tee_local $push36=, $2=, $pop37 - i32.const $push35=, -1 - i32.xor $push34=, $pop36, $pop35 - tee_local $push33=, $3=, $pop34 - i32.store $drop=, 8($6), $pop33 - i32.add $push2=, $5, $4 - i32.add $push3=, $pop2, $2 - i32.const $push32=, 1 - i32.add $push31=, $pop3, $pop32 - tee_local $push30=, $4=, $pop31 - i32.store $drop=, 12($6), $pop30 + i32.const $push27=, 1 + i32.add $5=, $5, $pop27 + i32.const $push26=, -1 + i32.add $3=, $2, $pop26 br 1 # 1: down to label2 -.LBB0_3: # in Loop: Header=BB0_1 Depth=1 +.LBB0_3: # %if.end + # in Loop: Header=BB0_1 Depth=1 end_block # label3: - copy_local $3=, $5 -.LBB0_4: # %if.end + i32.const $3=, 0 + i32.const $push28=, 1 + i32.eq $push1=, $2, $pop28 + br_if 2, $pop1 # 2: down to label1 +.LBB0_4: # %while.cond.preheader # in Loop: Header=BB0_1 Depth=1 end_block # label2: block - block - i32.const $push43=, 1 - i32.eq $push4=, $3, $pop43 - br_if 0, $pop4 # 0: down to label5 -# BB#5: # %while.cond.preheader + i32.le_s $push2=, $5, $1 + br_if 0, $pop2 # 0: down to label4 +# BB#5: # %while.body.lr.ph # in Loop: Header=BB0_1 Depth=1 - block - i32.le_s $push5=, $4, $1 - br_if 0, $pop5 # 0: down to label6 + i32.eq $4=, $3, $1 .LBB0_6: # %while.body # Parent Loop BB0_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop # label7: - block - i32.ne $push6=, $3, $1 - br_if 0, $pop6 # 0: down to label9 -# BB#7: # %if.then7 - # in Loop: Header=BB0_6 Depth=2 - i32.const $push46=, 1 - i32.add $push45=, $4, $pop46 - tee_local $push44=, $4=, $pop45 - i32.store $drop=, 12($6), $pop44 -.LBB0_8: # %while.cond.backedge - # in Loop: Header=BB0_6 Depth=2 - end_block # label9: - i32.gt_s $push7=, $4, $1 - br_if 0, $pop7 # 0: up to label7 -.LBB0_9: # %do.body10.preheader + loop # label5: + i32.add $push13=, $5, $4 + tee_local $push12=, $5=, $pop13 + i32.gt_s $push3=, $pop12, $1 + br_if 0, $pop3 # 0: up to label5 +.LBB0_7: # %do.body10.preheader # in Loop: Header=BB0_1 Depth=1 - end_loop # label8: - end_block # label6: - i32.const $push48=, 2 - i32.shl $push8=, $0, $pop48 - i32.const $push47=, W - i32.add $2=, $pop8, $pop47 -.LBB0_10: # %do.body10 + end_loop # label6: + end_block # label4: + i32.const $push15=, 2 + i32.shl $push4=, $0, $pop15 + i32.const $push14=, W + i32.add $2=, $pop4, $pop14 +.LBB0_8: # %do.body10 # Parent Loop BB0_1 Depth=1 # => This Loop Header: Depth=2 - # Child Loop BB0_11 Depth 3 - loop # label10: - i32.load $5=, 0($2) -.LBB0_11: # %do.body11 + # Child Loop BB0_9 Depth 3 + loop # label7: + i32.load $4=, 0($2) +.LBB0_9: # %do.body11 # Parent Loop BB0_1 Depth=1 - # Parent Loop BB0_10 Depth=2 + # Parent Loop BB0_8 Depth=2 # => This Inner Loop Header: Depth=3 - loop # label12: + loop # label9: block - i32.eqz $push60=, $5 - br_if 0, $pop60 # 0: down to label14 -# BB#12: # %if.then13 - # in Loop: Header=BB0_11 Depth=3 - i32.const $push50=, 0 - i32.store $drop=, 0($2), $pop50 - i32.const $4=, 1 - i32.const $push49=, 1 - i32.store $drop=, 12($6), $pop49 -.LBB0_13: # %do.cond16 - # in Loop: Header=BB0_11 Depth=3 - end_block # label14: - i32.const $5=, 0 - i32.const $push51=, 1 - i32.lt_s $push9=, $1, $pop51 - br_if 0, $pop9 # 0: up to label12 -# BB#14: # %do.cond19 - # in Loop: Header=BB0_10 Depth=2 - end_loop # label13: - i32.const $push52=, 0 - i32.gt_s $push10=, $0, $pop52 - br_if 0, $pop10 # 0: up to label10 -.LBB0_15: # %do.body22 + i32.eqz $push29=, $4 + br_if 0, $pop29 # 0: down to label11 +# BB#10: # %if.then13 + # in Loop: Header=BB0_9 Depth=3 + i32.const $push16=, 0 + i32.store $drop=, 0($2), $pop16 + i32.const $5=, 1 +.LBB0_11: # %do.cond16 + # in Loop: Header=BB0_9 Depth=3 + end_block # label11: + i32.const $4=, 0 + i32.const $push17=, 1 + i32.lt_s $push5=, $1, $pop17 + br_if 0, $pop5 # 0: up to label9 +# BB#12: # %do.cond19 + # in Loop: Header=BB0_8 Depth=2 + end_loop # label10: + i32.const $push18=, 0 + i32.gt_s $push6=, $0, $pop18 + br_if 0, $pop6 # 0: up to label7 +# BB#13: # %do.body22.preheader + # in Loop: Header=BB0_1 Depth=1 + end_loop # label8: + copy_local $4=, $0 +.LBB0_14: # %do.body22 # Parent Loop BB0_1 Depth=1 # => This Loop Header: Depth=2 - # Child Loop BB0_16 Depth 3 - end_loop # label11: - loop # label15: - i32.const $push54=, 2 - i32.shl $push11=, $0, $pop54 - i32.const $push53=, Link - i32.add $push12=, $pop11, $pop53 - i32.load $0=, 0($pop12) + # Child Loop BB0_15 Depth 3 + loop # label12: + i32.const $push20=, 2 + i32.shl $push7=, $4, $pop20 + i32.const $push19=, Link + i32.add $push8=, $pop7, $pop19 + i32.load $4=, 0($pop8) i32.const $1=, 0 -.LBB0_16: # %while.cond24 +.LBB0_15: # %while.cond24 # Parent Loop BB0_1 Depth=1 - # Parent Loop BB0_15 Depth=2 + # Parent Loop BB0_14 Depth=2 # => This Inner Loop Header: Depth=3 - loop # label17: - i32.ge_s $push13=, $1, $3 - br_if 1, $pop13 # 1: down to label18 -# BB#17: # %while.body26 - # in Loop: Header=BB0_16 Depth=3 - i32.const $push59=, -1 - i32.eq $push16=, $0, $pop59 - br_if 0, $pop16 # 0: up to label17 -# BB#18: # %if.then28 - # in Loop: Header=BB0_16 Depth=3 - i32.const $push58=, 1 - i32.add $push57=, $4, $pop58 - tee_local $push56=, $4=, $pop57 - i32.store $drop=, 12($6), $pop56 - i32.const $push55=, 1 - i32.add $1=, $1, $pop55 - br 0 # 0: up to label17 -.LBB0_19: # %do.cond33 - # in Loop: Header=BB0_15 Depth=2 - end_loop # label18: - i32.const $push14=, -1 - i32.ne $push15=, $0, $pop14 - br_if 0, $pop15 # 0: up to label15 - br 3 # 3: down to label4 -.LBB0_20: # %for.end - end_loop # label16: - end_block # label5: - return $4 -.LBB0_21: # in Loop: Header=BB0_1 Depth=1 - end_block # label4: - i32.const $3=, 1 - i32.const $push22=, 8 - i32.add $push23=, $6, $pop22 - copy_local $5=, $pop23 + loop # label14: + i32.ge_s $push9=, $1, $3 + br_if 1, $pop9 # 1: down to label15 +# BB#16: # %while.body26 + # in Loop: Header=BB0_15 Depth=3 + i32.const $push23=, -1 + i32.eq $push11=, $4, $pop23 + br_if 0, $pop11 # 0: up to label14 +# BB#17: # %if.then28 + # in Loop: Header=BB0_15 Depth=3 + i32.const $push22=, 1 + i32.add $1=, $1, $pop22 + i32.const $push21=, 1 + i32.add $5=, $5, $pop21 + br 0 # 0: up to label14 +.LBB0_18: # %do.cond33 + # in Loop: Header=BB0_14 Depth=2 + end_loop # label15: i32.const $0=, -1 - br 0 # 0: up to label0 -.LBB0_22: + i32.const $2=, 1 + i32.const $push24=, -1 + i32.ne $push10=, $4, $pop24 + br_if 0, $pop10 # 0: up to label12 + br 2 # 2: up to label0 +.LBB0_19: # %for.end + end_loop # label13: end_loop # label1: + copy_local $push30=, $5 + # fallthrough-return: $pop30 .endfunc .Lfunc_end0: .size f, .Lfunc_end0-f @@ -198,20 +153,120 @@ f: # @f .type main,@function main: # @main .result i32 + .local i32, i32, i32, i32, i32 # BB#0: # %entry + i32.const $4=, 0 + i32.const $1=, 2 + i32.const $2=, 0 + i32.const $3=, 0 +.LBB1_1: # %for.cond.i + # =>This Loop Header: Depth=1 + # Child Loop BB1_6 Depth 2 + # Child Loop BB1_8 Depth 2 + # Child Loop BB1_11 Depth 2 + loop # label16: block - i32.const $push2=, 0 - i32.const $push0=, 2 - i32.call $push1=, f@FUNCTION, $pop2, $pop0 - i32.eqz $push4=, $pop1 - br_if 0, $pop4 # 0: down to label19 -# BB#1: # %if.end - i32.const $push3=, 0 - return $pop3 -.LBB1_2: # %if.then + block + block + block + i32.const $push10=, 3 + i32.lt_s $push0=, $2, $pop10 + br_if 0, $pop0 # 0: down to label21 +# BB#2: # %if.end.thread.i + # in Loop: Header=BB1_1 Depth=1 + i32.const $push12=, 1 + i32.add $2=, $2, $pop12 + i32.const $push11=, -1 + i32.add $0=, $3, $pop11 + br 1 # 1: down to label20 +.LBB1_3: # %if.end.i + # in Loop: Header=BB1_1 Depth=1 + end_block # label21: + i32.const $0=, 0 + i32.const $push13=, 1 + i32.eq $push1=, $3, $pop13 + br_if 1, $pop1 # 1: down to label19 +.LBB1_4: # %while.cond.preheader.i + # in Loop: Header=BB1_1 Depth=1 + end_block # label20: + block + i32.le_s $push3=, $2, $1 + br_if 0, $pop3 # 0: down to label22 +# BB#5: # %while.body.lr.ph.i + # in Loop: Header=BB1_1 Depth=1 + i32.eq $3=, $0, $1 +.LBB1_6: # %while.body.i + # Parent Loop BB1_1 Depth=1 + # => This Inner Loop Header: Depth=2 + loop # label23: + i32.add $push15=, $2, $3 + tee_local $push14=, $2=, $pop15 + i32.gt_s $push4=, $pop14, $1 + br_if 0, $pop4 # 0: up to label23 +.LBB1_7: # %do.body10.i + # in Loop: Header=BB1_1 Depth=1 + end_loop # label24: + end_block # label22: + i32.const $push19=, 2 + i32.shl $push5=, $4, $pop19 + i32.const $push18=, W + i32.add $push17=, $pop5, $pop18 + tee_local $push16=, $0=, $pop17 + i32.load $3=, 0($pop16) +.LBB1_8: # %do.body11.i + # Parent Loop BB1_1 Depth=1 + # => This Inner Loop Header: Depth=2 + loop # label25: + block + i32.eqz $push25=, $3 + br_if 0, $pop25 # 0: down to label27 +# BB#9: # %if.then13.i + # in Loop: Header=BB1_8 Depth=2 + i32.const $push20=, 0 + i32.store $drop=, 0($0), $pop20 + i32.const $2=, 1 +.LBB1_10: # %do.cond16.i + # in Loop: Header=BB1_8 Depth=2 + end_block # label27: + i32.const $3=, 0 + i32.eqz $push26=, $1 + br_if 0, $pop26 # 0: up to label25 +.LBB1_11: # %do.cond33.i + # Parent Loop BB1_1 Depth=1 + # => This Inner Loop Header: Depth=2 + end_loop # label26: + loop # label28: + i32.const $push24=, 2 + i32.shl $push7=, $4, $pop24 + i32.const $push23=, Link + i32.add $push8=, $pop7, $pop23 + i32.load $push22=, 0($pop8) + tee_local $push21=, $4=, $pop22 + i32.const $push6=, -1 + i32.ne $push9=, $pop21, $pop6 + br_if 0, $pop9 # 0: up to label28 + br 3 # 3: down to label18 +.LBB1_12: # %f.exit + end_loop # label29: end_block # label19: + block + i32.eqz $push27=, $2 + br_if 0, $pop27 # 0: down to label30 +# BB#13: # %if.end + i32.const $push2=, 0 + return $pop2 +.LBB1_14: # %if.then + end_block # label30: call abort@FUNCTION unreachable +.LBB1_15: # in Loop: Header=BB1_1 Depth=1 + end_block # label18: + i32.const $3=, 1 + i32.const $1=, 0 + i32.const $4=, -1 + br 0 # 0: up to label16 +.LBB1_16: + end_loop # label17: .endfunc .Lfunc_end1: .size main, .Lfunc_end1-main diff --git a/test/torture-s/pr28982a.c.s b/test/torture-s/pr28982a.c.s index 048a1276d..55f22bad0 100644 --- a/test/torture-s/pr28982a.c.s +++ b/test/torture-s/pr28982a.c.s @@ -6,8 +6,9 @@ .type foo,@function foo: # @foo .param i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32 # BB#0: # %entry + f32.const $41=, 0x0p0 f32.const $42=, 0x0p0 f32.const $43=, 0x0p0 f32.const $44=, 0x0p0 @@ -27,162 +28,130 @@ foo: # @foo f32.const $58=, 0x0p0 f32.const $59=, 0x0p0 f32.const $60=, 0x0p0 - f32.const $61=, 0x0p0 block - i32.eqz $push173=, $0 - br_if 0, $pop173 # 0: down to label0 + i32.eqz $push143=, $0 + br_if 0, $pop143 # 0: down to label0 # BB#1: # %while.body.preheader - i32.const $push149=, 0 - i64.load $push148=, incs($pop149) - tee_local $push147=, $21=, $pop148 - i32.wrap/i64 $push0=, $pop147 - i32.const $push51=, 2 - i32.shl $20=, $pop0, $pop51 - i64.const $push40=, 32 - i64.shr_u $push50=, $21, $pop40 - i32.wrap/i64 $push1=, $pop50 - i32.const $push146=, 2 - i32.shl $19=, $pop1, $pop146 - i32.const $push145=, 0 - i64.load $push144=, incs+8($pop145) - tee_local $push143=, $21=, $pop144 - i32.wrap/i64 $push2=, $pop143 - i32.const $push142=, 2 - i32.shl $18=, $pop2, $pop142 - i64.const $push141=, 32 - i64.shr_u $push49=, $21, $pop141 - i32.wrap/i64 $push3=, $pop49 - i32.const $push140=, 2 - i32.shl $17=, $pop3, $pop140 - i32.const $push139=, 0 - i64.load $push138=, incs+16($pop139) - tee_local $push137=, $21=, $pop138 - i32.wrap/i64 $push4=, $pop137 - i32.const $push136=, 2 - i32.shl $16=, $pop4, $pop136 - i64.const $push135=, 32 - i64.shr_u $push48=, $21, $pop135 - i32.wrap/i64 $push5=, $pop48 - i32.const $push134=, 2 - i32.shl $15=, $pop5, $pop134 - i32.const $push133=, 0 - i64.load $push132=, incs+24($pop133) - tee_local $push131=, $21=, $pop132 - i32.wrap/i64 $push6=, $pop131 - i32.const $push130=, 2 - i32.shl $14=, $pop6, $pop130 - i64.const $push129=, 32 - i64.shr_u $push47=, $21, $pop129 - i32.wrap/i64 $push7=, $pop47 - i32.const $push128=, 2 - i32.shl $13=, $pop7, $pop128 - i32.const $push127=, 0 - i64.load $push126=, incs+32($pop127) - tee_local $push125=, $21=, $pop126 - i32.wrap/i64 $push8=, $pop125 - i32.const $push124=, 2 - i32.shl $12=, $pop8, $pop124 - i64.const $push123=, 32 - i64.shr_u $push46=, $21, $pop123 - i32.wrap/i64 $push9=, $pop46 - i32.const $push122=, 2 - i32.shl $11=, $pop9, $pop122 - i32.const $push121=, 0 - i64.load $push120=, incs+40($pop121) - tee_local $push119=, $21=, $pop120 - i32.wrap/i64 $push10=, $pop119 - i32.const $push118=, 2 - i32.shl $10=, $pop10, $pop118 - i64.const $push117=, 32 - i64.shr_u $push45=, $21, $pop117 - i32.wrap/i64 $push11=, $pop45 - i32.const $push116=, 2 - i32.shl $9=, $pop11, $pop116 - i32.const $push115=, 0 - i64.load $push114=, incs+48($pop115) - tee_local $push113=, $21=, $pop114 - i32.wrap/i64 $push12=, $pop113 - i32.const $push112=, 2 - i32.shl $8=, $pop12, $pop112 - i64.const $push111=, 32 - i64.shr_u $push44=, $21, $pop111 - i32.wrap/i64 $push13=, $pop44 - i32.const $push110=, 2 - i32.shl $7=, $pop13, $pop110 - i32.const $push109=, 0 - i64.load $push108=, incs+56($pop109) - tee_local $push107=, $21=, $pop108 - i32.wrap/i64 $push14=, $pop107 - i32.const $push106=, 2 - i32.shl $6=, $pop14, $pop106 - i64.const $push105=, 32 - i64.shr_u $push43=, $21, $pop105 - i32.wrap/i64 $push15=, $pop43 - i32.const $push104=, 2 - i32.shl $5=, $pop15, $pop104 - i32.const $push103=, 0 - i64.load $push102=, incs+64($pop103) - tee_local $push101=, $21=, $pop102 - i32.wrap/i64 $push16=, $pop101 - i32.const $push100=, 2 - i32.shl $4=, $pop16, $pop100 - i64.const $push99=, 32 - i64.shr_u $push42=, $21, $pop99 - i32.wrap/i64 $push17=, $pop42 - i32.const $push98=, 2 - i32.shl $3=, $pop17, $pop98 - i32.const $push97=, 0 - i64.load $push96=, incs+72($pop97) - tee_local $push95=, $21=, $pop96 - i32.wrap/i64 $push18=, $pop95 - i32.const $push94=, 2 - i32.shl $2=, $pop18, $pop94 - i64.const $push93=, 32 - i64.shr_u $push41=, $21, $pop93 - i32.wrap/i64 $push19=, $pop41 - i32.const $push92=, 2 - i32.shl $1=, $pop19, $pop92 - i32.const $push91=, 0 - i32.load $22=, ptrs($pop91) + i32.const $push119=, 0 + i32.load $push0=, incs($pop119) + i32.const $push40=, 2 + i32.shl $20=, $pop0, $pop40 + i32.const $push118=, 0 + i32.load $push1=, incs+4($pop118) + i32.const $push117=, 2 + i32.shl $19=, $pop1, $pop117 + i32.const $push116=, 0 + i32.load $push2=, incs+8($pop116) + i32.const $push115=, 2 + i32.shl $18=, $pop2, $pop115 + i32.const $push114=, 0 + i32.load $push3=, incs+12($pop114) + i32.const $push113=, 2 + i32.shl $17=, $pop3, $pop113 + i32.const $push112=, 0 + i32.load $push4=, incs+16($pop112) + i32.const $push111=, 2 + i32.shl $16=, $pop4, $pop111 + i32.const $push110=, 0 + i32.load $push5=, incs+20($pop110) + i32.const $push109=, 2 + i32.shl $15=, $pop5, $pop109 + i32.const $push108=, 0 + i32.load $push6=, incs+24($pop108) + i32.const $push107=, 2 + i32.shl $14=, $pop6, $pop107 + i32.const $push106=, 0 + i32.load $push7=, incs+28($pop106) + i32.const $push105=, 2 + i32.shl $13=, $pop7, $pop105 + i32.const $push104=, 0 + i32.load $push8=, incs+32($pop104) + i32.const $push103=, 2 + i32.shl $12=, $pop8, $pop103 + i32.const $push102=, 0 + i32.load $push9=, incs+36($pop102) + i32.const $push101=, 2 + i32.shl $11=, $pop9, $pop101 + i32.const $push100=, 0 + i32.load $push10=, incs+40($pop100) + i32.const $push99=, 2 + i32.shl $10=, $pop10, $pop99 + i32.const $push98=, 0 + i32.load $push11=, incs+44($pop98) + i32.const $push97=, 2 + i32.shl $9=, $pop11, $pop97 + i32.const $push96=, 0 + i32.load $push12=, incs+48($pop96) + i32.const $push95=, 2 + i32.shl $8=, $pop12, $pop95 + i32.const $push94=, 0 + i32.load $push13=, incs+52($pop94) + i32.const $push93=, 2 + i32.shl $7=, $pop13, $pop93 + i32.const $push92=, 0 + i32.load $push14=, incs+56($pop92) + i32.const $push91=, 2 + i32.shl $6=, $pop14, $pop91 i32.const $push90=, 0 - i32.load $23=, ptrs+4($pop90) - i32.const $push89=, 0 - i32.load $24=, ptrs+8($pop89) + i32.load $push15=, incs+60($pop90) + i32.const $push89=, 2 + i32.shl $5=, $pop15, $pop89 i32.const $push88=, 0 - i32.load $25=, ptrs+12($pop88) - i32.const $push87=, 0 - i32.load $26=, ptrs+16($pop87) + i32.load $push16=, incs+64($pop88) + i32.const $push87=, 2 + i32.shl $4=, $pop16, $pop87 i32.const $push86=, 0 - i32.load $27=, ptrs+20($pop86) - i32.const $push85=, 0 - i32.load $28=, ptrs+24($pop85) + i32.load $push17=, incs+68($pop86) + i32.const $push85=, 2 + i32.shl $3=, $pop17, $pop85 i32.const $push84=, 0 - i32.load $29=, ptrs+28($pop84) - i32.const $push83=, 0 - i32.load $30=, ptrs+32($pop83) + i32.load $push18=, incs+72($pop84) + i32.const $push83=, 2 + i32.shl $2=, $pop18, $pop83 i32.const $push82=, 0 - i32.load $31=, ptrs+36($pop82) - i32.const $push81=, 0 - i32.load $32=, ptrs+40($pop81) + i32.load $push19=, incs+76($pop82) + i32.const $push81=, 2 + i32.shl $1=, $pop19, $pop81 i32.const $push80=, 0 - i32.load $33=, ptrs+44($pop80) + i32.load $21=, ptrs($pop80) i32.const $push79=, 0 - i32.load $34=, ptrs+48($pop79) + i32.load $22=, ptrs+4($pop79) i32.const $push78=, 0 - i32.load $35=, ptrs+52($pop78) + i32.load $23=, ptrs+8($pop78) i32.const $push77=, 0 - i32.load $36=, ptrs+56($pop77) + i32.load $24=, ptrs+12($pop77) i32.const $push76=, 0 - i32.load $37=, ptrs+60($pop76) + i32.load $25=, ptrs+16($pop76) i32.const $push75=, 0 - i32.load $38=, ptrs+64($pop75) + i32.load $26=, ptrs+20($pop75) i32.const $push74=, 0 - i32.load $39=, ptrs+68($pop74) + i32.load $27=, ptrs+24($pop74) i32.const $push73=, 0 - i32.load $40=, ptrs+72($pop73) + i32.load $28=, ptrs+28($pop73) i32.const $push72=, 0 - i32.load $41=, ptrs+76($pop72) - f32.const $61=, 0x0p0 + i32.load $29=, ptrs+32($pop72) + i32.const $push71=, 0 + i32.load $30=, ptrs+36($pop71) + i32.const $push70=, 0 + i32.load $31=, ptrs+40($pop70) + i32.const $push69=, 0 + i32.load $32=, ptrs+44($pop69) + i32.const $push68=, 0 + i32.load $33=, ptrs+48($pop68) + i32.const $push67=, 0 + i32.load $34=, ptrs+52($pop67) + i32.const $push66=, 0 + i32.load $35=, ptrs+56($pop66) + i32.const $push65=, 0 + i32.load $36=, ptrs+60($pop65) + i32.const $push64=, 0 + i32.load $37=, ptrs+64($pop64) + i32.const $push63=, 0 + i32.load $38=, ptrs+68($pop63) + i32.const $push62=, 0 + i32.load $39=, ptrs+72($pop62) + i32.const $push61=, 0 + i32.load $40=, ptrs+76($pop61) f32.const $60=, 0x0p0 f32.const $59=, 0x0p0 f32.const $58=, 0x0p0 @@ -202,136 +171,137 @@ foo: # @foo f32.const $44=, 0x0p0 f32.const $43=, 0x0p0 f32.const $42=, 0x0p0 + f32.const $41=, 0x0p0 .LBB0_2: # %while.body # =>This Inner Loop Header: Depth=1 loop # label1: - f32.load $push52=, 0($41) - f32.add $61=, $61, $pop52 - f32.load $push53=, 0($40) - f32.add $60=, $60, $pop53 - f32.load $push54=, 0($39) - f32.add $59=, $59, $pop54 - f32.load $push55=, 0($38) - f32.add $58=, $58, $pop55 - f32.load $push56=, 0($37) - f32.add $57=, $57, $pop56 - f32.load $push57=, 0($36) - f32.add $56=, $56, $pop57 - f32.load $push58=, 0($35) - f32.add $55=, $55, $pop58 - f32.load $push59=, 0($34) - f32.add $54=, $54, $pop59 - f32.load $push60=, 0($33) - f32.add $53=, $53, $pop60 - f32.load $push61=, 0($32) - f32.add $52=, $52, $pop61 - f32.load $push62=, 0($31) - f32.add $51=, $51, $pop62 - f32.load $push63=, 0($30) - f32.add $50=, $50, $pop63 - f32.load $push64=, 0($29) - f32.add $49=, $49, $pop64 - f32.load $push65=, 0($28) - f32.add $48=, $48, $pop65 - f32.load $push66=, 0($27) - f32.add $47=, $47, $pop66 - f32.load $push67=, 0($26) - f32.add $46=, $46, $pop67 - f32.load $push68=, 0($25) - f32.add $45=, $45, $pop68 - f32.load $push69=, 0($24) - f32.add $44=, $44, $pop69 - f32.load $push70=, 0($23) - f32.add $43=, $43, $pop70 - f32.load $push71=, 0($22) - f32.add $42=, $42, $pop71 - i32.add $push39=, $22, $20 - copy_local $22=, $pop39 - i32.add $push38=, $23, $19 - copy_local $23=, $pop38 - i32.add $push37=, $24, $18 - copy_local $24=, $pop37 - i32.add $push36=, $25, $17 - copy_local $25=, $pop36 - i32.add $push35=, $26, $16 - copy_local $26=, $pop35 - i32.add $push34=, $27, $15 - copy_local $27=, $pop34 - i32.add $push33=, $28, $14 - copy_local $28=, $pop33 - i32.add $push32=, $29, $13 - copy_local $29=, $pop32 - i32.add $push31=, $30, $12 - copy_local $30=, $pop31 - i32.add $push30=, $31, $11 - copy_local $31=, $pop30 - i32.add $push29=, $32, $10 - copy_local $32=, $pop29 - i32.add $push28=, $33, $9 - copy_local $33=, $pop28 - i32.add $push27=, $34, $8 - copy_local $34=, $pop27 - i32.add $push26=, $35, $7 - copy_local $35=, $pop26 - i32.add $push25=, $36, $6 - copy_local $36=, $pop25 - i32.add $push24=, $37, $5 - copy_local $37=, $pop24 - i32.add $push23=, $38, $4 - copy_local $38=, $pop23 - i32.add $push22=, $39, $3 - copy_local $39=, $pop22 - i32.add $push21=, $40, $2 - copy_local $40=, $pop21 - i32.add $push20=, $41, $1 - copy_local $41=, $pop20 - i32.const $push152=, -1 - i32.add $push151=, $0, $pop152 - tee_local $push150=, $0=, $pop151 - br_if 0, $pop150 # 0: up to label1 + f32.load $push41=, 0($40) + f32.add $60=, $60, $pop41 + f32.load $push42=, 0($39) + f32.add $59=, $59, $pop42 + f32.load $push43=, 0($38) + f32.add $58=, $58, $pop43 + f32.load $push44=, 0($37) + f32.add $57=, $57, $pop44 + f32.load $push45=, 0($36) + f32.add $56=, $56, $pop45 + f32.load $push46=, 0($35) + f32.add $55=, $55, $pop46 + f32.load $push47=, 0($34) + f32.add $54=, $54, $pop47 + f32.load $push48=, 0($33) + f32.add $53=, $53, $pop48 + f32.load $push49=, 0($32) + f32.add $52=, $52, $pop49 + f32.load $push50=, 0($31) + f32.add $51=, $51, $pop50 + f32.load $push51=, 0($30) + f32.add $50=, $50, $pop51 + f32.load $push52=, 0($29) + f32.add $49=, $49, $pop52 + f32.load $push53=, 0($28) + f32.add $48=, $48, $pop53 + f32.load $push54=, 0($27) + f32.add $47=, $47, $pop54 + f32.load $push55=, 0($26) + f32.add $46=, $46, $pop55 + f32.load $push56=, 0($25) + f32.add $45=, $45, $pop56 + f32.load $push57=, 0($24) + f32.add $44=, $44, $pop57 + f32.load $push58=, 0($23) + f32.add $43=, $43, $pop58 + f32.load $push59=, 0($22) + f32.add $42=, $42, $pop59 + f32.load $push60=, 0($21) + f32.add $41=, $41, $pop60 + i32.add $push39=, $21, $20 + copy_local $21=, $pop39 + i32.add $push38=, $22, $19 + copy_local $22=, $pop38 + i32.add $push37=, $23, $18 + copy_local $23=, $pop37 + i32.add $push36=, $24, $17 + copy_local $24=, $pop36 + i32.add $push35=, $25, $16 + copy_local $25=, $pop35 + i32.add $push34=, $26, $15 + copy_local $26=, $pop34 + i32.add $push33=, $27, $14 + copy_local $27=, $pop33 + i32.add $push32=, $28, $13 + copy_local $28=, $pop32 + i32.add $push31=, $29, $12 + copy_local $29=, $pop31 + i32.add $push30=, $30, $11 + copy_local $30=, $pop30 + i32.add $push29=, $31, $10 + copy_local $31=, $pop29 + i32.add $push28=, $32, $9 + copy_local $32=, $pop28 + i32.add $push27=, $33, $8 + copy_local $33=, $pop27 + i32.add $push26=, $34, $7 + copy_local $34=, $pop26 + i32.add $push25=, $35, $6 + copy_local $35=, $pop25 + i32.add $push24=, $36, $5 + copy_local $36=, $pop24 + i32.add $push23=, $37, $4 + copy_local $37=, $pop23 + i32.add $push22=, $38, $3 + copy_local $38=, $pop22 + i32.add $push21=, $39, $2 + copy_local $39=, $pop21 + i32.add $push20=, $40, $1 + copy_local $40=, $pop20 + i32.const $push122=, -1 + i32.add $push121=, $0, $pop122 + tee_local $push120=, $0=, $pop121 + br_if 0, $pop120 # 0: up to label1 .LBB0_3: # %while.end end_loop # label2: end_block # label0: - i32.const $push172=, 0 - f32.store $drop=, results+4($pop172), $43 - i32.const $push171=, 0 - f32.store $drop=, results($pop171), $42 - i32.const $push170=, 0 - f32.store $drop=, results+8($pop170), $44 - i32.const $push169=, 0 - f32.store $drop=, results+12($pop169), $45 - i32.const $push168=, 0 - f32.store $drop=, results+16($pop168), $46 - i32.const $push167=, 0 - f32.store $drop=, results+20($pop167), $47 - i32.const $push166=, 0 - f32.store $drop=, results+24($pop166), $48 - i32.const $push165=, 0 - f32.store $drop=, results+28($pop165), $49 - i32.const $push164=, 0 - f32.store $drop=, results+32($pop164), $50 - i32.const $push163=, 0 - f32.store $drop=, results+36($pop163), $51 - i32.const $push162=, 0 - f32.store $drop=, results+40($pop162), $52 - i32.const $push161=, 0 - f32.store $drop=, results+44($pop161), $53 - i32.const $push160=, 0 - f32.store $drop=, results+48($pop160), $54 - i32.const $push159=, 0 - f32.store $drop=, results+52($pop159), $55 - i32.const $push158=, 0 - f32.store $drop=, results+56($pop158), $56 - i32.const $push157=, 0 - f32.store $drop=, results+60($pop157), $57 - i32.const $push156=, 0 - f32.store $drop=, results+64($pop156), $58 - i32.const $push155=, 0 - f32.store $drop=, results+68($pop155), $59 - i32.const $push154=, 0 - f32.store $drop=, results+72($pop154), $60 - i32.const $push153=, 0 - f32.store $drop=, results+76($pop153), $61 + i32.const $push142=, 0 + f32.store $drop=, results+4($pop142), $42 + i32.const $push141=, 0 + f32.store $drop=, results($pop141), $41 + i32.const $push140=, 0 + f32.store $drop=, results+8($pop140), $43 + i32.const $push139=, 0 + f32.store $drop=, results+12($pop139), $44 + i32.const $push138=, 0 + f32.store $drop=, results+16($pop138), $45 + i32.const $push137=, 0 + f32.store $drop=, results+20($pop137), $46 + i32.const $push136=, 0 + f32.store $drop=, results+24($pop136), $47 + i32.const $push135=, 0 + f32.store $drop=, results+28($pop135), $48 + i32.const $push134=, 0 + f32.store $drop=, results+32($pop134), $49 + i32.const $push133=, 0 + f32.store $drop=, results+36($pop133), $50 + i32.const $push132=, 0 + f32.store $drop=, results+40($pop132), $51 + i32.const $push131=, 0 + f32.store $drop=, results+44($pop131), $52 + i32.const $push130=, 0 + f32.store $drop=, results+48($pop130), $53 + i32.const $push129=, 0 + f32.store $drop=, results+52($pop129), $54 + i32.const $push128=, 0 + f32.store $drop=, results+56($pop128), $55 + i32.const $push127=, 0 + f32.store $drop=, results+60($pop127), $56 + i32.const $push126=, 0 + f32.store $drop=, results+64($pop126), $57 + i32.const $push125=, 0 + f32.store $drop=, results+68($pop125), $58 + i32.const $push124=, 0 + f32.store $drop=, results+72($pop124), $59 + i32.const $push123=, 0 + f32.store $drop=, results+76($pop123), $60 # fallthrough-return .endfunc .Lfunc_end0: diff --git a/test/torture-s/pr28982b.c.s b/test/torture-s/pr28982b.c.s index 2a0d13f7e..7660ba069 100644 --- a/test/torture-s/pr28982b.c.s +++ b/test/torture-s/pr28982b.c.s @@ -24,20 +24,21 @@ bar: # @bar .type foo,@function foo: # @foo .param i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, i32 # BB#0: # %entry - i32.const $push75=, 0 - i32.const $push72=, 0 - i32.load $push73=, __stack_pointer($pop72) - i32.const $push74=, 524288 - i32.sub $push86=, $pop73, $pop74 - tee_local $push85=, $62=, $pop86 - i32.store $drop=, __stack_pointer($pop75), $pop85 - i32.const $push79=, 262144 - i32.add $push80=, $62, $pop79 - i32.const $push84=, 0 - i32.const $push83=, 262144 - i32.call $drop=, memset@FUNCTION, $pop80, $pop84, $pop83 + i32.const $push64=, 0 + i32.const $push61=, 0 + i32.load $push62=, __stack_pointer($pop61) + i32.const $push63=, 524288 + i32.sub $push75=, $pop62, $pop63 + tee_local $push74=, $61=, $pop75 + i32.store $drop=, __stack_pointer($pop64), $pop74 + i32.const $push68=, 262144 + i32.add $push69=, $61, $pop68 + i32.const $push73=, 0 + i32.const $push72=, 262144 + i32.call $drop=, memset@FUNCTION, $pop69, $pop73, $pop72 + f32.const $41=, 0x0p0 f32.const $42=, 0x0p0 f32.const $43=, 0x0p0 f32.const $44=, 0x0p0 @@ -57,162 +58,130 @@ foo: # @foo f32.const $58=, 0x0p0 f32.const $59=, 0x0p0 f32.const $60=, 0x0p0 - f32.const $61=, 0x0p0 block - i32.eqz $push191=, $0 - br_if 0, $pop191 # 0: down to label0 + i32.eqz $push161=, $0 + br_if 0, $pop161 # 0: down to label0 # BB#1: # %while.body.preheader - i32.const $push164=, 0 - i64.load $push163=, incs($pop164) - tee_local $push162=, $21=, $pop163 - i32.wrap/i64 $push0=, $pop162 - i32.const $push51=, 2 - i32.shl $20=, $pop0, $pop51 - i64.const $push40=, 32 - i64.shr_u $push50=, $21, $pop40 - i32.wrap/i64 $push1=, $pop50 - i32.const $push161=, 2 - i32.shl $19=, $pop1, $pop161 - i32.const $push160=, 0 - i64.load $push159=, incs+8($pop160) - tee_local $push158=, $21=, $pop159 - i32.wrap/i64 $push2=, $pop158 - i32.const $push157=, 2 - i32.shl $18=, $pop2, $pop157 - i64.const $push156=, 32 - i64.shr_u $push49=, $21, $pop156 - i32.wrap/i64 $push3=, $pop49 - i32.const $push155=, 2 - i32.shl $17=, $pop3, $pop155 - i32.const $push154=, 0 - i64.load $push153=, incs+16($pop154) - tee_local $push152=, $21=, $pop153 - i32.wrap/i64 $push4=, $pop152 - i32.const $push151=, 2 - i32.shl $16=, $pop4, $pop151 - i64.const $push150=, 32 - i64.shr_u $push48=, $21, $pop150 - i32.wrap/i64 $push5=, $pop48 - i32.const $push149=, 2 - i32.shl $15=, $pop5, $pop149 - i32.const $push148=, 0 - i64.load $push147=, incs+24($pop148) - tee_local $push146=, $21=, $pop147 - i32.wrap/i64 $push6=, $pop146 - i32.const $push145=, 2 - i32.shl $14=, $pop6, $pop145 - i64.const $push144=, 32 - i64.shr_u $push47=, $21, $pop144 - i32.wrap/i64 $push7=, $pop47 - i32.const $push143=, 2 - i32.shl $13=, $pop7, $pop143 - i32.const $push142=, 0 - i64.load $push141=, incs+32($pop142) - tee_local $push140=, $21=, $pop141 - i32.wrap/i64 $push8=, $pop140 - i32.const $push139=, 2 - i32.shl $12=, $pop8, $pop139 - i64.const $push138=, 32 - i64.shr_u $push46=, $21, $pop138 - i32.wrap/i64 $push9=, $pop46 - i32.const $push137=, 2 - i32.shl $11=, $pop9, $pop137 - i32.const $push136=, 0 - i64.load $push135=, incs+40($pop136) - tee_local $push134=, $21=, $pop135 - i32.wrap/i64 $push10=, $pop134 - i32.const $push133=, 2 - i32.shl $10=, $pop10, $pop133 - i64.const $push132=, 32 - i64.shr_u $push45=, $21, $pop132 - i32.wrap/i64 $push11=, $pop45 - i32.const $push131=, 2 - i32.shl $9=, $pop11, $pop131 - i32.const $push130=, 0 - i64.load $push129=, incs+48($pop130) - tee_local $push128=, $21=, $pop129 - i32.wrap/i64 $push12=, $pop128 - i32.const $push127=, 2 - i32.shl $8=, $pop12, $pop127 - i64.const $push126=, 32 - i64.shr_u $push44=, $21, $pop126 - i32.wrap/i64 $push13=, $pop44 - i32.const $push125=, 2 - i32.shl $7=, $pop13, $pop125 - i32.const $push124=, 0 - i64.load $push123=, incs+56($pop124) - tee_local $push122=, $21=, $pop123 - i32.wrap/i64 $push14=, $pop122 - i32.const $push121=, 2 - i32.shl $6=, $pop14, $pop121 - i64.const $push120=, 32 - i64.shr_u $push43=, $21, $pop120 - i32.wrap/i64 $push15=, $pop43 - i32.const $push119=, 2 - i32.shl $5=, $pop15, $pop119 - i32.const $push118=, 0 - i64.load $push117=, incs+64($pop118) - tee_local $push116=, $21=, $pop117 - i32.wrap/i64 $push16=, $pop116 - i32.const $push115=, 2 - i32.shl $4=, $pop16, $pop115 - i64.const $push114=, 32 - i64.shr_u $push42=, $21, $pop114 - i32.wrap/i64 $push17=, $pop42 - i32.const $push113=, 2 - i32.shl $3=, $pop17, $pop113 - i32.const $push112=, 0 - i64.load $push111=, incs+72($pop112) - tee_local $push110=, $21=, $pop111 - i32.wrap/i64 $push18=, $pop110 - i32.const $push109=, 2 - i32.shl $2=, $pop18, $pop109 - i64.const $push108=, 32 - i64.shr_u $push41=, $21, $pop108 - i32.wrap/i64 $push19=, $pop41 - i32.const $push107=, 2 - i32.shl $1=, $pop19, $pop107 - i32.const $push106=, 0 - i32.load $22=, ptrs($pop106) + i32.const $push134=, 0 + i32.load $push0=, incs($pop134) + i32.const $push40=, 2 + i32.shl $20=, $pop0, $pop40 + i32.const $push133=, 0 + i32.load $push1=, incs+4($pop133) + i32.const $push132=, 2 + i32.shl $19=, $pop1, $pop132 + i32.const $push131=, 0 + i32.load $push2=, incs+8($pop131) + i32.const $push130=, 2 + i32.shl $18=, $pop2, $pop130 + i32.const $push129=, 0 + i32.load $push3=, incs+12($pop129) + i32.const $push128=, 2 + i32.shl $17=, $pop3, $pop128 + i32.const $push127=, 0 + i32.load $push4=, incs+16($pop127) + i32.const $push126=, 2 + i32.shl $16=, $pop4, $pop126 + i32.const $push125=, 0 + i32.load $push5=, incs+20($pop125) + i32.const $push124=, 2 + i32.shl $15=, $pop5, $pop124 + i32.const $push123=, 0 + i32.load $push6=, incs+24($pop123) + i32.const $push122=, 2 + i32.shl $14=, $pop6, $pop122 + i32.const $push121=, 0 + i32.load $push7=, incs+28($pop121) + i32.const $push120=, 2 + i32.shl $13=, $pop7, $pop120 + i32.const $push119=, 0 + i32.load $push8=, incs+32($pop119) + i32.const $push118=, 2 + i32.shl $12=, $pop8, $pop118 + i32.const $push117=, 0 + i32.load $push9=, incs+36($pop117) + i32.const $push116=, 2 + i32.shl $11=, $pop9, $pop116 + i32.const $push115=, 0 + i32.load $push10=, incs+40($pop115) + i32.const $push114=, 2 + i32.shl $10=, $pop10, $pop114 + i32.const $push113=, 0 + i32.load $push11=, incs+44($pop113) + i32.const $push112=, 2 + i32.shl $9=, $pop11, $pop112 + i32.const $push111=, 0 + i32.load $push12=, incs+48($pop111) + i32.const $push110=, 2 + i32.shl $8=, $pop12, $pop110 + i32.const $push109=, 0 + i32.load $push13=, incs+52($pop109) + i32.const $push108=, 2 + i32.shl $7=, $pop13, $pop108 + i32.const $push107=, 0 + i32.load $push14=, incs+56($pop107) + i32.const $push106=, 2 + i32.shl $6=, $pop14, $pop106 i32.const $push105=, 0 - i32.load $23=, ptrs+4($pop105) - i32.const $push104=, 0 - i32.load $24=, ptrs+8($pop104) + i32.load $push15=, incs+60($pop105) + i32.const $push104=, 2 + i32.shl $5=, $pop15, $pop104 i32.const $push103=, 0 - i32.load $25=, ptrs+12($pop103) - i32.const $push102=, 0 - i32.load $26=, ptrs+16($pop102) + i32.load $push16=, incs+64($pop103) + i32.const $push102=, 2 + i32.shl $4=, $pop16, $pop102 i32.const $push101=, 0 - i32.load $27=, ptrs+20($pop101) - i32.const $push100=, 0 - i32.load $28=, ptrs+24($pop100) + i32.load $push17=, incs+68($pop101) + i32.const $push100=, 2 + i32.shl $3=, $pop17, $pop100 i32.const $push99=, 0 - i32.load $29=, ptrs+28($pop99) - i32.const $push98=, 0 - i32.load $30=, ptrs+32($pop98) + i32.load $push18=, incs+72($pop99) + i32.const $push98=, 2 + i32.shl $2=, $pop18, $pop98 i32.const $push97=, 0 - i32.load $31=, ptrs+36($pop97) - i32.const $push96=, 0 - i32.load $32=, ptrs+40($pop96) + i32.load $push19=, incs+76($pop97) + i32.const $push96=, 2 + i32.shl $1=, $pop19, $pop96 i32.const $push95=, 0 - i32.load $33=, ptrs+44($pop95) + i32.load $21=, ptrs($pop95) i32.const $push94=, 0 - i32.load $34=, ptrs+48($pop94) + i32.load $22=, ptrs+4($pop94) i32.const $push93=, 0 - i32.load $35=, ptrs+52($pop93) + i32.load $23=, ptrs+8($pop93) i32.const $push92=, 0 - i32.load $36=, ptrs+56($pop92) + i32.load $24=, ptrs+12($pop92) i32.const $push91=, 0 - i32.load $37=, ptrs+60($pop91) + i32.load $25=, ptrs+16($pop91) i32.const $push90=, 0 - i32.load $38=, ptrs+64($pop90) + i32.load $26=, ptrs+20($pop90) i32.const $push89=, 0 - i32.load $39=, ptrs+68($pop89) + i32.load $27=, ptrs+24($pop89) i32.const $push88=, 0 - i32.load $40=, ptrs+72($pop88) + i32.load $28=, ptrs+28($pop88) i32.const $push87=, 0 - i32.load $41=, ptrs+76($pop87) - f32.const $61=, 0x0p0 + i32.load $29=, ptrs+32($pop87) + i32.const $push86=, 0 + i32.load $30=, ptrs+36($pop86) + i32.const $push85=, 0 + i32.load $31=, ptrs+40($pop85) + i32.const $push84=, 0 + i32.load $32=, ptrs+44($pop84) + i32.const $push83=, 0 + i32.load $33=, ptrs+48($pop83) + i32.const $push82=, 0 + i32.load $34=, ptrs+52($pop82) + i32.const $push81=, 0 + i32.load $35=, ptrs+56($pop81) + i32.const $push80=, 0 + i32.load $36=, ptrs+60($pop80) + i32.const $push79=, 0 + i32.load $37=, ptrs+64($pop79) + i32.const $push78=, 0 + i32.load $38=, ptrs+68($pop78) + i32.const $push77=, 0 + i32.load $39=, ptrs+72($pop77) + i32.const $push76=, 0 + i32.load $40=, ptrs+76($pop76) f32.const $60=, 0x0p0 f32.const $59=, 0x0p0 f32.const $58=, 0x0p0 @@ -232,146 +201,147 @@ foo: # @foo f32.const $44=, 0x0p0 f32.const $43=, 0x0p0 f32.const $42=, 0x0p0 + f32.const $41=, 0x0p0 .LBB1_2: # %while.body # =>This Inner Loop Header: Depth=1 loop # label1: - f32.load $push52=, 0($41) - f32.add $61=, $61, $pop52 - f32.load $push53=, 0($40) - f32.add $60=, $60, $pop53 - f32.load $push54=, 0($39) - f32.add $59=, $59, $pop54 - f32.load $push55=, 0($38) - f32.add $58=, $58, $pop55 - f32.load $push56=, 0($37) - f32.add $57=, $57, $pop56 - f32.load $push57=, 0($36) - f32.add $56=, $56, $pop57 - f32.load $push58=, 0($35) - f32.add $55=, $55, $pop58 - f32.load $push59=, 0($34) - f32.add $54=, $54, $pop59 - f32.load $push60=, 0($33) - f32.add $53=, $53, $pop60 - f32.load $push61=, 0($32) - f32.add $52=, $52, $pop61 - f32.load $push62=, 0($31) - f32.add $51=, $51, $pop62 - f32.load $push63=, 0($30) - f32.add $50=, $50, $pop63 - f32.load $push64=, 0($29) - f32.add $49=, $49, $pop64 - f32.load $push65=, 0($28) - f32.add $48=, $48, $pop65 - f32.load $push66=, 0($27) - f32.add $47=, $47, $pop66 - f32.load $push67=, 0($26) - f32.add $46=, $46, $pop67 - f32.load $push68=, 0($25) - f32.add $45=, $45, $pop68 - f32.load $push69=, 0($24) - f32.add $44=, $44, $pop69 - f32.load $push70=, 0($23) - f32.add $43=, $43, $pop70 - f32.load $push71=, 0($22) - f32.add $42=, $42, $pop71 - i32.add $push39=, $22, $20 - copy_local $22=, $pop39 - i32.add $push38=, $23, $19 - copy_local $23=, $pop38 - i32.add $push37=, $24, $18 - copy_local $24=, $pop37 - i32.add $push36=, $25, $17 - copy_local $25=, $pop36 - i32.add $push35=, $26, $16 - copy_local $26=, $pop35 - i32.add $push34=, $27, $15 - copy_local $27=, $pop34 - i32.add $push33=, $28, $14 - copy_local $28=, $pop33 - i32.add $push32=, $29, $13 - copy_local $29=, $pop32 - i32.add $push31=, $30, $12 - copy_local $30=, $pop31 - i32.add $push30=, $31, $11 - copy_local $31=, $pop30 - i32.add $push29=, $32, $10 - copy_local $32=, $pop29 - i32.add $push28=, $33, $9 - copy_local $33=, $pop28 - i32.add $push27=, $34, $8 - copy_local $34=, $pop27 - i32.add $push26=, $35, $7 - copy_local $35=, $pop26 - i32.add $push25=, $36, $6 - copy_local $36=, $pop25 - i32.add $push24=, $37, $5 - copy_local $37=, $pop24 - i32.add $push23=, $38, $4 - copy_local $38=, $pop23 - i32.add $push22=, $39, $3 - copy_local $39=, $pop22 - i32.add $push21=, $40, $2 - copy_local $40=, $pop21 - i32.add $push20=, $41, $1 - copy_local $41=, $pop20 - i32.const $push167=, -1 - i32.add $push166=, $0, $pop167 - tee_local $push165=, $0=, $pop166 - br_if 0, $pop165 # 0: up to label1 + f32.load $push41=, 0($40) + f32.add $60=, $60, $pop41 + f32.load $push42=, 0($39) + f32.add $59=, $59, $pop42 + f32.load $push43=, 0($38) + f32.add $58=, $58, $pop43 + f32.load $push44=, 0($37) + f32.add $57=, $57, $pop44 + f32.load $push45=, 0($36) + f32.add $56=, $56, $pop45 + f32.load $push46=, 0($35) + f32.add $55=, $55, $pop46 + f32.load $push47=, 0($34) + f32.add $54=, $54, $pop47 + f32.load $push48=, 0($33) + f32.add $53=, $53, $pop48 + f32.load $push49=, 0($32) + f32.add $52=, $52, $pop49 + f32.load $push50=, 0($31) + f32.add $51=, $51, $pop50 + f32.load $push51=, 0($30) + f32.add $50=, $50, $pop51 + f32.load $push52=, 0($29) + f32.add $49=, $49, $pop52 + f32.load $push53=, 0($28) + f32.add $48=, $48, $pop53 + f32.load $push54=, 0($27) + f32.add $47=, $47, $pop54 + f32.load $push55=, 0($26) + f32.add $46=, $46, $pop55 + f32.load $push56=, 0($25) + f32.add $45=, $45, $pop56 + f32.load $push57=, 0($24) + f32.add $44=, $44, $pop57 + f32.load $push58=, 0($23) + f32.add $43=, $43, $pop58 + f32.load $push59=, 0($22) + f32.add $42=, $42, $pop59 + f32.load $push60=, 0($21) + f32.add $41=, $41, $pop60 + i32.add $push39=, $21, $20 + copy_local $21=, $pop39 + i32.add $push38=, $22, $19 + copy_local $22=, $pop38 + i32.add $push37=, $23, $18 + copy_local $23=, $pop37 + i32.add $push36=, $24, $17 + copy_local $24=, $pop36 + i32.add $push35=, $25, $16 + copy_local $25=, $pop35 + i32.add $push34=, $26, $15 + copy_local $26=, $pop34 + i32.add $push33=, $27, $14 + copy_local $27=, $pop33 + i32.add $push32=, $28, $13 + copy_local $28=, $pop32 + i32.add $push31=, $29, $12 + copy_local $29=, $pop31 + i32.add $push30=, $30, $11 + copy_local $30=, $pop30 + i32.add $push29=, $31, $10 + copy_local $31=, $pop29 + i32.add $push28=, $32, $9 + copy_local $32=, $pop28 + i32.add $push27=, $33, $8 + copy_local $33=, $pop27 + i32.add $push26=, $34, $7 + copy_local $34=, $pop26 + i32.add $push25=, $35, $6 + copy_local $35=, $pop25 + i32.add $push24=, $36, $5 + copy_local $36=, $pop24 + i32.add $push23=, $37, $4 + copy_local $37=, $pop23 + i32.add $push22=, $38, $3 + copy_local $38=, $pop22 + i32.add $push21=, $39, $2 + copy_local $39=, $pop21 + i32.add $push20=, $40, $1 + copy_local $40=, $pop20 + i32.const $push137=, -1 + i32.add $push136=, $0, $pop137 + tee_local $push135=, $0=, $pop136 + br_if 0, $pop135 # 0: up to label1 .LBB1_3: # %while.end end_loop # label2: end_block # label0: - i32.const $push190=, 0 - f32.store $drop=, results+4($pop190), $43 - i32.const $push189=, 0 - f32.store $drop=, results($pop189), $42 - i32.const $push188=, 0 - f32.store $drop=, results+8($pop188), $44 - i32.const $push187=, 0 - f32.store $drop=, results+12($pop187), $45 - i32.const $push186=, 0 - f32.store $drop=, results+16($pop186), $46 - i32.const $push185=, 0 - f32.store $drop=, results+20($pop185), $47 - i32.const $push184=, 0 - f32.store $drop=, results+24($pop184), $48 - i32.const $push183=, 0 - f32.store $drop=, results+28($pop183), $49 - i32.const $push182=, 0 - f32.store $drop=, results+32($pop182), $50 - i32.const $push181=, 0 - f32.store $drop=, results+36($pop181), $51 - i32.const $push180=, 0 - f32.store $drop=, results+40($pop180), $52 - i32.const $push179=, 0 - f32.store $drop=, results+44($pop179), $53 - i32.const $push178=, 0 - f32.store $drop=, results+48($pop178), $54 - i32.const $push177=, 0 - f32.store $drop=, results+52($pop177), $55 - i32.const $push176=, 0 - f32.store $drop=, results+56($pop176), $56 - i32.const $push175=, 0 - f32.store $drop=, results+60($pop175), $57 - i32.const $push174=, 0 - f32.store $drop=, results+64($pop174), $58 - i32.const $push173=, 0 - f32.store $drop=, results+68($pop173), $59 - i32.const $push172=, 0 - f32.store $drop=, results+72($pop172), $60 - i32.const $push171=, 0 - f32.store $drop=, results+76($pop171), $61 - i32.const $push81=, 262144 - i32.add $push82=, $62, $pop81 - i32.const $push170=, 262144 - i32.call $push169=, memcpy@FUNCTION, $62, $pop82, $pop170 - tee_local $push168=, $22=, $pop169 - call bar@FUNCTION, $pop168 - i32.const $push78=, 0 - i32.const $push76=, 524288 - i32.add $push77=, $22, $pop76 - i32.store $drop=, __stack_pointer($pop78), $pop77 + i32.const $push160=, 0 + f32.store $drop=, results+4($pop160), $42 + i32.const $push159=, 0 + f32.store $drop=, results($pop159), $41 + i32.const $push158=, 0 + f32.store $drop=, results+8($pop158), $43 + i32.const $push157=, 0 + f32.store $drop=, results+12($pop157), $44 + i32.const $push156=, 0 + f32.store $drop=, results+16($pop156), $45 + i32.const $push155=, 0 + f32.store $drop=, results+20($pop155), $46 + i32.const $push154=, 0 + f32.store $drop=, results+24($pop154), $47 + i32.const $push153=, 0 + f32.store $drop=, results+28($pop153), $48 + i32.const $push152=, 0 + f32.store $drop=, results+32($pop152), $49 + i32.const $push151=, 0 + f32.store $drop=, results+36($pop151), $50 + i32.const $push150=, 0 + f32.store $drop=, results+40($pop150), $51 + i32.const $push149=, 0 + f32.store $drop=, results+44($pop149), $52 + i32.const $push148=, 0 + f32.store $drop=, results+48($pop148), $53 + i32.const $push147=, 0 + f32.store $drop=, results+52($pop147), $54 + i32.const $push146=, 0 + f32.store $drop=, results+56($pop146), $55 + i32.const $push145=, 0 + f32.store $drop=, results+60($pop145), $56 + i32.const $push144=, 0 + f32.store $drop=, results+64($pop144), $57 + i32.const $push143=, 0 + f32.store $drop=, results+68($pop143), $58 + i32.const $push142=, 0 + f32.store $drop=, results+72($pop142), $59 + i32.const $push141=, 0 + f32.store $drop=, results+76($pop141), $60 + i32.const $push70=, 262144 + i32.add $push71=, $61, $pop70 + i32.const $push140=, 262144 + i32.call $push139=, memcpy@FUNCTION, $61, $pop71, $pop140 + tee_local $push138=, $21=, $pop139 + call bar@FUNCTION, $pop138 + i32.const $push67=, 0 + i32.const $push65=, 524288 + i32.add $push66=, $21, $pop65 + i32.store $drop=, __stack_pointer($pop67), $pop66 # fallthrough-return .endfunc .Lfunc_end1: diff --git a/test/torture-s/pr30778.c.s b/test/torture-s/pr30778.c.s index d064caee3..d81bee018 100644 --- a/test/torture-s/pr30778.c.s +++ b/test/torture-s/pr30778.c.s @@ -11,11 +11,11 @@ init_reg_last: # @init_reg_last i32.load $push15=, reg_stat($pop0) tee_local $push14=, $0=, $pop15 i32.const $push13=, 0 - i32.store $drop=, 0($pop14), $pop13 + i32.store $drop=, 0($pop14):p2align=0, $pop13 i32.const $push1=, 8 i32.add $push2=, $0, $pop1 i64.const $push3=, 0 - i64.store $drop=, 0($pop2):p2align=2, $pop3 + i64.store $drop=, 0($pop2):p2align=0, $pop3 i32.const $push4=, 18 i32.add $push5=, $0, $pop4 i32.const $push12=, 0 @@ -23,11 +23,11 @@ init_reg_last: # @init_reg_last i32.const $push6=, 16 i32.add $push7=, $0, $pop6 i32.const $push11=, 0 - i32.store16 $drop=, 0($pop7), $pop11 + i32.store16 $drop=, 0($pop7):p2align=0, $pop11 i32.const $push8=, 4 i32.add $push9=, $0, $pop8 i32.const $push10=, 0 - i32.store $drop=, 0($pop9), $pop10 + i32.store $drop=, 0($pop9):p2align=0, $pop10 # fallthrough-return .endfunc .Lfunc_end0: diff --git a/test/torture-s/pr31169.c.s b/test/torture-s/pr31169.c.s index 3f860b7b7..5c81c94ee 100644 --- a/test/torture-s/pr31169.c.s +++ b/test/torture-s/pr31169.c.s @@ -19,11 +19,11 @@ sign_bit_p: # @sign_bit_p i32.lt_u $push3=, $pop19, $pop2 br_if 0, $pop3 # 0: down to label1 # BB#1: # %if.then - i32.const $5=, -1 + i32.const $3=, -1 i32.const $push21=, -1 i32.const $push9=, 64 i32.sub $push10=, $pop9, $0 - i32.shr_u $3=, $pop21, $pop10 + i32.shr_u $5=, $pop21, $pop10 i32.const $push13=, 1 i32.const $push11=, -33 i32.add $push12=, $0, $pop11 @@ -35,19 +35,19 @@ sign_bit_p: # @sign_bit_p i32.const $push6=, -1 i32.const $push4=, 32 i32.sub $push5=, $pop4, $0 - i32.shr_u $5=, $pop6, $pop5 + i32.shr_u $3=, $pop6, $pop5 i32.const $push8=, 1 i32.const $push22=, -1 i32.add $push7=, $0, $pop22 i32.shl $4=, $pop8, $pop7 + i32.const $5=, 0 i32.const $0=, 0 - i32.const $3=, 0 .LBB0_3: # %if.end end_block # label0: - i32.and $push16=, $3, $1 - i32.eq $push17=, $pop16, $0 - i32.and $push14=, $5, $2 - i32.eq $push15=, $pop14, $4 + i32.and $push16=, $3, $2 + i32.eq $push17=, $pop16, $4 + i32.and $push14=, $5, $1 + i32.eq $push15=, $pop14, $0 i32.and $push18=, $pop17, $pop15 # fallthrough-return: $pop18 .endfunc diff --git a/test/torture-s/pr33870-1.c.s b/test/torture-s/pr33870-1.c.s index db3bbfd94..b9683cf0b 100644 --- a/test/torture-s/pr33870-1.c.s +++ b/test/torture-s/pr33870-1.c.s @@ -7,44 +7,44 @@ sort_pagelist: # @sort_pagelist .param i32 .result i32 - .local 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 $push42=, 0 - i32.const $push39=, 0 - i32.load $push40=, __stack_pointer($pop39) - i32.const $push41=, 160 - i32.sub $push74=, $pop40, $pop41 - tee_local $push73=, $1=, $pop74 - i32.store $drop=, __stack_pointer($pop42), $pop73 - i32.const $push72=, 0 + i32.const $push44=, 0 + i32.const $push41=, 0 + i32.load $push42=, __stack_pointer($pop41) + i32.const $push43=, 160 + i32.sub $push66=, $pop42, $pop43 + tee_local $push65=, $3=, $pop66 + i32.store $drop=, __stack_pointer($pop44), $pop65 + i32.const $push64=, 0 i32.const $push0=, 100 - i32.call $drop=, memset@FUNCTION, $1, $pop72, $pop0 - i32.const $6=, 0 + i32.call $1=, memset@FUNCTION, $3, $pop64, $pop0 + i32.const $3=, 0 block - i32.eqz $push160=, $0 - br_if 0, $pop160 # 0: down to label0 + i32.eqz $push116=, $0 + br_if 0, $pop116 # 0: down to label0 # BB#1: # %while.body.lr.ph - i32.const $push56=, 104 - i32.add $push57=, $1, $pop56 - i32.const $push75=, 32 - i32.add $2=, $pop57, $pop75 - i32.const $push11=, 96 - i32.add $4=, $1, $pop11 + i32.const $push54=, 112 + i32.add $push55=, $1, $pop54 + i32.const $push67=, 32 + i32.add $2=, $pop55, $pop67 + i32.const $push14=, 96 + i32.add $5=, $1, $pop14 .LBB0_2: # %while.body # =>This Loop Header: Depth=1 # Child Loop BB0_3 Depth 2 # Child Loop BB0_6 Depth 3 # Child Loop BB0_19 Depth 2 loop # label1: - copy_local $push81=, $0 - tee_local $push80=, $6=, $pop81 - i32.const $push79=, 32 - i32.add $push78=, $pop80, $pop79 - tee_local $push77=, $7=, $pop78 - i32.load $0=, 0($pop77) - i32.const $push76=, 0 - i32.store $drop=, 0($7), $pop76 - i32.const $5=, 0 + copy_local $push73=, $0 + tee_local $push72=, $3=, $pop73 + i32.const $push71=, 32 + i32.add $push70=, $pop72, $pop71 + tee_local $push69=, $8=, $pop70 + i32.load $0=, 0($pop69) + i32.const $push68=, 0 + i32.store $drop=, 0($8), $pop68 + i32.const $6=, 0 .LBB0_3: # %for.body # Parent Loop BB0_2 Depth=1 # => This Loop Header: Depth=2 @@ -54,361 +54,317 @@ sort_pagelist: # @sort_pagelist block block loop # label7: - i32.const $push86=, 2 - i32.shl $push1=, $5, $pop86 - i32.add $push85=, $1, $pop1 - tee_local $push84=, $3=, $pop85 - i32.load $push83=, 0($pop84) - tee_local $push82=, $7=, $pop83 - i32.eqz $push161=, $pop82 - br_if 2, $pop161 # 2: down to label6 + i32.const $push78=, 2 + i32.shl $push1=, $6, $pop78 + i32.add $push77=, $1, $pop1 + tee_local $push76=, $4=, $pop77 + i32.load $push75=, 0($pop76) + tee_local $push74=, $8=, $pop75 + i32.eqz $push117=, $pop74 + br_if 2, $pop117 # 2: down to label6 # BB#4: # %if.else # in Loop: Header=BB0_3 Depth=2 - i32.store $drop=, 156($1), $7 - i32.store $drop=, 152($1), $6 - i32.const $push87=, 0 - i32.store $drop=, xx($pop87), $2 + i32.const $push79=, 0 + i32.store $drop=, xx($pop79), $2 + i32.const $push56=, 112 + i32.add $push57=, $1, $pop56 + copy_local $7=, $pop57 block block block - i32.eqz $push162=, $6 - br_if 0, $pop162 # 0: down to label11 + i32.eqz $push118=, $3 + br_if 0, $pop118 # 0: down to label11 # BB#5: # %while.body.i.preheader # in Loop: Header=BB0_3 Depth=2 - i32.const $push66=, 104 - i32.add $push67=, $1, $pop66 - copy_local $8=, $pop67 + i32.const $push62=, 112 + i32.add $push63=, $1, $pop62 + copy_local $7=, $pop63 .LBB0_6: # %while.body.i # Parent Loop BB0_2 Depth=1 # Parent Loop BB0_3 Depth=2 # => This Inner Loop Header: Depth=3 loop # label12: - i32.const $push100=, 32 - i32.add $push5=, $8, $pop100 - i32.load $push3=, 4($7) - i32.load $push2=, 4($6) - i32.lt_u $push99=, $pop3, $pop2 - tee_local $push98=, $8=, $pop99 - i32.select $push4=, $7, $6, $pop98 - i32.store $drop=, 0($pop5), $pop4 - i32.const $push68=, 156 - i32.add $push69=, $1, $pop68 - i32.const $push70=, 152 - i32.add $push71=, $1, $pop70 - i32.select $push97=, $pop69, $pop71, $8 - tee_local $push96=, $6=, $pop97 - i32.load $push95=, 0($6) - tee_local $push94=, $8=, $pop95 - i32.const $push93=, 32 - i32.add $push92=, $pop94, $pop93 - tee_local $push91=, $9=, $pop92 - i32.load $push6=, 0($pop91) - i32.store $drop=, 0($pop96), $pop6 - i32.const $push90=, 0 - i32.load $push7=, 0($2) - i32.load $push8=, 0($pop7) - i32.store $drop=, vx($pop90), $pop8 - i32.load $6=, 152($1) - i32.load $push89=, 156($1) - tee_local $push88=, $7=, $pop89 - i32.eqz $push163=, $pop88 - br_if 1, $pop163 # 1: down to label13 -# BB#7: # %while.body.i + block + block + i32.load $push3=, 4($8) + i32.load $push2=, 4($3) + i32.ge_u $push4=, $pop3, $pop2 + br_if 0, $pop4 # 0: down to label15 +# BB#7: # %if.then.i + # in Loop: Header=BB0_6 Depth=3 + i32.const $push81=, 32 + i32.add $push7=, $7, $pop81 + i32.store $drop=, 0($pop7), $8 + i32.const $push80=, 32 + i32.add $push8=, $8, $pop80 + i32.load $9=, 0($pop8) + copy_local $10=, $3 + copy_local $7=, $8 + br 1 # 1: down to label14 +.LBB0_8: # %if.else.i # in Loop: Header=BB0_6 Depth=3 - br_if 0, $6 # 0: up to label12 -.LBB0_8: # %while.end.i + end_block # label15: + i32.const $push83=, 32 + i32.add $push5=, $7, $pop83 + i32.store $drop=, 0($pop5), $3 + i32.const $push82=, 32 + i32.add $push6=, $3, $pop82 + i32.load $10=, 0($pop6) + copy_local $9=, $8 + copy_local $7=, $3 +.LBB0_9: # %if.end.i + # in Loop: Header=BB0_6 Depth=3 + end_block # label14: + i32.const $push84=, 0 + i32.load $push9=, 0($2) + i32.load $push10=, 0($pop9) + i32.store $drop=, vx($pop84), $pop10 + i32.eqz $push119=, $9 + br_if 1, $pop119 # 1: down to label13 +# BB#10: # %if.end.i + # in Loop: Header=BB0_6 Depth=3 + copy_local $3=, $10 + copy_local $8=, $9 + br_if 0, $10 # 0: up to label12 +.LBB0_11: # %merge_pagelist.exit # in Loop: Header=BB0_3 Depth=2 end_loop # label13: - i32.eqz $push164=, $7 - br_if 1, $pop164 # 1: down to label10 -# BB#9: # %if.then14.i - # in Loop: Header=BB0_3 Depth=2 - i32.store $drop=, 0($9), $7 + br_if 1, $9 # 1: down to label10 br 2 # 2: down to label9 -.LBB0_10: # in Loop: Header=BB0_3 Depth=2 +.LBB0_12: # in Loop: Header=BB0_3 Depth=2 end_block # label11: - copy_local $push38=, $2 - i32.store $drop=, 0($pop38), $7 - br 1 # 1: down to label9 -.LBB0_11: # %if.else17.i + copy_local $9=, $8 +.LBB0_13: # %merge_pagelist.exit.thread # in Loop: Header=BB0_3 Depth=2 end_block # label10: - block - i32.eqz $push165=, $6 - br_if 0, $pop165 # 0: down to label14 -# BB#12: # %if.then19.i - # in Loop: Header=BB0_3 Depth=2 - i32.store $drop=, 0($9), $6 - br 1 # 1: down to label9 -.LBB0_13: # %if.else22.i - # in Loop: Header=BB0_3 Depth=2 - end_block # label14: - i32.const $push101=, 0 - i32.store $drop=, 0($9), $pop101 -.LBB0_14: # %merge_pagelist.exit - # in Loop: Header=BB0_3 Depth=2 + copy_local $10=, $9 +.LBB0_14: # in Loop: Header=BB0_3 Depth=2 end_block # label9: - i32.load $6=, 0($2) - i32.const $push106=, 0 - i32.store $drop=, 0($3), $pop106 - i32.const $push105=, 1 - i32.add $push104=, $5, $pop105 - tee_local $push103=, $5=, $pop104 - i32.const $push102=, 24 - i32.lt_s $push9=, $pop103, $pop102 - br_if 0, $pop9 # 0: up to label7 + i32.const $push90=, 32 + i32.add $push11=, $7, $pop90 + i32.store $drop=, 0($pop11), $10 + i32.load $3=, 0($2) + i32.const $push89=, 0 + i32.store $drop=, 0($4), $pop89 + i32.const $push88=, 1 + i32.add $push87=, $6, $pop88 + tee_local $push86=, $6=, $pop87 + i32.const $push85=, 24 + i32.lt_s $push12=, $pop86, $pop85 + br_if 0, $pop12 # 0: up to label7 # BB#15: # %for.end # in Loop: Header=BB0_2 Depth=1 end_loop # label8: - i32.const $push107=, 24 - i32.ne $push10=, $5, $pop107 - br_if 3, $pop10 # 3: down to label3 + i32.const $push91=, 24 + i32.ne $push13=, $6, $pop91 + br_if 3, $pop13 # 3: down to label3 # BB#16: # %if.then9 # in Loop: Header=BB0_2 Depth=1 - i32.load $push112=, 0($4) - tee_local $push111=, $7=, $pop112 - i32.store $drop=, 156($1), $pop111 - i32.store $drop=, 152($1), $6 - i32.const $push110=, 0 - i32.store $drop=, xx($pop110), $2 - i32.const $push109=, 0 - i32.ne $5=, $6, $pop109 - i32.const $push108=, 0 - i32.ne $9=, $7, $pop108 - i32.const $push58=, 104 + i32.load $8=, 0($5) + i32.const $push93=, 0 + i32.store $drop=, xx($pop93), $2 + i32.const $push92=, 0 + i32.ne $6=, $8, $pop92 + i32.const $push58=, 112 i32.add $push59=, $1, $pop58 - copy_local $8=, $pop59 - block - i32.eqz $push166=, $6 - br_if 0, $pop166 # 0: down to label15 + copy_local $7=, $pop59 + i32.eqz $push120=, $3 + br_if 1, $pop120 # 1: down to label5 # BB#17: # %if.then9 # in Loop: Header=BB0_2 Depth=1 - i32.eqz $push167=, $7 - br_if 0, $pop167 # 0: down to label15 -# BB#18: # %while.body.i98.preheader + i32.eqz $push121=, $8 + br_if 1, $pop121 # 1: down to label5 +# BB#18: # %while.body.i84.preheader # in Loop: Header=BB0_2 Depth=1 - i32.const $push60=, 104 + i32.const $push60=, 112 i32.add $push61=, $1, $pop60 - copy_local $8=, $pop61 -.LBB0_19: # %while.body.i98 + copy_local $7=, $pop61 +.LBB0_19: # %while.body.i84 # Parent Loop BB0_2 Depth=1 # => This Inner Loop Header: Depth=2 loop # label16: - i32.const $push127=, 32 - i32.add $push15=, $8, $pop127 - i32.load $push13=, 4($7) - i32.load $push12=, 4($6) - i32.lt_u $push126=, $pop13, $pop12 - tee_local $push125=, $8=, $pop126 - i32.select $push14=, $7, $6, $pop125 - i32.store $drop=, 0($pop15), $pop14 - i32.const $push62=, 156 - i32.add $push63=, $1, $pop62 - i32.const $push64=, 152 - i32.add $push65=, $1, $pop64 - i32.select $push124=, $pop63, $pop65, $8 - tee_local $push123=, $6=, $pop124 - i32.load $push122=, 0($6) - tee_local $push121=, $8=, $pop122 - i32.const $push120=, 32 - i32.add $push16=, $pop121, $pop120 - i32.load $push17=, 0($pop16) - i32.store $drop=, 0($pop123), $pop17 - i32.const $push119=, 0 - i32.load $push18=, 0($2) - i32.load $push19=, 0($pop18) - i32.store $drop=, vx($pop119), $pop19 - i32.load $push118=, 152($1) - tee_local $push117=, $6=, $pop118 - i32.const $push116=, 0 - i32.ne $5=, $pop117, $pop116 - i32.load $push115=, 156($1) - tee_local $push114=, $7=, $pop115 - i32.const $push113=, 0 - i32.ne $9=, $pop114, $pop113 - i32.eqz $push168=, $7 - br_if 1, $pop168 # 1: down to label17 -# BB#20: # %while.body.i98 + block + block + i32.load $push16=, 4($8) + i32.load $push15=, 4($3) + i32.ge_u $push17=, $pop16, $pop15 + br_if 0, $pop17 # 0: down to label19 +# BB#20: # %if.then.i86 # in Loop: Header=BB0_19 Depth=2 - br_if 0, $6 # 0: up to label16 -.LBB0_21: # %while.end.i105 + i32.const $push95=, 32 + i32.add $push20=, $7, $pop95 + i32.store $drop=, 0($pop20), $8 + i32.const $push94=, 32 + i32.add $push21=, $8, $pop94 + i32.load $9=, 0($pop21) + copy_local $10=, $3 + copy_local $7=, $8 + br 1 # 1: down to label18 +.LBB0_21: # %if.else.i88 + # in Loop: Header=BB0_19 Depth=2 + end_block # label19: + i32.const $push97=, 32 + i32.add $push18=, $7, $pop97 + i32.store $drop=, 0($pop18), $3 + i32.const $push96=, 32 + i32.add $push19=, $3, $pop96 + i32.load $10=, 0($pop19) + copy_local $9=, $8 + copy_local $7=, $3 +.LBB0_22: # %if.end.i95 + # in Loop: Header=BB0_19 Depth=2 + end_block # label18: + i32.const $push99=, 0 + i32.load $push22=, 0($2) + i32.load $push23=, 0($pop22) + i32.store $drop=, vx($pop99), $pop23 + i32.const $push98=, 0 + i32.ne $6=, $9, $pop98 + i32.eqz $push122=, $9 + br_if 4, $pop122 # 4: down to label4 +# BB#23: # %if.end.i95 + # in Loop: Header=BB0_19 Depth=2 + copy_local $3=, $10 + copy_local $8=, $9 + br_if 0, $10 # 0: up to label16 + br 4 # 4: down to label4 +.LBB0_24: # %for.end.thread # in Loop: Header=BB0_2 Depth=1 end_loop # label17: - end_block # label15: - i32.eqz $push169=, $9 - br_if 1, $pop169 # 1: down to label5 -# BB#22: # %if.then14.i106 - # in Loop: Header=BB0_2 Depth=1 - i32.const $push128=, 32 - i32.add $push22=, $8, $pop128 - i32.store $drop=, 0($pop22), $7 - br 2 # 2: down to label4 -.LBB0_23: # %for.end.thread - # in Loop: Header=BB0_2 Depth=1 end_block # label6: - i32.store $drop=, 0($3), $6 + i32.store $drop=, 0($4), $3 br 2 # 2: down to label3 -.LBB0_24: # %if.else17.i107 - # in Loop: Header=BB0_2 Depth=1 +.LBB0_25: # in Loop: Header=BB0_2 Depth=1 end_block # label5: - block - i32.eqz $push170=, $5 - br_if 0, $pop170 # 0: down to label18 -# BB#25: # %if.then19.i108 - # in Loop: Header=BB0_2 Depth=1 - i32.const $push129=, 32 - i32.add $push21=, $8, $pop129 - i32.store $drop=, 0($pop21), $6 - br 1 # 1: down to label4 -.LBB0_26: # %if.else22.i109 - # in Loop: Header=BB0_2 Depth=1 - end_block # label18: - i32.const $push131=, 32 - i32.add $push20=, $8, $pop131 - i32.const $push130=, 0 - i32.store $drop=, 0($pop20), $pop130 -.LBB0_27: # %merge_pagelist.exit110 + copy_local $9=, $8 + copy_local $10=, $3 +.LBB0_26: # %merge_pagelist.exit102 # in Loop: Header=BB0_2 Depth=1 end_block # label4: - i32.load $push23=, 0($2) - i32.store $drop=, 0($4), $pop23 -.LBB0_28: # %while.cond.backedge + i32.const $push100=, 32 + i32.add $push25=, $7, $pop100 + i32.select $push24=, $9, $10, $6 + i32.store $drop=, 0($pop25), $pop24 + i32.load $push26=, 0($2) + i32.store $drop=, 0($5), $pop26 +.LBB0_27: # %while.cond.backedge # in Loop: Header=BB0_2 Depth=1 end_block # label3: br_if 0, $0 # 0: up to label1 -# BB#29: # %while.end.loopexit +# BB#28: # %while.end.loopexit end_loop # label2: - i32.load $6=, 0($1) -.LBB0_30: # %while.end + i32.load $3=, 0($1) +.LBB0_29: # %while.end end_block # label0: - i32.const $push46=, 104 - i32.add $push47=, $1, $pop46 - i32.const $push132=, 32 - i32.add $2=, $pop47, $pop132 - i32.const $3=, 1 -.LBB0_31: # %for.body17 - # =>This Loop Header: Depth=1 - # Child Loop BB0_34 Depth 2 - loop # label19: - i32.const $push136=, 2 - i32.shl $push24=, $3, $pop136 - i32.add $push25=, $1, $pop24 - i32.load $7=, 0($pop25) - i32.store $drop=, 156($1), $6 - i32.store $drop=, 152($1), $7 - i32.const $push135=, 0 - i32.store $drop=, xx($pop135), $2 - i32.const $push134=, 0 - i32.ne $9=, $6, $pop134 - i32.const $push133=, 0 - i32.ne $5=, $7, $pop133 - i32.const $push48=, 104 + i32.const $push48=, 112 i32.add $push49=, $1, $pop48 - copy_local $8=, $pop49 - block - i32.eqz $push171=, $6 - br_if 0, $pop171 # 0: down to label21 -# BB#32: # %for.body17 - # in Loop: Header=BB0_31 Depth=1 - i32.eqz $push172=, $7 - br_if 0, $pop172 # 0: down to label21 -# BB#33: # %while.body.i64.preheader - # in Loop: Header=BB0_31 Depth=1 - i32.const $push50=, 104 + i32.const $push101=, 32 + i32.add $2=, $pop49, $pop101 + i32.const $4=, 1 +.LBB0_30: # %for.body17 + # =>This Loop Header: Depth=1 + # Child Loop BB0_33 Depth 2 + loop # label20: + i32.const $push104=, 2 + i32.shl $push27=, $4, $pop104 + i32.add $push28=, $1, $pop27 + i32.load $8=, 0($pop28) + i32.const $push103=, 0 + i32.store $drop=, xx($pop103), $2 + i32.const $push102=, 0 + i32.ne $6=, $3, $pop102 + i32.const $push50=, 112 i32.add $push51=, $1, $pop50 - copy_local $8=, $pop51 -.LBB0_34: # %while.body.i64 - # Parent Loop BB0_31 Depth=1 - # => This Inner Loop Header: Depth=2 - loop # label22: - i32.const $push151=, 32 - i32.add $push29=, $8, $pop151 - i32.load $push27=, 4($6) - i32.load $push26=, 4($7) - i32.lt_u $push150=, $pop27, $pop26 - tee_local $push149=, $8=, $pop150 - i32.select $push28=, $6, $7, $pop149 - i32.store $drop=, 0($pop29), $pop28 - i32.const $push52=, 156 - i32.add $push53=, $1, $pop52 - i32.const $push54=, 152 - i32.add $push55=, $1, $pop54 - i32.select $push148=, $pop53, $pop55, $8 - tee_local $push147=, $6=, $pop148 - i32.load $push146=, 0($6) - tee_local $push145=, $8=, $pop146 - i32.const $push144=, 32 - i32.add $push30=, $pop145, $pop144 - i32.load $push31=, 0($pop30) - i32.store $drop=, 0($pop147), $pop31 - i32.const $push143=, 0 - i32.load $push32=, 0($2) - i32.load $push33=, 0($pop32) - i32.store $drop=, vx($pop143), $pop33 - i32.load $push142=, 152($1) - tee_local $push141=, $7=, $pop142 - i32.const $push140=, 0 - i32.ne $5=, $pop141, $pop140 - i32.load $push139=, 156($1) - tee_local $push138=, $6=, $pop139 - i32.const $push137=, 0 - i32.ne $9=, $pop138, $pop137 - i32.eqz $push173=, $6 - br_if 1, $pop173 # 1: down to label23 -# BB#35: # %while.body.i64 - # in Loop: Header=BB0_34 Depth=2 - br_if 0, $7 # 0: up to label22 -.LBB0_36: # %while.end.i71 - # in Loop: Header=BB0_31 Depth=1 - end_loop # label23: - end_block # label21: + copy_local $7=, $pop51 block block - i32.eqz $push174=, $9 - br_if 0, $pop174 # 0: down to label25 -# BB#37: # %if.then14.i72 - # in Loop: Header=BB0_31 Depth=1 - i32.const $push152=, 32 - i32.add $push36=, $8, $pop152 - i32.store $drop=, 0($pop36), $6 - br 1 # 1: down to label24 -.LBB0_38: # %if.else17.i73 - # in Loop: Header=BB0_31 Depth=1 - end_block # label25: + i32.eqz $push123=, $3 + br_if 0, $pop123 # 0: down to label23 +# BB#31: # %for.body17 + # in Loop: Header=BB0_30 Depth=1 + i32.eqz $push124=, $8 + br_if 0, $pop124 # 0: down to label23 +# BB#32: # %while.body.i54.preheader + # in Loop: Header=BB0_30 Depth=1 + i32.const $push52=, 112 + i32.add $push53=, $1, $pop52 + copy_local $7=, $pop53 +.LBB0_33: # %while.body.i54 + # Parent Loop BB0_30 Depth=1 + # => This Inner Loop Header: Depth=2 + loop # label24: block - i32.eqz $push175=, $5 - br_if 0, $pop175 # 0: down to label26 -# BB#39: # %if.then19.i74 - # in Loop: Header=BB0_31 Depth=1 - i32.const $push153=, 32 - i32.add $push35=, $8, $pop153 - i32.store $drop=, 0($pop35), $7 - br 1 # 1: down to label24 -.LBB0_40: # %if.else22.i75 - # in Loop: Header=BB0_31 Depth=1 + block + i32.load $push30=, 4($3) + i32.load $push29=, 4($8) + i32.ge_u $push31=, $pop30, $pop29 + br_if 0, $pop31 # 0: down to label27 +# BB#34: # %if.then.i56 + # in Loop: Header=BB0_33 Depth=2 + i32.const $push106=, 32 + i32.add $push34=, $7, $pop106 + i32.store $drop=, 0($pop34), $3 + i32.const $push105=, 32 + i32.add $push35=, $3, $pop105 + i32.load $9=, 0($pop35) + copy_local $10=, $8 + copy_local $7=, $3 + br 1 # 1: down to label26 +.LBB0_35: # %if.else.i58 + # in Loop: Header=BB0_33 Depth=2 + end_block # label27: + i32.const $push108=, 32 + i32.add $push32=, $7, $pop108 + i32.store $drop=, 0($pop32), $8 + i32.const $push107=, 32 + i32.add $push33=, $8, $pop107 + i32.load $10=, 0($pop33) + copy_local $9=, $3 + copy_local $7=, $8 +.LBB0_36: # %if.end.i65 + # in Loop: Header=BB0_33 Depth=2 end_block # label26: - i32.const $push155=, 32 - i32.add $push34=, $8, $pop155 - i32.const $push154=, 0 - i32.store $drop=, 0($pop34), $pop154 -.LBB0_41: # %merge_pagelist.exit76 - # in Loop: Header=BB0_31 Depth=1 - end_block # label24: - i32.load $6=, 0($2) - i32.const $push159=, 1 - i32.add $push158=, $3, $pop159 - tee_local $push157=, $3=, $pop158 - i32.const $push156=, 25 - i32.ne $push37=, $pop157, $pop156 - br_if 0, $pop37 # 0: up to label19 -# BB#42: # %for.end22 - end_loop # label20: - i32.const $push45=, 0 - i32.const $push43=, 160 - i32.add $push44=, $1, $pop43 - i32.store $drop=, __stack_pointer($pop45), $pop44 - copy_local $push176=, $6 - # fallthrough-return: $pop176 + i32.const $push110=, 0 + i32.load $push36=, 0($2) + i32.load $push37=, 0($pop36) + i32.store $drop=, vx($pop110), $pop37 + i32.const $push109=, 0 + i32.ne $6=, $9, $pop109 + i32.eqz $push125=, $9 + br_if 3, $pop125 # 3: down to label22 +# BB#37: # %if.end.i65 + # in Loop: Header=BB0_33 Depth=2 + copy_local $8=, $10 + copy_local $3=, $9 + br_if 0, $10 # 0: up to label24 + br 3 # 3: down to label22 +.LBB0_38: # in Loop: Header=BB0_30 Depth=1 + end_loop # label25: + end_block # label23: + copy_local $9=, $3 + copy_local $10=, $8 +.LBB0_39: # %merge_pagelist.exit72 + # in Loop: Header=BB0_30 Depth=1 + end_block # label22: + i32.const $push115=, 32 + i32.add $push39=, $7, $pop115 + i32.select $push38=, $9, $10, $6 + i32.store $drop=, 0($pop39), $pop38 + i32.load $3=, 0($2) + i32.const $push114=, 1 + i32.add $push113=, $4, $pop114 + tee_local $push112=, $4=, $pop113 + i32.const $push111=, 25 + i32.ne $push40=, $pop112, $pop111 + br_if 0, $pop40 # 0: up to label20 +# BB#40: # %for.end22 + end_loop # label21: + i32.const $push47=, 0 + i32.const $push45=, 160 + i32.add $push46=, $1, $pop45 + i32.store $drop=, __stack_pointer($pop47), $pop46 + copy_local $push126=, $3 + # fallthrough-return: $pop126 .endfunc .Lfunc_end0: .size sort_pagelist, .Lfunc_end0-sort_pagelist @@ -468,7 +424,7 @@ main: # @main i32.add $push24=, $0, $pop34 i32.load $push25=, 0($pop24) i32.eq $push26=, $pop35, $pop25 - br_if 0, $pop26 # 0: down to label27 + br_if 0, $pop26 # 0: down to label28 # BB#1: # %if.end i32.const $push33=, 0 i32.const $push31=, 224 @@ -477,7 +433,7 @@ main: # @main i32.const $push40=, 0 return $pop40 .LBB1_2: # %if.then - end_block # label27: + end_block # label28: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr33870.c.s b/test/torture-s/pr33870.c.s index 2e6d0829c..80e7c5c38 100644 --- a/test/torture-s/pr33870.c.s +++ b/test/torture-s/pr33870.c.s @@ -7,381 +7,351 @@ sort_pagelist: # @sort_pagelist .param i32 .result i32 - .local i32, i32, i32, i32, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $push32=, 0 - i32.const $push29=, 0 - i32.load $push30=, __stack_pointer($pop29) - i32.const $push31=, 160 - i32.sub $push66=, $pop30, $pop31 - tee_local $push65=, $1=, $pop66 - i32.store $drop=, __stack_pointer($pop32), $pop65 - i32.const $push64=, 0 + i32.const $push25=, 0 + i32.const $push22=, 0 + i32.load $push23=, __stack_pointer($pop22) + i32.const $push24=, 144 + i32.sub $push47=, $pop23, $pop24 + tee_local $push46=, $11=, $pop47 + i32.store $drop=, __stack_pointer($pop25), $pop46 + i32.const $4=, 0 + i32.const $push45=, 0 i32.const $push0=, 100 - i32.call $drop=, memset@FUNCTION, $1, $pop64, $pop0 - i32.const $7=, 0 + i32.call $1=, memset@FUNCTION, $11, $pop45, $pop0 block - i32.eqz $push139=, $0 - br_if 0, $pop139 # 0: down to label0 + i32.eqz $push103=, $0 + br_if 0, $pop103 # 0: down to label0 # BB#1: # %while.body.lr.ph - i32.const $push46=, 112 - i32.add $push47=, $1, $pop46 - i32.const $push67=, 28 - i32.add $2=, $pop47, $pop67 + i32.const $push35=, 104 + i32.add $push36=, $1, $pop35 + i32.const $push48=, 28 + i32.add $5=, $pop36, $pop48 i32.const $push8=, 96 - i32.add $5=, $1, $pop8 + i32.add $6=, $1, $pop8 .LBB0_2: # %while.body # =>This Loop Header: Depth=1 # Child Loop BB0_3 Depth 2 # Child Loop BB0_6 Depth 3 - # Child Loop BB0_19 Depth 2 + # Child Loop BB0_7 Depth 4 + # Child Loop BB0_17 Depth 2 + # Child Loop BB0_18 Depth 3 loop # label1: - copy_local $push70=, $0 - tee_local $push69=, $7=, $pop70 - i32.load $0=, 28($pop69) - i32.const $push68=, 0 - i32.store $drop=, 28($7), $pop68 - i32.const $6=, 0 + copy_local $push51=, $0 + tee_local $push50=, $8=, $pop51 + i32.load $0=, 28($pop50) + i32.const $push49=, 0 + i32.store $drop=, 28($8), $pop49 + i32.const $7=, 0 .LBB0_3: # %for.body # Parent Loop BB0_2 Depth=1 # => This Loop Header: Depth=2 # Child Loop BB0_6 Depth 3 + # Child Loop BB0_7 Depth 4 block block block block - loop # label7: - i32.const $push75=, 2 - i32.shl $push1=, $6, $pop75 - i32.add $push74=, $1, $pop1 - tee_local $push73=, $3=, $pop74 - i32.load $push72=, 0($pop73) - tee_local $push71=, $8=, $pop72 - i32.eqz $push140=, $pop71 - br_if 2, $pop140 # 2: down to label6 + block + block + loop # label9: + i32.const $push56=, 2 + i32.shl $push1=, $7, $pop56 + i32.add $push55=, $1, $pop1 + tee_local $push54=, $2=, $pop55 + i32.load $push53=, 0($pop54) + tee_local $push52=, $4=, $pop53 + i32.eqz $push104=, $pop52 + br_if 2, $pop104 # 2: down to label8 # BB#4: # %if.else # in Loop: Header=BB0_3 Depth=2 - i32.store $drop=, 156($1), $8 - i32.store $drop=, 152($1), $7 + i32.const $push37=, 104 + i32.add $push38=, $1, $pop37 + copy_local $10=, $pop38 block block - block - i32.eqz $push141=, $7 - br_if 0, $pop141 # 0: down to label11 -# BB#5: # %while.body.i.preheader + i32.eqz $push105=, $8 + br_if 0, $pop105 # 0: down to label12 +# BB#5: # %while.body.lr.ph.i.preheader # in Loop: Header=BB0_3 Depth=2 - i32.const $push58=, 112 - i32.add $push59=, $1, $pop58 - copy_local $9=, $pop59 -.LBB0_6: # %while.body.i + i32.const $push43=, 104 + i32.add $push44=, $1, $pop43 + copy_local $9=, $pop44 +.LBB0_6: # %while.body.lr.ph.i # Parent Loop BB0_2 Depth=1 # Parent Loop BB0_3 Depth=2 - # => This Inner Loop Header: Depth=3 - loop # label12: - i32.load $push3=, 0($8) - i32.load $push2=, 0($7) - i32.lt_u $push83=, $pop3, $pop2 - tee_local $push82=, $4=, $pop83 - i32.select $push4=, $8, $7, $pop82 - i32.store $drop=, 28($9), $pop4 - i32.const $push60=, 156 - i32.add $push61=, $1, $pop60 - i32.const $push62=, 152 - i32.add $push63=, $1, $pop62 - i32.select $push81=, $pop61, $pop63, $4 - tee_local $push80=, $7=, $pop81 - i32.load $push79=, 0($7) - tee_local $push78=, $9=, $pop79 - i32.load $push5=, 28($pop78) - i32.store $drop=, 0($pop80), $pop5 - i32.load $7=, 152($1) - i32.load $push77=, 156($1) - tee_local $push76=, $8=, $pop77 - i32.eqz $push142=, $pop76 - br_if 1, $pop142 # 1: down to label13 -# BB#7: # %while.body.i + # => This Loop Header: Depth=3 + # Child Loop BB0_7 Depth 4 + loop # label13: + copy_local $push58=, $4 + tee_local $push57=, $3=, $pop58 + i32.load $4=, 0($pop57) +.LBB0_7: # %while.body.i + # Parent Loop BB0_2 Depth=1 + # Parent Loop BB0_3 Depth=2 + # Parent Loop BB0_6 Depth=3 + # => This Inner Loop Header: Depth=4 + loop # label15: + copy_local $push60=, $8 + tee_local $push59=, $11=, $pop60 + i32.load $push2=, 0($pop59) + i32.lt_u $push3=, $4, $pop2 + br_if 1, $pop3 # 1: down to label16 +# BB#8: # %if.else.i + # in Loop: Header=BB0_7 Depth=4 + i32.const $push63=, 28 + i32.add $push4=, $9, $pop63 + i32.store $drop=, 0($pop4), $11 + copy_local $9=, $11 + i32.load $push62=, 28($11) + tee_local $push61=, $8=, $pop62 + br_if 0, $pop61 # 0: up to label15 + br 3 # 3: down to label14 +.LBB0_9: # %if.then.i # in Loop: Header=BB0_6 Depth=3 - br_if 0, $7 # 0: up to label12 -.LBB0_8: # %while.end.i - # in Loop: Header=BB0_3 Depth=2 - end_loop # label13: - i32.const $push84=, 28 - i32.add $9=, $9, $pop84 - i32.eqz $push143=, $8 - br_if 1, $pop143 # 1: down to label10 -# BB#9: # %if.then7.i - # in Loop: Header=BB0_3 Depth=2 - i32.store $drop=, 0($9), $8 - br 2 # 2: down to label9 + end_loop # label16: + i32.const $push66=, 28 + i32.add $push5=, $9, $pop66 + i32.store $drop=, 0($pop5), $3 + copy_local $9=, $3 + copy_local $8=, $11 + copy_local $10=, $3 + i32.load $push65=, 28($3) + tee_local $push64=, $4=, $pop65 + br_if 0, $pop64 # 0: up to label13 + br 3 # 3: down to label11 .LBB0_10: # in Loop: Header=BB0_3 Depth=2 - end_block # label11: - copy_local $push28=, $2 - i32.store $drop=, 0($pop28), $8 - br 1 # 1: down to label9 -.LBB0_11: # %if.else9.i - # in Loop: Header=BB0_3 Depth=2 - end_block # label10: - block - i32.eqz $push144=, $7 - br_if 0, $pop144 # 0: down to label14 -# BB#12: # %if.then11.i - # in Loop: Header=BB0_3 Depth=2 - i32.store $drop=, 0($9), $7 - br 1 # 1: down to label9 -.LBB0_13: # %if.else13.i + end_loop # label14: + copy_local $10=, $11 + copy_local $11=, $3 + br 1 # 1: down to label11 +.LBB0_11: # in Loop: Header=BB0_3 Depth=2 + end_block # label12: + copy_local $11=, $4 +.LBB0_12: # %merge_pagelist.exit # in Loop: Header=BB0_3 Depth=2 - end_block # label14: - i32.const $push85=, 0 - i32.store $drop=, 0($9), $pop85 -.LBB0_14: # %merge_pagelist.exit - # in Loop: Header=BB0_3 Depth=2 - end_block # label9: - i32.const $push48=, 112 - i32.add $push49=, $1, $pop48 - i32.const $push93=, 28 - i32.add $push92=, $pop49, $pop93 - tee_local $push91=, $9=, $pop92 - i32.load $7=, 0($pop91) - i32.const $push90=, 0 - i32.store $drop=, 0($3), $pop90 - i32.const $push89=, 1 - i32.add $push88=, $6, $pop89 - tee_local $push87=, $6=, $pop88 - i32.const $push86=, 24 - i32.lt_s $push6=, $pop87, $pop86 - br_if 0, $pop6 # 0: up to label7 -# BB#15: # %for.end + end_block # label11: + i32.store $drop=, 28($10), $11 + i32.load $8=, 0($5) + i32.const $push71=, 0 + i32.store $drop=, 0($2), $pop71 + i32.const $push70=, 1 + i32.add $push69=, $7, $pop70 + tee_local $push68=, $7=, $pop69 + i32.const $push67=, 24 + i32.lt_s $push6=, $pop68, $pop67 + br_if 0, $pop6 # 0: up to label9 +# BB#13: # %for.end # in Loop: Header=BB0_2 Depth=1 - end_loop # label8: - i32.const $push94=, 24 - i32.ne $push7=, $6, $pop94 - br_if 3, $pop7 # 3: down to label3 -# BB#16: # %if.then7 + end_loop # label10: + i32.const $push72=, 24 + i32.ne $push7=, $7, $pop72 + br_if 5, $pop7 # 5: down to label3 +# BB#14: # %if.then7 # in Loop: Header=BB0_2 Depth=1 - i32.load $push98=, 0($5) - tee_local $push97=, $8=, $pop98 - i32.store $drop=, 156($1), $pop97 - i32.store $drop=, 152($1), $7 - i32.const $push96=, 0 - i32.ne $3=, $7, $pop96 - i32.const $push95=, 0 - i32.ne $6=, $8, $pop95 - i32.const $push50=, 112 - i32.add $push51=, $1, $pop50 - copy_local $4=, $pop51 - block - i32.eqz $push145=, $7 - br_if 0, $pop145 # 0: down to label15 -# BB#17: # %if.then7 + i32.load $4=, 0($6) + i32.eqz $push106=, $8 + br_if 1, $pop106 # 1: down to label7 +# BB#15: # %if.then7 # in Loop: Header=BB0_2 Depth=1 - i32.eqz $push146=, $8 - br_if 0, $pop146 # 0: down to label15 -# BB#18: # %while.body.i92.preheader + i32.eqz $push107=, $4 + br_if 1, $pop107 # 1: down to label7 +# BB#16: # %while.body.lr.ph.i79.preheader # in Loop: Header=BB0_2 Depth=1 - i32.const $push52=, 112 - i32.add $push53=, $1, $pop52 - copy_local $4=, $pop53 -.LBB0_19: # %while.body.i92 + i32.const $push39=, 104 + i32.add $push40=, $1, $pop39 + copy_local $9=, $pop40 + copy_local $11=, $8 +.LBB0_17: # %while.body.lr.ph.i79 # Parent Loop BB0_2 Depth=1 - # => This Inner Loop Header: Depth=2 - loop # label16: - i32.load $push10=, 0($8) - i32.load $push9=, 0($7) - i32.lt_u $push110=, $pop10, $pop9 - tee_local $push109=, $6=, $pop110 - i32.select $push11=, $8, $7, $pop109 - i32.store $drop=, 28($4), $pop11 - i32.const $push54=, 156 - i32.add $push55=, $1, $pop54 - i32.const $push56=, 152 - i32.add $push57=, $1, $pop56 - i32.select $push108=, $pop55, $pop57, $6 - tee_local $push107=, $7=, $pop108 - i32.load $push106=, 0($7) - tee_local $push105=, $4=, $pop106 - i32.load $push12=, 28($pop105) - i32.store $drop=, 0($pop107), $pop12 - i32.load $push104=, 152($1) - tee_local $push103=, $7=, $pop104 - i32.const $push102=, 0 - i32.ne $3=, $pop103, $pop102 - i32.load $push101=, 156($1) - tee_local $push100=, $8=, $pop101 - i32.const $push99=, 0 - i32.ne $6=, $pop100, $pop99 - i32.eqz $push147=, $8 - br_if 1, $pop147 # 1: down to label17 -# BB#20: # %while.body.i92 - # in Loop: Header=BB0_19 Depth=2 - br_if 0, $7 # 0: up to label16 -.LBB0_21: # %while.end.i99 + # => This Loop Header: Depth=2 + # Child Loop BB0_18 Depth 3 + loop # label17: + copy_local $push74=, $4 + tee_local $push73=, $3=, $pop74 + i32.load $4=, 0($pop73) +.LBB0_18: # %while.body.i85 + # Parent Loop BB0_2 Depth=1 + # Parent Loop BB0_17 Depth=2 + # => This Inner Loop Header: Depth=3 + loop # label19: + copy_local $push76=, $11 + tee_local $push75=, $8=, $pop76 + i32.load $push9=, 0($pop75) + i32.lt_u $push10=, $4, $pop9 + br_if 1, $pop10 # 1: down to label20 +# BB#19: # %if.else.i91 + # in Loop: Header=BB0_18 Depth=3 + i32.const $push79=, 28 + i32.add $push11=, $9, $pop79 + i32.store $drop=, 0($pop11), $8 + copy_local $9=, $8 + i32.load $push78=, 28($8) + tee_local $push77=, $11=, $pop78 + br_if 0, $pop77 # 0: up to label19 + br 6 # 6: down to label6 +.LBB0_20: # %if.then.i88 + # in Loop: Header=BB0_17 Depth=2 + end_loop # label20: + i32.const $push82=, 28 + i32.add $push12=, $9, $pop82 + i32.store $drop=, 0($pop12), $3 + copy_local $9=, $3 + copy_local $11=, $8 + i32.load $push81=, 28($3) + tee_local $push80=, $4=, $pop81 + br_if 0, $pop80 # 0: up to label17 + br 6 # 6: down to label4 +.LBB0_21: # %for.end.thread # in Loop: Header=BB0_2 Depth=1 - end_loop # label17: - end_block # label15: - i32.eqz $push148=, $6 - br_if 1, $pop148 # 1: down to label5 -# BB#22: # %if.then7.i100 + end_loop # label18: + end_block # label8: + i32.store $drop=, 0($2), $8 + br 4 # 4: down to label3 +.LBB0_22: # %while.end.i96 # in Loop: Header=BB0_2 Depth=1 - i32.const $push111=, 28 - i32.add $push15=, $4, $pop111 - i32.store $drop=, 0($pop15), $8 + end_block # label7: + i32.const $push41=, 104 + i32.add $push42=, $1, $pop41 + copy_local $push84=, $pop42 + tee_local $push83=, $11=, $pop84 + copy_local $3=, $pop83 + br_if 1, $4 # 1: down to label5 br 2 # 2: down to label4 -.LBB0_23: # %for.end.thread - # in Loop: Header=BB0_2 Depth=1 +.LBB0_23: # in Loop: Header=BB0_2 Depth=1 end_block # label6: - i32.store $drop=, 0($3), $7 - br 2 # 2: down to label3 -.LBB0_24: # %if.else9.i101 + copy_local $11=, $8 + copy_local $4=, $3 +.LBB0_24: # %while.end.thread.i99 # in Loop: Header=BB0_2 Depth=1 end_block # label5: - block - i32.eqz $push149=, $3 - br_if 0, $pop149 # 0: down to label18 -# BB#25: # %if.then11.i102 - # in Loop: Header=BB0_2 Depth=1 - i32.const $push112=, 28 - i32.add $push14=, $4, $pop112 - i32.store $drop=, 0($pop14), $7 - br 1 # 1: down to label4 -.LBB0_26: # %if.else13.i103 - # in Loop: Header=BB0_2 Depth=1 - end_block # label18: - i32.const $push114=, 28 - i32.add $push13=, $4, $pop114 - i32.const $push113=, 0 - i32.store $drop=, 0($pop13), $pop113 -.LBB0_27: # %merge_pagelist.exit105 + copy_local $3=, $11 + copy_local $8=, $4 +.LBB0_25: # %merge_pagelist.exit103 # in Loop: Header=BB0_2 Depth=1 end_block # label4: - i32.load $push16=, 0($9) - i32.store $drop=, 0($5), $pop16 -.LBB0_28: # %while.cond.backedge + i32.store $drop=, 28($3), $8 + i32.load $push13=, 0($5) + i32.store $drop=, 0($6), $pop13 +.LBB0_26: # %while.cond.backedge # in Loop: Header=BB0_2 Depth=1 end_block # label3: br_if 0, $0 # 0: up to label1 -# BB#29: # %while.end.loopexit +# BB#27: # %while.end.loopexit end_loop # label2: - i32.load $7=, 0($1) -.LBB0_30: # %while.end + i32.load $4=, 0($1) +.LBB0_28: # %while.end end_block # label0: - i32.const $3=, 1 -.LBB0_31: # %for.body15 + i32.const $10=, 1 +.LBB0_29: # %for.body15 # =>This Loop Header: Depth=1 - # Child Loop BB0_34 Depth 2 - loop # label19: - i32.const $push117=, 2 - i32.shl $push17=, $3, $pop117 - i32.add $push18=, $1, $pop17 - i32.load $8=, 0($pop18) - i32.store $drop=, 156($1), $7 - i32.store $drop=, 152($1), $8 - i32.const $push116=, 0 - i32.ne $4=, $7, $pop116 - i32.const $push115=, 0 - i32.ne $6=, $8, $pop115 - i32.const $push36=, 112 - i32.add $push37=, $1, $pop36 - copy_local $9=, $pop37 + # Child Loop BB0_32 Depth 2 + # Child Loop BB0_33 Depth 3 + loop # label21: + i32.const $push85=, 2 + i32.shl $push14=, $10, $pop85 + i32.add $push15=, $1, $pop14 + i32.load $11=, 0($pop15) block - i32.eqz $push150=, $7 - br_if 0, $pop150 # 0: down to label21 -# BB#32: # %for.body15 - # in Loop: Header=BB0_31 Depth=1 - i32.eqz $push151=, $8 - br_if 0, $pop151 # 0: down to label21 -# BB#33: # %while.body.i59.preheader - # in Loop: Header=BB0_31 Depth=1 - i32.const $push38=, 112 - i32.add $push39=, $1, $pop38 - copy_local $9=, $pop39 -.LBB0_34: # %while.body.i59 - # Parent Loop BB0_31 Depth=1 - # => This Inner Loop Header: Depth=2 - loop # label22: - i32.load $push20=, 0($7) - i32.load $push19=, 0($8) - i32.lt_u $push129=, $pop20, $pop19 - tee_local $push128=, $4=, $pop129 - i32.select $push21=, $7, $8, $pop128 - i32.store $drop=, 28($9), $pop21 - i32.const $push40=, 156 - i32.add $push41=, $1, $pop40 - i32.const $push42=, 152 - i32.add $push43=, $1, $pop42 - i32.select $push127=, $pop41, $pop43, $4 - tee_local $push126=, $7=, $pop127 - i32.load $push125=, 0($7) - tee_local $push124=, $9=, $pop125 - i32.load $push22=, 28($pop124) - i32.store $drop=, 0($pop126), $pop22 - i32.load $push123=, 152($1) - tee_local $push122=, $8=, $pop123 - i32.const $push121=, 0 - i32.ne $6=, $pop122, $pop121 - i32.load $push120=, 156($1) - tee_local $push119=, $7=, $pop120 - i32.const $push118=, 0 - i32.ne $4=, $pop119, $pop118 - i32.eqz $push152=, $7 - br_if 1, $pop152 # 1: down to label23 -# BB#35: # %while.body.i59 - # in Loop: Header=BB0_34 Depth=2 - br_if 0, $8 # 0: up to label22 -.LBB0_36: # %while.end.i66 - # in Loop: Header=BB0_31 Depth=1 - end_loop # label23: - end_block # label21: block block - i32.eqz $push153=, $4 - br_if 0, $pop153 # 0: down to label25 -# BB#37: # %if.then7.i67 - # in Loop: Header=BB0_31 Depth=1 - i32.const $push130=, 28 - i32.add $push25=, $9, $pop130 - i32.store $drop=, 0($pop25), $7 - br 1 # 1: down to label24 -.LBB0_38: # %if.else9.i68 - # in Loop: Header=BB0_31 Depth=1 - end_block # label25: block - i32.eqz $push154=, $6 - br_if 0, $pop154 # 0: down to label26 -# BB#39: # %if.then11.i69 - # in Loop: Header=BB0_31 Depth=1 - i32.const $push131=, 28 - i32.add $push24=, $9, $pop131 - i32.store $drop=, 0($pop24), $8 - br 1 # 1: down to label24 -.LBB0_40: # %if.else13.i70 - # in Loop: Header=BB0_31 Depth=1 + i32.eqz $push108=, $4 + br_if 0, $pop108 # 0: down to label26 +# BB#30: # %for.body15 + # in Loop: Header=BB0_29 Depth=1 + i32.eqz $push109=, $11 + br_if 0, $pop109 # 0: down to label26 +# BB#31: # %while.body.lr.ph.i47.preheader + # in Loop: Header=BB0_29 Depth=1 + i32.const $push29=, 104 + i32.add $push30=, $1, $pop29 + copy_local $9=, $pop30 + copy_local $8=, $11 +.LBB0_32: # %while.body.lr.ph.i47 + # Parent Loop BB0_29 Depth=1 + # => This Loop Header: Depth=2 + # Child Loop BB0_33 Depth 3 + loop # label27: + copy_local $push87=, $4 + tee_local $push86=, $3=, $pop87 + i32.load $4=, 0($pop86) +.LBB0_33: # %while.body.i53 + # Parent Loop BB0_29 Depth=1 + # Parent Loop BB0_32 Depth=2 + # => This Inner Loop Header: Depth=3 + loop # label29: + copy_local $push89=, $8 + tee_local $push88=, $11=, $pop89 + i32.load $push16=, 0($pop88) + i32.lt_u $push17=, $4, $pop16 + br_if 1, $pop17 # 1: down to label30 +# BB#34: # %if.else.i59 + # in Loop: Header=BB0_33 Depth=3 + i32.const $push92=, 28 + i32.add $push18=, $9, $pop92 + i32.store $drop=, 0($pop18), $11 + copy_local $9=, $11 + i32.load $push91=, 28($11) + tee_local $push90=, $8=, $pop91 + br_if 0, $pop90 # 0: up to label29 + br 5 # 5: down to label25 +.LBB0_35: # %if.then.i56 + # in Loop: Header=BB0_32 Depth=2 + end_loop # label30: + i32.const $push95=, 28 + i32.add $push19=, $9, $pop95 + i32.store $drop=, 0($pop19), $3 + copy_local $9=, $3 + copy_local $8=, $11 + i32.load $push94=, 28($3) + tee_local $push93=, $4=, $pop94 + br_if 0, $pop93 # 0: up to label27 + br 5 # 5: down to label23 +.LBB0_36: # %while.end.i64 + # in Loop: Header=BB0_29 Depth=1 + end_loop # label28: end_block # label26: - i32.const $push133=, 28 - i32.add $push23=, $9, $pop133 - i32.const $push132=, 0 - i32.store $drop=, 0($pop23), $pop132 -.LBB0_41: # %merge_pagelist.exit72 - # in Loop: Header=BB0_31 Depth=1 - end_block # label24: - i32.const $push44=, 112 - i32.add $push45=, $1, $pop44 - i32.const $push138=, 28 - i32.add $push27=, $pop45, $pop138 - i32.load $7=, 0($pop27) - i32.const $push137=, 1 - i32.add $push136=, $3, $pop137 - tee_local $push135=, $3=, $pop136 - i32.const $push134=, 25 - i32.ne $push26=, $pop135, $pop134 - br_if 0, $pop26 # 0: up to label19 -# BB#42: # %for.end20 - end_loop # label20: - i32.const $push35=, 0 - i32.const $push33=, 160 + i32.const $push33=, 104 i32.add $push34=, $1, $pop33 - i32.store $drop=, __stack_pointer($pop35), $pop34 - copy_local $push155=, $7 - # fallthrough-return: $pop155 + copy_local $push97=, $pop34 + tee_local $push96=, $8=, $pop97 + copy_local $3=, $pop96 + br_if 1, $4 # 1: down to label24 + br 2 # 2: down to label23 +.LBB0_37: # in Loop: Header=BB0_29 Depth=1 + end_block # label25: + copy_local $8=, $11 + copy_local $4=, $3 +.LBB0_38: # %while.end.thread.i67 + # in Loop: Header=BB0_29 Depth=1 + end_block # label24: + copy_local $3=, $8 + copy_local $11=, $4 +.LBB0_39: # %merge_pagelist.exit71 + # in Loop: Header=BB0_29 Depth=1 + end_block # label23: + i32.store $drop=, 28($3), $11 + i32.const $push31=, 104 + i32.add $push32=, $1, $pop31 + i32.const $push102=, 28 + i32.add $push21=, $pop32, $pop102 + i32.load $4=, 0($pop21) + i32.const $push101=, 1 + i32.add $push100=, $10, $pop101 + tee_local $push99=, $10=, $pop100 + i32.const $push98=, 25 + i32.ne $push20=, $pop99, $pop98 + br_if 0, $pop20 # 0: up to label21 +# BB#40: # %for.end20 + end_loop # label22: + i32.const $push28=, 0 + i32.const $push26=, 144 + i32.add $push27=, $1, $pop26 + i32.store $drop=, __stack_pointer($pop28), $pop27 + copy_local $push110=, $4 + # fallthrough-return: $pop110 .endfunc .Lfunc_end0: .size sort_pagelist, .Lfunc_end0-sort_pagelist @@ -431,7 +401,7 @@ main: # @main tee_local $push25=, $0=, $pop26 i32.load $push16=, 28($0) i32.eq $push17=, $pop25, $pop16 - br_if 0, $pop17 # 0: down to label27 + br_if 0, $pop17 # 0: down to label31 # BB#1: # %if.end i32.const $push24=, 0 i32.const $push22=, 208 @@ -440,7 +410,7 @@ main: # @main i32.const $push30=, 0 return $pop30 .LBB1_2: # %if.then - end_block # label27: + end_block # label31: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr36339.c.s b/test/torture-s/pr36339.c.s index 02e2051c5..d76a5da20 100644 --- a/test/torture-s/pr36339.c.s +++ b/test/torture-s/pr36339.c.s @@ -43,23 +43,26 @@ check_a: # @check_a .result i32 .local i32 # BB#0: # %entry - i32.const $1=, -1 block - i32.const $push7=, -1 - i32.add $push0=, $0, $pop7 - i32.load $push1=, 0($pop0) - i32.const $push2=, 42 - i32.ne $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label0 + block + i32.const $push0=, -1 + i32.add $push1=, $0, $pop0 + i32.load $push2=, 0($pop1) + i32.const $push3=, 42 + i32.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label1 # BB#1: # %land.lhs.true - i32.const $push6=, -1 - i32.const $push5=, 0 - i32.load $push4=, 3($0) - i32.select $1=, $pop6, $pop5, $pop4 -.LBB1_2: # %cleanup + i32.const $1=, 0 + i32.load $push5=, 3($0) + i32.eqz $push6=, $pop5 + br_if 1, $pop6 # 1: down to label0 +.LBB1_2: # %if.end + end_block # label1: + i32.const $1=, -1 +.LBB1_3: # %cleanup end_block # label0: - copy_local $push8=, $1 - # fallthrough-return: $pop8 + copy_local $push7=, $1 + # fallthrough-return: $pop7 .endfunc .Lfunc_end1: .size check_a, .Lfunc_end1-check_a @@ -76,12 +79,12 @@ main: # @main i32.call $push1=, try_a@FUNCTION, $pop0 i32.const $push2=, -1 i32.le_s $push3=, $pop1, $pop2 - br_if 0, $pop3 # 0: down to label1 + br_if 0, $pop3 # 0: down to label2 # BB#1: # %if.end i32.const $push4=, 0 return $pop4 .LBB2_2: # %if.then - end_block # label1: + end_block # label2: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr37125.c.s b/test/torture-s/pr37125.c.s index 454abd0bc..4e9386b98 100644 --- a/test/torture-s/pr37125.c.s +++ b/test/torture-s/pr37125.c.s @@ -9,11 +9,15 @@ func_44: # @func_44 # BB#0: # %entry block i32.const $push0=, -9 - i32.mul $push1=, $0, $pop0 - i32.const $push3=, -9 - i32.rem_u $push2=, $pop1, $pop3 - i32.eqz $push4=, $pop2 - br_if 0, $pop4 # 0: down to label0 + i32.mul $push7=, $0, $pop0 + tee_local $push6=, $0=, $pop7 + i32.const $push2=, 9 + i32.add $push3=, $0, $pop2 + i32.const $push5=, -9 + i32.lt_u $push1=, $0, $pop5 + i32.select $push4=, $pop6, $pop3, $pop1 + i32.eqz $push8=, $pop4 + br_if 0, $pop8 # 0: down to label0 # BB#1: # %if.end return .LBB0_2: # %if.then diff --git a/test/torture-s/pr38151.c.s b/test/torture-s/pr38151.c.s index 12f0bd0e2..30620ead3 100644 --- a/test/torture-s/pr38151.c.s +++ b/test/torture-s/pr38151.c.s @@ -6,65 +6,58 @@ .type check2848va,@function check2848va: # @check2848va .param i32, i32 - .local i32, i64, i64, i32 + .local i32, i32 # BB#0: # %entry - i32.const $push21=, 0 - i32.load $push22=, __stack_pointer($pop21) - i32.const $push23=, 16 - i32.sub $push33=, $pop22, $pop23 - tee_local $push32=, $5=, $pop33 - i32.store $drop=, 12($pop32), $1 + i32.const $push19=, 0 + i32.load $push20=, __stack_pointer($pop19) + i32.const $push21=, 16 + i32.sub $push26=, $pop20, $pop21 + tee_local $push25=, $3=, $pop26 + i32.store $drop=, 12($pop25), $1 i32.const $push0=, 15 i32.add $push1=, $1, $pop0 i32.const $push2=, -16 - i32.and $push31=, $pop1, $pop2 - tee_local $push30=, $1=, $pop31 + i32.and $push24=, $pop1, $pop2 + tee_local $push23=, $1=, $pop24 i32.const $push3=, 16 - i32.add $push4=, $pop30, $pop3 - i32.store $drop=, 12($5), $pop4 - i32.const $push29=, 0 - i64.load $push28=, s2848($pop29) - tee_local $push27=, $4=, $pop28 - i64.const $push8=, 32 - i64.shr_u $push9=, $pop27, $pop8 - i32.wrap/i64 $5=, $pop9 + i32.add $push4=, $pop23, $pop3 + i32.store $drop=, 12($3), $pop4 i32.load $2=, 8($1) - i64.load $push26=, 0($1) - tee_local $push25=, $3=, $pop26 - i64.const $push24=, 32 - i64.shr_u $push10=, $pop25, $pop24 - i32.wrap/i64 $1=, $pop10 + i32.load $3=, 4($1) block - i32.wrap/i64 $push6=, $4 - i32.wrap/i64 $push5=, $3 + i32.const $push22=, 0 + i32.load $push6=, s2848($pop22) + i32.load $push5=, 0($1) i32.eq $push7=, $pop6, $pop5 br_if 0, $pop7 # 0: down to label0 # BB#1: # %if.then - i32.const $push35=, 0 - i32.const $push34=, 0 - i32.load $push11=, fails($pop34) - i32.const $push12=, 1 - i32.add $push13=, $pop11, $pop12 - i32.store $drop=, fails($pop35), $pop13 + i32.const $push28=, 0 + i32.const $push27=, 0 + i32.load $push8=, fails($pop27) + i32.const $push9=, 1 + i32.add $push10=, $pop8, $pop9 + i32.store $drop=, fails($pop28), $pop10 .LBB0_2: # %if.end end_block # label0: block block - i32.ne $push15=, $5, $1 - br_if 0, $pop15 # 0: down to label2 + i32.const $push29=, 0 + i32.load $push12=, s2848+4($pop29) + i32.ne $push13=, $pop12, $3 + br_if 0, $pop13 # 0: down to label2 # BB#3: # %if.end - i32.const $push36=, 0 - i32.load $push14=, s2848+8($pop36) - i32.eq $push16=, $pop14, $2 - br_if 1, $pop16 # 1: down to label1 + i32.const $push30=, 0 + i32.load $push11=, s2848+8($pop30) + i32.eq $push14=, $pop11, $2 + br_if 1, $pop14 # 1: down to label1 .LBB0_4: # %if.then2 end_block # label2: - i32.const $push17=, 0 - i32.const $push37=, 0 - i32.load $push18=, fails($pop37) - i32.const $push19=, 1 - i32.add $push20=, $pop18, $pop19 - i32.store $drop=, fails($pop17), $pop20 + i32.const $push15=, 0 + i32.const $push31=, 0 + i32.load $push16=, fails($pop31) + i32.const $push17=, 1 + i32.add $push18=, $pop16, $pop17 + i32.store $drop=, fails($pop15), $pop18 .LBB0_5: # %if.end4 end_block # label1: # fallthrough-return diff --git a/test/torture-s/pr39100.c.s b/test/torture-s/pr39100.c.s index 392265e01..ab96018f8 100644 --- a/test/torture-s/pr39100.c.s +++ b/test/torture-s/pr39100.c.s @@ -7,92 +7,91 @@ foo: # @foo .param i32, i32 .result i32 - .local i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $3=, 0 - i32.const $push11=, 0 - i32.load $push12=, __stack_pointer($pop11) - i32.const $push13=, 16 - i32.sub $push25=, $pop12, $pop13 - tee_local $push24=, $6=, $pop25 - i32.const $push23=, 0 - i32.store $drop=, 12($pop24), $pop23 - i32.const $push14=, 12 - i32.add $push15=, $6, $pop14 - i32.store $drop=, 8($6), $pop15 - i32.const $push22=, 0 - i32.store $drop=, 4($6), $pop22 - i32.const $push16=, 4 - i32.add $push17=, $6, $pop16 - i32.store $drop=, 0($6), $pop17 + i32.const $push8=, 0 + i32.load $push9=, __stack_pointer($pop8) + i32.const $push10=, 16 + i32.sub $push22=, $pop9, $pop10 + tee_local $push21=, $8=, $pop22 + i32.const $push20=, 0 + i32.store $drop=, 12($pop21), $pop20 + i32.const $push19=, 0 + i32.store $drop=, 8($8), $pop19 block block - i32.eqz $push33=, $1 - br_if 0, $pop33 # 0: down to label1 + i32.eqz $push31=, $1 + br_if 0, $pop31 # 0: down to label1 # BB#1: # %while.body.lr.ph + i32.const $push15=, 12 + i32.add $push16=, $8, $pop15 + copy_local $6=, $pop16 + i32.const $push17=, 8 + i32.add $push18=, $8, $pop17 + copy_local $5=, $pop18 i32.const $push2=, 6 i32.add $4=, $0, $pop2 .LBB0_2: # %while.body # =>This Inner Loop Header: Depth=1 loop # label2: - i32.const $push27=, 4 - i32.add $2=, $1, $pop27 + i32.const $push24=, 4 + i32.add $2=, $1, $pop24 i32.load $3=, 4($1) block block i32.load8_u $push0=, 0($1) - i32.const $push26=, 1 - i32.and $push1=, $pop0, $pop26 + i32.const $push23=, 1 + i32.and $push1=, $pop0, $pop23 br_if 0, $pop1 # 0: down to label5 # BB#3: # %if.else # in Loop: Header=BB0_2 Depth=1 - i32.const $push31=, 4 - i32.add $push30=, $0, $pop31 - tee_local $push29=, $5=, $pop30 - i32.load16_u $push5=, 0($5) - i32.const $push28=, 1 - i32.add $push6=, $pop5, $pop28 - i32.store16 $drop=, 0($pop29), $pop6 - copy_local $5=, $6 + i32.const $push28=, 4 + i32.add $push27=, $0, $pop28 + tee_local $push26=, $7=, $pop27 + i32.load16_u $push5=, 0($7) + i32.const $push25=, 1 + i32.add $push6=, $pop5, $pop25 + i32.store16 $drop=, 0($pop26), $pop6 + copy_local $7=, $5 + copy_local $5=, $2 br 1 # 1: down to label4 .LBB0_4: # %if.then # in Loop: Header=BB0_2 Depth=1 end_block # label5: i32.load16_u $push3=, 0($4) - i32.const $push32=, 1 - i32.add $push4=, $pop3, $pop32 + i32.const $push29=, 1 + i32.add $push4=, $pop3, $pop29 i32.store16 $drop=, 0($4), $pop4 - i32.const $push20=, 8 - i32.add $push21=, $6, $pop20 - copy_local $5=, $pop21 + copy_local $7=, $6 + copy_local $6=, $2 .LBB0_5: # %if.end # in Loop: Header=BB0_2 Depth=1 end_block # label4: - i32.load $push7=, 0($5) - i32.store $drop=, 0($pop7), $1 - i32.store $drop=, 0($5), $2 + i32.store $drop=, 0($7), $1 copy_local $1=, $3 br_if 0, $3 # 0: up to label2 # BB#6: # %while.end.loopexit end_loop # label3: - i32.load $1=, 8($6) - i32.load $3=, 4($6) + i32.load $1=, 8($8) br 1 # 1: down to label0 -.LBB0_7: # %entry.while.end_crit_edge +.LBB0_7: end_block # label1: - i32.const $push18=, 12 - i32.add $push19=, $6, $pop18 - copy_local $1=, $pop19 + i32.const $push11=, 8 + i32.add $push12=, $8, $pop11 + copy_local $5=, $pop12 + i32.const $push13=, 12 + i32.add $push14=, $8, $pop13 + copy_local $6=, $pop14 + i32.const $1=, 0 .LBB0_8: # %while.end end_block # label0: - i32.store $drop=, 0($1), $3 - i32.load $push9=, 0($6) - i32.const $push8=, 0 - i32.store $drop=, 0($pop9), $pop8 - i32.load $push10=, 12($6) - i32.store $drop=, 0($0), $pop10 - copy_local $push34=, $0 - # fallthrough-return: $pop34 + i32.store $drop=, 0($6), $1 + i32.const $push30=, 0 + i32.store $drop=, 0($5), $pop30 + i32.load $push7=, 12($8) + i32.store $drop=, 0($0), $pop7 + copy_local $push32=, $0 + # fallthrough-return: $pop32 .endfunc .Lfunc_end0: .size foo, .Lfunc_end0-foo @@ -103,54 +102,60 @@ foo: # @foo .type main,@function main: # @main .result i32 - .local i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $push17=, 0 - i32.const $push14=, 0 - i32.load $push15=, __stack_pointer($pop14) - i32.const $push16=, 32 - i32.sub $push27=, $pop15, $pop16 - tee_local $push26=, $1=, $pop27 - i32.store $drop=, __stack_pointer($pop17), $pop26 + i32.const $push16=, 0 + i32.const $push13=, 0 + i32.load $push14=, __stack_pointer($pop13) + i32.const $push15=, 32 + i32.sub $push30=, $pop14, $pop15 + tee_local $push29=, $2=, $pop30 + i32.store $drop=, __stack_pointer($pop16), $pop29 i64.const $push0=, 0 - i64.store $drop=, 24($1), $pop0 + i64.store $drop=, 24($2), $pop0 i32.const $push1=, 8 - i32.or $push25=, $1, $pop1 - tee_local $push24=, $0=, $pop25 - i32.store $drop=, 4($1), $pop24 + i32.or $push28=, $2, $pop1 + tee_local $push27=, $0=, $pop28 + i32.store $drop=, 4($2), $pop27 i32.const $push2=, 0 - i32.store $drop=, 0($1), $pop2 - i32.const $push3=, 1 - i32.store $drop=, 8($1), $pop3 - i32.const $push23=, 0 - i32.store $drop=, 12($1), $pop23 + i32.store $drop=, 0($2), $pop2 + i32.const $push26=, 0 + i32.store $drop=, 12($2), $pop26 + i32.const $push25=, 1 + i32.store $drop=, 8($2), $pop25 block - i32.const $push21=, 24 - i32.add $push22=, $1, $pop21 - i32.call $push4=, foo@FUNCTION, $pop22, $1 - i32.load $push5=, 4($pop4) - i32.const $push6=, 65537 - i32.ne $push7=, $pop5, $pop6 - br_if 0, $pop7 # 0: down to label6 -# BB#1: # %if.end - i32.load $push8=, 24($1) - i32.ne $push9=, $pop8, $0 - br_if 0, $pop9 # 0: down to label6 -# BB#2: # %if.end13 - i32.load $push10=, 12($1) - i32.ne $push11=, $pop10, $1 + i32.const $push20=, 24 + i32.add $push21=, $2, $pop20 + i32.call $push24=, foo@FUNCTION, $pop21, $2 + tee_local $push23=, $1=, $pop24 + i32.load16_u $push3=, 4($pop23) + i32.const $push22=, 1 + i32.ne $push4=, $pop3, $pop22 + br_if 0, $pop4 # 0: down to label6 +# BB#1: # %lor.lhs.false + i32.load16_u $push5=, 6($1) + i32.const $push31=, 1 + i32.ne $push6=, $pop5, $pop31 + br_if 0, $pop6 # 0: down to label6 +# BB#2: # %if.end + i32.load $push7=, 24($2) + i32.ne $push8=, $pop7, $0 + br_if 0, $pop8 # 0: down to label6 +# BB#3: # %if.end13 + i32.load $push9=, 12($2) + i32.ne $push10=, $pop9, $2 + br_if 0, $pop10 # 0: down to label6 +# BB#4: # %if.end20 + i32.load $push11=, 4($2) br_if 0, $pop11 # 0: down to label6 -# BB#3: # %if.end20 - i32.load $push12=, 4($1) - br_if 0, $pop12 # 0: down to label6 -# BB#4: # %if.end24 - i32.const $push20=, 0 - i32.const $push18=, 32 - i32.add $push19=, $1, $pop18 - i32.store $drop=, __stack_pointer($pop20), $pop19 - i32.const $push13=, 0 - return $pop13 -.LBB1_5: # %if.then23 +# BB#5: # %if.end24 + i32.const $push19=, 0 + i32.const $push17=, 32 + i32.add $push18=, $2, $pop17 + i32.store $drop=, __stack_pointer($pop19), $pop18 + i32.const $push12=, 0 + return $pop12 +.LBB1_6: # %if.then23 end_block # label6: call abort@FUNCTION unreachable diff --git a/test/torture-s/pr40668.c.s b/test/torture-s/pr40668.c.s index 4302b9d21..f9bed9383 100644 --- a/test/torture-s/pr40668.c.s +++ b/test/torture-s/pr40668.c.s @@ -9,41 +9,28 @@ bar: # @bar # BB#0: # %entry block i32.const $push0=, -1 - i32.add $push8=, $0, $pop0 - tee_local $push7=, $0=, $pop8 + i32.add $push15=, $0, $pop0 + tee_local $push14=, $0=, $pop15 i32.const $push1=, 8 - i32.gt_u $push2=, $pop7, $pop1 + i32.gt_u $push2=, $pop14, $pop1 br_if 0, $pop2 # 0: down to label0 -# BB#1: # %entry - block - block - block - block - br_table $0, 0, 4, 4, 4, 4, 4, 1, 2, 3, 0 # 0: down to label4 - # 4: down to label0 - # 1: down to label3 - # 2: down to label2 - # 3: down to label1 -.LBB0_2: # %sw.bb - end_block # label4: - i32.const $push6=, 305419896 - i32.store $drop=, 0($1):p2align=0, $pop6 - return -.LBB0_3: # %sw.bb1 - end_block # label3: - i32.const $push5=, 0 - i32.store $drop=, 0($1):p2align=0, $pop5 - return -.LBB0_4: # %sw.bb2 - end_block # label2: - i32.const $push4=, 0 - i32.store $drop=, 0($1):p2align=0, $pop4 - return -.LBB0_5: # %sw.bb3 - end_block # label1: - i32.const $push3=, 0 - i32.store $drop=, 0($1):p2align=0, $pop3 -.LBB0_6: # %sw.epilog +# BB#1: # %switch.hole_check + i32.const $push5=, 449 + i32.const $push3=, 65535 + i32.and $push4=, $0, $pop3 + i32.shr_u $push6=, $pop5, $pop4 + i32.const $push7=, 1 + i32.and $push8=, $pop6, $pop7 + i32.eqz $push16=, $pop8 + br_if 0, $pop16 # 0: down to label0 +# BB#2: # %switch.lookup + i32.const $push9=, 2 + i32.shl $push10=, $0, $pop9 + i32.const $push11=, .Lswitch.table + i32.add $push12=, $pop10, $pop11 + i32.load $push13=, 0($pop12) + i32.store $drop=, 0($1):p2align=0, $pop13 +.LBB0_3: # %sw.epilog end_block # label0: # fallthrough-return .endfunc @@ -63,5 +50,20 @@ main: # @main .Lfunc_end1: .size main, .Lfunc_end1-main + .type .Lswitch.table,@object # @switch.table + .section .rodata..Lswitch.table,"a",@progbits + .p2align 4 +.Lswitch.table: + .int32 305419896 # 0x12345678 + .int32 305419896 # 0x12345678 + .int32 305419896 # 0x12345678 + .int32 305419896 # 0x12345678 + .int32 305419896 # 0x12345678 + .int32 305419896 # 0x12345678 + .int32 0 # 0x0 + .int32 0 # 0x0 + .int32 0 # 0x0 + .size .Lswitch.table, 36 + .ident "clang version 4.0.0 " diff --git a/test/torture-s/pr44575.c.s b/test/torture-s/pr44575.c.s index 69a1eff8d..b4640d86b 100644 --- a/test/torture-s/pr44575.c.s +++ b/test/torture-s/pr44575.c.s @@ -8,70 +8,67 @@ check: # @check .param i32, i32 .local i32, f32, i32, i32 # BB#0: # %entry - i32.const $push9=, 0 - i32.load $push10=, __stack_pointer($pop9) - i32.const $push11=, 16 - i32.sub $push15=, $pop10, $pop11 - tee_local $push14=, $5=, $pop15 - i32.store $drop=, 12($pop14), $1 - i32.const $push13=, 4 - i32.shl $2=, $0, $pop13 - i32.const $push12=, 0 - f32.load $3=, a+32($pop12) + i32.const $push8=, 0 + i32.load $push9=, __stack_pointer($pop8) + i32.const $push10=, 16 + i32.sub $push14=, $pop9, $pop10 + tee_local $push13=, $5=, $pop14 + i32.store $drop=, 12($pop13), $1 + i32.const $push12=, 4 + i32.shl $2=, $0, $pop12 + i32.const $push11=, 0 + f32.load $3=, a+32($pop11) i32.const $0=, 3 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label0: block block - i32.const $push18=, -1 - i32.add $push1=, $0, $pop18 - i32.const $push17=, -2 - i32.and $push2=, $pop1, $pop17 + block + i32.const $push17=, -1 + i32.add $push1=, $0, $pop17 + i32.const $push16=, -2 + i32.and $push2=, $pop1, $pop16 i32.or $push3=, $pop2, $2 - i32.const $push16=, 18 - i32.ne $push4=, $pop3, $pop16 - br_if 0, $pop4 # 0: down to label3 + i32.const $push15=, 18 + i32.ne $push4=, $pop3, $pop15 + br_if 0, $pop4 # 0: down to label4 # BB#2: # %land.lhs.true # in Loop: Header=BB0_1 Depth=1 - i32.load $push22=, 12($5) - tee_local $push21=, $4=, $pop22 - i32.const $push20=, 12 - i32.add $push6=, $pop21, $pop20 - i32.store $drop=, 12($5), $pop6 - i32.const $push19=, 0 - i32.load $1=, fails($pop19) - f32.load $push7=, 8($4) - f32.eq $push8=, $3, $pop7 - br_if 1, $pop8 # 1: down to label2 -# BB#3: # %if.then + i32.load $push21=, 12($5) + tee_local $push20=, $4=, $pop21 + i32.const $push19=, 12 + i32.add $push5=, $pop20, $pop19 + i32.store $drop=, 12($5), $pop5 + i32.const $push18=, 0 + i32.load $1=, fails($pop18) + f32.load $push6=, 8($4) + f32.ne $push7=, $3, $pop6 + br_if 1, $pop7 # 1: down to label3 + br 2 # 2: down to label2 +.LBB0_3: # %sw.epilog.thread + # in Loop: Header=BB0_1 Depth=1 + end_block # label4: + i32.const $push22=, 0 + i32.load $1=, fails($pop22) +.LBB0_4: # %if.end.sink.split # in Loop: Header=BB0_1 Depth=1 + end_block # label3: i32.const $push26=, 0 i32.const $push25=, 1 i32.add $push24=, $1, $pop25 tee_local $push23=, $1=, $pop24 i32.store $drop=, fails($pop26), $pop23 - br 1 # 1: down to label2 -.LBB0_4: # %sw.epilog.thread - # in Loop: Header=BB0_1 Depth=1 - end_block # label3: - i32.const $push31=, 0 - i32.const $push30=, 0 - i32.load $push5=, fails($pop30) - i32.const $push29=, 1 - i32.add $push28=, $pop5, $pop29 - tee_local $push27=, $1=, $pop28 - i32.store $drop=, fails($pop31), $pop27 .LBB0_5: # %if.end # in Loop: Header=BB0_1 Depth=1 end_block # label2: br_if 1, $1 # 1: down to label1 # BB#6: # %if.end # in Loop: Header=BB0_1 Depth=1 - i32.const $push33=, 4 - i32.lt_s $1=, $0, $pop33 - i32.const $push32=, 1 - i32.add $push0=, $0, $pop32 + i32.const $push28=, 4 + i32.lt_s $1=, $0, $pop28 + i32.const $push27=, 1 + i32.add $push0=, $0, $pop27 copy_local $0=, $pop0 br_if 0, $1 # 0: up to label0 .LBB0_7: # %for.end @@ -126,7 +123,7 @@ main: # @main block i32.const $push22=, 0 i32.load $push10=, fails($pop22) - br_if 0, $pop10 # 0: down to label4 + br_if 0, $pop10 # 0: down to label5 # BB#1: # %if.end i32.const $push17=, 0 i32.const $push15=, 32 @@ -135,7 +132,7 @@ main: # @main i32.const $push30=, 0 return $pop30 .LBB1_2: # %if.then - end_block # label4: + end_block # label5: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr46909-2.c.s b/test/torture-s/pr46909-2.c.s index 4eda502af..76339bb90 100644 --- a/test/torture-s/pr46909-2.c.s +++ b/test/torture-s/pr46909-2.c.s @@ -7,23 +7,23 @@ foo: # @foo .param i32 .result i32 + .local i32 # BB#0: # %entry - i32.const $push3=, 1 - i32.const $push14=, 1 - i32.const $push13=, 1 - i32.const $push2=, -1 + block + block i32.const $push0=, 13 - i32.ne $push1=, $0, $pop0 - i32.select $push4=, $pop13, $pop2, $pop1 - i32.const $push12=, -1 - i32.select $push5=, $pop4, $pop12, $0 - i32.const $push6=, 5 - i32.eq $push7=, $0, $pop6 - i32.select $push8=, $pop14, $pop5, $pop7 - i32.const $push9=, 20 - i32.eq $push10=, $0, $pop9 - i32.select $push11=, $pop3, $pop8, $pop10 - # fallthrough-return: $pop11 + i32.eq $push1=, $0, $pop0 + br_if 0, $pop1 # 0: down to label1 +# BB#1: # %entry + i32.const $1=, 1 + br_if 1, $0 # 1: down to label0 +.LBB0_2: # %if.end + end_block # label1: + i32.const $1=, -1 +.LBB0_3: # %return + end_block # label0: + copy_local $push2=, $1 + # fallthrough-return: $pop2 .endfunc .Lfunc_end0: .size foo, .Lfunc_end0-foo @@ -40,7 +40,7 @@ main: # @main .LBB1_1: # %for.body # =>This Inner Loop Header: Depth=1 block - loop # label1: + loop # label3: i32.call $push6=, foo@FUNCTION, $0 i32.const $push13=, 1 i32.eqz $push2=, $0 @@ -53,7 +53,7 @@ main: # @main i32.shl $push1=, $pop0, $pop10 i32.sub $push5=, $pop4, $pop1 i32.ne $push7=, $pop6, $pop5 - br_if 2, $pop7 # 2: down to label0 + br_if 2, $pop7 # 2: down to label2 # BB#2: # %for.cond # in Loop: Header=BB1_1 Depth=1 i32.const $push17=, 1 @@ -61,13 +61,13 @@ main: # @main tee_local $push15=, $0=, $pop16 i32.const $push14=, 29 i32.le_s $push8=, $pop15, $pop14 - br_if 0, $pop8 # 0: up to label1 + br_if 0, $pop8 # 0: up to label3 # BB#3: # %for.end - end_loop # label2: + end_loop # label4: i32.const $push9=, 0 return $pop9 .LBB1_4: # %if.then - end_block # label0: + end_block # label2: call abort@FUNCTION unreachable .endfunc diff --git a/test/torture-s/pr47538.c.s b/test/torture-s/pr47538.c.s index 788f17754..28ec8fa90 100644 --- a/test/torture-s/pr47538.c.s +++ b/test/torture-s/pr47538.c.s @@ -8,111 +8,109 @@ foo: # @foo .param i32, i32 .local i32, i32, f64, i32, i32, i32, f64, i32, f64, f64 # BB#0: # %entry - f64.load $push34=, 0($1) - tee_local $push33=, $10=, $pop34 - f64.store $drop=, 0($0), $pop33 - f64.load $push32=, 8($1) - tee_local $push31=, $11=, $pop32 - f64.store $drop=, 8($0), $pop31 + f64.load $push32=, 0($1) + tee_local $push31=, $10=, $pop32 + f64.store $drop=, 0($0), $pop31 + f64.load $push30=, 8($1) + tee_local $push29=, $8=, $pop30 + f64.store $drop=, 8($0), $pop29 i32.load $5=, 16($0) + f64.const $11=, 0x0p0 block - block - i32.load $push30=, 20($1) - tee_local $push29=, $2=, $pop30 - i32.eqz $push55=, $pop29 - br_if 0, $pop55 # 0: down to label1 + i32.load $push28=, 20($1) + tee_local $push27=, $2=, $pop28 + i32.eqz $push53=, $pop27 + br_if 0, $pop53 # 0: down to label0 # BB#1: # %if.else - f64.sub $push1=, $11, $10 + f64.sub $push1=, $8, $10 f64.const $push2=, 0x1p-2 f64.mul $4=, $pop1, $pop2 i32.load $6=, 16($1) + block i32.const $push0=, 1 - i32.add $push36=, $2, $pop0 - tee_local $push35=, $3=, $pop36 + i32.add $push34=, $2, $pop0 + tee_local $push33=, $3=, $pop34 i32.const $push3=, 2 - i32.ne $push4=, $pop35, $pop3 - br_if 1, $pop4 # 1: down to label0 + i32.ne $push4=, $pop33, $pop3 + br_if 0, $pop4 # 0: down to label1 # BB#2: # %if.then6 - f64.load $push26=, 0($6) - f64.mul $push38=, $4, $pop26 - tee_local $push37=, $10=, $pop38 - f64.store $drop=, 8($5), $pop37 - f64.add $push27=, $10, $10 - f64.store $drop=, 0($5), $pop27 + f64.load $push25=, 0($6) + f64.mul $push36=, $4, $pop25 + tee_local $push35=, $11=, $pop36 + f64.store $drop=, 8($5), $pop35 + f64.add $push26=, $11, $11 + f64.store $drop=, 0($5), $pop26 return -.LBB0_3: # %if.then +.LBB0_3: # %for.cond.preheader end_block # label1: - i64.const $push28=, 0 - i64.store $drop=, 0($5), $pop28 - return -.LBB0_4: # %for.cond.preheader - end_block # label0: block block i32.const $push5=, -1 - i32.add $push40=, $2, $pop5 - tee_local $push39=, $7=, $pop40 - i32.eqz $push56=, $pop39 - br_if 0, $pop56 # 0: down to label3 -# BB#5: # %for.body.preheader - i32.const $push41=, 8 - i32.add $0=, $5, $pop41 - f64.const $10=, 0x1p0 - f64.const $11=, 0x0p0 + i32.add $push38=, $2, $pop5 + tee_local $push37=, $7=, $pop38 + i32.eqz $push54=, $pop37 + br_if 0, $pop54 # 0: down to label3 +# BB#4: # %for.body.preheader + i32.const $push39=, 8 + i32.add $0=, $5, $pop39 + f64.const $10=, 0x0p0 + f64.const $11=, 0x1p0 copy_local $1=, $6 i32.const $9=, 1 -.LBB0_6: # %for.body +.LBB0_5: # %for.body # =>This Inner Loop Header: Depth=1 loop # label4: f64.load $push8=, 0($1) - i32.const $push49=, 16 - i32.add $push6=, $1, $pop49 + i32.const $push47=, 16 + i32.add $push6=, $1, $pop47 f64.load $push7=, 0($pop6) f64.sub $push9=, $pop8, $pop7 f64.mul $push10=, $4, $pop9 f64.convert_u/i32 $push11=, $9 - f64.div $push48=, $pop10, $pop11 - tee_local $push47=, $8=, $pop48 - f64.store $drop=, 0($0), $pop47 - i32.const $push46=, 8 - i32.add $1=, $1, $pop46 - i32.const $push45=, 8 - i32.add $0=, $0, $pop45 - f64.mul $push12=, $10, $8 - f64.add $11=, $11, $pop12 - f64.neg $10=, $10 - i32.const $push44=, 1 - i32.add $push43=, $9, $pop44 - tee_local $push42=, $9=, $pop43 - i32.le_u $push13=, $pop42, $7 + f64.div $push46=, $pop10, $pop11 + tee_local $push45=, $8=, $pop46 + f64.store $drop=, 0($0), $pop45 + i32.const $push44=, 8 + i32.add $0=, $0, $pop44 + i32.const $push43=, 8 + i32.add $1=, $1, $pop43 + f64.mul $push12=, $11, $8 + f64.add $10=, $10, $pop12 + f64.neg $11=, $11 + i32.const $push42=, 1 + i32.add $push41=, $9, $pop42 + tee_local $push40=, $9=, $pop41 + i32.le_u $push13=, $pop40, $7 br_if 0, $pop13 # 0: up to label4 br 3 # 3: down to label2 -.LBB0_7: +.LBB0_6: end_loop # label5: end_block # label3: - f64.const $11=, 0x0p0 - f64.const $10=, 0x1p0 -.LBB0_8: # %for.end + f64.const $11=, 0x1p0 + f64.const $10=, 0x0p0 +.LBB0_7: # %for.end end_block # label2: i32.const $push17=, 3 i32.shl $push22=, $2, $pop17 i32.add $push23=, $5, $pop22 - i32.const $push54=, 3 - i32.shl $push18=, $7, $pop54 + i32.const $push52=, 3 + i32.shl $push18=, $7, $pop52 i32.add $push19=, $6, $pop18 f64.load $push20=, 0($pop19) f64.mul $push21=, $4, $pop20 f64.convert_u/i32 $push14=, $3 f64.const $push15=, -0x1p0 f64.add $push16=, $pop14, $pop15 - f64.div $push53=, $pop21, $pop16 - tee_local $push52=, $8=, $pop53 - f64.store $drop=, 0($pop23), $pop52 - f64.mul $push24=, $10, $8 - f64.add $push51=, $11, $pop24 - tee_local $push50=, $10=, $pop51 - f64.add $push25=, $pop50, $10 - f64.store $drop=, 0($5), $pop25 + f64.div $push51=, $pop21, $pop16 + tee_local $push50=, $8=, $pop51 + f64.store $drop=, 0($pop23), $pop50 + f64.mul $push24=, $11, $8 + f64.add $push49=, $10, $pop24 + tee_local $push48=, $11=, $pop49 + f64.add $11=, $pop48, $11 +.LBB0_8: # %if.end53 + end_block # label0: + f64.store $drop=, 0($5), $11 # fallthrough-return .endfunc .Lfunc_end0: diff --git a/test/torture-s/pr48571-1.c.s b/test/torture-s/pr48571-1.c.s index 3e2291dd2..f0718d8ac 100644 --- a/test/torture-s/pr48571-1.c.s +++ b/test/torture-s/pr48571-1.c.s @@ -55,25 +55,25 @@ main: # @main # BB#2: # %for.end end_loop # label3: call bar@FUNCTION - i32.const $1=, 0 + i32.const $2=, 0 i32.const $0=, c - i32.const $2=, 1 + i32.const $1=, 1 .LBB1_3: # %for.body3 # =>This Inner Loop Header: Depth=1 block loop # label5: i32.load $push1=, 0($0) - i32.ne $push2=, $pop1, $2 + i32.ne $push2=, $pop1, $1 br_if 2, $pop2 # 2: down to label4 # BB#4: # %if.end # in Loop: Header=BB1_3 Depth=1 i32.const $push15=, 4 i32.add $0=, $0, $pop15 i32.const $push14=, 1 - i32.shl $2=, $2, $pop14 + i32.shl $1=, $1, $pop14 i32.const $push13=, 1 - i32.add $push12=, $1, $pop13 - tee_local $push11=, $1=, $pop12 + i32.add $push12=, $2, $pop13 + tee_local $push11=, $2=, $pop12 i32.const $push10=, 624 i32.lt_u $push3=, $pop11, $pop10 br_if 0, $pop3 # 0: up to label5 diff --git a/test/torture-s/pr49419.c.s b/test/torture-s/pr49419.c.s index b81ba76b6..d23fba92e 100644 --- a/test/torture-s/pr49419.c.s +++ b/test/torture-s/pr49419.c.s @@ -15,7 +15,7 @@ foo: # @foo i32.const $push0=, -1 i32.eq $push1=, $0, $pop0 br_if 0, $pop1 # 0: down to label1 -# BB#1: # %if.end +# BB#1: # %for.cond.preheader i32.const $5=, 0 i32.const $push23=, 0 i32.load $4=, t($pop23) @@ -23,7 +23,7 @@ foo: # @foo i32.const $push3=, 1 i32.lt_s $push4=, $3, $pop3 br_if 0, $pop4 # 0: down to label2 -# BB#2: # %if.end +# BB#2: # %for.cond.preheader i32.const $push5=, 12 i32.mul $push6=, $0, $pop5 i32.add $push7=, $4, $pop6 diff --git a/test/torture-s/pr51933.c.s b/test/torture-s/pr51933.c.s index 9f57a505f..9a1b8fbe3 100644 --- a/test/torture-s/pr51933.c.s +++ b/test/torture-s/pr51933.c.s @@ -35,8 +35,8 @@ bar: # @bar i32.lt_s $push2=, $0, $pop11 br_if 0, $pop2 # 0: down to label1 # BB#3: # %for.body.preheader - copy_local $4=, $2 - copy_local $5=, $0 + copy_local $4=, $0 + copy_local $5=, $2 .LBB1_4: # %for.body # =>This Inner Loop Header: Depth=1 loop # label2: @@ -52,14 +52,14 @@ bar: # @bar i32.lt_u $push3=, $3, $pop17 i32.select $push7=, $pop4, $pop6, $pop3 i32.load8_u $push8=, 0($pop7) - i32.store8 $drop=, 0($4), $pop8 - i32.const $push16=, 2 - i32.add $1=, $1, $pop16 - i32.const $push15=, 1 - i32.add $4=, $4, $pop15 + i32.store8 $drop=, 0($5), $pop8 + i32.const $push16=, 1 + i32.add $5=, $5, $pop16 + i32.const $push15=, 2 + i32.add $1=, $1, $pop15 i32.const $push14=, -1 - i32.add $push13=, $5, $pop14 - tee_local $push12=, $5=, $pop13 + i32.add $push13=, $4, $pop14 + tee_local $push12=, $4=, $pop13 br_if 0, $pop12 # 0: up to label2 .LBB1_5: # %for.end end_loop # label3: diff --git a/test/torture-s/pr52760.c.s b/test/torture-s/pr52760.c.s index 08870ac8d..c5c242b8e 100644 --- a/test/torture-s/pr52760.c.s +++ b/test/torture-s/pr52760.c.s @@ -95,32 +95,47 @@ main: # @main .result i32 .local i32 # BB#0: # %entry - i32.const $push9=, 0 - i32.const $push6=, 0 - i32.load $push7=, __stack_pointer($pop6) - i32.const $push8=, 16 - i32.sub $push16=, $pop7, $pop8 - tee_local $push15=, $0=, $pop16 - i32.store $drop=, __stack_pointer($pop9), $pop15 + i32.const $push18=, 0 + i32.const $push15=, 0 + i32.load $push16=, __stack_pointer($pop15) + i32.const $push17=, 16 + i32.sub $push25=, $pop16, $pop17 + tee_local $push24=, $0=, $pop25 + i32.store $drop=, __stack_pointer($pop18), $pop24 i64.const $push0=, 434320308619640833 i64.store $drop=, 8($0), $pop0 i32.const $push1=, 1 - i32.const $push13=, 8 - i32.add $push14=, $0, $pop13 - call foo@FUNCTION, $pop1, $pop14 + i32.const $push22=, 8 + i32.add $push23=, $0, $pop22 + call foo@FUNCTION, $pop1, $pop23 block - i64.load $push3=, 8($0) - i64.const $push2=, 506097522914230528 - i64.ne $push4=, $pop3, $pop2 + i32.load16_u $push3=, 8($0) + i32.const $push2=, 256 + i32.ne $push4=, $pop3, $pop2 br_if 0, $pop4 # 0: down to label3 -# BB#1: # %if.end - i32.const $push12=, 0 - i32.const $push10=, 16 - i32.add $push11=, $0, $pop10 - i32.store $drop=, __stack_pointer($pop12), $pop11 - i32.const $push5=, 0 - return $pop5 -.LBB1_2: # %if.then +# BB#1: # %lor.lhs.false + i32.load16_u $push6=, 10($0) + i32.const $push5=, 770 + i32.ne $push7=, $pop6, $pop5 + br_if 0, $pop7 # 0: down to label3 +# BB#2: # %lor.lhs.false5 + i32.load16_u $push9=, 12($0) + i32.const $push8=, 1284 + i32.ne $push10=, $pop9, $pop8 + br_if 0, $pop10 # 0: down to label3 +# BB#3: # %lor.lhs.false9 + i32.load16_u $push12=, 14($0) + i32.const $push11=, 1798 + i32.ne $push13=, $pop12, $pop11 + br_if 0, $pop13 # 0: down to label3 +# BB#4: # %if.end + i32.const $push21=, 0 + i32.const $push19=, 16 + i32.add $push20=, $0, $pop19 + i32.store $drop=, __stack_pointer($pop21), $pop20 + i32.const $push14=, 0 + return $pop14 +.LBB1_5: # %if.then end_block # label3: call abort@FUNCTION unreachable diff --git a/test/torture-s/pr53465.c.s b/test/torture-s/pr53465.c.s index 6ab19ab35..9f4f8b15d 100644 --- a/test/torture-s/pr53465.c.s +++ b/test/torture-s/pr53465.c.s @@ -15,31 +15,31 @@ foo: # @foo br_if 0, $pop0 # 0: down to label1 # BB#1: # %for.body.preheader i32.const $3=, 0 - i32.const $4=, 0 - # implicit-def: %vreg30 + # implicit-def: %vreg29 + i32.const $5=, 0 .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label2: - copy_local $2=, $5 + copy_local $2=, $4 i32.load $push5=, 0($0) - tee_local $push4=, $5=, $pop5 + tee_local $push4=, $4=, $pop5 i32.eqz $push10=, $pop4 br_if 1, $pop10 # 1: down to label3 # BB#3: # %if.end # in Loop: Header=BB0_2 Depth=1 block - i32.eqz $push11=, $4 + i32.eqz $push11=, $5 br_if 0, $pop11 # 0: down to label4 # BB#4: # %if.end # in Loop: Header=BB0_2 Depth=1 - i32.le_s $push1=, $5, $2 + i32.le_s $push1=, $4, $2 br_if 4, $pop1 # 4: down to label0 .LBB0_5: # %for.cond # in Loop: Header=BB0_2 Depth=1 end_block # label4: i32.const $push9=, 4 i32.add $0=, $0, $pop9 - i32.const $4=, 1 + i32.const $5=, 1 i32.const $push8=, 1 i32.add $push7=, $3, $pop8 tee_local $push6=, $3=, $pop7 diff --git a/test/torture-s/pr56866.c.s b/test/torture-s/pr56866.c.s index da42dca92..ca1eee050 100644 --- a/test/torture-s/pr56866.c.s +++ b/test/torture-s/pr56866.c.s @@ -6,233 +6,222 @@ .type main,@function main: # @main .result i32 - .local i32, i64, i32, i32, i32, i32, i32 + .local i32, i32, i32, i32, i32, i32 # BB#0: # %entry - i32.const $push55=, 0 - i32.const $push52=, 0 - i32.load $push53=, __stack_pointer($pop52) - i32.const $push54=, 7712 - i32.sub $push112=, $pop53, $pop54 - tee_local $push111=, $6=, $pop112 - i32.store $drop=, __stack_pointer($pop55), $pop111 - i32.const $2=, 0 - i32.const $push59=, 5664 - i32.add $push60=, $6, $pop59 - i32.const $push110=, 0 - i32.const $push109=, 2048 - i32.call $drop=, memset@FUNCTION, $pop60, $pop110, $pop109 - i32.const $push61=, 2592 - i32.add $push62=, $6, $pop61 - i32.const $push108=, 0 + i32.const $push50=, 0 + i32.const $push47=, 0 + i32.load $push48=, __stack_pointer($pop47) + i32.const $push49=, 7712 + i32.sub $push107=, $pop48, $pop49 + tee_local $push106=, $5=, $pop107 + i32.store $drop=, __stack_pointer($pop50), $pop106 + i32.const $1=, 0 + i32.const $push54=, 5664 + i32.add $push55=, $5, $pop54 + i32.const $push105=, 0 + i32.const $push104=, 2048 + i32.call $drop=, memset@FUNCTION, $pop55, $pop105, $pop104 + i32.const $push56=, 2592 + i32.add $push57=, $5, $pop56 + i32.const $push103=, 0 i32.const $push0=, 1024 - i32.call $drop=, memset@FUNCTION, $pop62, $pop108, $pop0 - i32.const $push63=, 1056 - i32.add $push64=, $6, $pop63 - i32.const $push107=, 0 + i32.call $drop=, memset@FUNCTION, $pop57, $pop103, $pop0 + i32.const $push58=, 1056 + i32.add $push59=, $5, $pop58 + i32.const $push102=, 0 i32.const $push1=, 512 - i32.call $drop=, memset@FUNCTION, $pop64, $pop107, $pop1 - i32.const $push65=, 288 - i32.add $push66=, $6, $pop65 - i32.const $push106=, 0 + i32.call $drop=, memset@FUNCTION, $pop59, $pop102, $pop1 + i32.const $push60=, 288 + i32.add $push61=, $5, $pop60 + i32.const $push101=, 0 i32.const $push2=, 256 - i32.call $drop=, memset@FUNCTION, $pop66, $pop106, $pop2 + i32.call $drop=, memset@FUNCTION, $pop61, $pop101, $pop2 i64.const $push3=, 81985529216486895 - i64.store $drop=, 5664($6), $pop3 + i64.store $drop=, 5664($5), $pop3 i32.const $push4=, 19088743 - i32.store $drop=, 2592($6), $pop4 + i32.store $drop=, 2592($5), $pop4 i32.const $push5=, 17767 - i32.store16 $drop=, 1056($6), $pop5 + i32.store16 $drop=, 1056($5), $pop5 i32.const $push6=, 115 - i32.store8 $drop=, 288($6), $pop6 - i32.const $push67=, 5664 - i32.add $push68=, $6, $pop67 - i32.store $drop=, 28($6), $pop68 - i32.const $push69=, 2592 - i32.add $push70=, $6, $pop69 - i32.store $drop=, 24($6), $pop70 - i32.const $push71=, 1056 - i32.add $push72=, $6, $pop71 - i32.store $drop=, 20($6), $pop72 - i32.const $push73=, 288 - i32.add $push74=, $6, $pop73 - i32.store $drop=, 16($6), $pop74 - i32.const $push75=, 28 - i32.add $0=, $6, $pop75 - i32.const $push76=, 24 - i32.add $3=, $6, $pop76 - i32.const $push77=, 20 - i32.add $4=, $6, $pop77 - i32.const $push78=, 16 - i32.add $5=, $6, $pop78 + i32.store8 $drop=, 288($5), $pop6 + i32.const $push62=, 5664 + i32.add $push63=, $5, $pop62 + i32.store $drop=, 28($5), $pop63 + i32.const $push64=, 2592 + i32.add $push65=, $5, $pop64 + i32.store $drop=, 24($5), $pop65 + i32.const $push66=, 1056 + i32.add $push67=, $5, $pop66 + i32.store $drop=, 20($5), $pop67 + i32.const $push68=, 288 + i32.add $push69=, $5, $pop68 + i32.store $drop=, 16($5), $pop69 + i32.const $push70=, 28 + i32.add $0=, $5, $pop70 + i32.const $push71=, 24 + i32.add $2=, $5, $pop71 + i32.const $push72=, 20 + i32.add $3=, $5, $pop72 + i32.const $push73=, 16 + i32.add $4=, $5, $pop73 #APP #NO_APP .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 loop # label0: - i32.const $push81=, 3616 - i32.add $push82=, $6, $pop81 - i32.add $push10=, $pop82, $2 - i32.const $push79=, 5664 - i32.add $push80=, $6, $pop79 - i32.add $push7=, $pop80, $2 + i32.const $push76=, 3616 + i32.add $push77=, $5, $pop76 + i32.add $push10=, $pop77, $1 + i32.const $push74=, 5664 + i32.add $push75=, $5, $pop74 + i32.add $push7=, $pop75, $1 i64.load $push8=, 0($pop7) - i64.const $push117=, 56 - i64.rotl $push9=, $pop8, $pop117 + i64.const $push112=, 56 + i64.rotl $push9=, $pop8, $pop112 i64.store $drop=, 0($pop10), $pop9 - i32.const $push116=, 8 - i32.add $push115=, $2, $pop116 - tee_local $push114=, $2=, $pop115 - i32.const $push113=, 2048 - i32.ne $push11=, $pop114, $pop113 + i32.const $push111=, 8 + i32.add $push110=, $1, $pop111 + tee_local $push109=, $1=, $pop110 + i32.const $push108=, 2048 + i32.ne $push11=, $pop109, $pop108 br_if 0, $pop11 # 0: up to label0 # BB#2: # %for.body16.preheader end_loop # label1: - i32.const $2=, 0 + i32.const $1=, 0 .LBB0_3: # %for.body16 # =>This Inner Loop Header: Depth=1 loop # label2: - i32.const $push85=, 1568 - i32.add $push86=, $6, $pop85 - i32.add $push15=, $pop86, $2 - i32.const $push83=, 2592 - i32.add $push84=, $6, $pop83 - i32.add $push12=, $pop84, $2 + i32.const $push80=, 1568 + i32.add $push81=, $5, $pop80 + i32.add $push15=, $pop81, $1 + i32.const $push78=, 2592 + i32.add $push79=, $5, $pop78 + i32.add $push12=, $pop79, $1 i32.load $push13=, 0($pop12) - i32.const $push122=, 24 - i32.rotl $push14=, $pop13, $pop122 + i32.const $push117=, 24 + i32.rotl $push14=, $pop13, $pop117 i32.store $drop=, 0($pop15), $pop14 - i32.const $push121=, 4 - i32.add $push120=, $2, $pop121 - tee_local $push119=, $2=, $pop120 - i32.const $push118=, 1024 - i32.ne $push16=, $pop119, $pop118 + i32.const $push116=, 4 + i32.add $push115=, $1, $pop116 + tee_local $push114=, $1=, $pop115 + i32.const $push113=, 1024 + i32.ne $push16=, $pop114, $pop113 br_if 0, $pop16 # 0: up to label2 # BB#4: # %for.body28.preheader end_loop # label3: - i32.const $2=, 0 + i32.const $1=, 0 .LBB0_5: # %for.body28 # =>This Inner Loop Header: Depth=1 loop # label4: - i32.const $push89=, 544 - i32.add $push90=, $6, $pop89 - i32.add $push21=, $pop90, $2 - i32.const $push87=, 1056 - i32.add $push88=, $6, $pop87 - i32.add $push17=, $pop88, $2 - i32.load16_u $push130=, 0($pop17) - tee_local $push129=, $0=, $pop130 - i32.const $push128=, 9 - i32.shr_u $push19=, $pop129, $pop128 - i32.const $push127=, 7 - i32.shl $push18=, $0, $pop127 + i32.const $push84=, 544 + i32.add $push85=, $5, $pop84 + i32.add $push21=, $pop85, $1 + i32.const $push82=, 1056 + i32.add $push83=, $5, $pop82 + i32.add $push17=, $pop83, $1 + i32.load16_u $push125=, 0($pop17) + tee_local $push124=, $0=, $pop125 + i32.const $push123=, 9 + i32.shr_u $push19=, $pop124, $pop123 + i32.const $push122=, 7 + i32.shl $push18=, $0, $pop122 i32.or $push20=, $pop19, $pop18 i32.store16 $drop=, 0($pop21), $pop20 - i32.const $push126=, 2 - i32.add $push125=, $2, $pop126 - tee_local $push124=, $2=, $pop125 - i32.const $push123=, 512 - i32.ne $push22=, $pop124, $pop123 + i32.const $push121=, 2 + i32.add $push120=, $1, $pop121 + tee_local $push119=, $1=, $pop120 + i32.const $push118=, 512 + i32.ne $push22=, $pop119, $pop118 br_if 0, $pop22 # 0: up to label4 # BB#6: # %for.body43.preheader end_loop # label5: - i32.const $2=, 0 + i32.const $1=, 0 .LBB0_7: # %for.body43 # =>This Inner Loop Header: Depth=1 loop # label6: - i32.const $push93=, 32 - i32.add $push94=, $6, $pop93 - i32.add $push27=, $pop94, $2 - i32.const $push91=, 288 - i32.add $push92=, $6, $pop91 - i32.add $push23=, $pop92, $2 - i32.load8_u $push138=, 0($pop23) - tee_local $push137=, $0=, $pop138 - i32.const $push136=, 5 - i32.shr_u $push25=, $pop137, $pop136 - i32.const $push135=, 3 - i32.shl $push24=, $0, $pop135 + i32.const $push88=, 32 + i32.add $push89=, $5, $pop88 + i32.add $push27=, $pop89, $1 + i32.const $push86=, 288 + i32.add $push87=, $5, $pop86 + i32.add $push23=, $pop87, $1 + i32.load8_u $push133=, 0($pop23) + tee_local $push132=, $0=, $pop133 + i32.const $push131=, 5 + i32.shr_u $push25=, $pop132, $pop131 + i32.const $push130=, 3 + i32.shl $push24=, $0, $pop130 i32.or $push26=, $pop25, $pop24 i32.store8 $drop=, 0($pop27), $pop26 - i32.const $push134=, 1 - i32.add $push133=, $2, $pop134 - tee_local $push132=, $2=, $pop133 - i32.const $push131=, 256 - i32.ne $push28=, $pop132, $pop131 + i32.const $push129=, 1 + i32.add $push128=, $1, $pop129 + tee_local $push127=, $1=, $pop128 + i32.const $push126=, 256 + i32.ne $push28=, $pop127, $pop126 br_if 0, $pop28 # 0: up to label6 # BB#8: # %for.end55 end_loop # label7: - i32.const $push95=, 3616 - i32.add $push96=, $6, $pop95 - i32.store $drop=, 12($6), $pop96 - i32.const $push97=, 1568 - i32.add $push98=, $6, $pop97 - i32.store $drop=, 8($6), $pop98 - i32.const $push99=, 544 - i32.add $push100=, $6, $pop99 - i32.store $drop=, 4($6), $pop100 - i32.const $push101=, 32 - i32.add $push102=, $6, $pop101 - i32.store $drop=, 0($6), $pop102 - i32.const $push103=, 12 - i32.add $2=, $6, $pop103 - i32.const $push104=, 8 - i32.add $0=, $6, $pop104 - i32.const $push105=, 4 - i32.add $3=, $6, $pop105 + i32.const $push90=, 3616 + i32.add $push91=, $5, $pop90 + i32.store $drop=, 12($5), $pop91 + i32.const $push92=, 1568 + i32.add $push93=, $5, $pop92 + i32.store $drop=, 8($5), $pop93 + i32.const $push94=, 544 + i32.add $push95=, $5, $pop94 + i32.store $drop=, 4($5), $pop95 + i32.const $push96=, 32 + i32.add $push97=, $5, $pop96 + i32.store $drop=, 0($5), $pop97 + i32.const $push98=, 12 + i32.add $1=, $5, $pop98 + i32.const $push99=, 8 + i32.add $0=, $5, $pop99 + i32.const $push100=, 4 + i32.add $2=, $5, $pop100 #APP #NO_APP block - i64.load $push30=, 3616($6) + i64.load $push30=, 3616($5) i64.const $push29=, -1224658842671273011 i64.ne $push31=, $pop30, $pop29 br_if 0, $pop31 # 0: down to label8 # BB#9: # %lor.lhs.false - i64.load $push32=, 3624($6) + i64.load $push32=, 3624($5) i64.eqz $push33=, $pop32 - i32.eqz $push145=, $pop33 - br_if 0, $pop145 # 0: down to label8 + i32.eqz $push134=, $pop33 + br_if 0, $pop134 # 0: down to label8 # BB#10: # %if.end - i64.load $push140=, 1568($6) - tee_local $push139=, $1=, $pop140 - i32.wrap/i64 $push34=, $pop139 - i32.const $push35=, 1728127813 - i32.ne $push36=, $pop34, $pop35 + i32.load $push35=, 1568($5) + i32.const $push34=, 1728127813 + i32.ne $push36=, $pop35, $pop34 br_if 0, $pop36 # 0: down to label8 -# BB#11: # %if.end - i64.const $push37=, 4294967296 - i64.ge_u $push38=, $1, $pop37 - br_if 0, $pop38 # 0: down to label8 +# BB#11: # %lor.lhs.false67 + i32.load $push37=, 1572($5) + br_if 0, $pop37 # 0: down to label8 # BB#12: # %if.end71 - i32.load $push142=, 544($6) - tee_local $push141=, $2=, $pop142 - i32.const $push39=, 65535 - i32.and $push40=, $pop141, $pop39 - i32.const $push41=, 45986 - i32.ne $push42=, $pop40, $pop41 - br_if 0, $pop42 # 0: down to label8 -# BB#13: # %if.end71 - i32.const $push43=, 65536 - i32.ge_u $push44=, $2, $pop43 - br_if 0, $pop44 # 0: down to label8 + i32.load16_u $push39=, 544($5) + i32.const $push38=, 45986 + i32.ne $push40=, $pop39, $pop38 + br_if 0, $pop40 # 0: down to label8 +# BB#13: # %lor.lhs.false76 + i32.load16_u $push41=, 546($5) + br_if 0, $pop41 # 0: down to label8 # BB#14: # %if.end81 - i32.load16_u $push144=, 32($6) - tee_local $push143=, $2=, $pop144 - i32.const $push45=, 255 - i32.and $push46=, $pop143, $pop45 - i32.const $push47=, 155 - i32.ne $push48=, $pop46, $pop47 - br_if 0, $pop48 # 0: down to label8 -# BB#15: # %if.end81 - i32.const $push49=, 256 - i32.ge_u $push50=, $2, $pop49 - br_if 0, $pop50 # 0: down to label8 + i32.load8_u $push43=, 32($5) + i32.const $push42=, 155 + i32.ne $push44=, $pop43, $pop42 + br_if 0, $pop44 # 0: down to label8 +# BB#15: # %lor.lhs.false86 + i32.load8_u $push45=, 33($5) + br_if 0, $pop45 # 0: down to label8 # BB#16: # %if.end91 - i32.const $push58=, 0 - i32.const $push56=, 7712 - i32.add $push57=, $6, $pop56 - i32.store $drop=, __stack_pointer($pop58), $pop57 - i32.const $push51=, 0 - return $pop51 + i32.const $push53=, 0 + i32.const $push51=, 7712 + i32.add $push52=, $5, $pop51 + i32.store $drop=, __stack_pointer($pop53), $pop52 + i32.const $push46=, 0 + return $pop46 .LBB0_17: # %if.then90 end_block # label8: call abort@FUNCTION diff --git a/test/torture-s/pr58570.c.s b/test/torture-s/pr58570.c.s index bfca97fc3..7a8cc1c18 100644 --- a/test/torture-s/pr58570.c.s +++ b/test/torture-s/pr58570.c.s @@ -70,6 +70,13 @@ e: .int32 1 # 0x1 .size e, 4 + .type d,@object # @d + .section .bss.d,"aw",@nobits + .p2align 4 +d: + .skip 36 + .size d, 36 + .hidden i # @i .type i,@object .section .bss.i,"aw",@nobits @@ -79,13 +86,6 @@ i: .int32 0 # 0x0 .size i, 4 - .type d,@object # @d - .section .bss.d,"aw",@nobits - .p2align 4 -d: - .skip 36 - .size d, 36 - .ident "clang version 4.0.0 " .functype abort, void diff --git a/test/torture-s/pr58640-2.c.s b/test/torture-s/pr58640-2.c.s index 5de44ce19..c9189e575 100644 --- a/test/torture-s/pr58640-2.c.s +++ b/test/torture-s/pr58640-2.c.s @@ -7,7 +7,7 @@ fn1: # @fn1 .result i32 .local i32 -# BB#0: # %for.cond4.preheader.split +# BB#0: # %if.end i32.const $push0=, 0 i32.const $push26=, 0 i32.load $push25=, a+36($pop26) diff --git a/test/torture-s/pr59358.c.s b/test/torture-s/pr59358.c.s index fa69abb7a..a4b561315 100644 --- a/test/torture-s/pr59358.c.s +++ b/test/torture-s/pr59358.c.s @@ -70,12 +70,12 @@ main: # @main i32.const $push19=, 12 i32.add $push20=, $6, $pop19 i32.const $push31=, 16 - i32.call $3=, foo@FUNCTION, $pop20, $pop31 - copy_local $4=, $0 + i32.call $4=, foo@FUNCTION, $pop20, $pop31 + copy_local $5=, $0 block i32.const $push30=, -1 i32.add $push29=, $1, $pop30 - tee_local $push28=, $5=, $pop29 + tee_local $push28=, $3=, $pop29 i32.const $push27=, -8 i32.and $push1=, $pop28, $pop27 i32.const $push26=, 8 @@ -85,14 +85,14 @@ main: # @main # in Loop: Header=BB1_1 Depth=1 block i32.const $push33=, -4 - i32.and $push3=, $5, $pop33 + i32.and $push3=, $3, $pop33 i32.const $push32=, 4 i32.ne $push4=, $pop3, $pop32 br_if 0, $pop4 # 0: down to label8 # BB#3: # %if.then6 # in Loop: Header=BB1_1 Depth=1 i32.const $push34=, 2 - i32.shl $4=, $2, $pop34 + i32.shl $5=, $2, $pop34 br 1 # 1: down to label7 .LBB1_4: # %if.else10 # in Loop: Header=BB1_1 Depth=1 @@ -101,11 +101,11 @@ main: # @main i32.const $push36=, 16 i32.const $push35=, 4 i32.eq $push5=, $1, $pop35 - i32.select $4=, $pop37, $pop36, $pop5 + i32.select $5=, $pop37, $pop36, $pop5 .LBB1_5: # %if.end15 # in Loop: Header=BB1_1 Depth=1 end_block # label7: - i32.ne $push6=, $3, $4 + i32.ne $push6=, $4, $5 br_if 2, $pop6 # 2: down to label4 # BB#6: # %if.end18 # in Loop: Header=BB1_1 Depth=1 @@ -113,48 +113,43 @@ main: # @main i32.add $push22=, $6, $pop21 i32.const $push39=, 7 i32.call $4=, foo@FUNCTION, $pop22, $pop39 + copy_local $5=, $2 block i32.const $push38=, 6 - i32.gt_s $push7=, $5, $pop38 + i32.gt_s $push7=, $3, $pop38 br_if 0, $pop7 # 0: down to label9 # BB#7: # %if.else22 # in Loop: Header=BB1_1 Depth=1 - block - i32.const $push40=, 4 - i32.lt_s $push8=, $5, $pop40 - br_if 0, $pop8 # 0: down to label10 -# BB#8: # %if.then24 - # in Loop: Header=BB1_1 Depth=1 - i32.const $push41=, 1 - i32.shl $5=, $2, $pop41 - br 1 # 1: down to label9 -.LBB1_9: # %if.else28 + copy_local $5=, $0 + i32.const $push40=, 3 + i32.gt_s $push8=, $3, $pop40 + br_if 0, $pop8 # 0: down to label9 +# BB#8: # %if.else28 # in Loop: Header=BB1_1 Depth=1 - end_block # label10: - i32.const $push44=, 12 - i32.const $push43=, 8 - i32.const $push42=, 4 - i32.eq $push9=, $1, $pop42 - i32.select $5=, $pop44, $pop43, $pop9 -.LBB1_10: # %if.end34 + i32.const $push43=, 12 + i32.const $push42=, 8 + i32.const $push41=, 4 + i32.eq $push9=, $1, $pop41 + i32.select $5=, $pop43, $pop42, $pop9 +.LBB1_9: # %if.end34 # in Loop: Header=BB1_1 Depth=1 end_block # label9: i32.ne $push10=, $4, $5 br_if 2, $pop10 # 2: down to label4 -# BB#11: # %if.end37 +# BB#10: # %if.end37 # in Loop: Header=BB1_1 Depth=1 - i32.const $push48=, 2 - i32.add $0=, $0, $pop48 - i32.const $push47=, 1 - i32.add $2=, $2, $pop47 + i32.const $push47=, 2 + i32.add $0=, $0, $pop47 + i32.const $push46=, 1 + i32.add $2=, $2, $pop46 i32.store $drop=, 12($6), $1 - i32.const $push46=, 17 - i32.lt_s $5=, $1, $pop46 - i32.const $push45=, 1 - i32.add $push0=, $1, $pop45 + i32.const $push45=, 17 + i32.lt_s $3=, $1, $pop45 + i32.const $push44=, 1 + i32.add $push0=, $1, $pop44 copy_local $1=, $pop0 - br_if 0, $5 # 0: up to label5 -# BB#12: # %for.end + br_if 0, $3 # 0: up to label5 +# BB#11: # %for.end end_loop # label6: i32.const $push18=, 0 i32.const $push16=, 16 @@ -162,7 +157,7 @@ main: # @main i32.store $drop=, __stack_pointer($pop18), $pop17 i32.const $push11=, 0 return $pop11 -.LBB1_13: # %if.then36 +.LBB1_12: # %if.then36 end_block # label4: call abort@FUNCTION unreachable diff --git a/test/torture-s/pr59643.c.s b/test/torture-s/pr59643.c.s index c8555ff78..511bc9a61 100644 --- a/test/torture-s/pr59643.c.s +++ b/test/torture-s/pr59643.c.s @@ -6,54 +6,52 @@ .type foo,@function foo: # @foo .param i32, i32, i32, f64, f64, i32 - .local f64, i32, f64, f64 + .local i32, i32, f64, f64 # BB#0: # %entry block - i32.const $push11=, -1 - i32.add $push0=, $5, $pop11 + i32.const $push13=, -1 + i32.add $push0=, $5, $pop13 i32.const $push1=, 2 i32.lt_s $push2=, $pop0, $pop1 br_if 0, $pop2 # 0: down to label0 # BB#1: # %for.body.preheader - i32.const $push16=, 8 - i32.add $1=, $1, $pop16 + i32.const $push3=, 16 + i32.add $6=, $0, $pop3 + i32.const $push4=, -2 + i32.add $7=, $5, $pop4 i32.const $push15=, 8 - i32.add $2=, $2, $pop15 - i32.const $push3=, -2 - i32.add $7=, $5, $pop3 + i32.add $5=, $2, $pop15 i32.const $push14=, 8 - i32.add $push13=, $0, $pop14 - tee_local $push12=, $5=, $pop13 - f64.load $8=, 0($pop12) + i32.add $1=, $1, $pop14 + f64.load $8=, 8($0) f64.load $9=, 0($0) .LBB0_2: # %for.body # =>This Inner Loop Header: Depth=1 loop # label1: - f64.load $push5=, 0($1) - f64.load $push4=, 0($2) - f64.add $push6=, $pop5, $pop4 - f64.add $push7=, $pop6, $9 - i32.const $push28=, 8 - i32.add $push27=, $5, $pop28 - tee_local $push26=, $0=, $pop27 - f64.load $push25=, 0($pop26) - tee_local $push24=, $6=, $pop25 - f64.add $push8=, $pop7, $pop24 - f64.mul $push9=, $pop8, $3 - f64.mul $push10=, $8, $4 - f64.add $push23=, $pop9, $pop10 + i32.const $push26=, -8 + i32.add $push12=, $6, $pop26 + f64.mul $push5=, $8, $4 + f64.load $push7=, 0($1) + f64.load $push6=, 0($5) + f64.add $push8=, $pop7, $pop6 + f64.add $push9=, $pop8, $9 + f64.load $push25=, 0($6) + tee_local $push24=, $8=, $pop25 + f64.add $push10=, $pop9, $pop24 + f64.mul $push11=, $pop10, $3 + f64.add $push23=, $pop5, $pop11 tee_local $push22=, $9=, $pop23 - f64.store $drop=, 0($5), $pop22 + f64.store $drop=, 0($pop12), $pop22 i32.const $push21=, 8 - i32.add $1=, $1, $pop21 + i32.add $6=, $6, $pop21 i32.const $push20=, 8 - i32.add $2=, $2, $pop20 - copy_local $5=, $0 - copy_local $8=, $6 - i32.const $push19=, -1 - i32.add $push18=, $7, $pop19 - tee_local $push17=, $7=, $pop18 - br_if 0, $pop17 # 0: up to label1 + i32.add $5=, $5, $pop20 + i32.const $push19=, 8 + i32.add $1=, $1, $pop19 + i32.const $push18=, -1 + i32.add $push17=, $7, $pop18 + tee_local $push16=, $7=, $pop17 + br_if 0, $pop16 # 0: up to label1 .LBB0_3: # %for.end end_loop # label2: end_block # label0: diff --git a/test/torture-s/stdarg-2.c.s b/test/torture-s/stdarg-2.c.s index 9fc126be9..01c007e96 100644 --- a/test/torture-s/stdarg-2.c.s +++ b/test/torture-s/stdarg-2.c.s @@ -8,13 +8,13 @@ foo: # @foo .param i32, i32 .local i32 # BB#0: # %entry - i32.const $push45=, 0 - i32.const $push42=, 0 - i32.load $push43=, __stack_pointer($pop42) - i32.const $push44=, 32 - i32.sub $push54=, $pop43, $pop44 - tee_local $push53=, $2=, $pop54 - i32.store $drop=, __stack_pointer($pop45), $pop53 + i32.const $push41=, 0 + i32.const $push38=, 0 + i32.load $push39=, __stack_pointer($pop38) + i32.const $push40=, 32 + i32.sub $push50=, $pop39, $pop40 + tee_local $push49=, $2=, $pop50 + i32.store $drop=, __stack_pointer($pop41), $pop49 block block block @@ -31,70 +31,76 @@ foo: # @foo i32.ne $push5=, $0, $pop4 br_if 3, $pop5 # 3: down to label0 # BB#3: # %sw.bb - i32.const $push41=, 0 - i32.load $push35=, 0($1) - f64.convert_s/i32 $push36=, $pop35 - i32.const $push30=, 11 - i32.add $push31=, $1, $pop30 - i32.const $push32=, -8 - i32.and $push56=, $pop31, $pop32 - tee_local $push55=, $0=, $pop56 - f64.load $push34=, 0($pop55) - f64.add $push37=, $pop36, $pop34 - i32.trunc_s/f64 $push38=, $pop37 - i64.extend_u/i32 $push39=, $pop38 - i64.load $push33=, 8($0) - i64.add $push40=, $pop39, $pop33 - i64.store32 $drop=, foo_arg($pop41), $pop40 + i32.const $push33=, 0 + i32.load $push30=, 0($1) + f64.convert_s/i32 $push31=, $pop30 + i32.const $push26=, 11 + i32.add $push27=, $1, $pop26 + i32.const $push28=, -8 + i32.and $push54=, $pop27, $pop28 + tee_local $push53=, $0=, $pop54 + f64.load $push29=, 0($pop53) + f64.add $push32=, $pop31, $pop29 + i32.trunc_s/f64 $push52=, $pop32 + tee_local $push51=, $1=, $pop52 + i32.store $drop=, foo_arg($pop33), $pop51 + i64.extend_u/i32 $push35=, $1 + i64.load $push34=, 8($0) + i64.add $push36=, $pop35, $pop34 + i32.wrap/i64 $0=, $pop36 br 2 # 2: down to label1 .LBB0_4: # %sw.bb18 end_block # label3: - i32.const $push49=, 16 - i32.add $push50=, $2, $pop49 - i32.load $push6=, 0($1) - call __floatsitf@FUNCTION, $pop50, $pop6 - i64.load $push15=, 16($2) - i32.const $push51=, 16 - i32.add $push52=, $2, $pop51 - i32.const $push12=, 8 - i32.add $push13=, $pop52, $pop12 - i64.load $push14=, 0($pop13) - i32.const $push7=, 19 - i32.add $push8=, $1, $pop7 - i32.const $push9=, -16 - i32.and $push59=, $pop8, $pop9 + i32.const $push45=, 16 + i32.add $push46=, $2, $pop45 + i32.load $push59=, 0($1) tee_local $push58=, $0=, $pop59 - i64.load $push11=, 0($pop58) - i64.load $push10=, 8($0) - call __addtf3@FUNCTION, $2, $pop15, $pop14, $pop11, $pop10 - i32.const $push20=, 0 + call __floatsitf@FUNCTION, $pop46, $pop58 + i64.load $push14=, 16($2) + i32.const $push47=, 16 + i32.add $push48=, $2, $pop47 + i32.const $push11=, 8 + i32.add $push12=, $pop48, $pop11 + i64.load $push13=, 0($pop12) + i32.const $push6=, 19 + i32.add $push7=, $1, $pop6 + i32.const $push8=, -16 + i32.and $push57=, $pop7, $pop8 + tee_local $push56=, $1=, $pop57 + i64.load $push10=, 0($pop56) + i64.load $push9=, 8($1) + call __addtf3@FUNCTION, $2, $pop14, $pop13, $pop10, $pop9 + i32.const $push15=, 0 + i32.store $drop=, foo_arg($pop15), $0 i64.load $push18=, 0($2) - i32.const $push57=, 8 - i32.add $push16=, $2, $pop57 + i32.const $push55=, 8 + i32.add $push16=, $2, $pop55 i64.load $push17=, 0($pop16) - i32.call $push19=, __fixtfsi@FUNCTION, $pop18, $pop17 - i32.store $drop=, foo_arg($pop20), $pop19 + i32.call $0=, __fixtfsi@FUNCTION, $pop18, $pop17 br 1 # 1: down to label1 .LBB0_5: # %sw.bb9 end_block # label2: - i32.const $push29=, 0 - i32.const $push21=, 7 - i32.add $push22=, $1, $pop21 - i32.const $push23=, -8 - i32.and $push61=, $pop22, $pop23 - tee_local $push60=, $0=, $pop61 - i32.load $push25=, 0($pop60) - f64.convert_s/i32 $push26=, $pop25 - f64.load $push24=, 8($0) - f64.add $push27=, $pop26, $pop24 - i32.trunc_s/f64 $push28=, $pop27 - i32.store $drop=, foo_arg($pop29), $pop28 + i32.const $push22=, 0 + i32.const $push19=, 7 + i32.add $push20=, $1, $pop19 + i32.const $push21=, -8 + i32.and $push63=, $pop20, $pop21 + tee_local $push62=, $0=, $pop63 + i32.load $push61=, 0($pop62) + tee_local $push60=, $1=, $pop61 + i32.store $drop=, foo_arg($pop22), $pop60 + f64.convert_s/i32 $push24=, $1 + f64.load $push23=, 8($0) + f64.add $push25=, $pop24, $pop23 + i32.trunc_s/f64 $0=, $pop25 .LBB0_6: # %sw.epilog end_block # label1: - i32.const $push48=, 0 - i32.const $push46=, 32 - i32.add $push47=, $2, $pop46 - i32.store $drop=, __stack_pointer($pop48), $pop47 + i32.const $push37=, 0 + i32.store $drop=, foo_arg($pop37), $0 + i32.const $push44=, 0 + i32.const $push42=, 32 + i32.add $push43=, $2, $pop42 + i32.store $drop=, __stack_pointer($pop44), $pop43 return .LBB0_7: # %sw.default end_block # label0: @@ -331,13 +337,13 @@ f5: # @f5 .param i32, i32 .local i32 # BB#0: # %entry - i32.const $push45=, 0 - i32.const $push42=, 0 - i32.load $push43=, __stack_pointer($pop42) - i32.const $push44=, 80 - i32.sub $push54=, $pop43, $pop44 - tee_local $push53=, $2=, $pop54 - i32.store $drop=, __stack_pointer($pop45), $pop53 + i32.const $push41=, 0 + i32.const $push38=, 0 + i32.load $push39=, __stack_pointer($pop38) + i32.const $push40=, 80 + i32.sub $push50=, $pop39, $pop40 + tee_local $push49=, $2=, $pop50 + i32.store $drop=, __stack_pointer($pop41), $pop49 i32.store $drop=, 48($2), $1 block block @@ -355,70 +361,76 @@ f5: # @f5 i32.ne $push5=, $0, $pop4 br_if 3, $pop5 # 3: down to label10 # BB#3: # %sw.bb.i - i32.const $push41=, 0 - i32.load $push35=, 0($1) - f64.convert_s/i32 $push36=, $pop35 - i32.const $push30=, 11 - i32.add $push31=, $1, $pop30 - i32.const $push32=, -8 - i32.and $push56=, $pop31, $pop32 - tee_local $push55=, $1=, $pop56 - f64.load $push34=, 0($pop55) - f64.add $push37=, $pop36, $pop34 - i32.trunc_s/f64 $push38=, $pop37 - i64.extend_u/i32 $push39=, $pop38 - i64.load $push33=, 8($1) - i64.add $push40=, $pop39, $pop33 - i64.store32 $drop=, foo_arg($pop41), $pop40 + i32.const $push33=, 0 + i32.load $push30=, 0($1) + f64.convert_s/i32 $push31=, $pop30 + i32.const $push26=, 11 + i32.add $push27=, $1, $pop26 + i32.const $push28=, -8 + i32.and $push54=, $pop27, $pop28 + tee_local $push53=, $1=, $pop54 + f64.load $push29=, 0($pop53) + f64.add $push32=, $pop31, $pop29 + i32.trunc_s/f64 $push52=, $pop32 + tee_local $push51=, $0=, $pop52 + i32.store $drop=, foo_arg($pop33), $pop51 + i64.extend_u/i32 $push35=, $0 + i64.load $push34=, 8($1) + i64.add $push36=, $pop35, $pop34 + i32.wrap/i64 $1=, $pop36 br 2 # 2: down to label11 .LBB6_4: # %sw.bb18.i end_block # label13: - i32.const $push49=, 16 - i32.add $push50=, $2, $pop49 - i32.load $push6=, 0($1) - call __floatsitf@FUNCTION, $pop50, $pop6 - i64.load $push15=, 16($2) - i32.const $push51=, 16 - i32.add $push52=, $2, $pop51 - i32.const $push12=, 8 - i32.add $push13=, $pop52, $pop12 - i64.load $push14=, 0($pop13) - i32.const $push7=, 19 - i32.add $push8=, $1, $pop7 - i32.const $push9=, -16 - i32.and $push59=, $pop8, $pop9 - tee_local $push58=, $1=, $pop59 - i64.load $push11=, 0($pop58) - i64.load $push10=, 8($1) - call __addtf3@FUNCTION, $2, $pop15, $pop14, $pop11, $pop10 - i32.const $push20=, 0 + i32.const $push45=, 16 + i32.add $push46=, $2, $pop45 + i32.load $push59=, 0($1) + tee_local $push58=, $0=, $pop59 + call __floatsitf@FUNCTION, $pop46, $pop58 + i64.load $push14=, 16($2) + i32.const $push47=, 16 + i32.add $push48=, $2, $pop47 + i32.const $push11=, 8 + i32.add $push12=, $pop48, $pop11 + i64.load $push13=, 0($pop12) + i32.const $push6=, 19 + i32.add $push7=, $1, $pop6 + i32.const $push8=, -16 + i32.and $push57=, $pop7, $pop8 + tee_local $push56=, $1=, $pop57 + i64.load $push10=, 0($pop56) + i64.load $push9=, 8($1) + call __addtf3@FUNCTION, $2, $pop14, $pop13, $pop10, $pop9 + i32.const $push15=, 0 + i32.store $drop=, foo_arg($pop15), $0 i64.load $push18=, 0($2) - i32.const $push57=, 8 - i32.add $push16=, $2, $pop57 + i32.const $push55=, 8 + i32.add $push16=, $2, $pop55 i64.load $push17=, 0($pop16) - i32.call $push19=, __fixtfsi@FUNCTION, $pop18, $pop17 - i32.store $drop=, foo_arg($pop20), $pop19 + i32.call $1=, __fixtfsi@FUNCTION, $pop18, $pop17 br 1 # 1: down to label11 .LBB6_5: # %sw.bb9.i end_block # label12: - i32.const $push29=, 0 - i32.const $push21=, 7 - i32.add $push22=, $1, $pop21 - i32.const $push23=, -8 - i32.and $push61=, $pop22, $pop23 - tee_local $push60=, $1=, $pop61 - f64.load $push24=, 8($pop60) - i32.load $push25=, 0($1) - f64.convert_s/i32 $push26=, $pop25 - f64.add $push27=, $pop24, $pop26 - i32.trunc_s/f64 $push28=, $pop27 - i32.store $drop=, foo_arg($pop29), $pop28 + i32.const $push22=, 0 + i32.const $push19=, 7 + i32.add $push20=, $1, $pop19 + i32.const $push21=, -8 + i32.and $push63=, $pop20, $pop21 + tee_local $push62=, $1=, $pop63 + i32.load $push61=, 0($pop62) + tee_local $push60=, $0=, $pop61 + i32.store $drop=, foo_arg($pop22), $pop60 + f64.convert_s/i32 $push24=, $0 + f64.load $push23=, 8($1) + f64.add $push25=, $pop24, $pop23 + i32.trunc_s/f64 $1=, $pop25 .LBB6_6: # %foo.exit end_block # label11: - i32.const $push48=, 0 - i32.const $push46=, 80 - i32.add $push47=, $2, $pop46 - i32.store $drop=, __stack_pointer($pop48), $pop47 + i32.const $push37=, 0 + i32.store $drop=, foo_arg($pop37), $1 + i32.const $push44=, 0 + i32.const $push42=, 80 + i32.add $push43=, $2, $pop42 + i32.store $drop=, __stack_pointer($pop44), $pop43 return .LBB6_7: # %sw.default.i end_block # label10: @@ -526,13 +538,13 @@ f8: # @f8 .param i32, i32 .local i32 # BB#0: # %entry - i32.const $push45=, 0 - i32.const $push42=, 0 - i32.load $push43=, __stack_pointer($pop42) - i32.const $push44=, 48 - i32.sub $push54=, $pop43, $pop44 - tee_local $push53=, $2=, $pop54 - i32.store $drop=, __stack_pointer($pop45), $pop53 + i32.const $push41=, 0 + i32.const $push38=, 0 + i32.load $push39=, __stack_pointer($pop38) + i32.const $push40=, 48 + i32.sub $push50=, $pop39, $pop40 + tee_local $push49=, $2=, $pop50 + i32.store $drop=, __stack_pointer($pop41), $pop49 i32.store $drop=, 36($2), $1 block block @@ -550,70 +562,76 @@ f8: # @f8 i32.ne $push5=, $0, $pop4 br_if 3, $pop5 # 3: down to label16 # BB#3: # %sw.bb.i - i32.const $push41=, 0 - i32.load $push35=, 0($1) - f64.convert_s/i32 $push36=, $pop35 - i32.const $push30=, 11 - i32.add $push31=, $1, $pop30 - i32.const $push32=, -8 - i32.and $push56=, $pop31, $pop32 - tee_local $push55=, $1=, $pop56 - f64.load $push34=, 0($pop55) - f64.add $push37=, $pop36, $pop34 - i32.trunc_s/f64 $push38=, $pop37 - i64.extend_u/i32 $push39=, $pop38 - i64.load $push33=, 8($1) - i64.add $push40=, $pop39, $pop33 - i64.store32 $drop=, foo_arg($pop41), $pop40 + i32.const $push33=, 0 + i32.load $push30=, 0($1) + f64.convert_s/i32 $push31=, $pop30 + i32.const $push26=, 11 + i32.add $push27=, $1, $pop26 + i32.const $push28=, -8 + i32.and $push54=, $pop27, $pop28 + tee_local $push53=, $1=, $pop54 + f64.load $push29=, 0($pop53) + f64.add $push32=, $pop31, $pop29 + i32.trunc_s/f64 $push52=, $pop32 + tee_local $push51=, $0=, $pop52 + i32.store $drop=, foo_arg($pop33), $pop51 + i64.extend_u/i32 $push35=, $0 + i64.load $push34=, 8($1) + i64.add $push36=, $pop35, $pop34 + i32.wrap/i64 $1=, $pop36 br 2 # 2: down to label17 .LBB9_4: # %sw.bb18.i end_block # label19: - i32.const $push49=, 16 - i32.add $push50=, $2, $pop49 - i32.load $push6=, 0($1) - call __floatsitf@FUNCTION, $pop50, $pop6 - i64.load $push15=, 16($2) - i32.const $push51=, 16 - i32.add $push52=, $2, $pop51 - i32.const $push12=, 8 - i32.add $push13=, $pop52, $pop12 - i64.load $push14=, 0($pop13) - i32.const $push7=, 19 - i32.add $push8=, $1, $pop7 - i32.const $push9=, -16 - i32.and $push59=, $pop8, $pop9 - tee_local $push58=, $1=, $pop59 - i64.load $push11=, 0($pop58) - i64.load $push10=, 8($1) - call __addtf3@FUNCTION, $2, $pop15, $pop14, $pop11, $pop10 - i32.const $push20=, 0 + i32.const $push45=, 16 + i32.add $push46=, $2, $pop45 + i32.load $push59=, 0($1) + tee_local $push58=, $0=, $pop59 + call __floatsitf@FUNCTION, $pop46, $pop58 + i64.load $push14=, 16($2) + i32.const $push47=, 16 + i32.add $push48=, $2, $pop47 + i32.const $push11=, 8 + i32.add $push12=, $pop48, $pop11 + i64.load $push13=, 0($pop12) + i32.const $push6=, 19 + i32.add $push7=, $1, $pop6 + i32.const $push8=, -16 + i32.and $push57=, $pop7, $pop8 + tee_local $push56=, $1=, $pop57 + i64.load $push10=, 0($pop56) + i64.load $push9=, 8($1) + call __addtf3@FUNCTION, $2, $pop14, $pop13, $pop10, $pop9 + i32.const $push15=, 0 + i32.store $drop=, foo_arg($pop15), $0 i64.load $push18=, 0($2) - i32.const $push57=, 8 - i32.add $push16=, $2, $pop57 + i32.const $push55=, 8 + i32.add $push16=, $2, $pop55 i64.load $push17=, 0($pop16) - i32.call $push19=, __fixtfsi@FUNCTION, $pop18, $pop17 - i32.store $drop=, foo_arg($pop20), $pop19 + i32.call $1=, __fixtfsi@FUNCTION, $pop18, $pop17 br 1 # 1: down to label17 .LBB9_5: # %sw.bb9.i end_block # label18: - i32.const $push29=, 0 - i32.const $push21=, 7 - i32.add $push22=, $1, $pop21 - i32.const $push23=, -8 - i32.and $push61=, $pop22, $pop23 - tee_local $push60=, $1=, $pop61 - f64.load $push24=, 8($pop60) - i32.load $push25=, 0($1) - f64.convert_s/i32 $push26=, $pop25 - f64.add $push27=, $pop24, $pop26 - i32.trunc_s/f64 $push28=, $pop27 - i32.store $drop=, foo_arg($pop29), $pop28 + i32.const $push22=, 0 + i32.const $push19=, 7 + i32.add $push20=, $1, $pop19 + i32.const $push21=, -8 + i32.and $push63=, $pop20, $pop21 + tee_local $push62=, $1=, $pop63 + i32.load $push61=, 0($pop62) + tee_local $push60=, $0=, $pop61 + i32.store $drop=, foo_arg($pop22), $pop60 + f64.convert_s/i32 $push24=, $0 + f64.load $push23=, 8($1) + f64.add $push25=, $pop24, $pop23 + i32.trunc_s/f64 $1=, $pop25 .LBB9_6: # %foo.exit end_block # label17: - i32.const $push48=, 0 - i32.const $push46=, 48 - i32.add $push47=, $2, $pop46 - i32.store $drop=, __stack_pointer($pop48), $pop47 + i32.const $push37=, 0 + i32.store $drop=, foo_arg($pop37), $1 + i32.const $push44=, 0 + i32.const $push42=, 48 + i32.add $push43=, $2, $pop42 + i32.store $drop=, __stack_pointer($pop44), $pop43 return .LBB9_7: # %sw.default.i end_block # label16: @@ -725,13 +743,13 @@ f12: # @f12 .param i32, i32 .local i32 # BB#0: # %entry - i32.const $push47=, 0 - i32.const $push44=, 0 - i32.load $push45=, __stack_pointer($pop44) - i32.const $push46=, 48 - i32.sub $push56=, $pop45, $pop46 - tee_local $push55=, $2=, $pop56 - i32.store $drop=, __stack_pointer($pop47), $pop55 + i32.const $push43=, 0 + i32.const $push40=, 0 + i32.load $push41=, __stack_pointer($pop40) + i32.const $push42=, 48 + i32.sub $push52=, $pop41, $pop42 + tee_local $push51=, $2=, $pop52 + i32.store $drop=, __stack_pointer($pop43), $pop51 i32.const $push1=, 44 i32.add $push0=, $2, $pop1 i32.store $drop=, 0($pop0), $1 @@ -751,70 +769,76 @@ f12: # @f12 i32.ne $push7=, $0, $pop6 br_if 3, $pop7 # 3: down to label22 # BB#3: # %sw.bb.i - i32.const $push43=, 0 - i32.load $push37=, 0($1) - f64.convert_s/i32 $push38=, $pop37 - i32.const $push32=, 11 - i32.add $push33=, $1, $pop32 - i32.const $push34=, -8 - i32.and $push58=, $pop33, $pop34 - tee_local $push57=, $1=, $pop58 - f64.load $push36=, 0($pop57) - f64.add $push39=, $pop38, $pop36 - i32.trunc_s/f64 $push40=, $pop39 - i64.extend_u/i32 $push41=, $pop40 - i64.load $push35=, 8($1) - i64.add $push42=, $pop41, $pop35 - i64.store32 $drop=, foo_arg($pop43), $pop42 + i32.const $push35=, 0 + i32.load $push32=, 0($1) + f64.convert_s/i32 $push33=, $pop32 + i32.const $push28=, 11 + i32.add $push29=, $1, $pop28 + i32.const $push30=, -8 + i32.and $push56=, $pop29, $pop30 + tee_local $push55=, $1=, $pop56 + f64.load $push31=, 0($pop55) + f64.add $push34=, $pop33, $pop31 + i32.trunc_s/f64 $push54=, $pop34 + tee_local $push53=, $0=, $pop54 + i32.store $drop=, foo_arg($pop35), $pop53 + i64.extend_u/i32 $push37=, $0 + i64.load $push36=, 8($1) + i64.add $push38=, $pop37, $pop36 + i32.wrap/i64 $1=, $pop38 br 2 # 2: down to label23 .LBB12_4: # %sw.bb18.i end_block # label25: - i32.const $push51=, 16 - i32.add $push52=, $2, $pop51 - i32.load $push8=, 0($1) - call __floatsitf@FUNCTION, $pop52, $pop8 - i64.load $push17=, 16($2) - i32.const $push53=, 16 - i32.add $push54=, $2, $pop53 - i32.const $push14=, 8 - i32.add $push15=, $pop54, $pop14 - i64.load $push16=, 0($pop15) - i32.const $push9=, 19 - i32.add $push10=, $1, $pop9 - i32.const $push11=, -16 - i32.and $push61=, $pop10, $pop11 - tee_local $push60=, $1=, $pop61 - i64.load $push13=, 0($pop60) - i64.load $push12=, 8($1) - call __addtf3@FUNCTION, $2, $pop17, $pop16, $pop13, $pop12 - i32.const $push22=, 0 + i32.const $push47=, 16 + i32.add $push48=, $2, $pop47 + i32.load $push61=, 0($1) + tee_local $push60=, $0=, $pop61 + call __floatsitf@FUNCTION, $pop48, $pop60 + i64.load $push16=, 16($2) + i32.const $push49=, 16 + i32.add $push50=, $2, $pop49 + i32.const $push13=, 8 + i32.add $push14=, $pop50, $pop13 + i64.load $push15=, 0($pop14) + i32.const $push8=, 19 + i32.add $push9=, $1, $pop8 + i32.const $push10=, -16 + i32.and $push59=, $pop9, $pop10 + tee_local $push58=, $1=, $pop59 + i64.load $push12=, 0($pop58) + i64.load $push11=, 8($1) + call __addtf3@FUNCTION, $2, $pop16, $pop15, $pop12, $pop11 + i32.const $push17=, 0 + i32.store $drop=, foo_arg($pop17), $0 i64.load $push20=, 0($2) - i32.const $push59=, 8 - i32.add $push18=, $2, $pop59 + i32.const $push57=, 8 + i32.add $push18=, $2, $pop57 i64.load $push19=, 0($pop18) - i32.call $push21=, __fixtfsi@FUNCTION, $pop20, $pop19 - i32.store $drop=, foo_arg($pop22), $pop21 + i32.call $1=, __fixtfsi@FUNCTION, $pop20, $pop19 br 1 # 1: down to label23 .LBB12_5: # %sw.bb9.i end_block # label24: - i32.const $push31=, 0 - i32.const $push23=, 7 - i32.add $push24=, $1, $pop23 - i32.const $push25=, -8 - i32.and $push63=, $pop24, $pop25 - tee_local $push62=, $1=, $pop63 - f64.load $push26=, 8($pop62) - i32.load $push27=, 0($1) - f64.convert_s/i32 $push28=, $pop27 - f64.add $push29=, $pop26, $pop28 - i32.trunc_s/f64 $push30=, $pop29 - i32.store $drop=, foo_arg($pop31), $pop30 + i32.const $push24=, 0 + i32.const $push21=, 7 + i32.add $push22=, $1, $pop21 + i32.const $push23=, -8 + i32.and $push65=, $pop22, $pop23 + tee_local $push64=, $1=, $pop65 + i32.load $push63=, 0($pop64) + tee_local $push62=, $0=, $pop63 + i32.store $drop=, foo_arg($pop24), $pop62 + f64.convert_s/i32 $push26=, $0 + f64.load $push25=, 8($1) + f64.add $push27=, $pop26, $pop25 + i32.trunc_s/f64 $1=, $pop27 .LBB12_6: # %foo.exit end_block # label23: - i32.const $push50=, 0 - i32.const $push48=, 48 - i32.add $push49=, $2, $pop48 - i32.store $drop=, __stack_pointer($pop50), $pop49 + i32.const $push39=, 0 + i32.store $drop=, foo_arg($pop39), $1 + i32.const $push46=, 0 + i32.const $push44=, 48 + i32.add $push45=, $2, $pop44 + i32.store $drop=, __stack_pointer($pop46), $pop45 return .LBB12_7: # %sw.default.i end_block # label22: diff --git a/test/torture-s/strct-pack-1.c.s b/test/torture-s/strct-pack-1.c.s index ff0793cad..eb21d47fd 100644 --- a/test/torture-s/strct-pack-1.c.s +++ b/test/torture-s/strct-pack-1.c.s @@ -9,21 +9,19 @@ check: # @check .result i32 .local i32 # BB#0: # %entry - block + i32.const $1=, 1 block i32.load16_u $push0=, 0($0) - i32.const $push1=, 1 - i32.ne $push2=, $pop0, $pop1 - br_if 0, $pop2 # 0: down to label1 + i32.const $push5=, 1 + i32.ne $push1=, $pop0, $pop5 + br_if 0, $pop1 # 0: down to label0 # BB#1: # %lor.lhs.false + f64.load $push2=, 2($0):p2align=1 + f64.const $push3=, 0x1p4 + f64.ne $push4=, $pop2, $pop3 + br_if 0, $pop4 # 0: down to label0 +# BB#2: # %if.end i32.const $1=, 0 - f64.load $push3=, 2($0):p2align=1 - f64.const $push4=, 0x1p4 - f64.eq $push5=, $pop3, $pop4 - br_if 1, $pop5 # 1: down to label0 -.LBB0_2: # %if.then - end_block # label1: - i32.const $1=, 1 .LBB0_3: # %return end_block # label0: copy_local $push6=, $1 diff --git a/test/torture-s/struct-ret-1.c.s b/test/torture-s/struct-ret-1.c.s index dca9d03ec..3be2dcd1f 100644 --- a/test/torture-s/struct-ret-1.c.s +++ b/test/torture-s/struct-ret-1.c.s @@ -6,63 +6,65 @@ .type f,@function f: # @f .param i32, i32, i32, f64, i32 - .local i32, f64, i64, f64, i64, i32 + .local i32, i32, i32, f64, f64, i32, i32 # BB#0: # %entry i32.const $push28=, 0 i32.const $push25=, 0 i32.load $push26=, __stack_pointer($pop25) i32.const $push27=, 64 i32.sub $push36=, $pop26, $pop27 - tee_local $push35=, $10=, $pop36 + tee_local $push35=, $11=, $pop36 i32.store $drop=, __stack_pointer($pop28), $pop35 - i32.const $push1=, 16 + i32.const $push1=, 12 i32.add $push2=, $1, $pop1 i32.load $5=, 0($pop2) - f64.load $6=, 0($1) - i64.load $7=, 8($1) - f64.load $8=, 0($4) - i64.load $9=, 8($4) - i32.const $push5=, 48 - i32.add $push6=, $10, $pop5 - i32.const $push34=, 16 - i32.add $push3=, $4, $pop34 - i32.load $push4=, 0($pop3) - i32.store $drop=, 0($pop6), $pop4 - i32.const $push9=, 44 - i32.add $push10=, $10, $pop9 - i64.const $push7=, 32 - i64.shr_u $push8=, $9, $pop7 - i64.store32 $drop=, 0($pop10), $pop8 - i32.const $push11=, 40 - i32.add $push12=, $10, $pop11 - i64.store32 $drop=, 0($pop12), $9 - i32.const $push13=, 32 - i32.add $push14=, $10, $pop13 - f64.store $drop=, 0($pop14), $8 - i32.const $push15=, 24 - i32.add $push16=, $10, $pop15 - f64.store $drop=, 0($pop16), $3 - i32.const $push17=, 20 - i32.add $push18=, $10, $pop17 - i32.store $drop=, 0($pop18), $2 + i32.const $push3=, 16 + i32.add $push4=, $1, $pop3 + i32.load $6=, 0($pop4) + i32.const $push34=, 12 + i32.add $push5=, $4, $pop34 + i32.load $7=, 0($pop5) + f64.load $8=, 0($1) + i32.load $1=, 8($1) + f64.load $9=, 0($4) + i32.load $10=, 8($4) + i32.const $push8=, 48 + i32.add $push9=, $11, $pop8 i32.const $push33=, 16 - i32.add $push19=, $10, $pop33 - i32.store $drop=, 0($pop19), $5 - i64.const $push32=, 32 - i64.shr_u $push20=, $7, $pop32 - i64.store32 $drop=, 12($10), $pop20 - i64.store32 $drop=, 8($10), $7 - f64.store $drop=, 0($10), $6 + i32.add $push6=, $4, $pop33 + i32.load $push7=, 0($pop6) + i32.store $drop=, 0($pop9), $pop7 + i32.const $push10=, 44 + i32.add $push11=, $11, $pop10 + i32.store $drop=, 0($pop11), $7 + i32.const $push12=, 40 + i32.add $push13=, $11, $pop12 + i32.store $drop=, 0($pop13), $10 + i32.const $push14=, 32 + i32.add $push15=, $11, $pop14 + f64.store $drop=, 0($pop15), $9 + i32.const $push16=, 24 + i32.add $push17=, $11, $pop16 + f64.store $drop=, 0($pop17), $3 + i32.const $push18=, 20 + i32.add $push19=, $11, $pop18 + i32.store $drop=, 0($pop19), $2 + i32.const $push32=, 16 + i32.add $push20=, $11, $pop32 + i32.store $drop=, 0($pop20), $6 + i32.store $drop=, 12($11), $5 + i32.store $drop=, 8($11), $1 + f64.store $drop=, 0($11), $8 i32.const $push22=, out i32.const $push21=, .L.str - i32.call $drop=, sprintf@FUNCTION, $pop22, $pop21, $10 + i32.call $drop=, sprintf@FUNCTION, $pop22, $pop21, $11 i32.const $push24=, f.xr i32.const $push23=, 33 i32.call $push0=, memcpy@FUNCTION, $0, $pop24, $pop23 i32.store8 $drop=, 33($pop0), $2 i32.const $push31=, 0 i32.const $push29=, 64 - i32.add $push30=, $10, $pop29 + i32.add $push30=, $11, $pop29 i32.store $drop=, __stack_pointer($pop31), $pop30 # fallthrough-return .endfunc @@ -75,137 +77,134 @@ f: # @f .type main,@function main: # @main .result i32 - .local f64, i64, i32, i32, f64, f64, i64, i32 + .local f64, i64, i32, i32, f64, f64, i32, i32, i32 # BB#0: # %entry - i32.const $push41=, 0 i32.const $push38=, 0 - i32.load $push39=, __stack_pointer($pop38) - i32.const $push40=, 256 - i32.sub $push90=, $pop39, $pop40 - tee_local $push89=, $7=, $pop90 - i32.store $drop=, __stack_pointer($pop41), $pop89 - i32.const $push88=, 0 - f64.load $0=, B1($pop88) - i32.const $push87=, 0 - i64.load $1=, B1+8($pop87) - i32.const $push86=, 0 - i32.load $2=, B1+16($pop86) + i32.const $push35=, 0 + i32.load $push36=, __stack_pointer($pop35) + i32.const $push37=, 256 + i32.sub $push87=, $pop36, $pop37 + tee_local $push86=, $8=, $pop87 + i32.store $drop=, __stack_pointer($pop38), $pop86 i32.const $push85=, 0 - i32.load8_s $3=, c2($pop85) + f64.load $0=, B1($pop85) i32.const $push84=, 0 - f64.load $4=, d3($pop84) + i64.load $1=, B1+8($pop84) i32.const $push83=, 0 - f64.load $5=, B2($pop83) + i32.load $2=, B1+16($pop83) i32.const $push82=, 0 - i64.load $6=, B2+8($pop82) - i32.const $push1=, 96 - i32.add $push2=, $7, $pop1 + i32.load8_s $3=, c2($pop82) i32.const $push81=, 0 - i32.load $push0=, B2+16($pop81) - i32.store $drop=, 0($pop2), $pop0 - i32.const $push3=, 88 - i32.add $push4=, $7, $pop3 - i64.store32 $drop=, 0($pop4), $6 - i32.const $push5=, 80 - i32.add $push6=, $7, $pop5 - f64.store $drop=, 0($pop6), $5 - i32.const $push7=, 72 - i32.add $push8=, $7, $pop7 - f64.store $drop=, 0($pop8), $4 - i32.const $push42=, 48 - i32.add $push43=, $7, $pop42 - i32.const $push9=, 20 - i32.add $push10=, $pop43, $pop9 - i32.store $drop=, 0($pop10), $3 - i32.const $push44=, 48 - i32.add $push45=, $7, $pop44 - i32.const $push11=, 16 - i32.add $push12=, $pop45, $pop11 - i32.store $drop=, 0($pop12), $2 - i32.const $push15=, 92 - i32.add $push16=, $7, $pop15 - i64.const $push13=, 32 - i64.shr_u $push14=, $6, $pop13 - i64.store32 $drop=, 0($pop16), $pop14 - i64.store32 $drop=, 56($7), $1 - f64.store $drop=, 48($7), $0 - i64.const $push80=, 32 - i64.shr_u $push17=, $1, $pop80 - i64.store32 $drop=, 60($7), $pop17 - i32.const $push19=, out - i32.const $push18=, .L.str - i32.const $push46=, 48 - i32.add $push47=, $7, $pop46 - i32.call $drop=, sprintf@FUNCTION, $pop19, $pop18, $pop47 - i32.const $push48=, 144 - i32.add $push49=, $7, $pop48 - i32.const $push79=, out - i32.call $drop=, strcpy@FUNCTION, $pop49, $pop79 - i32.const $push50=, 24 - i32.add $push51=, $7, $pop50 - i32.const $push78=, 20 - i32.add $push20=, $pop51, $pop78 + f64.load $4=, d3($pop81) + i32.const $push80=, 0 + f64.load $5=, B2($pop80) + i32.const $push79=, 0 + i32.load $6=, B2+8($pop79) + i32.const $push78=, 0 + i32.load $7=, B2+12($pop78) + i32.const $push1=, 96 + i32.add $push2=, $8, $pop1 i32.const $push77=, 0 - i32.load $push21=, B1+20($pop77) - i32.store $drop=, 0($pop20), $pop21 - i32.const $push52=, 24 - i32.add $push53=, $7, $pop52 - i32.const $push76=, 16 - i32.add $push22=, $pop53, $pop76 - i32.const $push75=, 0 - i32.load $push23=, B1+16($pop75) - i32.store $drop=, 0($pop22), $pop23 - i32.const $push24=, 36 - i32.add $push25=, $7, $pop24 + i32.load $push0=, B2+16($pop77) + i32.store $drop=, 0($pop2), $pop0 + i32.const $push3=, 92 + i32.add $push4=, $8, $pop3 + i32.store $drop=, 0($pop4), $7 + i32.const $push5=, 88 + i32.add $push6=, $8, $pop5 + i32.store $drop=, 0($pop6), $6 + i32.const $push7=, 80 + i32.add $push8=, $8, $pop7 + f64.store $drop=, 0($pop8), $5 + i32.const $push9=, 72 + i32.add $push10=, $8, $pop9 + f64.store $drop=, 0($pop10), $4 + i32.const $push39=, 48 + i32.add $push40=, $8, $pop39 + i32.const $push11=, 20 + i32.add $push12=, $pop40, $pop11 + i32.store $drop=, 0($pop12), $3 + i32.const $push41=, 48 + i32.add $push42=, $8, $pop41 + i32.const $push13=, 16 + i32.add $push14=, $pop42, $pop13 + i32.store $drop=, 0($pop14), $2 + i64.store $drop=, 56($8), $1 + f64.store $drop=, 48($8), $0 + i32.const $push16=, out + i32.const $push15=, .L.str + i32.const $push43=, 48 + i32.add $push44=, $8, $pop43 + i32.call $drop=, sprintf@FUNCTION, $pop16, $pop15, $pop44 + i32.const $push45=, 144 + i32.add $push46=, $8, $pop45 + i32.const $push76=, out + i32.call $drop=, strcpy@FUNCTION, $pop46, $pop76 + i32.const $push47=, 24 + i32.add $push48=, $8, $pop47 + i32.const $push75=, 20 + i32.add $push17=, $pop48, $pop75 i32.const $push74=, 0 - i32.load $push26=, B1+12($pop74) - i32.store $drop=, 0($pop25), $pop26 - i32.const $push54=, 24 - i32.add $push55=, $7, $pop54 - i32.const $push27=, 8 - i32.add $push28=, $pop55, $pop27 - i32.const $push73=, 0 - i32.load $push29=, B1+8($pop73) - i32.store $drop=, 0($pop28), $pop29 + i32.load $push18=, B1+20($pop74) + i32.store $drop=, 0($pop17), $pop18 + i32.const $push49=, 24 + i32.add $push50=, $8, $pop49 + i32.const $push73=, 16 + i32.add $push19=, $pop50, $pop73 i32.const $push72=, 0 - i32.load $push30=, B1+4($pop72) - i32.store $drop=, 28($7), $pop30 + i32.load $push20=, B1+16($pop72) + i32.store $drop=, 0($pop19), $pop20 + i32.const $push21=, 36 + i32.add $push22=, $8, $pop21 i32.const $push71=, 0 - i32.load $push31=, B1($pop71) - i32.store $drop=, 24($7), $pop31 + i32.load $push23=, B1+12($pop71) + i32.store $drop=, 0($pop22), $pop23 + i32.const $push51=, 24 + i32.add $push52=, $8, $pop51 + i32.const $push24=, 8 + i32.add $push25=, $pop52, $pop24 i32.const $push70=, 0 - f64.load $0=, d3($pop70) + i32.load $push26=, B1+8($pop70) + i32.store $drop=, 0($pop25), $pop26 i32.const $push69=, 0 - i32.load8_s $2=, c2($pop69) + i32.load $push27=, B1+4($pop69) + i32.store $drop=, 28($8), $pop27 i32.const $push68=, 0 - i32.load $3=, fp($pop68) - i32.const $push67=, 16 - i32.add $push32=, $7, $pop67 + i32.load $push28=, B1($pop68) + i32.store $drop=, 24($8), $pop28 + i32.const $push67=, 0 + f64.load $0=, d3($pop67) i32.const $push66=, 0 - i64.load $push33=, B2+16($pop66) - i64.store $drop=, 0($pop32), $pop33 - i32.const $push65=, 8 - i32.add $push34=, $7, $pop65 - i32.const $push64=, 0 - i64.load $push35=, B2+8($pop64) - i64.store $drop=, 0($pop34), $pop35 + i32.load8_s $2=, c2($pop66) + i32.const $push65=, 0 + i32.load $3=, fp($pop65) + i32.const $push64=, 16 + i32.add $push29=, $8, $pop64 i32.const $push63=, 0 - i64.load $push36=, B2($pop63) - i64.store $drop=, 0($7), $pop36 - i32.const $push56=, 104 - i32.add $push57=, $7, $pop56 - i32.const $push58=, 24 - i32.add $push59=, $7, $pop58 - call_indirect $3, $pop57, $pop59, $2, $0, $7 + i64.load $push30=, B2+16($pop63) + i64.store $drop=, 0($pop29), $pop30 + i32.const $push62=, 8 + i32.add $push31=, $8, $pop62 + i32.const $push61=, 0 + i64.load $push32=, B2+8($pop61) + i64.store $drop=, 0($pop31), $pop32 + i32.const $push60=, 0 + i64.load $push33=, B2($pop60) + i64.store $drop=, 0($8), $pop33 + i32.const $push53=, 104 + i32.add $push54=, $8, $pop53 + i32.const $push55=, 24 + i32.add $push56=, $8, $pop55 + call_indirect $3, $pop54, $pop56, $2, $0, $8 block - i32.const $push60=, 144 - i32.add $push61=, $7, $pop60 - i32.const $push62=, out - i32.call $push37=, strcmp@FUNCTION, $pop61, $pop62 - br_if 0, $pop37 # 0: down to label0 + i32.const $push57=, 144 + i32.add $push58=, $8, $pop57 + i32.const $push59=, out + i32.call $push34=, strcmp@FUNCTION, $pop58, $pop59 + br_if 0, $pop34 # 0: down to label0 # BB#1: # %if.end - i32.const $push91=, 0 - call exit@FUNCTION, $pop91 + i32.const $push88=, 0 + call exit@FUNCTION, $pop88 unreachable .LBB1_2: # %if.then end_block # label0: diff --git a/test/torture-s/switch-1.c.s b/test/torture-s/switch-1.c.s index da01c6206..f3bf646dd 100644 --- a/test/torture-s/switch-1.c.s +++ b/test/torture-s/switch-1.c.s @@ -7,26 +7,25 @@ foo: # @foo .param i32 .result i32 - .local i32 # BB#0: # %entry - i32.const $1=, 31 block i32.const $push0=, -4 - i32.add $push8=, $0, $pop0 - tee_local $push7=, $0=, $pop8 + i32.add $push10=, $0, $pop0 + tee_local $push9=, $0=, $pop10 i32.const $push1=, 7 - i32.gt_u $push2=, $pop7, $pop1 + i32.gt_u $push2=, $pop9, $pop1 br_if 0, $pop2 # 0: down to label0 # BB#1: # %switch.lookup - i32.const $push3=, 2 - i32.shl $push4=, $0, $pop3 - i32.const $push5=, .Lswitch.table - i32.add $push6=, $pop4, $pop5 - i32.load $1=, 0($pop6) + i32.const $push4=, 2 + i32.shl $push5=, $0, $pop4 + i32.const $push6=, .Lswitch.table + i32.add $push7=, $pop5, $pop6 + i32.load $push8=, 0($pop7) + return $pop8 .LBB0_2: # %return end_block # label0: - copy_local $push9=, $1 - # fallthrough-return: $pop9 + i32.const $push3=, 31 + # fallthrough-return: $pop3 .endfunc .Lfunc_end0: .size foo, .Lfunc_end0-foo diff --git a/test/torture-s/tstdi-1.c.s b/test/torture-s/tstdi-1.c.s index 053670744..b16794f87 100644 --- a/test/torture-s/tstdi-1.c.s +++ b/test/torture-s/tstdi-1.c.s @@ -25,12 +25,11 @@ fne: # @fne .param i64 .result i32 # BB#0: # %entry - i32.const $push3=, 13 i32.const $push2=, 140 - i64.const $push0=, 0 - i64.ne $push1=, $0, $pop0 - i32.select $push4=, $pop3, $pop2, $pop1 - # fallthrough-return: $pop4 + i32.const $push1=, 13 + i64.eqz $push0=, $0 + i32.select $push3=, $pop2, $pop1, $pop0 + # fallthrough-return: $pop3 .endfunc .Lfunc_end1: .size fne, .Lfunc_end1-fne diff --git a/test/torture-s/va-arg-15.c.s b/test/torture-s/va-arg-15.c.s index 2b8fd5f43..7e623087b 100644 --- a/test/torture-s/va-arg-15.c.s +++ b/test/torture-s/va-arg-15.c.s @@ -6,71 +6,71 @@ .type vafunction,@function vafunction: # @vafunction .param i32, i32 - .local i32, i32, i32, i32, i32 -# BB#0: # %for.body.preheader - i32.const $push10=, 0 - i32.const $push7=, 0 - i32.load $push8=, __stack_pointer($pop7) - i32.const $push9=, 16 - i32.sub $push15=, $pop8, $pop9 - tee_local $push14=, $6=, $pop15 - i32.store $drop=, __stack_pointer($pop10), $pop14 - i32.store $drop=, 12($6), $1 - i32.const $2=, 0 + .local i32, i32, i32, i32 +# BB#0: # %entry + i32.const $push11=, 0 + i32.const $push8=, 0 + i32.load $push9=, __stack_pointer($pop8) + i32.const $push10=, 16 + i32.sub $push16=, $pop9, $pop10 + tee_local $push15=, $5=, $pop16 + i32.store $drop=, __stack_pointer($pop11), $pop15 + i32.store $drop=, 12($5), $1 + i32.const $2=, 1 .LBB0_1: # %for.body # =>This Inner Loop Header: Depth=1 block block loop # label2: - i32.const $push17=, 1 - i32.add $3=, $2, $pop17 block block - i32.const $push16=, 1 - i32.and $push0=, $2, $pop16 - br_if 0, $pop0 # 0: down to label5 + i32.const $push18=, -1 + i32.add $push0=, $2, $pop18 + i32.const $push17=, 1 + i32.and $push1=, $pop0, $pop17 + br_if 0, $pop1 # 0: down to label5 # BB#2: # %if.else # in Loop: Header=BB0_1 Depth=1 - i32.const $push20=, 4 - i32.add $push19=, $1, $pop20 - tee_local $push18=, $5=, $pop19 - i32.store $drop=, 12($6), $pop18 + i32.const $push21=, 4 + i32.add $push20=, $1, $pop21 + tee_local $push19=, $3=, $pop20 + i32.store $drop=, 12($5), $pop19 i32.load $4=, 0($1) - copy_local $1=, $5 - i32.eq $push5=, $3, $4 - br_if 1, $pop5 # 1: down to label4 + copy_local $1=, $3 + i32.eq $push6=, $2, $4 + br_if 1, $pop6 # 1: down to label4 br 4 # 4: down to label1 .LBB0_3: # %if.then # in Loop: Header=BB0_1 Depth=1 end_block # label5: - i32.const $push27=, 7 - i32.add $push1=, $1, $pop27 - i32.const $push26=, -8 - i32.and $push25=, $pop1, $pop26 - tee_local $push24=, $5=, $pop25 - i32.const $push23=, 8 - i32.add $push22=, $pop24, $pop23 - tee_local $push21=, $1=, $pop22 - i32.store $drop=, 12($6), $pop21 - f64.load $push2=, 0($5) - f64.convert_s/i32 $push3=, $3 - f64.ne $push4=, $pop2, $pop3 - br_if 4, $pop4 # 4: down to label0 + i32.const $push28=, 7 + i32.add $push2=, $1, $pop28 + i32.const $push27=, -8 + i32.and $push26=, $pop2, $pop27 + tee_local $push25=, $3=, $pop26 + i32.const $push24=, 8 + i32.add $push23=, $pop25, $pop24 + tee_local $push22=, $1=, $pop23 + i32.store $drop=, 12($5), $pop22 + f64.load $push3=, 0($3) + f64.convert_s/i32 $push4=, $2 + f64.ne $push5=, $pop3, $pop4 + br_if 4, $pop5 # 4: down to label0 .LBB0_4: # %for.inc # in Loop: Header=BB0_1 Depth=1 end_block # label4: - i32.const $push29=, 2 - i32.add $5=, $2, $pop29 - copy_local $2=, $3 - i32.const $push28=, 19 - i32.lt_s $push6=, $5, $pop28 - br_if 0, $pop6 # 0: up to label2 + i32.const $push32=, 1 + i32.add $push31=, $2, $pop32 + tee_local $push30=, $2=, $pop31 + i32.const $push29=, 19 + i32.lt_s $push7=, $pop30, $pop29 + br_if 0, $pop7 # 0: up to label2 # BB#5: # %for.end end_loop # label3: - i32.const $push13=, 0 - i32.const $push11=, 16 - i32.add $push12=, $6, $pop11 - i32.store $drop=, __stack_pointer($pop13), $pop12 + i32.const $push14=, 0 + i32.const $push12=, 16 + i32.add $push13=, $5, $pop12 + i32.store $drop=, __stack_pointer($pop14), $pop13 return .LBB0_6: # %if.then9 end_block # label1: diff --git a/test/torture-s/va-arg-6.c.s b/test/torture-s/va-arg-6.c.s index 679d9c305..fafc7d377 100644 --- a/test/torture-s/va-arg-6.c.s +++ b/test/torture-s/va-arg-6.c.s @@ -7,20 +7,20 @@ f: # @f .param i32, i32 .result i32 - .local i32, i64, i32, i32 + .local i32, i32, i32 # BB#0: # %entry - i32.const $push53=, 0 - i32.const $push50=, 0 - i32.load $push51=, __stack_pointer($pop50) - i32.const $push52=, 16 - i32.sub $push60=, $pop51, $pop52 - tee_local $push59=, $5=, $pop60 - i32.store $drop=, __stack_pointer($pop53), $pop59 - i32.store $drop=, 12($5), $1 + i32.const $push51=, 0 + i32.const $push48=, 0 + i32.load $push49=, __stack_pointer($pop48) + i32.const $push50=, 16 + i32.sub $push58=, $pop49, $pop50 + tee_local $push57=, $4=, $pop58 + i32.store $drop=, __stack_pointer($pop51), $pop57 + i32.store $drop=, 12($4), $1 i32.const $push0=, 4 - i32.add $push58=, $1, $pop0 - tee_local $push57=, $2=, $pop58 - i32.store $drop=, 12($5), $pop57 + i32.add $push56=, $1, $pop0 + tee_local $push55=, $2=, $pop56 + i32.store $drop=, 12($4), $pop55 block i32.load $push1=, 0($1) i32.const $push2=, 10 @@ -30,21 +30,21 @@ f: # @f i32.const $push4=, 7 i32.add $push5=, $2, $pop4 i32.const $push6=, -8 - i32.and $push64=, $pop5, $pop6 - tee_local $push63=, $1=, $pop64 + i32.and $push62=, $pop5, $pop6 + tee_local $push61=, $1=, $pop62 i32.const $push7=, 8 - i32.add $push62=, $pop63, $pop7 - tee_local $push61=, $2=, $pop62 - i32.store $drop=, 12($5), $pop61 + i32.add $push60=, $pop61, $pop7 + tee_local $push59=, $2=, $pop60 + i32.store $drop=, 12($4), $pop59 i64.load $push8=, 0($1) i64.const $push9=, 10000000000 i64.ne $push10=, $pop8, $pop9 br_if 0, $pop10 # 0: down to label0 # BB#2: # %if.end6 i32.const $push11=, 12 - i32.add $push66=, $1, $pop11 - tee_local $push65=, $1=, $pop66 - i32.store $drop=, 12($5), $pop65 + i32.add $push64=, $1, $pop11 + tee_local $push63=, $1=, $pop64 + i32.store $drop=, 12($4), $pop63 i32.load $push12=, 0($2) i32.const $push13=, 11 i32.ne $push14=, $pop12, $pop13 @@ -53,12 +53,12 @@ f: # @f i32.const $push15=, 15 i32.add $push16=, $1, $pop15 i32.const $push17=, -16 - i32.and $push70=, $pop16, $pop17 - tee_local $push69=, $1=, $pop70 + i32.and $push68=, $pop16, $pop17 + tee_local $push67=, $1=, $pop68 i32.const $push18=, 16 - i32.add $push68=, $pop69, $pop18 - tee_local $push67=, $2=, $pop68 - i32.store $drop=, 12($5), $pop67 + i32.add $push66=, $pop67, $pop18 + tee_local $push65=, $2=, $pop66 + i32.store $drop=, 12($4), $pop65 i64.load $push20=, 0($1) i64.load $push19=, 8($1) i64.const $push22=, -1475739525896764129 @@ -67,61 +67,59 @@ f: # @f br_if 0, $pop23 # 0: down to label0 # BB#4: # %if.end16 i32.const $push24=, 20 - i32.add $push25=, $1, $pop24 - i32.store $drop=, 12($5), $pop25 - i64.load $push72=, 0($2) - tee_local $push71=, $3=, $pop72 - i32.wrap/i64 $push26=, $pop71 - i32.const $push27=, 12 - i32.ne $push28=, $pop26, $pop27 - br_if 0, $pop28 # 0: down to label0 + i32.add $push70=, $1, $pop24 + tee_local $push69=, $3=, $pop70 + i32.store $drop=, 12($4), $pop69 + i32.load $push25=, 0($2) + i32.const $push26=, 12 + i32.ne $push27=, $pop25, $pop26 + br_if 0, $pop27 # 0: down to label0 # BB#5: # %if.end21 - i32.const $push29=, 24 - i32.add $push74=, $1, $pop29 - tee_local $push73=, $2=, $pop74 - i32.store $drop=, 12($5), $pop73 - i64.const $push30=, -4294967296 - i64.and $push31=, $3, $pop30 - i64.const $push32=, 55834574848 - i64.ne $push33=, $pop31, $pop32 - br_if 0, $pop33 # 0: down to label0 + i32.const $push28=, 24 + i32.add $push72=, $1, $pop28 + tee_local $push71=, $2=, $pop72 + i32.store $drop=, 12($4), $pop71 + i32.load $push29=, 0($3) + i32.const $push30=, 13 + i32.ne $push31=, $pop29, $pop30 + br_if 0, $pop31 # 0: down to label0 # BB#6: # %if.end26 - i32.const $push34=, 32 - i32.add $push76=, $1, $pop34 - tee_local $push75=, $4=, $pop76 - i32.store $drop=, 12($5), $pop75 - i64.load $push35=, 0($2) - i64.const $push36=, 20000000000 - i64.ne $push37=, $pop35, $pop36 - br_if 0, $pop37 # 0: down to label0 + i32.const $push32=, 32 + i32.add $push74=, $1, $pop32 + tee_local $push73=, $3=, $pop74 + i32.store $drop=, 12($4), $pop73 + i64.load $push33=, 0($2) + i64.const $push34=, 20000000000 + i64.ne $push35=, $pop33, $pop34 + br_if 0, $pop35 # 0: down to label0 # BB#7: # %if.end31 - i32.const $push38=, 36 - i32.add $push78=, $1, $pop38 - tee_local $push77=, $1=, $pop78 - i32.store $drop=, 12($5), $pop77 - i32.load $push39=, 0($4) - i32.const $push40=, 14 - i32.ne $push41=, $pop39, $pop40 - br_if 0, $pop41 # 0: down to label0 + i32.const $push36=, 36 + i32.add $push76=, $1, $pop36 + tee_local $push75=, $1=, $pop76 + i32.store $drop=, 12($4), $pop75 + i32.load $push37=, 0($3) + i32.const $push38=, 14 + i32.ne $push39=, $pop37, $pop38 + br_if 0, $pop39 # 0: down to label0 # BB#8: # %if.end36 - i32.const $push42=, 7 - i32.add $push43=, $1, $pop42 - i32.const $push44=, -8 - i32.and $push80=, $pop43, $pop44 - tee_local $push79=, $1=, $pop80 - i32.const $push45=, 8 - i32.add $push46=, $pop79, $pop45 - i32.store $drop=, 12($5), $pop46 - f64.load $push47=, 0($1) - f64.const $push48=, 0x1.5c28f5c28f5c3p1 - f64.ne $push49=, $pop47, $pop48 - br_if 0, $pop49 # 0: down to label0 + i32.const $push40=, 7 + i32.add $push41=, $1, $pop40 + i32.const $push42=, -8 + i32.and $push78=, $pop41, $pop42 + tee_local $push77=, $1=, $pop78 + i32.const $push43=, 8 + i32.add $push44=, $pop77, $pop43 + i32.store $drop=, 12($4), $pop44 + f64.load $push45=, 0($1) + f64.const $push46=, 0x1.5c28f5c28f5c3p1 + f64.ne $push47=, $pop45, $pop46 + br_if 0, $pop47 # 0: down to label0 # BB#9: # %if.end41 - i32.const $push56=, 0 - i32.const $push54=, 16 - i32.add $push55=, $5, $pop54 - i32.store $drop=, __stack_pointer($pop56), $pop55 - return $5 + i32.const $push54=, 0 + i32.const $push52=, 16 + i32.add $push53=, $4, $pop52 + i32.store $drop=, __stack_pointer($pop54), $pop53 + return $4 .LBB0_10: # %if.then40 end_block # label0: call abort@FUNCTION diff --git a/test/torture-s/va-arg-pack-1.c.s b/test/torture-s/va-arg-pack-1.c.s index 1b0c53d12..aaee79785 100644 --- a/test/torture-s/va-arg-pack-1.c.s +++ b/test/torture-s/va-arg-pack-1.c.s @@ -9,13 +9,13 @@ foo1: # @foo1 .result i32 .local i32, i64, i64, i32 # BB#0: # %entry - i32.const $push81=, 0 i32.const $push78=, 0 - i32.load $push79=, __stack_pointer($pop78) - i32.const $push80=, 32 - i32.sub $push92=, $pop79, $pop80 - tee_local $push91=, $6=, $pop92 - i32.store $drop=, __stack_pointer($pop81), $pop91 + i32.const $push75=, 0 + i32.load $push76=, __stack_pointer($pop75) + i32.const $push77=, 32 + i32.sub $push89=, $pop76, $pop77 + tee_local $push88=, $6=, $pop89 + i32.store $drop=, __stack_pointer($pop78), $pop88 i32.store $drop=, 12($6), $2 block i32.const $push0=, 19 @@ -23,29 +23,29 @@ foo1: # @foo1 br_if 0, $pop1 # 0: down to label0 # BB#1: # %lor.lhs.false3 i32.const $push2=, seen - i32.add $push94=, $0, $pop2 - tee_local $push93=, $2=, $pop94 - i32.load8_u $push3=, 0($pop93) + i32.add $push91=, $0, $pop2 + tee_local $push90=, $2=, $pop91 + i32.load8_u $push3=, 0($pop90) br_if 0, $pop3 # 0: down to label0 # BB#2: # %if.end i32.const $push4=, 0 i32.load $push5=, cnt($pop4) i32.const $push6=, 1 - i32.add $push97=, $pop5, $pop6 - tee_local $push96=, $3=, $pop97 - i32.store8 $drop=, 0($2), $pop96 - i32.const $push95=, 0 - i32.store $drop=, cnt($pop95), $3 + i32.add $push94=, $pop5, $pop6 + tee_local $push93=, $3=, $pop94 + i32.store8 $drop=, 0($2), $pop93 + i32.const $push92=, 0 + i32.store $drop=, cnt($pop92), $3 i32.const $push7=, 6 i32.ne $push8=, $1, $pop7 br_if 0, $pop8 # 0: down to label0 # BB#3: # %if.end9 - i32.load $push101=, 12($6) - tee_local $push100=, $2=, $pop101 + i32.load $push98=, 12($6) + tee_local $push97=, $2=, $pop98 i32.const $push9=, 4 - i32.add $push99=, $pop100, $pop9 - tee_local $push98=, $1=, $pop99 - i32.store $drop=, 12($6), $pop98 + i32.add $push96=, $pop97, $pop9 + tee_local $push95=, $1=, $pop96 + i32.store $drop=, 12($6), $pop95 i32.load $push10=, 0($2) i32.const $push11=, 5 i32.ne $push12=, $pop10, $pop11 @@ -63,79 +63,79 @@ foo1: # @foo1 # BB#6: # %if.end13 br_if 2, $0 # 2: down to label0 # BB#7: # %sw.bb - i32.const $push44=, 8 - i32.add $push104=, $2, $pop44 - tee_local $push103=, $1=, $pop104 - i32.store $drop=, 12($6), $pop103 - i32.const $push45=, 4 - i32.add $push46=, $2, $pop45 - i32.load $push47=, 0($pop46) - i32.const $push102=, 9 - i32.ne $push48=, $pop47, $pop102 - br_if 2, $pop48 # 2: down to label0 + i32.const $push41=, 8 + i32.add $push101=, $2, $pop41 + tee_local $push100=, $1=, $pop101 + i32.store $drop=, 12($6), $pop100 + i32.const $push42=, 4 + i32.add $push43=, $2, $pop42 + i32.load $push44=, 0($pop43) + i32.const $push99=, 9 + i32.ne $push45=, $pop44, $pop99 + br_if 2, $pop45 # 2: down to label0 # BB#8: # %sw.bb - i32.const $push49=, 0 - i32.load $push43=, v1($pop49) - i32.const $push105=, 9 - i32.ne $push50=, $pop43, $pop105 - br_if 2, $pop50 # 2: down to label0 + i32.const $push46=, 0 + i32.load $push40=, v1($pop46) + i32.const $push102=, 9 + i32.ne $push47=, $pop40, $pop102 + br_if 2, $pop47 # 2: down to label0 # BB#9: # %if.end22 - i32.const $push85=, 16 - i32.add $push86=, $6, $pop85 - i32.const $push51=, 12 - i32.add $push54=, $pop86, $pop51 - i32.const $push110=, 12 - i32.add $push52=, $1, $pop110 - i32.load $push53=, 0($pop52):p2align=0 - i32.store $drop=, 0($pop54), $pop53 - i32.const $push87=, 16 - i32.add $push88=, $6, $pop87 - i32.const $push55=, 8 - i32.add $push58=, $pop88, $pop55 - i32.const $push109=, 8 - i32.add $push56=, $1, $pop109 - i32.load $push57=, 0($pop56):p2align=0 - i32.store $drop=, 0($pop58), $pop57 - i32.const $push59=, 24 - i32.add $push108=, $2, $pop59 - tee_local $push107=, $3=, $pop108 - i32.store $drop=, 12($6), $pop107 - i32.const $push60=, 4 - i32.add $push61=, $1, $pop60 - i32.load $push62=, 0($pop61):p2align=0 - i32.store $drop=, 20($6), $pop62 - i32.load $push63=, 0($1):p2align=0 - i32.store $drop=, 16($6), $pop63 - i32.const $push89=, 16 - i32.add $push90=, $6, $pop89 - i32.const $push106=, v4 - i32.const $push64=, 16 - i32.call $push65=, memcmp@FUNCTION, $pop90, $pop106, $pop64 - br_if 2, $pop65 # 2: down to label0 + i32.const $push82=, 16 + i32.add $push83=, $6, $pop82 + i32.const $push48=, 12 + i32.add $push51=, $pop83, $pop48 + i32.const $push107=, 12 + i32.add $push49=, $1, $pop107 + i32.load $push50=, 0($pop49):p2align=0 + i32.store $drop=, 0($pop51), $pop50 + i32.const $push84=, 16 + i32.add $push85=, $6, $pop84 + i32.const $push52=, 8 + i32.add $push55=, $pop85, $pop52 + i32.const $push106=, 8 + i32.add $push53=, $1, $pop106 + i32.load $push54=, 0($pop53):p2align=0 + i32.store $drop=, 0($pop55), $pop54 + i32.const $push56=, 24 + i32.add $push105=, $2, $pop56 + tee_local $push104=, $3=, $pop105 + i32.store $drop=, 12($6), $pop104 + i32.const $push57=, 4 + i32.add $push58=, $1, $pop57 + i32.load $push59=, 0($pop58):p2align=0 + i32.store $drop=, 20($6), $pop59 + i32.load $push60=, 0($1):p2align=0 + i32.store $drop=, 16($6), $pop60 + i32.const $push86=, 16 + i32.add $push87=, $6, $pop86 + i32.const $push103=, v4 + i32.const $push61=, 16 + i32.call $push62=, memcmp@FUNCTION, $pop87, $pop103, $pop61 + br_if 2, $pop62 # 2: down to label0 # BB#10: # %if.end28 - i32.const $push66=, 28 - i32.add $push113=, $2, $pop66 - tee_local $push112=, $1=, $pop113 - i32.store $drop=, 12($6), $pop112 - i32.load $push67=, 0($3) - i32.const $push111=, v4 - i32.ne $push68=, $pop67, $pop111 - br_if 2, $pop68 # 2: down to label0 + i32.const $push63=, 28 + i32.add $push110=, $2, $pop63 + tee_local $push109=, $1=, $pop110 + i32.store $drop=, 12($6), $pop109 + i32.load $push64=, 0($3) + i32.const $push108=, v4 + i32.ne $push65=, $pop64, $pop108 + br_if 2, $pop65 # 2: down to label0 # BB#11: # %if.end34 - i32.const $push70=, 32 - i32.add $push71=, $2, $pop70 - i32.store $drop=, 12($6), $pop71 + i32.const $push67=, 32 + i32.add $push68=, $2, $pop67 + i32.store $drop=, 12($6), $pop68 block - i32.load $push72=, 0($1) - i32.const $push73=, 3 - i32.ne $push74=, $pop72, $pop73 - br_if 0, $pop74 # 0: down to label3 + i32.load $push69=, 0($1) + i32.const $push70=, 3 + i32.ne $push71=, $pop69, $pop70 + br_if 0, $pop71 # 0: down to label3 # BB#12: # %if.end34 - i32.const $push75=, 0 - i32.load $push69=, v2($pop75) - i32.const $push76=, 4 - i32.eq $push77=, $pop69, $pop76 - br_if 2, $pop77 # 2: down to label1 + i32.const $push72=, 0 + i32.load $push66=, v2($pop72) + i32.const $push73=, 4 + i32.eq $push74=, $pop66, $pop73 + br_if 2, $pop74 # 2: down to label1 .LBB0_13: # %if.then42 end_block # label3: call abort@FUNCTION @@ -145,54 +145,51 @@ foo1: # @foo1 i32.const $push19=, 15 i32.add $push20=, $1, $pop19 i32.const $push21=, -16 - i32.and $push119=, $pop20, $pop21 - tee_local $push118=, $2=, $pop119 + i32.and $push116=, $pop20, $pop21 + tee_local $push115=, $2=, $pop116 i32.const $push22=, 16 - i32.add $push23=, $pop118, $pop22 + i32.add $push23=, $pop115, $pop22 i32.store $drop=, 12($6), $pop23 - i64.load $push117=, 0($2) - tee_local $push116=, $4=, $pop117 - i64.load $push115=, 8($2) - tee_local $push114=, $5=, $pop115 + i64.load $push114=, 0($2) + tee_local $push113=, $4=, $pop114 + i64.load $push112=, 8($2) + tee_local $push111=, $5=, $pop112 i64.const $push25=, 0 i64.const $push24=, 4612891083171430400 - i32.call $push26=, __netf2@FUNCTION, $pop116, $pop114, $pop25, $pop24 + i32.call $push26=, __netf2@FUNCTION, $pop113, $pop111, $pop25, $pop24 br_if 1, $pop26 # 1: down to label0 # BB#15: # %sw.bb44 i32.const $push27=, 0 i64.load $push17=, v5($pop27) - i32.const $push120=, 0 - i64.load $push18=, v5+8($pop120) + i32.const $push117=, 0 + i64.load $push18=, v5+8($pop117) i32.call $push28=, __eqtf2@FUNCTION, $pop17, $pop18, $4, $5 br_if 1, $pop28 # 1: down to label0 # BB#16: # %if.end53 i32.const $push29=, 20 - i32.add $push30=, $2, $pop29 - i32.store $drop=, 12($6), $pop30 - i32.const $push31=, 16 - i32.add $push32=, $2, $pop31 - i64.load $push122=, 0($pop32) - tee_local $push121=, $4=, $pop122 - i32.wrap/i64 $push33=, $pop121 - i32.const $push34=, 8 - i32.ne $push35=, $pop33, $pop34 - br_if 1, $pop35 # 1: down to label0 + i32.add $push119=, $2, $pop29 + tee_local $push118=, $1=, $pop119 + i32.store $drop=, 12($6), $pop118 + i32.const $push30=, 16 + i32.add $push31=, $2, $pop30 + i32.load $push32=, 0($pop31) + i32.const $push33=, 8 + i32.ne $push34=, $pop32, $pop33 + br_if 1, $pop34 # 1: down to label0 # BB#17: # %if.end59 - i32.const $push36=, 24 - i32.add $push37=, $2, $pop36 - i32.store $drop=, 12($6), $pop37 - i64.const $push38=, 32 - i64.shr_u $push39=, $4, $pop38 - i32.wrap/i64 $push40=, $pop39 - i32.const $push41=, v2 - i32.ne $push42=, $pop40, $pop41 - br_if 1, $pop42 # 1: down to label0 + i32.const $push35=, 24 + i32.add $push36=, $2, $pop35 + i32.store $drop=, 12($6), $pop36 + i32.load $push37=, 0($1) + i32.const $push38=, v2 + i32.ne $push39=, $pop37, $pop38 + br_if 1, $pop39 # 1: down to label0 .LBB0_18: # %sw.epilog end_block # label1: - i32.const $push84=, 0 - i32.const $push82=, 32 - i32.add $push83=, $6, $pop82 - i32.store $drop=, __stack_pointer($pop84), $pop83 + i32.const $push81=, 0 + i32.const $push79=, 32 + i32.add $push80=, $6, $pop79 + i32.store $drop=, __stack_pointer($pop81), $pop80 return $0 .LBB0_19: # %sw.default end_block # label0: |