diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/passes/pick-load-signs_all-features.txt | 24 | ||||
-rw-r--r-- | test/passes/pick-load-signs_all-features.wast | 23 |
2 files changed, 47 insertions, 0 deletions
diff --git a/test/passes/pick-load-signs_all-features.txt b/test/passes/pick-load-signs_all-features.txt new file mode 100644 index 000000000..4b08c75de --- /dev/null +++ b/test/passes/pick-load-signs_all-features.txt @@ -0,0 +1,24 @@ +(module + (type $none_=>_i32 (func (result i32))) + (memory $0 (shared 16 16)) + (func $atomics-are-always-unsigned (result i32) + (local $0 i32) + (drop + (block $block (result i32) + (local.set $0 + (i32.atomic.load16_u + (i32.const 27) + ) + ) + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 16) + ) + (i32.const 16) + ) + ) + ) + (i32.const -65) + ) +) diff --git a/test/passes/pick-load-signs_all-features.wast b/test/passes/pick-load-signs_all-features.wast new file mode 100644 index 000000000..20a77eae4 --- /dev/null +++ b/test/passes/pick-load-signs_all-features.wast @@ -0,0 +1,23 @@ +(module + (memory $0 (shared 16 16)) + (func $atomics-are-always-unsigned (result i32) + (local $0 i32) + (drop + (block (result i32) + (local.set $0 + (i32.atomic.load16_u ;; an atomic load cannot become signed + (i32.const 27) + ) + ) + (i32.shr_s + (i32.shl + (local.get $0) + (i32.const 16) + ) + (i32.const 16) + ) + ) + ) + (i32.const -65) + ) +) |