diff options
-rw-r--r-- | test/dot_s/ident.wast | 4 | ||||
-rw-r--r-- | test/dot_s/lcomm-in-text-segment.wast | 4 | ||||
-rw-r--r-- | test/dot_s/offset.wast | 408 | ||||
-rw-r--r-- | test/dot_s/symbolic-offset.wast | 16 |
4 files changed, 432 insertions, 0 deletions
diff --git a/test/dot_s/ident.wast b/test/dot_s/ident.wast new file mode 100644 index 000000000..ff458b577 --- /dev/null +++ b/test/dot_s/ident.wast @@ -0,0 +1,4 @@ +(module + (memory 0 4294967295) +) +;; METADATA: { "asmConsts": {} }
\ No newline at end of file diff --git a/test/dot_s/lcomm-in-text-segment.wast b/test/dot_s/lcomm-in-text-segment.wast new file mode 100644 index 000000000..ff458b577 --- /dev/null +++ b/test/dot_s/lcomm-in-text-segment.wast @@ -0,0 +1,4 @@ +(module + (memory 0 4294967295) +) +;; METADATA: { "asmConsts": {} }
\ No newline at end of file diff --git a/test/dot_s/offset.wast b/test/dot_s/offset.wast new file mode 100644 index 000000000..24baaaeda --- /dev/null +++ b/test/dot_s/offset.wast @@ -0,0 +1,408 @@ +(module + (memory 0 4294967295 (segment 2 "\00\00\00\00")) + (export "load_i32_with_folded_offset" $load_i32_with_folded_offset) + (export "load_i32_with_folded_gep_offset" $load_i32_with_folded_gep_offset) + (export "load_i32_with_unfolded_gep_negative_offset" $load_i32_with_unfolded_gep_negative_offset) + (export "load_i32_with_unfolded_offset" $load_i32_with_unfolded_offset) + (export "load_i32_with_unfolded_gep_offset" $load_i32_with_unfolded_gep_offset) + (export "load_i64_with_folded_offset" $load_i64_with_folded_offset) + (export "load_i64_with_folded_gep_offset" $load_i64_with_folded_gep_offset) + (export "load_i64_with_unfolded_gep_negative_offset" $load_i64_with_unfolded_gep_negative_offset) + (export "load_i64_with_unfolded_offset" $load_i64_with_unfolded_offset) + (export "load_i64_with_unfolded_gep_offset" $load_i64_with_unfolded_gep_offset) + (export "store_i32_with_folded_offset" $store_i32_with_folded_offset) + (export "store_i32_with_folded_gep_offset" $store_i32_with_folded_gep_offset) + (export "store_i32_with_unfolded_gep_negative_offset" $store_i32_with_unfolded_gep_negative_offset) + (export "store_i32_with_unfolded_offset" $store_i32_with_unfolded_offset) + (export "store_i32_with_unfolded_gep_offset" $store_i32_with_unfolded_gep_offset) + (export "store_i64_with_folded_offset" $store_i64_with_folded_offset) + (export "store_i64_with_folded_gep_offset" $store_i64_with_folded_gep_offset) + (export "store_i64_with_unfolded_gep_negative_offset" $store_i64_with_unfolded_gep_negative_offset) + (export "store_i64_with_unfolded_offset" $store_i64_with_unfolded_offset) + (export "store_i64_with_unfolded_gep_offset" $store_i64_with_unfolded_gep_offset) + (export "load_i32_from_numeric_address" $load_i32_from_numeric_address) + (export "load_i32_from_global_address" $load_i32_from_global_address) + (export "store_i32_to_numeric_address" $store_i32_to_numeric_address) + (export "store_i32_to_global_address" $store_i32_to_global_address) + (export "load_i8_s_with_folded_offset" $load_i8_s_with_folded_offset) + (export "load_i8_s_with_folded_gep_offset" $load_i8_s_with_folded_gep_offset) + (export "load_i8_u_with_folded_offset" $load_i8_u_with_folded_offset) + (export "load_i8_u_with_folded_gep_offset" $load_i8_u_with_folded_gep_offset) + (export "store_i8_with_folded_offset" $store_i8_with_folded_offset) + (export "store_i8_with_folded_gep_offset" $store_i8_with_folded_gep_offset) + (func $load_i32_with_folded_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=4 offset=24 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i32_with_folded_gep_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=4 offset=24 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i32_with_unfolded_gep_negative_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=4 + (i32.add + (get_local $$0) + (i32.const -24) + ) + ) + ) + ) + ) + ) + (func $load_i32_with_unfolded_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=4 + (i32.add + (get_local $$0) + (i32.const 24) + ) + ) + ) + ) + ) + ) + (func $load_i32_with_unfolded_gep_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=4 + (i32.add + (get_local $$0) + (i32.const 24) + ) + ) + ) + ) + ) + ) + (func $load_i64_with_folded_offset (param $$0 i32) (result i64) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i64.load align=8 offset=24 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i64_with_folded_gep_offset (param $$0 i32) (result i64) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i64.load align=8 offset=24 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i64_with_unfolded_gep_negative_offset (param $$0 i32) (result i64) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i64.load align=8 + (i32.add + (get_local $$0) + (i32.const -24) + ) + ) + ) + ) + ) + ) + (func $load_i64_with_unfolded_offset (param $$0 i32) (result i64) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i64.load align=8 + (i32.add + (get_local $$0) + (i32.const 24) + ) + ) + ) + ) + ) + ) + (func $load_i64_with_unfolded_gep_offset (param $$0 i32) (result i64) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i64.load align=8 + (i32.add + (get_local $$0) + (i32.const 24) + ) + ) + ) + ) + ) + ) + (func $store_i32_with_folded_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=4 offset=24 + (get_local $$0) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i32_with_folded_gep_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=4 offset=24 + (get_local $$0) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i32_with_unfolded_gep_negative_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=4 + (i32.add + (get_local $$0) + (i32.const -24) + ) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i32_with_unfolded_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=4 + (i32.add + (get_local $$0) + (i32.const 24) + ) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i32_with_unfolded_gep_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=4 + (i32.add + (get_local $$0) + (i32.const 24) + ) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i64_with_folded_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i64.store align=8 offset=24 + (get_local $$0) + (i64.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i64_with_folded_gep_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i64.store align=8 offset=24 + (get_local $$0) + (i64.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i64_with_unfolded_gep_negative_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i64.store align=8 + (i32.add + (get_local $$0) + (i32.const -24) + ) + (i64.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i64_with_unfolded_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i64.store align=8 + (i32.add + (get_local $$0) + (i32.const 24) + ) + (i64.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i64_with_unfolded_gep_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i64.store align=8 + (i32.add + (get_local $$0) + (i32.const 24) + ) + (i64.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $load_i32_from_numeric_address (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=4 offset=42 + (i32.const 0) + ) + ) + ) + ) + ) + (func $load_i32_from_global_address (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=4 offset=2 + (i32.const 0) + ) + ) + ) + ) + ) + (func $store_i32_to_numeric_address + (local $$0 i32) + (block $fake_return_waka123 + (block + (set_local $$0 + (i32.const 0) + ) + (i32.store align=4 offset=42 + (get_local $$0) + (get_local $$0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i32_to_global_address + (local $$0 i32) + (block $fake_return_waka123 + (block + (set_local $$0 + (i32.const 0) + ) + (i32.store align=4 offset=2 + (get_local $$0) + (get_local $$0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $load_i8_s_with_folded_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=8 offset=24 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i8_s_with_folded_gep_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=8 offset=24 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i8_u_with_folded_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=8 offset=24 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i8_u_with_folded_gep_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=8 offset=24 + (get_local $$0) + ) + ) + ) + ) + ) + (func $store_i8_with_folded_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=8 offset=24 + (get_local $$0) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i8_with_folded_gep_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=8 offset=24 + (get_local $$0) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) +) +;; METADATA: { "asmConsts": {} }
\ No newline at end of file diff --git a/test/dot_s/symbolic-offset.wast b/test/dot_s/symbolic-offset.wast new file mode 100644 index 000000000..d28ceec85 --- /dev/null +++ b/test/dot_s/symbolic-offset.wast @@ -0,0 +1,16 @@ +(module + (memory 0 4294967295 (segment 2 "\01\00\00\00\00\00\00\00\00\00\00\00")) + (export "f" $f) + (func $f (param $$0 i32) (param $$1 i32) + (block $fake_return_waka123 + (block + (i32.store align=4 offset=6 + (get_local $$0) + (get_local $$1) + ) + (br $fake_return_waka123) + ) + ) + ) +) +;; METADATA: { "asmConsts": {} }
\ No newline at end of file |