summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/dot_s/ident.wast4
-rw-r--r--test/dot_s/lcomm-in-text-segment.wast4
-rw-r--r--test/dot_s/offset.wast408
-rw-r--r--test/dot_s/symbolic-offset.wast16
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