PR-URL: https://github.com/nodejs/node/pull/58070 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
41 lines
1002 B
JavaScript
41 lines
1002 B
JavaScript
// Copyright 2024 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Flags: --no-enable-sse4-2
|
|
|
|
d8.file.execute('test/mjsunit/wasm/wasm-module-builder.js');
|
|
|
|
let builder = new WasmModuleBuilder();
|
|
let sig = builder.addType(kSig_i_v);
|
|
|
|
let instructions = [
|
|
'I32x4MinU',
|
|
'I16x8MinU',
|
|
'I16x8UConvertI32x4',
|
|
'I8x16MinS',
|
|
'I32x4MinS',
|
|
'I8x16MaxS',
|
|
'I32x4MaxS',
|
|
'I16x8MaxU',
|
|
'I32x4MaxU',
|
|
'I32x4Mul'
|
|
];
|
|
|
|
// Add a simple function for each instruction.
|
|
for (let instr of instructions) {
|
|
builder.addFunction(`${instr}`, sig).addBody([
|
|
kSimdPrefix, kExprS128Const, ...(new Array(16).fill(0)),
|
|
kSimdPrefix, kExprS128Const, ...(new Array(16).fill(0)),
|
|
...SimdInstr(eval('kExpr' + `${instr}`)),
|
|
kSimdPrefix, kExprI8x16AllTrue,
|
|
]).exportFunc();
|
|
}
|
|
|
|
let instance = builder.instantiate();
|
|
|
|
// Call each function.
|
|
for (let instr of instructions) {
|
|
instance.exports[instr]();
|
|
}
|