// |jit-test| skip-if: !wasmSimdEnabled()
/* Copyright 2021 Mozilla Foundation
*
* Licensed under the Apache License , Version 2 . 0 ( the " License " ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing , software
* distributed under the License is distributed on an " AS IS " BASIS ,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
* See the License for the specific language governing permissions and
* limitations under the License .
*/
// ./test/core/simd/simd_store.wast
// ./test/core/simd/simd_store.wast:3
let $0 = instantiate(`(module
(memory 1 )
(func (export "v128.store_i8x16" ) (result v128)
(v128.store (i32.const 0 ) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ))
(v128.load (i32.const 0 ))
)
(func (export "v128.store_i16x8" ) (result v128)
(v128.store (i32.const 0 ) (v128.const i16x8 0 1 2 3 4 5 6 7 ))
(v128.load (i32.const 0 ))
)
(func (export "v128.store_i16x8_2" ) (result v128)
(v128.store (i32.const 0 ) (v128.const i16x8 012 _345 012 _345 012 _345 012 _345 012 _345 012 _345 012 _345 012 _345 ))
(v128.load (i32.const 0 ))
)
(func (export "v128.store_i16x8_3" ) (result v128)
(v128.store (i32.const 0 ) (v128.const i16x8 0 x0_1234 0 x0_1234 0 x0_1234 0 x0_1234 0 x0_1234 0 x0_1234 0 x0_1234 0 x0_1234))
(v128.load (i32.const 0 ))
)
(func (export "v128.store_i32x4" ) (result v128)
(v128.store (i32.const 0 ) (v128.const i32x4 0 1 2 3 ))
(v128.load (i32.const 0 ))
)
(func (export "v128.store_i32x4_2" ) (result v128)
(v128.store (i32.const 0 ) (v128.const i32x4 0 _123 _456 _789 0 _123 _456 _789 0 _123 _456 _789 0 _123 _456 _789 ))
(v128.load (i32.const 0 ))
)
(func (export "v128.store_i32x4_3" ) (result v128)
(v128.store (i32.const 0 ) (v128.const i32x4 0 x0_1234_5678 0 x0_1234_5678 0 x0_1234_5678 0 x0_1234_5678))
(v128.load (i32.const 0 ))
)
(func (export "v128.store_f32x4" ) (result v128)
(v128.store (i32.const 0 ) (v128.const f32x4 0 1 2 3 ))
(v128.load (i32.const 0 ))
)
)`);
// ./test/core/simd/simd_store.wast:40
assert_return(
() => invoke($0 , `v128.store_i8x16`, []),
[
i8x16([0 x0, 0 x1, 0 x2, 0 x3, 0 x4, 0 x5, 0 x6, 0 x7, 0 x8, 0 x9, 0 xa, 0 xb, 0 xc, 0 xd, 0 xe, 0 xf]),
],
);
// ./test/core/simd/simd_store.wast:41
assert_return(() => invoke($0 , `v128.store_i16x8`, []), [i16x8([0 x0, 0 x1, 0 x2, 0 x3, 0 x4, 0 x5, 0 x6, 0 x7])]);
// ./test/core/simd/simd_store.wast:42
assert_return(
() => invoke($0 , `v128.store_i16x8_2`, []),
[i16x8([0 x3039, 0 x3039, 0 x3039, 0 x3039, 0 x3039, 0 x3039, 0 x3039, 0 x3039])],
);
// ./test/core/simd/simd_store.wast:43
assert_return(
() => invoke($0 , `v128.store_i16x8_3`, []),
[i16x8([0 x1234, 0 x1234, 0 x1234, 0 x1234, 0 x1234, 0 x1234, 0 x1234, 0 x1234])],
);
// ./test/core/simd/simd_store.wast:44
assert_return(() => invoke($0 , `v128.store_i32x4`, []), [i32x4([0 x0, 0 x1, 0 x2, 0 x3])]);
// ./test/core/simd/simd_store.wast:45
assert_return(
() => invoke($0 , `v128.store_i32x4_2`, []),
[i32x4([0 x75bcd15, 0 x75bcd15, 0 x75bcd15, 0 x75bcd15])],
);
// ./test/core/simd/simd_store.wast:46
assert_return(
() => invoke($0 , `v128.store_i32x4_3`, []),
[i32x4([0 x12345678, 0 x12345678, 0 x12345678, 0 x12345678])],
);
// ./test/core/simd/simd_store.wast:47
assert_return(
() => invoke($0 , `v128.store_f32x4`, []),
[
new F32x4Pattern(
value("f32" , 0 ),
value("f32" , 1 ),
value("f32" , 2 ),
value("f32" , 3 ),
),
],
);
// ./test/core/simd/simd_store.wast:52
let $1 = instantiate(`(module
(memory 1 )
(func (export "as-block-value" )
(block (v128.store (i32.const 0 ) (v128.const i32x4 0 0 0 0 )))
)
(func (export "as-loop-value" )
(loop (v128.store (i32.const 0 ) (v128.const i32x4 0 0 0 0 )))
)
(func (export "as-br-value" )
(block (br 0 (v128.store (i32.const 0 ) (v128.const i32x4 0 0 0 0 ))))
)
(func (export "as-br_if-value" )
(block
(br_if 0 (v128.store (i32.const 0 ) (v128.const i32x4 0 0 0 0 )) (i32.const 1 ))
)
)
(func (export "as-br_if-value-cond" )
(block
(br_if 0 (i32.const 6 ) (v128.store (i32.const 0 ) (v128.const i32x4 0 0 0 0 )))
)
)
(func (export "as-br_table-value" )
(block
(br_table 0 (v128.store (i32.const 0 ) (v128.const i32x4 0 0 0 0 )) (i32.const 1 ))
)
)
(func (export "as-return-value" )
(return (v128.store (i32.const 0 ) (v128.const i32x4 0 0 0 0 )))
)
(func (export "as-if-then" )
(if (i32.const 1 ) (then (v128.store (i32.const 0 ) (v128.const i32x4 0 0 0 0 ))))
)
(func (export "as-if-else" )
(if (i32.const 0 ) (then) (else (v128.store (i32.const 0 ) (v128.const i32x4 0 0 0 0 ))))
)
)`);
// ./test/core/simd/simd_store.wast:89
assert_return(() => invoke($1 , `as-block-value`, []), []);
// ./test/core/simd/simd_store.wast:90
assert_return(() => invoke($1 , `as-loop-value`, []), []);
// ./test/core/simd/simd_store.wast:91
assert_return(() => invoke($1 , `as-br-value`, []), []);
// ./test/core/simd/simd_store.wast:92
assert_return(() => invoke($1 , `as-br_if-value`, []), []);
// ./test/core/simd/simd_store.wast:93
assert_return(() => invoke($1 , `as-br_if-value-cond`, []), []);
// ./test/core/simd/simd_store.wast:94
assert_return(() => invoke($1 , `as-br_table-value`, []), []);
// ./test/core/simd/simd_store.wast:95
assert_return(() => invoke($1 , `as-return -value`, []), []);
// ./test/core/simd/simd_store.wast:96
assert_return(() => invoke($1 , `as-if -then`, []), []);
// ./test/core/simd/simd_store.wast:97
assert_return(() => invoke($1 , `as-if -else `, []), []);
// ./test/core/simd/simd_store.wast:102
assert_malformed(
() => instantiate(`(memory 1 ) (func (v128.store8 (i32.const 0 ) (v128.const i32x4 0 0 0 0 ))) `),
`unknown operator`,
);
// ./test/core/simd/simd_store.wast:109
assert_malformed(
() => instantiate(`(memory 1 ) (func (v128.store16 (i32.const 0 ) (v128.const i32x4 0 0 0 0 ))) `),
`unknown operator`,
);
// ./test/core/simd/simd_store.wast:116
assert_malformed(
() => instantiate(`(memory 1 ) (func (v128.store32 (i32.const 0 ) (v128.const i32x4 0 0 0 0 ))) `),
`unknown operator`,
);
// ./test/core/simd/simd_store.wast:127
assert_invalid(
() => instantiate(`(module (memory 1 ) (func (v128.store (f32.const 0 ) (v128.const i32x4 0 0 0 0 ))))`),
`type mismatch`,
);
// ./test/core/simd/simd_store.wast:131
assert_invalid(
() => instantiate(`(module (memory 1 ) (func (local v128) (block (br_if 0 (v128.store)))))`),
`type mismatch`,
);
// ./test/core/simd/simd_store.wast:135
assert_invalid(
() => instantiate(`(module (memory 1 ) (func (result v128) (v128.store (i32.const 0 ) (v128.const i32x4 0 0 0 0 ))))`),
`type mismatch`,
);
// ./test/core/simd/simd_store.wast:143
assert_invalid(
() => instantiate(`(module (memory 0 )
(func $$v128.store-1 st-arg-empty
(v128.store (v128.const i32x4 0 0 0 0 ))
)
)`),
`type mismatch`,
);
// ./test/core/simd/simd_store.wast:151
assert_invalid(
() => instantiate(`(module (memory 0 )
(func $$v128.store-2 nd-arg-empty
(v128.store (i32.const 0 ))
)
)`),
`type mismatch`,
);
// ./test/core/simd/simd_store.wast:159
assert_invalid(
() => instantiate(`(module (memory 0 )
(func $$v128.store-arg-empty
(v128.store)
)
)`),
`type mismatch`,
);
Messung V0.5 in Prozent C=89 H=99 G=94
¤ Dauer der Verarbeitung: 0.5 Sekunden
¤
*© Formatika GbR, Deutschland