From a36c455f6a2e9fa48751c985fa49b33ce94277c4 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Wed, 7 Apr 2021 23:27:06 +0200 Subject: Add i64x2.extend_low/high_* SIMD instructions to C/JS API (#3778) Adds C/JS APIs for the SIMD instructions * ExtendLowSVecI32x4ToVecI64x2 * ExtendHighSVecI32x4ToVecI64x2 * ExtendLowUVecI32x4ToVecI64x2 * ExtendHighUVecI32x4ToVecI64x2 --- src/js/binaryen.js-post.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/js/binaryen.js-post.js') diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index f5ab04642..80affeefc 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -485,6 +485,10 @@ function initializeConstants() { 'ExtendHighSVecI16x8ToVecI32x4', 'ExtendLowUVecI16x8ToVecI32x4', 'ExtendHighUVecI16x8ToVecI32x4', + 'ExtendLowSVecI32x4ToVecI64x2', + 'ExtendHighSVecI32x4ToVecI64x2', + 'ExtendLowUVecI32x4ToVecI64x2', + 'ExtendHighUVecI32x4ToVecI64x2', 'SwizzleVec8x16', 'RefIsNull', 'RefIsFunc', @@ -1896,6 +1900,18 @@ function wrapModule(module, self = {}) { 'mul'(left, right) { return Module['_BinaryenBinary'](module, Module['MulVecI64x2'], left, right); }, + 'extend_low_i32x4_s'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendLowSVecI32x4ToVecI64x2'], value); + }, + 'extend_high_i32x4_s'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendHighSVecI32x4ToVecI64x2'], value); + }, + 'extend_low_i32x4_u'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendLowUVecI32x4ToVecI64x2'], value); + }, + 'extend_high_i32x4_u'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendHighUVecI32x4ToVecI64x2'], value); + }, }; self['f32x4'] = { -- cgit v1.2.3