summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/dot_s/signext-zeroext.wast75
1 files changed, 75 insertions, 0 deletions
diff --git a/test/dot_s/signext-zeroext.wast b/test/dot_s/signext-zeroext.wast
new file mode 100644
index 000000000..8148fdd7b
--- /dev/null
+++ b/test/dot_s/signext-zeroext.wast
@@ -0,0 +1,75 @@
+(module
+ (memory 0 4294967295)
+ (func $z2s_func (param $$0 i32) (result i32)
+ (local $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (set_local $$1
+ (i32.const 24)
+ )
+ (br $fake_return_waka123
+ (i32.shr_s
+ (get_local $$1)
+ (i32.shl
+ (get_local $$1)
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ )
+ (func $s2z_func (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (i32.and
+ (i32.const 255)
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ (func $z2s_call (param $$0 i32) (result i32)
+ (block $fake_return_waka123
+ (block
+ (br $fake_return_waka123
+ (call $z2s_func
+ (i32.and
+ (i32.const 255)
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ )
+ (func $s2z_call (param $$0 i32) (result i32)
+ (local $$1 i32)
+ (block $fake_return_waka123
+ (block
+ (set_local $$1
+ (i32.const 24)
+ )
+ (br $fake_return_waka123
+ (i32.shr_s
+ (get_local $$1)
+ (i32.shl
+ (get_local $$1)
+ (call $s2z_func
+ (i32.shr_s
+ (get_local $$1)
+ (i32.shl
+ (get_local $$1)
+ (get_local $$0)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+)