wa-lang.org/wazero@v1.0.2/internal/integration_test/spectest/v2/testdata/simd_load_splat.wast (about) 1 ;; Tests for the load_splat instructions 2 3 (module 4 (memory 1) 5 (data (i32.const 0) "\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F") 6 (data (i32.const 65520) "\10\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F") 7 8 (func (export "v128.load8_splat") (param $address i32) (result v128) (v128.load8_splat (local.get $address))) 9 (func (export "v128.load16_splat") (param $address i32) (result v128) (v128.load16_splat (local.get $address))) 10 (func (export "v128.load32_splat") (param $address i32) (result v128) (v128.load32_splat (local.get $address))) 11 (func (export "v128.load64_splat") (param $address i32) (result v128) (v128.load64_splat (local.get $address))) 12 13 ;; Load data with different offset/align arguments 14 (func (export "v8x16.offset0") (param $address i32) (result v128) (v128.load8_splat offset=0 (local.get $address))) 15 (func (export "v8x16.align1") (param $address i32) (result v128) (v128.load8_splat align=1 (local.get $address))) 16 (func (export "v8x16.offset1_align1") (param $address i32) (result v128) (v128.load8_splat offset=1 align=1 (local.get $address))) 17 (func (export "v8x16.offset2_align1") (param $address i32) (result v128) (v128.load8_splat offset=2 align=1 (local.get $address))) 18 (func (export "v8x16.offset15_align1") (param $address i32) (result v128) (v128.load8_splat offset=15 align=1 (local.get $address))) 19 20 (func (export "v16x8.offset0") (param $address i32) (result v128) (v128.load16_splat offset=0 (local.get $address))) 21 (func (export "v16x8.align1") (param $address i32) (result v128) (v128.load16_splat align=1 (local.get $address))) 22 (func (export "v16x8.offset1_align1") (param $address i32) (result v128) (v128.load16_splat offset=1 align=1 (local.get $address))) 23 (func (export "v16x8.offset2_align1") (param $address i32) (result v128) (v128.load16_splat offset=2 align=1 (local.get $address))) 24 (func (export "v16x8.offset15_align2") (param $address i32) (result v128) (v128.load16_splat offset=15 align=2 (local.get $address))) 25 26 (func (export "v32x4.offset0") (param $address i32) (result v128) (v128.load32_splat offset=0 (local.get $address))) 27 (func (export "v32x4.align1") (param $address i32) (result v128) (v128.load32_splat align=1 (local.get $address))) 28 (func (export "v32x4.offset1_align1") (param $address i32) (result v128) (v128.load32_splat offset=1 align=1 (local.get $address))) 29 (func (export "v32x4.offset2_align2") (param $address i32) (result v128) (v128.load32_splat offset=2 align=2 (local.get $address))) 30 (func (export "v32x4.offset15_align4") (param $address i32) (result v128) (v128.load32_splat offset=15 align=4 (local.get $address))) 31 32 (func (export "v64x2.offset0") (param $address i32) (result v128) (v128.load64_splat offset=0 (local.get $address))) 33 (func (export "v64x2.align1") (param $address i32) (result v128) (v128.load64_splat align=1 (local.get $address))) 34 (func (export "v64x2.offset1_align2") (param $address i32) (result v128) (v128.load64_splat offset=1 align=2 (local.get $address))) 35 (func (export "v64x2.offset2_align4") (param $address i32) (result v128) (v128.load64_splat offset=2 align=4 (local.get $address))) 36 (func (export "v64x2.offset15_align8") (param $address i32) (result v128) (v128.load64_splat offset=15 align=8 (local.get $address))) 37 38 (func (export "v8x16.offset65536") (param $address i32) (result v128) (v128.load8_splat offset=65536 (local.get $address))) 39 (func (export "v16x8.offset65535") (param $address i32) (result v128) (v128.load16_splat offset=65535 (local.get $address))) 40 (func (export "v32x4.offset65533") (param $address i32) (result v128) (v128.load32_splat offset=65533 (local.get $address))) 41 (func (export "v64x2.offset65529") (param $address i32) (result v128) (v128.load64_splat offset=65529 (local.get $address))) 42 ) 43 (assert_return (invoke "v128.load8_splat" (i32.const 0)) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 44 (assert_return (invoke "v128.load8_splat" (i32.const 1)) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 45 (assert_return (invoke "v128.load8_splat" (i32.const 2)) (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 46 (assert_return (invoke "v128.load8_splat" (i32.const 3)) (v128.const i8x16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3)) 47 (assert_return (invoke "v128.load8_splat" (i32.const 65535)) (v128.const i8x16 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31)) 48 (assert_return (invoke "v128.load16_splat" (i32.const 4)) (v128.const i16x8 0x0504 0x0504 0x0504 0x0504 0x0504 0x0504 0x0504 0x0504)) 49 (assert_return (invoke "v128.load16_splat" (i32.const 5)) (v128.const i16x8 0x0605 0x0605 0x0605 0x0605 0x0605 0x0605 0x0605 0x0605)) 50 (assert_return (invoke "v128.load16_splat" (i32.const 6)) (v128.const i16x8 0x0706 0x0706 0x0706 0x0706 0x0706 0x0706 0x0706 0x0706)) 51 (assert_return (invoke "v128.load16_splat" (i32.const 7)) (v128.const i16x8 0x0807 0x0807 0x0807 0x0807 0x0807 0x0807 0x0807 0x0807)) 52 (assert_return (invoke "v128.load16_splat" (i32.const 65534)) (v128.const i16x8 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E)) 53 (assert_return (invoke "v128.load32_splat" (i32.const 8)) (v128.const i32x4 0x0B0A0908 0x0B0A0908 0x0B0A0908 0x0B0A0908)) 54 (assert_return (invoke "v128.load32_splat" (i32.const 9)) (v128.const i32x4 0x0C0B0A09 0x0C0B0A09 0x0C0B0A09 0x0C0B0A09)) 55 (assert_return (invoke "v128.load32_splat" (i32.const 10)) (v128.const i32x4 0x0D0C0B0A 0x0D0C0B0A 0x0D0C0B0A 0x0D0C0B0A)) 56 (assert_return (invoke "v128.load32_splat" (i32.const 11)) (v128.const i32x4 0x0E0D0C0B 0x0E0D0C0B 0x0E0D0C0B 0x0E0D0C0B)) 57 (assert_return (invoke "v128.load32_splat" (i32.const 65532)) (v128.const i32x4 0x1F1E1D1C 0x1F1E1D1C 0x1F1E1D1C 0x1F1E1D1C)) 58 (assert_return (invoke "v128.load64_splat" (i32.const 12)) (v128.const i64x2 0x000000000F0E0D0C 0x000000000F0E0D0C)) 59 (assert_return (invoke "v128.load64_splat" (i32.const 13)) (v128.const i64x2 0x00000000000F0E0D 0x00000000000F0E0D)) 60 (assert_return (invoke "v128.load64_splat" (i32.const 14)) (v128.const i64x2 0x0000000000000F0E 0x0000000000000F0E)) 61 (assert_return (invoke "v128.load64_splat" (i32.const 15)) (v128.const i64x2 0x000000000000000F 0x000000000000000F)) 62 (assert_return (invoke "v128.load64_splat" (i32.const 65528)) (v128.const i64x2 0x1F1E1D1C1B1A1918 0x1F1E1D1C1B1A1918)) 63 64 ;; v8x16 65 (assert_return (invoke "v8x16.offset0" (i32.const 0)) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 66 (assert_return (invoke "v8x16.align1" (i32.const 0)) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 67 (assert_return (invoke "v8x16.offset1_align1" (i32.const 0)) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 68 (assert_return (invoke "v8x16.offset2_align1" (i32.const 0)) (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 69 (assert_return (invoke "v8x16.offset15_align1" (i32.const 0)) (v128.const i8x16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15)) 70 (assert_return (invoke "v8x16.offset0" (i32.const 1)) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 71 (assert_return (invoke "v8x16.align1" (i32.const 1)) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) 72 (assert_return (invoke "v8x16.offset1_align1" (i32.const 1)) (v128.const i8x16 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2)) 73 (assert_return (invoke "v8x16.offset2_align1" (i32.const 1)) (v128.const i8x16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3)) 74 (assert_return (invoke "v8x16.offset15_align1" (i32.const 1)) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 75 (assert_return (invoke "v8x16.offset0" (i32.const 65535)) (v128.const i8x16 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31)) 76 (assert_return (invoke "v8x16.align1" (i32.const 65535)) (v128.const i8x16 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31)) 77 ;; v16x8 78 (assert_return (invoke "v16x8.offset0" (i32.const 0)) (v128.const i16x8 0x0100 0x0100 0x0100 0x0100 0x0100 0x0100 0x0100 0x0100)) 79 (assert_return (invoke "v16x8.align1" (i32.const 0)) (v128.const i16x8 0x0100 0x0100 0x0100 0x0100 0x0100 0x0100 0x0100 0x0100)) 80 (assert_return (invoke "v16x8.offset1_align1" (i32.const 0)) (v128.const i16x8 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201)) 81 (assert_return (invoke "v16x8.offset2_align1" (i32.const 0)) (v128.const i16x8 0x0302 0x0302 0x0302 0x0302 0x0302 0x0302 0x0302 0x0302)) 82 (assert_return (invoke "v16x8.offset15_align2" (i32.const 0)) (v128.const i16x8 0x000F 0x000F 0x000F 0x000F 0x000F 0x000F 0x000F 0x000F)) 83 (assert_return (invoke "v16x8.offset0" (i32.const 1)) (v128.const i16x8 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201)) 84 (assert_return (invoke "v16x8.align1" (i32.const 1)) (v128.const i16x8 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201)) 85 (assert_return (invoke "v16x8.offset1_align1" (i32.const 1)) (v128.const i16x8 0x0302 0x0302 0x0302 0x0302 0x0302 0x0302 0x0302 0x0302)) 86 (assert_return (invoke "v16x8.offset2_align1" (i32.const 1)) (v128.const i16x8 0x0403 0x0403 0x0403 0x0403 0x0403 0x0403 0x0403 0x0403)) 87 (assert_return (invoke "v16x8.offset15_align2" (i32.const 1)) (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)) 88 (assert_return (invoke "v16x8.offset0" (i32.const 65534)) (v128.const i16x8 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E)) 89 (assert_return (invoke "v16x8.align1" (i32.const 65534)) (v128.const i16x8 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E 0x1F1E)) 90 ;; v32x4 91 (assert_return (invoke "v32x4.offset0" (i32.const 0)) (v128.const i32x4 0x03020100 0x03020100 0x03020100 0x03020100)) 92 (assert_return (invoke "v32x4.align1" (i32.const 0)) (v128.const i32x4 0x03020100 0x03020100 0x03020100 0x03020100)) 93 (assert_return (invoke "v32x4.offset1_align1" (i32.const 0)) (v128.const i32x4 0x04030201 0x04030201 0x04030201 0x04030201)) 94 (assert_return (invoke "v32x4.offset2_align2" (i32.const 0)) (v128.const i32x4 0x05040302 0x05040302 0x05040302 0x05040302)) 95 (assert_return (invoke "v32x4.offset15_align4" (i32.const 0)) (v128.const i32x4 0x0000000F 0x0000000F 0x0000000F 0x0000000F)) 96 (assert_return (invoke "v32x4.offset0" (i32.const 1)) (v128.const i32x4 0x04030201 0x04030201 0x04030201 0x04030201)) 97 (assert_return (invoke "v32x4.align1" (i32.const 1)) (v128.const i32x4 0x04030201 0x04030201 0x04030201 0x04030201)) 98 (assert_return (invoke "v32x4.offset1_align1" (i32.const 1)) (v128.const i32x4 0x05040302 0x05040302 0x05040302 0x05040302)) 99 (assert_return (invoke "v32x4.offset2_align2" (i32.const 1)) (v128.const i32x4 0x06050403 0x06050403 0x06050403 0x06050403)) 100 (assert_return (invoke "v32x4.offset15_align4" (i32.const 1)) (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)) 101 (assert_return (invoke "v32x4.offset0" (i32.const 65532)) (v128.const i32x4 0x1F1E1D1C 0x1F1E1D1C 0x1F1E1D1C 0x1F1E1D1C)) 102 (assert_return (invoke "v32x4.align1" (i32.const 65532)) (v128.const i32x4 0x1F1E1D1C 0x1F1E1D1C 0x1F1E1D1C 0x1F1E1D1C)) 103 ;; v64x2 104 (assert_return (invoke "v64x2.offset0" (i32.const 0)) (v128.const i64x2 0x0706050403020100 0x0706050403020100)) 105 (assert_return (invoke "v64x2.align1" (i32.const 0)) (v128.const i64x2 0x0706050403020100 0x0706050403020100)) 106 (assert_return (invoke "v64x2.offset1_align2" (i32.const 0)) (v128.const i64x2 0x0807060504030201 0x0807060504030201)) 107 (assert_return (invoke "v64x2.offset2_align4" (i32.const 0)) (v128.const i64x2 0x0908070605040302 0x0908070605040302)) 108 (assert_return (invoke "v64x2.offset15_align8" (i32.const 0)) (v128.const i64x2 0x000000000000000F 0x000000000000000F)) 109 (assert_return (invoke "v64x2.offset0" (i32.const 1)) (v128.const i64x2 0x0807060504030201 0x0807060504030201)) 110 (assert_return (invoke "v64x2.align1" (i32.const 1)) (v128.const i64x2 0x0807060504030201 0x0807060504030201)) 111 (assert_return (invoke "v64x2.offset1_align2" (i32.const 1)) (v128.const i64x2 0x0908070605040302 0x0908070605040302)) 112 (assert_return (invoke "v64x2.offset2_align4" (i32.const 1)) (v128.const i64x2 0x0A09080706050403 0x0A09080706050403)) 113 (assert_return (invoke "v64x2.offset15_align8" (i32.const 1)) (v128.const i64x2 0x0000000000000000 0x0000000000000000)) 114 (assert_return (invoke "v64x2.offset0" (i32.const 65528)) (v128.const i64x2 0x1F1E1D1C1B1A1918 0x1F1E1D1C1B1A1918)) 115 (assert_return (invoke "v64x2.align1" (i32.const 65528)) (v128.const i64x2 0x1F1E1D1C1B1A1918 0x1F1E1D1C1B1A1918)) 116 117 118 ;; Out of bounds memory access 119 (assert_trap (invoke "v128.load8_splat" (i32.const -1)) "out of bounds memory access") 120 (assert_trap (invoke "v128.load16_splat" (i32.const -1)) "out of bounds memory access") 121 (assert_trap (invoke "v128.load32_splat" (i32.const -1)) "out of bounds memory access") 122 (assert_trap (invoke "v128.load64_splat" (i32.const -1)) "out of bounds memory access") 123 (assert_trap (invoke "v128.load8_splat" (i32.const 65536)) "out of bounds memory access") 124 (assert_trap (invoke "v128.load16_splat" (i32.const 65535)) "out of bounds memory access") 125 (assert_trap (invoke "v128.load32_splat" (i32.const 65533)) "out of bounds memory access") 126 (assert_trap (invoke "v128.load64_splat" (i32.const 65529)) "out of bounds memory access") 127 128 (assert_trap (invoke "v8x16.offset1_align1" (i32.const 65535)) "out of bounds memory access") 129 (assert_trap (invoke "v8x16.offset2_align1" (i32.const 65535)) "out of bounds memory access") 130 (assert_trap (invoke "v8x16.offset15_align1" (i32.const 65535)) "out of bounds memory access") 131 (assert_trap (invoke "v16x8.offset1_align1" (i32.const 65534)) "out of bounds memory access") 132 (assert_trap (invoke "v16x8.offset2_align1" (i32.const 65534)) "out of bounds memory access") 133 (assert_trap (invoke "v16x8.offset15_align2" (i32.const 65534)) "out of bounds memory access") 134 (assert_trap (invoke "v32x4.offset1_align1" (i32.const 65532)) "out of bounds memory access") 135 (assert_trap (invoke "v32x4.offset2_align2" (i32.const 65532)) "out of bounds memory access") 136 (assert_trap (invoke "v32x4.offset15_align4" (i32.const 65532)) "out of bounds memory access") 137 (assert_trap (invoke "v64x2.offset1_align2" (i32.const 65528)) "out of bounds memory access") 138 (assert_trap (invoke "v64x2.offset2_align4" (i32.const 65528)) "out of bounds memory access") 139 (assert_trap (invoke "v64x2.offset15_align8" (i32.const 65528)) "out of bounds memory access") 140 141 (assert_trap (invoke "v8x16.offset1_align1" (i32.const -1)) "out of bounds memory access") 142 (assert_trap (invoke "v16x8.offset1_align1" (i32.const -1)) "out of bounds memory access") 143 (assert_trap (invoke "v32x4.offset1_align1" (i32.const -1)) "out of bounds memory access") 144 (assert_trap (invoke "v64x2.offset1_align2" (i32.const -1)) "out of bounds memory access") 145 146 (assert_trap (invoke "v8x16.offset65536" (i32.const 0)) "out of bounds memory access") 147 (assert_trap (invoke "v16x8.offset65535" (i32.const 0)) "out of bounds memory access") 148 (assert_trap (invoke "v32x4.offset65533" (i32.const 0)) "out of bounds memory access") 149 (assert_trap (invoke "v64x2.offset65529" (i32.const 0)) "out of bounds memory access") 150 (assert_trap (invoke "v8x16.offset65536" (i32.const 1)) "out of bounds memory access") 151 (assert_trap (invoke "v16x8.offset65535" (i32.const 1)) "out of bounds memory access") 152 (assert_trap (invoke "v32x4.offset65533" (i32.const 1)) "out of bounds memory access") 153 (assert_trap (invoke "v64x2.offset65529" (i32.const 1)) "out of bounds memory access") 154 155 156 ;; Combination 157 158 (module (memory 1) 159 (data (i32.const 0) "\00\01\02\03\04\05\06\07\08\09\0A") 160 161 (func (export "v128.load8_splat-in-block") (result v128) 162 (block (result v128) (block (result v128) (v128.load8_splat (i32.const 0)))) 163 ) 164 (func (export "v128.load16_splat-in-block") (result v128) 165 (block (result v128) (block (result v128) (v128.load16_splat (i32.const 1)))) 166 ) 167 (func (export "v128.load32_splat-in-block") (result v128) 168 (block (result v128) (block (result v128) (v128.load32_splat (i32.const 2)))) 169 ) 170 (func (export "v128.load64_splat-in-block") (result v128) 171 (block (result v128) (block (result v128) (v128.load64_splat (i32.const 9)))) 172 ) 173 (func (export "v128.load8_splat-as-br-value") (result v128) 174 (block (result v128) (br 0 (v128.load8_splat (i32.const 3)))) 175 ) 176 (func (export "v128.load16_splat-as-br-value") (result v128) 177 (block (result v128) (br 0 (v128.load16_splat (i32.const 4)))) 178 ) 179 (func (export "v128.load32_splat-as-br-value") (result v128) 180 (block (result v128) (br 0 (v128.load32_splat (i32.const 5)))) 181 ) 182 (func (export "v128.load64_splat-as-br-value") (result v128) 183 (block (result v128) (br 0 (v128.load64_splat (i32.const 10)))) 184 ) 185 (func (export "v128.load8_splat-extract_lane_s-operand") (result i32) 186 (i8x16.extract_lane_s 0 (v128.load8_splat (i32.const 6))) 187 ) 188 (func (export "v128.load16_splat-extract_lane_s-operand") (result i32) 189 (i8x16.extract_lane_s 0 (v128.load16_splat (i32.const 7))) 190 ) 191 (func (export "v128.load32_splat-extract_lane_s-operand") (result i32) 192 (i8x16.extract_lane_s 0 (v128.load32_splat (i32.const 8))) 193 ) 194 (func (export "v128.load64_splat-extract_lane_s-operand") (result i32) 195 (i8x16.extract_lane_s 0 (v128.load64_splat (i32.const 11))) 196 ) 197 ) 198 (assert_return (invoke "v128.load8_splat-in-block") (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) 199 (assert_return (invoke "v128.load16_splat-in-block") (v128.const i16x8 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201 0x0201)) 200 (assert_return (invoke "v128.load32_splat-in-block") (v128.const i32x4 0x05040302 0x05040302 0x05040302 0x05040302)) 201 (assert_return (invoke "v128.load64_splat-in-block") (v128.const i64x2 0x0000000000000A09 0x0000000000000A09)) 202 (assert_return (invoke "v128.load8_splat-as-br-value") (v128.const i8x16 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3)) 203 (assert_return (invoke "v128.load16_splat-as-br-value") (v128.const i16x8 0x0504 0x0504 0x0504 0x0504 0x0504 0x0504 0x0504 0x0504)) 204 (assert_return (invoke "v128.load32_splat-as-br-value") (v128.const i32x4 0x08070605 0x08070605 0x08070605 0x08070605)) 205 (assert_return (invoke "v128.load64_splat-as-br-value") (v128.const i64x2 0x000000000000000A 0x000000000000000A)) 206 (assert_return (invoke "v128.load8_splat-extract_lane_s-operand") (i32.const 6)) 207 (assert_return (invoke "v128.load16_splat-extract_lane_s-operand") (i32.const 7)) 208 (assert_return (invoke "v128.load32_splat-extract_lane_s-operand") (i32.const 8)) 209 (assert_return (invoke "v128.load64_splat-extract_lane_s-operand") (i32.const 0)) 210 211 212 ;; Type check 213 214 (assert_invalid (module (memory 0) (func (result v128) (v128.load8_splat (v128.const i32x4 0 0 0 0)))) "type mismatch") 215 (assert_invalid (module (memory 0) (func (result v128) (v128.load16_splat (v128.const i32x4 0 0 0 0)))) "type mismatch") 216 (assert_invalid (module (memory 0) (func (result v128) (v128.load32_splat (v128.const i32x4 0 0 0 0)))) "type mismatch") 217 (assert_invalid (module (memory 0) (func (result v128) (v128.load64_splat (v128.const i32x4 0 0 0 0)))) "type mismatch") 218 219 220 ;; Unknown operator 221 222 (assert_malformed (module quote "(memory 1) (func (drop (i8x16.load_splat (i32.const 0))))") "unknown operator") 223 (assert_malformed (module quote "(memory 1) (func (drop (i16x8.load_splat (i32.const 0))))") "unknown operator") 224 (assert_malformed (module quote "(memory 1) (func (drop (i32x4.load_splat (i32.const 0))))") "unknown operator") 225 (assert_malformed (module quote "(memory 1) (func (drop (i64x2.load_splat (i32.const 0))))") "unknown operator") 226 227 228 ;; Test operation with empty argument 229 230 (assert_invalid 231 (module (memory 0) 232 (func $v128.load8_splat-arg-empty (result v128) 233 (v128.load8_splat) 234 ) 235 ) 236 "type mismatch" 237 ) 238 (assert_invalid 239 (module (memory 0) 240 (func $v128.load16_splat-arg-empty (result v128) 241 (v128.load16_splat) 242 ) 243 ) 244 "type mismatch" 245 ) 246 (assert_invalid 247 (module (memory 0) 248 (func $v128.load32_splat-arg-empty (result v128) 249 (v128.load32_splat) 250 ) 251 ) 252 "type mismatch" 253 ) 254 (assert_invalid 255 (module (memory 0) 256 (func $v128.load64_splat-arg-empty (result v128) 257 (v128.load64_splat) 258 ) 259 ) 260 "type mismatch" 261 )