summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/llvm_autogenerated/call.s13
-rw-r--r--test/llvm_autogenerated/cfg-stackify.s364
-rw-r--r--test/llvm_autogenerated/cfg-stackify.wast216
-rw-r--r--test/llvm_autogenerated/comparisons_f32.s15
-rw-r--r--test/llvm_autogenerated/comparisons_f64.s15
-rw-r--r--test/llvm_autogenerated/comparisons_i32.s11
-rw-r--r--test/llvm_autogenerated/comparisons_i64.s11
-rw-r--r--test/llvm_autogenerated/conv.s27
-rw-r--r--test/llvm_autogenerated/copysign-casts.s3
-rw-r--r--test/llvm_autogenerated/cpus.s2
-rw-r--r--test/llvm_autogenerated/dead-vreg.s43
-rw-r--r--test/llvm_autogenerated/dead-vreg.wast58
-rw-r--r--test/llvm_autogenerated/f32.s17
-rw-r--r--test/llvm_autogenerated/f64.s17
-rw-r--r--test/llvm_autogenerated/fast-isel.s3
-rw-r--r--test/llvm_autogenerated/frem.s3
-rw-r--r--test/llvm_autogenerated/func.s21
-rw-r--r--test/llvm_autogenerated/func.wast8
-rw-r--r--test/llvm_autogenerated/global.s18
-rw-r--r--test/llvm_autogenerated/global.wast8
-rw-r--r--test/llvm_autogenerated/globl.s2
-rw-r--r--test/llvm_autogenerated/i32-load-store-alignment.s213
-rw-r--r--test/llvm_autogenerated/i32.s19
-rw-r--r--test/llvm_autogenerated/i64-load-store-alignment.s318
-rw-r--r--test/llvm_autogenerated/i64.s19
-rw-r--r--test/llvm_autogenerated/ident.s1
-rw-r--r--test/llvm_autogenerated/immediates.s25
-rw-r--r--test/llvm_autogenerated/legalize.s1808
-rw-r--r--test/llvm_autogenerated/legalize.wast2686
-rwxr-xr-xtest/llvm_autogenerated/llvm-to-s.py1
-rw-r--r--test/llvm_autogenerated/load-ext.s11
-rw-r--r--test/llvm_autogenerated/load-store-i1.s27
-rw-r--r--test/llvm_autogenerated/load-store-i1.wast16
-rw-r--r--test/llvm_autogenerated/load.s5
-rw-r--r--test/llvm_autogenerated/memory-addr32.s3
-rw-r--r--test/llvm_autogenerated/memory-addr64.s3
-rw-r--r--test/llvm_autogenerated/non-executable-stack.s3
-rw-r--r--test/llvm_autogenerated/non-executable-stack.wast4
-rw-r--r--test/llvm_autogenerated/offset.s68
-rw-r--r--test/llvm_autogenerated/phi.s25
-rw-r--r--test/llvm_autogenerated/phi.wast28
-rw-r--r--test/llvm_autogenerated/reg-stackify.s56
-rw-r--r--test/llvm_autogenerated/reg-stackify.wast43
-rw-r--r--test/llvm_autogenerated/return-int32.s2
-rw-r--r--test/llvm_autogenerated/return-void.s2
-rw-r--r--test/llvm_autogenerated/select.s13
-rw-r--r--test/llvm_autogenerated/signext-zeroext.s33
-rw-r--r--test/llvm_autogenerated/signext-zeroext.wast20
-rw-r--r--test/llvm_autogenerated/store-results.s36
-rw-r--r--test/llvm_autogenerated/store-results.wast36
-rw-r--r--test/llvm_autogenerated/store-trunc.s6
-rw-r--r--test/llvm_autogenerated/store.s5
-rw-r--r--test/llvm_autogenerated/switch.s3
-rw-r--r--test/llvm_autogenerated/unreachable.s4
-rw-r--r--test/llvm_autogenerated/unused-argument.s4
-rw-r--r--test/llvm_autogenerated/userstack.s38
-rw-r--r--test/llvm_autogenerated/userstack.wast58
-rw-r--r--test/llvm_autogenerated/varargs.s63
-rw-r--r--test/llvm_autogenerated/varargs.wast136
m---------test/spec0
60 files changed, 3925 insertions, 2791 deletions
diff --git a/test/llvm_autogenerated/call.s b/test/llvm_autogenerated/call.s
index 7081c43a8..52f99b2cf 100644
--- a/test/llvm_autogenerated/call.s
+++ b/test/llvm_autogenerated/call.s
@@ -6,6 +6,7 @@ call_i32_nullary:
.result i32
i32.call $push0=, i32_nullary@FUNCTION
return $pop0
+ .endfunc
.Lfunc_end0:
.size call_i32_nullary, .Lfunc_end0-call_i32_nullary
@@ -15,6 +16,7 @@ call_i64_nullary:
.result i64
i64.call $push0=, i64_nullary@FUNCTION
return $pop0
+ .endfunc
.Lfunc_end1:
.size call_i64_nullary, .Lfunc_end1-call_i64_nullary
@@ -24,6 +26,7 @@ call_float_nullary:
.result f32
f32.call $push0=, float_nullary@FUNCTION
return $pop0
+ .endfunc
.Lfunc_end2:
.size call_float_nullary, .Lfunc_end2-call_float_nullary
@@ -33,6 +36,7 @@ call_double_nullary:
.result f64
f64.call $push0=, double_nullary@FUNCTION
return $pop0
+ .endfunc
.Lfunc_end3:
.size call_double_nullary, .Lfunc_end3-call_double_nullary
@@ -41,6 +45,7 @@ call_double_nullary:
call_void_nullary:
call void_nullary@FUNCTION
return
+ .endfunc
.Lfunc_end4:
.size call_void_nullary, .Lfunc_end4-call_void_nullary
@@ -51,6 +56,7 @@ call_i32_unary:
.result i32
i32.call $push0=, i32_unary@FUNCTION, $0
return $pop0
+ .endfunc
.Lfunc_end5:
.size call_i32_unary, .Lfunc_end5-call_i32_unary
@@ -61,6 +67,7 @@ call_i32_binary:
.result i32
i32.call $push0=, i32_binary@FUNCTION, $0, $1
return $pop0
+ .endfunc
.Lfunc_end6:
.size call_i32_binary, .Lfunc_end6-call_i32_binary
@@ -70,6 +77,7 @@ call_indirect_void:
.param i32
call_indirect $0
return
+ .endfunc
.Lfunc_end7:
.size call_indirect_void, .Lfunc_end7-call_indirect_void
@@ -80,6 +88,7 @@ call_indirect_i32:
.result i32
i32.call_indirect $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end8:
.size call_indirect_i32, .Lfunc_end8-call_indirect_i32
@@ -88,6 +97,7 @@ call_indirect_i32:
tail_call_void_nullary:
call void_nullary@FUNCTION
return
+ .endfunc
.Lfunc_end9:
.size tail_call_void_nullary, .Lfunc_end9-tail_call_void_nullary
@@ -96,6 +106,7 @@ tail_call_void_nullary:
fastcc_tail_call_void_nullary:
call void_nullary@FUNCTION
return
+ .endfunc
.Lfunc_end10:
.size fastcc_tail_call_void_nullary, .Lfunc_end10-fastcc_tail_call_void_nullary
@@ -104,8 +115,8 @@ fastcc_tail_call_void_nullary:
coldcc_tail_call_void_nullary:
call void_nullary@FUNCTION
return
+ .endfunc
.Lfunc_end11:
.size coldcc_tail_call_void_nullary, .Lfunc_end11-coldcc_tail_call_void_nullary
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/cfg-stackify.s b/test/llvm_autogenerated/cfg-stackify.s
index fcb9652d9..584c02adc 100644
--- a/test/llvm_autogenerated/cfg-stackify.s
+++ b/test/llvm_autogenerated/cfg-stackify.s
@@ -8,15 +8,16 @@ test0:
i32.const $1=, 0
.LBB0_1:
loop
- i32.const $push0=, 1
- i32.add $1=, $1, $pop0
- i32.ge_s $push1=, $1, $0
- br_if $pop1, 1
+ i32.const $push1=, 1
+ i32.add $1=, $1, $pop1
+ i32.ge_s $push0=, $1, $0
+ br_if $pop0, 1
call something@FUNCTION
br 0
.LBB0_3:
end_loop
return
+ .endfunc
.Lfunc_end0:
.size test0, .Lfunc_end0-test0
@@ -28,15 +29,16 @@ test1:
i32.const $1=, 0
.LBB1_1:
loop
- i32.const $push0=, 1
- i32.add $1=, $1, $pop0
- i32.ge_s $push1=, $1, $0
- br_if $pop1, 1
+ i32.const $push1=, 1
+ i32.add $1=, $1, $pop1
+ i32.ge_s $push0=, $1, $0
+ br_if $pop0, 1
call something@FUNCTION
br 0
.LBB1_3:
end_loop
return
+ .endfunc
.Lfunc_end1:
.size test1, .Lfunc_end1-test1
@@ -63,6 +65,7 @@ test2:
end_loop
end_block
return
+ .endfunc
.Lfunc_end2:
.size test2, .Lfunc_end2-test2
@@ -71,11 +74,10 @@ test2:
doublediamond:
.param i32, i32, i32
.result i32
- .local i32
block
block
i32.const $push0=, 0
- i32.store $3=, 0($2), $pop0
+ i32.store $discard=, 0($2), $pop0
br_if $0, 0
i32.const $push4=, 1
i32.store $discard=, 0($2), $pop4
@@ -97,7 +99,9 @@ doublediamond:
end_block
i32.const $push5=, 5
i32.store $discard=, 0($2), $pop5
- return $3
+ i32.const $push6=, 0
+ return $pop6
+ .endfunc
.Lfunc_end3:
.size doublediamond, .Lfunc_end3-doublediamond
@@ -118,6 +122,7 @@ triangle:
i32.const $push2=, 2
i32.store $discard=, 0($0), $pop2
return $2
+ .endfunc
.Lfunc_end4:
.size triangle, .Lfunc_end4-triangle
@@ -126,11 +131,10 @@ triangle:
diamond:
.param i32, i32
.result i32
- .local i32
block
block
i32.const $push0=, 0
- i32.store $2=, 0($0), $pop0
+ i32.store $discard=, 0($0), $pop0
br_if $1, 0
i32.const $push2=, 1
i32.store $discard=, 0($0), $pop2
@@ -143,7 +147,9 @@ diamond:
end_block
i32.const $push3=, 3
i32.store $discard=, 0($0), $pop3
- return $2
+ i32.const $push4=, 0
+ return $pop4
+ .endfunc
.Lfunc_end5:
.size diamond, .Lfunc_end5-diamond
@@ -155,6 +161,7 @@ single_block:
i32.const $push0=, 0
i32.store $push1=, 0($0), $pop0
return $pop1
+ .endfunc
.Lfunc_end6:
.size single_block, .Lfunc_end6-single_block
@@ -172,6 +179,7 @@ minimal_loop:
br 0
.LBB7_2:
end_loop
+ .endfunc
.Lfunc_end7:
.size minimal_loop, .Lfunc_end7-minimal_loop
@@ -180,20 +188,21 @@ minimal_loop:
simple_loop:
.param i32, i32
.result i32
- .local i32
i32.const $push0=, 0
- i32.store $2=, 0($0), $pop0
+ i32.store $discard=, 0($0), $pop0
.LBB8_1:
loop
- i32.const $push1=, 1
- i32.store $discard=, 0($0), $pop1
- i32.const $push3=, 0
- i32.eq $push4=, $1, $pop3
- br_if $pop4, 0
+ i32.const $push3=, 1
+ i32.store $discard=, 0($0), $pop3
+ i32.const $push4=, 0
+ i32.eq $push5=, $1, $pop4
+ br_if $pop5, 0
end_loop
- i32.const $push2=, 2
- i32.store $discard=, 0($0), $pop2
- return $2
+ i32.const $push1=, 2
+ i32.store $discard=, 0($0), $pop1
+ i32.const $push2=, 0
+ return $pop2
+ .endfunc
.Lfunc_end8:
.size simple_loop, .Lfunc_end8-simple_loop
@@ -222,6 +231,7 @@ doubletriangle:
i32.const $push4=, 5
i32.store $discard=, 0($2), $pop4
return $3
+ .endfunc
.Lfunc_end9:
.size doubletriangle, .Lfunc_end9-doubletriangle
@@ -230,11 +240,10 @@ doubletriangle:
ifelse_earlyexits:
.param i32, i32, i32
.result i32
- .local i32
block
block
i32.const $push0=, 0
- i32.store $3=, 0($2), $pop0
+ i32.store $discard=, 0($2), $pop0
br_if $0, 0
i32.const $push3=, 1
i32.store $discard=, 0($2), $pop3
@@ -250,7 +259,9 @@ ifelse_earlyexits:
end_block
i32.const $push4=, 4
i32.store $discard=, 0($2), $pop4
- return $3
+ i32.const $push5=, 0
+ return $pop5
+ .endfunc
.Lfunc_end10:
.size ifelse_earlyexits, .Lfunc_end10-ifelse_earlyexits
@@ -266,22 +277,22 @@ doublediamond_in_a_loop:
i32.const $push0=, 0
i32.store $discard=, 0($2), $pop0
br_if $0, 0
- i32.const $push4=, 1
- i32.store $discard=, 0($2), $pop4
+ i32.const $push1=, 1
+ i32.store $discard=, 0($2), $pop1
br 1
.LBB11_3:
end_block
block
- i32.const $push1=, 2
- i32.store $discard=, 0($2), $pop1
+ i32.const $push2=, 2
+ i32.store $discard=, 0($2), $pop2
br_if $1, 0
i32.const $push3=, 3
i32.store $discard=, 0($2), $pop3
br 1
.LBB11_5:
end_block
- i32.const $push2=, 4
- i32.store $discard=, 0($2), $pop2
+ i32.const $push4=, 4
+ i32.store $discard=, 0($2), $pop4
.LBB11_6:
end_block
i32.const $push5=, 5
@@ -289,6 +300,7 @@ doublediamond_in_a_loop:
br 0
.LBB11_7:
end_loop
+ .endfunc
.Lfunc_end11:
.size doublediamond_in_a_loop, .Lfunc_end11-doublediamond_in_a_loop
@@ -315,6 +327,7 @@ test3:
.LBB12_5:
end_block
return
+ .endfunc
.Lfunc_end12:
.size test3, .Lfunc_end12-test3
@@ -353,6 +366,7 @@ test4:
.LBB13_8:
end_block
return
+ .endfunc
.Lfunc_end13:
.size test4, .Lfunc_end13-test4
@@ -360,29 +374,35 @@ test4:
.type test5,@function
test5:
.param i32, i32
- .local i32, i32
+ .local i32
+ i32.const $push5=, 1
+ i32.and $0=, $0, $pop5
+ i32.const $push4=, 1
+ i32.and $2=, $1, $pop4
.LBB14_1:
block
loop
- i32.const $2=, 0
- i32.store $3=, 0($2), $2
- i32.const $2=, 1
- i32.and $push0=, $0, $2
- i32.const $push5=, 0
- i32.eq $push6=, $pop0, $pop5
- br_if $pop6, 2
- i32.store $push2=, 0($3), $2
- i32.and $push3=, $1, $pop2
- br_if $pop3, 0
+ i32.const $push7=, 0
+ i32.const $push6=, 0
+ i32.store $1=, 0($pop7), $pop6
+ i32.const $push9=, 0
+ i32.eq $push10=, $0, $pop9
+ br_if $pop10, 2
+ i32.const $push8=, 1
+ i32.store $discard=, 0($1), $pop8
+ br_if $2, 0
end_loop
- i32.const $push4=, 3
- i32.store $discard=, 0($3), $pop4
+ i32.const $push2=, 0
+ i32.const $push3=, 3
+ i32.store $discard=, 0($pop2), $pop3
return
.LBB14_4:
end_block
+ i32.const $push0=, 0
i32.const $push1=, 2
- i32.store $discard=, 0($3), $pop1
+ i32.store $discard=, 0($pop0), $pop1
return
+ .endfunc
.Lfunc_end14:
.size test5, .Lfunc_end14-test5
@@ -391,37 +411,43 @@ test5:
test6:
.param i32, i32
.local i32, i32, i32
+ i32.const $push6=, 1
+ i32.and $2=, $0, $pop6
.LBB15_1:
block
block
loop
- i32.const $2=, 0
- i32.store $discard=, 0($2), $2
- i32.const $3=, 1
- i32.and $push0=, $0, $3
- i32.const $push4=, 0
- i32.eq $push5=, $pop0, $pop4
- br_if $pop5, 3
- i32.store $discard=, 0($2), $3
+ i32.const $push8=, 0
+ i32.const $push7=, 0
+ i32.store $0=, 0($pop8), $pop7
+ i32.const $push10=, 0
+ i32.eq $push11=, $2, $pop10
+ br_if $pop11, 3
+ i32.const $push9=, 1
+ i32.store $3=, 0($0), $pop9
i32.and $4=, $1, $3
- i32.const $push6=, 0
- i32.eq $push7=, $4, $pop6
- br_if $pop7, 2
- i32.store $discard=, 0($2), $3
+ i32.const $push12=, 0
+ i32.eq $push13=, $4, $pop12
+ br_if $pop13, 2
+ i32.store $discard=, 0($0), $3
br_if $4, 0
end_loop
- i32.const $push3=, 2
- i32.store $discard=, 0($2), $pop3
+ i32.const $push4=, 0
+ i32.const $push5=, 2
+ i32.store $discard=, 0($pop4), $pop5
return
.LBB15_5:
end_block
+ i32.const $push0=, 0
i32.const $push1=, 3
- i32.store $discard=, 0($2), $pop1
+ i32.store $discard=, 0($pop0), $pop1
.LBB15_6:
end_block
- i32.const $push2=, 4
- i32.store $discard=, 0($2), $pop2
+ i32.const $push2=, 0
+ i32.const $push3=, 4
+ i32.store $discard=, 0($pop2), $pop3
return
+ .endfunc
.Lfunc_end15:
.size test6, .Lfunc_end15-test6
@@ -430,32 +456,37 @@ test6:
test7:
.param i32, i32
.local i32, i32
- i32.const $3=, 0
- i32.store $2=, 0($3), $3
+ i32.const $push0=, 0
+ i32.const $push8=, 0
+ i32.store $2=, 0($pop0), $pop8
+ i32.const $push7=, 1
+ i32.and $3=, $0, $pop7
.LBB16_1:
loop
block
- i32.const $push0=, 1
- i32.store $3=, 0($2), $pop0
- i32.and $push1=, $0, $3
- br_if $pop1, 0
- i32.const $push2=, 2
- i32.store $discard=, 0($2), $pop2
- i32.and $push3=, $1, $3
- br_if $pop3, 1
- i32.const $push4=, 4
- i32.store $discard=, 0($2), $pop4
+ i32.const $push9=, 1
+ i32.store $0=, 0($2), $pop9
+ br_if $3, 0
+ i32.const $push10=, 2
+ i32.store $discard=, 0($2), $pop10
+ i32.and $push1=, $1, $0
+ br_if $pop1, 1
+ i32.const $push2=, 0
+ i32.const $push3=, 4
+ i32.store $discard=, 0($pop2), $pop3
unreachable
.LBB16_4:
end_block
- i32.const $push5=, 3
- i32.store $discard=, 0($2), $pop5
- i32.and $push6=, $1, $3
- br_if $pop6, 0
+ i32.const $push11=, 3
+ i32.store $discard=, 0($2), $pop11
+ i32.and $push4=, $1, $0
+ br_if $pop4, 0
end_loop
- i32.const $push7=, 5
- i32.store $discard=, 0($2), $pop7
+ i32.const $push5=, 0
+ i32.const $push6=, 5
+ i32.store $discard=, 0($pop5), $pop6
unreachable
+ .endfunc
.Lfunc_end16:
.size test7, .Lfunc_end16-test7
@@ -463,25 +494,27 @@ test7:
.type test8,@function
test8:
.result i32
- .local i32
- i32.const $0=, 0
.LBB17_1:
loop
block
i32.const $push0=, 0
- i32.eq $push1=, $0, $pop0
- br_if $pop1, 0
+ i32.const $push3=, 0
+ i32.eq $push4=, $pop0, $pop3
+ br_if $pop4, 0
i32.const $push2=, 0
- i32.eq $push3=, $0, $pop2
- br_if $pop3, 1
+ i32.const $push5=, 0
+ i32.eq $push6=, $pop2, $pop5
+ br_if $pop6, 1
.LBB17_3:
end_block
loop
- br_if $0, 0
+ i32.const $push1=, 0
+ br_if $pop1, 0
br 2
.LBB17_4:
end_loop
end_loop
+ .endfunc
.Lfunc_end17:
.size test8, .Lfunc_end17-test8
@@ -489,47 +522,50 @@ test8:
.type test9,@function
test9:
.local i32, i32
- i32.const $1=, 0
- i32.store $0=, 0($1), $1
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.store $0=, 0($pop0), $pop11
.LBB18_1:
loop
- i32.const $push0=, 1
- i32.store $1=, 0($0), $pop0
+ i32.const $push12=, 1
+ i32.store $1=, 0($0), $pop12
i32.call $push1=, a@FUNCTION
i32.and $push2=, $pop1, $1
- i32.const $push13=, 0
- i32.eq $push14=, $pop2, $pop13
- br_if $pop14, 1
+ i32.const $push16=, 0
+ i32.eq $push17=, $pop2, $pop16
+ br_if $pop17, 1
.LBB18_2:
loop
block
- i32.const $push4=, 2
- i32.store $discard=, 0($0), $pop4
+ i32.const $push13=, 2
+ i32.store $discard=, 0($0), $pop13
i32.call $push5=, a@FUNCTION
i32.and $push6=, $pop5, $1
- i32.const $push15=, 0
- i32.eq $push16=, $pop6, $pop15
- br_if $pop16, 0
- i32.const $push10=, 3
- i32.store $discard=, 0($0), $pop10
- i32.call $push11=, a@FUNCTION
- i32.and $push12=, $pop11, $1
- br_if $pop12, 1
+ i32.const $push18=, 0
+ i32.eq $push19=, $pop6, $pop18
+ br_if $pop19, 0
+ i32.const $push14=, 3
+ i32.store $discard=, 0($0), $pop14
+ i32.call $push9=, a@FUNCTION
+ i32.and $push10=, $pop9, $1
+ br_if $pop10, 1
br 3
.LBB18_4:
end_block
- i32.const $push7=, 4
- i32.store $discard=, 0($0), $pop7
- i32.call $push8=, a@FUNCTION
- i32.and $push9=, $pop8, $1
- br_if $pop9, 0
+ i32.const $push15=, 4
+ i32.store $discard=, 0($0), $pop15
+ i32.call $push7=, a@FUNCTION
+ i32.and $push8=, $pop7, $1
+ br_if $pop8, 0
br 2
.LBB18_5:
end_loop
end_loop
- i32.const $push3=, 5
- i32.store $discard=, 0($0), $pop3
+ i32.const $push3=, 0
+ i32.const $push4=, 5
+ i32.store $discard=, 0($pop3), $pop4
return
+ .endfunc
.Lfunc_end18:
.size test9, .Lfunc_end18-test9
@@ -554,9 +590,9 @@ test10:
.LBB19_3:
loop
copy_local $2=, $4
- i32.const $push0=, 4
- i32.gt_u $push1=, $2, $pop0
- br_if $pop1, 5
+ i32.const $push1=, 4
+ i32.gt_u $push0=, $2, $pop1
+ br_if $pop0, 5
copy_local $4=, $3
tableswitch $2, 0, 0, 1, 5, 2, 4
.LBB19_5:
@@ -569,6 +605,7 @@ test10:
br 0
.LBB19_7:
end_loop
+ .endfunc
.Lfunc_end19:
.size test10, .Lfunc_end19-test10
@@ -576,50 +613,60 @@ test10:
.type test11,@function
test11:
.local i32
- i32.const $0=, 0
- i32.store $discard=, 0($0), $0
block
block
block
block
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.store $0=, 0($pop0), $pop13
br_if $0, 0
block
- i32.const $push4=, 1
- i32.store $discard=, 0($0), $pop4
+ i32.const $push6=, 1
+ i32.store $discard=, 0($0), $pop6
br_if $0, 0
- i32.const $push5=, 2
- i32.store $discard=, 0($0), $pop5
- br_if $0, 2
+ i32.const $push8=, 0
+ i32.const $push7=, 2
+ i32.store $discard=, 0($pop8), $pop7
+ i32.const $push14=, 0
+ br_if $pop14, 2
.LBB20_3:
end_block
- i32.const $push7=, 3
- i32.store $discard=, 0($0), $pop7
+ i32.const $push11=, 0
+ i32.const $push12=, 3
+ i32.store $discard=, 0($pop11), $pop12
return
.LBB20_4:
end_block
- i32.const $push0=, 4
- i32.store $discard=, 0($0), $pop0
- br_if $0, 2
- i32.const $push1=, 5
+ i32.const $push1=, 4
i32.store $discard=, 0($0), $pop1
- i32.const $push8=, 0
- i32.eq $push9=, $0, $pop8
- br_if $pop9, 1
+ br_if $0, 2
+ i32.const $push16=, 0
+ i32.const $push2=, 5
+ i32.store $discard=, 0($pop16), $pop2
+ i32.const $push15=, 0
+ i32.const $push18=, 0
+ i32.eq $push19=, $pop15, $pop18
+ br_if $pop19, 1
.LBB20_6:
end_block
- i32.const $push6=, 7
- i32.store $discard=, 0($0), $pop6
+ i32.const $push9=, 0
+ i32.const $push10=, 7
+ i32.store $discard=, 0($pop9), $pop10
return
.LBB20_7:
end_block
- i32.const $push2=, 6
- i32.store $discard=, 0($0), $pop2
+ i32.const $push17=, 0
+ i32.const $push3=, 6
+ i32.store $discard=, 0($pop17), $pop3
return
.LBB20_8:
end_block
- i32.const $push3=, 8
- i32.store $discard=, 0($0), $pop3
+ i32.const $push4=, 0
+ i32.const $push5=, 8
+ i32.store $discard=, 0($pop4), $pop5
return
+ .endfunc
.Lfunc_end20:
.size test11, .Lfunc_end20-test11
@@ -634,24 +681,24 @@ test12:
block
block
block
- i32.const $push0=, 103
- i32.gt_s $push1=, $1, $pop0
- br_if $pop1, 0
+ i32.const $push5=, 103
+ i32.gt_s $push0=, $1, $pop5
+ br_if $pop0, 0
i32.const $push6=, 42
- i32.eq $push7=, $1, $pop6
- br_if $pop7, 2
- i32.const $push8=, 76
- i32.eq $push9=, $1, $pop8
- br_if $pop9, 2
+ i32.eq $push3=, $1, $pop6
+ br_if $pop3, 2
+ i32.const $push7=, 76
+ i32.eq $push4=, $1, $pop7
+ br_if $pop4, 2
br 1
.LBB21_4:
end_block
- i32.const $push2=, 108
- i32.eq $push3=, $1, $pop2
- br_if $pop3, 1
- i32.const $push4=, 104
- i32.eq $push5=, $1, $pop4
- br_if $pop5, 1
+ i32.const $push8=, 108
+ i32.eq $push1=, $1, $pop8
+ br_if $pop1, 1
+ i32.const $push9=, 104
+ i32.eq $push2=, $1, $pop9
+ br_if $pop2, 1
.LBB21_6:
end_block
return
@@ -662,6 +709,7 @@ test12:
br 0
.LBB21_8:
end_loop
+ .endfunc
.Lfunc_end21:
.size test12, .Lfunc_end21-test12
@@ -691,25 +739,27 @@ test13:
br_if $pop6, 0
end_block
unreachable
+ .endfunc
.Lfunc_end22:
.size test13, .Lfunc_end22-test13
.globl test14
.type test14,@function
test14:
- .local i32
- i32.const $0=, 0
.LBB23_1:
loop
- br_if $0, 0
+ i32.const $push0=, 0
+ br_if $pop0, 0
.LBB23_2:
end_loop
loop
- br_if $0, 0
+ i32.const $discard=, 0
+ i32.const $push1=, 0
+ br_if $pop1, 0
end_loop
return
+ .endfunc
.Lfunc_end23:
.size test14, .Lfunc_end23-test14
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/cfg-stackify.wast b/test/llvm_autogenerated/cfg-stackify.wast
index b74e242d5..c3b2cef82 100644
--- a/test/llvm_autogenerated/cfg-stackify.wast
+++ b/test/llvm_autogenerated/cfg-stackify.wast
@@ -129,16 +129,13 @@
)
)
(func $doublediamond (param $$0 i32) (param $$1 i32) (param $$2 i32) (result i32)
- (local $$3 i32)
(block $fake_return_waka123
(block
(block $label$0
(block $label$1
- (set_local $$3
- (i32.store align=4
- (get_local $$2)
- (i32.const 0)
- )
+ (i32.store align=4
+ (get_local $$2)
+ (i32.const 0)
)
(br_if
(get_local $$0)
@@ -175,7 +172,7 @@
(i32.const 5)
)
(br $fake_return_waka123
- (get_local $$3)
+ (i32.const 0)
)
)
)
@@ -211,16 +208,13 @@
)
)
(func $diamond (param $$0 i32) (param $$1 i32) (result i32)
- (local $$2 i32)
(block $fake_return_waka123
(block
(block $label$0
(block $label$1
- (set_local $$2
- (i32.store align=4
- (get_local $$0)
- (i32.const 0)
- )
+ (i32.store align=4
+ (get_local $$0)
+ (i32.const 0)
)
(br_if
(get_local $$1)
@@ -242,7 +236,7 @@
(i32.const 3)
)
(br $fake_return_waka123
- (get_local $$2)
+ (i32.const 0)
)
)
)
@@ -273,14 +267,11 @@
)
)
(func $simple_loop (param $$0 i32) (param $$1 i32) (result i32)
- (local $$2 i32)
(block $fake_return_waka123
(block
- (set_local $$2
- (i32.store align=4
- (get_local $$0)
- (i32.const 0)
- )
+ (i32.store align=4
+ (get_local $$0)
+ (i32.const 0)
)
(loop $label$1 $label$0
(i32.store align=4
@@ -300,7 +291,7 @@
(i32.const 2)
)
(br $fake_return_waka123
- (get_local $$2)
+ (i32.const 0)
)
)
)
@@ -350,16 +341,13 @@
)
)
(func $ifelse_earlyexits (param $$0 i32) (param $$1 i32) (param $$2 i32) (result i32)
- (local $$3 i32)
(block $fake_return_waka123
(block
(block $label$0
(block $label$1
- (set_local $$3
- (i32.store align=4
- (get_local $$2)
- (i32.const 0)
- )
+ (i32.store align=4
+ (get_local $$2)
+ (i32.const 0)
)
(br_if
(get_local $$0)
@@ -389,7 +377,7 @@
(i32.const 4)
)
(br $fake_return_waka123
- (get_local $$3)
+ (i32.const 0)
)
)
)
@@ -525,52 +513,52 @@
)
(func $test5 (param $$0 i32) (param $$1 i32)
(local $$2 i32)
- (local $$3 i32)
(block $fake_return_waka123
(block
+ (set_local $$0
+ (i32.and
+ (get_local $$0)
+ (i32.const 1)
+ )
+ )
+ (set_local $$2
+ (i32.and
+ (get_local $$1)
+ (i32.const 1)
+ )
+ )
(block $label$0
(loop $label$2 $label$1
- (set_local $$2
- (i32.const 0)
- )
- (set_local $$3
+ (set_local $$1
(i32.store align=4
- (get_local $$2)
- (get_local $$2)
+ (i32.const 0)
+ (i32.const 0)
)
)
- (set_local $$2
- (i32.const 1)
- )
(br_if
(i32.eq
- (i32.and
- (get_local $$0)
- (get_local $$2)
- )
+ (get_local $$0)
(i32.const 0)
)
$label$0
)
+ (i32.store align=4
+ (get_local $$1)
+ (i32.const 1)
+ )
(br_if
- (i32.and
- (get_local $$1)
- (i32.store align=4
- (get_local $$3)
- (get_local $$2)
- )
- )
+ (get_local $$2)
$label$1
)
)
(i32.store align=4
- (get_local $$3)
+ (i32.const 0)
(i32.const 3)
)
(br $fake_return_waka123)
)
(i32.store align=4
- (get_local $$3)
+ (i32.const 0)
(i32.const 2)
)
(br $fake_return_waka123)
@@ -583,32 +571,33 @@
(local $$4 i32)
(block $fake_return_waka123
(block
+ (set_local $$2
+ (i32.and
+ (get_local $$0)
+ (i32.const 1)
+ )
+ )
(block $label$0
(block $label$1
(loop $label$3 $label$2
- (set_local $$2
- (i32.const 0)
- )
- (i32.store align=4
- (get_local $$2)
- (get_local $$2)
- )
- (set_local $$3
- (i32.const 1)
+ (set_local $$0
+ (i32.store align=4
+ (i32.const 0)
+ (i32.const 0)
+ )
)
(br_if
(i32.eq
- (i32.and
- (get_local $$0)
- (get_local $$3)
- )
+ (get_local $$2)
(i32.const 0)
)
$label$0
)
- (i32.store align=4
- (get_local $$2)
- (get_local $$3)
+ (set_local $$3
+ (i32.store align=4
+ (get_local $$0)
+ (i32.const 1)
+ )
)
(set_local $$4
(i32.and
@@ -624,7 +613,7 @@
$label$1
)
(i32.store align=4
- (get_local $$2)
+ (get_local $$0)
(get_local $$3)
)
(br_if
@@ -633,18 +622,18 @@
)
)
(i32.store align=4
- (get_local $$2)
+ (i32.const 0)
(i32.const 2)
)
(br $fake_return_waka123)
)
(i32.store align=4
- (get_local $$2)
+ (i32.const 0)
(i32.const 3)
)
)
(i32.store align=4
- (get_local $$2)
+ (i32.const 0)
(i32.const 4)
)
(br $fake_return_waka123)
@@ -654,28 +643,28 @@
(func $test7 (param $$0 i32) (param $$1 i32)
(local $$2 i32)
(local $$3 i32)
- (set_local $$3
- (i32.const 0)
- )
(set_local $$2
(i32.store align=4
- (get_local $$3)
- (get_local $$3)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
+ (set_local $$3
+ (i32.and
+ (get_local $$0)
+ (i32.const 1)
)
)
(loop $label$1 $label$0
(block $label$2
- (set_local $$3
+ (set_local $$0
(i32.store align=4
(get_local $$2)
(i32.const 1)
)
)
(br_if
- (i32.and
- (get_local $$0)
- (get_local $$3)
- )
+ (get_local $$3)
$label$2
)
(i32.store align=4
@@ -685,12 +674,12 @@
(br_if
(i32.and
(get_local $$1)
- (get_local $$3)
+ (get_local $$0)
)
$label$0
)
(i32.store align=4
- (get_local $$2)
+ (i32.const 0)
(i32.const 4)
)
(unreachable)
@@ -702,34 +691,30 @@
(br_if
(i32.and
(get_local $$1)
- (get_local $$3)
+ (get_local $$0)
)
$label$0
)
)
(i32.store align=4
- (get_local $$2)
+ (i32.const 0)
(i32.const 5)
)
(unreachable)
)
(func $test8 (result i32)
- (local $$0 i32)
- (set_local $$0
- (i32.const 0)
- )
(loop $label$1 $label$0
(block $label$2
(br_if
(i32.eq
- (get_local $$0)
+ (i32.const 0)
(i32.const 0)
)
$label$2
)
(br_if
(i32.eq
- (get_local $$0)
+ (i32.const 0)
(i32.const 0)
)
$label$0
@@ -737,7 +722,7 @@
)
(loop $label$4 $label$3
(br_if
- (get_local $$0)
+ (i32.const 0)
$label$3
)
(br $label$0)
@@ -749,13 +734,10 @@
(local $$1 i32)
(block $fake_return_waka123
(block
- (set_local $$1
- (i32.const 0)
- )
(set_local $$0
(i32.store align=4
- (get_local $$1)
- (get_local $$1)
+ (i32.const 0)
+ (i32.const 0)
)
)
(loop $label$1 $label$0
@@ -819,7 +801,7 @@
)
)
(i32.store align=4
- (get_local $$0)
+ (i32.const 0)
(i32.const 5)
)
(br $fake_return_waka123)
@@ -899,17 +881,16 @@
(local $$0 i32)
(block $fake_return_waka123
(block
- (set_local $$0
- (i32.const 0)
- )
- (i32.store align=4
- (get_local $$0)
- (get_local $$0)
- )
(block $label$0
(block $label$1
(block $label$2
(block $label$3
+ (set_local $$0
+ (i32.store align=4
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
(br_if
(get_local $$0)
$label$3
@@ -924,16 +905,16 @@
$label$4
)
(i32.store align=4
- (get_local $$0)
+ (i32.const 0)
(i32.const 2)
)
(br_if
- (get_local $$0)
+ (i32.const 0)
$label$2
)
)
(i32.store align=4
- (get_local $$0)
+ (i32.const 0)
(i32.const 3)
)
(br $fake_return_waka123)
@@ -947,31 +928,31 @@
$label$0
)
(i32.store align=4
- (get_local $$0)
+ (i32.const 0)
(i32.const 5)
)
(br_if
(i32.eq
- (get_local $$0)
+ (i32.const 0)
(i32.const 0)
)
$label$1
)
)
(i32.store align=4
- (get_local $$0)
+ (i32.const 0)
(i32.const 7)
)
(br $fake_return_waka123)
)
(i32.store align=4
- (get_local $$0)
+ (i32.const 0)
(i32.const 6)
)
(br $fake_return_waka123)
)
(i32.store align=4
- (get_local $$0)
+ (i32.const 0)
(i32.const 8)
)
(br $fake_return_waka123)
@@ -1085,21 +1066,18 @@
)
)
(func $test14
- (local $$0 i32)
(block $fake_return_waka123
(block
- (set_local $$0
- (i32.const 0)
- )
(loop $label$1 $label$0
(br_if
- (get_local $$0)
+ (i32.const 0)
$label$0
)
)
(loop $label$3 $label$2
+ (i32.const 0)
(br_if
- (get_local $$0)
+ (i32.const 0)
$label$2
)
)
diff --git a/test/llvm_autogenerated/comparisons_f32.s b/test/llvm_autogenerated/comparisons_f32.s
index a527faa3d..b14d0d8bd 100644
--- a/test/llvm_autogenerated/comparisons_f32.s
+++ b/test/llvm_autogenerated/comparisons_f32.s
@@ -9,6 +9,7 @@ ord_f32:
f32.eq $push0=, $1, $1
i32.and $push2=, $pop1, $pop0
return $pop2
+ .endfunc
.Lfunc_end0:
.size ord_f32, .Lfunc_end0-ord_f32
@@ -21,6 +22,7 @@ uno_f32:
f32.ne $push0=, $1, $1
i32.or $push2=, $pop1, $pop0
return $pop2
+ .endfunc
.Lfunc_end1:
.size uno_f32, .Lfunc_end1-uno_f32
@@ -31,6 +33,7 @@ oeq_f32:
.result i32
f32.eq $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end2:
.size oeq_f32, .Lfunc_end2-oeq_f32
@@ -41,6 +44,7 @@ une_f32:
.result i32
f32.ne $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end3:
.size une_f32, .Lfunc_end3-une_f32
@@ -51,6 +55,7 @@ olt_f32:
.result i32
f32.lt $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end4:
.size olt_f32, .Lfunc_end4-olt_f32
@@ -61,6 +66,7 @@ ole_f32:
.result i32
f32.le $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end5:
.size ole_f32, .Lfunc_end5-ole_f32
@@ -71,6 +77,7 @@ ogt_f32:
.result i32
f32.gt $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end6:
.size ogt_f32, .Lfunc_end6-ogt_f32
@@ -81,6 +88,7 @@ oge_f32:
.result i32
f32.ge $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end7:
.size oge_f32, .Lfunc_end7-oge_f32
@@ -95,6 +103,7 @@ ueq_f32:
i32.or $push3=, $pop2, $pop1
i32.or $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end8:
.size ueq_f32, .Lfunc_end8-ueq_f32
@@ -109,6 +118,7 @@ one_f32:
i32.and $push3=, $pop2, $pop1
i32.and $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end9:
.size one_f32, .Lfunc_end9-one_f32
@@ -123,6 +133,7 @@ ult_f32:
i32.or $push3=, $pop2, $pop1
i32.or $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end10:
.size ult_f32, .Lfunc_end10-ult_f32
@@ -137,6 +148,7 @@ ule_f32:
i32.or $push3=, $pop2, $pop1
i32.or $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end11:
.size ule_f32, .Lfunc_end11-ule_f32
@@ -151,6 +163,7 @@ ugt_f32:
i32.or $push3=, $pop2, $pop1
i32.or $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end12:
.size ugt_f32, .Lfunc_end12-ugt_f32
@@ -165,8 +178,8 @@ uge_f32:
i32.or $push3=, $pop2, $pop1
i32.or $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end13:
.size uge_f32, .Lfunc_end13-uge_f32
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/comparisons_f64.s b/test/llvm_autogenerated/comparisons_f64.s
index ab72bd46e..8bb75bcb6 100644
--- a/test/llvm_autogenerated/comparisons_f64.s
+++ b/test/llvm_autogenerated/comparisons_f64.s
@@ -9,6 +9,7 @@ ord_f64:
f64.eq $push0=, $1, $1
i32.and $push2=, $pop1, $pop0
return $pop2
+ .endfunc
.Lfunc_end0:
.size ord_f64, .Lfunc_end0-ord_f64
@@ -21,6 +22,7 @@ uno_f64:
f64.ne $push0=, $1, $1
i32.or $push2=, $pop1, $pop0
return $pop2
+ .endfunc
.Lfunc_end1:
.size uno_f64, .Lfunc_end1-uno_f64
@@ -31,6 +33,7 @@ oeq_f64:
.result i32
f64.eq $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end2:
.size oeq_f64, .Lfunc_end2-oeq_f64
@@ -41,6 +44,7 @@ une_f64:
.result i32
f64.ne $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end3:
.size une_f64, .Lfunc_end3-une_f64
@@ -51,6 +55,7 @@ olt_f64:
.result i32
f64.lt $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end4:
.size olt_f64, .Lfunc_end4-olt_f64
@@ -61,6 +66,7 @@ ole_f64:
.result i32
f64.le $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end5:
.size ole_f64, .Lfunc_end5-ole_f64
@@ -71,6 +77,7 @@ ogt_f64:
.result i32
f64.gt $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end6:
.size ogt_f64, .Lfunc_end6-ogt_f64
@@ -81,6 +88,7 @@ oge_f64:
.result i32
f64.ge $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end7:
.size oge_f64, .Lfunc_end7-oge_f64
@@ -95,6 +103,7 @@ ueq_f64:
i32.or $push3=, $pop2, $pop1
i32.or $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end8:
.size ueq_f64, .Lfunc_end8-ueq_f64
@@ -109,6 +118,7 @@ one_f64:
i32.and $push3=, $pop2, $pop1
i32.and $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end9:
.size one_f64, .Lfunc_end9-one_f64
@@ -123,6 +133,7 @@ ult_f64:
i32.or $push3=, $pop2, $pop1
i32.or $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end10:
.size ult_f64, .Lfunc_end10-ult_f64
@@ -137,6 +148,7 @@ ule_f64:
i32.or $push3=, $pop2, $pop1
i32.or $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end11:
.size ule_f64, .Lfunc_end11-ule_f64
@@ -151,6 +163,7 @@ ugt_f64:
i32.or $push3=, $pop2, $pop1
i32.or $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end12:
.size ugt_f64, .Lfunc_end12-ugt_f64
@@ -165,8 +178,8 @@ uge_f64:
i32.or $push3=, $pop2, $pop1
i32.or $push4=, $pop0, $pop3
return $pop4
+ .endfunc
.Lfunc_end13:
.size uge_f64, .Lfunc_end13-uge_f64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/comparisons_i32.s b/test/llvm_autogenerated/comparisons_i32.s
index a38bd77bd..340f6ae96 100644
--- a/test/llvm_autogenerated/comparisons_i32.s
+++ b/test/llvm_autogenerated/comparisons_i32.s
@@ -7,6 +7,7 @@ eq_i32:
.result i32
i32.eq $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end0:
.size eq_i32, .Lfunc_end0-eq_i32
@@ -17,6 +18,7 @@ ne_i32:
.result i32
i32.ne $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end1:
.size ne_i32, .Lfunc_end1-ne_i32
@@ -27,6 +29,7 @@ slt_i32:
.result i32
i32.lt_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end2:
.size slt_i32, .Lfunc_end2-slt_i32
@@ -37,6 +40,7 @@ sle_i32:
.result i32
i32.le_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end3:
.size sle_i32, .Lfunc_end3-sle_i32
@@ -47,6 +51,7 @@ ult_i32:
.result i32
i32.lt_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end4:
.size ult_i32, .Lfunc_end4-ult_i32
@@ -57,6 +62,7 @@ ule_i32:
.result i32
i32.le_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end5:
.size ule_i32, .Lfunc_end5-ule_i32
@@ -67,6 +73,7 @@ sgt_i32:
.result i32
i32.gt_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end6:
.size sgt_i32, .Lfunc_end6-sgt_i32
@@ -77,6 +84,7 @@ sge_i32:
.result i32
i32.ge_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end7:
.size sge_i32, .Lfunc_end7-sge_i32
@@ -87,6 +95,7 @@ ugt_i32:
.result i32
i32.gt_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end8:
.size ugt_i32, .Lfunc_end8-ugt_i32
@@ -97,8 +106,8 @@ uge_i32:
.result i32
i32.ge_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end9:
.size uge_i32, .Lfunc_end9-uge_i32
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/comparisons_i64.s b/test/llvm_autogenerated/comparisons_i64.s
index 1b151c7bd..9a9fd6a3b 100644
--- a/test/llvm_autogenerated/comparisons_i64.s
+++ b/test/llvm_autogenerated/comparisons_i64.s
@@ -7,6 +7,7 @@ eq_i64:
.result i32
i64.eq $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end0:
.size eq_i64, .Lfunc_end0-eq_i64
@@ -17,6 +18,7 @@ ne_i64:
.result i32
i64.ne $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end1:
.size ne_i64, .Lfunc_end1-ne_i64
@@ -27,6 +29,7 @@ slt_i64:
.result i32
i64.lt_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end2:
.size slt_i64, .Lfunc_end2-slt_i64
@@ -37,6 +40,7 @@ sle_i64:
.result i32
i64.le_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end3:
.size sle_i64, .Lfunc_end3-sle_i64
@@ -47,6 +51,7 @@ ult_i64:
.result i32
i64.lt_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end4:
.size ult_i64, .Lfunc_end4-ult_i64
@@ -57,6 +62,7 @@ ule_i64:
.result i32
i64.le_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end5:
.size ule_i64, .Lfunc_end5-ule_i64
@@ -67,6 +73,7 @@ sgt_i64:
.result i32
i64.gt_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end6:
.size sgt_i64, .Lfunc_end6-sgt_i64
@@ -77,6 +84,7 @@ sge_i64:
.result i32
i64.ge_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end7:
.size sge_i64, .Lfunc_end7-sge_i64
@@ -87,6 +95,7 @@ ugt_i64:
.result i32
i64.gt_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end8:
.size ugt_i64, .Lfunc_end8-ugt_i64
@@ -97,8 +106,8 @@ uge_i64:
.result i32
i64.ge_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end9:
.size uge_i64, .Lfunc_end9-uge_i64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/conv.s b/test/llvm_autogenerated/conv.s
index 9bb08c906..339051b1c 100644
--- a/test/llvm_autogenerated/conv.s
+++ b/test/llvm_autogenerated/conv.s
@@ -7,6 +7,7 @@ i32_wrap_i64:
.result i32
i32.wrap/i64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end0:
.size i32_wrap_i64, .Lfunc_end0-i32_wrap_i64
@@ -17,6 +18,7 @@ i64_extend_s_i32:
.result i64
i64.extend_s/i32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end1:
.size i64_extend_s_i32, .Lfunc_end1-i64_extend_s_i32
@@ -27,6 +29,7 @@ i64_extend_u_i32:
.result i64
i64.extend_u/i32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end2:
.size i64_extend_u_i32, .Lfunc_end2-i64_extend_u_i32
@@ -37,6 +40,7 @@ i32_trunc_s_f32:
.result i32
i32.trunc_s/f32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end3:
.size i32_trunc_s_f32, .Lfunc_end3-i32_trunc_s_f32
@@ -47,6 +51,7 @@ i32_trunc_u_f32:
.result i32
i32.trunc_u/f32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end4:
.size i32_trunc_u_f32, .Lfunc_end4-i32_trunc_u_f32
@@ -57,6 +62,7 @@ i32_trunc_s_f64:
.result i32
i32.trunc_s/f64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end5:
.size i32_trunc_s_f64, .Lfunc_end5-i32_trunc_s_f64
@@ -67,6 +73,7 @@ i32_trunc_u_f64:
.result i32
i32.trunc_u/f64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end6:
.size i32_trunc_u_f64, .Lfunc_end6-i32_trunc_u_f64
@@ -77,6 +84,7 @@ i64_trunc_s_f32:
.result i64
i64.trunc_s/f32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end7:
.size i64_trunc_s_f32, .Lfunc_end7-i64_trunc_s_f32
@@ -87,6 +95,7 @@ i64_trunc_u_f32:
.result i64
i64.trunc_u/f32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end8:
.size i64_trunc_u_f32, .Lfunc_end8-i64_trunc_u_f32
@@ -97,6 +106,7 @@ i64_trunc_s_f64:
.result i64
i64.trunc_s/f64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end9:
.size i64_trunc_s_f64, .Lfunc_end9-i64_trunc_s_f64
@@ -107,6 +117,7 @@ i64_trunc_u_f64:
.result i64
i64.trunc_u/f64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end10:
.size i64_trunc_u_f64, .Lfunc_end10-i64_trunc_u_f64
@@ -117,6 +128,7 @@ f32_convert_s_i32:
.result f32
f32.convert_s/i32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end11:
.size f32_convert_s_i32, .Lfunc_end11-f32_convert_s_i32
@@ -127,6 +139,7 @@ f32_convert_u_i32:
.result f32
f32.convert_u/i32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end12:
.size f32_convert_u_i32, .Lfunc_end12-f32_convert_u_i32
@@ -137,6 +150,7 @@ f64_convert_s_i32:
.result f64
f64.convert_s/i32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end13:
.size f64_convert_s_i32, .Lfunc_end13-f64_convert_s_i32
@@ -147,6 +161,7 @@ f64_convert_u_i32:
.result f64
f64.convert_u/i32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end14:
.size f64_convert_u_i32, .Lfunc_end14-f64_convert_u_i32
@@ -157,6 +172,7 @@ f32_convert_s_i64:
.result f32
f32.convert_s/i64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end15:
.size f32_convert_s_i64, .Lfunc_end15-f32_convert_s_i64
@@ -167,6 +183,7 @@ f32_convert_u_i64:
.result f32
f32.convert_u/i64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end16:
.size f32_convert_u_i64, .Lfunc_end16-f32_convert_u_i64
@@ -177,6 +194,7 @@ f64_convert_s_i64:
.result f64
f64.convert_s/i64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end17:
.size f64_convert_s_i64, .Lfunc_end17-f64_convert_s_i64
@@ -187,6 +205,7 @@ f64_convert_u_i64:
.result f64
f64.convert_u/i64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end18:
.size f64_convert_u_i64, .Lfunc_end18-f64_convert_u_i64
@@ -197,6 +216,7 @@ f64_promote_f32:
.result f64
f64.promote/f32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end19:
.size f64_promote_f32, .Lfunc_end19-f64_promote_f32
@@ -207,6 +227,7 @@ f32_demote_f64:
.result f32
f32.demote/f64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end20:
.size f32_demote_f64, .Lfunc_end20-f32_demote_f64
@@ -219,6 +240,7 @@ anyext:
i64.const $push1=, 32
i64.shl $push2=, $pop0, $pop1
return $pop2
+ .endfunc
.Lfunc_end21:
.size anyext, .Lfunc_end21-anyext
@@ -229,6 +251,7 @@ bitcast_i32_to_float:
.result f32
f32.reinterpret/i32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end22:
.size bitcast_i32_to_float, .Lfunc_end22-bitcast_i32_to_float
@@ -239,6 +262,7 @@ bitcast_float_to_i32:
.result i32
i32.reinterpret/f32 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end23:
.size bitcast_float_to_i32, .Lfunc_end23-bitcast_float_to_i32
@@ -249,6 +273,7 @@ bitcast_i64_to_double:
.result f64
f64.reinterpret/i64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end24:
.size bitcast_i64_to_double, .Lfunc_end24-bitcast_i64_to_double
@@ -259,8 +284,8 @@ bitcast_double_to_i64:
.result i64
i64.reinterpret/f64 $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end25:
.size bitcast_double_to_i64, .Lfunc_end25-bitcast_double_to_i64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/copysign-casts.s b/test/llvm_autogenerated/copysign-casts.s
index 64e7e354e..1b3db084c 100644
--- a/test/llvm_autogenerated/copysign-casts.s
+++ b/test/llvm_autogenerated/copysign-casts.s
@@ -8,6 +8,7 @@ fold_promote:
f64.promote/f32 $push0=, $1
f64.copysign $push1=, $0, $pop0
return $pop1
+ .endfunc
.Lfunc_end0:
.size fold_promote, .Lfunc_end0-fold_promote
@@ -19,8 +20,8 @@ fold_demote:
f32.demote/f64 $push0=, $1
f32.copysign $push1=, $0, $pop0
return $pop1
+ .endfunc
.Lfunc_end1:
.size fold_demote, .Lfunc_end1-fold_demote
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/cpus.s b/test/llvm_autogenerated/cpus.s
index 9e1d701d2..9ec96b578 100644
--- a/test/llvm_autogenerated/cpus.s
+++ b/test/llvm_autogenerated/cpus.s
@@ -6,8 +6,8 @@ f:
.param i32
.result i32
return $0
+ .endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/dead-vreg.s b/test/llvm_autogenerated/dead-vreg.s
index 83c484f36..8839c3011 100644
--- a/test/llvm_autogenerated/dead-vreg.s
+++ b/test/llvm_autogenerated/dead-vreg.s
@@ -4,45 +4,46 @@
.type foo,@function
foo:
.param i32, i32, i32
- .local i32, i32, i32, i32, i32, i32, i32
- i32.const $4=, 1
+ .local i32, i32, i32, i32, i32, i32
block
- i32.lt_s $push0=, $2, $4
+ i32.const $push3=, 1
+ i32.lt_s $push0=, $2, $pop3
br_if $pop0, 0
- i32.const $5=, 0
i32.const $push1=, 2
i32.shl $3=, $1, $pop1
- copy_local $6=, $5
+ i32.const $5=, 0
+ i32.const $push4=, 1
+ i32.lt_s $4=, $1, $pop4
.LBB0_2:
loop
- copy_local $7=, $5
- copy_local $8=, $0
- copy_local $9=, $1
+ i32.const $6=, 0
+ copy_local $7=, $0
+ copy_local $8=, $1
block
- i32.lt_s $push2=, $1, $4
- br_if $pop2, 0
+ br_if $4, 0
.LBB0_3:
loop
- i32.const $push3=, -1
- i32.add $9=, $9, $pop3
- i32.store $discard=, 0($8), $7
- i32.const $push4=, 4
- i32.add $8=, $8, $pop4
- i32.add $7=, $7, $6
- br_if $9, 0
+ i32.store $discard=, 0($7), $6
+ i32.const $push6=, -1
+ i32.add $8=, $8, $pop6
+ i32.const $push5=, 4
+ i32.add $7=, $7, $pop5
+ i32.add $6=, $6, $5
+ br_if $8, 0
.LBB0_4:
end_loop
end_block
- i32.add $6=, $6, $4
+ i32.const $push7=, 1
+ i32.add $5=, $5, $pop7
i32.add $0=, $0, $3
- i32.ne $push5=, $6, $2
- br_if $pop5, 0
+ i32.ne $push2=, $5, $2
+ br_if $pop2, 0
.LBB0_5:
end_loop
end_block
return
+ .endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/dead-vreg.wast b/test/llvm_autogenerated/dead-vreg.wast
index 3eb4dd029..282cd8fe0 100644
--- a/test/llvm_autogenerated/dead-vreg.wast
+++ b/test/llvm_autogenerated/dead-vreg.wast
@@ -8,83 +8,79 @@
(local $$6 i32)
(local $$7 i32)
(local $$8 i32)
- (local $$9 i32)
(block $fake_return_waka123
(block
- (set_local $$4
- (i32.const 1)
- )
(block $label$0
(br_if
(i32.lt_s
(get_local $$2)
- (get_local $$4)
+ (i32.const 1)
)
$label$0
)
- (set_local $$5
- (i32.const 0)
- )
(set_local $$3
(i32.shl
(get_local $$1)
(i32.const 2)
)
)
- (set_local $$6
- (get_local $$5)
+ (set_local $$5
+ (i32.const 0)
+ )
+ (set_local $$4
+ (i32.lt_s
+ (get_local $$1)
+ (i32.const 1)
+ )
)
(loop $label$2 $label$1
- (set_local $$7
- (get_local $$5)
+ (set_local $$6
+ (i32.const 0)
)
- (set_local $$8
+ (set_local $$7
(get_local $$0)
)
- (set_local $$9
+ (set_local $$8
(get_local $$1)
)
(block $label$3
(br_if
- (i32.lt_s
- (get_local $$1)
- (get_local $$4)
- )
+ (get_local $$4)
$label$3
)
(loop $label$5 $label$4
- (set_local $$9
- (i32.add
- (get_local $$9)
- (i32.const -1)
- )
- )
(i32.store align=4
- (get_local $$8)
(get_local $$7)
+ (get_local $$6)
)
(set_local $$8
(i32.add
(get_local $$8)
- (i32.const 4)
+ (i32.const -1)
)
)
(set_local $$7
(i32.add
(get_local $$7)
+ (i32.const 4)
+ )
+ )
+ (set_local $$6
+ (i32.add
(get_local $$6)
+ (get_local $$5)
)
)
(br_if
- (get_local $$9)
+ (get_local $$8)
$label$4
)
)
)
- (set_local $$6
+ (set_local $$5
(i32.add
- (get_local $$6)
- (get_local $$4)
+ (get_local $$5)
+ (i32.const 1)
)
)
(set_local $$0
@@ -95,7 +91,7 @@
)
(br_if
(i32.ne
- (get_local $$6)
+ (get_local $$5)
(get_local $$2)
)
$label$1
diff --git a/test/llvm_autogenerated/f32.s b/test/llvm_autogenerated/f32.s
index 229f3f7dc..6eff47f4e 100644
--- a/test/llvm_autogenerated/f32.s
+++ b/test/llvm_autogenerated/f32.s
@@ -7,6 +7,7 @@ fadd32:
.result f32
f32.add $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end0:
.size fadd32, .Lfunc_end0-fadd32
@@ -17,6 +18,7 @@ fsub32:
.result f32
f32.sub $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end1:
.size fsub32, .Lfunc_end1-fsub32
@@ -27,6 +29,7 @@ fmul32:
.result f32
f32.mul $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end2:
.size fmul32, .Lfunc_end2-fmul32
@@ -37,6 +40,7 @@ fdiv32:
.result f32
f32.div $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end3:
.size fdiv32, .Lfunc_end3-fdiv32
@@ -47,6 +51,7 @@ fabs32:
.result f32
f32.abs $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end4:
.size fabs32, .Lfunc_end4-fabs32
@@ -57,6 +62,7 @@ fneg32:
.result f32
f32.neg $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end5:
.size fneg32, .Lfunc_end5-fneg32
@@ -67,6 +73,7 @@ copysign32:
.result f32
f32.copysign $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end6:
.size copysign32, .Lfunc_end6-copysign32
@@ -77,6 +84,7 @@ sqrt32:
.result f32
f32.sqrt $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end7:
.size sqrt32, .Lfunc_end7-sqrt32
@@ -87,6 +95,7 @@ ceil32:
.result f32
f32.ceil $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end8:
.size ceil32, .Lfunc_end8-ceil32
@@ -97,6 +106,7 @@ floor32:
.result f32
f32.floor $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end9:
.size floor32, .Lfunc_end9-floor32
@@ -107,6 +117,7 @@ trunc32:
.result f32
f32.trunc $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end10:
.size trunc32, .Lfunc_end10-trunc32
@@ -117,6 +128,7 @@ nearest32:
.result f32
f32.nearest $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end11:
.size nearest32, .Lfunc_end11-nearest32
@@ -127,6 +139,7 @@ nearest32_via_rint:
.result f32
f32.nearest $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end12:
.size nearest32_via_rint, .Lfunc_end12-nearest32_via_rint
@@ -138,6 +151,7 @@ fmin32:
f32.const $push0=, 0x0p0
f32.min $push1=, $0, $pop0
return $pop1
+ .endfunc
.Lfunc_end13:
.size fmin32, .Lfunc_end13-fmin32
@@ -149,6 +163,7 @@ fmax32:
f32.const $push0=, 0x0p0
f32.max $push1=, $0, $pop0
return $pop1
+ .endfunc
.Lfunc_end14:
.size fmax32, .Lfunc_end14-fmax32
@@ -159,8 +174,8 @@ fma32:
.result f32
f32.call $push0=, fmaf@FUNCTION, $0, $1, $2
return $pop0
+ .endfunc
.Lfunc_end15:
.size fma32, .Lfunc_end15-fma32
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/f64.s b/test/llvm_autogenerated/f64.s
index 520a1a68d..70b233ceb 100644
--- a/test/llvm_autogenerated/f64.s
+++ b/test/llvm_autogenerated/f64.s
@@ -7,6 +7,7 @@ fadd64:
.result f64
f64.add $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end0:
.size fadd64, .Lfunc_end0-fadd64
@@ -17,6 +18,7 @@ fsub64:
.result f64
f64.sub $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end1:
.size fsub64, .Lfunc_end1-fsub64
@@ -27,6 +29,7 @@ fmul64:
.result f64
f64.mul $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end2:
.size fmul64, .Lfunc_end2-fmul64
@@ -37,6 +40,7 @@ fdiv64:
.result f64
f64.div $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end3:
.size fdiv64, .Lfunc_end3-fdiv64
@@ -47,6 +51,7 @@ fabs64:
.result f64
f64.abs $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end4:
.size fabs64, .Lfunc_end4-fabs64
@@ -57,6 +62,7 @@ fneg64:
.result f64
f64.neg $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end5:
.size fneg64, .Lfunc_end5-fneg64
@@ -67,6 +73,7 @@ copysign64:
.result f64
f64.copysign $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end6:
.size copysign64, .Lfunc_end6-copysign64
@@ -77,6 +84,7 @@ sqrt64:
.result f64
f64.sqrt $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end7:
.size sqrt64, .Lfunc_end7-sqrt64
@@ -87,6 +95,7 @@ ceil64:
.result f64
f64.ceil $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end8:
.size ceil64, .Lfunc_end8-ceil64
@@ -97,6 +106,7 @@ floor64:
.result f64
f64.floor $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end9:
.size floor64, .Lfunc_end9-floor64
@@ -107,6 +117,7 @@ trunc64:
.result f64
f64.trunc $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end10:
.size trunc64, .Lfunc_end10-trunc64
@@ -117,6 +128,7 @@ nearest64:
.result f64
f64.nearest $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end11:
.size nearest64, .Lfunc_end11-nearest64
@@ -127,6 +139,7 @@ nearest64_via_rint:
.result f64
f64.nearest $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end12:
.size nearest64_via_rint, .Lfunc_end12-nearest64_via_rint
@@ -138,6 +151,7 @@ fmin64:
f64.const $push0=, 0x0p0
f64.min $push1=, $0, $pop0
return $pop1
+ .endfunc
.Lfunc_end13:
.size fmin64, .Lfunc_end13-fmin64
@@ -149,6 +163,7 @@ fmax64:
f64.const $push0=, 0x0p0
f64.max $push1=, $0, $pop0
return $pop1
+ .endfunc
.Lfunc_end14:
.size fmax64, .Lfunc_end14-fmax64
@@ -159,8 +174,8 @@ fma64:
.result f64
f64.call $push0=, fma@FUNCTION, $0, $1, $2
return $pop0
+ .endfunc
.Lfunc_end15:
.size fma64, .Lfunc_end15-fma64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/fast-isel.s b/test/llvm_autogenerated/fast-isel.s
index e511c33a1..63a2718a3 100644
--- a/test/llvm_autogenerated/fast-isel.s
+++ b/test/llvm_autogenerated/fast-isel.s
@@ -6,6 +6,7 @@ immediate_f32:
.result f32
f32.const $push0=, 0x1.4p1
return $pop0
+ .endfunc
.Lfunc_end0:
.size immediate_f32, .Lfunc_end0-immediate_f32
@@ -15,8 +16,8 @@ immediate_f64:
.result f64
f64.const $push0=, 0x1.4p1
return $pop0
+ .endfunc
.Lfunc_end1:
.size immediate_f64, .Lfunc_end1-immediate_f64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/frem.s b/test/llvm_autogenerated/frem.s
index af01a9c2b..6ef9559ab 100644
--- a/test/llvm_autogenerated/frem.s
+++ b/test/llvm_autogenerated/frem.s
@@ -7,6 +7,7 @@ frem32:
.result f32
f32.call $push0=, fmodf@FUNCTION, $0, $1
return $pop0
+ .endfunc
.Lfunc_end0:
.size frem32, .Lfunc_end0-frem32
@@ -17,8 +18,8 @@ frem64:
.result f64
f64.call $push0=, fmod@FUNCTION, $0, $1
return $pop0
+ .endfunc
.Lfunc_end1:
.size frem64, .Lfunc_end1-frem64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/func.s b/test/llvm_autogenerated/func.s
index 49425e63c..fbe92c359 100644
--- a/test/llvm_autogenerated/func.s
+++ b/test/llvm_autogenerated/func.s
@@ -4,6 +4,7 @@
.type f0,@function
f0:
return
+ .endfunc
.Lfunc_end0:
.size f0, .Lfunc_end0-f0
@@ -13,6 +14,7 @@ f1:
.result i32
i32.const $push0=, 0
return $pop0
+ .endfunc
.Lfunc_end1:
.size f1, .Lfunc_end1-f1
@@ -23,6 +25,7 @@ f2:
.result i32
i32.const $push0=, 0
return $pop0
+ .endfunc
.Lfunc_end2:
.size f2, .Lfunc_end2-f2
@@ -31,6 +34,7 @@ f2:
f3:
.param i32, f32
return
+ .endfunc
.Lfunc_end3:
.size f3, .Lfunc_end3-f3
@@ -39,18 +43,19 @@ f3:
f4:
.param i32
.result i32
- .local i32
- i32.const $1=, 1
block
- i32.and $push0=, $0, $1
- i32.const $push2=, 0
- i32.eq $push3=, $pop0, $pop2
- br_if $pop3, 0
+ i32.const $push2=, 1
+ i32.and $push0=, $0, $pop2
+ i32.const $push4=, 0
+ i32.eq $push5=, $pop0, $pop4
+ br_if $pop5, 0
i32.const $push1=, 0
return $pop1
.LBB4_2:
end_block
- return $1
+ i32.const $push3=, 1
+ return $pop3
+ .endfunc
.Lfunc_end4:
.size f4, .Lfunc_end4-f4
@@ -59,8 +64,8 @@ f4:
f5:
.result f32
unreachable
+ .endfunc
.Lfunc_end5:
.size f5, .Lfunc_end5-f5
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/func.wast b/test/llvm_autogenerated/func.wast
index ae815c2e5..4ee2497f7 100644
--- a/test/llvm_autogenerated/func.wast
+++ b/test/llvm_autogenerated/func.wast
@@ -39,18 +39,14 @@
)
)
(func $f4 (param $$0 i32) (result i32)
- (local $$1 i32)
(block $fake_return_waka123
(block
- (set_local $$1
- (i32.const 1)
- )
(block $label$0
(br_if
(i32.eq
(i32.and
(get_local $$0)
- (get_local $$1)
+ (i32.const 1)
)
(i32.const 0)
)
@@ -61,7 +57,7 @@
)
)
(br $fake_return_waka123
- (get_local $$1)
+ (i32.const 1)
)
)
)
diff --git a/test/llvm_autogenerated/global.s b/test/llvm_autogenerated/global.s
index 3b2432998..0eaf572ec 100644
--- a/test/llvm_autogenerated/global.s
+++ b/test/llvm_autogenerated/global.s
@@ -7,6 +7,7 @@ foo:
i32.const $push0=, 0
i32.load $push1=, answer($pop0)
return $pop1
+ .endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -15,8 +16,9 @@ foo:
call_memcpy:
.param i32, i32, i32
.result i32
- call memcpy@FUNCTION, $0, $1, $2
+ i32.call $discard=, memcpy@FUNCTION, $0, $1, $2
return $0
+ .endfunc
.Lfunc_end1:
.size call_memcpy, .Lfunc_end1-call_memcpy
@@ -145,5 +147,17 @@ rom:
.skip 512
.size rom, 512
+ .type array,@object
+array:
+ .skip 8
+ .size array, 8
+
+ .type pointer_to_array,@object
+ .section .data.rel.ro,"aw",@progbits
+ .globl pointer_to_array
+ .align 2
+pointer_to_array:
+ .int32 array+4
+ .size pointer_to_array, 4
+
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/global.wast b/test/llvm_autogenerated/global.wast
index 6569b8376..6a9a6293d 100644
--- a/test/llvm_autogenerated/global.wast
+++ b/test/llvm_autogenerated/global.wast
@@ -1,7 +1,7 @@
(module
- (memory 1184 4294967295 (segment 8 "9\05\00\00") (segment 24 "\01\00\00\00") (segment 28 "*\00\00\00") (segment 32 "\ff\ff\ff\ff") (segment 64 "\00\00\00\00\01\00\00\00") (segment 72 "\ff\ff\ff\ff\ff\ff\ff\ff") (segment 92 "\00\00\00\80") (segment 96 "\00\00\00@") (segment 128 "\00\00\00\00\00\00\00\80") (segment 136 "\00\00\00\00\00\00\00@") (segment 656 "\e0\00\00\00"))
- (type $FUNCSIG$viii (func (param i32 i32 i32)))
- (import $memcpy "env" "memcpy" (param i32 i32 i32))
+ (memory 1196 4294967295 (segment 8 "9\05\00\00") (segment 24 "\01\00\00\00") (segment 28 "*\00\00\00") (segment 32 "\ff\ff\ff\ff") (segment 64 "\00\00\00\00\01\00\00\00") (segment 72 "\ff\ff\ff\ff\ff\ff\ff\ff") (segment 92 "\00\00\00\80") (segment 96 "\00\00\00@") (segment 128 "\00\00\00\00\00\00\00\80") (segment 136 "\00\00\00\00\00\00\00@") (segment 656 "\e0\00\00\00") (segment 1192 "\a4\04\00\00"))
+ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
+ (import $memcpy "env" "memcpy" (param i32 i32 i32) (result i32))
(export "foo" $foo)
(export "call_memcpy" $call_memcpy)
(func $foo (result i32)
@@ -30,4 +30,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 1183 }
+;; METADATA: { "asmConsts": {},"staticBump": 1195 }
diff --git a/test/llvm_autogenerated/globl.s b/test/llvm_autogenerated/globl.s
index 0453076f7..894ec0bf5 100644
--- a/test/llvm_autogenerated/globl.s
+++ b/test/llvm_autogenerated/globl.s
@@ -4,8 +4,8 @@
.type foo,@function
foo:
return
+ .endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/i32-load-store-alignment.s b/test/llvm_autogenerated/i32-load-store-alignment.s
new file mode 100644
index 000000000..9f02ec6bb
--- /dev/null
+++ b/test/llvm_autogenerated/i32-load-store-alignment.s
@@ -0,0 +1,213 @@
+ .text
+ .file "/s/llvm/llvm/test/CodeGen/WebAssembly/i32-load-store-alignment.ll"
+ .globl ldi32_a1
+ .type ldi32_a1,@function
+ldi32_a1:
+ .param i32
+ .result i32
+ i32.load $push0=, 0($0):p2align=0
+ return $pop0
+ .endfunc
+.Lfunc_end0:
+ .size ldi32_a1, .Lfunc_end0-ldi32_a1
+
+ .globl ldi32_a2
+ .type ldi32_a2,@function
+ldi32_a2:
+ .param i32
+ .result i32
+ i32.load $push0=, 0($0):p2align=1
+ return $pop0
+ .endfunc
+.Lfunc_end1:
+ .size ldi32_a2, .Lfunc_end1-ldi32_a2
+
+ .globl ldi32_a4
+ .type ldi32_a4,@function
+ldi32_a4:
+ .param i32
+ .result i32
+ i32.load $push0=, 0($0)
+ return $pop0
+ .endfunc
+.Lfunc_end2:
+ .size ldi32_a4, .Lfunc_end2-ldi32_a4
+
+ .globl ldi32
+ .type ldi32,@function
+ldi32:
+ .param i32
+ .result i32
+ i32.load $push0=, 0($0)
+ return $pop0
+ .endfunc
+.Lfunc_end3:
+ .size ldi32, .Lfunc_end3-ldi32
+
+ .globl ldi32_a8
+ .type ldi32_a8,@function
+ldi32_a8:
+ .param i32
+ .result i32
+ i32.load $push0=, 0($0):p2align=3
+ return $pop0
+ .endfunc
+.Lfunc_end4:
+ .size ldi32_a8, .Lfunc_end4-ldi32_a8
+
+ .globl ldi8_a1
+ .type ldi8_a1,@function
+ldi8_a1:
+ .param i32
+ .result i32
+ i32.load8_u $push0=, 0($0)
+ return $pop0
+ .endfunc
+.Lfunc_end5:
+ .size ldi8_a1, .Lfunc_end5-ldi8_a1
+
+ .globl ldi8_a2
+ .type ldi8_a2,@function
+ldi8_a2:
+ .param i32
+ .result i32
+ i32.load8_u $push0=, 0($0):p2align=1
+ return $pop0
+ .endfunc
+.Lfunc_end6:
+ .size ldi8_a2, .Lfunc_end6-ldi8_a2
+
+ .globl ldi16_a1
+ .type ldi16_a1,@function
+ldi16_a1:
+ .param i32
+ .result i32
+ i32.load16_u $push0=, 0($0):p2align=0
+ return $pop0
+ .endfunc
+.Lfunc_end7:
+ .size ldi16_a1, .Lfunc_end7-ldi16_a1
+
+ .globl ldi16_a2
+ .type ldi16_a2,@function
+ldi16_a2:
+ .param i32
+ .result i32
+ i32.load16_u $push0=, 0($0)
+ return $pop0
+ .endfunc
+.Lfunc_end8:
+ .size ldi16_a2, .Lfunc_end8-ldi16_a2
+
+ .globl ldi16_a4
+ .type ldi16_a4,@function
+ldi16_a4:
+ .param i32
+ .result i32
+ i32.load16_u $push0=, 0($0):p2align=2
+ return $pop0
+ .endfunc
+.Lfunc_end9:
+ .size ldi16_a4, .Lfunc_end9-ldi16_a4
+
+ .globl sti32_a1
+ .type sti32_a1,@function
+sti32_a1:
+ .param i32, i32
+ i32.store $discard=, 0($0):p2align=0, $1
+ return
+ .endfunc
+.Lfunc_end10:
+ .size sti32_a1, .Lfunc_end10-sti32_a1
+
+ .globl sti32_a2
+ .type sti32_a2,@function
+sti32_a2:
+ .param i32, i32
+ i32.store $discard=, 0($0):p2align=1, $1
+ return
+ .endfunc
+.Lfunc_end11:
+ .size sti32_a2, .Lfunc_end11-sti32_a2
+
+ .globl sti32_a4
+ .type sti32_a4,@function
+sti32_a4:
+ .param i32, i32
+ i32.store $discard=, 0($0), $1
+ return
+ .endfunc
+.Lfunc_end12:
+ .size sti32_a4, .Lfunc_end12-sti32_a4
+
+ .globl sti32
+ .type sti32,@function
+sti32:
+ .param i32, i32
+ i32.store $discard=, 0($0), $1
+ return
+ .endfunc
+.Lfunc_end13:
+ .size sti32, .Lfunc_end13-sti32
+
+ .globl sti32_a8
+ .type sti32_a8,@function
+sti32_a8:
+ .param i32, i32
+ i32.store $discard=, 0($0):p2align=3, $1
+ return
+ .endfunc
+.Lfunc_end14:
+ .size sti32_a8, .Lfunc_end14-sti32_a8
+
+ .globl sti8_a1
+ .type sti8_a1,@function
+sti8_a1:
+ .param i32, i32
+ i32.store8 $discard=, 0($0), $1
+ return
+ .endfunc
+.Lfunc_end15:
+ .size sti8_a1, .Lfunc_end15-sti8_a1
+
+ .globl sti8_a2
+ .type sti8_a2,@function
+sti8_a2:
+ .param i32, i32
+ i32.store8 $discard=, 0($0):p2align=1, $1
+ return
+ .endfunc
+.Lfunc_end16:
+ .size sti8_a2, .Lfunc_end16-sti8_a2
+
+ .globl sti16_a1
+ .type sti16_a1,@function
+sti16_a1:
+ .param i32, i32
+ i32.store16 $discard=, 0($0):p2align=0, $1
+ return
+ .endfunc
+.Lfunc_end17:
+ .size sti16_a1, .Lfunc_end17-sti16_a1
+
+ .globl sti16_a2
+ .type sti16_a2,@function
+sti16_a2:
+ .param i32, i32
+ i32.store16 $discard=, 0($0), $1
+ return
+ .endfunc
+.Lfunc_end18:
+ .size sti16_a2, .Lfunc_end18-sti16_a2
+
+ .globl sti16_a4
+ .type sti16_a4,@function
+sti16_a4:
+ .param i32, i32
+ i32.store16 $discard=, 0($0):p2align=2, $1
+ return
+ .endfunc
+.Lfunc_end19:
+ .size sti16_a4, .Lfunc_end19-sti16_a4
+
+
diff --git a/test/llvm_autogenerated/i32.s b/test/llvm_autogenerated/i32.s
index c214cac8f..66128cd2e 100644
--- a/test/llvm_autogenerated/i32.s
+++ b/test/llvm_autogenerated/i32.s
@@ -7,6 +7,7 @@ add32:
.result i32
i32.add $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end0:
.size add32, .Lfunc_end0-add32
@@ -17,6 +18,7 @@ sub32:
.result i32
i32.sub $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end1:
.size sub32, .Lfunc_end1-sub32
@@ -27,6 +29,7 @@ mul32:
.result i32
i32.mul $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end2:
.size mul32, .Lfunc_end2-mul32
@@ -37,6 +40,7 @@ sdiv32:
.result i32
i32.div_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end3:
.size sdiv32, .Lfunc_end3-sdiv32
@@ -47,6 +51,7 @@ udiv32:
.result i32
i32.div_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end4:
.size udiv32, .Lfunc_end4-udiv32
@@ -57,6 +62,7 @@ srem32:
.result i32
i32.rem_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end5:
.size srem32, .Lfunc_end5-srem32
@@ -67,6 +73,7 @@ urem32:
.result i32
i32.rem_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end6:
.size urem32, .Lfunc_end6-urem32
@@ -77,6 +84,7 @@ and32:
.result i32
i32.and $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end7:
.size and32, .Lfunc_end7-and32
@@ -87,6 +95,7 @@ or32:
.result i32
i32.or $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end8:
.size or32, .Lfunc_end8-or32
@@ -97,6 +106,7 @@ xor32:
.result i32
i32.xor $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end9:
.size xor32, .Lfunc_end9-xor32
@@ -107,6 +117,7 @@ shl32:
.result i32
i32.shl $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end10:
.size shl32, .Lfunc_end10-shl32
@@ -117,6 +128,7 @@ shr32:
.result i32
i32.shr_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end11:
.size shr32, .Lfunc_end11-shr32
@@ -127,6 +139,7 @@ sar32:
.result i32
i32.shr_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end12:
.size sar32, .Lfunc_end12-sar32
@@ -137,6 +150,7 @@ clz32:
.result i32
i32.clz $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end13:
.size clz32, .Lfunc_end13-clz32
@@ -147,6 +161,7 @@ clz32_zero_undef:
.result i32
i32.clz $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end14:
.size clz32_zero_undef, .Lfunc_end14-clz32_zero_undef
@@ -157,6 +172,7 @@ ctz32:
.result i32
i32.ctz $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end15:
.size ctz32, .Lfunc_end15-ctz32
@@ -167,6 +183,7 @@ ctz32_zero_undef:
.result i32
i32.ctz $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end16:
.size ctz32_zero_undef, .Lfunc_end16-ctz32_zero_undef
@@ -177,8 +194,8 @@ popcnt32:
.result i32
i32.popcnt $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end17:
.size popcnt32, .Lfunc_end17-popcnt32
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/i64-load-store-alignment.s b/test/llvm_autogenerated/i64-load-store-alignment.s
new file mode 100644
index 000000000..a61aa2965
--- /dev/null
+++ b/test/llvm_autogenerated/i64-load-store-alignment.s
@@ -0,0 +1,318 @@
+ .text
+ .file "/s/llvm/llvm/test/CodeGen/WebAssembly/i64-load-store-alignment.ll"
+ .globl ldi64_a1
+ .type ldi64_a1,@function
+ldi64_a1:
+ .param i32
+ .result i64
+ i64.load $push0=, 0($0):p2align=0
+ return $pop0
+ .endfunc
+.Lfunc_end0:
+ .size ldi64_a1, .Lfunc_end0-ldi64_a1
+
+ .globl ldi64_a2
+ .type ldi64_a2,@function
+ldi64_a2:
+ .param i32
+ .result i64
+ i64.load $push0=, 0($0):p2align=1
+ return $pop0
+ .endfunc
+.Lfunc_end1:
+ .size ldi64_a2, .Lfunc_end1-ldi64_a2
+
+ .globl ldi64_a4
+ .type ldi64_a4,@function
+ldi64_a4:
+ .param i32
+ .result i64
+ i64.load $push0=, 0($0):p2align=2
+ return $pop0
+ .endfunc
+.Lfunc_end2:
+ .size ldi64_a4, .Lfunc_end2-ldi64_a4
+
+ .globl ldi64_a8
+ .type ldi64_a8,@function
+ldi64_a8:
+ .param i32
+ .result i64
+ i64.load $push0=, 0($0)
+ return $pop0
+ .endfunc
+.Lfunc_end3:
+ .size ldi64_a8, .Lfunc_end3-ldi64_a8
+
+ .globl ldi64
+ .type ldi64,@function
+ldi64:
+ .param i32
+ .result i64
+ i64.load $push0=, 0($0)
+ return $pop0
+ .endfunc
+.Lfunc_end4:
+ .size ldi64, .Lfunc_end4-ldi64
+
+ .globl ldi64_a16
+ .type ldi64_a16,@function
+ldi64_a16:
+ .param i32
+ .result i64
+ i64.load $push0=, 0($0):p2align=4
+ return $pop0
+ .endfunc
+.Lfunc_end5:
+ .size ldi64_a16, .Lfunc_end5-ldi64_a16
+
+ .globl ldi8_a1
+ .type ldi8_a1,@function
+ldi8_a1:
+ .param i32
+ .result i64
+ i64.load8_u $push0=, 0($0)
+ return $pop0
+ .endfunc
+.Lfunc_end6:
+ .size ldi8_a1, .Lfunc_end6-ldi8_a1
+
+ .globl ldi8_a2
+ .type ldi8_a2,@function
+ldi8_a2:
+ .param i32
+ .result i64
+ i64.load8_u $push0=, 0($0):p2align=1
+ return $pop0
+ .endfunc
+.Lfunc_end7:
+ .size ldi8_a2, .Lfunc_end7-ldi8_a2
+
+ .globl ldi16_a1
+ .type ldi16_a1,@function
+ldi16_a1:
+ .param i32
+ .result i64
+ i64.load16_u $push0=, 0($0):p2align=0
+ return $pop0
+ .endfunc
+.Lfunc_end8:
+ .size ldi16_a1, .Lfunc_end8-ldi16_a1
+
+ .globl ldi16_a2
+ .type ldi16_a2,@function
+ldi16_a2:
+ .param i32
+ .result i64
+ i64.load16_u $push0=, 0($0)
+ return $pop0
+ .endfunc
+.Lfunc_end9:
+ .size ldi16_a2, .Lfunc_end9-ldi16_a2
+
+ .globl ldi16_a4
+ .type ldi16_a4,@function
+ldi16_a4:
+ .param i32
+ .result i64
+ i64.load16_u $push0=, 0($0):p2align=2
+ return $pop0
+ .endfunc
+.Lfunc_end10:
+ .size ldi16_a4, .Lfunc_end10-ldi16_a4
+
+ .globl ldi32_a1
+ .type ldi32_a1,@function
+ldi32_a1:
+ .param i32
+ .result i64
+ i64.load32_u $push0=, 0($0):p2align=0
+ return $pop0
+ .endfunc
+.Lfunc_end11:
+ .size ldi32_a1, .Lfunc_end11-ldi32_a1
+
+ .globl ldi32_a2
+ .type ldi32_a2,@function
+ldi32_a2:
+ .param i32
+ .result i64
+ i64.load32_u $push0=, 0($0):p2align=1
+ return $pop0
+ .endfunc
+.Lfunc_end12:
+ .size ldi32_a2, .Lfunc_end12-ldi32_a2
+
+ .globl ldi32_a4
+ .type ldi32_a4,@function
+ldi32_a4:
+ .param i32
+ .result i64
+ i64.load32_u $push0=, 0($0)
+ return $pop0
+ .endfunc
+.Lfunc_end13:
+ .size ldi32_a4, .Lfunc_end13-ldi32_a4
+
+ .globl ldi32_a8
+ .type ldi32_a8,@function
+ldi32_a8:
+ .param i32
+ .result i64
+ i64.load32_u $push0=, 0($0):p2align=3
+ return $pop0
+ .endfunc
+.Lfunc_end14:
+ .size ldi32_a8, .Lfunc_end14-ldi32_a8
+
+ .globl sti64_a1
+ .type sti64_a1,@function
+sti64_a1:
+ .param i32, i64
+ i64.store $discard=, 0($0):p2align=0, $1
+ return
+ .endfunc
+.Lfunc_end15:
+ .size sti64_a1, .Lfunc_end15-sti64_a1
+
+ .globl sti64_a2
+ .type sti64_a2,@function
+sti64_a2:
+ .param i32, i64
+ i64.store $discard=, 0($0):p2align=1, $1
+ return
+ .endfunc
+.Lfunc_end16:
+ .size sti64_a2, .Lfunc_end16-sti64_a2
+
+ .globl sti64_a4
+ .type sti64_a4,@function
+sti64_a4:
+ .param i32, i64
+ i64.store $discard=, 0($0):p2align=2, $1
+ return
+ .endfunc
+.Lfunc_end17:
+ .size sti64_a4, .Lfunc_end17-sti64_a4
+
+ .globl sti64_a8
+ .type sti64_a8,@function
+sti64_a8:
+ .param i32, i64
+ i64.store $discard=, 0($0), $1
+ return
+ .endfunc
+.Lfunc_end18:
+ .size sti64_a8, .Lfunc_end18-sti64_a8
+
+ .globl sti64
+ .type sti64,@function
+sti64:
+ .param i32, i64
+ i64.store $discard=, 0($0), $1
+ return
+ .endfunc
+.Lfunc_end19:
+ .size sti64, .Lfunc_end19-sti64
+
+ .globl sti64_a16
+ .type sti64_a16,@function
+sti64_a16:
+ .param i32, i64
+ i64.store $discard=, 0($0):p2align=4, $1
+ return
+ .endfunc
+.Lfunc_end20:
+ .size sti64_a16, .Lfunc_end20-sti64_a16
+
+ .globl sti8_a1
+ .type sti8_a1,@function
+sti8_a1:
+ .param i32, i64
+ i64.store8 $discard=, 0($0), $1
+ return
+ .endfunc
+.Lfunc_end21:
+ .size sti8_a1, .Lfunc_end21-sti8_a1
+
+ .globl sti8_a2
+ .type sti8_a2,@function
+sti8_a2:
+ .param i32, i64
+ i64.store8 $discard=, 0($0):p2align=1, $1
+ return
+ .endfunc
+.Lfunc_end22:
+ .size sti8_a2, .Lfunc_end22-sti8_a2
+
+ .globl sti16_a1
+ .type sti16_a1,@function
+sti16_a1:
+ .param i32, i64
+ i64.store16 $discard=, 0($0):p2align=0, $1
+ return
+ .endfunc
+.Lfunc_end23:
+ .size sti16_a1, .Lfunc_end23-sti16_a1
+
+ .globl sti16_a2
+ .type sti16_a2,@function
+sti16_a2:
+ .param i32, i64
+ i64.store16 $discard=, 0($0), $1
+ return
+ .endfunc
+.Lfunc_end24:
+ .size sti16_a2, .Lfunc_end24-sti16_a2
+
+ .globl sti16_a4
+ .type sti16_a4,@function
+sti16_a4:
+ .param i32, i64
+ i64.store16 $discard=, 0($0):p2align=2, $1
+ return
+ .endfunc
+.Lfunc_end25:
+ .size sti16_a4, .Lfunc_end25-sti16_a4
+
+ .globl sti32_a1
+ .type sti32_a1,@function
+sti32_a1:
+ .param i32, i64
+ i64.store32 $discard=, 0($0):p2align=0, $1
+ return
+ .endfunc
+.Lfunc_end26:
+ .size sti32_a1, .Lfunc_end26-sti32_a1
+
+ .globl sti32_a2
+ .type sti32_a2,@function
+sti32_a2:
+ .param i32, i64
+ i64.store32 $discard=, 0($0):p2align=1, $1
+ return
+ .endfunc
+.Lfunc_end27:
+ .size sti32_a2, .Lfunc_end27-sti32_a2
+
+ .globl sti32_a4
+ .type sti32_a4,@function
+sti32_a4:
+ .param i32, i64
+ i64.store32 $discard=, 0($0), $1
+ return
+ .endfunc
+.Lfunc_end28:
+ .size sti32_a4, .Lfunc_end28-sti32_a4
+
+ .globl sti32_a8
+ .type sti32_a8,@function
+sti32_a8:
+ .param i32, i64
+ i64.store32 $discard=, 0($0):p2align=3, $1
+ return
+ .endfunc
+.Lfunc_end29:
+ .size sti32_a8, .Lfunc_end29-sti32_a8
+
+
diff --git a/test/llvm_autogenerated/i64.s b/test/llvm_autogenerated/i64.s
index a6a96e6f7..a095f0245 100644
--- a/test/llvm_autogenerated/i64.s
+++ b/test/llvm_autogenerated/i64.s
@@ -7,6 +7,7 @@ add64:
.result i64
i64.add $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end0:
.size add64, .Lfunc_end0-add64
@@ -17,6 +18,7 @@ sub64:
.result i64
i64.sub $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end1:
.size sub64, .Lfunc_end1-sub64
@@ -27,6 +29,7 @@ mul64:
.result i64
i64.mul $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end2:
.size mul64, .Lfunc_end2-mul64
@@ -37,6 +40,7 @@ sdiv64:
.result i64
i64.div_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end3:
.size sdiv64, .Lfunc_end3-sdiv64
@@ -47,6 +51,7 @@ udiv64:
.result i64
i64.div_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end4:
.size udiv64, .Lfunc_end4-udiv64
@@ -57,6 +62,7 @@ srem64:
.result i64
i64.rem_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end5:
.size srem64, .Lfunc_end5-srem64
@@ -67,6 +73,7 @@ urem64:
.result i64
i64.rem_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end6:
.size urem64, .Lfunc_end6-urem64
@@ -77,6 +84,7 @@ and64:
.result i64
i64.and $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end7:
.size and64, .Lfunc_end7-and64
@@ -87,6 +95,7 @@ or64:
.result i64
i64.or $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end8:
.size or64, .Lfunc_end8-or64
@@ -97,6 +106,7 @@ xor64:
.result i64
i64.xor $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end9:
.size xor64, .Lfunc_end9-xor64
@@ -107,6 +117,7 @@ shl64:
.result i64
i64.shl $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end10:
.size shl64, .Lfunc_end10-shl64
@@ -117,6 +128,7 @@ shr64:
.result i64
i64.shr_u $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end11:
.size shr64, .Lfunc_end11-shr64
@@ -127,6 +139,7 @@ sar64:
.result i64
i64.shr_s $push0=, $0, $1
return $pop0
+ .endfunc
.Lfunc_end12:
.size sar64, .Lfunc_end12-sar64
@@ -137,6 +150,7 @@ clz64:
.result i64
i64.clz $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end13:
.size clz64, .Lfunc_end13-clz64
@@ -147,6 +161,7 @@ clz64_zero_undef:
.result i64
i64.clz $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end14:
.size clz64_zero_undef, .Lfunc_end14-clz64_zero_undef
@@ -157,6 +172,7 @@ ctz64:
.result i64
i64.ctz $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end15:
.size ctz64, .Lfunc_end15-ctz64
@@ -167,6 +183,7 @@ ctz64_zero_undef:
.result i64
i64.ctz $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end16:
.size ctz64_zero_undef, .Lfunc_end16-ctz64_zero_undef
@@ -177,8 +194,8 @@ popcnt64:
.result i64
i64.popcnt $push0=, $0
return $pop0
+ .endfunc
.Lfunc_end17:
.size popcnt64, .Lfunc_end17-popcnt64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/ident.s b/test/llvm_autogenerated/ident.s
index 46a08c7e7..782ec8812 100644
--- a/test/llvm_autogenerated/ident.s
+++ b/test/llvm_autogenerated/ident.s
@@ -2,4 +2,3 @@
.file "/s/llvm/llvm/test/CodeGen/WebAssembly/ident.ll"
.ident "hello world"
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/immediates.s b/test/llvm_autogenerated/immediates.s
index e1cf622a3..bba1d13e8 100644
--- a/test/llvm_autogenerated/immediates.s
+++ b/test/llvm_autogenerated/immediates.s
@@ -6,6 +6,7 @@ zero_i32:
.result i32
i32.const $push0=, 0
return $pop0
+ .endfunc
.Lfunc_end0:
.size zero_i32, .Lfunc_end0-zero_i32
@@ -15,6 +16,7 @@ one_i32:
.result i32
i32.const $push0=, 1
return $pop0
+ .endfunc
.Lfunc_end1:
.size one_i32, .Lfunc_end1-one_i32
@@ -24,6 +26,7 @@ max_i32:
.result i32
i32.const $push0=, 2147483647
return $pop0
+ .endfunc
.Lfunc_end2:
.size max_i32, .Lfunc_end2-max_i32
@@ -33,6 +36,7 @@ min_i32:
.result i32
i32.const $push0=, -2147483648
return $pop0
+ .endfunc
.Lfunc_end3:
.size min_i32, .Lfunc_end3-min_i32
@@ -42,6 +46,7 @@ zero_i64:
.result i64
i64.const $push0=, 0
return $pop0
+ .endfunc
.Lfunc_end4:
.size zero_i64, .Lfunc_end4-zero_i64
@@ -51,6 +56,7 @@ one_i64:
.result i64
i64.const $push0=, 1
return $pop0
+ .endfunc
.Lfunc_end5:
.size one_i64, .Lfunc_end5-one_i64
@@ -60,6 +66,7 @@ max_i64:
.result i64
i64.const $push0=, 9223372036854775807
return $pop0
+ .endfunc
.Lfunc_end6:
.size max_i64, .Lfunc_end6-max_i64
@@ -69,6 +76,7 @@ min_i64:
.result i64
i64.const $push0=, -9223372036854775808
return $pop0
+ .endfunc
.Lfunc_end7:
.size min_i64, .Lfunc_end7-min_i64
@@ -78,6 +86,7 @@ negzero_f32:
.result f32
f32.const $push0=, -0x0p0
return $pop0
+ .endfunc
.Lfunc_end8:
.size negzero_f32, .Lfunc_end8-negzero_f32
@@ -87,6 +96,7 @@ zero_f32:
.result f32
f32.const $push0=, 0x0p0
return $pop0
+ .endfunc
.Lfunc_end9:
.size zero_f32, .Lfunc_end9-zero_f32
@@ -96,6 +106,7 @@ one_f32:
.result f32
f32.const $push0=, 0x1p0
return $pop0
+ .endfunc
.Lfunc_end10:
.size one_f32, .Lfunc_end10-one_f32
@@ -105,6 +116,7 @@ two_f32:
.result f32
f32.const $push0=, 0x1p1
return $pop0
+ .endfunc
.Lfunc_end11:
.size two_f32, .Lfunc_end11-two_f32
@@ -114,6 +126,7 @@ nan_f32:
.result f32
f32.const $push0=, nan
return $pop0
+ .endfunc
.Lfunc_end12:
.size nan_f32, .Lfunc_end12-nan_f32
@@ -123,6 +136,7 @@ negnan_f32:
.result f32
f32.const $push0=, -nan
return $pop0
+ .endfunc
.Lfunc_end13:
.size negnan_f32, .Lfunc_end13-negnan_f32
@@ -132,6 +146,7 @@ inf_f32:
.result f32
f32.const $push0=, infinity
return $pop0
+ .endfunc
.Lfunc_end14:
.size inf_f32, .Lfunc_end14-inf_f32
@@ -141,6 +156,7 @@ neginf_f32:
.result f32
f32.const $push0=, -infinity
return $pop0
+ .endfunc
.Lfunc_end15:
.size neginf_f32, .Lfunc_end15-neginf_f32
@@ -150,6 +166,7 @@ negzero_f64:
.result f64
f64.const $push0=, -0x0p0
return $pop0
+ .endfunc
.Lfunc_end16:
.size negzero_f64, .Lfunc_end16-negzero_f64
@@ -159,6 +176,7 @@ zero_f64:
.result f64
f64.const $push0=, 0x0p0
return $pop0
+ .endfunc
.Lfunc_end17:
.size zero_f64, .Lfunc_end17-zero_f64
@@ -168,6 +186,7 @@ one_f64:
.result f64
f64.const $push0=, 0x1p0
return $pop0
+ .endfunc
.Lfunc_end18:
.size one_f64, .Lfunc_end18-one_f64
@@ -177,6 +196,7 @@ two_f64:
.result f64
f64.const $push0=, 0x1p1
return $pop0
+ .endfunc
.Lfunc_end19:
.size two_f64, .Lfunc_end19-two_f64
@@ -186,6 +206,7 @@ nan_f64:
.result f64
f64.const $push0=, nan
return $pop0
+ .endfunc
.Lfunc_end20:
.size nan_f64, .Lfunc_end20-nan_f64
@@ -195,6 +216,7 @@ negnan_f64:
.result f64
f64.const $push0=, -nan
return $pop0
+ .endfunc
.Lfunc_end21:
.size negnan_f64, .Lfunc_end21-negnan_f64
@@ -204,6 +226,7 @@ inf_f64:
.result f64
f64.const $push0=, infinity
return $pop0
+ .endfunc
.Lfunc_end22:
.size inf_f64, .Lfunc_end22-inf_f64
@@ -213,8 +236,8 @@ neginf_f64:
.result f64
f64.const $push0=, -infinity
return $pop0
+ .endfunc
.Lfunc_end23:
.size neginf_f64, .Lfunc_end23-neginf_f64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/legalize.s b/test/llvm_autogenerated/legalize.s
index 53bd6c1ed..79855c4df 100644
--- a/test/llvm_autogenerated/legalize.s
+++ b/test/llvm_autogenerated/legalize.s
@@ -9,6 +9,7 @@ shl_i3:
i32.and $push1=, $1, $pop0
i32.shl $push2=, $0, $pop1
return $pop2
+ .endfunc
.Lfunc_end0:
.size shl_i3, .Lfunc_end0-shl_i3
@@ -21,6 +22,7 @@ shl_i53:
i64.and $push1=, $1, $pop0
i64.shl $push2=, $0, $pop1
return $pop2
+ .endfunc
.Lfunc_end1:
.size shl_i53, .Lfunc_end1-shl_i53
@@ -29,11 +31,12 @@ shl_i53:
sext_in_reg_i32_i64:
.param i64
.result i64
- .local i64
- i64.const $1=, 32
- i64.shl $push0=, $0, $1
- i64.shr_s $push1=, $pop0, $1
- return $pop1
+ i64.const $push0=, 32
+ i64.shl $push1=, $0, $pop0
+ i64.const $push3=, 32
+ i64.shr_s $push2=, $pop1, $pop3
+ return $pop2
+ .endfunc
.Lfunc_end2:
.size sext_in_reg_i32_i64, .Lfunc_end2-sext_in_reg_i32_i64
@@ -45,6 +48,7 @@ fpext_f32_f64:
f32.load $push0=, 0($0)
f64.promote/f32 $push1=, $pop0
return $pop1
+ .endfunc
.Lfunc_end3:
.size fpext_f32_f64, .Lfunc_end3-fpext_f32_f64
@@ -56,6 +60,7 @@ fpconv_f64_f32:
f64.load $push0=, 0($0)
f32.demote/f64 $push1=, $pop0
return $pop1
+ .endfunc
.Lfunc_end4:
.size fpconv_f64_f32, .Lfunc_end4-fpconv_f64_f32
@@ -63,857 +68,1002 @@ fpconv_f64_f32:
.type bigshift,@function
bigshift:
.param i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64
- .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i32, i32, i64, i64, i64, i32, i32, i64, i32, i32, i64, i64, i64, i32, i32, i64, i64, i64, i32, i32, i64, i32, i32, i64, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i32, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, 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, 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, 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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
- i32.const $181=, __stack_pointer
- i32.load $181=, 0($181)
- i32.const $182=, 1024
- i32.sub $279=, $181, $182
- i32.const $182=, __stack_pointer
- i32.store $279=, 0($182), $279
+ .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i64, i64, i64, i32, i32, i64, i32, i32, i64, i64, i64, i32, i32, i64, i64, i64, i32, i32, i64, i32, i32, i64, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i32, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, 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, 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, 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, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ i32.const $179=, __stack_pointer
+ i32.load $179=, 0($179)
+ i32.const $180=, 1024
+ i32.sub $310=, $179, $180
+ i32.const $180=, __stack_pointer
+ i32.store $310=, 0($180), $310
i64.const $push0=, 896
i64.sub $push1=, $pop0, $17
- i32.const $184=, 480
- i32.add $184=, $279, $184
- call __lshrti3@FUNCTION, $184, $1, $2, $pop1
+ i32.const $182=, 480
+ i32.add $182=, $310, $182
+ call __lshrti3@FUNCTION, $182, $1, $2, $pop1
i64.const $push2=, -768
i64.add $33=, $17, $pop2
- i32.const $185=, 464
- i32.add $185=, $279, $185
- call __ashlti3@FUNCTION, $185, $3, $4, $33
+ i32.const $183=, 464
+ i32.add $183=, $310, $183
+ call __ashlti3@FUNCTION, $183, $3, $4, $33
i64.const $push3=, -896
i64.add $push4=, $17, $pop3
- i32.const $186=, 496
- i32.add $186=, $279, $186
- call __ashlti3@FUNCTION, $186, $1, $2, $pop4
+ i32.const $184=, 496
+ i32.add $184=, $310, $184
+ call __ashlti3@FUNCTION, $184, $1, $2, $pop4
i64.const $push5=, 640
i64.sub $34=, $pop5, $17
- i32.const $187=, 352
- i32.add $187=, $279, $187
- call __lshrti3@FUNCTION, $187, $5, $6, $34
+ i32.const $185=, 352
+ i32.add $185=, $310, $185
+ call __lshrti3@FUNCTION, $185, $5, $6, $34
i64.const $push6=, -512
i64.add $35=, $17, $pop6
- i32.const $188=, 336
- i32.add $188=, $279, $188
- call __ashlti3@FUNCTION, $188, $7, $8, $35
+ i32.const $186=, 336
+ i32.add $186=, $310, $186
+ call __ashlti3@FUNCTION, $186, $7, $8, $35
i64.const $push7=, -640
i64.add $36=, $17, $pop7
- i32.const $189=, 368
- i32.add $189=, $279, $189
- call __ashlti3@FUNCTION, $189, $5, $6, $36
+ i32.const $187=, 368
+ i32.add $187=, $310, $187
+ call __ashlti3@FUNCTION, $187, $5, $6, $36
i64.const $push8=, 768
i64.sub $37=, $pop8, $17
- i32.const $190=, 432
- i32.add $190=, $279, $190
- call __lshrti3@FUNCTION, $190, $3, $4, $37
- i64.const $38=, 384
- i64.sub $39=, $38, $17
- i32.const $191=, 864
- i32.add $191=, $279, $191
- call __lshrti3@FUNCTION, $191, $9, $10, $39
- i64.const $push9=, -256
- i64.add $40=, $17, $pop9
- i32.const $192=, 848
- i32.add $192=, $279, $192
- call __ashlti3@FUNCTION, $192, $11, $12, $40
- i64.const $push10=, -384
- i64.add $41=, $17, $pop10
- i32.const $193=, 880
- i32.add $193=, $279, $193
- call __ashlti3@FUNCTION, $193, $9, $10, $41
- i32.const $194=, 1008
- i32.add $194=, $279, $194
- call __ashlti3@FUNCTION, $194, $15, $16, $17
- i64.const $42=, 128
- i64.sub $51=, $42, $17
- i32.const $195=, 960
- i32.add $195=, $279, $195
- call __lshrti3@FUNCTION, $195, $13, $14, $51
- i64.const $push11=, -128
- i64.add $43=, $17, $pop11
- i32.const $196=, 976
- i32.add $196=, $279, $196
- call __ashlti3@FUNCTION, $196, $13, $14, $43
- i64.const $44=, 256
- i64.sub $45=, $44, $17
- i32.const $197=, 816
- i32.add $197=, $279, $197
- call __lshrti3@FUNCTION, $197, $11, $12, $45
- i64.const $46=, 512
- i64.sub $47=, $46, $17
- i32.const $198=, 240
- i32.add $198=, $279, $198
- call __lshrti3@FUNCTION, $198, $7, $8, $47
- i32.const $199=, 912
- i32.add $199=, $279, $199
- call __ashlti3@FUNCTION, $199, $11, $12, $17
- i32.const $200=, 928
- i32.add $200=, $279, $200
- call __lshrti3@FUNCTION, $200, $9, $10, $51
- i32.const $201=, 944
- i32.add $201=, $279, $201
- call __ashlti3@FUNCTION, $201, $9, $10, $43
- i64.sub $48=, $44, $47
- i32.const $202=, 80
- i32.add $202=, $279, $202
- call __ashlti3@FUNCTION, $202, $7, $8, $48
- i64.sub $push12=, $42, $48
- i32.const $203=, 96
- i32.add $203=, $279, $203
- call __lshrti3@FUNCTION, $203, $5, $6, $pop12
- i64.sub $49=, $42, $47
- i32.const $204=, 112
- i32.add $204=, $279, $204
- call __ashlti3@FUNCTION, $204, $5, $6, $49
- i32.const $205=, 48
- i32.add $205=, $279, $205
- call __lshrti3@FUNCTION, $205, $3, $4, $47
- i32.const $206=, 176
- i32.add $206=, $279, $206
- call __lshrti3@FUNCTION, $206, $7, $8, $45
- i32.const $207=, 288
- i32.add $207=, $279, $207
- call __lshrti3@FUNCTION, $207, $1, $2, $34
- i32.const $208=, 272
- i32.add $208=, $279, $208
- call __ashlti3@FUNCTION, $208, $3, $4, $35
- i32.const $209=, 304
- i32.add $209=, $279, $209
- call __ashlti3@FUNCTION, $209, $1, $2, $36
- i32.const $210=, 128
- i32.add $210=, $279, $210
- call __lshrti3@FUNCTION, $210, $5, $6, $45
- i64.sub $push13=, $38, $47
- i32.const $211=, 144
- i32.add $211=, $279, $211
- call __ashlti3@FUNCTION, $211, $7, $8, $pop13
- i32.const $212=, 160
- i32.add $212=, $279, $212
- call __lshrti3@FUNCTION, $212, $7, $8, $51
- i32.const $213=, 0
- i32.add $213=, $279, $213
- call __lshrti3@FUNCTION, $213, $1, $2, $47
- i32.const $214=, 16
- i32.add $214=, $279, $214
- call __ashlti3@FUNCTION, $214, $3, $4, $49
- i32.const $215=, 32
- i32.add $215=, $279, $215
- call __lshrti3@FUNCTION, $215, $3, $4, $39
- i32.const $216=, 64
- i32.add $216=, $279, $216
- call __ashlti3@FUNCTION, $216, $5, $6, $48
- i32.const $217=, 896
- i32.add $217=, $279, $217
- call __ashlti3@FUNCTION, $217, $9, $10, $17
- i32.const $218=, 256
- i32.add $218=, $279, $218
- call __ashlti3@FUNCTION, $218, $1, $2, $35
- i32.const $219=, 192
- i32.add $219=, $279, $219
- call __lshrti3@FUNCTION, $219, $5, $6, $47
- i32.const $220=, 208
- i32.add $220=, $279, $220
- call __ashlti3@FUNCTION, $220, $7, $8, $49
- i32.const $221=, 224
- i32.add $221=, $279, $221
- call __lshrti3@FUNCTION, $221, $7, $8, $39
- i32.const $222=, 768
- i32.add $222=, $279, $222
- call __lshrti3@FUNCTION, $222, $9, $10, $45
- i64.sub $49=, $42, $45
- i32.const $223=, 784
- i32.add $223=, $279, $223
- call __ashlti3@FUNCTION, $223, $11, $12, $49
- i32.const $224=, 800
- i32.add $224=, $279, $224
- call __lshrti3@FUNCTION, $224, $11, $12, $51
- i32.const $225=, 992
- i32.add $225=, $279, $225
- call __ashlti3@FUNCTION, $225, $13, $14, $17
- i32.const $226=, 832
- i32.add $226=, $279, $226
- call __ashlti3@FUNCTION, $226, $9, $10, $40
- i32.const $227=, 384
- i32.add $227=, $279, $227
- call __lshrti3@FUNCTION, $227, $1, $2, $37
- i64.sub $push14=, $42, $37
- i32.const $228=, 400
- i32.add $228=, $279, $228
- call __ashlti3@FUNCTION, $228, $3, $4, $pop14
- i32.const $229=, 416
- i32.add $229=, $279, $229
- call __lshrti3@FUNCTION, $229, $3, $4, $34
- i32.const $230=, 320
- i32.add $230=, $279, $230
- call __ashlti3@FUNCTION, $230, $5, $6, $35
- i32.const $231=, 448
- i32.add $231=, $279, $231
- call __ashlti3@FUNCTION, $231, $1, $2, $33
- i32.const $232=, 736
- i32.add $232=, $279, $232
- call __lshrti3@FUNCTION, $232, $1, $2, $39
- i32.const $233=, 720
- i32.add $233=, $279, $233
- call __ashlti3@FUNCTION, $233, $3, $4, $40
- i32.const $234=, 752
- i32.add $234=, $279, $234
- call __ashlti3@FUNCTION, $234, $1, $2, $41
- i32.const $235=, 592
- i32.add $235=, $279, $235
- call __ashlti3@FUNCTION, $235, $7, $8, $17
- i32.const $236=, 608
- i32.add $236=, $279, $236
- call __lshrti3@FUNCTION, $236, $5, $6, $51
- i32.const $237=, 624
- i32.add $237=, $279, $237
- call __ashlti3@FUNCTION, $237, $5, $6, $43
- i32.const $238=, 688
- i32.add $238=, $279, $238
- call __lshrti3@FUNCTION, $238, $3, $4, $45
- i32.const $239=, 640
- i32.add $239=, $279, $239
- call __lshrti3@FUNCTION, $239, $1, $2, $45
- i32.const $240=, 656
- i32.add $240=, $279, $240
- call __ashlti3@FUNCTION, $240, $3, $4, $49
- i32.const $241=, 672
- i32.add $241=, $279, $241
- call __lshrti3@FUNCTION, $241, $3, $4, $51
- i32.const $242=, 576
- i32.add $242=, $279, $242
- call __ashlti3@FUNCTION, $242, $5, $6, $17
- i32.const $243=, 704
- i32.add $243=, $279, $243
- call __ashlti3@FUNCTION, $243, $1, $2, $40
- i32.const $244=, 528
- i32.add $244=, $279, $244
- call __ashlti3@FUNCTION, $244, $3, $4, $17
- i32.const $245=, 544
- i32.add $245=, $279, $245
- call __lshrti3@FUNCTION, $245, $1, $2, $51
- i32.const $246=, 560
- i32.add $246=, $279, $246
- call __ashlti3@FUNCTION, $246, $1, $2, $43
- i32.const $247=, 512
- i32.add $247=, $279, $247
- call __ashlti3@FUNCTION, $247, $1, $2, $17
- i32.const $78=, 8
- i32.const $248=, 480
- i32.add $248=, $279, $248
- i32.add $push40=, $248, $78
- i64.load $39=, 0($pop40)
- i32.const $249=, 464
- i32.add $249=, $279, $249
- i32.add $push41=, $249, $78
- i64.load $43=, 0($pop41)
- i64.load $34=, 480($279)
- i64.load $49=, 464($279)
- i64.load $36=, 496($279)
- i32.const $250=, 496
- i32.add $250=, $279, $250
- i32.add $push43=, $250, $78
- i64.load $38=, 0($pop43)
- i64.lt_u $50=, $33, $42
- i64.const $51=, 0
- i64.eq $52=, $33, $51
- i32.const $251=, 352
- i32.add $251=, $279, $251
- i32.add $push46=, $251, $78
- i64.load $33=, 0($pop46)
- i32.const $252=, 336
- i32.add $252=, $279, $252
- i32.add $push47=, $252, $78
- i64.load $41=, 0($pop47)
- i32.const $253=, 368
- i32.add $253=, $279, $253
- i32.add $push49=, $253, $78
- i64.load $79=, 0($pop49)
- i32.const $254=, 432
- i32.add $254=, $279, $254
- i32.add $push52=, $254, $78
- i64.load $80=, 0($pop52)
- i32.const $255=, 864
- i32.add $255=, $279, $255
- i32.add $push57=, $255, $78
- i64.load $81=, 0($pop57)
- i32.const $256=, 848
- i32.add $256=, $279, $256
- i32.add $push58=, $256, $78
- i64.load $82=, 0($pop58)
- i32.const $257=, 880
- i32.add $257=, $279, $257
- i32.add $push60=, $257, $78
- i64.load $83=, 0($pop60)
- i32.const $258=, 1008
- i32.add $258=, $279, $258
- i32.add $push63=, $258, $78
- i64.load $84=, 0($pop63)
- i32.const $259=, 960
- i32.add $259=, $279, $259
- i32.add $push64=, $259, $78
- i64.load $85=, 0($pop64)
- i32.const $260=, 976
- i32.add $260=, $279, $260
- i32.add $push66=, $260, $78
- i64.load $86=, 0($pop66)
- i32.const $261=, 816
- i32.add $261=, $279, $261
- i32.add $push69=, $261, $78
- i64.load $87=, 0($pop69)
- i32.const $262=, 240
- i32.add $262=, $279, $262
- i32.add $push74=, $262, $78
- i64.load $88=, 0($pop74)
- i32.const $263=, 912
- i32.add $263=, $279, $263
- i32.add $push99=, $263, $78
- i64.load $100=, 0($pop99)
- i32.const $264=, 928
- i32.add $264=, $279, $264
- i32.add $push100=, $264, $78
- i64.load $101=, 0($pop100)
- i32.const $265=, 944
- i32.add $265=, $279, $265
- i32.add $push102=, $265, $78
- i64.load $102=, 0($pop102)
- i32.const $266=, 80
- i32.add $266=, $279, $266
- i32.add $push106=, $266, $78
- i64.load $103=, 0($pop106)
- i32.const $267=, 96
- i32.add $267=, $279, $267
- i32.add $push107=, $267, $78
- i64.load $104=, 0($pop107)
- i64.load $90=, 80($279)
- i64.load $91=, 96($279)
- i64.load $92=, 112($279)
- i32.const $268=, 112
- i32.add $268=, $279, $268
- i32.add $push109=, $268, $78
- i64.load $105=, 0($pop109)
- i64.lt_u $89=, $48, $42
- i64.eq $93=, $48, $51
- i32.const $269=, 48
- i32.add $269=, $279, $269
- i32.add $push112=, $269, $78
- i64.load $48=, 0($pop112)
- i32.const $270=, 176
- i32.add $270=, $279, $270
- i32.add $push115=, $270, $78
- i64.load $106=, 0($pop115)
- i32.const $271=, 288
- i32.add $271=, $279, $271
- i32.add $push120=, $271, $78
- i64.load $107=, 0($pop120)
- i32.const $272=, 272
- i32.add $272=, $279, $272
- i32.add $push121=, $272, $78
- i64.load $108=, 0($pop121)
- i32.const $273=, 304
- i32.add $273=, $279, $273
- i32.add $push123=, $273, $78
- i64.load $109=, 0($pop123)
- i32.const $274=, 128
- i32.add $274=, $279, $274
- i32.add $push146=, $274, $78
- i64.load $119=, 0($pop146)
- i32.const $275=, 144
- i32.add $275=, $279, $275
- i32.add $push147=, $275, $78
- i64.load $120=, 0($pop147)
- i32.const $276=, 160
- i32.add $276=, $279, $276
- i32.add $push149=, $276, $78
- i64.load $121=, 0($pop149)
- i32.const $277=, 0
- i32.add $277=, $279, $277
- i32.add $push152=, $277, $78
- i64.load $122=, 0($pop152)
- i32.const $278=, 16
- i32.add $278=, $279, $278
- i32.add $push153=, $278, $78
- i64.load $123=, 0($pop153)
- i64.load $117=, 64($279)
- i32.const $279=, 64
- i32.add $279=, $279, $279
- i32.add $push158=, $279, $78
- i64.load $125=, 0($pop158)
- i32.const $280=, 32
- i32.add $280=, $279, $280
- i32.add $push155=, $280, $78
- i64.load $124=, 0($pop155)
- i32.const $281=, 896
- i32.add $281=, $279, $281
- i32.add $push163=, $281, $78
- i64.load $126=, 0($pop163)
- i32.const $282=, 256
- i32.add $282=, $279, $282
- i32.add $push167=, $282, $78
- i64.load $127=, 0($pop167)
- i32.const $283=, 192
- i32.add $283=, $279, $283
- i32.add $push195=, $283, $78
- i64.load $142=, 0($pop195)
- i32.const $284=, 208
- i32.add $284=, $279, $284
- i32.add $push196=, $284, $78
- i64.load $143=, 0($pop196)
- i64.load $114=, 0($279)
- i64.load $115=, 16($279)
- i64.load $116=, 32($279)
- i32.const $285=, 224
- i32.add $285=, $279, $285
- i32.add $push198=, $285, $78
- i64.load $144=, 0($pop198)
- i64.lt_u $74=, $47, $42
- i64.load $128=, 192($279)
- i64.load $129=, 208($279)
- i64.load $130=, 224($279)
- i64.load $75=, 240($279)
- i64.load $94=, 48($279)
- i64.load $95=, 176($279)
- i64.lt_u $71=, $45, $42
- i64.lt_u $76=, $47, $44
- i64.load $110=, 128($279)
- i64.load $111=, 144($279)
- i64.load $112=, 160($279)
- i64.eq $96=, $47, $51
- i64.eq $113=, $45, $51
- i32.const $286=, 768
- i32.add $286=, $279, $286
- i32.add $push202=, $286, $78
- i64.load $47=, 0($pop202)
- i32.const $287=, 784
- i32.add $287=, $279, $287
- i32.add $push203=, $287, $78
- i64.load $45=, 0($pop203)
- i32.const $288=, 800
- i32.add $288=, $279, $288
- i32.add $push205=, $288, $78
- i64.load $145=, 0($pop205)
- i32.const $289=, 992
- i32.add $289=, $279, $289
- i32.add $push208=, $289, $78
- i64.load $146=, 0($pop208)
- i32.const $290=, 832
- i32.add $290=, $279, $290
- i32.add $push211=, $290, $78
- i64.load $147=, 0($pop211)
- i32.const $291=, 384
- i32.add $291=, $279, $291
- i32.add $push216=, $291, $78
- i64.load $148=, 0($pop216)
- i32.const $292=, 400
- i32.add $292=, $279, $292
- i32.add $push217=, $292, $78
- i64.load $149=, 0($pop217)
- i64.load $136=, 384($279)
- i64.load $137=, 400($279)
- i32.const $293=, 416
- i32.add $293=, $279, $293
- i32.add $push219=, $293, $78
- i64.load $150=, 0($pop219)
- i64.load $138=, 416($279)
- i64.load $59=, 432($279)
- i64.lt_u $58=, $37, $42
- i64.eq $139=, $37, $51
- i32.const $294=, 320
- i32.add $294=, $279, $294
- i32.add $push222=, $294, $78
- i64.load $37=, 0($pop222)
- i64.load $54=, 352($279)
- i64.load $55=, 336($279)
- i64.load $56=, 368($279)
- i32.const $295=, 448
- i32.add $295=, $279, $295
- i32.add $push225=, $295, $78
- i64.load $151=, 0($pop225)
- i64.lt_u $53=, $35, $42
- i64.load $97=, 288($279)
- i64.load $98=, 272($279)
- i64.load $99=, 304($279)
- i64.load $118=, 256($279)
- i64.load $140=, 320($279)
- i64.load $141=, 448($279)
- i64.eq $57=, $35, $51
- i64.lt_u $60=, $35, $44
- i32.const $296=, 736
- i32.add $296=, $279, $296
- i32.add $push242=, $296, $78
- i64.load $35=, 0($pop242)
- i32.const $297=, 720
- i32.add $297=, $279, $297
- i32.add $push243=, $297, $78
- i64.load $159=, 0($pop243)
- i64.load $62=, 864($279)
- i64.load $63=, 848($279)
- i64.load $64=, 880($279)
- i32.const $298=, 752
- i32.add $298=, $279, $298
- i32.add $push245=, $298, $78
- i64.load $160=, 0($pop245)
- i64.lt_u $61=, $40, $42
- i64.load $152=, 736($279)
- i64.load $153=, 720($279)
- i64.load $154=, 752($279)
- i64.eq $65=, $40, $51
- i32.const $299=, 592
- i32.add $299=, $279, $299
- i32.add $push248=, $299, $78
- i64.load $40=, 0($pop248)
- i32.const $300=, 608
- i32.add $300=, $279, $300
- i32.add $push249=, $300, $78
- i64.load $161=, 0($pop249)
- i32.const $301=, 624
- i32.add $301=, $279, $301
- i32.add $push251=, $301, $78
- i64.load $162=, 0($pop251)
- i32.const $302=, 688
- i32.add $302=, $279, $302
- i32.add $push254=, $302, $78
- i64.load $163=, 0($pop254)
- i32.const $303=, 640
- i32.add $303=, $279, $303
- i32.add $push269=, $303, $78
- i64.load $169=, 0($pop269)
- i32.const $304=, 656
- i32.add $304=, $279, $304
- i32.add $push270=, $304, $78
- i64.load $170=, 0($pop270)
- i64.load $131=, 768($279)
- i64.load $132=, 784($279)
- i64.load $133=, 800($279)
- i32.const $305=, 672
- i32.add $305=, $279, $305
- i32.add $push272=, $305, $78
- i64.load $171=, 0($pop272)
- i64.load $164=, 640($279)
- i64.load $165=, 656($279)
- i64.load $166=, 672($279)
- i64.load $72=, 816($279)
- i64.load $158=, 688($279)
- i32.const $306=, 576
- i32.add $306=, $279, $306
- i32.add $push275=, $306, $78
- i64.load $172=, 0($pop275)
- i64.load $135=, 832($279)
- i64.load $168=, 704($279)
- i32.const $307=, 704
- i32.add $307=, $279, $307
- i32.add $push278=, $307, $78
- i64.load $173=, 0($pop278)
- i32.const $308=, 528
- i32.add $308=, $279, $308
- i32.add $push288=, $308, $78
- i64.load $177=, 0($pop288)
- i32.const $309=, 544
- i32.add $309=, $279, $309
- i32.add $push289=, $309, $78
- i64.load $178=, 0($pop289)
- i32.const $310=, 560
- i32.add $310=, $279, $310
- i32.add $push291=, $310, $78
- i64.load $179=, 0($pop291)
- i64.load $67=, 1008($279)
- i64.load $68=, 960($279)
- i64.load $69=, 976($279)
- i64.lt_u $66=, $17, $42
- i64.eq $70=, $17, $51
- i64.lt_u $73=, $17, $44
- i64.lt_u $77=, $17, $46
- i64.load $17=, 912($279)
- i64.load $42=, 928($279)
- i64.load $44=, 944($279)
- i64.load $46=, 896($279)
- i64.load $134=, 992($279)
- i64.load $155=, 592($279)
- i64.load $156=, 608($279)
- i64.load $157=, 624($279)
- i64.load $167=, 576($279)
- i64.load $174=, 528($279)
- i64.load $175=, 544($279)
- i64.load $176=, 560($279)
- i64.load $180=, 512($279)
- i32.add $push304=, $0, $78
- i32.const $311=, 512
- i32.add $311=, $279, $311
- i32.add $push299=, $311, $78
- i64.load $push300=, 0($pop299)
- i64.select $push301=, $66, $pop300, $51
- i64.select $push302=, $73, $pop301, $51
- i64.select $push303=, $77, $pop302, $51
- i64.store $discard=, 0($pop304), $pop303
- i64.select $push296=, $66, $180, $51
- i64.select $push297=, $73, $pop296, $51
- i64.select $push298=, $77, $pop297, $51
- i64.store $discard=, 0($0), $pop298
- i32.const $push305=, 24
- i32.add $push306=, $0, $pop305
- i64.or $push290=, $177, $178
- i64.select $push292=, $66, $pop290, $179
- i64.select $push293=, $70, $4, $pop292
- i64.select $push294=, $73, $pop293, $51
- i64.select $push295=, $77, $pop294, $51
- i64.store $discard=, 0($pop306), $pop295
- i32.const $push307=, 16
- i32.add $push308=, $0, $pop307
- i64.or $push283=, $174, $175
- i64.select $push284=, $66, $pop283, $176
- i64.select $push285=, $70, $3, $pop284
- i64.select $push286=, $73, $pop285, $51
- i64.select $push287=, $77, $pop286, $51
- i64.store $discard=, 0($pop308), $pop287
- i32.const $push309=, 56
- i32.add $push310=, $0, $pop309
- i64.or $push250=, $40, $161
- i64.select $push252=, $66, $pop250, $162
- i64.select $push253=, $70, $8, $pop252
- i64.select $push255=, $71, $163, $51
- i64.or $push256=, $pop253, $pop255
- i64.or $push244=, $159, $35
- i64.select $push246=, $61, $pop244, $160
- i64.select $push247=, $65, $4, $pop246
- i64.select $push257=, $73, $pop256, $pop247
- i64.select $push258=, $70, $8, $pop257
- i64.select $push259=, $77, $pop258, $51
- i64.store $discard=, 0($pop310), $pop259
- i32.const $push311=, 48
+ i32.const $188=, 432
+ i32.add $188=, $310, $188
+ call __lshrti3@FUNCTION, $188, $3, $4, $37
+ i64.const $push9=, 384
+ i64.sub $38=, $pop9, $17
+ i32.const $189=, 864
+ i32.add $189=, $310, $189
+ call __lshrti3@FUNCTION, $189, $9, $10, $38
+ i64.const $push10=, -256
+ i64.add $39=, $17, $pop10
+ i32.const $190=, 848
+ i32.add $190=, $310, $190
+ call __ashlti3@FUNCTION, $190, $11, $12, $39
+ i64.const $push11=, -384
+ i64.add $40=, $17, $pop11
+ i32.const $191=, 880
+ i32.add $191=, $310, $191
+ call __ashlti3@FUNCTION, $191, $9, $10, $40
+ i32.const $192=, 1008
+ i32.add $192=, $310, $192
+ call __ashlti3@FUNCTION, $192, $15, $16, $17
+ i64.const $push12=, 128
+ i64.sub $41=, $pop12, $17
+ i32.const $193=, 960
+ i32.add $193=, $310, $193
+ call __lshrti3@FUNCTION, $193, $13, $14, $41
+ i64.const $push13=, -128
+ i64.add $42=, $17, $pop13
+ i32.const $194=, 976
+ i32.add $194=, $310, $194
+ call __ashlti3@FUNCTION, $194, $13, $14, $42
+ i64.const $push14=, 256
+ i64.sub $43=, $pop14, $17
+ i32.const $195=, 816
+ i32.add $195=, $310, $195
+ call __lshrti3@FUNCTION, $195, $11, $12, $43
+ i64.const $push15=, 512
+ i64.sub $44=, $pop15, $17
+ i32.const $196=, 240
+ i32.add $196=, $310, $196
+ call __lshrti3@FUNCTION, $196, $7, $8, $44
+ i32.const $197=, 912
+ i32.add $197=, $310, $197
+ call __ashlti3@FUNCTION, $197, $11, $12, $17
+ i32.const $198=, 928
+ i32.add $198=, $310, $198
+ call __lshrti3@FUNCTION, $198, $9, $10, $41
+ i32.const $199=, 944
+ i32.add $199=, $310, $199
+ call __ashlti3@FUNCTION, $199, $9, $10, $42
+ i64.const $push483=, 256
+ i64.sub $45=, $pop483, $44
+ i32.const $200=, 80
+ i32.add $200=, $310, $200
+ call __ashlti3@FUNCTION, $200, $7, $8, $45
+ i64.const $push482=, 128
+ i64.sub $push16=, $pop482, $45
+ i32.const $201=, 96
+ i32.add $201=, $310, $201
+ call __lshrti3@FUNCTION, $201, $5, $6, $pop16
+ i64.const $push481=, 128
+ i64.sub $46=, $pop481, $44
+ i32.const $202=, 112
+ i32.add $202=, $310, $202
+ call __ashlti3@FUNCTION, $202, $5, $6, $46
+ i32.const $203=, 48
+ i32.add $203=, $310, $203
+ call __lshrti3@FUNCTION, $203, $3, $4, $44
+ i32.const $204=, 176
+ i32.add $204=, $310, $204
+ call __lshrti3@FUNCTION, $204, $7, $8, $43
+ i32.const $205=, 288
+ i32.add $205=, $310, $205
+ call __lshrti3@FUNCTION, $205, $1, $2, $34
+ i32.const $206=, 272
+ i32.add $206=, $310, $206
+ call __ashlti3@FUNCTION, $206, $3, $4, $35
+ i32.const $207=, 304
+ i32.add $207=, $310, $207
+ call __ashlti3@FUNCTION, $207, $1, $2, $36
+ i32.const $208=, 128
+ i32.add $208=, $310, $208
+ call __lshrti3@FUNCTION, $208, $5, $6, $43
+ i64.const $push480=, 384
+ i64.sub $push17=, $pop480, $44
+ i32.const $209=, 144
+ i32.add $209=, $310, $209
+ call __ashlti3@FUNCTION, $209, $7, $8, $pop17
+ i32.const $210=, 160
+ i32.add $210=, $310, $210
+ call __lshrti3@FUNCTION, $210, $7, $8, $41
+ i32.const $211=, 0
+ i32.add $211=, $310, $211
+ call __lshrti3@FUNCTION, $211, $1, $2, $44
+ i32.const $212=, 16
+ i32.add $212=, $310, $212
+ call __ashlti3@FUNCTION, $212, $3, $4, $46
+ i32.const $213=, 32
+ i32.add $213=, $310, $213
+ call __lshrti3@FUNCTION, $213, $3, $4, $38
+ i32.const $214=, 64
+ i32.add $214=, $310, $214
+ call __ashlti3@FUNCTION, $214, $5, $6, $45
+ i32.const $215=, 896
+ i32.add $215=, $310, $215
+ call __ashlti3@FUNCTION, $215, $9, $10, $17
+ i32.const $216=, 256
+ i32.add $216=, $310, $216
+ call __ashlti3@FUNCTION, $216, $1, $2, $35
+ i32.const $217=, 192
+ i32.add $217=, $310, $217
+ call __lshrti3@FUNCTION, $217, $5, $6, $44
+ i32.const $218=, 208
+ i32.add $218=, $310, $218
+ call __ashlti3@FUNCTION, $218, $7, $8, $46
+ i32.const $219=, 224
+ i32.add $219=, $310, $219
+ call __lshrti3@FUNCTION, $219, $7, $8, $38
+ i32.const $220=, 768
+ i32.add $220=, $310, $220
+ call __lshrti3@FUNCTION, $220, $9, $10, $43
+ i64.const $push479=, 128
+ i64.sub $46=, $pop479, $43
+ i32.const $221=, 784
+ i32.add $221=, $310, $221
+ call __ashlti3@FUNCTION, $221, $11, $12, $46
+ i32.const $222=, 800
+ i32.add $222=, $310, $222
+ call __lshrti3@FUNCTION, $222, $11, $12, $41
+ i32.const $223=, 992
+ i32.add $223=, $310, $223
+ call __ashlti3@FUNCTION, $223, $13, $14, $17
+ i32.const $224=, 832
+ i32.add $224=, $310, $224
+ call __ashlti3@FUNCTION, $224, $9, $10, $39
+ i32.const $225=, 384
+ i32.add $225=, $310, $225
+ call __lshrti3@FUNCTION, $225, $1, $2, $37
+ i64.const $push478=, 128
+ i64.sub $push18=, $pop478, $37
+ i32.const $226=, 400
+ i32.add $226=, $310, $226
+ call __ashlti3@FUNCTION, $226, $3, $4, $pop18
+ i32.const $227=, 416
+ i32.add $227=, $310, $227
+ call __lshrti3@FUNCTION, $227, $3, $4, $34
+ i32.const $228=, 320
+ i32.add $228=, $310, $228
+ call __ashlti3@FUNCTION, $228, $5, $6, $35
+ i32.const $229=, 448
+ i32.add $229=, $310, $229
+ call __ashlti3@FUNCTION, $229, $1, $2, $33
+ i32.const $230=, 736
+ i32.add $230=, $310, $230
+ call __lshrti3@FUNCTION, $230, $1, $2, $38
+ i32.const $231=, 720
+ i32.add $231=, $310, $231
+ call __ashlti3@FUNCTION, $231, $3, $4, $39
+ i32.const $232=, 752
+ i32.add $232=, $310, $232
+ call __ashlti3@FUNCTION, $232, $1, $2, $40
+ i32.const $233=, 592
+ i32.add $233=, $310, $233
+ call __ashlti3@FUNCTION, $233, $7, $8, $17
+ i32.const $234=, 608
+ i32.add $234=, $310, $234
+ call __lshrti3@FUNCTION, $234, $5, $6, $41
+ i32.const $235=, 624
+ i32.add $235=, $310, $235
+ call __ashlti3@FUNCTION, $235, $5, $6, $42
+ i32.const $236=, 688
+ i32.add $236=, $310, $236
+ call __lshrti3@FUNCTION, $236, $3, $4, $43
+ i32.const $237=, 640
+ i32.add $237=, $310, $237
+ call __lshrti3@FUNCTION, $237, $1, $2, $43
+ i32.const $238=, 656
+ i32.add $238=, $310, $238
+ call __ashlti3@FUNCTION, $238, $3, $4, $46
+ i32.const $239=, 672
+ i32.add $239=, $310, $239
+ call __lshrti3@FUNCTION, $239, $3, $4, $41
+ i32.const $240=, 576
+ i32.add $240=, $310, $240
+ call __ashlti3@FUNCTION, $240, $5, $6, $17
+ i32.const $241=, 704
+ i32.add $241=, $310, $241
+ call __ashlti3@FUNCTION, $241, $1, $2, $39
+ i32.const $242=, 528
+ i32.add $242=, $310, $242
+ call __ashlti3@FUNCTION, $242, $3, $4, $17
+ i32.const $243=, 544
+ i32.add $243=, $310, $243
+ call __lshrti3@FUNCTION, $243, $1, $2, $41
+ i32.const $244=, 560
+ i32.add $244=, $310, $244
+ call __ashlti3@FUNCTION, $244, $1, $2, $42
+ i32.const $245=, 512
+ i32.add $245=, $310, $245
+ call __ashlti3@FUNCTION, $245, $1, $2, $17
+ i32.const $push45=, 8
+ i32.const $246=, 480
+ i32.add $246=, $310, $246
+ i32.add $push46=, $246, $pop45
+ i64.load $41=, 0($pop46)
+ i32.const $push477=, 8
+ i32.const $247=, 464
+ i32.add $247=, $310, $247
+ i32.add $push47=, $247, $pop477
+ i64.load $38=, 0($pop47)
+ i64.load $42=, 480($310)
+ i64.load $34=, 464($310)
+ i64.load $46=, 496($310)
+ i32.const $push476=, 8
+ i32.const $248=, 496
+ i32.add $248=, $310, $248
+ i32.add $push49=, $248, $pop476
+ i64.load $36=, 0($pop49)
+ i64.const $push475=, 128
+ i64.lt_u $47=, $33, $pop475
+ i64.const $push21=, 0
+ i64.eq $48=, $33, $pop21
+ i32.const $push474=, 8
+ i32.const $249=, 352
+ i32.add $249=, $310, $249
+ i32.add $push52=, $249, $pop474
+ i64.load $33=, 0($pop52)
+ i32.const $push473=, 8
+ i32.const $250=, 336
+ i32.add $250=, $310, $250
+ i32.add $push53=, $250, $pop473
+ i64.load $40=, 0($pop53)
+ i32.const $push472=, 8
+ i32.const $251=, 368
+ i32.add $251=, $310, $251
+ i32.add $push55=, $251, $pop472
+ i64.load $74=, 0($pop55)
+ i32.const $push471=, 8
+ i32.const $252=, 432
+ i32.add $252=, $310, $252
+ i32.add $push58=, $252, $pop471
+ i64.load $75=, 0($pop58)
+ i32.const $push470=, 8
+ i32.const $253=, 864
+ i32.add $253=, $310, $253
+ i32.add $push63=, $253, $pop470
+ i64.load $76=, 0($pop63)
+ i32.const $push469=, 8
+ i32.const $254=, 848
+ i32.add $254=, $310, $254
+ i32.add $push64=, $254, $pop469
+ i64.load $77=, 0($pop64)
+ i32.const $push468=, 8
+ i32.const $255=, 880
+ i32.add $255=, $310, $255
+ i32.add $push66=, $255, $pop468
+ i64.load $78=, 0($pop66)
+ i32.const $push467=, 8
+ i32.const $256=, 1008
+ i32.add $256=, $310, $256
+ i32.add $push69=, $256, $pop467
+ i64.load $79=, 0($pop69)
+ i32.const $push466=, 8
+ i32.const $257=, 960
+ i32.add $257=, $310, $257
+ i32.add $push70=, $257, $pop466
+ i64.load $80=, 0($pop70)
+ i32.const $push465=, 8
+ i32.const $258=, 976
+ i32.add $258=, $310, $258
+ i32.add $push72=, $258, $pop465
+ i64.load $81=, 0($pop72)
+ i32.const $push464=, 8
+ i32.const $259=, 816
+ i32.add $259=, $310, $259
+ i32.add $push75=, $259, $pop464
+ i64.load $82=, 0($pop75)
+ i32.const $push463=, 8
+ i32.const $260=, 240
+ i32.add $260=, $310, $260
+ i32.add $push80=, $260, $pop463
+ i64.load $83=, 0($pop80)
+ i32.const $push462=, 8
+ i32.const $261=, 912
+ i32.add $261=, $310, $261
+ i32.add $push105=, $261, $pop462
+ i64.load $97=, 0($pop105)
+ i32.const $push461=, 8
+ i32.const $262=, 928
+ i32.add $262=, $310, $262
+ i32.add $push106=, $262, $pop461
+ i64.load $98=, 0($pop106)
+ i32.const $push460=, 8
+ i32.const $263=, 944
+ i32.add $263=, $310, $263
+ i32.add $push108=, $263, $pop460
+ i64.load $99=, 0($pop108)
+ i32.const $push459=, 8
+ i32.const $264=, 80
+ i32.add $264=, $310, $264
+ i32.add $push112=, $264, $pop459
+ i64.load $100=, 0($pop112)
+ i32.const $push458=, 8
+ i32.const $265=, 96
+ i32.add $265=, $310, $265
+ i32.add $push113=, $265, $pop458
+ i64.load $101=, 0($pop113)
+ i64.load $87=, 80($310)
+ i64.load $88=, 96($310)
+ i64.load $89=, 112($310)
+ i32.const $push457=, 8
+ i32.const $266=, 112
+ i32.add $266=, $310, $266
+ i32.add $push115=, $266, $pop457
+ i64.load $102=, 0($pop115)
+ i64.const $push456=, 128
+ i64.lt_u $86=, $45, $pop456
+ i64.const $push455=, 0
+ i64.eq $90=, $45, $pop455
+ i32.const $push454=, 8
+ i32.const $267=, 48
+ i32.add $267=, $310, $267
+ i32.add $push118=, $267, $pop454
+ i64.load $45=, 0($pop118)
+ i32.const $push453=, 8
+ i32.const $268=, 176
+ i32.add $268=, $310, $268
+ i32.add $push121=, $268, $pop453
+ i64.load $103=, 0($pop121)
+ i32.const $push452=, 8
+ i32.const $269=, 288
+ i32.add $269=, $310, $269
+ i32.add $push126=, $269, $pop452
+ i64.load $104=, 0($pop126)
+ i32.const $push451=, 8
+ i32.const $270=, 272
+ i32.add $270=, $310, $270
+ i32.add $push127=, $270, $pop451
+ i64.load $105=, 0($pop127)
+ i32.const $push450=, 8
+ i32.const $271=, 304
+ i32.add $271=, $310, $271
+ i32.add $push129=, $271, $pop450
+ i64.load $106=, 0($pop129)
+ i32.const $push449=, 8
+ i32.const $272=, 128
+ i32.add $272=, $310, $272
+ i32.add $push152=, $272, $pop449
+ i64.load $117=, 0($pop152)
+ i32.const $push448=, 8
+ i32.const $273=, 144
+ i32.add $273=, $310, $273
+ i32.add $push153=, $273, $pop448
+ i64.load $118=, 0($pop153)
+ i32.const $push447=, 8
+ i32.const $274=, 160
+ i32.add $274=, $310, $274
+ i32.add $push155=, $274, $pop447
+ i64.load $119=, 0($pop155)
+ i32.const $push446=, 8
+ i32.const $275=, 0
+ i32.add $275=, $310, $275
+ i32.add $push158=, $275, $pop446
+ i64.load $120=, 0($pop158)
+ i32.const $push445=, 8
+ i32.const $276=, 16
+ i32.add $276=, $310, $276
+ i32.add $push159=, $276, $pop445
+ i64.load $121=, 0($pop159)
+ i64.load $114=, 64($310)
+ i32.const $push444=, 8
+ i32.const $277=, 64
+ i32.add $277=, $310, $277
+ i32.add $push164=, $277, $pop444
+ i64.load $123=, 0($pop164)
+ i32.const $push443=, 8
+ i32.const $278=, 32
+ i32.add $278=, $310, $278
+ i32.add $push161=, $278, $pop443
+ i64.load $122=, 0($pop161)
+ i32.const $push442=, 8
+ i32.const $279=, 896
+ i32.add $279=, $310, $279
+ i32.add $push169=, $279, $pop442
+ i64.load $124=, 0($pop169)
+ i32.const $push441=, 8
+ i32.const $280=, 256
+ i32.add $280=, $310, $280
+ i32.add $push173=, $280, $pop441
+ i64.load $125=, 0($pop173)
+ i32.const $push440=, 8
+ i32.const $281=, 192
+ i32.add $281=, $310, $281
+ i32.add $push201=, $281, $pop440
+ i64.load $140=, 0($pop201)
+ i32.const $push439=, 8
+ i32.const $282=, 208
+ i32.add $282=, $310, $282
+ i32.add $push202=, $282, $pop439
+ i64.load $141=, 0($pop202)
+ i64.load $111=, 0($310)
+ i64.load $112=, 16($310)
+ i64.load $113=, 32($310)
+ i32.const $push438=, 8
+ i32.const $283=, 224
+ i32.add $283=, $310, $283
+ i32.add $push204=, $283, $pop438
+ i64.load $142=, 0($pop204)
+ i64.const $push437=, 128
+ i64.lt_u $70=, $44, $pop437
+ i64.load $126=, 192($310)
+ i64.load $127=, 208($310)
+ i64.load $128=, 224($310)
+ i64.load $71=, 240($310)
+ i64.load $91=, 48($310)
+ i64.load $92=, 176($310)
+ i64.const $push436=, 128
+ i64.lt_u $67=, $43, $pop436
+ i64.const $push435=, 256
+ i64.lt_u $72=, $44, $pop435
+ i64.load $107=, 128($310)
+ i64.load $108=, 144($310)
+ i64.load $109=, 160($310)
+ i64.const $push434=, 0
+ i64.eq $93=, $44, $pop434
+ i64.const $push433=, 0
+ i64.eq $110=, $43, $pop433
+ i32.const $push432=, 8
+ i32.const $284=, 768
+ i32.add $284=, $310, $284
+ i32.add $push208=, $284, $pop432
+ i64.load $44=, 0($pop208)
+ i32.const $push431=, 8
+ i32.const $285=, 784
+ i32.add $285=, $310, $285
+ i32.add $push209=, $285, $pop431
+ i64.load $43=, 0($pop209)
+ i32.const $push430=, 8
+ i32.const $286=, 800
+ i32.add $286=, $310, $286
+ i32.add $push211=, $286, $pop430
+ i64.load $143=, 0($pop211)
+ i32.const $push429=, 8
+ i32.const $287=, 992
+ i32.add $287=, $310, $287
+ i32.add $push214=, $287, $pop429
+ i64.load $144=, 0($pop214)
+ i32.const $push428=, 8
+ i32.const $288=, 832
+ i32.add $288=, $310, $288
+ i32.add $push217=, $288, $pop428
+ i64.load $145=, 0($pop217)
+ i32.const $push427=, 8
+ i32.const $289=, 384
+ i32.add $289=, $310, $289
+ i32.add $push222=, $289, $pop427
+ i64.load $146=, 0($pop222)
+ i32.const $push426=, 8
+ i32.const $290=, 400
+ i32.add $290=, $310, $290
+ i32.add $push223=, $290, $pop426
+ i64.load $147=, 0($pop223)
+ i64.load $134=, 384($310)
+ i64.load $135=, 400($310)
+ i32.const $push425=, 8
+ i32.const $291=, 416
+ i32.add $291=, $310, $291
+ i32.add $push225=, $291, $pop425
+ i64.load $148=, 0($pop225)
+ i64.load $136=, 416($310)
+ i64.load $55=, 432($310)
+ i64.const $push424=, 128
+ i64.lt_u $54=, $37, $pop424
+ i64.const $push423=, 0
+ i64.eq $137=, $37, $pop423
+ i32.const $push422=, 8
+ i32.const $292=, 320
+ i32.add $292=, $310, $292
+ i32.add $push228=, $292, $pop422
+ i64.load $37=, 0($pop228)
+ i64.load $50=, 352($310)
+ i64.load $51=, 336($310)
+ i64.load $52=, 368($310)
+ i32.const $push421=, 8
+ i32.const $293=, 448
+ i32.add $293=, $310, $293
+ i32.add $push231=, $293, $pop421
+ i64.load $149=, 0($pop231)
+ i64.const $push420=, 128
+ i64.lt_u $49=, $35, $pop420
+ i64.load $94=, 288($310)
+ i64.load $95=, 272($310)
+ i64.load $96=, 304($310)
+ i64.load $116=, 256($310)
+ i64.load $138=, 320($310)
+ i64.load $139=, 448($310)
+ i64.const $push419=, 0
+ i64.eq $53=, $35, $pop419
+ i64.const $push418=, 256
+ i64.lt_u $56=, $35, $pop418
+ i32.const $push417=, 8
+ i32.const $294=, 736
+ i32.add $294=, $310, $294
+ i32.add $push248=, $294, $pop417
+ i64.load $35=, 0($pop248)
+ i32.const $push416=, 8
+ i32.const $295=, 720
+ i32.add $295=, $310, $295
+ i32.add $push249=, $295, $pop416
+ i64.load $157=, 0($pop249)
+ i64.load $58=, 864($310)
+ i64.load $59=, 848($310)
+ i64.load $60=, 880($310)
+ i32.const $push415=, 8
+ i32.const $296=, 752
+ i32.add $296=, $310, $296
+ i32.add $push251=, $296, $pop415
+ i64.load $158=, 0($pop251)
+ i64.const $push414=, 128
+ i64.lt_u $57=, $39, $pop414
+ i64.load $150=, 736($310)
+ i64.load $151=, 720($310)
+ i64.load $152=, 752($310)
+ i64.const $push413=, 0
+ i64.eq $61=, $39, $pop413
+ i32.const $push412=, 8
+ i32.const $297=, 592
+ i32.add $297=, $310, $297
+ i32.add $push254=, $297, $pop412
+ i64.load $39=, 0($pop254)
+ i32.const $push411=, 8
+ i32.const $298=, 608
+ i32.add $298=, $310, $298
+ i32.add $push255=, $298, $pop411
+ i64.load $159=, 0($pop255)
+ i32.const $push410=, 8
+ i32.const $299=, 624
+ i32.add $299=, $310, $299
+ i32.add $push257=, $299, $pop410
+ i64.load $160=, 0($pop257)
+ i32.const $push409=, 8
+ i32.const $300=, 688
+ i32.add $300=, $310, $300
+ i32.add $push260=, $300, $pop409
+ i64.load $161=, 0($pop260)
+ i32.const $push408=, 8
+ i32.const $301=, 640
+ i32.add $301=, $310, $301
+ i32.add $push275=, $301, $pop408
+ i64.load $167=, 0($pop275)
+ i32.const $push407=, 8
+ i32.const $302=, 656
+ i32.add $302=, $310, $302
+ i32.add $push276=, $302, $pop407
+ i64.load $168=, 0($pop276)
+ i64.load $129=, 768($310)
+ i64.load $130=, 784($310)
+ i64.load $131=, 800($310)
+ i32.const $push406=, 8
+ i32.const $303=, 672
+ i32.add $303=, $310, $303
+ i32.add $push278=, $303, $pop406
+ i64.load $169=, 0($pop278)
+ i64.load $162=, 640($310)
+ i64.load $163=, 656($310)
+ i64.load $164=, 672($310)
+ i64.load $68=, 816($310)
+ i64.load $156=, 688($310)
+ i32.const $push405=, 8
+ i32.const $304=, 576
+ i32.add $304=, $310, $304
+ i32.add $push281=, $304, $pop405
+ i64.load $170=, 0($pop281)
+ i64.load $133=, 832($310)
+ i64.load $166=, 704($310)
+ i32.const $push404=, 8
+ i32.const $305=, 704
+ i32.add $305=, $310, $305
+ i32.add $push284=, $305, $pop404
+ i64.load $171=, 0($pop284)
+ i32.const $push403=, 8
+ i32.const $306=, 528
+ i32.add $306=, $310, $306
+ i32.add $push294=, $306, $pop403
+ i64.load $175=, 0($pop294)
+ i32.const $push402=, 8
+ i32.const $307=, 544
+ i32.add $307=, $310, $307
+ i32.add $push295=, $307, $pop402
+ i64.load $176=, 0($pop295)
+ i32.const $push401=, 8
+ i32.const $308=, 560
+ i32.add $308=, $310, $308
+ i32.add $push297=, $308, $pop401
+ i64.load $177=, 0($pop297)
+ i64.load $63=, 1008($310)
+ i64.load $64=, 960($310)
+ i64.load $65=, 976($310)
+ i64.const $push400=, 128
+ i64.lt_u $62=, $17, $pop400
+ i64.const $push399=, 0
+ i64.eq $66=, $17, $pop399
+ i64.const $push398=, 256
+ i64.lt_u $69=, $17, $pop398
+ i64.const $push397=, 512
+ i64.lt_u $73=, $17, $pop397
+ i64.load $17=, 912($310)
+ i64.load $84=, 928($310)
+ i64.load $85=, 944($310)
+ i64.load $115=, 896($310)
+ i64.load $132=, 992($310)
+ i64.load $153=, 592($310)
+ i64.load $154=, 608($310)
+ i64.load $155=, 624($310)
+ i64.load $165=, 576($310)
+ i64.load $172=, 528($310)
+ i64.load $173=, 544($310)
+ i64.load $174=, 560($310)
+ i64.load $178=, 512($310)
+ i32.const $push396=, 8
+ i32.add $push310=, $0, $pop396
+ i32.const $push395=, 8
+ i32.const $309=, 512
+ i32.add $309=, $310, $309
+ i32.add $push305=, $309, $pop395
+ i64.load $push306=, 0($pop305)
+ i64.const $push394=, 0
+ i64.select $push307=, $62, $pop306, $pop394
+ i64.const $push393=, 0
+ i64.select $push308=, $69, $pop307, $pop393
+ i64.const $push392=, 0
+ i64.select $push309=, $73, $pop308, $pop392
+ i64.store $discard=, 0($pop310), $pop309
+ i64.const $push391=, 0
+ i64.select $push302=, $62, $178, $pop391
+ i64.const $push390=, 0
+ i64.select $push303=, $69, $pop302, $pop390
+ i64.const $push389=, 0
+ i64.select $push304=, $73, $pop303, $pop389
+ i64.store $discard=, 0($0), $pop304
+ i32.const $push311=, 24
i32.add $push312=, $0, $pop311
- i64.or $push234=, $155, $156
- i64.select $push235=, $66, $pop234, $157
- i64.select $push236=, $70, $7, $pop235
- i64.select $push237=, $71, $158, $51
- i64.or $push238=, $pop236, $pop237
- i64.or $push231=, $153, $152
- i64.select $push232=, $61, $pop231, $154
- i64.select $push233=, $65, $3, $pop232
- i64.select $push239=, $73, $pop238, $pop233
- i64.select $push240=, $70, $7, $pop239
- i64.select $push241=, $77, $pop240, $51
- i64.store $discard=, 0($pop312), $pop241
- i32.const $push313=, 40
+ i64.or $push296=, $175, $176
+ i64.select $push298=, $62, $pop296, $177
+ i64.select $push299=, $66, $4, $pop298
+ i64.const $push388=, 0
+ i64.select $push300=, $69, $pop299, $pop388
+ i64.const $push387=, 0
+ i64.select $push301=, $73, $pop300, $pop387
+ i64.store $discard=, 0($pop312), $pop301
+ i32.const $push313=, 16
i32.add $push314=, $0, $pop313
- i64.select $push276=, $66, $172, $51
- i64.or $push271=, $169, $170
- i64.select $push273=, $71, $pop271, $171
- i64.select $push274=, $113, $2, $pop273
- i64.or $push277=, $pop276, $pop274
- i64.select $push279=, $61, $173, $51
- i64.select $push280=, $73, $pop277, $pop279
- i64.select $push281=, $70, $6, $pop280
- i64.select $push282=, $77, $pop281, $51
- i64.store $discard=, 0($pop314), $pop282
- i32.const $push315=, 32
+ i64.or $push289=, $172, $173
+ i64.select $push290=, $62, $pop289, $174
+ i64.select $push291=, $66, $3, $pop290
+ i64.const $push386=, 0
+ i64.select $push292=, $69, $pop291, $pop386
+ i64.const $push385=, 0
+ i64.select $push293=, $73, $pop292, $pop385
+ i64.store $discard=, 0($pop314), $pop293
+ i32.const $push315=, 56
i32.add $push316=, $0, $pop315
- i64.select $push263=, $66, $167, $51
- i64.or $push260=, $164, $165
- i64.select $push261=, $71, $pop260, $166
- i64.select $push262=, $113, $1, $pop261
- i64.or $push264=, $pop263, $pop262
- i64.select $push265=, $61, $168, $51
- i64.select $push266=, $73, $pop264, $pop265
- i64.select $push267=, $70, $5, $pop266
- i64.select $push268=, $77, $pop267, $51
- i64.store $discard=, 0($pop316), $pop268
- i32.const $push317=, 120
+ i64.or $push256=, $39, $159
+ i64.select $push258=, $62, $pop256, $160
+ i64.select $push259=, $66, $8, $pop258
+ i64.const $push384=, 0
+ i64.select $push261=, $67, $161, $pop384
+ i64.or $push262=, $pop259, $pop261
+ i64.or $push250=, $157, $35
+ i64.select $push252=, $57, $pop250, $158
+ i64.select $push253=, $61, $4, $pop252
+ i64.select $push263=, $69, $pop262, $pop253
+ i64.select $push264=, $66, $8, $pop263
+ i64.const $push383=, 0
+ i64.select $push265=, $73, $pop264, $pop383
+ i64.store $discard=, 0($pop316), $pop265
+ i32.const $push317=, 48
i32.add $push318=, $0, $pop317
- i64.or $push65=, $84, $85
- i64.select $push67=, $66, $pop65, $86
- i64.select $push68=, $70, $16, $pop67
- i64.select $push70=, $71, $87, $51
- i64.or $push71=, $pop68, $pop70
- i64.or $push59=, $82, $81
- i64.select $push61=, $61, $pop59, $83
- i64.select $push62=, $65, $12, $pop61
- i64.select $push72=, $73, $pop71, $pop62
- i64.select $push73=, $70, $16, $pop72
- i64.select $push75=, $74, $88, $51
- i64.select $push76=, $76, $pop75, $51
- i64.or $push77=, $pop73, $pop76
- i64.or $push48=, $41, $33
- i64.select $push50=, $53, $pop48, $79
- i64.select $push51=, $57, $8, $pop50
- i64.select $push53=, $58, $80, $51
- i64.or $push54=, $pop51, $pop53
- i64.or $push42=, $43, $39
- i64.select $push44=, $50, $pop42, $38
- i64.select $push45=, $52, $4, $pop44
- i64.select $push55=, $60, $pop54, $pop45
- i64.select $push56=, $57, $8, $pop55
- i64.select $push78=, $77, $pop77, $pop56
- i64.select $push79=, $70, $16, $pop78
- i64.store $discard=, 0($pop318), $pop79
- i32.const $push319=, 112
+ i64.or $push240=, $153, $154
+ i64.select $push241=, $62, $pop240, $155
+ i64.select $push242=, $66, $7, $pop241
+ i64.const $push382=, 0
+ i64.select $push243=, $67, $156, $pop382
+ i64.or $push244=, $pop242, $pop243
+ i64.or $push237=, $151, $150
+ i64.select $push238=, $57, $pop237, $152
+ i64.select $push239=, $61, $3, $pop238
+ i64.select $push245=, $69, $pop244, $pop239
+ i64.select $push246=, $66, $7, $pop245
+ i64.const $push381=, 0
+ i64.select $push247=, $73, $pop246, $pop381
+ i64.store $discard=, 0($pop318), $pop247
+ i32.const $push319=, 40
i32.add $push320=, $0, $pop319
- i64.or $push28=, $67, $68
- i64.select $push29=, $66, $pop28, $69
- i64.select $push30=, $70, $15, $pop29
- i64.select $push31=, $71, $72, $51
- i64.or $push32=, $pop30, $pop31
- i64.or $push25=, $63, $62
- i64.select $push26=, $61, $pop25, $64
- i64.select $push27=, $65, $11, $pop26
- i64.select $push33=, $73, $pop32, $pop27
- i64.select $push34=, $70, $15, $pop33
- i64.select $push35=, $74, $75, $51
- i64.select $push36=, $76, $pop35, $51
- i64.or $push37=, $pop34, $pop36
- i64.or $push18=, $55, $54
- i64.select $push19=, $53, $pop18, $56
- i64.select $push20=, $57, $7, $pop19
- i64.select $push21=, $58, $59, $51
- i64.or $push22=, $pop20, $pop21
- i64.or $push15=, $49, $34
- i64.select $push16=, $50, $pop15, $36
- i64.select $push17=, $52, $3, $pop16
- i64.select $push23=, $60, $pop22, $pop17
- i64.select $push24=, $57, $7, $pop23
- i64.select $push38=, $77, $pop37, $pop24
- i64.select $push39=, $70, $15, $pop38
- i64.store $discard=, 0($pop320), $pop39
- i32.const $push321=, 104
+ i64.const $push380=, 0
+ i64.select $push282=, $62, $170, $pop380
+ i64.or $push277=, $167, $168
+ i64.select $push279=, $67, $pop277, $169
+ i64.select $push280=, $110, $2, $pop279
+ i64.or $push283=, $pop282, $pop280
+ i64.const $push379=, 0
+ i64.select $push285=, $57, $171, $pop379
+ i64.select $push286=, $69, $pop283, $pop285
+ i64.select $push287=, $66, $6, $pop286
+ i64.const $push378=, 0
+ i64.select $push288=, $73, $pop287, $pop378
+ i64.store $discard=, 0($pop320), $pop288
+ i32.const $push321=, 32
i32.add $push322=, $0, $pop321
- i64.select $push209=, $66, $146, $51
- i64.or $push204=, $47, $45
- i64.select $push206=, $71, $pop204, $145
- i64.select $push207=, $113, $10, $pop206
- i64.or $push210=, $pop209, $pop207
- i64.select $push212=, $61, $147, $51
- i64.select $push213=, $73, $pop210, $pop212
- i64.select $push214=, $70, $14, $pop213
- i64.or $push197=, $142, $143
- i64.select $push199=, $74, $pop197, $144
- i64.select $push200=, $96, $6, $pop199
- i64.select $push201=, $76, $pop200, $51
- i64.or $push215=, $pop214, $pop201
- i64.select $push223=, $53, $37, $51
- i64.or $push218=, $148, $149
- i64.select $push220=, $58, $pop218, $150
- i64.select $push221=, $139, $2, $pop220
- i64.or $push224=, $pop223, $pop221
- i64.select $push226=, $50, $151, $51
- i64.select $push227=, $60, $pop224, $pop226
- i64.select $push228=, $57, $6, $pop227
- i64.select $push229=, $77, $pop215, $pop228
- i64.select $push230=, $70, $14, $pop229
- i64.store $discard=, 0($pop322), $pop230
- i32.const $push323=, 96
+ i64.const $push377=, 0
+ i64.select $push269=, $62, $165, $pop377
+ i64.or $push266=, $162, $163
+ i64.select $push267=, $67, $pop266, $164
+ i64.select $push268=, $110, $1, $pop267
+ i64.or $push270=, $pop269, $pop268
+ i64.const $push376=, 0
+ i64.select $push271=, $57, $166, $pop376
+ i64.select $push272=, $69, $pop270, $pop271
+ i64.select $push273=, $66, $5, $pop272
+ i64.const $push375=, 0
+ i64.select $push274=, $73, $pop273, $pop375
+ i64.store $discard=, 0($pop322), $pop274
+ i32.const $push323=, 120
i32.add $push324=, $0, $pop323
- i64.select $push179=, $66, $134, $51
- i64.or $push176=, $131, $132
- i64.select $push177=, $71, $pop176, $133
- i64.select $push178=, $113, $9, $pop177
- i64.or $push180=, $pop179, $pop178
- i64.select $push181=, $61, $135, $51
- i64.select $push182=, $73, $pop180, $pop181
- i64.select $push183=, $70, $13, $pop182
- i64.or $push172=, $128, $129
- i64.select $push173=, $74, $pop172, $130
- i64.select $push174=, $96, $5, $pop173
- i64.select $push175=, $76, $pop174, $51
- i64.or $push184=, $pop183, $pop175
- i64.select $push188=, $53, $140, $51
- i64.or $push185=, $136, $137
- i64.select $push186=, $58, $pop185, $138
- i64.select $push187=, $139, $1, $pop186
- i64.or $push189=, $pop188, $pop187
- i64.select $push190=, $50, $141, $51
- i64.select $push191=, $60, $pop189, $pop190
- i64.select $push192=, $57, $5, $pop191
- i64.select $push193=, $77, $pop184, $pop192
- i64.select $push194=, $70, $13, $pop193
- i64.store $discard=, 0($pop324), $pop194
- i32.const $push325=, 72
+ i64.or $push71=, $79, $80
+ i64.select $push73=, $62, $pop71, $81
+ i64.select $push74=, $66, $16, $pop73
+ i64.const $push374=, 0
+ i64.select $push76=, $67, $82, $pop374
+ i64.or $push77=, $pop74, $pop76
+ i64.or $push65=, $77, $76
+ i64.select $push67=, $57, $pop65, $78
+ i64.select $push68=, $61, $12, $pop67
+ i64.select $push78=, $69, $pop77, $pop68
+ i64.select $push79=, $66, $16, $pop78
+ i64.const $push373=, 0
+ i64.select $push81=, $70, $83, $pop373
+ i64.const $push372=, 0
+ i64.select $push82=, $72, $pop81, $pop372
+ i64.or $push83=, $pop79, $pop82
+ i64.or $push54=, $40, $33
+ i64.select $push56=, $49, $pop54, $74
+ i64.select $push57=, $53, $8, $pop56
+ i64.const $push371=, 0
+ i64.select $push59=, $54, $75, $pop371
+ i64.or $push60=, $pop57, $pop59
+ i64.or $push48=, $38, $41
+ i64.select $push50=, $47, $pop48, $36
+ i64.select $push51=, $48, $4, $pop50
+ i64.select $push61=, $56, $pop60, $pop51
+ i64.select $push62=, $53, $8, $pop61
+ i64.select $push84=, $73, $pop83, $pop62
+ i64.select $push85=, $66, $16, $pop84
+ i64.store $discard=, 0($pop324), $pop85
+ i32.const $push325=, 112
i32.add $push326=, $0, $pop325
- i64.select $push164=, $66, $126, $51
- i64.select $push165=, $73, $pop164, $51
- i64.or $push154=, $122, $123
- i64.select $push156=, $74, $pop154, $124
- i64.select $push157=, $96, $2, $pop156
- i64.select $push159=, $89, $125, $51
- i64.or $push160=, $pop157, $pop159
- i64.or $push148=, $119, $120
- i64.select $push150=, $71, $pop148, $121
- i64.select $push151=, $113, $6, $pop150
- i64.select $push161=, $76, $pop160, $pop151
- i64.select $push162=, $96, $2, $pop161
- i64.or $push166=, $pop165, $pop162
- i64.select $push168=, $53, $127, $51
- i64.select $push169=, $60, $pop168, $51
- i64.select $push170=, $77, $pop166, $pop169
- i64.select $push171=, $70, $10, $pop170
- i64.store $discard=, 0($pop326), $pop171
- i32.const $push327=, 64
+ i64.or $push33=, $63, $64
+ i64.select $push34=, $62, $pop33, $65
+ i64.select $push35=, $66, $15, $pop34
+ i64.const $push370=, 0
+ i64.select $push36=, $67, $68, $pop370
+ i64.or $push37=, $pop35, $pop36
+ i64.or $push30=, $59, $58
+ i64.select $push31=, $57, $pop30, $60
+ i64.select $push32=, $61, $11, $pop31
+ i64.select $push38=, $69, $pop37, $pop32
+ i64.select $push39=, $66, $15, $pop38
+ i64.const $push369=, 0
+ i64.select $push40=, $70, $71, $pop369
+ i64.const $push368=, 0
+ i64.select $push41=, $72, $pop40, $pop368
+ i64.or $push42=, $pop39, $pop41
+ i64.or $push23=, $51, $50
+ i64.select $push24=, $49, $pop23, $52
+ i64.select $push25=, $53, $7, $pop24
+ i64.const $push367=, 0
+ i64.select $push26=, $54, $55, $pop367
+ i64.or $push27=, $pop25, $pop26
+ i64.or $push19=, $34, $42
+ i64.select $push20=, $47, $pop19, $46
+ i64.select $push22=, $48, $3, $pop20
+ i64.select $push28=, $56, $pop27, $pop22
+ i64.select $push29=, $53, $7, $pop28
+ i64.select $push43=, $73, $pop42, $pop29
+ i64.select $push44=, $66, $15, $pop43
+ i64.store $discard=, 0($pop326), $pop44
+ i32.const $push327=, 104
i32.add $push328=, $0, $pop327
- i64.select $push139=, $66, $46, $51
- i64.select $push140=, $73, $pop139, $51
- i64.or $push132=, $114, $115
- i64.select $push133=, $74, $pop132, $116
- i64.select $push134=, $96, $1, $pop133
- i64.select $push135=, $89, $117, $51
- i64.or $push136=, $pop134, $pop135
- i64.or $push129=, $110, $111
- i64.select $push130=, $71, $pop129, $112
- i64.select $push131=, $113, $5, $pop130
- i64.select $push137=, $76, $pop136, $pop131
- i64.select $push138=, $96, $1, $pop137
- i64.or $push141=, $pop140, $pop138
- i64.select $push142=, $53, $118, $51
- i64.select $push143=, $60, $pop142, $51
- i64.select $push144=, $77, $pop141, $pop143
- i64.select $push145=, $70, $9, $pop144
- i64.store $discard=, 0($pop328), $pop145
- i32.const $push329=, 88
+ i64.const $push366=, 0
+ i64.select $push215=, $62, $144, $pop366
+ i64.or $push210=, $44, $43
+ i64.select $push212=, $67, $pop210, $143
+ i64.select $push213=, $110, $10, $pop212
+ i64.or $push216=, $pop215, $pop213
+ i64.const $push365=, 0
+ i64.select $push218=, $57, $145, $pop365
+ i64.select $push219=, $69, $pop216, $pop218
+ i64.select $push220=, $66, $14, $pop219
+ i64.or $push203=, $140, $141
+ i64.select $push205=, $70, $pop203, $142
+ i64.select $push206=, $93, $6, $pop205
+ i64.const $push364=, 0
+ i64.select $push207=, $72, $pop206, $pop364
+ i64.or $push221=, $pop220, $pop207
+ i64.const $push363=, 0
+ i64.select $push229=, $49, $37, $pop363
+ i64.or $push224=, $146, $147
+ i64.select $push226=, $54, $pop224, $148
+ i64.select $push227=, $137, $2, $pop226
+ i64.or $push230=, $pop229, $pop227
+ i64.const $push362=, 0
+ i64.select $push232=, $47, $149, $pop362
+ i64.select $push233=, $56, $pop230, $pop232
+ i64.select $push234=, $53, $6, $pop233
+ i64.select $push235=, $73, $pop221, $pop234
+ i64.select $push236=, $66, $14, $pop235
+ i64.store $discard=, 0($pop328), $pop236
+ i32.const $push329=, 96
i32.add $push330=, $0, $pop329
- i64.or $push101=, $100, $101
- i64.select $push103=, $66, $pop101, $102
- i64.select $push104=, $70, $12, $pop103
- i64.select $push105=, $73, $pop104, $51
- i64.select $push113=, $74, $48, $51
- i64.or $push108=, $103, $104
- i64.select $push110=, $89, $pop108, $105
- i64.select $push111=, $93, $8, $pop110
- i64.or $push114=, $pop113, $pop111
- i64.select $push116=, $71, $106, $51
- i64.select $push117=, $76, $pop114, $pop116
- i64.select $push118=, $96, $4, $pop117
- i64.or $push119=, $pop105, $pop118
- i64.or $push122=, $108, $107
- i64.select $push124=, $53, $pop122, $109
- i64.select $push125=, $57, $4, $pop124
- i64.select $push126=, $60, $pop125, $51
- i64.select $push127=, $77, $pop119, $pop126
- i64.select $push128=, $70, $12, $pop127
- i64.store $discard=, 0($pop330), $pop128
- i32.const $push331=, 80
+ i64.const $push361=, 0
+ i64.select $push185=, $62, $132, $pop361
+ i64.or $push182=, $129, $130
+ i64.select $push183=, $67, $pop182, $131
+ i64.select $push184=, $110, $9, $pop183
+ i64.or $push186=, $pop185, $pop184
+ i64.const $push360=, 0
+ i64.select $push187=, $57, $133, $pop360
+ i64.select $push188=, $69, $pop186, $pop187
+ i64.select $push189=, $66, $13, $pop188
+ i64.or $push178=, $126, $127
+ i64.select $push179=, $70, $pop178, $128
+ i64.select $push180=, $93, $5, $pop179
+ i64.const $push359=, 0
+ i64.select $push181=, $72, $pop180, $pop359
+ i64.or $push190=, $pop189, $pop181
+ i64.const $push358=, 0
+ i64.select $push194=, $49, $138, $pop358
+ i64.or $push191=, $134, $135
+ i64.select $push192=, $54, $pop191, $136
+ i64.select $push193=, $137, $1, $pop192
+ i64.or $push195=, $pop194, $pop193
+ i64.const $push357=, 0
+ i64.select $push196=, $47, $139, $pop357
+ i64.select $push197=, $56, $pop195, $pop196
+ i64.select $push198=, $53, $5, $pop197
+ i64.select $push199=, $73, $pop190, $pop198
+ i64.select $push200=, $66, $13, $pop199
+ i64.store $discard=, 0($pop330), $pop200
+ i32.const $push331=, 72
i32.add $push332=, $0, $pop331
- i64.or $push80=, $17, $42
- i64.select $push81=, $66, $pop80, $44
- i64.select $push82=, $70, $11, $pop81
- i64.select $push83=, $73, $pop82, $51
- i64.select $push87=, $74, $94, $51
- i64.or $push84=, $90, $91
- i64.select $push85=, $89, $pop84, $92
- i64.select $push86=, $93, $7, $pop85
- i64.or $push88=, $pop87, $pop86
- i64.select $push89=, $71, $95, $51
- i64.select $push90=, $76, $pop88, $pop89
- i64.select $push91=, $96, $3, $pop90
- i64.or $push92=, $pop83, $pop91
- i64.or $push93=, $98, $97
- i64.select $push94=, $53, $pop93, $99
- i64.select $push95=, $57, $3, $pop94
- i64.select $push96=, $60, $pop95, $51
- i64.select $push97=, $77, $pop92, $pop96
- i64.select $push98=, $70, $11, $pop97
- i64.store $discard=, 0($pop332), $pop98
- i32.const $183=, 1024
- i32.add $279=, $279, $183
- i32.const $183=, __stack_pointer
- i32.store $279=, 0($183), $279
+ i64.const $push356=, 0
+ i64.select $push170=, $62, $124, $pop356
+ i64.const $push355=, 0
+ i64.select $push171=, $69, $pop170, $pop355
+ i64.or $push160=, $120, $121
+ i64.select $push162=, $70, $pop160, $122
+ i64.select $push163=, $93, $2, $pop162
+ i64.const $push354=, 0
+ i64.select $push165=, $86, $123, $pop354
+ i64.or $push166=, $pop163, $pop165
+ i64.or $push154=, $117, $118
+ i64.select $push156=, $67, $pop154, $119
+ i64.select $push157=, $110, $6, $pop156
+ i64.select $push167=, $72, $pop166, $pop157
+ i64.select $push168=, $93, $2, $pop167
+ i64.or $push172=, $pop171, $pop168
+ i64.const $push353=, 0
+ i64.select $push174=, $49, $125, $pop353
+ i64.const $push352=, 0
+ i64.select $push175=, $56, $pop174, $pop352
+ i64.select $push176=, $73, $pop172, $pop175
+ i64.select $push177=, $66, $10, $pop176
+ i64.store $discard=, 0($pop332), $pop177
+ i32.const $push333=, 64
+ i32.add $push334=, $0, $pop333
+ i64.const $push351=, 0
+ i64.select $push145=, $62, $115, $pop351
+ i64.const $push350=, 0
+ i64.select $push146=, $69, $pop145, $pop350
+ i64.or $push138=, $111, $112
+ i64.select $push139=, $70, $pop138, $113
+ i64.select $push140=, $93, $1, $pop139
+ i64.const $push349=, 0
+ i64.select $push141=, $86, $114, $pop349
+ i64.or $push142=, $pop140, $pop141
+ i64.or $push135=, $107, $108
+ i64.select $push136=, $67, $pop135, $109
+ i64.select $push137=, $110, $5, $pop136
+ i64.select $push143=, $72, $pop142, $pop137
+ i64.select $push144=, $93, $1, $pop143
+ i64.or $push147=, $pop146, $pop144
+ i64.const $push348=, 0
+ i64.select $push148=, $49, $116, $pop348
+ i64.const $push347=, 0
+ i64.select $push149=, $56, $pop148, $pop347
+ i64.select $push150=, $73, $pop147, $pop149
+ i64.select $push151=, $66, $9, $pop150
+ i64.store $discard=, 0($pop334), $pop151
+ i32.const $push335=, 88
+ i32.add $push336=, $0, $pop335
+ i64.or $push107=, $97, $98
+ i64.select $push109=, $62, $pop107, $99
+ i64.select $push110=, $66, $12, $pop109
+ i64.const $push346=, 0
+ i64.select $push111=, $69, $pop110, $pop346
+ i64.const $push345=, 0
+ i64.select $push119=, $70, $45, $pop345
+ i64.or $push114=, $100, $101
+ i64.select $push116=, $86, $pop114, $102
+ i64.select $push117=, $90, $8, $pop116
+ i64.or $push120=, $pop119, $pop117
+ i64.const $push344=, 0
+ i64.select $push122=, $67, $103, $pop344
+ i64.select $push123=, $72, $pop120, $pop122
+ i64.select $push124=, $93, $4, $pop123
+ i64.or $push125=, $pop111, $pop124
+ i64.or $push128=, $105, $104
+ i64.select $push130=, $49, $pop128, $106
+ i64.select $push131=, $53, $4, $pop130
+ i64.const $push343=, 0
+ i64.select $push132=, $56, $pop131, $pop343
+ i64.select $push133=, $73, $pop125, $pop132
+ i64.select $push134=, $66, $12, $pop133
+ i64.store $discard=, 0($pop336), $pop134
+ i32.const $push337=, 80
+ i32.add $push338=, $0, $pop337
+ i64.or $push86=, $17, $84
+ i64.select $push87=, $62, $pop86, $85
+ i64.select $push88=, $66, $11, $pop87
+ i64.const $push342=, 0
+ i64.select $push89=, $69, $pop88, $pop342
+ i64.const $push341=, 0
+ i64.select $push93=, $70, $91, $pop341
+ i64.or $push90=, $87, $88
+ i64.select $push91=, $86, $pop90, $89
+ i64.select $push92=, $90, $7, $pop91
+ i64.or $push94=, $pop93, $pop92
+ i64.const $push340=, 0
+ i64.select $push95=, $67, $92, $pop340
+ i64.select $push96=, $72, $pop94, $pop95
+ i64.select $push97=, $93, $3, $pop96
+ i64.or $push98=, $pop89, $pop97
+ i64.or $push99=, $95, $94
+ i64.select $push100=, $49, $pop99, $96
+ i64.select $push101=, $53, $3, $pop100
+ i64.const $push339=, 0
+ i64.select $push102=, $56, $pop101, $pop339
+ i64.select $push103=, $73, $pop98, $pop102
+ i64.select $push104=, $66, $11, $pop103
+ i64.store $discard=, 0($pop338), $pop104
+ i32.const $181=, 1024
+ i32.add $310=, $310, $181
+ i32.const $181=, __stack_pointer
+ i32.store $310=, 0($181), $310
return
+ .endfunc
.Lfunc_end5:
.size bigshift, .Lfunc_end5-bigshift
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/legalize.wast b/test/llvm_autogenerated/legalize.wast
index 6a6c87461..6feec29d4 100644
--- a/test/llvm_autogenerated/legalize.wast
+++ b/test/llvm_autogenerated/legalize.wast
@@ -40,19 +40,15 @@
)
)
(func $sext_in_reg_i32_i64 (param $$0 i64) (result i64)
- (local $$1 i64)
(block $fake_return_waka123
(block
- (set_local $$1
- (i64.const 32)
- )
(br $fake_return_waka123
(i64.shr_s
(i64.shl
(get_local $$0)
- (get_local $$1)
+ (i64.const 32)
)
- (get_local $$1)
+ (i64.const 32)
)
)
)
@@ -99,38 +95,38 @@
(local $$44 i64)
(local $$45 i64)
(local $$46 i64)
- (local $$47 i64)
- (local $$48 i64)
- (local $$49 i64)
- (local $$50 i32)
+ (local $$47 i32)
+ (local $$48 i32)
+ (local $$49 i32)
+ (local $$50 i64)
(local $$51 i64)
- (local $$52 i32)
+ (local $$52 i64)
(local $$53 i32)
- (local $$54 i64)
+ (local $$54 i32)
(local $$55 i64)
- (local $$56 i64)
+ (local $$56 i32)
(local $$57 i32)
- (local $$58 i32)
+ (local $$58 i64)
(local $$59 i64)
- (local $$60 i32)
+ (local $$60 i64)
(local $$61 i32)
- (local $$62 i64)
+ (local $$62 i32)
(local $$63 i64)
(local $$64 i64)
- (local $$65 i32)
+ (local $$65 i64)
(local $$66 i32)
- (local $$67 i64)
+ (local $$67 i32)
(local $$68 i64)
- (local $$69 i64)
+ (local $$69 i32)
(local $$70 i32)
- (local $$71 i32)
- (local $$72 i64)
+ (local $$71 i64)
+ (local $$72 i32)
(local $$73 i32)
- (local $$74 i32)
+ (local $$74 i64)
(local $$75 i64)
- (local $$76 i32)
- (local $$77 i32)
- (local $$78 i32)
+ (local $$76 i64)
+ (local $$77 i64)
+ (local $$78 i64)
(local $$79 i64)
(local $$80 i64)
(local $$81 i64)
@@ -138,17 +134,17 @@
(local $$83 i64)
(local $$84 i64)
(local $$85 i64)
- (local $$86 i64)
+ (local $$86 i32)
(local $$87 i64)
(local $$88 i64)
- (local $$89 i32)
- (local $$90 i64)
+ (local $$89 i64)
+ (local $$90 i32)
(local $$91 i64)
(local $$92 i64)
(local $$93 i32)
(local $$94 i64)
(local $$95 i64)
- (local $$96 i32)
+ (local $$96 i64)
(local $$97 i64)
(local $$98 i64)
(local $$99 i64)
@@ -162,10 +158,10 @@
(local $$107 i64)
(local $$108 i64)
(local $$109 i64)
- (local $$110 i64)
+ (local $$110 i32)
(local $$111 i64)
(local $$112 i64)
- (local $$113 i32)
+ (local $$113 i64)
(local $$114 i64)
(local $$115 i64)
(local $$116 i64)
@@ -189,9 +185,9 @@
(local $$134 i64)
(local $$135 i64)
(local $$136 i64)
- (local $$137 i64)
+ (local $$137 i32)
(local $$138 i64)
- (local $$139 i32)
+ (local $$139 i64)
(local $$140 i64)
(local $$141 i64)
(local $$142 i64)
@@ -231,8 +227,8 @@
(local $$176 i64)
(local $$177 i64)
(local $$178 i64)
- (local $$179 i64)
- (local $$180 i64)
+ (local $$179 i32)
+ (local $$180 i32)
(local $$181 i32)
(local $$182 i32)
(local $$183 i32)
@@ -363,47 +359,45 @@
(local $$308 i32)
(local $$309 i32)
(local $$310 i32)
- (local $$311 i32)
- (local $$312 i32)
(block $fake_return_waka123
(block
- (set_local $$181
+ (set_local $$179
(i32.const 1)
)
- (set_local $$181
+ (set_local $$179
(i32.load align=4
- (get_local $$181)
+ (get_local $$179)
)
)
- (set_local $$182
+ (set_local $$180
(i32.const 1024)
)
- (set_local $$279
+ (set_local $$310
(i32.sub
- (get_local $$181)
- (get_local $$182)
+ (get_local $$179)
+ (get_local $$180)
)
)
- (set_local $$182
+ (set_local $$180
(i32.const 1)
)
- (set_local $$279
+ (set_local $$310
(i32.store align=4
- (get_local $$182)
- (get_local $$279)
+ (get_local $$180)
+ (get_local $$310)
)
)
- (set_local $$184
+ (set_local $$182
(i32.const 480)
)
- (set_local $$184
+ (set_local $$182
(i32.add
- (get_local $$279)
- (get_local $$184)
+ (get_local $$310)
+ (get_local $$182)
)
)
(call_import $__lshrti3
- (get_local $$184)
+ (get_local $$182)
(get_local $$1)
(get_local $$2)
(i64.sub
@@ -417,32 +411,32 @@
(i64.const -768)
)
)
- (set_local $$185
+ (set_local $$183
(i32.const 464)
)
- (set_local $$185
+ (set_local $$183
(i32.add
- (get_local $$279)
- (get_local $$185)
+ (get_local $$310)
+ (get_local $$183)
)
)
(call_import $__ashlti3
- (get_local $$185)
+ (get_local $$183)
(get_local $$3)
(get_local $$4)
(get_local $$33)
)
- (set_local $$186
+ (set_local $$184
(i32.const 496)
)
- (set_local $$186
+ (set_local $$184
(i32.add
- (get_local $$279)
- (get_local $$186)
+ (get_local $$310)
+ (get_local $$184)
)
)
(call_import $__ashlti3
- (get_local $$186)
+ (get_local $$184)
(get_local $$1)
(get_local $$2)
(i64.add
@@ -456,17 +450,17 @@
(get_local $$17)
)
)
- (set_local $$187
+ (set_local $$185
(i32.const 352)
)
- (set_local $$187
+ (set_local $$185
(i32.add
- (get_local $$279)
- (get_local $$187)
+ (get_local $$310)
+ (get_local $$185)
)
)
(call_import $__lshrti3
- (get_local $$187)
+ (get_local $$185)
(get_local $$5)
(get_local $$6)
(get_local $$34)
@@ -477,17 +471,17 @@
(i64.const -512)
)
)
- (set_local $$188
+ (set_local $$186
(i32.const 336)
)
- (set_local $$188
+ (set_local $$186
(i32.add
- (get_local $$279)
- (get_local $$188)
+ (get_local $$310)
+ (get_local $$186)
)
)
(call_import $__ashlti3
- (get_local $$188)
+ (get_local $$186)
(get_local $$7)
(get_local $$8)
(get_local $$35)
@@ -498,17 +492,17 @@
(i64.const -640)
)
)
- (set_local $$189
+ (set_local $$187
(i32.const 368)
)
- (set_local $$189
+ (set_local $$187
(i32.add
- (get_local $$279)
- (get_local $$189)
+ (get_local $$310)
+ (get_local $$187)
)
)
(call_import $__ashlti3
- (get_local $$189)
+ (get_local $$187)
(get_local $$5)
(get_local $$6)
(get_local $$36)
@@ -519,1465 +513,1481 @@
(get_local $$17)
)
)
- (set_local $$190
+ (set_local $$188
(i32.const 432)
)
- (set_local $$190
+ (set_local $$188
(i32.add
- (get_local $$279)
- (get_local $$190)
+ (get_local $$310)
+ (get_local $$188)
)
)
(call_import $__lshrti3
- (get_local $$190)
+ (get_local $$188)
(get_local $$3)
(get_local $$4)
(get_local $$37)
)
(set_local $$38
- (i64.const 384)
- )
- (set_local $$39
(i64.sub
- (get_local $$38)
+ (i64.const 384)
(get_local $$17)
)
)
- (set_local $$191
+ (set_local $$189
(i32.const 864)
)
- (set_local $$191
+ (set_local $$189
(i32.add
- (get_local $$279)
- (get_local $$191)
+ (get_local $$310)
+ (get_local $$189)
)
)
(call_import $__lshrti3
- (get_local $$191)
+ (get_local $$189)
(get_local $$9)
(get_local $$10)
- (get_local $$39)
+ (get_local $$38)
)
- (set_local $$40
+ (set_local $$39
(i64.add
(get_local $$17)
(i64.const -256)
)
)
- (set_local $$192
+ (set_local $$190
(i32.const 848)
)
- (set_local $$192
+ (set_local $$190
(i32.add
- (get_local $$279)
- (get_local $$192)
+ (get_local $$310)
+ (get_local $$190)
)
)
(call_import $__ashlti3
- (get_local $$192)
+ (get_local $$190)
(get_local $$11)
(get_local $$12)
- (get_local $$40)
+ (get_local $$39)
)
- (set_local $$41
+ (set_local $$40
(i64.add
(get_local $$17)
(i64.const -384)
)
)
- (set_local $$193
+ (set_local $$191
(i32.const 880)
)
- (set_local $$193
+ (set_local $$191
(i32.add
- (get_local $$279)
- (get_local $$193)
+ (get_local $$310)
+ (get_local $$191)
)
)
(call_import $__ashlti3
- (get_local $$193)
+ (get_local $$191)
(get_local $$9)
(get_local $$10)
- (get_local $$41)
+ (get_local $$40)
)
- (set_local $$194
+ (set_local $$192
(i32.const 1008)
)
- (set_local $$194
+ (set_local $$192
(i32.add
- (get_local $$279)
- (get_local $$194)
+ (get_local $$310)
+ (get_local $$192)
)
)
(call_import $__ashlti3
- (get_local $$194)
+ (get_local $$192)
(get_local $$15)
(get_local $$16)
(get_local $$17)
)
- (set_local $$42
- (i64.const 128)
- )
- (set_local $$51
+ (set_local $$41
(i64.sub
- (get_local $$42)
+ (i64.const 128)
(get_local $$17)
)
)
- (set_local $$195
+ (set_local $$193
(i32.const 960)
)
- (set_local $$195
+ (set_local $$193
(i32.add
- (get_local $$279)
- (get_local $$195)
+ (get_local $$310)
+ (get_local $$193)
)
)
(call_import $__lshrti3
- (get_local $$195)
+ (get_local $$193)
(get_local $$13)
(get_local $$14)
- (get_local $$51)
+ (get_local $$41)
)
- (set_local $$43
+ (set_local $$42
(i64.add
(get_local $$17)
(i64.const -128)
)
)
- (set_local $$196
+ (set_local $$194
(i32.const 976)
)
- (set_local $$196
+ (set_local $$194
(i32.add
- (get_local $$279)
- (get_local $$196)
+ (get_local $$310)
+ (get_local $$194)
)
)
(call_import $__ashlti3
- (get_local $$196)
+ (get_local $$194)
(get_local $$13)
(get_local $$14)
- (get_local $$43)
+ (get_local $$42)
)
- (set_local $$44
- (i64.const 256)
- )
- (set_local $$45
+ (set_local $$43
(i64.sub
- (get_local $$44)
+ (i64.const 256)
(get_local $$17)
)
)
- (set_local $$197
+ (set_local $$195
(i32.const 816)
)
- (set_local $$197
+ (set_local $$195
(i32.add
- (get_local $$279)
- (get_local $$197)
+ (get_local $$310)
+ (get_local $$195)
)
)
(call_import $__lshrti3
- (get_local $$197)
+ (get_local $$195)
(get_local $$11)
(get_local $$12)
- (get_local $$45)
- )
- (set_local $$46
- (i64.const 512)
+ (get_local $$43)
)
- (set_local $$47
+ (set_local $$44
(i64.sub
- (get_local $$46)
+ (i64.const 512)
(get_local $$17)
)
)
- (set_local $$198
+ (set_local $$196
(i32.const 240)
)
- (set_local $$198
+ (set_local $$196
(i32.add
- (get_local $$279)
- (get_local $$198)
+ (get_local $$310)
+ (get_local $$196)
)
)
(call_import $__lshrti3
- (get_local $$198)
+ (get_local $$196)
(get_local $$7)
(get_local $$8)
- (get_local $$47)
+ (get_local $$44)
)
- (set_local $$199
+ (set_local $$197
(i32.const 912)
)
- (set_local $$199
+ (set_local $$197
(i32.add
- (get_local $$279)
- (get_local $$199)
+ (get_local $$310)
+ (get_local $$197)
)
)
(call_import $__ashlti3
- (get_local $$199)
+ (get_local $$197)
(get_local $$11)
(get_local $$12)
(get_local $$17)
)
- (set_local $$200
+ (set_local $$198
(i32.const 928)
)
- (set_local $$200
+ (set_local $$198
(i32.add
- (get_local $$279)
- (get_local $$200)
+ (get_local $$310)
+ (get_local $$198)
)
)
(call_import $__lshrti3
- (get_local $$200)
+ (get_local $$198)
(get_local $$9)
(get_local $$10)
- (get_local $$51)
+ (get_local $$41)
)
- (set_local $$201
+ (set_local $$199
(i32.const 944)
)
- (set_local $$201
+ (set_local $$199
(i32.add
- (get_local $$279)
- (get_local $$201)
+ (get_local $$310)
+ (get_local $$199)
)
)
(call_import $__ashlti3
- (get_local $$201)
+ (get_local $$199)
(get_local $$9)
(get_local $$10)
- (get_local $$43)
+ (get_local $$42)
)
- (set_local $$48
+ (set_local $$45
(i64.sub
+ (i64.const 256)
(get_local $$44)
- (get_local $$47)
)
)
- (set_local $$202
+ (set_local $$200
(i32.const 80)
)
- (set_local $$202
+ (set_local $$200
(i32.add
- (get_local $$279)
- (get_local $$202)
+ (get_local $$310)
+ (get_local $$200)
)
)
(call_import $__ashlti3
- (get_local $$202)
+ (get_local $$200)
(get_local $$7)
(get_local $$8)
- (get_local $$48)
+ (get_local $$45)
)
- (set_local $$203
+ (set_local $$201
(i32.const 96)
)
- (set_local $$203
+ (set_local $$201
(i32.add
- (get_local $$279)
- (get_local $$203)
+ (get_local $$310)
+ (get_local $$201)
)
)
(call_import $__lshrti3
- (get_local $$203)
+ (get_local $$201)
(get_local $$5)
(get_local $$6)
(i64.sub
- (get_local $$42)
- (get_local $$48)
+ (i64.const 128)
+ (get_local $$45)
)
)
- (set_local $$49
+ (set_local $$46
(i64.sub
- (get_local $$42)
- (get_local $$47)
+ (i64.const 128)
+ (get_local $$44)
)
)
- (set_local $$204
+ (set_local $$202
(i32.const 112)
)
- (set_local $$204
+ (set_local $$202
(i32.add
- (get_local $$279)
- (get_local $$204)
+ (get_local $$310)
+ (get_local $$202)
)
)
(call_import $__ashlti3
- (get_local $$204)
+ (get_local $$202)
(get_local $$5)
(get_local $$6)
- (get_local $$49)
+ (get_local $$46)
)
- (set_local $$205
+ (set_local $$203
(i32.const 48)
)
- (set_local $$205
+ (set_local $$203
(i32.add
- (get_local $$279)
- (get_local $$205)
+ (get_local $$310)
+ (get_local $$203)
)
)
(call_import $__lshrti3
- (get_local $$205)
+ (get_local $$203)
(get_local $$3)
(get_local $$4)
- (get_local $$47)
+ (get_local $$44)
)
- (set_local $$206
+ (set_local $$204
(i32.const 176)
)
- (set_local $$206
+ (set_local $$204
(i32.add
- (get_local $$279)
- (get_local $$206)
+ (get_local $$310)
+ (get_local $$204)
)
)
(call_import $__lshrti3
- (get_local $$206)
+ (get_local $$204)
(get_local $$7)
(get_local $$8)
- (get_local $$45)
+ (get_local $$43)
)
- (set_local $$207
+ (set_local $$205
(i32.const 288)
)
- (set_local $$207
+ (set_local $$205
(i32.add
- (get_local $$279)
- (get_local $$207)
+ (get_local $$310)
+ (get_local $$205)
)
)
(call_import $__lshrti3
- (get_local $$207)
+ (get_local $$205)
(get_local $$1)
(get_local $$2)
(get_local $$34)
)
- (set_local $$208
+ (set_local $$206
(i32.const 272)
)
- (set_local $$208
+ (set_local $$206
(i32.add
- (get_local $$279)
- (get_local $$208)
+ (get_local $$310)
+ (get_local $$206)
)
)
(call_import $__ashlti3
- (get_local $$208)
+ (get_local $$206)
(get_local $$3)
(get_local $$4)
(get_local $$35)
)
- (set_local $$209
+ (set_local $$207
(i32.const 304)
)
- (set_local $$209
+ (set_local $$207
(i32.add
- (get_local $$279)
- (get_local $$209)
+ (get_local $$310)
+ (get_local $$207)
)
)
(call_import $__ashlti3
- (get_local $$209)
+ (get_local $$207)
(get_local $$1)
(get_local $$2)
(get_local $$36)
)
- (set_local $$210
+ (set_local $$208
(i32.const 128)
)
- (set_local $$210
+ (set_local $$208
(i32.add
- (get_local $$279)
- (get_local $$210)
+ (get_local $$310)
+ (get_local $$208)
)
)
(call_import $__lshrti3
- (get_local $$210)
+ (get_local $$208)
(get_local $$5)
(get_local $$6)
- (get_local $$45)
+ (get_local $$43)
)
- (set_local $$211
+ (set_local $$209
(i32.const 144)
)
- (set_local $$211
+ (set_local $$209
(i32.add
- (get_local $$279)
- (get_local $$211)
+ (get_local $$310)
+ (get_local $$209)
)
)
(call_import $__ashlti3
- (get_local $$211)
+ (get_local $$209)
(get_local $$7)
(get_local $$8)
(i64.sub
- (get_local $$38)
- (get_local $$47)
+ (i64.const 384)
+ (get_local $$44)
)
)
- (set_local $$212
+ (set_local $$210
(i32.const 160)
)
- (set_local $$212
+ (set_local $$210
(i32.add
- (get_local $$279)
- (get_local $$212)
+ (get_local $$310)
+ (get_local $$210)
)
)
(call_import $__lshrti3
- (get_local $$212)
+ (get_local $$210)
(get_local $$7)
(get_local $$8)
- (get_local $$51)
+ (get_local $$41)
)
- (set_local $$213
+ (set_local $$211
(i32.const 0)
)
- (set_local $$213
+ (set_local $$211
(i32.add
- (get_local $$279)
- (get_local $$213)
+ (get_local $$310)
+ (get_local $$211)
)
)
(call_import $__lshrti3
- (get_local $$213)
+ (get_local $$211)
(get_local $$1)
(get_local $$2)
- (get_local $$47)
+ (get_local $$44)
)
- (set_local $$214
+ (set_local $$212
(i32.const 16)
)
- (set_local $$214
+ (set_local $$212
(i32.add
- (get_local $$279)
- (get_local $$214)
+ (get_local $$310)
+ (get_local $$212)
)
)
(call_import $__ashlti3
- (get_local $$214)
+ (get_local $$212)
(get_local $$3)
(get_local $$4)
- (get_local $$49)
+ (get_local $$46)
)
- (set_local $$215
+ (set_local $$213
(i32.const 32)
)
- (set_local $$215
+ (set_local $$213
(i32.add
- (get_local $$279)
- (get_local $$215)
+ (get_local $$310)
+ (get_local $$213)
)
)
(call_import $__lshrti3
- (get_local $$215)
+ (get_local $$213)
(get_local $$3)
(get_local $$4)
- (get_local $$39)
+ (get_local $$38)
)
- (set_local $$216
+ (set_local $$214
(i32.const 64)
)
- (set_local $$216
+ (set_local $$214
(i32.add
- (get_local $$279)
- (get_local $$216)
+ (get_local $$310)
+ (get_local $$214)
)
)
(call_import $__ashlti3
- (get_local $$216)
+ (get_local $$214)
(get_local $$5)
(get_local $$6)
- (get_local $$48)
+ (get_local $$45)
)
- (set_local $$217
+ (set_local $$215
(i32.const 896)
)
- (set_local $$217
+ (set_local $$215
(i32.add
- (get_local $$279)
- (get_local $$217)
+ (get_local $$310)
+ (get_local $$215)
)
)
(call_import $__ashlti3
- (get_local $$217)
+ (get_local $$215)
(get_local $$9)
(get_local $$10)
(get_local $$17)
)
- (set_local $$218
+ (set_local $$216
(i32.const 256)
)
- (set_local $$218
+ (set_local $$216
(i32.add
- (get_local $$279)
- (get_local $$218)
+ (get_local $$310)
+ (get_local $$216)
)
)
(call_import $__ashlti3
- (get_local $$218)
+ (get_local $$216)
(get_local $$1)
(get_local $$2)
(get_local $$35)
)
- (set_local $$219
+ (set_local $$217
(i32.const 192)
)
- (set_local $$219
+ (set_local $$217
(i32.add
- (get_local $$279)
- (get_local $$219)
+ (get_local $$310)
+ (get_local $$217)
)
)
(call_import $__lshrti3
- (get_local $$219)
+ (get_local $$217)
(get_local $$5)
(get_local $$6)
- (get_local $$47)
+ (get_local $$44)
)
- (set_local $$220
+ (set_local $$218
(i32.const 208)
)
- (set_local $$220
+ (set_local $$218
(i32.add
- (get_local $$279)
- (get_local $$220)
+ (get_local $$310)
+ (get_local $$218)
)
)
(call_import $__ashlti3
- (get_local $$220)
+ (get_local $$218)
(get_local $$7)
(get_local $$8)
- (get_local $$49)
+ (get_local $$46)
)
- (set_local $$221
+ (set_local $$219
(i32.const 224)
)
- (set_local $$221
+ (set_local $$219
(i32.add
- (get_local $$279)
- (get_local $$221)
+ (get_local $$310)
+ (get_local $$219)
)
)
(call_import $__lshrti3
- (get_local $$221)
+ (get_local $$219)
(get_local $$7)
(get_local $$8)
- (get_local $$39)
+ (get_local $$38)
)
- (set_local $$222
+ (set_local $$220
(i32.const 768)
)
- (set_local $$222
+ (set_local $$220
(i32.add
- (get_local $$279)
- (get_local $$222)
+ (get_local $$310)
+ (get_local $$220)
)
)
(call_import $__lshrti3
- (get_local $$222)
+ (get_local $$220)
(get_local $$9)
(get_local $$10)
- (get_local $$45)
+ (get_local $$43)
)
- (set_local $$49
+ (set_local $$46
(i64.sub
- (get_local $$42)
- (get_local $$45)
+ (i64.const 128)
+ (get_local $$43)
)
)
- (set_local $$223
+ (set_local $$221
(i32.const 784)
)
- (set_local $$223
+ (set_local $$221
(i32.add
- (get_local $$279)
- (get_local $$223)
+ (get_local $$310)
+ (get_local $$221)
)
)
(call_import $__ashlti3
- (get_local $$223)
+ (get_local $$221)
(get_local $$11)
(get_local $$12)
- (get_local $$49)
+ (get_local $$46)
)
- (set_local $$224
+ (set_local $$222
(i32.const 800)
)
- (set_local $$224
+ (set_local $$222
(i32.add
- (get_local $$279)
- (get_local $$224)
+ (get_local $$310)
+ (get_local $$222)
)
)
(call_import $__lshrti3
- (get_local $$224)
+ (get_local $$222)
(get_local $$11)
(get_local $$12)
- (get_local $$51)
+ (get_local $$41)
)
- (set_local $$225
+ (set_local $$223
(i32.const 992)
)
- (set_local $$225
+ (set_local $$223
(i32.add
- (get_local $$279)
- (get_local $$225)
+ (get_local $$310)
+ (get_local $$223)
)
)
(call_import $__ashlti3
- (get_local $$225)
+ (get_local $$223)
(get_local $$13)
(get_local $$14)
(get_local $$17)
)
- (set_local $$226
+ (set_local $$224
(i32.const 832)
)
- (set_local $$226
+ (set_local $$224
(i32.add
- (get_local $$279)
- (get_local $$226)
+ (get_local $$310)
+ (get_local $$224)
)
)
(call_import $__ashlti3
- (get_local $$226)
+ (get_local $$224)
(get_local $$9)
(get_local $$10)
- (get_local $$40)
+ (get_local $$39)
)
- (set_local $$227
+ (set_local $$225
(i32.const 384)
)
- (set_local $$227
+ (set_local $$225
(i32.add
- (get_local $$279)
- (get_local $$227)
+ (get_local $$310)
+ (get_local $$225)
)
)
(call_import $__lshrti3
- (get_local $$227)
+ (get_local $$225)
(get_local $$1)
(get_local $$2)
(get_local $$37)
)
- (set_local $$228
+ (set_local $$226
(i32.const 400)
)
- (set_local $$228
+ (set_local $$226
(i32.add
- (get_local $$279)
- (get_local $$228)
+ (get_local $$310)
+ (get_local $$226)
)
)
(call_import $__ashlti3
- (get_local $$228)
+ (get_local $$226)
(get_local $$3)
(get_local $$4)
(i64.sub
- (get_local $$42)
+ (i64.const 128)
(get_local $$37)
)
)
- (set_local $$229
+ (set_local $$227
(i32.const 416)
)
- (set_local $$229
+ (set_local $$227
(i32.add
- (get_local $$279)
- (get_local $$229)
+ (get_local $$310)
+ (get_local $$227)
)
)
(call_import $__lshrti3
- (get_local $$229)
+ (get_local $$227)
(get_local $$3)
(get_local $$4)
(get_local $$34)
)
- (set_local $$230
+ (set_local $$228
(i32.const 320)
)
- (set_local $$230
+ (set_local $$228
(i32.add
- (get_local $$279)
- (get_local $$230)
+ (get_local $$310)
+ (get_local $$228)
)
)
(call_import $__ashlti3
- (get_local $$230)
+ (get_local $$228)
(get_local $$5)
(get_local $$6)
(get_local $$35)
)
- (set_local $$231
+ (set_local $$229
(i32.const 448)
)
- (set_local $$231
+ (set_local $$229
(i32.add
- (get_local $$279)
- (get_local $$231)
+ (get_local $$310)
+ (get_local $$229)
)
)
(call_import $__ashlti3
- (get_local $$231)
+ (get_local $$229)
(get_local $$1)
(get_local $$2)
(get_local $$33)
)
- (set_local $$232
+ (set_local $$230
(i32.const 736)
)
+ (set_local $$230
+ (i32.add
+ (get_local $$310)
+ (get_local $$230)
+ )
+ )
+ (call_import $__lshrti3
+ (get_local $$230)
+ (get_local $$1)
+ (get_local $$2)
+ (get_local $$38)
+ )
+ (set_local $$231
+ (i32.const 720)
+ )
+ (set_local $$231
+ (i32.add
+ (get_local $$310)
+ (get_local $$231)
+ )
+ )
+ (call_import $__ashlti3
+ (get_local $$231)
+ (get_local $$3)
+ (get_local $$4)
+ (get_local $$39)
+ )
+ (set_local $$232
+ (i32.const 752)
+ )
(set_local $$232
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$232)
)
)
- (call_import $__lshrti3
+ (call_import $__ashlti3
(get_local $$232)
(get_local $$1)
(get_local $$2)
- (get_local $$39)
+ (get_local $$40)
)
(set_local $$233
- (i32.const 720)
+ (i32.const 592)
)
(set_local $$233
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$233)
)
)
(call_import $__ashlti3
(get_local $$233)
- (get_local $$3)
- (get_local $$4)
- (get_local $$40)
+ (get_local $$7)
+ (get_local $$8)
+ (get_local $$17)
)
(set_local $$234
- (i32.const 752)
+ (i32.const 608)
)
(set_local $$234
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$234)
)
)
- (call_import $__ashlti3
+ (call_import $__lshrti3
(get_local $$234)
- (get_local $$1)
- (get_local $$2)
+ (get_local $$5)
+ (get_local $$6)
(get_local $$41)
)
(set_local $$235
- (i32.const 592)
+ (i32.const 624)
)
(set_local $$235
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$235)
)
)
(call_import $__ashlti3
(get_local $$235)
- (get_local $$7)
- (get_local $$8)
- (get_local $$17)
+ (get_local $$5)
+ (get_local $$6)
+ (get_local $$42)
)
(set_local $$236
- (i32.const 608)
+ (i32.const 688)
)
(set_local $$236
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$236)
)
)
(call_import $__lshrti3
(get_local $$236)
- (get_local $$5)
- (get_local $$6)
- (get_local $$51)
+ (get_local $$3)
+ (get_local $$4)
+ (get_local $$43)
)
(set_local $$237
- (i32.const 624)
+ (i32.const 640)
)
(set_local $$237
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$237)
)
)
- (call_import $__ashlti3
+ (call_import $__lshrti3
(get_local $$237)
- (get_local $$5)
- (get_local $$6)
+ (get_local $$1)
+ (get_local $$2)
(get_local $$43)
)
(set_local $$238
- (i32.const 688)
+ (i32.const 656)
)
(set_local $$238
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$238)
)
)
- (call_import $__lshrti3
+ (call_import $__ashlti3
(get_local $$238)
(get_local $$3)
(get_local $$4)
- (get_local $$45)
+ (get_local $$46)
)
(set_local $$239
- (i32.const 640)
+ (i32.const 672)
)
(set_local $$239
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$239)
)
)
(call_import $__lshrti3
(get_local $$239)
- (get_local $$1)
- (get_local $$2)
- (get_local $$45)
+ (get_local $$3)
+ (get_local $$4)
+ (get_local $$41)
)
(set_local $$240
- (i32.const 656)
+ (i32.const 576)
)
(set_local $$240
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$240)
)
)
(call_import $__ashlti3
(get_local $$240)
- (get_local $$3)
- (get_local $$4)
- (get_local $$49)
+ (get_local $$5)
+ (get_local $$6)
+ (get_local $$17)
)
(set_local $$241
- (i32.const 672)
+ (i32.const 704)
)
(set_local $$241
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$241)
)
)
- (call_import $__lshrti3
+ (call_import $__ashlti3
(get_local $$241)
- (get_local $$3)
- (get_local $$4)
- (get_local $$51)
+ (get_local $$1)
+ (get_local $$2)
+ (get_local $$39)
)
(set_local $$242
- (i32.const 576)
+ (i32.const 528)
)
(set_local $$242
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$242)
)
)
(call_import $__ashlti3
(get_local $$242)
- (get_local $$5)
- (get_local $$6)
+ (get_local $$3)
+ (get_local $$4)
(get_local $$17)
)
(set_local $$243
- (i32.const 704)
+ (i32.const 544)
)
(set_local $$243
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$243)
)
)
- (call_import $__ashlti3
+ (call_import $__lshrti3
(get_local $$243)
(get_local $$1)
(get_local $$2)
- (get_local $$40)
+ (get_local $$41)
)
(set_local $$244
- (i32.const 528)
+ (i32.const 560)
)
(set_local $$244
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$244)
)
)
(call_import $__ashlti3
(get_local $$244)
- (get_local $$3)
- (get_local $$4)
- (get_local $$17)
+ (get_local $$1)
+ (get_local $$2)
+ (get_local $$42)
)
(set_local $$245
- (i32.const 544)
+ (i32.const 512)
)
(set_local $$245
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$245)
)
)
- (call_import $__lshrti3
+ (call_import $__ashlti3
(get_local $$245)
(get_local $$1)
(get_local $$2)
- (get_local $$51)
+ (get_local $$17)
)
(set_local $$246
- (i32.const 560)
+ (i32.const 480)
)
(set_local $$246
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$246)
)
)
- (call_import $__ashlti3
- (get_local $$246)
- (get_local $$1)
- (get_local $$2)
- (get_local $$43)
+ (set_local $$41
+ (i64.load align=8
+ (i32.add
+ (get_local $$246)
+ (i32.const 8)
+ )
+ )
)
(set_local $$247
- (i32.const 512)
+ (i32.const 464)
)
(set_local $$247
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$247)
)
)
- (call_import $__ashlti3
- (get_local $$247)
- (get_local $$1)
- (get_local $$2)
- (get_local $$17)
+ (set_local $$38
+ (i64.load align=8
+ (i32.add
+ (get_local $$247)
+ (i32.const 8)
+ )
+ )
)
- (set_local $$78
- (i32.const 8)
+ (set_local $$42
+ (i64.load offset=480 align=8
+ (get_local $$310)
+ )
+ )
+ (set_local $$34
+ (i64.load offset=464 align=8
+ (get_local $$310)
+ )
+ )
+ (set_local $$46
+ (i64.load offset=496 align=8
+ (get_local $$310)
+ )
)
(set_local $$248
- (i32.const 480)
+ (i32.const 496)
)
(set_local $$248
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$248)
)
)
- (set_local $$39
+ (set_local $$36
(i64.load align=8
(i32.add
(get_local $$248)
- (get_local $$78)
+ (i32.const 8)
)
)
)
+ (set_local $$47
+ (i64.lt_u
+ (get_local $$33)
+ (i64.const 128)
+ )
+ )
+ (set_local $$48
+ (i64.eq
+ (get_local $$33)
+ (i64.const 0)
+ )
+ )
(set_local $$249
- (i32.const 464)
+ (i32.const 352)
)
(set_local $$249
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$249)
)
)
- (set_local $$43
+ (set_local $$33
(i64.load align=8
(i32.add
(get_local $$249)
- (get_local $$78)
+ (i32.const 8)
)
)
)
- (set_local $$34
- (i64.load offset=480 align=8
- (get_local $$279)
- )
- )
- (set_local $$49
- (i64.load offset=464 align=8
- (get_local $$279)
- )
- )
- (set_local $$36
- (i64.load offset=496 align=8
- (get_local $$279)
- )
- )
(set_local $$250
- (i32.const 496)
+ (i32.const 336)
)
(set_local $$250
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$250)
)
)
- (set_local $$38
+ (set_local $$40
(i64.load align=8
(i32.add
(get_local $$250)
- (get_local $$78)
+ (i32.const 8)
)
)
)
- (set_local $$50
- (i64.lt_u
- (get_local $$33)
- (get_local $$42)
- )
- )
- (set_local $$51
- (i64.const 0)
- )
- (set_local $$52
- (i64.eq
- (get_local $$33)
- (get_local $$51)
- )
- )
(set_local $$251
- (i32.const 352)
+ (i32.const 368)
)
(set_local $$251
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$251)
)
)
- (set_local $$33
+ (set_local $$74
(i64.load align=8
(i32.add
(get_local $$251)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$252
- (i32.const 336)
+ (i32.const 432)
)
(set_local $$252
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$252)
)
)
- (set_local $$41
+ (set_local $$75
(i64.load align=8
(i32.add
(get_local $$252)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$253
- (i32.const 368)
+ (i32.const 864)
)
(set_local $$253
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$253)
)
)
- (set_local $$79
+ (set_local $$76
(i64.load align=8
(i32.add
(get_local $$253)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$254
- (i32.const 432)
+ (i32.const 848)
)
(set_local $$254
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$254)
)
)
- (set_local $$80
+ (set_local $$77
(i64.load align=8
(i32.add
(get_local $$254)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$255
- (i32.const 864)
+ (i32.const 880)
)
(set_local $$255
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$255)
)
)
- (set_local $$81
+ (set_local $$78
(i64.load align=8
(i32.add
(get_local $$255)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$256
- (i32.const 848)
+ (i32.const 1008)
)
(set_local $$256
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$256)
)
)
- (set_local $$82
+ (set_local $$79
(i64.load align=8
(i32.add
(get_local $$256)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$257
- (i32.const 880)
+ (i32.const 960)
)
(set_local $$257
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$257)
)
)
- (set_local $$83
+ (set_local $$80
(i64.load align=8
(i32.add
(get_local $$257)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$258
- (i32.const 1008)
+ (i32.const 976)
)
(set_local $$258
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$258)
)
)
- (set_local $$84
+ (set_local $$81
(i64.load align=8
(i32.add
(get_local $$258)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$259
- (i32.const 960)
+ (i32.const 816)
)
(set_local $$259
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$259)
)
)
- (set_local $$85
+ (set_local $$82
(i64.load align=8
(i32.add
(get_local $$259)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$260
- (i32.const 976)
+ (i32.const 240)
)
(set_local $$260
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$260)
)
)
- (set_local $$86
+ (set_local $$83
(i64.load align=8
(i32.add
(get_local $$260)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$261
- (i32.const 816)
+ (i32.const 912)
)
(set_local $$261
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$261)
)
)
- (set_local $$87
+ (set_local $$97
(i64.load align=8
(i32.add
(get_local $$261)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$262
- (i32.const 240)
+ (i32.const 928)
)
(set_local $$262
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$262)
)
)
- (set_local $$88
+ (set_local $$98
(i64.load align=8
(i32.add
(get_local $$262)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$263
- (i32.const 912)
+ (i32.const 944)
)
(set_local $$263
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$263)
)
)
- (set_local $$100
+ (set_local $$99
(i64.load align=8
(i32.add
(get_local $$263)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$264
- (i32.const 928)
+ (i32.const 80)
)
(set_local $$264
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$264)
)
)
- (set_local $$101
+ (set_local $$100
(i64.load align=8
(i32.add
(get_local $$264)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$265
- (i32.const 944)
+ (i32.const 96)
)
(set_local $$265
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$265)
)
)
- (set_local $$102
+ (set_local $$101
(i64.load align=8
(i32.add
(get_local $$265)
- (get_local $$78)
+ (i32.const 8)
)
)
)
+ (set_local $$87
+ (i64.load offset=80 align=8
+ (get_local $$310)
+ )
+ )
+ (set_local $$88
+ (i64.load offset=96 align=8
+ (get_local $$310)
+ )
+ )
+ (set_local $$89
+ (i64.load offset=112 align=8
+ (get_local $$310)
+ )
+ )
(set_local $$266
- (i32.const 80)
+ (i32.const 112)
)
(set_local $$266
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$266)
)
)
- (set_local $$103
+ (set_local $$102
(i64.load align=8
(i32.add
(get_local $$266)
- (get_local $$78)
+ (i32.const 8)
)
)
)
+ (set_local $$86
+ (i64.lt_u
+ (get_local $$45)
+ (i64.const 128)
+ )
+ )
+ (set_local $$90
+ (i64.eq
+ (get_local $$45)
+ (i64.const 0)
+ )
+ )
(set_local $$267
- (i32.const 96)
+ (i32.const 48)
)
(set_local $$267
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$267)
)
)
- (set_local $$104
+ (set_local $$45
(i64.load align=8
(i32.add
(get_local $$267)
- (get_local $$78)
+ (i32.const 8)
)
)
)
- (set_local $$90
- (i64.load offset=80 align=8
- (get_local $$279)
- )
- )
- (set_local $$91
- (i64.load offset=96 align=8
- (get_local $$279)
- )
- )
- (set_local $$92
- (i64.load offset=112 align=8
- (get_local $$279)
- )
- )
(set_local $$268
- (i32.const 112)
+ (i32.const 176)
)
(set_local $$268
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$268)
)
)
- (set_local $$105
+ (set_local $$103
(i64.load align=8
(i32.add
(get_local $$268)
- (get_local $$78)
+ (i32.const 8)
)
)
)
- (set_local $$89
- (i64.lt_u
- (get_local $$48)
- (get_local $$42)
- )
- )
- (set_local $$93
- (i64.eq
- (get_local $$48)
- (get_local $$51)
- )
- )
(set_local $$269
- (i32.const 48)
+ (i32.const 288)
)
(set_local $$269
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$269)
)
)
- (set_local $$48
+ (set_local $$104
(i64.load align=8
(i32.add
(get_local $$269)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$270
- (i32.const 176)
+ (i32.const 272)
)
(set_local $$270
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$270)
)
)
- (set_local $$106
+ (set_local $$105
(i64.load align=8
(i32.add
(get_local $$270)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$271
- (i32.const 288)
+ (i32.const 304)
)
(set_local $$271
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$271)
)
)
- (set_local $$107
+ (set_local $$106
(i64.load align=8
(i32.add
(get_local $$271)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$272
- (i32.const 272)
+ (i32.const 128)
)
(set_local $$272
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$272)
)
)
- (set_local $$108
+ (set_local $$117
(i64.load align=8
(i32.add
(get_local $$272)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$273
- (i32.const 304)
+ (i32.const 144)
)
(set_local $$273
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$273)
)
)
- (set_local $$109
+ (set_local $$118
(i64.load align=8
(i32.add
(get_local $$273)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$274
- (i32.const 128)
+ (i32.const 160)
)
(set_local $$274
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$274)
)
)
@@ -1985,16 +1995,16 @@
(i64.load align=8
(i32.add
(get_local $$274)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$275
- (i32.const 144)
+ (i32.const 0)
)
(set_local $$275
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$275)
)
)
@@ -2002,16 +2012,16 @@
(i64.load align=8
(i32.add
(get_local $$275)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$276
- (i32.const 160)
+ (i32.const 16)
)
(set_local $$276
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$276)
)
)
@@ -2019,1021 +2029,987 @@
(i64.load align=8
(i32.add
(get_local $$276)
- (get_local $$78)
+ (i32.const 8)
)
)
)
+ (set_local $$114
+ (i64.load offset=64 align=8
+ (get_local $$310)
+ )
+ )
(set_local $$277
- (i32.const 0)
+ (i32.const 64)
)
(set_local $$277
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$277)
)
)
- (set_local $$122
+ (set_local $$123
(i64.load align=8
(i32.add
(get_local $$277)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$278
- (i32.const 16)
+ (i32.const 32)
)
(set_local $$278
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$278)
)
)
- (set_local $$123
+ (set_local $$122
(i64.load align=8
(i32.add
(get_local $$278)
- (get_local $$78)
+ (i32.const 8)
)
)
)
- (set_local $$117
- (i64.load offset=64 align=8
- (get_local $$279)
- )
- )
(set_local $$279
- (i32.const 64)
+ (i32.const 896)
)
(set_local $$279
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$279)
)
)
- (set_local $$125
+ (set_local $$124
(i64.load align=8
(i32.add
(get_local $$279)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$280
- (i32.const 32)
+ (i32.const 256)
)
(set_local $$280
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$280)
)
)
- (set_local $$124
+ (set_local $$125
(i64.load align=8
(i32.add
(get_local $$280)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$281
- (i32.const 896)
+ (i32.const 192)
)
(set_local $$281
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$281)
)
)
- (set_local $$126
+ (set_local $$140
(i64.load align=8
(i32.add
(get_local $$281)
- (get_local $$78)
+ (i32.const 8)
)
)
)
(set_local $$282
- (i32.const 256)
+ (i32.const 208)
)
(set_local $$282
(i32.add
- (get_local $$279)
+ (get_local $$310)
(get_local $$282)
)
)
- (set_local $$127
+ (set_local $$141
(i64.load align=8
(i32.add
(get_local $$282)
- (get_local $$78)
+ (i32.const 8)
)
)
)
- (set_local $$283
- (i32.const 192)
- )
- (set_local $$283
- (i32.add
- (get_local $$279)
- (get_local $$283)
- )
- )
- (set_local $$142
- (i64.load align=8
- (i32.add
- (get_local $$283)
- (get_local $$78)
- )
- )
- )
- (set_local $$284
- (i32.const 208)
- )
- (set_local $$284
- (i32.add
- (get_local $$279)
- (get_local $$284)
- )
- )
- (set_local $$143
- (i64.load align=8
- (i32.add
- (get_local $$284)
- (get_local $$78)
- )
- )
- )
- (set_local $$114
+ (set_local $$111
(i64.load align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$115
+ (set_local $$112
(i64.load offset=16 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$116
+ (set_local $$113
(i64.load offset=32 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$285
+ (set_local $$283
(i32.const 224)
)
- (set_local $$285
+ (set_local $$283
(i32.add
- (get_local $$279)
- (get_local $$285)
+ (get_local $$310)
+ (get_local $$283)
)
)
- (set_local $$144
+ (set_local $$142
(i64.load align=8
(i32.add
- (get_local $$285)
- (get_local $$78)
+ (get_local $$283)
+ (i32.const 8)
)
)
)
- (set_local $$74
+ (set_local $$70
(i64.lt_u
- (get_local $$47)
- (get_local $$42)
+ (get_local $$44)
+ (i64.const 128)
)
)
- (set_local $$128
+ (set_local $$126
(i64.load offset=192 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$129
+ (set_local $$127
(i64.load offset=208 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$130
+ (set_local $$128
(i64.load offset=224 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$75
+ (set_local $$71
(i64.load offset=240 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$94
+ (set_local $$91
(i64.load offset=48 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$95
+ (set_local $$92
(i64.load offset=176 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$71
+ (set_local $$67
(i64.lt_u
- (get_local $$45)
- (get_local $$42)
+ (get_local $$43)
+ (i64.const 128)
)
)
- (set_local $$76
+ (set_local $$72
(i64.lt_u
- (get_local $$47)
(get_local $$44)
+ (i64.const 256)
)
)
- (set_local $$110
+ (set_local $$107
(i64.load offset=128 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$111
+ (set_local $$108
(i64.load offset=144 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$112
+ (set_local $$109
(i64.load offset=160 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$96
+ (set_local $$93
(i64.eq
- (get_local $$47)
- (get_local $$51)
+ (get_local $$44)
+ (i64.const 0)
)
)
- (set_local $$113
+ (set_local $$110
(i64.eq
- (get_local $$45)
- (get_local $$51)
+ (get_local $$43)
+ (i64.const 0)
)
)
- (set_local $$286
+ (set_local $$284
(i32.const 768)
)
- (set_local $$286
+ (set_local $$284
(i32.add
- (get_local $$279)
- (get_local $$286)
+ (get_local $$310)
+ (get_local $$284)
)
)
- (set_local $$47
+ (set_local $$44
(i64.load align=8
(i32.add
- (get_local $$286)
- (get_local $$78)
+ (get_local $$284)
+ (i32.const 8)
)
)
)
- (set_local $$287
+ (set_local $$285
(i32.const 784)
)
- (set_local $$287
+ (set_local $$285
(i32.add
- (get_local $$279)
- (get_local $$287)
+ (get_local $$310)
+ (get_local $$285)
)
)
- (set_local $$45
+ (set_local $$43
(i64.load align=8
(i32.add
- (get_local $$287)
- (get_local $$78)
+ (get_local $$285)
+ (i32.const 8)
)
)
)
- (set_local $$288
+ (set_local $$286
(i32.const 800)
)
- (set_local $$288
+ (set_local $$286
(i32.add
- (get_local $$279)
- (get_local $$288)
+ (get_local $$310)
+ (get_local $$286)
)
)
- (set_local $$145
+ (set_local $$143
(i64.load align=8
(i32.add
- (get_local $$288)
- (get_local $$78)
+ (get_local $$286)
+ (i32.const 8)
)
)
)
- (set_local $$289
+ (set_local $$287
(i32.const 992)
)
- (set_local $$289
+ (set_local $$287
(i32.add
- (get_local $$279)
- (get_local $$289)
+ (get_local $$310)
+ (get_local $$287)
)
)
- (set_local $$146
+ (set_local $$144
(i64.load align=8
(i32.add
- (get_local $$289)
- (get_local $$78)
+ (get_local $$287)
+ (i32.const 8)
)
)
)
- (set_local $$290
+ (set_local $$288
(i32.const 832)
)
- (set_local $$290
+ (set_local $$288
(i32.add
- (get_local $$279)
- (get_local $$290)
+ (get_local $$310)
+ (get_local $$288)
)
)
- (set_local $$147
+ (set_local $$145
(i64.load align=8
(i32.add
- (get_local $$290)
- (get_local $$78)
+ (get_local $$288)
+ (i32.const 8)
)
)
)
- (set_local $$291
+ (set_local $$289
(i32.const 384)
)
- (set_local $$291
+ (set_local $$289
(i32.add
- (get_local $$279)
- (get_local $$291)
+ (get_local $$310)
+ (get_local $$289)
)
)
- (set_local $$148
+ (set_local $$146
(i64.load align=8
(i32.add
- (get_local $$291)
- (get_local $$78)
+ (get_local $$289)
+ (i32.const 8)
)
)
)
- (set_local $$292
+ (set_local $$290
(i32.const 400)
)
- (set_local $$292
+ (set_local $$290
(i32.add
- (get_local $$279)
- (get_local $$292)
+ (get_local $$310)
+ (get_local $$290)
)
)
- (set_local $$149
+ (set_local $$147
(i64.load align=8
(i32.add
- (get_local $$292)
- (get_local $$78)
+ (get_local $$290)
+ (i32.const 8)
)
)
)
- (set_local $$136
+ (set_local $$134
(i64.load offset=384 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$137
+ (set_local $$135
(i64.load offset=400 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$293
+ (set_local $$291
(i32.const 416)
)
- (set_local $$293
+ (set_local $$291
(i32.add
- (get_local $$279)
- (get_local $$293)
+ (get_local $$310)
+ (get_local $$291)
)
)
- (set_local $$150
+ (set_local $$148
(i64.load align=8
(i32.add
- (get_local $$293)
- (get_local $$78)
+ (get_local $$291)
+ (i32.const 8)
)
)
)
- (set_local $$138
+ (set_local $$136
(i64.load offset=416 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$59
+ (set_local $$55
(i64.load offset=432 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$58
+ (set_local $$54
(i64.lt_u
(get_local $$37)
- (get_local $$42)
+ (i64.const 128)
)
)
- (set_local $$139
+ (set_local $$137
(i64.eq
(get_local $$37)
- (get_local $$51)
+ (i64.const 0)
)
)
- (set_local $$294
+ (set_local $$292
(i32.const 320)
)
- (set_local $$294
+ (set_local $$292
(i32.add
- (get_local $$279)
- (get_local $$294)
+ (get_local $$310)
+ (get_local $$292)
)
)
(set_local $$37
(i64.load align=8
(i32.add
- (get_local $$294)
- (get_local $$78)
+ (get_local $$292)
+ (i32.const 8)
)
)
)
- (set_local $$54
+ (set_local $$50
(i64.load offset=352 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$55
+ (set_local $$51
(i64.load offset=336 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$56
+ (set_local $$52
(i64.load offset=368 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$295
+ (set_local $$293
(i32.const 448)
)
- (set_local $$295
+ (set_local $$293
(i32.add
- (get_local $$279)
- (get_local $$295)
+ (get_local $$310)
+ (get_local $$293)
)
)
- (set_local $$151
+ (set_local $$149
(i64.load align=8
(i32.add
- (get_local $$295)
- (get_local $$78)
+ (get_local $$293)
+ (i32.const 8)
)
)
)
- (set_local $$53
+ (set_local $$49
(i64.lt_u
(get_local $$35)
- (get_local $$42)
+ (i64.const 128)
)
)
- (set_local $$97
+ (set_local $$94
(i64.load offset=288 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$98
+ (set_local $$95
(i64.load offset=272 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$99
+ (set_local $$96
(i64.load offset=304 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$118
+ (set_local $$116
(i64.load offset=256 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$140
+ (set_local $$138
(i64.load offset=320 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$141
+ (set_local $$139
(i64.load offset=448 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$57
+ (set_local $$53
(i64.eq
(get_local $$35)
- (get_local $$51)
+ (i64.const 0)
)
)
- (set_local $$60
+ (set_local $$56
(i64.lt_u
(get_local $$35)
- (get_local $$44)
+ (i64.const 256)
)
)
- (set_local $$296
+ (set_local $$294
(i32.const 736)
)
- (set_local $$296
+ (set_local $$294
(i32.add
- (get_local $$279)
- (get_local $$296)
+ (get_local $$310)
+ (get_local $$294)
)
)
(set_local $$35
(i64.load align=8
(i32.add
- (get_local $$296)
- (get_local $$78)
+ (get_local $$294)
+ (i32.const 8)
)
)
)
- (set_local $$297
+ (set_local $$295
(i32.const 720)
)
- (set_local $$297
+ (set_local $$295
(i32.add
- (get_local $$279)
- (get_local $$297)
+ (get_local $$310)
+ (get_local $$295)
)
)
- (set_local $$159
+ (set_local $$157
(i64.load align=8
(i32.add
- (get_local $$297)
- (get_local $$78)
+ (get_local $$295)
+ (i32.const 8)
)
)
)
- (set_local $$62
+ (set_local $$58
(i64.load offset=864 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$63
+ (set_local $$59
(i64.load offset=848 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$64
+ (set_local $$60
(i64.load offset=880 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$298
+ (set_local $$296
(i32.const 752)
)
- (set_local $$298
+ (set_local $$296
(i32.add
- (get_local $$279)
- (get_local $$298)
+ (get_local $$310)
+ (get_local $$296)
)
)
- (set_local $$160
+ (set_local $$158
(i64.load align=8
(i32.add
- (get_local $$298)
- (get_local $$78)
+ (get_local $$296)
+ (i32.const 8)
)
)
)
- (set_local $$61
+ (set_local $$57
(i64.lt_u
- (get_local $$40)
- (get_local $$42)
+ (get_local $$39)
+ (i64.const 128)
)
)
- (set_local $$152
+ (set_local $$150
(i64.load offset=736 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$153
+ (set_local $$151
(i64.load offset=720 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$154
+ (set_local $$152
(i64.load offset=752 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$65
+ (set_local $$61
(i64.eq
- (get_local $$40)
- (get_local $$51)
+ (get_local $$39)
+ (i64.const 0)
)
)
- (set_local $$299
+ (set_local $$297
(i32.const 592)
)
- (set_local $$299
+ (set_local $$297
(i32.add
- (get_local $$279)
- (get_local $$299)
+ (get_local $$310)
+ (get_local $$297)
)
)
- (set_local $$40
+ (set_local $$39
(i64.load align=8
(i32.add
- (get_local $$299)
- (get_local $$78)
+ (get_local $$297)
+ (i32.const 8)
)
)
)
- (set_local $$300
+ (set_local $$298
(i32.const 608)
)
- (set_local $$300
+ (set_local $$298
(i32.add
- (get_local $$279)
- (get_local $$300)
+ (get_local $$310)
+ (get_local $$298)
)
)
- (set_local $$161
+ (set_local $$159
(i64.load align=8
(i32.add
- (get_local $$300)
- (get_local $$78)
+ (get_local $$298)
+ (i32.const 8)
)
)
)
- (set_local $$301
+ (set_local $$299
(i32.const 624)
)
- (set_local $$301
+ (set_local $$299
(i32.add
- (get_local $$279)
- (get_local $$301)
+ (get_local $$310)
+ (get_local $$299)
)
)
- (set_local $$162
+ (set_local $$160
(i64.load align=8
(i32.add
- (get_local $$301)
- (get_local $$78)
+ (get_local $$299)
+ (i32.const 8)
)
)
)
- (set_local $$302
+ (set_local $$300
(i32.const 688)
)
- (set_local $$302
+ (set_local $$300
(i32.add
- (get_local $$279)
- (get_local $$302)
+ (get_local $$310)
+ (get_local $$300)
)
)
- (set_local $$163
+ (set_local $$161
(i64.load align=8
(i32.add
- (get_local $$302)
- (get_local $$78)
+ (get_local $$300)
+ (i32.const 8)
)
)
)
- (set_local $$303
+ (set_local $$301
(i32.const 640)
)
- (set_local $$303
+ (set_local $$301
(i32.add
- (get_local $$279)
- (get_local $$303)
+ (get_local $$310)
+ (get_local $$301)
)
)
- (set_local $$169
+ (set_local $$167
(i64.load align=8
(i32.add
- (get_local $$303)
- (get_local $$78)
+ (get_local $$301)
+ (i32.const 8)
)
)
)
- (set_local $$304
+ (set_local $$302
(i32.const 656)
)
- (set_local $$304
+ (set_local $$302
(i32.add
- (get_local $$279)
- (get_local $$304)
+ (get_local $$310)
+ (get_local $$302)
)
)
- (set_local $$170
+ (set_local $$168
(i64.load align=8
(i32.add
- (get_local $$304)
- (get_local $$78)
+ (get_local $$302)
+ (i32.const 8)
)
)
)
- (set_local $$131
+ (set_local $$129
(i64.load offset=768 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$132
+ (set_local $$130
(i64.load offset=784 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$133
+ (set_local $$131
(i64.load offset=800 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$305
+ (set_local $$303
(i32.const 672)
)
- (set_local $$305
+ (set_local $$303
(i32.add
- (get_local $$279)
- (get_local $$305)
+ (get_local $$310)
+ (get_local $$303)
)
)
- (set_local $$171
+ (set_local $$169
(i64.load align=8
(i32.add
- (get_local $$305)
- (get_local $$78)
+ (get_local $$303)
+ (i32.const 8)
)
)
)
- (set_local $$164
+ (set_local $$162
(i64.load offset=640 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$165
+ (set_local $$163
(i64.load offset=656 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$166
+ (set_local $$164
(i64.load offset=672 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$72
+ (set_local $$68
(i64.load offset=816 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$158
+ (set_local $$156
(i64.load offset=688 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$306
+ (set_local $$304
(i32.const 576)
)
- (set_local $$306
+ (set_local $$304
(i32.add
- (get_local $$279)
- (get_local $$306)
+ (get_local $$310)
+ (get_local $$304)
)
)
- (set_local $$172
+ (set_local $$170
(i64.load align=8
(i32.add
- (get_local $$306)
- (get_local $$78)
+ (get_local $$304)
+ (i32.const 8)
)
)
)
- (set_local $$135
+ (set_local $$133
(i64.load offset=832 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$168
+ (set_local $$166
(i64.load offset=704 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$307
+ (set_local $$305
(i32.const 704)
)
- (set_local $$307
+ (set_local $$305
(i32.add
- (get_local $$279)
- (get_local $$307)
+ (get_local $$310)
+ (get_local $$305)
)
)
- (set_local $$173
+ (set_local $$171
(i64.load align=8
(i32.add
- (get_local $$307)
- (get_local $$78)
+ (get_local $$305)
+ (i32.const 8)
)
)
)
- (set_local $$308
+ (set_local $$306
(i32.const 528)
)
- (set_local $$308
+ (set_local $$306
(i32.add
- (get_local $$279)
- (get_local $$308)
+ (get_local $$310)
+ (get_local $$306)
)
)
- (set_local $$177
+ (set_local $$175
(i64.load align=8
(i32.add
- (get_local $$308)
- (get_local $$78)
+ (get_local $$306)
+ (i32.const 8)
)
)
)
- (set_local $$309
+ (set_local $$307
(i32.const 544)
)
- (set_local $$309
+ (set_local $$307
(i32.add
- (get_local $$279)
- (get_local $$309)
+ (get_local $$310)
+ (get_local $$307)
)
)
- (set_local $$178
+ (set_local $$176
(i64.load align=8
(i32.add
- (get_local $$309)
- (get_local $$78)
+ (get_local $$307)
+ (i32.const 8)
)
)
)
- (set_local $$310
+ (set_local $$308
(i32.const 560)
)
- (set_local $$310
+ (set_local $$308
(i32.add
- (get_local $$279)
(get_local $$310)
+ (get_local $$308)
)
)
- (set_local $$179
+ (set_local $$177
(i64.load align=8
(i32.add
- (get_local $$310)
- (get_local $$78)
+ (get_local $$308)
+ (i32.const 8)
)
)
)
- (set_local $$67
+ (set_local $$63
(i64.load offset=1008 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$68
+ (set_local $$64
(i64.load offset=960 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$69
+ (set_local $$65
(i64.load offset=976 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$66
+ (set_local $$62
(i64.lt_u
(get_local $$17)
- (get_local $$42)
+ (i64.const 128)
)
)
- (set_local $$70
+ (set_local $$66
(i64.eq
(get_local $$17)
- (get_local $$51)
+ (i64.const 0)
)
)
- (set_local $$73
+ (set_local $$69
(i64.lt_u
(get_local $$17)
- (get_local $$44)
+ (i64.const 256)
)
)
- (set_local $$77
+ (set_local $$73
(i64.lt_u
(get_local $$17)
- (get_local $$46)
+ (i64.const 512)
)
)
(set_local $$17
(i64.load offset=912 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$42
+ (set_local $$84
(i64.load offset=928 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$44
+ (set_local $$85
(i64.load offset=944 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$46
+ (set_local $$115
(i64.load offset=896 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$134
+ (set_local $$132
(i64.load offset=992 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$155
+ (set_local $$153
(i64.load offset=592 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$156
+ (set_local $$154
(i64.load offset=608 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$157
+ (set_local $$155
(i64.load offset=624 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$167
+ (set_local $$165
(i64.load offset=576 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$174
+ (set_local $$172
(i64.load offset=528 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$175
+ (set_local $$173
(i64.load offset=544 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$176
+ (set_local $$174
(i64.load offset=560 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$180
+ (set_local $$178
(i64.load offset=512 align=8
- (get_local $$279)
+ (get_local $$310)
)
)
- (set_local $$311
+ (set_local $$309
(i32.const 512)
)
- (set_local $$311
+ (set_local $$309
(i32.add
- (get_local $$279)
- (get_local $$311)
+ (get_local $$310)
+ (get_local $$309)
)
)
(i64.store align=8
(i32.add
(get_local $$0)
- (get_local $$78)
+ (i32.const 8)
)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.select
- (get_local $$66)
+ (get_local $$62)
(i64.load align=8
(i32.add
- (get_local $$311)
- (get_local $$78)
+ (get_local $$309)
+ (i32.const 8)
)
)
- (get_local $$51)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.store align=8
(get_local $$0)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.select
- (get_local $$66)
- (get_local $$180)
- (get_local $$51)
+ (get_local $$62)
+ (get_local $$178)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.store align=8
@@ -3042,24 +3018,24 @@
(i32.const 24)
)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$4)
(i64.select
- (get_local $$66)
+ (get_local $$62)
(i64.or
- (get_local $$177)
- (get_local $$178)
+ (get_local $$175)
+ (get_local $$176)
)
- (get_local $$179)
+ (get_local $$177)
)
)
- (get_local $$51)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.store align=8
@@ -3068,24 +3044,24 @@
(i32.const 16)
)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$3)
(i64.select
- (get_local $$66)
+ (get_local $$62)
(i64.or
- (get_local $$174)
- (get_local $$175)
+ (get_local $$172)
+ (get_local $$173)
)
- (get_local $$176)
+ (get_local $$174)
)
)
- (get_local $$51)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.store align=8
@@ -3094,46 +3070,46 @@
(i32.const 56)
)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$8)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.or
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$8)
(i64.select
- (get_local $$66)
+ (get_local $$62)
(i64.or
- (get_local $$40)
- (get_local $$161)
+ (get_local $$39)
+ (get_local $$159)
)
- (get_local $$162)
+ (get_local $$160)
)
)
(i64.select
- (get_local $$71)
- (get_local $$163)
- (get_local $$51)
+ (get_local $$67)
+ (get_local $$161)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$65)
+ (get_local $$61)
(get_local $$4)
(i64.select
- (get_local $$61)
+ (get_local $$57)
(i64.or
- (get_local $$159)
+ (get_local $$157)
(get_local $$35)
)
- (get_local $$160)
+ (get_local $$158)
)
)
)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.store align=8
@@ -3142,46 +3118,46 @@
(i32.const 48)
)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$7)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.or
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$7)
(i64.select
- (get_local $$66)
+ (get_local $$62)
(i64.or
- (get_local $$155)
- (get_local $$156)
+ (get_local $$153)
+ (get_local $$154)
)
- (get_local $$157)
+ (get_local $$155)
)
)
(i64.select
- (get_local $$71)
- (get_local $$158)
- (get_local $$51)
+ (get_local $$67)
+ (get_local $$156)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$65)
+ (get_local $$61)
(get_local $$3)
(i64.select
- (get_local $$61)
+ (get_local $$57)
(i64.or
- (get_local $$153)
- (get_local $$152)
+ (get_local $$151)
+ (get_local $$150)
)
- (get_local $$154)
+ (get_local $$152)
)
)
)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.store align=8
@@ -3190,39 +3166,39 @@
(i32.const 40)
)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$6)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.or
(i64.select
- (get_local $$66)
- (get_local $$172)
- (get_local $$51)
+ (get_local $$62)
+ (get_local $$170)
+ (i64.const 0)
)
(i64.select
- (get_local $$113)
+ (get_local $$110)
(get_local $$2)
(i64.select
- (get_local $$71)
+ (get_local $$67)
(i64.or
- (get_local $$169)
- (get_local $$170)
+ (get_local $$167)
+ (get_local $$168)
)
- (get_local $$171)
+ (get_local $$169)
)
)
)
(i64.select
- (get_local $$61)
- (get_local $$173)
- (get_local $$51)
+ (get_local $$57)
+ (get_local $$171)
+ (i64.const 0)
)
)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.store align=8
@@ -3231,39 +3207,39 @@
(i32.const 32)
)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$5)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.or
(i64.select
- (get_local $$66)
- (get_local $$167)
- (get_local $$51)
+ (get_local $$62)
+ (get_local $$165)
+ (i64.const 0)
)
(i64.select
- (get_local $$113)
+ (get_local $$110)
(get_local $$1)
(i64.select
- (get_local $$71)
+ (get_local $$67)
(i64.or
- (get_local $$164)
- (get_local $$165)
+ (get_local $$162)
+ (get_local $$163)
)
- (get_local $$166)
+ (get_local $$164)
)
)
)
(i64.select
- (get_local $$61)
- (get_local $$168)
- (get_local $$51)
+ (get_local $$57)
+ (get_local $$166)
+ (i64.const 0)
)
)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.store align=8
@@ -3272,93 +3248,93 @@
(i32.const 120)
)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$16)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.or
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$16)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.or
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$16)
(i64.select
- (get_local $$66)
+ (get_local $$62)
(i64.or
- (get_local $$84)
- (get_local $$85)
+ (get_local $$79)
+ (get_local $$80)
)
- (get_local $$86)
+ (get_local $$81)
)
)
(i64.select
- (get_local $$71)
- (get_local $$87)
- (get_local $$51)
+ (get_local $$67)
+ (get_local $$82)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$65)
+ (get_local $$61)
(get_local $$12)
(i64.select
- (get_local $$61)
+ (get_local $$57)
(i64.or
- (get_local $$82)
- (get_local $$81)
+ (get_local $$77)
+ (get_local $$76)
)
- (get_local $$83)
+ (get_local $$78)
)
)
)
)
(i64.select
- (get_local $$76)
+ (get_local $$72)
(i64.select
- (get_local $$74)
- (get_local $$88)
- (get_local $$51)
+ (get_local $$70)
+ (get_local $$83)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$57)
+ (get_local $$53)
(get_local $$8)
(i64.select
- (get_local $$60)
+ (get_local $$56)
(i64.or
(i64.select
- (get_local $$57)
+ (get_local $$53)
(get_local $$8)
(i64.select
- (get_local $$53)
+ (get_local $$49)
(i64.or
- (get_local $$41)
+ (get_local $$40)
(get_local $$33)
)
- (get_local $$79)
+ (get_local $$74)
)
)
(i64.select
- (get_local $$58)
- (get_local $$80)
- (get_local $$51)
+ (get_local $$54)
+ (get_local $$75)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$52)
+ (get_local $$48)
(get_local $$4)
(i64.select
- (get_local $$50)
+ (get_local $$47)
(i64.or
- (get_local $$43)
- (get_local $$39)
+ (get_local $$38)
+ (get_local $$41)
)
- (get_local $$38)
+ (get_local $$36)
)
)
)
@@ -3372,93 +3348,93 @@
(i32.const 112)
)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$15)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.or
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$15)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.or
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$15)
(i64.select
- (get_local $$66)
+ (get_local $$62)
(i64.or
- (get_local $$67)
- (get_local $$68)
+ (get_local $$63)
+ (get_local $$64)
)
- (get_local $$69)
+ (get_local $$65)
)
)
(i64.select
- (get_local $$71)
- (get_local $$72)
- (get_local $$51)
+ (get_local $$67)
+ (get_local $$68)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$65)
+ (get_local $$61)
(get_local $$11)
(i64.select
- (get_local $$61)
+ (get_local $$57)
(i64.or
- (get_local $$63)
- (get_local $$62)
+ (get_local $$59)
+ (get_local $$58)
)
- (get_local $$64)
+ (get_local $$60)
)
)
)
)
(i64.select
- (get_local $$76)
+ (get_local $$72)
(i64.select
- (get_local $$74)
- (get_local $$75)
- (get_local $$51)
+ (get_local $$70)
+ (get_local $$71)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$57)
+ (get_local $$53)
(get_local $$7)
(i64.select
- (get_local $$60)
+ (get_local $$56)
(i64.or
(i64.select
- (get_local $$57)
+ (get_local $$53)
(get_local $$7)
(i64.select
- (get_local $$53)
+ (get_local $$49)
(i64.or
- (get_local $$55)
- (get_local $$54)
+ (get_local $$51)
+ (get_local $$50)
)
- (get_local $$56)
+ (get_local $$52)
)
)
(i64.select
- (get_local $$58)
- (get_local $$59)
- (get_local $$51)
+ (get_local $$54)
+ (get_local $$55)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$52)
+ (get_local $$48)
(get_local $$3)
(i64.select
- (get_local $$50)
+ (get_local $$47)
(i64.or
- (get_local $$49)
(get_local $$34)
+ (get_local $$42)
)
- (get_local $$36)
+ (get_local $$46)
)
)
)
@@ -3472,87 +3448,87 @@
(i32.const 104)
)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$14)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.or
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$14)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.or
(i64.select
- (get_local $$66)
- (get_local $$146)
- (get_local $$51)
+ (get_local $$62)
+ (get_local $$144)
+ (i64.const 0)
)
(i64.select
- (get_local $$113)
+ (get_local $$110)
(get_local $$10)
(i64.select
- (get_local $$71)
+ (get_local $$67)
(i64.or
- (get_local $$47)
- (get_local $$45)
+ (get_local $$44)
+ (get_local $$43)
)
- (get_local $$145)
+ (get_local $$143)
)
)
)
(i64.select
- (get_local $$61)
- (get_local $$147)
- (get_local $$51)
+ (get_local $$57)
+ (get_local $$145)
+ (i64.const 0)
)
)
)
(i64.select
- (get_local $$76)
+ (get_local $$72)
(i64.select
- (get_local $$96)
+ (get_local $$93)
(get_local $$6)
(i64.select
- (get_local $$74)
+ (get_local $$70)
(i64.or
- (get_local $$142)
- (get_local $$143)
+ (get_local $$140)
+ (get_local $$141)
)
- (get_local $$144)
+ (get_local $$142)
)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$57)
+ (get_local $$53)
(get_local $$6)
(i64.select
- (get_local $$60)
+ (get_local $$56)
(i64.or
(i64.select
- (get_local $$53)
+ (get_local $$49)
(get_local $$37)
- (get_local $$51)
+ (i64.const 0)
)
(i64.select
- (get_local $$139)
+ (get_local $$137)
(get_local $$2)
(i64.select
- (get_local $$58)
+ (get_local $$54)
(i64.or
- (get_local $$148)
- (get_local $$149)
+ (get_local $$146)
+ (get_local $$147)
)
- (get_local $$150)
+ (get_local $$148)
)
)
)
(i64.select
- (get_local $$50)
- (get_local $$151)
- (get_local $$51)
+ (get_local $$47)
+ (get_local $$149)
+ (i64.const 0)
)
)
)
@@ -3565,87 +3541,87 @@
(i32.const 96)
)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$13)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.or
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$13)
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.or
(i64.select
- (get_local $$66)
- (get_local $$134)
- (get_local $$51)
+ (get_local $$62)
+ (get_local $$132)
+ (i64.const 0)
)
(i64.select
- (get_local $$113)
+ (get_local $$110)
(get_local $$9)
(i64.select
- (get_local $$71)
+ (get_local $$67)
(i64.or
- (get_local $$131)
- (get_local $$132)
+ (get_local $$129)
+ (get_local $$130)
)
- (get_local $$133)
+ (get_local $$131)
)
)
)
(i64.select
- (get_local $$61)
- (get_local $$135)
- (get_local $$51)
+ (get_local $$57)
+ (get_local $$133)
+ (i64.const 0)
)
)
)
(i64.select
- (get_local $$76)
+ (get_local $$72)
(i64.select
- (get_local $$96)
+ (get_local $$93)
(get_local $$5)
(i64.select
- (get_local $$74)
+ (get_local $$70)
(i64.or
- (get_local $$128)
- (get_local $$129)
+ (get_local $$126)
+ (get_local $$127)
)
- (get_local $$130)
+ (get_local $$128)
)
)
- (get_local $$51)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$57)
+ (get_local $$53)
(get_local $$5)
(i64.select
- (get_local $$60)
+ (get_local $$56)
(i64.or
(i64.select
- (get_local $$53)
- (get_local $$140)
- (get_local $$51)
+ (get_local $$49)
+ (get_local $$138)
+ (i64.const 0)
)
(i64.select
- (get_local $$139)
+ (get_local $$137)
(get_local $$1)
(i64.select
- (get_local $$58)
+ (get_local $$54)
(i64.or
- (get_local $$136)
- (get_local $$137)
+ (get_local $$134)
+ (get_local $$135)
)
- (get_local $$138)
+ (get_local $$136)
)
)
)
(i64.select
- (get_local $$50)
- (get_local $$141)
- (get_local $$51)
+ (get_local $$47)
+ (get_local $$139)
+ (i64.const 0)
)
)
)
@@ -3658,67 +3634,67 @@
(i32.const 72)
)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$10)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.or
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.select
- (get_local $$66)
- (get_local $$126)
- (get_local $$51)
+ (get_local $$62)
+ (get_local $$124)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
(i64.select
- (get_local $$96)
+ (get_local $$93)
(get_local $$2)
(i64.select
- (get_local $$76)
+ (get_local $$72)
(i64.or
(i64.select
- (get_local $$96)
+ (get_local $$93)
(get_local $$2)
(i64.select
- (get_local $$74)
+ (get_local $$70)
(i64.or
- (get_local $$122)
- (get_local $$123)
+ (get_local $$120)
+ (get_local $$121)
)
- (get_local $$124)
+ (get_local $$122)
)
)
(i64.select
- (get_local $$89)
- (get_local $$125)
- (get_local $$51)
+ (get_local $$86)
+ (get_local $$123)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$113)
+ (get_local $$110)
(get_local $$6)
(i64.select
- (get_local $$71)
+ (get_local $$67)
(i64.or
- (get_local $$119)
- (get_local $$120)
+ (get_local $$117)
+ (get_local $$118)
)
- (get_local $$121)
+ (get_local $$119)
)
)
)
)
)
(i64.select
- (get_local $$60)
+ (get_local $$56)
(i64.select
- (get_local $$53)
- (get_local $$127)
- (get_local $$51)
+ (get_local $$49)
+ (get_local $$125)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
)
)
@@ -3729,67 +3705,67 @@
(i32.const 64)
)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$9)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.or
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.select
- (get_local $$66)
- (get_local $$46)
- (get_local $$51)
+ (get_local $$62)
+ (get_local $$115)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
(i64.select
- (get_local $$96)
+ (get_local $$93)
(get_local $$1)
(i64.select
- (get_local $$76)
+ (get_local $$72)
(i64.or
(i64.select
- (get_local $$96)
+ (get_local $$93)
(get_local $$1)
(i64.select
- (get_local $$74)
+ (get_local $$70)
(i64.or
- (get_local $$114)
- (get_local $$115)
+ (get_local $$111)
+ (get_local $$112)
)
- (get_local $$116)
+ (get_local $$113)
)
)
(i64.select
- (get_local $$89)
- (get_local $$117)
- (get_local $$51)
+ (get_local $$86)
+ (get_local $$114)
+ (i64.const 0)
)
)
(i64.select
- (get_local $$113)
+ (get_local $$110)
(get_local $$5)
(i64.select
- (get_local $$71)
+ (get_local $$67)
(i64.or
- (get_local $$110)
- (get_local $$111)
+ (get_local $$107)
+ (get_local $$108)
)
- (get_local $$112)
+ (get_local $$109)
)
)
)
)
)
(i64.select
- (get_local $$60)
+ (get_local $$56)
(i64.select
- (get_local $$53)
- (get_local $$118)
- (get_local $$51)
+ (get_local $$49)
+ (get_local $$116)
+ (i64.const 0)
)
- (get_local $$51)
+ (i64.const 0)
)
)
)
@@ -3800,74 +3776,74 @@
(i32.const 88)
)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$12)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.or
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$12)
(i64.select
- (get_local $$66)
+ (get_local $$62)
(i64.or
- (get_local $$100)
- (get_local $$101)
+ (get_local $$97)
+ (get_local $$98)
)
- (get_local $$102)
+ (get_local $$99)
)
)
- (get_local $$51)
+ (i64.const 0)
)
(i64.select
- (get_local $$96)
+ (get_local $$93)
(get_local $$4)
(i64.select
- (get_local $$76)
+ (get_local $$72)
(i64.or
(i64.select
- (get_local $$74)
- (get_local $$48)
- (get_local $$51)
+ (get_local $$70)
+ (get_local $$45)
+ (i64.const 0)
)
(i64.select
- (get_local $$93)
+ (get_local $$90)
(get_local $$8)
(i64.select
- (get_local $$89)
+ (get_local $$86)
(i64.or
- (get_local $$103)
- (get_local $$104)
+ (get_local $$100)
+ (get_local $$101)
)
- (get_local $$105)
+ (get_local $$102)
)
)
)
(i64.select
- (get_local $$71)
- (get_local $$106)
- (get_local $$51)
+ (get_local $$67)
+ (get_local $$103)
+ (i64.const 0)
)
)
)
)
(i64.select
- (get_local $$60)
+ (get_local $$56)
(i64.select
- (get_local $$57)
+ (get_local $$53)
(get_local $$4)
(i64.select
- (get_local $$53)
+ (get_local $$49)
(i64.or
- (get_local $$108)
- (get_local $$107)
+ (get_local $$105)
+ (get_local $$104)
)
- (get_local $$109)
+ (get_local $$106)
)
)
- (get_local $$51)
+ (i64.const 0)
)
)
)
@@ -3878,94 +3854,94 @@
(i32.const 80)
)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$11)
(i64.select
- (get_local $$77)
+ (get_local $$73)
(i64.or
(i64.select
- (get_local $$73)
+ (get_local $$69)
(i64.select
- (get_local $$70)
+ (get_local $$66)
(get_local $$11)
(i64.select
- (get_local $$66)
+ (get_local $$62)
(i64.or
(get_local $$17)
- (get_local $$42)
+ (get_local $$84)
)
- (get_local $$44)
+ (get_local $$85)
)
)
- (get_local $$51)
+ (i64.const 0)
)
(i64.select
- (get_local $$96)
+ (get_local $$93)
(get_local $$3)
(i64.select
- (get_local $$76)
+ (get_local $$72)
(i64.or
(i64.select
- (get_local $$74)
- (get_local $$94)
- (get_local $$51)
+ (get_local $$70)
+ (get_local $$91)
+ (i64.const 0)
)
(i64.select
- (get_local $$93)
+ (get_local $$90)
(get_local $$7)
(i64.select
- (get_local $$89)
+ (get_local $$86)
(i64.or
- (get_local $$90)
- (get_local $$91)
+ (get_local $$87)
+ (get_local $$88)
)
- (get_local $$92)
+ (get_local $$89)
)
)
)
(i64.select
- (get_local $$71)
- (get_local $$95)
- (get_local $$51)
+ (get_local $$67)
+ (get_local $$92)
+ (i64.const 0)
)
)
)
)
(i64.select
- (get_local $$60)
+ (get_local $$56)
(i64.select
- (get_local $$57)
+ (get_local $$53)
(get_local $$3)
(i64.select
- (get_local $$53)
+ (get_local $$49)
(i64.or
- (get_local $$98)
- (get_local $$97)
+ (get_local $$95)
+ (get_local $$94)
)
- (get_local $$99)
+ (get_local $$96)
)
)
- (get_local $$51)
+ (i64.const 0)
)
)
)
)
- (set_local $$183
+ (set_local $$181
(i32.const 1024)
)
- (set_local $$279
+ (set_local $$310
(i32.add
- (get_local $$279)
- (get_local $$183)
+ (get_local $$310)
+ (get_local $$181)
)
)
- (set_local $$183
+ (set_local $$181
(i32.const 1)
)
- (set_local $$279
+ (set_local $$310
(i32.store align=4
- (get_local $$183)
- (get_local $$279)
+ (get_local $$181)
+ (get_local $$310)
)
)
(br $fake_return_waka123)
diff --git a/test/llvm_autogenerated/llvm-to-s.py b/test/llvm_autogenerated/llvm-to-s.py
index aea7d722c..05a03da2b 100755
--- a/test/llvm_autogenerated/llvm-to-s.py
+++ b/test/llvm_autogenerated/llvm-to-s.py
@@ -57,6 +57,7 @@ def main(args):
'returned', # external global symbol
'vtable', # external global symbol
'offset-folding', # external global symbol
+ 'address-offsets', # external global symbol
]
if name_noext in BLACKLIST:
continue
diff --git a/test/llvm_autogenerated/load-ext.s b/test/llvm_autogenerated/load-ext.s
index a7c4e6810..1bda3b4f7 100644
--- a/test/llvm_autogenerated/load-ext.s
+++ b/test/llvm_autogenerated/load-ext.s
@@ -7,6 +7,7 @@ sext_i8_i32:
.result i32
i32.load8_s $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end0:
.size sext_i8_i32, .Lfunc_end0-sext_i8_i32
@@ -17,6 +18,7 @@ zext_i8_i32:
.result i32
i32.load8_u $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end1:
.size zext_i8_i32, .Lfunc_end1-zext_i8_i32
@@ -27,6 +29,7 @@ sext_i16_i32:
.result i32
i32.load16_s $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end2:
.size sext_i16_i32, .Lfunc_end2-sext_i16_i32
@@ -37,6 +40,7 @@ zext_i16_i32:
.result i32
i32.load16_u $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end3:
.size zext_i16_i32, .Lfunc_end3-zext_i16_i32
@@ -47,6 +51,7 @@ sext_i8_i64:
.result i64
i64.load8_s $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end4:
.size sext_i8_i64, .Lfunc_end4-sext_i8_i64
@@ -57,6 +62,7 @@ zext_i8_i64:
.result i64
i64.load8_u $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end5:
.size zext_i8_i64, .Lfunc_end5-zext_i8_i64
@@ -67,6 +73,7 @@ sext_i16_i64:
.result i64
i64.load16_s $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end6:
.size sext_i16_i64, .Lfunc_end6-sext_i16_i64
@@ -77,6 +84,7 @@ zext_i16_i64:
.result i64
i64.load16_u $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end7:
.size zext_i16_i64, .Lfunc_end7-zext_i16_i64
@@ -87,6 +95,7 @@ sext_i32_i64:
.result i64
i64.load32_s $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end8:
.size sext_i32_i64, .Lfunc_end8-sext_i32_i64
@@ -97,8 +106,8 @@ zext_i32_i64:
.result i64
i64.load32_u $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end9:
.size zext_i32_i64, .Lfunc_end9-zext_i32_i64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/load-store-i1.s b/test/llvm_autogenerated/load-store-i1.s
index 0deb7b440..f5557b6b9 100644
--- a/test/llvm_autogenerated/load-store-i1.s
+++ b/test/llvm_autogenerated/load-store-i1.s
@@ -7,6 +7,7 @@ load_u_i1_i32:
.result i32
i32.load8_u $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end0:
.size load_u_i1_i32, .Lfunc_end0-load_u_i1_i32
@@ -15,12 +16,13 @@ load_u_i1_i32:
load_s_i1_i32:
.param i32
.result i32
- .local i32
- i32.const $1=, 31
i32.load8_u $push0=, 0($0)
- i32.shl $push1=, $pop0, $1
- i32.shr_s $push2=, $pop1, $1
- return $pop2
+ i32.const $push1=, 31
+ i32.shl $push2=, $pop0, $pop1
+ i32.const $push4=, 31
+ i32.shr_s $push3=, $pop2, $pop4
+ return $pop3
+ .endfunc
.Lfunc_end1:
.size load_s_i1_i32, .Lfunc_end1-load_s_i1_i32
@@ -31,6 +33,7 @@ load_u_i1_i64:
.result i64
i64.load8_u $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end2:
.size load_u_i1_i64, .Lfunc_end2-load_u_i1_i64
@@ -39,12 +42,13 @@ load_u_i1_i64:
load_s_i1_i64:
.param i32
.result i64
- .local i64
- i64.const $1=, 63
i64.load8_u $push0=, 0($0)
- i64.shl $push1=, $pop0, $1
- i64.shr_s $push2=, $pop1, $1
- return $pop2
+ i64.const $push1=, 63
+ i64.shl $push2=, $pop0, $pop1
+ i64.const $push4=, 63
+ i64.shr_s $push3=, $pop2, $pop4
+ return $pop3
+ .endfunc
.Lfunc_end3:
.size load_s_i1_i64, .Lfunc_end3-load_s_i1_i64
@@ -56,6 +60,7 @@ store_i32_i1:
i32.and $push1=, $1, $pop0
i32.store8 $discard=, 0($0), $pop1
return
+ .endfunc
.Lfunc_end4:
.size store_i32_i1, .Lfunc_end4-store_i32_i1
@@ -67,8 +72,8 @@ store_i64_i1:
i64.and $push1=, $1, $pop0
i64.store8 $discard=, 0($0), $pop1
return
+ .endfunc
.Lfunc_end5:
.size store_i64_i1, .Lfunc_end5-store_i64_i1
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/load-store-i1.wast b/test/llvm_autogenerated/load-store-i1.wast
index 863384950..63156af87 100644
--- a/test/llvm_autogenerated/load-store-i1.wast
+++ b/test/llvm_autogenerated/load-store-i1.wast
@@ -18,21 +18,17 @@
)
)
(func $load_s_i1_i32 (param $$0 i32) (result i32)
- (local $$1 i32)
(block $fake_return_waka123
(block
- (set_local $$1
- (i32.const 31)
- )
(br $fake_return_waka123
(i32.shr_s
(i32.shl
(i32.load8_u align=1
(get_local $$0)
)
- (get_local $$1)
+ (i32.const 31)
)
- (get_local $$1)
+ (i32.const 31)
)
)
)
@@ -50,21 +46,17 @@
)
)
(func $load_s_i1_i64 (param $$0 i32) (result i64)
- (local $$1 i64)
(block $fake_return_waka123
(block
- (set_local $$1
- (i64.const 63)
- )
(br $fake_return_waka123
(i64.shr_s
(i64.shl
(i64.load8_u align=1
(get_local $$0)
)
- (get_local $$1)
+ (i64.const 63)
)
- (get_local $$1)
+ (i64.const 63)
)
)
)
diff --git a/test/llvm_autogenerated/load.s b/test/llvm_autogenerated/load.s
index 98a078c05..f00f83985 100644
--- a/test/llvm_autogenerated/load.s
+++ b/test/llvm_autogenerated/load.s
@@ -7,6 +7,7 @@ ldi32:
.result i32
i32.load $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end0:
.size ldi32, .Lfunc_end0-ldi32
@@ -17,6 +18,7 @@ ldi64:
.result i64
i64.load $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end1:
.size ldi64, .Lfunc_end1-ldi64
@@ -27,6 +29,7 @@ ldf32:
.result f32
f32.load $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end2:
.size ldf32, .Lfunc_end2-ldf32
@@ -37,8 +40,8 @@ ldf64:
.result f64
f64.load $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end3:
.size ldf64, .Lfunc_end3-ldf64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/memory-addr32.s b/test/llvm_autogenerated/memory-addr32.s
index 7cc7655bc..f693e4769 100644
--- a/test/llvm_autogenerated/memory-addr32.s
+++ b/test/llvm_autogenerated/memory-addr32.s
@@ -6,6 +6,7 @@ memory_size:
.result i32
memory_size $push0=
return $pop0
+ .endfunc
.Lfunc_end0:
.size memory_size, .Lfunc_end0-memory_size
@@ -15,8 +16,8 @@ grow_memory:
.param i32
grow_memory $0
return
+ .endfunc
.Lfunc_end1:
.size grow_memory, .Lfunc_end1-grow_memory
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/memory-addr64.s b/test/llvm_autogenerated/memory-addr64.s
index 8f42acc5e..7a8ca3e8e 100644
--- a/test/llvm_autogenerated/memory-addr64.s
+++ b/test/llvm_autogenerated/memory-addr64.s
@@ -6,6 +6,7 @@ memory_size:
.result i64
memory_size $push0=
return $pop0
+ .endfunc
.Lfunc_end0:
.size memory_size, .Lfunc_end0-memory_size
@@ -15,8 +16,8 @@ grow_memory:
.param i64
grow_memory $0
return
+ .endfunc
.Lfunc_end1:
.size grow_memory, .Lfunc_end1-grow_memory
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/non-executable-stack.s b/test/llvm_autogenerated/non-executable-stack.s
new file mode 100644
index 000000000..a331dc616
--- /dev/null
+++ b/test/llvm_autogenerated/non-executable-stack.s
@@ -0,0 +1,3 @@
+ .text
+ .file "/s/llvm/llvm/test/CodeGen/WebAssembly/non-executable-stack.ll"
+
diff --git a/test/llvm_autogenerated/non-executable-stack.wast b/test/llvm_autogenerated/non-executable-stack.wast
new file mode 100644
index 000000000..62e304e84
--- /dev/null
+++ b/test/llvm_autogenerated/non-executable-stack.wast
@@ -0,0 +1,4 @@
+(module
+ (memory 0 4294967295)
+)
+;; METADATA: { "asmConsts": {},"staticBump": 4 }
diff --git a/test/llvm_autogenerated/offset.s b/test/llvm_autogenerated/offset.s
index e1252c121..46f3173de 100644
--- a/test/llvm_autogenerated/offset.s
+++ b/test/llvm_autogenerated/offset.s
@@ -7,6 +7,7 @@ load_i32_with_folded_offset:
.result i32
i32.load $push0=, 24($0)
return $pop0
+ .endfunc
.Lfunc_end0:
.size load_i32_with_folded_offset, .Lfunc_end0-load_i32_with_folded_offset
@@ -17,6 +18,7 @@ load_i32_with_folded_gep_offset:
.result i32
i32.load $push0=, 24($0)
return $pop0
+ .endfunc
.Lfunc_end1:
.size load_i32_with_folded_gep_offset, .Lfunc_end1-load_i32_with_folded_gep_offset
@@ -29,6 +31,7 @@ load_i32_with_unfolded_gep_negative_offset:
i32.add $push1=, $0, $pop0
i32.load $push2=, 0($pop1)
return $pop2
+ .endfunc
.Lfunc_end2:
.size load_i32_with_unfolded_gep_negative_offset, .Lfunc_end2-load_i32_with_unfolded_gep_negative_offset
@@ -41,6 +44,7 @@ load_i32_with_unfolded_offset:
i32.add $push1=, $0, $pop0
i32.load $push2=, 0($pop1)
return $pop2
+ .endfunc
.Lfunc_end3:
.size load_i32_with_unfolded_offset, .Lfunc_end3-load_i32_with_unfolded_offset
@@ -53,6 +57,7 @@ load_i32_with_unfolded_gep_offset:
i32.add $push1=, $0, $pop0
i32.load $push2=, 0($pop1)
return $pop2
+ .endfunc
.Lfunc_end4:
.size load_i32_with_unfolded_gep_offset, .Lfunc_end4-load_i32_with_unfolded_gep_offset
@@ -63,6 +68,7 @@ load_i64_with_folded_offset:
.result i64
i64.load $push0=, 24($0)
return $pop0
+ .endfunc
.Lfunc_end5:
.size load_i64_with_folded_offset, .Lfunc_end5-load_i64_with_folded_offset
@@ -73,6 +79,7 @@ load_i64_with_folded_gep_offset:
.result i64
i64.load $push0=, 24($0)
return $pop0
+ .endfunc
.Lfunc_end6:
.size load_i64_with_folded_gep_offset, .Lfunc_end6-load_i64_with_folded_gep_offset
@@ -85,6 +92,7 @@ load_i64_with_unfolded_gep_negative_offset:
i32.add $push1=, $0, $pop0
i64.load $push2=, 0($pop1)
return $pop2
+ .endfunc
.Lfunc_end7:
.size load_i64_with_unfolded_gep_negative_offset, .Lfunc_end7-load_i64_with_unfolded_gep_negative_offset
@@ -97,6 +105,7 @@ load_i64_with_unfolded_offset:
i32.add $push1=, $0, $pop0
i64.load $push2=, 0($pop1)
return $pop2
+ .endfunc
.Lfunc_end8:
.size load_i64_with_unfolded_offset, .Lfunc_end8-load_i64_with_unfolded_offset
@@ -109,6 +118,7 @@ load_i64_with_unfolded_gep_offset:
i32.add $push1=, $0, $pop0
i64.load $push2=, 0($pop1)
return $pop2
+ .endfunc
.Lfunc_end9:
.size load_i64_with_unfolded_gep_offset, .Lfunc_end9-load_i64_with_unfolded_gep_offset
@@ -119,6 +129,7 @@ store_i32_with_folded_offset:
i32.const $push0=, 0
i32.store $discard=, 24($0), $pop0
return
+ .endfunc
.Lfunc_end10:
.size store_i32_with_folded_offset, .Lfunc_end10-store_i32_with_folded_offset
@@ -129,6 +140,7 @@ store_i32_with_folded_gep_offset:
i32.const $push0=, 0
i32.store $discard=, 24($0), $pop0
return
+ .endfunc
.Lfunc_end11:
.size store_i32_with_folded_gep_offset, .Lfunc_end11-store_i32_with_folded_gep_offset
@@ -141,6 +153,7 @@ store_i32_with_unfolded_gep_negative_offset:
i32.const $push2=, 0
i32.store $discard=, 0($pop1), $pop2
return
+ .endfunc
.Lfunc_end12:
.size store_i32_with_unfolded_gep_negative_offset, .Lfunc_end12-store_i32_with_unfolded_gep_negative_offset
@@ -153,6 +166,7 @@ store_i32_with_unfolded_offset:
i32.const $push2=, 0
i32.store $discard=, 0($pop1), $pop2
return
+ .endfunc
.Lfunc_end13:
.size store_i32_with_unfolded_offset, .Lfunc_end13-store_i32_with_unfolded_offset
@@ -165,6 +179,7 @@ store_i32_with_unfolded_gep_offset:
i32.const $push2=, 0
i32.store $discard=, 0($pop1), $pop2
return
+ .endfunc
.Lfunc_end14:
.size store_i32_with_unfolded_gep_offset, .Lfunc_end14-store_i32_with_unfolded_gep_offset
@@ -175,6 +190,7 @@ store_i64_with_folded_offset:
i64.const $push0=, 0
i64.store $discard=, 24($0), $pop0
return
+ .endfunc
.Lfunc_end15:
.size store_i64_with_folded_offset, .Lfunc_end15-store_i64_with_folded_offset
@@ -185,6 +201,7 @@ store_i64_with_folded_gep_offset:
i64.const $push0=, 0
i64.store $discard=, 24($0), $pop0
return
+ .endfunc
.Lfunc_end16:
.size store_i64_with_folded_gep_offset, .Lfunc_end16-store_i64_with_folded_gep_offset
@@ -197,6 +214,7 @@ store_i64_with_unfolded_gep_negative_offset:
i64.const $push2=, 0
i64.store $discard=, 0($pop1), $pop2
return
+ .endfunc
.Lfunc_end17:
.size store_i64_with_unfolded_gep_negative_offset, .Lfunc_end17-store_i64_with_unfolded_gep_negative_offset
@@ -209,6 +227,7 @@ store_i64_with_unfolded_offset:
i64.const $push2=, 0
i64.store $discard=, 0($pop1), $pop2
return
+ .endfunc
.Lfunc_end18:
.size store_i64_with_unfolded_offset, .Lfunc_end18-store_i64_with_unfolded_offset
@@ -221,6 +240,7 @@ store_i64_with_unfolded_gep_offset:
i64.const $push2=, 0
i64.store $discard=, 0($pop1), $pop2
return
+ .endfunc
.Lfunc_end19:
.size store_i64_with_unfolded_gep_offset, .Lfunc_end19-store_i64_with_unfolded_gep_offset
@@ -231,6 +251,7 @@ load_i32_from_numeric_address:
i32.const $push0=, 0
i32.load $push1=, 42($pop0)
return $pop1
+ .endfunc
.Lfunc_end20:
.size load_i32_from_numeric_address, .Lfunc_end20-load_i32_from_numeric_address
@@ -241,26 +262,29 @@ load_i32_from_global_address:
i32.const $push0=, 0
i32.load $push1=, gv($pop0)
return $pop1
+ .endfunc
.Lfunc_end21:
.size load_i32_from_global_address, .Lfunc_end21-load_i32_from_global_address
.globl store_i32_to_numeric_address
.type store_i32_to_numeric_address,@function
store_i32_to_numeric_address:
- .local i32
- i32.const $0=, 0
- i32.store $discard=, 42($0), $0
+ i32.const $push0=, 0
+ i32.const $push1=, 0
+ i32.store $discard=, 42($pop0), $pop1
return
+ .endfunc
.Lfunc_end22:
.size store_i32_to_numeric_address, .Lfunc_end22-store_i32_to_numeric_address
.globl store_i32_to_global_address
.type store_i32_to_global_address,@function
store_i32_to_global_address:
- .local i32
- i32.const $0=, 0
- i32.store $discard=, gv($0), $0
+ i32.const $push0=, 0
+ i32.const $push1=, 0
+ i32.store $discard=, gv($pop0), $pop1
return
+ .endfunc
.Lfunc_end23:
.size store_i32_to_global_address, .Lfunc_end23-store_i32_to_global_address
@@ -271,6 +295,7 @@ load_i8_s_with_folded_offset:
.result i32
i32.load8_s $push0=, 24($0)
return $pop0
+ .endfunc
.Lfunc_end24:
.size load_i8_s_with_folded_offset, .Lfunc_end24-load_i8_s_with_folded_offset
@@ -281,6 +306,7 @@ load_i8_s_with_folded_gep_offset:
.result i32
i32.load8_s $push0=, 24($0)
return $pop0
+ .endfunc
.Lfunc_end25:
.size load_i8_s_with_folded_gep_offset, .Lfunc_end25-load_i8_s_with_folded_gep_offset
@@ -291,6 +317,7 @@ load_i8_u_with_folded_offset:
.result i32
i32.load8_u $push0=, 24($0)
return $pop0
+ .endfunc
.Lfunc_end26:
.size load_i8_u_with_folded_offset, .Lfunc_end26-load_i8_u_with_folded_offset
@@ -301,6 +328,7 @@ load_i8_u_with_folded_gep_offset:
.result i32
i32.load8_u $push0=, 24($0)
return $pop0
+ .endfunc
.Lfunc_end27:
.size load_i8_u_with_folded_gep_offset, .Lfunc_end27-load_i8_u_with_folded_gep_offset
@@ -311,6 +339,7 @@ store_i8_with_folded_offset:
i32.const $push0=, 0
i32.store8 $discard=, 24($0), $pop0
return
+ .endfunc
.Lfunc_end28:
.size store_i8_with_folded_offset, .Lfunc_end28-store_i8_with_folded_offset
@@ -321,6 +350,7 @@ store_i8_with_folded_gep_offset:
i32.const $push0=, 0
i32.store8 $discard=, 24($0), $pop0
return
+ .endfunc
.Lfunc_end29:
.size store_i8_with_folded_gep_offset, .Lfunc_end29-store_i8_with_folded_gep_offset
@@ -338,6 +368,7 @@ aggregate_load_store:
i32.store $discard=, 4($1), $3
i32.store $discard=, 0($1), $2
return
+ .endfunc
.Lfunc_end30:
.size aggregate_load_store, .Lfunc_end30-aggregate_load_store
@@ -345,15 +376,29 @@ aggregate_load_store:
.type aggregate_return,@function
aggregate_return:
.param i32
- i32.const $push0=, 0
- i32.store $push1=, 12($0), $pop0
- i32.store $push2=, 8($0), $pop1
- i32.store $push3=, 4($0), $pop2
- i32.store $discard=, 0($0), $pop3
+ i64.const $push0=, 0
+ i64.store $push1=, 8($0):p2align=2, $pop0
+ i64.store $discard=, 0($0):p2align=2, $pop1
return
+ .endfunc
.Lfunc_end31:
.size aggregate_return, .Lfunc_end31-aggregate_return
+ .globl aggregate_return_without_merge
+ .type aggregate_return_without_merge,@function
+aggregate_return_without_merge:
+ .param i32
+ i32.const $push0=, 0
+ i32.store8 $push1=, 14($0), $pop0
+ i32.store16 $push2=, 12($0), $pop1
+ i32.store $discard=, 8($0), $pop2
+ i64.const $push3=, 0
+ i64.store $discard=, 0($0), $pop3
+ return
+ .endfunc
+.Lfunc_end32:
+ .size aggregate_return_without_merge, .Lfunc_end32-aggregate_return_without_merge
+
.type gv,@object
.bss
.globl gv
@@ -363,4 +408,3 @@ gv:
.size gv, 4
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/phi.s b/test/llvm_autogenerated/phi.s
index b29451aaf..4a3a6d522 100644
--- a/test/llvm_autogenerated/phi.s
+++ b/test/llvm_autogenerated/phi.s
@@ -14,6 +14,7 @@ test0:
.LBB0_2:
end_block
return $0
+ .endfunc
.Lfunc_end0:
.size test0, .Lfunc_end0-test0
@@ -22,23 +23,23 @@ test0:
test1:
.param i32
.result i32
- .local i32, i32, i32, i32, i32
- i32.const $2=, 1
- i32.const $3=, 0
- copy_local $4=, $2
- copy_local $5=, $3
+ .local i32, i32, i32, i32
+ i32.const $2=, 0
+ i32.const $3=, 1
+ i32.const $4=, 0
.LBB1_1:
loop
- copy_local $1=, $4
- copy_local $4=, $3
- i32.add $5=, $5, $2
- copy_local $3=, $1
- i32.lt_s $push0=, $5, $0
+ copy_local $1=, $3
+ copy_local $3=, $2
+ i32.const $push1=, 1
+ i32.add $4=, $4, $pop1
+ copy_local $2=, $1
+ i32.lt_s $push0=, $4, $0
br_if $pop0, 0
end_loop
- return $4
+ return $3
+ .endfunc
.Lfunc_end1:
.size test1, .Lfunc_end1-test1
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/phi.wast b/test/llvm_autogenerated/phi.wast
index 65bd501d8..c1d4d5c2c 100644
--- a/test/llvm_autogenerated/phi.wast
+++ b/test/llvm_autogenerated/phi.wast
@@ -31,47 +31,43 @@
(local $$2 i32)
(local $$3 i32)
(local $$4 i32)
- (local $$5 i32)
(block $fake_return_waka123
(block
(set_local $$2
- (i32.const 1)
+ (i32.const 0)
)
(set_local $$3
- (i32.const 0)
+ (i32.const 1)
)
(set_local $$4
- (get_local $$2)
- )
- (set_local $$5
- (get_local $$3)
+ (i32.const 0)
)
(loop $label$1 $label$0
(set_local $$1
- (get_local $$4)
- )
- (set_local $$4
(get_local $$3)
)
- (set_local $$5
+ (set_local $$3
+ (get_local $$2)
+ )
+ (set_local $$4
(i32.add
- (get_local $$5)
- (get_local $$2)
+ (get_local $$4)
+ (i32.const 1)
)
)
- (set_local $$3
+ (set_local $$2
(get_local $$1)
)
(br_if
(i32.lt_s
- (get_local $$5)
+ (get_local $$4)
(get_local $$0)
)
$label$0
)
)
(br $fake_return_waka123
- (get_local $$4)
+ (get_local $$3)
)
)
)
diff --git a/test/llvm_autogenerated/reg-stackify.s b/test/llvm_autogenerated/reg-stackify.s
index 1fffec602..38ebc93f4 100644
--- a/test/llvm_autogenerated/reg-stackify.s
+++ b/test/llvm_autogenerated/reg-stackify.s
@@ -9,6 +9,7 @@ no0:
i32.const $push0=, 0
i32.store $discard=, 0($0), $pop0
return $1
+ .endfunc
.Lfunc_end0:
.size no0, .Lfunc_end0-no0
@@ -21,6 +22,7 @@ no1:
i32.const $push0=, 0
i32.store $discard=, 0($0), $pop0
return $1
+ .endfunc
.Lfunc_end1:
.size no1, .Lfunc_end1-no1
@@ -33,6 +35,7 @@ yes0:
i32.store $discard=, 0($0), $pop1
i32.load $push0=, 0($1)
return $pop0
+ .endfunc
.Lfunc_end2:
.size yes0, .Lfunc_end2-yes0
@@ -43,6 +46,7 @@ yes1:
.result i32
i32.load $push0=, 0($0)
return $pop0
+ .endfunc
.Lfunc_end3:
.size yes1, .Lfunc_end3-yes1
@@ -51,24 +55,28 @@ yes1:
stack_uses:
.param i32, i32, i32, i32
.result i32
- .local i32, i32
- i32.const $5=, 2
- i32.const $4=, 1
block
- i32.lt_s $push0=, $0, $4
- i32.lt_s $push1=, $1, $5
- i32.xor $push4=, $pop0, $pop1
- i32.lt_s $push2=, $2, $4
- i32.lt_s $push3=, $3, $5
- i32.xor $push5=, $pop2, $pop3
- i32.xor $push6=, $pop4, $pop5
- i32.ne $push7=, $pop6, $4
- br_if $pop7, 0
- i32.const $push8=, 0
- return $pop8
+ i32.const $push13=, 1
+ i32.lt_s $push0=, $0, $pop13
+ i32.const $push1=, 2
+ i32.lt_s $push2=, $1, $pop1
+ i32.xor $push5=, $pop0, $pop2
+ i32.const $push12=, 1
+ i32.lt_s $push3=, $2, $pop12
+ i32.const $push11=, 2
+ i32.lt_s $push4=, $3, $pop11
+ i32.xor $push6=, $pop3, $pop4
+ i32.xor $push7=, $pop5, $pop6
+ i32.const $push10=, 1
+ i32.ne $push8=, $pop7, $pop10
+ br_if $pop8, 0
+ i32.const $push9=, 0
+ return $pop9
.LBB4_2:
end_block
- return $4
+ i32.const $push14=, 1
+ return $pop14
+ .endfunc
.Lfunc_end4:
.size stack_uses, .Lfunc_end4-stack_uses
@@ -87,8 +95,24 @@ multiple_uses:
.LBB5_3:
end_block
return
+ .endfunc
.Lfunc_end5:
.size multiple_uses, .Lfunc_end5-multiple_uses
+ .hidden stackify_store_across_side_effects
+ .globl stackify_store_across_side_effects
+ .type stackify_store_across_side_effects,@function
+stackify_store_across_side_effects:
+ .param i32
+ .local i64
+ i64.const $push0=, 4611686018427387904
+ i64.store $1=, 0($0), $pop0
+ call evoke_side_effects@FUNCTION
+ i64.store $discard=, 0($0), $1
+ call evoke_side_effects@FUNCTION
+ return
+ .endfunc
+.Lfunc_end6:
+ .size stackify_store_across_side_effects, .Lfunc_end6-stackify_store_across_side_effects
+
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/reg-stackify.wast b/test/llvm_autogenerated/reg-stackify.wast
index 2952ef1be..3a367ac52 100644
--- a/test/llvm_autogenerated/reg-stackify.wast
+++ b/test/llvm_autogenerated/reg-stackify.wast
@@ -1,11 +1,14 @@
(module
(memory 0 4294967295)
+ (type $FUNCSIG$v (func))
+ (import $evoke_side_effects "env" "evoke_side_effects")
(export "no0" $no0)
(export "no1" $no1)
(export "yes0" $yes0)
(export "yes1" $yes1)
(export "stack_uses" $stack_uses)
(export "multiple_uses" $multiple_uses)
+ (export "stackify_store_across_side_effects" $stackify_store_across_side_effects)
(func $no0 (param $$0 i32) (param $$1 i32) (result i32)
(block $fake_return_waka123
(block
@@ -69,16 +72,8 @@
)
)
(func $stack_uses (param $$0 i32) (param $$1 i32) (param $$2 i32) (param $$3 i32) (result i32)
- (local $$4 i32)
- (local $$5 i32)
(block $fake_return_waka123
(block
- (set_local $$5
- (i32.const 2)
- )
- (set_local $$4
- (i32.const 1)
- )
(block $label$0
(br_if
(i32.ne
@@ -86,25 +81,25 @@
(i32.xor
(i32.lt_s
(get_local $$0)
- (get_local $$4)
+ (i32.const 1)
)
(i32.lt_s
(get_local $$1)
- (get_local $$5)
+ (i32.const 2)
)
)
(i32.xor
(i32.lt_s
(get_local $$2)
- (get_local $$4)
+ (i32.const 1)
)
(i32.lt_s
(get_local $$3)
- (get_local $$5)
+ (i32.const 2)
)
)
)
- (get_local $$4)
+ (i32.const 1)
)
$label$0
)
@@ -113,7 +108,7 @@
)
)
(br $fake_return_waka123
- (get_local $$4)
+ (i32.const 1)
)
)
)
@@ -151,5 +146,25 @@
)
)
)
+ (func $stackify_store_across_side_effects (param $$0 i32)
+ (local $$1 i64)
+ (block $fake_return_waka123
+ (block
+ (set_local $$1
+ (i64.store align=8
+ (get_local $$0)
+ (i64.const 4611686018427387904)
+ )
+ )
+ (call_import $evoke_side_effects)
+ (i64.store align=8
+ (get_local $$0)
+ (get_local $$1)
+ )
+ (call_import $evoke_side_effects)
+ (br $fake_return_waka123)
+ )
+ )
+ )
)
;; METADATA: { "asmConsts": {},"staticBump": 4 }
diff --git a/test/llvm_autogenerated/return-int32.s b/test/llvm_autogenerated/return-int32.s
index ebe7a1af2..1083e3a1d 100644
--- a/test/llvm_autogenerated/return-int32.s
+++ b/test/llvm_autogenerated/return-int32.s
@@ -6,8 +6,8 @@ return_i32:
.param i32
.result i32
return $0
+ .endfunc
.Lfunc_end0:
.size return_i32, .Lfunc_end0-return_i32
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/return-void.s b/test/llvm_autogenerated/return-void.s
index 638de33fb..2293d11fc 100644
--- a/test/llvm_autogenerated/return-void.s
+++ b/test/llvm_autogenerated/return-void.s
@@ -4,8 +4,8 @@
.type return_void,@function
return_void:
return
+ .endfunc
.Lfunc_end0:
.size return_void, .Lfunc_end0-return_void
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/select.s b/test/llvm_autogenerated/select.s
index fc5c7bac3..c353bd99d 100644
--- a/test/llvm_autogenerated/select.s
+++ b/test/llvm_autogenerated/select.s
@@ -7,6 +7,7 @@ select_i32_bool:
.result i32
i32.select $push0=, $0, $1, $2
return $pop0
+ .endfunc
.Lfunc_end0:
.size select_i32_bool, .Lfunc_end0-select_i32_bool
@@ -17,6 +18,7 @@ select_i32_eq:
.result i32
i32.select $push0=, $0, $2, $1
return $pop0
+ .endfunc
.Lfunc_end1:
.size select_i32_eq, .Lfunc_end1-select_i32_eq
@@ -27,6 +29,7 @@ select_i32_ne:
.result i32
i32.select $push0=, $0, $1, $2
return $pop0
+ .endfunc
.Lfunc_end2:
.size select_i32_ne, .Lfunc_end2-select_i32_ne
@@ -37,6 +40,7 @@ select_i64_bool:
.result i64
i64.select $push0=, $0, $1, $2
return $pop0
+ .endfunc
.Lfunc_end3:
.size select_i64_bool, .Lfunc_end3-select_i64_bool
@@ -47,6 +51,7 @@ select_i64_eq:
.result i64
i64.select $push0=, $0, $2, $1
return $pop0
+ .endfunc
.Lfunc_end4:
.size select_i64_eq, .Lfunc_end4-select_i64_eq
@@ -57,6 +62,7 @@ select_i64_ne:
.result i64
i64.select $push0=, $0, $1, $2
return $pop0
+ .endfunc
.Lfunc_end5:
.size select_i64_ne, .Lfunc_end5-select_i64_ne
@@ -67,6 +73,7 @@ select_f32_bool:
.result f32
f32.select $push0=, $0, $1, $2
return $pop0
+ .endfunc
.Lfunc_end6:
.size select_f32_bool, .Lfunc_end6-select_f32_bool
@@ -77,6 +84,7 @@ select_f32_eq:
.result f32
f32.select $push0=, $0, $2, $1
return $pop0
+ .endfunc
.Lfunc_end7:
.size select_f32_eq, .Lfunc_end7-select_f32_eq
@@ -87,6 +95,7 @@ select_f32_ne:
.result f32
f32.select $push0=, $0, $1, $2
return $pop0
+ .endfunc
.Lfunc_end8:
.size select_f32_ne, .Lfunc_end8-select_f32_ne
@@ -97,6 +106,7 @@ select_f64_bool:
.result f64
f64.select $push0=, $0, $1, $2
return $pop0
+ .endfunc
.Lfunc_end9:
.size select_f64_bool, .Lfunc_end9-select_f64_bool
@@ -107,6 +117,7 @@ select_f64_eq:
.result f64
f64.select $push0=, $0, $2, $1
return $pop0
+ .endfunc
.Lfunc_end10:
.size select_f64_eq, .Lfunc_end10-select_f64_eq
@@ -117,8 +128,8 @@ select_f64_ne:
.result f64
f64.select $push0=, $0, $1, $2
return $pop0
+ .endfunc
.Lfunc_end11:
.size select_f64_ne, .Lfunc_end11-select_f64_ne
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/signext-zeroext.s b/test/llvm_autogenerated/signext-zeroext.s
index 395166900..6a35e7461 100644
--- a/test/llvm_autogenerated/signext-zeroext.s
+++ b/test/llvm_autogenerated/signext-zeroext.s
@@ -5,11 +5,12 @@
z2s_func:
.param i32
.result i32
- .local i32
- i32.const $1=, 24
- i32.shl $push0=, $0, $1
- i32.shr_s $push1=, $pop0, $1
- return $pop1
+ i32.const $push0=, 24
+ i32.shl $push1=, $0, $pop0
+ i32.const $push3=, 24
+ i32.shr_s $push2=, $pop1, $pop3
+ return $pop2
+ .endfunc
.Lfunc_end0:
.size z2s_func, .Lfunc_end0-z2s_func
@@ -21,6 +22,7 @@ s2z_func:
i32.const $push0=, 255
i32.and $push1=, $0, $pop0
return $pop1
+ .endfunc
.Lfunc_end1:
.size s2z_func, .Lfunc_end1-s2z_func
@@ -33,6 +35,7 @@ z2s_call:
i32.and $push1=, $0, $pop0
i32.call $push2=, z2s_func@FUNCTION, $pop1
return $pop2
+ .endfunc
.Lfunc_end2:
.size z2s_call, .Lfunc_end2-z2s_call
@@ -41,16 +44,18 @@ z2s_call:
s2z_call:
.param i32
.result i32
- .local i32
- i32.const $1=, 24
- i32.shl $push0=, $0, $1
- i32.shr_s $push1=, $pop0, $1
- i32.call $push2=, s2z_func@FUNCTION, $pop1
- i32.shl $push3=, $pop2, $1
- i32.shr_s $push4=, $pop3, $1
- return $pop4
+ i32.const $push0=, 24
+ i32.shl $push1=, $0, $pop0
+ i32.const $push8=, 24
+ i32.shr_s $push2=, $pop1, $pop8
+ i32.call $push3=, s2z_func@FUNCTION, $pop2
+ i32.const $push7=, 24
+ i32.shl $push4=, $pop3, $pop7
+ i32.const $push6=, 24
+ i32.shr_s $push5=, $pop4, $pop6
+ return $pop5
+ .endfunc
.Lfunc_end3:
.size s2z_call, .Lfunc_end3-s2z_call
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/signext-zeroext.wast b/test/llvm_autogenerated/signext-zeroext.wast
index 2344c33be..31f6fe75c 100644
--- a/test/llvm_autogenerated/signext-zeroext.wast
+++ b/test/llvm_autogenerated/signext-zeroext.wast
@@ -5,19 +5,15 @@
(export "z2s_call" $z2s_call)
(export "s2z_call" $s2z_call)
(func $z2s_func (param $$0 i32) (result i32)
- (local $$1 i32)
(block $fake_return_waka123
(block
- (set_local $$1
- (i32.const 24)
- )
(br $fake_return_waka123
(i32.shr_s
(i32.shl
(get_local $$0)
- (get_local $$1)
+ (i32.const 24)
)
- (get_local $$1)
+ (i32.const 24)
)
)
)
@@ -50,12 +46,8 @@
)
)
(func $s2z_call (param $$0 i32) (result i32)
- (local $$1 i32)
(block $fake_return_waka123
(block
- (set_local $$1
- (i32.const 24)
- )
(br $fake_return_waka123
(i32.shr_s
(i32.shl
@@ -63,14 +55,14 @@
(i32.shr_s
(i32.shl
(get_local $$0)
- (get_local $$1)
+ (i32.const 24)
)
- (get_local $$1)
+ (i32.const 24)
)
)
- (get_local $$1)
+ (i32.const 24)
)
- (get_local $$1)
+ (i32.const 24)
)
)
)
diff --git a/test/llvm_autogenerated/store-results.s b/test/llvm_autogenerated/store-results.s
index f574cf7a7..dcb525654 100644
--- a/test/llvm_autogenerated/store-results.s
+++ b/test/llvm_autogenerated/store-results.s
@@ -8,44 +8,49 @@ single_block:
i32.const $push0=, 0
i32.store $push1=, 0($0), $pop0
return $pop1
+ .endfunc
.Lfunc_end0:
.size single_block, .Lfunc_end0-single_block
.globl foo
.type foo,@function
foo:
- .local i32, i32
+ .local i32
i32.const $0=, 0
- copy_local $1=, $0
.LBB1_1:
loop
- i32.const $push0=, 1
- i32.add $1=, $1, $pop0
- i32.store $discard=, pos($0), $0
+ i32.const $push4=, 0
+ i32.const $push3=, 0
+ i32.store $discard=, pos($pop4), $pop3
+ i32.const $push2=, 1
+ i32.add $0=, $0, $pop2
i32.const $push1=, 256
- i32.ne $push2=, $1, $pop1
- br_if $pop2, 0
+ i32.ne $push0=, $0, $pop1
+ br_if $pop0, 0
end_loop
return
+ .endfunc
.Lfunc_end1:
.size foo, .Lfunc_end1-foo
.globl bar
.type bar,@function
bar:
- .local i32, f32
- f32.const $1=, 0x0p0
- i32.const $0=, 0
+ .local f32
+ f32.const $0=, 0x0p0
.LBB2_1:
loop
- i32.store $discard=, pos($0), $0
- f32.const $push0=, 0x1p0
- f32.add $1=, $1, $pop0
+ i32.const $push4=, 0
+ i32.const $push3=, 0
+ i32.store $discard=, pos($pop4), $pop3
+ f32.const $push2=, 0x1p0
+ f32.add $0=, $0, $pop2
f32.const $push1=, 0x1p8
- f32.ne $push2=, $1, $pop1
- br_if $pop2, 0
+ f32.ne $push0=, $0, $pop1
+ br_if $pop0, 0
end_loop
return
+ .endfunc
.Lfunc_end2:
.size bar, .Lfunc_end2-bar
@@ -58,4 +63,3 @@ pos:
.size pos, 12
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/store-results.wast b/test/llvm_autogenerated/store-results.wast
index 544a8c30a..17ca8effa 100644
--- a/test/llvm_autogenerated/store-results.wast
+++ b/test/llvm_autogenerated/store-results.wast
@@ -17,29 +17,25 @@
)
(func $foo
(local $$0 i32)
- (local $$1 i32)
(block $fake_return_waka123
(block
(set_local $$0
(i32.const 0)
)
- (set_local $$1
- (get_local $$0)
- )
(loop $label$1 $label$0
- (set_local $$1
+ (i32.store offset=8 align=4
+ (i32.const 0)
+ (i32.const 0)
+ )
+ (set_local $$0
(i32.add
- (get_local $$1)
+ (get_local $$0)
(i32.const 1)
)
)
- (i32.store offset=8 align=4
- (get_local $$0)
- (get_local $$0)
- )
(br_if
(i32.ne
- (get_local $$1)
+ (get_local $$0)
(i32.const 256)
)
$label$0
@@ -50,30 +46,26 @@
)
)
(func $bar
- (local $$0 i32)
- (local $$1 f32)
+ (local $$0 f32)
(block $fake_return_waka123
(block
- (set_local $$1
- (f32.const 0)
- )
(set_local $$0
- (i32.const 0)
+ (f32.const 0)
)
(loop $label$1 $label$0
(i32.store offset=8 align=4
- (get_local $$0)
- (get_local $$0)
+ (i32.const 0)
+ (i32.const 0)
)
- (set_local $$1
+ (set_local $$0
(f32.add
- (get_local $$1)
+ (get_local $$0)
(f32.const 1)
)
)
(br_if
(f32.ne
- (get_local $$1)
+ (get_local $$0)
(f32.const 256)
)
$label$0
diff --git a/test/llvm_autogenerated/store-trunc.s b/test/llvm_autogenerated/store-trunc.s
index fd5e43b71..423e3ac6b 100644
--- a/test/llvm_autogenerated/store-trunc.s
+++ b/test/llvm_autogenerated/store-trunc.s
@@ -6,6 +6,7 @@ trunc_i8_i32:
.param i32, i32
i32.store8 $discard=, 0($0), $1
return
+ .endfunc
.Lfunc_end0:
.size trunc_i8_i32, .Lfunc_end0-trunc_i8_i32
@@ -15,6 +16,7 @@ trunc_i16_i32:
.param i32, i32
i32.store16 $discard=, 0($0), $1
return
+ .endfunc
.Lfunc_end1:
.size trunc_i16_i32, .Lfunc_end1-trunc_i16_i32
@@ -24,6 +26,7 @@ trunc_i8_i64:
.param i32, i64
i64.store8 $discard=, 0($0), $1
return
+ .endfunc
.Lfunc_end2:
.size trunc_i8_i64, .Lfunc_end2-trunc_i8_i64
@@ -33,6 +36,7 @@ trunc_i16_i64:
.param i32, i64
i64.store16 $discard=, 0($0), $1
return
+ .endfunc
.Lfunc_end3:
.size trunc_i16_i64, .Lfunc_end3-trunc_i16_i64
@@ -42,8 +46,8 @@ trunc_i32_i64:
.param i32, i64
i64.store32 $discard=, 0($0), $1
return
+ .endfunc
.Lfunc_end4:
.size trunc_i32_i64, .Lfunc_end4-trunc_i32_i64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/store.s b/test/llvm_autogenerated/store.s
index 9e66aea62..52371d905 100644
--- a/test/llvm_autogenerated/store.s
+++ b/test/llvm_autogenerated/store.s
@@ -6,6 +6,7 @@ sti32:
.param i32, i32
i32.store $discard=, 0($0), $1
return
+ .endfunc
.Lfunc_end0:
.size sti32, .Lfunc_end0-sti32
@@ -15,6 +16,7 @@ sti64:
.param i32, i64
i64.store $discard=, 0($0), $1
return
+ .endfunc
.Lfunc_end1:
.size sti64, .Lfunc_end1-sti64
@@ -24,6 +26,7 @@ stf32:
.param i32, f32
f32.store $discard=, 0($0), $1
return
+ .endfunc
.Lfunc_end2:
.size stf32, .Lfunc_end2-stf32
@@ -33,8 +36,8 @@ stf64:
.param i32, f64
f64.store $discard=, 0($0), $1
return
+ .endfunc
.Lfunc_end3:
.size stf64, .Lfunc_end3-stf64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/switch.s b/test/llvm_autogenerated/switch.s
index d64cfd92b..24438e83b 100644
--- a/test/llvm_autogenerated/switch.s
+++ b/test/llvm_autogenerated/switch.s
@@ -41,6 +41,7 @@ bar32:
.LBB0_8:
end_block
return
+ .endfunc
.Lfunc_end0:
.size bar32, .Lfunc_end0-bar32
@@ -86,8 +87,8 @@ bar64:
.LBB1_8:
end_block
return
+ .endfunc
.Lfunc_end1:
.size bar64, .Lfunc_end1-bar64
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/unreachable.s b/test/llvm_autogenerated/unreachable.s
index 83ec5b4b1..94c5dff17 100644
--- a/test/llvm_autogenerated/unreachable.s
+++ b/test/llvm_autogenerated/unreachable.s
@@ -6,6 +6,7 @@ f1:
.result i32
call abort@FUNCTION
unreachable
+ .endfunc
.Lfunc_end0:
.size f1, .Lfunc_end0-f1
@@ -14,6 +15,7 @@ f1:
f2:
unreachable
return
+ .endfunc
.Lfunc_end1:
.size f2, .Lfunc_end1-f2
@@ -22,8 +24,8 @@ f2:
f3:
unreachable
return
+ .endfunc
.Lfunc_end2:
.size f3, .Lfunc_end2-f3
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/unused-argument.s b/test/llvm_autogenerated/unused-argument.s
index 48ab32e38..00d57fba8 100644
--- a/test/llvm_autogenerated/unused-argument.s
+++ b/test/llvm_autogenerated/unused-argument.s
@@ -6,6 +6,7 @@ unused_first:
.param i32, i32
.result i32
return $1
+ .endfunc
.Lfunc_end0:
.size unused_first, .Lfunc_end0-unused_first
@@ -15,6 +16,7 @@ unused_second:
.param i32, i32
.result i32
return $0
+ .endfunc
.Lfunc_end1:
.size unused_second, .Lfunc_end1-unused_second
@@ -23,8 +25,8 @@ unused_second:
call_something:
i32.call $discard=, return_something@FUNCTION
return
+ .endfunc
.Lfunc_end2:
.size call_something, .Lfunc_end2-call_something
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/userstack.s b/test/llvm_autogenerated/userstack.s
index d77c7bc81..f7916e37c 100644
--- a/test/llvm_autogenerated/userstack.s
+++ b/test/llvm_autogenerated/userstack.s
@@ -17,6 +17,7 @@ alloca32:
i32.const $2=, __stack_pointer
i32.store $3=, 0($2), $3
return
+ .endfunc
.Lfunc_end0:
.size alloca32, .Lfunc_end0-alloca32
@@ -39,31 +40,33 @@ alloca3264:
i32.const $2=, __stack_pointer
i32.store $3=, 0($2), $3
return
+ .endfunc
.Lfunc_end1:
.size alloca3264, .Lfunc_end1-alloca3264
.globl allocarray
.type allocarray,@function
allocarray:
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 32
+ i32.sub $4=, $0, $1
i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
+ i32.store $4=, 0($1), $4
+ i32.const $push2=, 12
+ i32.const $3=, 12
+ i32.add $3=, $4, $3
+ i32.add $push3=, $3, $pop2
+ i32.const $push0=, 1
+ i32.store $push1=, 12($4), $pop0
+ i32.store $discard=, 0($pop3), $pop1
i32.const $2=, 32
- i32.sub $5=, $1, $2
+ i32.add $4=, $4, $2
i32.const $2=, __stack_pointer
- i32.store $5=, 0($2), $5
- i32.const $push0=, 1
- i32.store $0=, 12($5), $pop0
- i32.const $push1=, 4
- i32.const $4=, 12
- i32.add $4=, $5, $4
- i32.add $push2=, $4, $pop1
- i32.store $discard=, 0($pop2), $0
- i32.const $3=, 32
- i32.add $5=, $5, $3
- i32.const $3=, __stack_pointer
- i32.store $5=, 0($3), $5
+ i32.store $4=, 0($2), $4
return
+ .endfunc
.Lfunc_end2:
.size allocarray, .Lfunc_end2-allocarray
@@ -79,12 +82,13 @@ allocarray_inbounds:
i32.store $3=, 0($1), $3
i32.const $push0=, 1
i32.store $push1=, 12($3), $pop0
- i32.store $discard=, 16($3), $pop1
+ i32.store $discard=, 24($3), $pop1
i32.const $2=, 32
i32.add $3=, $3, $2
i32.const $2=, __stack_pointer
i32.store $3=, 0($2), $3
return
+ .endfunc
.Lfunc_end3:
.size allocarray_inbounds, .Lfunc_end3-allocarray_inbounds
@@ -93,8 +97,8 @@ allocarray_inbounds:
dynamic_alloca:
.param i32
return
+ .endfunc
.Lfunc_end4:
.size dynamic_alloca, .Lfunc_end4-dynamic_alloca
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/userstack.wast b/test/llvm_autogenerated/userstack.wast
index c0e032e93..df8788cfb 100644
--- a/test/llvm_autogenerated/userstack.wast
+++ b/test/llvm_autogenerated/userstack.wast
@@ -133,73 +133,69 @@
(local $$2 i32)
(local $$3 i32)
(local $$4 i32)
- (local $$5 i32)
(block $fake_return_waka123
(block
- (set_local $$1
+ (set_local $$0
(i32.const 1)
)
- (set_local $$1
+ (set_local $$0
(i32.load align=4
- (get_local $$1)
+ (get_local $$0)
)
)
- (set_local $$2
+ (set_local $$1
(i32.const 32)
)
- (set_local $$5
+ (set_local $$4
(i32.sub
+ (get_local $$0)
(get_local $$1)
- (get_local $$2)
)
)
- (set_local $$2
+ (set_local $$1
(i32.const 1)
)
- (set_local $$5
+ (set_local $$4
(i32.store align=4
- (get_local $$2)
- (get_local $$5)
- )
- )
- (set_local $$0
- (i32.store offset=12 align=4
- (get_local $$5)
- (i32.const 1)
+ (get_local $$1)
+ (get_local $$4)
)
)
- (set_local $$4
+ (set_local $$3
(i32.const 12)
)
- (set_local $$4
+ (set_local $$3
(i32.add
- (get_local $$5)
(get_local $$4)
+ (get_local $$3)
)
)
(i32.store align=4
(i32.add
+ (get_local $$3)
+ (i32.const 12)
+ )
+ (i32.store offset=12 align=4
(get_local $$4)
- (i32.const 4)
+ (i32.const 1)
)
- (get_local $$0)
)
- (set_local $$3
+ (set_local $$2
(i32.const 32)
)
- (set_local $$5
+ (set_local $$4
(i32.add
- (get_local $$5)
- (get_local $$3)
+ (get_local $$4)
+ (get_local $$2)
)
)
- (set_local $$3
+ (set_local $$2
(i32.const 1)
)
- (set_local $$5
+ (set_local $$4
(i32.store align=4
- (get_local $$3)
- (get_local $$5)
+ (get_local $$2)
+ (get_local $$4)
)
)
(br $fake_return_waka123)
@@ -239,7 +235,7 @@
(get_local $$3)
)
)
- (i32.store offset=16 align=4
+ (i32.store offset=24 align=4
(get_local $$3)
(i32.store offset=12 align=4
(get_local $$3)
diff --git a/test/llvm_autogenerated/varargs.s b/test/llvm_autogenerated/varargs.s
index feb0a2659..2d29fe3de 100644
--- a/test/llvm_autogenerated/varargs.s
+++ b/test/llvm_autogenerated/varargs.s
@@ -5,6 +5,7 @@
end:
.param i32
return
+ .endfunc
.Lfunc_end0:
.size end, .Lfunc_end0-end
@@ -15,6 +16,7 @@ copy:
i32.load $push0=, 0($1)
i32.store $discard=, 0($0), $pop0
return
+ .endfunc
.Lfunc_end1:
.size copy, .Lfunc_end1-copy
@@ -30,6 +32,7 @@ arg_i8:
i32.store $discard=, 0($0), $pop1
i32.load $push2=, 0($1)
return $pop2
+ .endfunc
.Lfunc_end2:
.size arg_i8, .Lfunc_end2-arg_i8
@@ -49,6 +52,7 @@ arg_i32:
i32.store $discard=, 0($0), $pop5
i32.load $push6=, 0($1)
return $pop6
+ .endfunc
.Lfunc_end3:
.size arg_i32, .Lfunc_end3-arg_i32
@@ -56,24 +60,26 @@ arg_i32:
.type arg_i128,@function
arg_i128:
.param i32, i32
- .local i32, i32, i32, i64
+ .local i32, i32, i64
i32.load $push0=, 0($1)
i32.const $push1=, 7
i32.add $push2=, $pop0, $pop1
i32.const $push3=, -8
i32.and $2=, $pop2, $pop3
- i32.const $3=, 8
- i32.add $push4=, $2, $3
- i32.store $4=, 0($1), $pop4
- i64.load $5=, 0($2)
- i32.const $push5=, 16
- i32.add $push6=, $2, $pop5
- i32.store $discard=, 0($1), $pop6
- i32.add $push8=, $0, $3
- i64.load $push7=, 0($4)
- i64.store $discard=, 0($pop8), $pop7
- i64.store $discard=, 0($0), $5
+ i32.const $push4=, 8
+ i32.add $push5=, $2, $pop4
+ i32.store $3=, 0($1), $pop5
+ i64.load $4=, 0($2)
+ i32.const $push6=, 16
+ i32.add $push7=, $2, $pop6
+ i32.store $discard=, 0($1), $pop7
+ i32.const $push10=, 8
+ i32.add $push9=, $0, $pop10
+ i64.load $push8=, 0($3)
+ i64.store $discard=, 0($pop9), $pop8
+ i64.store $discard=, 0($0), $4
return
+ .endfunc
.Lfunc_end4:
.size arg_i128, .Lfunc_end4-arg_i128
@@ -82,15 +88,46 @@ arg_i128:
caller_none:
call callee@FUNCTION
return
+ .endfunc
.Lfunc_end5:
.size caller_none, .Lfunc_end5-caller_none
.globl caller_some
.type caller_some,@function
caller_some:
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $8=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $8=, 0($6), $8
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $8=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $8=, 0($2), $8
+ i32.const $push0=, 0
+ i32.store $discard=, 0($8), $pop0
+ i32.const $push1=, 8
+ i32.add $0=, $8, $pop1
+ i64.const $push2=, 4611686018427387904
+ i64.store $discard=, 0($0), $pop2
+ call callee@FUNCTION
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.add $8=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $8=, 0($4), $8
+ i32.const $7=, 16
+ i32.add $8=, $8, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
return
+ .endfunc
.Lfunc_end6:
.size caller_some, .Lfunc_end6-caller_some
- .section ".note.GNU-stack","",@progbits
diff --git a/test/llvm_autogenerated/varargs.wast b/test/llvm_autogenerated/varargs.wast
index aaa15d36c..15a5fff1d 100644
--- a/test/llvm_autogenerated/varargs.wast
+++ b/test/llvm_autogenerated/varargs.wast
@@ -86,8 +86,7 @@
(func $arg_i128 (param $$0 i32) (param $$1 i32)
(local $$2 i32)
(local $$3 i32)
- (local $$4 i32)
- (local $$5 i64)
+ (local $$4 i64)
(block $fake_return_waka123
(block
(set_local $$2
@@ -102,18 +101,15 @@
)
)
(set_local $$3
- (i32.const 8)
- )
- (set_local $$4
(i32.store align=4
(get_local $$1)
(i32.add
(get_local $$2)
- (get_local $$3)
+ (i32.const 8)
)
)
)
- (set_local $$5
+ (set_local $$4
(i64.load align=8
(get_local $$2)
)
@@ -128,15 +124,15 @@
(i64.store align=8
(i32.add
(get_local $$0)
- (get_local $$3)
+ (i32.const 8)
)
(i64.load align=8
- (get_local $$4)
+ (get_local $$3)
)
)
(i64.store align=8
(get_local $$0)
- (get_local $$5)
+ (get_local $$4)
)
(br $fake_return_waka123)
)
@@ -151,8 +147,128 @@
)
)
(func $caller_some
+ (local $$0 i32)
+ (local $$1 i32)
+ (local $$2 i32)
+ (local $$3 i32)
+ (local $$4 i32)
+ (local $$5 i32)
+ (local $$6 i32)
+ (local $$7 i32)
+ (local $$8 i32)
(block $fake_return_waka123
(block
+ (set_local $$5
+ (i32.const 1)
+ )
+ (set_local $$5
+ (i32.load align=4
+ (get_local $$5)
+ )
+ )
+ (set_local $$6
+ (i32.const 16)
+ )
+ (set_local $$8
+ (i32.sub
+ (get_local $$5)
+ (get_local $$6)
+ )
+ )
+ (set_local $$6
+ (i32.const 1)
+ )
+ (set_local $$8
+ (i32.store align=4
+ (get_local $$6)
+ (get_local $$8)
+ )
+ )
+ (set_local $$1
+ (i32.const 1)
+ )
+ (set_local $$1
+ (i32.load align=4
+ (get_local $$1)
+ )
+ )
+ (set_local $$2
+ (i32.const 16)
+ )
+ (set_local $$8
+ (i32.sub
+ (get_local $$1)
+ (get_local $$2)
+ )
+ )
+ (set_local $$2
+ (i32.const 1)
+ )
+ (set_local $$8
+ (i32.store align=4
+ (get_local $$2)
+ (get_local $$8)
+ )
+ )
+ (i32.store align=4
+ (get_local $$8)
+ (i32.const 0)
+ )
+ (set_local $$0
+ (i32.add
+ (get_local $$8)
+ (i32.const 8)
+ )
+ )
+ (i64.store align=8
+ (get_local $$0)
+ (i64.const 4611686018427387904)
+ )
+ (call_import $callee)
+ (set_local $$3
+ (i32.const 1)
+ )
+ (set_local $$3
+ (i32.load align=4
+ (get_local $$3)
+ )
+ )
+ (set_local $$4
+ (i32.const 16)
+ )
+ (set_local $$8
+ (i32.add
+ (get_local $$3)
+ (get_local $$4)
+ )
+ )
+ (set_local $$4
+ (i32.const 1)
+ )
+ (set_local $$8
+ (i32.store align=4
+ (get_local $$4)
+ (get_local $$8)
+ )
+ )
+ (set_local $$7
+ (i32.const 16)
+ )
+ (set_local $$8
+ (i32.add
+ (get_local $$8)
+ (get_local $$7)
+ )
+ )
+ (set_local $$7
+ (i32.const 1)
+ )
+ (set_local $$8
+ (i32.store align=4
+ (get_local $$7)
+ (get_local $$8)
+ )
+ )
(br $fake_return_waka123)
)
)
diff --git a/test/spec b/test/spec
-Subproject 60afe7437286317f0926236cef2587dd4aa5d4d
+Subproject de27ac1b9f0cdf2b80aa4a26392d2cede1dfdfc