summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/memory-aliasing.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/wasm/memory-aliasing.js')
-rw-r--r--js/src/jit-test/tests/wasm/memory-aliasing.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/memory-aliasing.js b/js/src/jit-test/tests/wasm/memory-aliasing.js
new file mode 100644
index 0000000000..4d76c9eb16
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/memory-aliasing.js
@@ -0,0 +1,24 @@
+var i = wasmEvalText(
+`(module
+ (memory 1) (data (i32.const 0) "\\01\\02\\03\\04\\05\\06\\07\\08")
+ (func $off1 (param $base i32) (result i32)
+ (i32.add
+ (i32.load8_u (local.get $base))
+ (i32.load8_u offset=1 (local.get $base)))
+ )
+ (export "off1" (func $off1))
+ (func $off2 (param $base i32) (result i32)
+ (i32.add
+ (i32.load8_u offset=1 (local.get $base))
+ (i32.load8_u offset=2 (local.get $base)))
+ )
+ (export "off2" (func $off2))
+)`).exports;
+assertEq(i.off1(0), 3);
+assertEq(i.off1(1), 5);
+assertEq(i.off1(2), 7);
+assertEq(i.off1(3), 9);
+assertEq(i.off2(0), 5);
+assertEq(i.off2(1), 7);
+assertEq(i.off2(2), 9);
+assertEq(i.off2(3), 11);