;;; TOOL: run-interp
;;; ARGS*: --enable-simd
(module
  (memory 1)
  (data (i32.const 0) "\ff\ff\ff\ff")
  (data (i32.const 4) "\00\00\ce\41")
  (data (i32.const 8) "\00\00\00\00\00\ff\8f\40")
  (data (i32.const 16) "\ff\ff\ff\ff\ff\ff\ff\ff")

  ;; v128 load
  (func (export "v128_load_0") (result v128)
    i32.const 4
    v128.load)

  ;; v8x16 load_splat
  (func (export "v8x16_load_splat_0") (result v128)
    i32.const 6
    v128.load8_splat)

  ;; v16x8 load_splat
  (func (export "v16x8_load_splat_0") (result v128)
    i32.const 6
    v128.load16_splat)

  ;; v32x4 load_splat
  (func (export "v32x4_load_splat_0") (result v128)
    i32.const 4
    v128.load32_splat)

  ;; v64x2 load_splat
  (func (export "v64x2_load_splat_0") (result v128)
    i32.const 0
    v128.load64_splat)

  ;; v128 store
  (func (export "v128_store_0") (result v128)
    i32.const 4
    v128.const i32x4 0x11223344 0x55667788 0x99aabbcc 0xddeeff00
    v128.store
    i32.const 4
    v128.load)
)
(;; STDOUT ;;;
v128_load_0() => v128 i32x4:0x41ce0000 0x00000000 0x408fff00 0xffffffff
v8x16_load_splat_0() => v128 i32x4:0xcececece 0xcececece 0xcececece 0xcececece
v16x8_load_splat_0() => v128 i32x4:0x41ce41ce 0x41ce41ce 0x41ce41ce 0x41ce41ce
v32x4_load_splat_0() => v128 i32x4:0x41ce0000 0x41ce0000 0x41ce0000 0x41ce0000
v64x2_load_splat_0() => v128 i32x4:0xffffffff 0x41ce0000 0xffffffff 0x41ce0000
v128_store_0() => v128 i32x4:0x11223344 0x55667788 0x99aabbcc 0xddeeff00
;;; STDOUT ;;)
