diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/emcc_O2_hello_world.fromasm | 731 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm | 132 | ||||
-rw-r--r-- | test/passes/post-emscripten.txt | 29 | ||||
-rw-r--r-- | test/passes/post-emscripten.wast | 42 |
4 files changed, 330 insertions, 604 deletions
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm index 574759517..ab2634757 100644 --- a/test/emcc_O2_hello_world.fromasm +++ b/test/emcc_O2_hello_world.fromasm @@ -831,42 +831,36 @@ ) ) (set_local $i10 - (i32.load align=4 - (i32.add - (i32.const 480) - (i32.shl - (i32.add + (i32.load offset=480 align=4 + (i32.shl + (i32.add + (i32.or (i32.or (i32.or (i32.or - (i32.or - (get_local $i8) - (get_local $i4) - ) - (get_local $i15) + (get_local $i8) + (get_local $i4) ) - (get_local $i7) + (get_local $i15) ) - (get_local $i5) - ) - (i32.shr_u - (get_local $i3) - (get_local $i5) + (get_local $i7) ) + (get_local $i5) + ) + (i32.shr_u + (get_local $i3) + (get_local $i5) ) - (i32.const 2) ) + (i32.const 2) ) ) ) (set_local $i5 (i32.sub (i32.and - (i32.load align=4 - (i32.add - (get_local $i10) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i10) ) (i32.const -8) ) @@ -881,11 +875,8 @@ ) (loop $while-out$3 $while-in$4 (set_local $i10 - (i32.load align=4 - (i32.add - (get_local $i3) - (i32.const 16) - ) + (i32.load offset=16 align=4 + (get_local $i3) ) ) (if_else @@ -895,11 +886,8 @@ ) (block (set_local $i15 - (i32.load align=4 - (i32.add - (get_local $i3) - (i32.const 20) - ) + (i32.load offset=20 align=4 + (get_local $i3) ) ) (if_else @@ -928,11 +916,8 @@ (set_local $i10 (i32.sub (i32.and - (i32.load align=4 - (i32.add - (get_local $i23) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i23) ) (i32.const -8) ) @@ -990,19 +975,13 @@ (call_import $_abort) ) (set_local $i5 - (i32.load align=4 - (i32.add - (get_local $i22) - (i32.const 24) - ) + (i32.load offset=24 align=4 + (get_local $i22) ) ) (set_local $i12 - (i32.load align=4 - (i32.add - (get_local $i22) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i22) ) ) (block $do-once$5 @@ -1150,11 +1129,8 @@ ) (block (set_local $i14 - (i32.load align=4 - (i32.add - (get_local $i22) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i22) ) ) (if @@ -1216,11 +1192,8 @@ (get_local $i5) (block (set_local $i12 - (i32.load align=4 - (i32.add - (get_local $i22) - (i32.const 28) - ) + (i32.load offset=28 align=4 + (get_local $i22) ) ) (set_local $i7 @@ -1333,11 +1306,8 @@ (get_local $i5) ) (set_local $i7 - (i32.load align=4 - (i32.add - (get_local $i22) - (i32.const 16) - ) + (i32.load offset=16 align=4 + (get_local $i22) ) ) (block $do-once$9 @@ -1370,11 +1340,8 @@ ) ) (set_local $i7 - (i32.load align=4 - (i32.add - (get_local $i22) - (i32.const 20) - ) + (i32.load offset=20 align=4 + (get_local $i22) ) ) (if @@ -1774,13 +1741,10 @@ ) ) (set_local $i4 - (i32.load align=4 - (i32.add - (i32.const 480) - (i32.shl - (get_local $i32) - (i32.const 2) - ) + (i32.load offset=480 align=4 + (i32.shl + (get_local $i32) + (i32.const 2) ) ) ) @@ -1839,11 +1803,8 @@ (loop $while-out$10 $while-in$11 (set_local $i16 (i32.and - (i32.load align=4 - (i32.add - (get_local $i17) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i17) ) (i32.const -8) ) @@ -1898,11 +1859,8 @@ ) ) (set_local $i9 - (i32.load align=4 - (i32.add - (get_local $i17) - (i32.const 20) - ) + (i32.load offset=20 align=4 + (get_local $i17) ) ) (set_local $i17 @@ -2120,31 +2078,28 @@ ) ) (set_local $i42 - (i32.load align=4 - (i32.add - (i32.const 480) - (i32.shl - (i32.add + (i32.load offset=480 align=4 + (i32.shl + (i32.add + (i32.or (i32.or (i32.or (i32.or - (i32.or - (get_local $i4) - (get_local $i14) - ) - (get_local $i2) + (get_local $i4) + (get_local $i14) ) - (get_local $i3) + (get_local $i2) ) - (get_local $i8) - ) - (i32.shr_u - (get_local $i7) - (get_local $i8) + (get_local $i3) ) + (get_local $i8) + ) + (i32.shr_u + (get_local $i7) + (get_local $i8) ) - (i32.const 2) ) + (i32.const 2) ) ) ) @@ -2195,11 +2150,8 @@ (set_local $i8 (i32.sub (i32.and - (i32.load align=4 - (i32.add - (get_local $i38) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i38) ) (i32.const -8) ) @@ -2227,11 +2179,8 @@ ) ) (set_local $i7 - (i32.load align=4 - (i32.add - (get_local $i38) - (i32.const 16) - ) + (i32.load offset=16 align=4 + (get_local $i38) ) ) (if @@ -2253,11 +2202,8 @@ ) ) (set_local $i38 - (i32.load align=4 - (i32.add - (get_local $i38) - (i32.const 20) - ) + (i32.load offset=20 align=4 + (get_local $i38) ) ) (if_else @@ -2333,19 +2279,13 @@ (call_import $_abort) ) (set_local $i3 - (i32.load align=4 - (i32.add - (get_local $i44) - (i32.const 24) - ) + (i32.load offset=24 align=4 + (get_local $i44) ) ) (set_local $i7 - (i32.load align=4 - (i32.add - (get_local $i44) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i44) ) ) (block $do-once$14 @@ -2493,11 +2433,8 @@ ) (block (set_local $i2 - (i32.load align=4 - (i32.add - (get_local $i44) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i44) ) ) (if @@ -2559,11 +2496,8 @@ (get_local $i3) (block (set_local $i7 - (i32.load align=4 - (i32.add - (get_local $i44) - (i32.const 28) - ) + (i32.load offset=28 align=4 + (get_local $i44) ) ) (set_local $i15 @@ -2676,11 +2610,8 @@ (get_local $i3) ) (set_local $i15 - (i32.load align=4 - (i32.add - (get_local $i44) - (i32.const 16) - ) + (i32.load offset=16 align=4 + (get_local $i44) ) ) (block $do-once$18 @@ -2713,11 +2644,8 @@ ) ) (set_local $i15 - (i32.load align=4 - (i32.add - (get_local $i44) - (i32.const 20) - ) + (i32.load offset=20 align=4 + (get_local $i44) ) ) (if @@ -3129,11 +3057,8 @@ (if (i32.eq (i32.and - (i32.load align=4 - (i32.add - (get_local $i7) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i7) ) (i32.const -8) ) @@ -3796,11 +3721,8 @@ ) ) (set_local $i50 - (i32.load align=4 - (i32.add - (get_local $i50) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i50) ) ) (if @@ -4328,11 +4250,8 @@ ) ) (set_local $i63 - (i32.load align=4 - (i32.add - (get_local $i63) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i63) ) ) (br_if @@ -4352,11 +4271,8 @@ ) (i32.eq (i32.and - (i32.load align=4 - (i32.add - (get_local $i67) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i67) ) (i32.const 8) ) @@ -4517,11 +4433,8 @@ ) ) (set_local $i63 - (i32.load align=4 - (i32.add - (get_local $i63) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i63) ) ) (if @@ -4546,11 +4459,8 @@ (if_else (i32.eq (i32.and - (i32.load align=4 - (i32.add - (get_local $i70) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i70) ) (i32.const 8) ) @@ -4709,11 +4619,8 @@ ) ) (set_local $i62 - (i32.load align=4 - (i32.add - (get_local $i43) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i43) ) ) (if_else @@ -4745,19 +4652,13 @@ ) (block (set_local $i54 - (i32.load align=4 - (i32.add - (get_local $i43) - (i32.const 24) - ) + (i32.load offset=24 align=4 + (get_local $i43) ) ) (set_local $i55 - (i32.load align=4 - (i32.add - (get_local $i43) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i43) ) ) (block $do-once$33 @@ -4905,11 +4806,8 @@ ) (block (set_local $i5 - (i32.load align=4 - (i32.add - (get_local $i43) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i43) ) ) (if @@ -4974,11 +4872,8 @@ $label$break$L331 ) (set_local $i55 - (i32.load align=4 - (i32.add - (get_local $i43) - (i32.const 28) - ) + (i32.load offset=28 align=4 + (get_local $i43) ) ) (set_local $i5 @@ -5129,11 +5024,8 @@ ) ) (set_local $i45 - (i32.load align=4 - (i32.add - (get_local $i5) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i5) ) ) (br_if @@ -5172,19 +5064,13 @@ ) (block (set_local $i45 - (i32.load align=4 - (i32.add - (get_local $i43) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i43) ) ) (set_local $i55 - (i32.load align=4 - (i32.add - (get_local $i43) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i43) ) ) (set_local $i54 @@ -5215,11 +5101,8 @@ ) (br_if (i32.eq - (i32.load align=4 - (i32.add - (get_local $i45) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i45) ) (get_local $i43) ) @@ -5722,11 +5605,8 @@ (if (i32.eq (i32.and - (i32.load align=4 - (i32.add - (get_local $i62) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i62) ) (i32.const -8) ) @@ -5970,11 +5850,8 @@ (set_local $i53 (i32.add (get_local $i63) - (i32.load align=4 - (i32.add - (get_local $i71) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i71) ) ) ) @@ -5993,11 +5870,8 @@ ) ) (set_local $i71 - (i32.load align=4 - (i32.add - (get_local $i71) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i71) ) ) (br $while-in$45) @@ -6591,11 +6465,8 @@ (if (i32.eq (i32.and - (i32.load align=4 - (i32.add - (get_local $i62) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i62) ) (i32.const -8) ) @@ -7244,19 +7115,13 @@ ) (block (set_local $i7 - (i32.load align=4 - (i32.add - (get_local $i8) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i8) ) ) (set_local $i10 - (i32.load align=4 - (i32.add - (get_local $i8) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i8) ) ) (set_local $i14 @@ -7286,11 +7151,8 @@ ) (if (i32.ne - (i32.load align=4 - (i32.add - (get_local $i7) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i7) ) (get_local $i8) ) @@ -7388,19 +7250,13 @@ ) ) (set_local $i7 - (i32.load align=4 - (i32.add - (get_local $i8) - (i32.const 24) - ) + (i32.load offset=24 align=4 + (get_local $i8) ) ) (set_local $i10 - (i32.load align=4 - (i32.add - (get_local $i8) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i8) ) ) (block $do-once$1 @@ -7548,11 +7404,8 @@ ) (block (set_local $i11 - (i32.load align=4 - (i32.add - (get_local $i8) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i8) ) ) (if @@ -7613,11 +7466,8 @@ (get_local $i7) (block (set_local $i10 - (i32.load align=4 - (i32.add - (get_local $i8) - (i32.const 28) - ) + (i32.load offset=28 align=4 + (get_local $i8) ) ) (set_local $i11 @@ -7784,11 +7634,8 @@ ) ) (set_local $i14 - (i32.load align=4 - (i32.add - (get_local $i11) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i11) ) ) (if_else @@ -8013,19 +7860,13 @@ ) (block (set_local $i21 - (i32.load align=4 - (i32.add - (get_local $i6) - (i32.const 24) - ) + (i32.load offset=24 align=4 + (get_local $i6) ) ) (set_local $i22 - (i32.load align=4 - (i32.add - (get_local $i6) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i6) ) ) (block $do-once$6 @@ -8175,11 +8016,8 @@ ) (block (set_local $i19 - (i32.load align=4 - (i32.add - (get_local $i6) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i6) ) ) (if @@ -8242,11 +8080,8 @@ (get_local $i21) (block (set_local $i22 - (i32.load align=4 - (i32.add - (get_local $i6) - (i32.const 28) - ) + (i32.load offset=28 align=4 + (get_local $i6) ) ) (set_local $i9 @@ -8399,11 +8234,8 @@ ) ) (set_local $i8 - (i32.load align=4 - (i32.add - (get_local $i9) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i9) ) ) (if @@ -8440,19 +8272,13 @@ ) (block (set_local $i8 - (i32.load align=4 - (i32.add - (get_local $i6) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (get_local $i6) ) ) (set_local $i22 - (i32.load align=4 - (i32.add - (get_local $i6) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i6) ) ) (set_local $i21 @@ -8484,11 +8310,8 @@ ) (if (i32.ne - (i32.load align=4 - (i32.add - (get_local $i8) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i8) ) (get_local $i6) ) @@ -8944,11 +8767,8 @@ (if (i32.eq (i32.and - (i32.load align=4 - (i32.add - (get_local $i2) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i2) ) (i32.const -8) ) @@ -9457,11 +9277,8 @@ ) ) (set_local $i18 - (i32.load align=4 - (i32.add - (get_local $i12) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i12) ) ) (if_else @@ -9527,11 +9344,8 @@ (get_local $i23) ) (set_local $i19 - (i32.load align=4 - (i32.add - (get_local $i12) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (get_local $i12) ) ) (set_local $i20 @@ -9602,11 +9416,8 @@ ) (i32.add (get_local $i13) - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 48) - ) + (i32.load offset=48 align=4 + (get_local $i1) ) ) ) @@ -9666,11 +9477,8 @@ (set_local $i24 (i32.sub (get_local $i3) - (i32.load align=4 - (i32.add - (get_local $i16) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $i16) ) ) ) @@ -9777,11 +9585,8 @@ (call_indirect $FUNCSIG$iiii (i32.add (i32.and - (i32.load align=4 - (i32.add - (get_local $i3) - (i32.const 36) - ) + (i32.load offset=36 align=4 + (get_local $i3) ) (i32.const 7) ) @@ -9798,11 +9603,8 @@ (block $label$break$L10 (if_else (i32.gt_s - (i32.load8_s align=1 - (i32.add - (get_local $i3) - (i32.const 75) - ) + (i32.load8_s offset=75 align=1 + (get_local $i3) ) (i32.const -1) ) @@ -9865,11 +9667,8 @@ (call_indirect $FUNCSIG$iiii (i32.add (i32.and - (i32.load align=4 - (i32.add - (get_local $i3) - (i32.const 36) - ) + (i32.load offset=36 align=4 + (get_local $i3) ) (i32.const 7) ) @@ -9964,11 +9763,8 @@ (block (if (i32.le_s - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 76) - ) + (i32.load offset=76 align=4 + (get_local $i1) ) (i32.const -1) ) @@ -10054,11 +9850,8 @@ (loop $while-out$1 $while-in$2 (if_else (i32.gt_s - (i32.load align=4 - (i32.add - (get_local $i3) - (i32.const 76) - ) + (i32.load offset=76 align=4 + (get_local $i3) ) (i32.const -1) ) @@ -10073,17 +9866,11 @@ ) (if_else (i32.gt_u - (i32.load align=4 - (i32.add - (get_local $i3) - (i32.const 20) - ) + (i32.load offset=20 align=4 + (get_local $i3) ) - (i32.load align=4 - (i32.add - (get_local $i3) - (i32.const 28) - ) + (i32.load offset=28 align=4 + (get_local $i3) ) ) (set_local $i8 @@ -10105,11 +9892,8 @@ ) ) (set_local $i3 - (i32.load align=4 - (i32.add - (get_local $i3) - (i32.const 56) - ) + (i32.load offset=56 align=4 + (get_local $i3) ) ) (if_else @@ -10455,11 +10239,8 @@ ) (i32.ne (get_local $i11) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 75) - ) + (i32.load8_s offset=75 align=1 + (get_local $i1) ) ) ) @@ -10488,11 +10269,8 @@ (call_indirect $FUNCSIG$iiii (i32.add (i32.and - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 36) - ) + (i32.load offset=36 align=4 + (get_local $i1) ) (i32.const 7) ) @@ -10556,11 +10334,8 @@ (call_indirect $FUNCSIG$iiii (i32.add (i32.and - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 36) - ) + (i32.load offset=36 align=4 + (get_local $i1) ) (i32.const 7) ) @@ -10613,11 +10388,8 @@ (call_indirect $FUNCSIG$iiii (i32.add (i32.and - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 40) - ) + (i32.load offset=40 align=4 + (get_local $i1) ) (i32.const 7) ) @@ -10968,11 +10740,8 @@ ) (if_else (i32.gt_s - (i32.load align=4 - (i32.add - (get_local $i2) - (i32.const 76) - ) + (i32.load offset=76 align=4 + (get_local $i2) ) (i32.const -1) ) @@ -11001,11 +10770,8 @@ (if (if_else (i32.ne - (i32.load8_s align=1 - (i32.add - (get_local $i2) - (i32.const 75) - ) + (i32.load8_s offset=75 align=1 + (get_local $i2) ) (i32.const 10) ) @@ -11023,11 +10789,8 @@ ) (i32.lt_u (get_local $i6) - (i32.load align=4 - (i32.add - (get_local $i2) - (i32.const 16) - ) + (i32.load offset=16 align=4 + (get_local $i2) ) ) ) @@ -11107,11 +10870,8 @@ ) (i32.store align=4 (get_local $i5) - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 60) - ) + (i32.load offset=60 align=4 + (get_local $i1) ) ) (i32.store align=4 @@ -11227,11 +10987,8 @@ (i32.const 0) ) (set_local $i2 - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 44) - ) + (i32.load offset=44 align=4 + (get_local $i1) ) ) (i32.store align=4 @@ -11255,11 +11012,8 @@ ) (i32.add (get_local $i2) - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 48) - ) + (i32.load offset=48 align=4 + (get_local $i1) ) ) ) @@ -11296,11 +11050,8 @@ ) (if_else (i32.gt_s - (i32.load align=4 - (i32.add - (get_local $i4) - (i32.const 76) - ) + (i32.load offset=76 align=4 + (get_local $i4) ) (i32.const -1) ) @@ -11401,11 +11152,8 @@ (block (i32.store align=4 (get_local $i5) - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 60) - ) + (i32.load offset=60 align=4 + (get_local $i1) ) ) (i32.store align=4 @@ -11472,11 +11220,8 @@ ) (i32.const 1) ) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 1) - ) + (i32.load8_s offset=1 align=1 + (get_local $i1) ) ) (i32.store8 align=1 @@ -11486,11 +11231,8 @@ ) (i32.const 2) ) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 2) - ) + (i32.load8_s offset=2 align=1 + (get_local $i1) ) ) (i32.store8 align=1 @@ -11500,11 +11242,8 @@ ) (i32.const 3) ) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 3) - ) + (i32.load8_s offset=3 align=1 + (get_local $i1) ) ) (i32.store8 align=1 @@ -11514,11 +11253,8 @@ ) (i32.const 4) ) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 4) - ) + (i32.load8_s offset=4 align=1 + (get_local $i1) ) ) (i32.store8 align=1 @@ -11528,11 +11264,8 @@ ) (i32.const 5) ) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 5) - ) + (i32.load8_s offset=5 align=1 + (get_local $i1) ) ) (i32.store8 align=1 @@ -11542,11 +11275,8 @@ ) (i32.const 6) ) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 6) - ) + (i32.load8_s offset=6 align=1 + (get_local $i1) ) ) (i32.store8 align=1 @@ -11556,11 +11286,8 @@ ) (i32.const 7) ) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 7) - ) + (i32.load8_s offset=7 align=1 + (get_local $i1) ) ) ) @@ -11586,11 +11313,8 @@ ) (i32.store align=4 (get_local $i3) - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 60) - ) + (i32.load offset=60 align=4 + (get_local $i1) ) ) (set_local $i1 @@ -11623,11 +11347,8 @@ ) (i32.const 1) ) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 1) - ) + (i32.load8_s offset=1 align=1 + (get_local $i1) ) ) (i32.store8 align=1 @@ -11637,11 +11358,8 @@ ) (i32.const 2) ) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 2) - ) + (i32.load8_s offset=2 align=1 + (get_local $i1) ) ) (i32.store8 align=1 @@ -11651,11 +11369,8 @@ ) (i32.const 3) ) - (i32.load8_s align=1 - (i32.add - (get_local $i1) - (i32.const 3) - ) + (i32.load8_s offset=3 align=1 + (get_local $i1) ) ) ) @@ -11741,11 +11456,8 @@ (i32.const 60) ) (set_local $i1 - (i32.load align=4 - (i32.add - (call_import $_pthread_self) - (i32.const 60) - ) + (i32.load offset=60 align=4 + (call_import $_pthread_self) ) ) ) @@ -11799,11 +11511,8 @@ (func $_cleanup_418 (param $i1 i32) (if (i32.eq - (i32.load align=4 - (i32.add - (get_local $i1) - (i32.const 68) - ) + (i32.load offset=68 align=4 + (get_local $i1) ) (i32.const 0) ) diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index bc32b67e4..bf8602fea 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -148,11 +148,8 @@ ) (i32.const 1) ) - (i32.load8_s align=1 - (i32.add - (get_local $ptr) - (i32.const 1) - ) + (i32.load8_s offset=1 align=1 + (get_local $ptr) ) ) (i32.store8 align=1 @@ -162,11 +159,8 @@ ) (i32.const 2) ) - (i32.load8_s align=1 - (i32.add - (get_local $ptr) - (i32.const 2) - ) + (i32.load8_s offset=2 align=1 + (get_local $ptr) ) ) (i32.store8 align=1 @@ -176,11 +170,8 @@ ) (i32.const 3) ) - (i32.load8_s align=1 - (i32.add - (get_local $ptr) - (i32.const 3) - ) + (i32.load8_s offset=3 align=1 + (get_local $ptr) ) ) ) @@ -200,11 +191,8 @@ ) (i32.const 1) ) - (i32.load8_s align=1 - (i32.add - (get_local $ptr) - (i32.const 1) - ) + (i32.load8_s offset=1 align=1 + (get_local $ptr) ) ) (i32.store8 align=1 @@ -214,11 +202,8 @@ ) (i32.const 2) ) - (i32.load8_s align=1 - (i32.add - (get_local $ptr) - (i32.const 2) - ) + (i32.load8_s offset=2 align=1 + (get_local $ptr) ) ) (i32.store8 align=1 @@ -228,11 +213,8 @@ ) (i32.const 3) ) - (i32.load8_s align=1 - (i32.add - (get_local $ptr) - (i32.const 3) - ) + (i32.load8_s offset=3 align=1 + (get_local $ptr) ) ) (i32.store8 align=1 @@ -242,11 +224,8 @@ ) (i32.const 4) ) - (i32.load8_s align=1 - (i32.add - (get_local $ptr) - (i32.const 4) - ) + (i32.load8_s offset=4 align=1 + (get_local $ptr) ) ) (i32.store8 align=1 @@ -256,11 +235,8 @@ ) (i32.const 5) ) - (i32.load8_s align=1 - (i32.add - (get_local $ptr) - (i32.const 5) - ) + (i32.load8_s offset=5 align=1 + (get_local $ptr) ) ) (i32.store8 align=1 @@ -270,11 +246,8 @@ ) (i32.const 6) ) - (i32.load8_s align=1 - (i32.add - (get_local $ptr) - (i32.const 6) - ) + (i32.load8_s offset=6 align=1 + (get_local $ptr) ) ) (i32.store8 align=1 @@ -284,11 +257,8 @@ ) (i32.const 7) ) - (i32.load8_s align=1 - (i32.add - (get_local $ptr) - (i32.const 7) - ) + (i32.load8_s offset=7 align=1 + (get_local $ptr) ) ) ) @@ -388,12 +358,9 @@ ) ) (set_local $$1 - (i32.load align=4 - (i32.add - (i32.load align=4 - (i32.const 24) - ) - (i32.const 4) + (i32.load offset=4 align=4 + (i32.load align=4 + (i32.const 24) ) ) ) @@ -8899,12 +8866,9 @@ ) ) (set_local $$183 - (i32.load align=4 - (i32.add - (i32.load align=4 - (i32.const 24) - ) - (i32.const 4) + (i32.load offset=4 align=4 + (i32.load align=4 + (i32.const 24) ) ) ) @@ -9005,12 +8969,9 @@ ) ) (set_local $$186 - (i32.load align=4 - (i32.add - (i32.load align=4 - (i32.const 24) - ) - (i32.const 4) + (i32.load offset=4 align=4 + (i32.load align=4 + (i32.const 24) ) ) ) @@ -25976,11 +25937,8 @@ (get_local $$add$ptr14$i$i) (i32.const 4) ) - (i32.load align=4 - (i32.add - (i32.const 624) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (i32.const 624) ) ) (i32.store align=4 @@ -25988,11 +25946,8 @@ (get_local $$add$ptr14$i$i) (i32.const 8) ) - (i32.load align=4 - (i32.add - (i32.const 624) - (i32.const 8) - ) + (i32.load offset=8 align=4 + (i32.const 624) ) ) (i32.store align=4 @@ -26000,11 +25955,8 @@ (get_local $$add$ptr14$i$i) (i32.const 12) ) - (i32.load align=4 - (i32.add - (i32.const 624) - (i32.const 12) - ) + (i32.load offset=12 align=4 + (i32.const 624) ) ) (i32.store align=4 @@ -31345,11 +31297,8 @@ (get_local $$1$0) ) (i32.xor - (i32.load align=4 - (i32.add - (get_local $$rem) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $$rem) ) (get_local $$1$1) ) @@ -31473,11 +31422,8 @@ ) (i32.store align=4 (i32.const 168) - (i32.load align=4 - (i32.add - (get_local $$rem) - (i32.const 4) - ) + (i32.load offset=4 align=4 + (get_local $$rem) ) ) (i32.load align=4 diff --git a/test/passes/post-emscripten.txt b/test/passes/post-emscripten.txt new file mode 100644 index 000000000..567a8b849 --- /dev/null +++ b/test/passes/post-emscripten.txt @@ -0,0 +1,29 @@ +(module + (memory 16777216 16777216) + (func $b0 (param $x i32) + (i32.load offset=1 + (get_local $x) + ) + (i32.load offset=8 + (get_local $x) + ) + (i32.load offset=1023 + (get_local $x) + ) + (i32.load + (i32.add + (get_local $x) + (i32.const 1024) + ) + ) + (i32.load + (i32.add + (get_local $x) + (i32.const 2048) + ) + ) + (i32.load offset=4 + (get_local $x) + ) + ) +) diff --git a/test/passes/post-emscripten.wast b/test/passes/post-emscripten.wast new file mode 100644 index 000000000..df56817a7 --- /dev/null +++ b/test/passes/post-emscripten.wast @@ -0,0 +1,42 @@ +(module + (memory 16777216 16777216) + (func $b0 (param $x i32) + (i32.load + (i32.add + (get_local $x) + (i32.const 1) + ) + ) + (i32.load + (i32.add + (get_local $x) + (i32.const 8) + ) + ) + (i32.load + (i32.add + (get_local $x) + (i32.const 1023) + ) + ) + (i32.load + (i32.add + (get_local $x) + (i32.const 1024) + ) + ) + (i32.load + (i32.add + (get_local $x) + (i32.const 2048) + ) + ) + (i32.load + (i32.add + (i32.const 4) + (get_local $x) + ) + ) + ) +) + |