summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@chromium.org>2016-09-29 12:55:52 -0700
committerGitHub <noreply@github.com>2016-09-29 12:55:52 -0700
commita82528f17feba6b1c34794c645ea5c78892a57d0 (patch)
tree312d95fe4489e56a2d244aecd081d2724a3a4aca
parent2234cc7374797d188761916f6b1e82ce9ade1fa3 (diff)
downloadbinaryen-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).
-rwxr-xr-xcheck.py8
-rw-r--r--test/revision2
-rw-r--r--test/s2wasm_known_binaryen_shell_test_failures.txt5
-rw-r--r--test/s2wasm_known_gcc_test_failures.txt8
-rw-r--r--test/torture-s/20000715-1.c.s4
-rw-r--r--test/torture-s/20000815-1.c.s105
-rw-r--r--test/torture-s/20001013-1.c.s29
-rw-r--r--test/torture-s/20010221-1.c.s12
-rw-r--r--test/torture-s/20010723-1.c.s4
-rw-r--r--test/torture-s/20011219-1.c.s23
-rw-r--r--test/torture-s/20020402-3.c.s157
-rw-r--r--test/torture-s/20020810-1.c.s55
-rw-r--r--test/torture-s/20030714-1.c.s102
-rw-r--r--test/torture-s/20031204-1.c.s380
-rw-r--r--test/torture-s/20040703-1.c.s288
-rw-r--r--test/torture-s/20041124-1.c.s37
-rw-r--r--test/torture-s/20041210-1.c.s38
-rw-r--r--test/torture-s/20041213-2.c.s60
-rw-r--r--test/torture-s/20050218-1.c.s10
-rw-r--r--test/torture-s/20051215-1.c.s4
-rw-r--r--test/torture-s/20060905-1.c.s10
-rw-r--r--test/torture-s/20060930-1.c.s58
-rw-r--r--test/torture-s/20061101-1.c.s118
-rw-r--r--test/torture-s/20061101-2.c.s118
-rw-r--r--test/torture-s/20070212-3.c.s19
-rw-r--r--test/torture-s/20071030-1.c.s62
-rw-r--r--test/torture-s/20071108-1.c.s60
-rw-r--r--test/torture-s/20111208-1.c.s4
-rw-r--r--test/torture-s/20120808-1.c.s171
-rw-r--r--test/torture-s/920501-2.c.s73
-rw-r--r--test/torture-s/920501-6.c.s22
-rw-r--r--test/torture-s/920625-1.c.s150
-rw-r--r--test/torture-s/930111-1.c.s14
-rw-r--r--test/torture-s/930208-1.c.s24
-rw-r--r--test/torture-s/930603-3.c.s24
-rw-r--r--test/torture-s/930930-1.c.s43
-rw-r--r--test/torture-s/931004-10.c.s50
-rw-r--r--test/torture-s/931004-2.c.s54
-rw-r--r--test/torture-s/931004-4.c.s42
-rw-r--r--test/torture-s/931004-6.c.s50
-rw-r--r--test/torture-s/931004-8.c.s42
-rw-r--r--test/torture-s/960116-1.c.s23
-rw-r--r--test/torture-s/960317-1.c.s34
-rw-r--r--test/torture-s/960416-1.c.s206
-rw-r--r--test/torture-s/980424-1.c.s18
-rw-r--r--test/torture-s/990127-1.c.s100
-rw-r--r--test/torture-s/991201-1.c.s34
-rw-r--r--test/torture-s/arith-rand-ll.c.s86
-rw-r--r--test/torture-s/arith-rand.c.s68
-rw-r--r--test/torture-s/bf-sign-2.c.s117
-rw-r--r--test/torture-s/builtin-bitops-1.c.s1445
-rw-r--r--test/torture-s/cmpdi-1.c.s224
-rw-r--r--test/torture-s/cmpsf-1.c.s122
-rw-r--r--test/torture-s/cmpsi-2.c.s224
-rw-r--r--test/torture-s/dbra-1.c.s196
-rw-r--r--test/torture-s/ffs-2.c.s220
-rw-r--r--test/torture-s/ipa-sra-2.c.s13
-rw-r--r--test/torture-s/loop-15.c.s242
-rw-r--r--test/torture-s/loop-2b.c.s8
-rw-r--r--test/torture-s/loop-5.c.s138
-rw-r--r--test/torture-s/loop-7.c.s36
-rw-r--r--test/torture-s/loop-ivopts-1.c.s22
-rw-r--r--test/torture-s/memcpy-1.c.s40
-rw-r--r--test/torture-s/memcpy-2.c.s28
-rw-r--r--test/torture-s/memcpy-bi.c.s1602
-rw-r--r--test/torture-s/memset-1.c.s70
-rw-r--r--test/torture-s/mode-dependent-address.c.s8
-rw-r--r--test/torture-s/pending-4.c.s72
-rw-r--r--test/torture-s/pr15296.c.s128
-rw-r--r--test/torture-s/pr20100-1.c.s32
-rw-r--r--test/torture-s/pr20527-1.c.s54
-rw-r--r--test/torture-s/pr20601-1.c.s188
-rw-r--r--test/torture-s/pr23604.c.s26
-rw-r--r--test/torture-s/pr24716.c.s373
-rw-r--r--test/torture-s/pr28982a.c.s500
-rw-r--r--test/torture-s/pr28982b.c.s544
-rw-r--r--test/torture-s/pr30778.c.s8
-rw-r--r--test/torture-s/pr31169.c.s16
-rw-r--r--test/torture-s/pr33870-1.c.s622
-rw-r--r--test/torture-s/pr33870.c.s618
-rw-r--r--test/torture-s/pr36339.c.s35
-rw-r--r--test/torture-s/pr37125.c.s14
-rw-r--r--test/torture-s/pr38151.c.s77
-rw-r--r--test/torture-s/pr39100.c.s195
-rw-r--r--test/torture-s/pr40668.c.s68
-rw-r--r--test/torture-s/pr44575.c.s87
-rw-r--r--test/torture-s/pr46909-2.c.s40
-rw-r--r--test/torture-s/pr47538.c.s134
-rw-r--r--test/torture-s/pr48571-1.c.s12
-rw-r--r--test/torture-s/pr49419.c.s4
-rw-r--r--test/torture-s/pr51933.c.s18
-rw-r--r--test/torture-s/pr52760.c.s57
-rw-r--r--test/torture-s/pr53465.c.s14
-rw-r--r--test/torture-s/pr56866.c.s333
-rw-r--r--test/torture-s/pr58570.c.s14
-rw-r--r--test/torture-s/pr58640-2.c.s2
-rw-r--r--test/torture-s/pr59358.c.s69
-rw-r--r--test/torture-s/pr59643.c.s64
-rw-r--r--test/torture-s/stdarg-2.c.s510
-rw-r--r--test/torture-s/strct-pack-1.c.s20
-rw-r--r--test/torture-s/struct-ret-1.c.s303
-rw-r--r--test/torture-s/switch-1.c.s23
-rw-r--r--test/torture-s/tstdi-1.c.s9
-rw-r--r--test/torture-s/va-arg-15.c.s92
-rw-r--r--test/torture-s/va-arg-6.c.s148
-rw-r--r--test/torture-s/va-arg-pack-1.c.s235
106 files changed, 6544 insertions, 7077 deletions
diff --git a/check.py b/check.py
index b3966c7cc..2a1e0f36b 100755
--- a/check.py
+++ b/check.py
@@ -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: