diff options
author | Wouter van Oortmerssen <aardappel@gmail.com> | 2020-10-13 08:57:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-13 08:57:34 -0700 |
commit | 639dc87a9ea6a633acca5b5ababfe81f8059cf5f (patch) | |
tree | 6621196ce738947883b228b224a066a2511f0d56 /test/passes/memory64-lowering_enable-memory64_enable-bulk-memory.wast | |
parent | 947ad6e14d2de3d1f1ca14b8de3f3c341185ed96 (diff) | |
download | binaryen-639dc87a9ea6a633acca5b5ababfe81f8059cf5f.tar.gz binaryen-639dc87a9ea6a633acca5b5ababfe81f8059cf5f.tar.bz2 binaryen-639dc87a9ea6a633acca5b5ababfe81f8059cf5f.zip |
Added Initial Memory64Lowering pass (#3230)
This pass will convert a module with 64-bit loads and stores accessing a 64-bit memory to a regular 32-bit one.
Pointers remain 64-bit but are truncated just before use.
Diffstat (limited to 'test/passes/memory64-lowering_enable-memory64_enable-bulk-memory.wast')
-rw-r--r-- | test/passes/memory64-lowering_enable-memory64_enable-bulk-memory.wast | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory.wast b/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory.wast new file mode 100644 index 000000000..433d509c3 --- /dev/null +++ b/test/passes/memory64-lowering_enable-memory64_enable-bulk-memory.wast @@ -0,0 +1,30 @@ +(module + (memory $0 i64 1 1) + (data (i32.const 0) "\00\00\00\00\00\00\00\00\00\00") + (func $func_1 + (drop (i32.load (i64.const 4))) + (drop (i32.load align=1 (i64.const 4))) + (drop (i32.load align=2 (i64.const 4))) + (drop (i32.load align=4 (i64.const 4))) + (drop (i32.load offset=100 (i64.const 4))) + (drop (i32.load offset=100 align=1 (i64.const 4))) + (drop (i32.load offset=100 align=2 (i64.const 4))) + (drop (i32.load offset=100 align=4 (i64.const 4))) + (drop (i32.load offset=100 align=1 (unreachable))) + (i32.store (i64.const 4) (i32.const 8)) + (i32.store align=1 (i64.const 4) (i32.const 8)) + (i32.store align=2 (i64.const 4) (i32.const 8)) + (i32.store align=4 (i64.const 4) (i32.const 8)) + (i32.store offset=100 (i64.const 4) (i32.const 8)) + (i32.store offset=100 align=1 (i64.const 4) (i32.const 8)) + (i32.store offset=100 align=2 (i64.const 4) (i32.const 8)) + (i32.store offset=100 align=4 (i64.const 4) (i32.const 8)) + (i32.store offset=100 align=1 (unreachable) (i32.const 8)) + (i32.store offset=100 align=1 (i64.const 4) (unreachable)) + (drop (memory.size)) + (drop (memory.grow (i64.const 1))) + (memory.init 0 (i64.const 1) (i32.const 2) (i32.const 3)) + (memory.fill (i64.const 1) (i32.const 2) (i64.const 3)) + (memory.copy (i64.const 1) (i64.const 2) (i64.const 3)) + ) +) |