;;; 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)

  ;; i8x16 load_splat
  (func (export "i8x16_load_splat_0") (result v128)
    i32.const 6
    i8x16.load_splat)

  ;; i16x8 load_splat
  (func (export "i16x8_load_splat_0") (result v128)
    i32.const 6
    i16x8.load_splat)

  ;; i32x4 load_splat
  (func (export "i32x4_load_splat_0") (result v128)
    i32.const 4
    i32x4.load_splat)

  ;; i64x2 load_splat
  (func (export "i64x2_load_splat_0") (result v128)
    i32.const 0
    i64x2.load_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
i8x16_load_splat_0() => v128 i32x4:0xcececece 0xcececece 0xcececece 0xcececece
i16x8_load_splat_0() => v128 i32x4:0x41ce41ce 0x41ce41ce 0x41ce41ce 0x41ce41ce
i32x4_load_splat_0() => v128 i32x4:0x41ce0000 0x41ce0000 0x41ce0000 0x41ce0000
i64x2_load_splat_0() => v128 i32x4:0xffffffff 0x41ce0000 0xffffffff 0x41ce0000
v128_store_0() => v128 i32x4:0x11223344 0x55667788 0x99aabbcc 0xddeeff00
;;; STDOUT ;;)
