(module (memory 1) (data (i32.const 0) "abcdefghijklmnopqrstuvwxyz") (func (export "good1") (param $i i32) (result i32) (i32.load8_u offset=0 (get_local $i)) ;; 97 'a' ) (func (export "good2") (param $i i32) (result i32) (i32.load8_u offset=1 (get_local $i)) ;; 98 'b' ) (func (export "good3") (param $i i32) (result i32) (i32.load8_u offset=2 (get_local $i)) ;; 99 'c' ) (func (export "good4") (param $i i32) (result i32) (i32.load8_u offset=25 (get_local $i)) ;; 122 'z' ) (func (export "good5") (param $i i32) (result i32) (i32.load16_u offset=0 (get_local $i)) ;; 25185 'ab' ) (func (export "good6") (param $i i32) (result i32) (i32.load16_u align=1 (get_local $i)) ;; 25185 'ab' ) (func (export "good7") (param $i i32) (result i32) (i32.load16_u offset=1 align=1 (get_local $i)) ;; 25442 'bc' ) (func (export "good8") (param $i i32) (result i32) (i32.load16_u offset=2 (get_local $i)) ;; 25699 'cd' ) (func (export "good9") (param $i i32) (result i32) (i32.load16_u offset=25 align=1 (get_local $i)) ;; 122 'z\0' ) (func (export "good10") (param $i i32) (result i32) (i32.load offset=0 (get_local $i)) ;; 1684234849 'abcd' ) (func (export "good11") (param $i i32) (result i32) (i32.load offset=1 align=1 (get_local $i)) ;; 1701077858 'bcde' ) (func (export "good12") (param $i i32) (result i32) (i32.load offset=2 align=2 (get_local $i)) ;; 1717920867 'cdef' ) (func (export "good13") (param $i i32) (result i32) (i32.load offset=25 align=1 (get_local $i)) ;; 122 'z\0\0\0' ) (func (export "bad") (param $i i32) (drop (i32.load offset=4294967295 (get_local $i))) ) ) (assert_return (invoke "good1" (i32.const 0)) (i32.const 97)) (assert_return (invoke "good2" (i32.const 0)) (i32.const 98)) (assert_return (invoke "good3" (i32.const 0)) (i32.const 99)) (assert_return (invoke "good4" (i32.const 0)) (i32.const 122)) (assert_return (invoke "good5" (i32.const 0)) (i32.const 25185)) (assert_return (invoke "good6" (i32.const 0)) (i32.const 25185)) (assert_return (invoke "good7" (i32.const 0)) (i32.const 25442)) (assert_return (invoke "good8" (i32.const 0)) (i32.const 25699)) (assert_return (invoke "good9" (i32.const 0)) (i32.const 122)) (assert_return (invoke "good10" (i32.const 0)) (i32.const 1684234849)) (assert_return (invoke "good11" (i32.const 0)) (i32.const 1701077858)) (assert_return (invoke "good12" (i32.const 0)) (i32.const 1717920867)) (assert_return (invoke "good13" (i32.const 0)) (i32.const 122)) (assert_return (invoke "good1" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good2" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good3" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good4" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good5" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good6" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good7" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good8" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good9" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good10" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good11" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good12" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good13" (i32.const 65507)) (i32.const 0)) (assert_return (invoke "good1" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good2" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good3" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good4" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good5" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good6" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good7" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good8" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good9" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good10" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good11" (i32.const 65508)) (i32.const 0)) (assert_return (invoke "good12" (i32.const 65508)) (i32.const 0)) (assert_trap (invoke "good13" (i32.const 65508)) "out of bounds memory access") (assert_trap (invoke "bad" (i32.const 0)) "out of bounds memory access") (assert_trap (invoke "bad" (i32.const 1)) "out of bounds memory access") (assert_malformed (module quote "(memory 1)" "(func (drop (i32.load offset=4294967296 (i32.const 0))))" ) "i32 constant" )