util: simplify SIMD setup
PR-URL: https://github.com/nodejs/node/pull/8579 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
This commit is contained in:
parent
9391cb0fde
commit
5f29947230
44
lib/util.js
44
lib/util.js
@ -38,35 +38,23 @@ if (typeof global.SIMD === 'object' && global.SIMD !== null) {
|
|||||||
|
|
||||||
const SIMD = global.SIMD; // Pacify eslint.
|
const SIMD = global.SIMD; // Pacify eslint.
|
||||||
|
|
||||||
if (typeof SIMD.Bool16x8 === 'function')
|
const countPerType = {
|
||||||
simdFormatters.set(SIMD.Bool16x8, make(SIMD.Bool16x8.extractLane, 8));
|
Bool16x8: 8,
|
||||||
|
Bool32x4: 4,
|
||||||
|
Bool8x16: 16,
|
||||||
|
Float32x4: 4,
|
||||||
|
Int16x8: 8,
|
||||||
|
Int32x4: 4,
|
||||||
|
Int8x16: 16,
|
||||||
|
Uint16x8: 8,
|
||||||
|
Uint32x4: 4,
|
||||||
|
Uint8x16: 16
|
||||||
|
};
|
||||||
|
|
||||||
if (typeof SIMD.Bool32x4 === 'function')
|
for (const key in countPerType) {
|
||||||
simdFormatters.set(SIMD.Bool32x4, make(SIMD.Bool32x4.extractLane, 4));
|
const type = SIMD[key];
|
||||||
|
simdFormatters.set(type, make(type.extractLane, countPerType[key]));
|
||||||
if (typeof SIMD.Bool8x16 === 'function')
|
}
|
||||||
simdFormatters.set(SIMD.Bool8x16, make(SIMD.Bool8x16.extractLane, 16));
|
|
||||||
|
|
||||||
if (typeof SIMD.Float32x4 === 'function')
|
|
||||||
simdFormatters.set(SIMD.Float32x4, make(SIMD.Float32x4.extractLane, 4));
|
|
||||||
|
|
||||||
if (typeof SIMD.Int16x8 === 'function')
|
|
||||||
simdFormatters.set(SIMD.Int16x8, make(SIMD.Int16x8.extractLane, 8));
|
|
||||||
|
|
||||||
if (typeof SIMD.Int32x4 === 'function')
|
|
||||||
simdFormatters.set(SIMD.Int32x4, make(SIMD.Int32x4.extractLane, 4));
|
|
||||||
|
|
||||||
if (typeof SIMD.Int8x16 === 'function')
|
|
||||||
simdFormatters.set(SIMD.Int8x16, make(SIMD.Int8x16.extractLane, 16));
|
|
||||||
|
|
||||||
if (typeof SIMD.Uint16x8 === 'function')
|
|
||||||
simdFormatters.set(SIMD.Uint16x8, make(SIMD.Uint16x8.extractLane, 8));
|
|
||||||
|
|
||||||
if (typeof SIMD.Uint32x4 === 'function')
|
|
||||||
simdFormatters.set(SIMD.Uint32x4, make(SIMD.Uint32x4.extractLane, 4));
|
|
||||||
|
|
||||||
if (typeof SIMD.Uint8x16 === 'function')
|
|
||||||
simdFormatters.set(SIMD.Uint8x16, make(SIMD.Uint8x16.extractLane, 16));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function tryStringify(arg) {
|
function tryStringify(arg) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user