From 5f2994723048f6d433cece23af0e11bdd97e0896 Mon Sep 17 00:00:00 2001 From: Dany Shaanan Date: Sat, 17 Sep 2016 10:34:13 +0200 Subject: [PATCH] util: simplify SIMD setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/8579 Reviewed-By: Michaƫl Zasso Reviewed-By: Anna Henningsen Reviewed-By: Ilkka Myller --- lib/util.js | 44 ++++++++++++++++---------------------------- 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/lib/util.js b/lib/util.js index 245b1963932..2d7ba651639 100644 --- a/lib/util.js +++ b/lib/util.js @@ -38,35 +38,23 @@ if (typeof global.SIMD === 'object' && global.SIMD !== null) { const SIMD = global.SIMD; // Pacify eslint. - if (typeof SIMD.Bool16x8 === 'function') - simdFormatters.set(SIMD.Bool16x8, make(SIMD.Bool16x8.extractLane, 8)); + const countPerType = { + 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') - simdFormatters.set(SIMD.Bool32x4, make(SIMD.Bool32x4.extractLane, 4)); - - 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)); + for (const key in countPerType) { + const type = SIMD[key]; + simdFormatters.set(type, make(type.extractLane, countPerType[key])); + } } function tryStringify(arg) {