summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/passes/PostEmscripten.cpp14
-rw-r--r--test/emcc_O2_hello_world.fromasm1223
-rw-r--r--test/emcc_hello_world.fromasm183
3 files changed, 424 insertions, 996 deletions
diff --git a/src/passes/PostEmscripten.cpp b/src/passes/PostEmscripten.cpp
index aa561baf8..14476b727 100644
--- a/src/passes/PostEmscripten.cpp
+++ b/src/passes/PostEmscripten.cpp
@@ -39,9 +39,12 @@ struct PostEmscripten : public WalkerPass<WasmWalker<PostEmscripten>> {
// a mapped global, but it can't be because they are accessed directly (at worst,
// it's 0 or an unused section of memory that was reserved for mapped globlas).
// Thus it is ok to optimize such small constants into Load offsets.
- void visitLoad(Load *curr) {
+
+ template<typename T>
+ void visitMemoryOp(T *curr) {
if (curr->offset) return;
- auto add = curr->ptr->dyn_cast<Binary>();
+ Expression* ptr = curr->ptr;
+ auto add = ptr->dyn_cast<Binary>();
if (!add || add->op != Add) return;
assert(add->type == i32);
auto c = add->right->dyn_cast<Const>();
@@ -61,6 +64,13 @@ struct PostEmscripten : public WalkerPass<WasmWalker<PostEmscripten>> {
curr->offset = value;
}
}
+
+ void visitLoad(Load* curr) {
+ visitMemoryOp(curr);
+ }
+ void visitStore(Store* curr) {
+ visitMemoryOp(curr);
+ }
};
static RegisterPass<PostEmscripten> registerPass("post-emscripten", "miscellaneous optimizations for Emscripten-generated code");
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm
index ab2634757..752a055ab 100644
--- a/test/emcc_O2_hello_world.fromasm
+++ b/test/emcc_O2_hello_world.fromasm
@@ -290,11 +290,8 @@
(i32.const 3)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i9)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i9)
(i32.or
(get_local $i11)
(i32.const 3)
@@ -574,11 +571,8 @@
(get_local $i2)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i14)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i14)
(i32.or
(get_local $i2)
(i32.const 3)
@@ -590,11 +584,8 @@
(get_local $i2)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i4)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i4)
(i32.or
(get_local $i8)
(i32.const 1)
@@ -702,25 +693,16 @@
(get_local $i19)
(get_local $i7)
)
- (i32.store align=4
- (i32.add
- (get_local $i20)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i20)
(get_local $i7)
)
- (i32.store align=4
- (i32.add
- (get_local $i7)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i7)
(get_local $i20)
)
- (i32.store align=4
- (i32.add
- (get_local $i7)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i7)
(get_local $i15)
)
)
@@ -1269,11 +1251,8 @@
(get_local $i12)
(get_local $i24)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i5)
(get_local $i24)
)
)
@@ -1298,11 +1277,8 @@
)
(call_import $_abort)
)
- (i32.store align=4
- (i32.add
- (get_local $i24)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i24)
(get_local $i5)
)
(set_local $i7
@@ -1320,18 +1296,12 @@
)
(call_import $_abort)
(block
- (i32.store align=4
- (i32.add
- (get_local $i24)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i24)
(get_local $i7)
)
- (i32.store align=4
- (i32.add
- (get_local $i7)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i7)
(get_local $i24)
)
(br $do-once$9)
@@ -1355,18 +1325,12 @@
)
(call_import $_abort)
(block
- (i32.store align=4
- (i32.add
- (get_local $i24)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i24)
(get_local $i7)
)
- (i32.store align=4
- (i32.add
- (get_local $i7)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i7)
(get_local $i24)
)
(br $do-once$8)
@@ -1388,11 +1352,8 @@
(get_local $i2)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i22)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i22)
(i32.or
(get_local $i5)
(i32.const 3)
@@ -1418,21 +1379,15 @@
)
)
(block
- (i32.store align=4
- (i32.add
- (get_local $i22)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i22)
(i32.or
(get_local $i2)
(i32.const 3)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i3)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i3)
(i32.or
(get_local $i21)
(i32.const 1)
@@ -1545,25 +1500,16 @@
(get_local $i29)
(get_local $i5)
)
- (i32.store align=4
- (i32.add
- (get_local $i30)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i30)
(get_local $i5)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i5)
(get_local $i30)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i5)
(get_local $i7)
)
)
@@ -2573,11 +2519,8 @@
(get_local $i7)
(get_local $i45)
)
- (i32.store align=4
- (i32.add
- (get_local $i3)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i3)
(get_local $i45)
)
)
@@ -2602,11 +2545,8 @@
)
(call_import $_abort)
)
- (i32.store align=4
- (i32.add
- (get_local $i45)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i45)
(get_local $i3)
)
(set_local $i15
@@ -2624,18 +2564,12 @@
)
(call_import $_abort)
(block
- (i32.store align=4
- (i32.add
- (get_local $i45)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i45)
(get_local $i15)
)
- (i32.store align=4
- (i32.add
- (get_local $i15)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i15)
(get_local $i45)
)
(br $do-once$18)
@@ -2659,18 +2593,12 @@
)
(call_import $_abort)
(block
- (i32.store align=4
- (i32.add
- (get_local $i45)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i45)
(get_local $i15)
)
- (i32.store align=4
- (i32.add
- (get_local $i15)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i15)
(get_local $i45)
)
(br $do-once$17)
@@ -2687,21 +2615,15 @@
(i32.const 16)
)
(block
- (i32.store align=4
- (i32.add
- (get_local $i44)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i44)
(i32.or
(get_local $i5)
(i32.const 3)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i8)
(i32.or
(get_local $i43)
(i32.const 1)
@@ -2807,25 +2729,16 @@
(get_local $i50)
(get_local $i8)
)
- (i32.store align=4
- (i32.add
- (get_local $i51)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i51)
(get_local $i8)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i8)
(get_local $i51)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i8)
(get_local $i15)
)
(br $do-once$19)
@@ -2950,11 +2863,8 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 28)
- )
+ (i32.store offset=28 align=4
+ (get_local $i8)
(get_local $i52)
)
(set_local $i7
@@ -2963,11 +2873,8 @@
(i32.const 16)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i7)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i7)
(i32.const 0)
)
(i32.store align=4
@@ -3005,25 +2912,16 @@
(get_local $i3)
(get_local $i8)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i8)
(get_local $i3)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i8)
(get_local $i8)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i8)
(get_local $i8)
)
(br $do-once$19)
@@ -3143,25 +3041,16 @@
(get_local $i54)
(get_local $i8)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i8)
(get_local $i55)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i8)
(get_local $i8)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i8)
(get_local $i8)
)
(br $do-once$19)
@@ -3201,36 +3090,24 @@
)
)
(block
- (i32.store align=4
- (i32.add
- (get_local $i4)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i4)
(get_local $i8)
)
(i32.store align=4
(get_local $i7)
(get_local $i8)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i8)
(get_local $i4)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i8)
(get_local $i53)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i8)
(i32.const 0)
)
(br $do-once$19)
@@ -3248,11 +3125,8 @@
(get_local $i5)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i44)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i44)
(i32.or
(get_local $i4)
(i32.const 3)
@@ -3347,11 +3221,8 @@
(i32.const 184)
(get_local $i43)
)
- (i32.store align=4
- (i32.add
- (get_local $i55)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i55)
(i32.or
(get_local $i43)
(i32.const 1)
@@ -3364,11 +3235,8 @@
)
(get_local $i43)
)
- (i32.store align=4
- (i32.add
- (get_local $i53)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i53)
(i32.or
(get_local $i31)
(i32.const 3)
@@ -3384,11 +3252,8 @@
(i32.const 196)
(i32.const 0)
)
- (i32.store align=4
- (i32.add
- (get_local $i53)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i53)
(i32.or
(get_local $i44)
(i32.const 3)
@@ -3461,21 +3326,15 @@
(i32.const 200)
(get_local $i44)
)
- (i32.store align=4
- (i32.add
- (get_local $i44)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i44)
(i32.or
(get_local $i43)
(i32.const 1)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i53)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i53)
(i32.or
(get_local $i31)
(i32.const 3)
@@ -4350,23 +4209,17 @@
(i32.const 188)
(get_local $i61)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i63)
(i32.or
(get_local $i61)
(i32.const 1)
)
)
- (i32.store align=4
+ (i32.store offset=4 align=4
(i32.add
- (i32.add
- (get_local $i63)
- (get_local $i61)
- )
- (i32.const 4)
+ (get_local $i63)
+ (get_local $i61)
)
(i32.const 40)
)
@@ -4557,11 +4410,8 @@
(get_local $i31)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i44)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i44)
(i32.or
(get_local $i31)
(i32.const 3)
@@ -4598,11 +4448,8 @@
(i32.const 196)
(get_local $i63)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i63)
(i32.or
(get_local $i62)
(i32.const 1)
@@ -4920,11 +4767,8 @@
(get_local $i45)
(get_local $i72)
)
- (i32.store align=4
- (i32.add
- (get_local $i54)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i54)
(get_local $i72)
)
)
@@ -4976,11 +4820,8 @@
)
(call_import $_abort)
)
- (i32.store align=4
- (i32.add
- (get_local $i72)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i72)
(get_local $i54)
)
(set_local $i5
@@ -5004,18 +4845,12 @@
)
(call_import $_abort)
(block
- (i32.store align=4
- (i32.add
- (get_local $i72)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i72)
(get_local $i45)
)
- (i32.store align=4
- (i32.add
- (get_local $i45)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i45)
(get_local $i72)
)
(br $do-once$37)
@@ -5044,18 +4879,12 @@
)
(call_import $_abort)
(block
- (i32.store align=4
- (i32.add
- (get_local $i72)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i72)
(get_local $i45)
)
- (i32.store align=4
- (i32.add
- (get_local $i45)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i45)
(get_local $i72)
)
(br $label$break$L331)
@@ -5180,11 +5009,8 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i45)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i45)
(get_local $i55)
)
(i32.store align=4
@@ -5231,11 +5057,8 @@
(i32.const -2)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i63)
(i32.or
(get_local $i79)
(i32.const 1)
@@ -5347,25 +5170,16 @@
(get_local $i80)
(get_local $i63)
)
- (i32.store align=4
- (i32.add
- (get_local $i81)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i81)
(get_local $i63)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i63)
(get_local $i81)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i63)
(get_local $i62)
)
(br $do-once$32)
@@ -5498,11 +5312,8 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 28)
- )
+ (i32.store offset=28 align=4
+ (get_local $i63)
(get_local $i82)
)
(set_local $i62
@@ -5511,11 +5322,8 @@
(i32.const 16)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i62)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i62)
(i32.const 0)
)
(i32.store align=4
@@ -5553,25 +5361,16 @@
(get_local $i5)
(get_local $i63)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i63)
(get_local $i5)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i63)
(get_local $i63)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i63)
(get_local $i63)
)
(br $do-once$32)
@@ -5691,25 +5490,16 @@
(get_local $i84)
(get_local $i63)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i63)
(get_local $i85)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i63)
(get_local $i63)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i63)
(get_local $i63)
)
(br $do-once$32)
@@ -5749,36 +5539,24 @@
)
)
(block
- (i32.store align=4
- (i32.add
- (get_local $i50)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i50)
(get_local $i63)
)
(i32.store align=4
(get_local $i62)
(get_local $i63)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i63)
(get_local $i50)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i63)
(get_local $i83)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i63)
(i32.const 0)
)
(br $do-once$32)
@@ -5806,11 +5584,8 @@
(i32.const 200)
(get_local $i63)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i63)
(i32.or
(get_local $i50)
(i32.const 1)
@@ -5980,23 +5755,17 @@
(i32.const 188)
(get_local $i50)
)
- (i32.store align=4
- (i32.add
- (get_local $i43)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i43)
(i32.or
(get_local $i50)
(i32.const 1)
)
)
- (i32.store align=4
+ (i32.store offset=4 align=4
(i32.add
- (i32.add
- (get_local $i43)
- (get_local $i50)
- )
- (i32.const 4)
+ (get_local $i43)
+ (get_local $i50)
)
(i32.const 40)
)
@@ -6022,29 +5791,20 @@
(i32.const 624)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i63)
(i32.load align=4
(i32.const 628)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i63)
(i32.load align=4
(i32.const 632)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i63)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i63)
(i32.load align=4
(i32.const 636)
)
@@ -6114,11 +5874,8 @@
(i32.const -2)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i60)
(i32.or
(get_local $i63)
(i32.const 1)
@@ -6221,25 +5978,16 @@
(get_local $i87)
(get_local $i60)
)
- (i32.store align=4
- (i32.add
- (get_local $i88)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i88)
(get_local $i60)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i60)
(get_local $i88)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i60)
(get_local $i61)
)
(br $do-once$27)
@@ -6364,18 +6112,12 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 28)
- )
+ (i32.store offset=28 align=4
+ (get_local $i60)
(get_local $i89)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i60)
(i32.const 0)
)
(i32.store align=4
@@ -6413,25 +6155,16 @@
(get_local $i43)
(get_local $i60)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i60)
(get_local $i43)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i60)
(get_local $i60)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i60)
(get_local $i60)
)
(br $do-once$27)
@@ -6551,25 +6284,16 @@
(get_local $i91)
(get_local $i60)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i60)
(get_local $i92)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i60)
(get_local $i60)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i60)
(get_local $i60)
)
(br $do-once$27)
@@ -6609,36 +6333,24 @@
)
)
(block
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i5)
(get_local $i60)
)
(i32.store align=4
(get_local $i62)
(get_local $i60)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i60)
(get_local $i5)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i60)
(get_local $i90)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i60)
(i32.const 0)
)
(br $do-once$27)
@@ -6711,18 +6423,12 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i62)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i62)
(get_local $i62)
)
- (i32.store align=4
- (i32.add
- (get_local $i62)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i62)
(get_local $i62)
)
(set_local $i5
@@ -6787,23 +6493,17 @@
(i32.const 188)
(get_local $i63)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i5)
(i32.or
(get_local $i63)
(i32.const 1)
)
)
- (i32.store align=4
+ (i32.store offset=4 align=4
(i32.add
- (i32.add
- (get_local $i5)
- (get_local $i63)
- )
- (i32.const 4)
+ (get_local $i5)
+ (get_local $i63)
)
(i32.const 40)
)
@@ -6852,21 +6552,15 @@
(i32.const 200)
(get_local $i60)
)
- (i32.store align=4
- (i32.add
- (get_local $i60)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i60)
(i32.or
(get_local $i58)
(i32.const 1)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i59)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i59)
(i32.or
(get_local $i31)
(i32.const 3)
@@ -7082,11 +6776,8 @@
(i32.const -2)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i8)
(i32.or
(get_local $i9)
(i32.const 1)
@@ -7229,11 +6920,8 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i7)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i7)
(get_local $i10)
)
(i32.store align=4
@@ -7549,11 +7237,8 @@
(get_local $i10)
(get_local $i18)
)
- (i32.store align=4
- (i32.add
- (get_local $i7)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i7)
(get_local $i18)
)
)
@@ -7586,11 +7271,8 @@
)
(call_import $_abort)
)
- (i32.store align=4
- (i32.add
- (get_local $i18)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i18)
(get_local $i7)
)
(set_local $i11
@@ -7614,18 +7296,12 @@
)
(call_import $_abort)
(block
- (i32.store align=4
- (i32.add
- (get_local $i18)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i18)
(get_local $i14)
)
- (i32.store align=4
- (i32.add
- (get_local $i14)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i14)
(get_local $i18)
)
(br $do-once$4)
@@ -7649,18 +7325,12 @@
)
(call_import $_abort)
(block
- (i32.store align=4
- (i32.add
- (get_local $i18)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i18)
(get_local $i14)
)
- (i32.store align=4
- (i32.add
- (get_local $i14)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i14)
(get_local $i18)
)
(set_local $i12
@@ -7763,11 +7433,8 @@
(i32.const 200)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i12)
(i32.or
(get_local $i18)
(i32.const 1)
@@ -7817,11 +7484,8 @@
(i32.const 196)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i12)
(i32.or
(get_local $i18)
(i32.const 1)
@@ -8157,11 +7821,8 @@
(get_local $i22)
(get_local $i23)
)
- (i32.store align=4
- (i32.add
- (get_local $i21)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i21)
(get_local $i23)
)
)
@@ -8186,11 +7847,8 @@
)
(call_import $_abort)
)
- (i32.store align=4
- (i32.add
- (get_local $i23)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i23)
(get_local $i21)
)
(set_local $i9
@@ -8214,18 +7872,12 @@
)
(call_import $_abort)
(block
- (i32.store align=4
- (i32.add
- (get_local $i23)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i23)
(get_local $i8)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i8)
(get_local $i23)
)
(br $do-once$9)
@@ -8249,18 +7901,12 @@
)
(call_import $_abort)
(block
- (i32.store align=4
- (i32.add
- (get_local $i23)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i23)
(get_local $i8)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i8)
(get_local $i23)
)
(br $do-once$5)
@@ -8384,11 +8030,8 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i8)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i8)
(get_local $i22)
)
(i32.store align=4
@@ -8398,11 +8041,8 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i12)
(i32.or
(get_local $i18)
(i32.const 1)
@@ -8442,11 +8082,8 @@
(i32.const -2)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i12)
(i32.or
(get_local $i13)
(i32.const 1)
@@ -8557,25 +8194,16 @@
(get_local $i30)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i31)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i31)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i12)
(get_local $i31)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i12)
(get_local $i2)
)
(br $topmost)
@@ -8700,25 +8328,16 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 28)
- )
+ (i32.store offset=28 align=4
+ (get_local $i12)
(get_local $i32)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i12)
(i32.const 0)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i12)
(i32.const 0)
)
(set_local $i30
@@ -8853,25 +8472,16 @@
(get_local $i35)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i12)
(get_local $i36)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i12)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i12)
(get_local $i12)
)
(br $do-once$10)
@@ -8911,36 +8521,24 @@
)
)
(block
- (i32.store align=4
- (i32.add
- (get_local $i31)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i31)
(get_local $i12)
)
(i32.store align=4
(get_local $i2)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i12)
(get_local $i31)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i12)
(get_local $i33)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i12)
(i32.const 0)
)
(br $do-once$10)
@@ -8963,25 +8561,16 @@
(get_local $i5)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 24)
- )
+ (i32.store offset=24 align=4
+ (get_local $i12)
(get_local $i5)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i12)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i12)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i12)
(get_local $i12)
)
)
@@ -9116,25 +8705,16 @@
(get_local $i9)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i7)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i7)
(get_local $i11)
)
- (i32.store align=4
- (i32.add
- (get_local $i7)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i7)
(get_local $i2)
)
- (i32.store align=4
- (i32.add
- (get_local $i7)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i7)
(get_local $i3)
)
(set_local $i2
@@ -9176,18 +8756,12 @@
(get_local $i2)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i5)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i5)
(get_local $i7)
)
(set_local $i14
@@ -9210,18 +8784,12 @@
(get_local $i2)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i6)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i6)
(get_local $i12)
)
- (i32.store align=4
- (i32.add
- (get_local $i6)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i6)
(get_local $i7)
)
(set_local $i11
@@ -9377,11 +8945,8 @@
(get_local $i20)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i21)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i21)
(i32.sub
(get_local $i19)
(get_local $i20)
@@ -9409,11 +8974,8 @@
(get_local $i9)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i1)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i1)
(i32.add
(get_local $i13)
(i32.load offset=48 align=4
@@ -9442,11 +9004,8 @@
(i32.const 8)
)
(block
- (i32.store align=4
- (i32.add
- (get_local $i1)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i1)
(i32.const 0)
)
(i32.store align=4
@@ -10403,11 +9962,8 @@
(i32.const 1)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i1)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i1)
(i32.const 0)
)
(i32.store align=4
@@ -10874,32 +10430,20 @@
(get_local $i1)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i5)
(i32.const 0)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i5)
(get_local $i2)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $i5)
(get_local $i6)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i5)
(get_local $i3)
)
(if_else
@@ -10972,18 +10516,12 @@
(i32.const 0)
)
(block
- (i32.store align=4
- (i32.add
- (get_local $i1)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i1)
(i32.const 0)
)
- (i32.store align=4
- (i32.add
- (get_local $i1)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i1)
(i32.const 0)
)
(set_local $i2
@@ -10991,25 +10529,16 @@
(get_local $i1)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i1)
- (i32.const 28)
- )
+ (i32.store offset=28 align=4
+ (get_local $i1)
(get_local $i2)
)
- (i32.store align=4
- (i32.add
- (get_local $i1)
- (i32.const 20)
- )
+ (i32.store offset=20 align=4
+ (get_local $i1)
(get_local $i2)
)
- (i32.store align=4
- (i32.add
- (get_local $i1)
- (i32.const 16)
- )
+ (i32.store offset=16 align=4
+ (get_local $i1)
(i32.add
(get_local $i2)
(i32.load offset=48 align=4
@@ -11131,11 +10660,8 @@
(set_local $i5
(get_local $i4)
)
- (i32.store align=4
- (i32.add
- (get_local $i1)
- (i32.const 36)
- )
+ (i32.store offset=36 align=4
+ (get_local $i1)
(i32.const 5)
)
(if
@@ -11156,18 +10682,12 @@
(get_local $i1)
)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $i5)
(i32.const 21505)
)
- (i32.store align=4
- (i32.add
- (get_local $i5)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $i5)
(i32.add
(get_local $i4)
(i32.const 12)
@@ -11183,11 +10703,8 @@
)
(i32.const 0)
)
- (i32.store8 align=1
- (i32.add
- (get_local $i1)
- (i32.const 75)
- )
+ (i32.store8 offset=75 align=1
+ (get_local $i1)
(i32.const -1)
)
)
@@ -11213,78 +10730,57 @@
(get_local $i1)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 1)
+ (i32.store8 offset=1 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=1 align=1
(get_local $i1)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 2)
+ (i32.store8 offset=2 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=2 align=1
(get_local $i1)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 3)
+ (i32.store8 offset=3 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=3 align=1
(get_local $i1)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 4)
+ (i32.store8 offset=4 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=4 align=1
(get_local $i1)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 5)
+ (i32.store8 offset=5 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=5 align=1
(get_local $i1)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 6)
+ (i32.store8 offset=6 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=6 align=1
(get_local $i1)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 7)
+ (i32.store8 offset=7 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=7 align=1
(get_local $i1)
@@ -11340,34 +10836,25 @@
(get_local $i1)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 1)
+ (i32.store8 offset=1 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=1 align=1
(get_local $i1)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 2)
+ (i32.store8 offset=2 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=2 align=1
(get_local $i1)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 3)
+ (i32.store8 offset=3 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=3 align=1
(get_local $i1)
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index bf8602fea..22fbfcb00 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -141,34 +141,25 @@
(get_local $ptr)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 1)
+ (i32.store8 offset=1 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=1 align=1
(get_local $ptr)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 2)
+ (i32.store8 offset=2 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=2 align=1
(get_local $ptr)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 3)
+ (i32.store8 offset=3 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=3 align=1
(get_local $ptr)
@@ -184,78 +175,57 @@
(get_local $ptr)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 1)
+ (i32.store8 offset=1 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=1 align=1
(get_local $ptr)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 2)
+ (i32.store8 offset=2 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=2 align=1
(get_local $ptr)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 3)
+ (i32.store8 offset=3 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=3 align=1
(get_local $ptr)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 4)
+ (i32.store8 offset=4 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=4 align=1
(get_local $ptr)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 5)
+ (i32.store8 offset=5 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=5 align=1
(get_local $ptr)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 6)
+ (i32.store8 offset=6 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=6 align=1
(get_local $ptr)
)
)
- (i32.store8 align=1
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 7)
+ (i32.store8 offset=7 align=1
+ (i32.load align=4
+ (i32.const 24)
)
(i32.load8_s offset=7 align=1
(get_local $ptr)
@@ -486,12 +456,9 @@
)
(get_local $$0)
)
- (i32.store align=4
- (i32.add
- (i32.load align=4
- (i32.const 24)
- )
- (i32.const 4)
+ (i32.store offset=4 align=4
+ (i32.load align=4
+ (i32.const 24)
)
(get_local $$6)
)
@@ -25932,29 +25899,20 @@
(i32.const 624)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$add$ptr14$i$i)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $$add$ptr14$i$i)
(i32.load offset=4 align=4
(i32.const 624)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$add$ptr14$i$i)
- (i32.const 8)
- )
+ (i32.store offset=8 align=4
+ (get_local $$add$ptr14$i$i)
(i32.load offset=8 align=4
(i32.const 624)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$add$ptr14$i$i)
- (i32.const 12)
- )
+ (i32.store offset=12 align=4
+ (get_local $$add$ptr14$i$i)
(i32.load offset=12 align=4
(i32.const 624)
)
@@ -31543,11 +31501,8 @@
(get_local $$d_sroa_0_0_extract_trunc)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$rem)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $$rem)
(i32.const 0)
)
)
@@ -31598,11 +31553,8 @@
(i32.const -1)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$rem)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $$rem)
(i32.and
(get_local $$a$1)
(i32.const 0)
@@ -31654,11 +31606,8 @@
(get_local $$d_sroa_0_0_extract_trunc)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$rem)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $$rem)
(i32.const 0)
)
)
@@ -31699,11 +31648,8 @@
(get_local $$rem)
(i32.const 0)
)
- (i32.store align=4
- (i32.add
- (get_local $$rem)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $$rem)
(i32.rem_u
(get_local $$n_sroa_1_4_extract_trunc)
(get_local $$d_sroa_1_4_extract_trunc)
@@ -31762,11 +31708,8 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$rem)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $$rem)
(i32.or
(i32.and
(get_local $$37)
@@ -31899,11 +31842,8 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$rem)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $$rem)
(i32.or
(get_local $$n_sroa_1_4_extract_shift$0)
(i32.and
@@ -32043,11 +31983,8 @@
)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$rem)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $$rem)
(i32.or
(get_local $$n_sroa_1_4_extract_shift$0)
(i32.and
@@ -32231,11 +32168,8 @@
(get_local $$n_sroa_0_0_extract_trunc)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$rem)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $$rem)
(i32.const 0)
)
)
@@ -32596,11 +32530,8 @@
(get_local $$r_sroa_0_1_lcssa)
)
)
- (i32.store align=4
- (i32.add
- (get_local $$rem)
- (i32.const 4)
- )
+ (i32.store offset=4 align=4
+ (get_local $$rem)
(get_local $$r_sroa_1_1_lcssa)
)
)