diff options
Diffstat (limited to 'src/js/binaryen.js-post.js')
-rw-r--r-- | src/js/binaryen.js-post.js | 184 |
1 files changed, 64 insertions, 120 deletions
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index bafbaa480..4c8a8c91e 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -359,9 +359,9 @@ function initializeConstants() { 'XorVec128', 'AndNotVec128', 'BitselectVec128', + 'AnyTrueVec128', 'AbsVecI8x16', 'NegVecI8x16', - 'AnyTrueVecI8x16', 'AllTrueVecI8x16', 'BitmaskVecI8x16', 'ShlVecI8x16', @@ -373,7 +373,6 @@ function initializeConstants() { 'SubVecI8x16', 'SubSatSVecI8x16', 'SubSatUVecI8x16', - 'MulVecI8x16', 'MinSVecI8x16', 'MinUVecI8x16', 'MaxSVecI8x16', @@ -381,7 +380,6 @@ function initializeConstants() { 'AvgrUVecI8x16', 'AbsVecI16x8', 'NegVecI16x8', - 'AnyTrueVecI16x8', 'AllTrueVecI16x8', 'BitmaskVecI16x8', 'ShlVecI16x8', @@ -402,7 +400,6 @@ function initializeConstants() { 'DotSVecI16x8ToVecI32x4', 'AbsVecI32x4', 'NegVecI32x4', - 'AnyTrueVecI32x4', 'AllTrueVecI32x4', 'BitmaskVecI32x4', 'ShlVecI32x4', @@ -425,8 +422,6 @@ function initializeConstants() { 'AbsVecF32x4', 'NegVecF32x4', 'SqrtVecF32x4', - 'QFMAVecF32x4', - 'QFMSVecF32x4', 'AddVecF32x4', 'SubVecF32x4', 'MulVecF32x4', @@ -442,8 +437,6 @@ function initializeConstants() { 'AbsVecF64x2', 'NegVecF64x2', 'SqrtVecF64x2', - 'QFMAVecF64x2', - 'QFMSVecF64x2', 'AddVecF64x2', 'SubVecF64x2', 'MulVecF64x2', @@ -458,12 +451,8 @@ function initializeConstants() { 'NearestVecF64x2', 'TruncSatSVecF32x4ToVecI32x4', 'TruncSatUVecF32x4ToVecI32x4', - 'TruncSatSVecF64x2ToVecI64x2', - 'TruncSatUVecF64x2ToVecI64x2', 'ConvertSVecI32x4ToVecF32x4', 'ConvertUVecI32x4ToVecF32x4', - 'ConvertSVecI64x2ToVecF64x2', - 'ConvertUVecI64x2ToVecF64x2', 'LoadSplatVec8x16', 'LoadSplatVec16x8', 'LoadSplatVec32x4', @@ -478,14 +467,14 @@ function initializeConstants() { 'NarrowUVecI16x8ToVecI8x16', 'NarrowSVecI32x4ToVecI16x8', 'NarrowUVecI32x4ToVecI16x8', - 'WidenLowSVecI8x16ToVecI16x8', - 'WidenHighSVecI8x16ToVecI16x8', - 'WidenLowUVecI8x16ToVecI16x8', - 'WidenHighUVecI8x16ToVecI16x8', - 'WidenLowSVecI16x8ToVecI32x4', - 'WidenHighSVecI16x8ToVecI32x4', - 'WidenLowUVecI16x8ToVecI32x4', - 'WidenHighUVecI16x8ToVecI32x4', + 'ExtendLowSVecI8x16ToVecI16x8', + 'ExtendHighSVecI8x16ToVecI16x8', + 'ExtendLowUVecI8x16ToVecI16x8', + 'ExtendHighUVecI8x16ToVecI16x8', + 'ExtendLowSVecI16x8ToVecI32x4', + 'ExtendHighSVecI16x8ToVecI32x4', + 'ExtendLowUVecI16x8ToVecI32x4', + 'ExtendHighUVecI16x8ToVecI32x4', 'SwizzleVec8x16', 'RefIsNull', 'RefIsFunc', @@ -1434,6 +1423,36 @@ function wrapModule(module, self = {}) { 'load'(offset, align, ptr) { return Module['_BinaryenLoad'](module, 16, false, offset, align, Module['v128'], ptr); }, + 'load8_splat'(offset, align, ptr) { + return Module['_BinaryenSIMDLoad'](module, Module['LoadSplatVec8x16'], offset, align, ptr); + }, + 'load16_splat'(offset, align, ptr) { + return Module['_BinaryenSIMDLoad'](module, Module['LoadSplatVec16x8'], offset, align, ptr); + }, + 'load32_splat'(offset, align, ptr) { + return Module['_BinaryenSIMDLoad'](module, Module['LoadSplatVec32x4'], offset, align, ptr); + }, + 'load64_splat'(offset, align, ptr) { + return Module['_BinaryenSIMDLoad'](module, Module['LoadSplatVec64x2'], offset, align, ptr); + }, + 'load8x8_s'(offset, align, ptr) { + return Module['_BinaryenSIMDLoad'](module, Module['LoadExtSVec8x8ToVecI16x8'], offset, align, ptr); + }, + 'load8x8_u'(offset, align, ptr) { + return Module['_BinaryenSIMDLoad'](module, Module['LoadExtUVec8x8ToVecI16x8'], offset, align, ptr); + }, + 'load16x4_s'(offset, align, ptr) { + return Module['_BinaryenSIMDLoad'](module, Module['LoadExtSVec16x4ToVecI32x4'], offset, align, ptr); + }, + 'load16x4_u'(offset, align, ptr) { + return Module['_BinaryenSIMDLoad'](module, Module['LoadExtUVec16x4ToVecI32x4'], offset, align, ptr); + }, + 'load32x2_s'(offset, align, ptr) { + return Module['_BinaryenSIMDLoad'](module, Module['LoadExtSVec32x2ToVecI64x2'], offset, align, ptr); + }, + 'load32x2_u'(offset, align, ptr) { + return Module['_BinaryenSIMDLoad'](module, Module['LoadExtUVec32x2ToVecI64x2'], offset, align, ptr); + }, 'store'(offset, align, ptr, value) { return Module['_BinaryenStore'](module, 16, offset, align, ptr, value, Module['v128']); }, @@ -1447,6 +1466,9 @@ function wrapModule(module, self = {}) { 'not'(value) { return Module['_BinaryenUnary'](module, Module['NotVec128'], value); }, + 'any_true'(value) { + return Module['_BinaryenUnary'](module, Module['AnyTrueVec128'], value); + }, 'and'(left, right) { return Module['_BinaryenBinary'](module, Module['AndVec128'], left, right); }, @@ -1468,6 +1490,12 @@ function wrapModule(module, self = {}) { }; self['i8x16'] = { + 'shuffle'(left, right, mask) { + return preserveStack(() => Module['_BinaryenSIMDShuffle'](module, left, right, i8sToStack(mask))); + }, + 'swizzle'(left, right) { + return Module['_BinaryenBinary'](module, Module['SwizzleVec8x16'], left, right); + }, 'splat'(value) { return Module['_BinaryenUnary'](module, Module['SplatVecI8x16'], value); }, @@ -1516,9 +1544,6 @@ function wrapModule(module, self = {}) { 'neg'(value) { return Module['_BinaryenUnary'](module, Module['NegVecI8x16'], value); }, - 'any_true'(value) { - return Module['_BinaryenUnary'](module, Module['AnyTrueVecI8x16'], value); - }, 'all_true'(value) { return Module['_BinaryenUnary'](module, Module['AllTrueVecI8x16'], value); }, @@ -1552,9 +1577,6 @@ function wrapModule(module, self = {}) { 'sub_saturate_u'(left, right) { return Module['_BinaryenBinary'](module, Module['SubSatUVecI8x16'], left, right); }, - 'mul'(left, right) { - return Module['_BinaryenBinary'](module, Module['MulVecI8x16'], left, right); - }, 'min_s'(left, right) { return Module['_BinaryenBinary'](module, Module['MinSVecI8x16'], left, right); }, @@ -1627,9 +1649,6 @@ function wrapModule(module, self = {}) { 'neg'(value) { return Module['_BinaryenUnary'](module, Module['NegVecI16x8'], value); }, - 'any_true'(value) { - return Module['_BinaryenUnary'](module, Module['AnyTrueVecI16x8'], value); - }, 'all_true'(value) { return Module['_BinaryenUnary'](module, Module['AllTrueVecI16x8'], value); }, @@ -1687,23 +1706,17 @@ function wrapModule(module, self = {}) { 'narrow_i32x4_u'(left, right) { return Module['_BinaryenBinary'](module, Module['NarrowUVecI32x4ToVecI16x8'], left, right); }, - 'widen_low_i8x16_s'(value) { - return Module['_BinaryenUnary'](module, Module['WidenLowSVecI8x16ToVecI16x8'], value); + 'extend_low_i8x16_s'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendLowSVecI8x16ToVecI16x8'], value); }, - 'widen_high_i8x16_s'(value) { - return Module['_BinaryenUnary'](module, Module['WidenHighSVecI8x16ToVecI16x8'], value); + 'extend_high_i8x16_s'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendHighSVecI8x16ToVecI16x8'], value); }, - 'widen_low_i8x16_u'(value) { - return Module['_BinaryenUnary'](module, Module['WidenLowUVecI8x16ToVecI16x8'], value); + 'extend_low_i8x16_u'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendLowUVecI8x16ToVecI16x8'], value); }, - 'widen_high_i8x16_u'(value) { - return Module['_BinaryenUnary'](module, Module['WidenHighUVecI8x16ToVecI16x8'], value); - }, - 'load8x8_s'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['LoadExtSVec8x8ToVecI16x8'], offset, align, ptr); - }, - 'load8x8_u'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['LoadExtUVec8x8ToVecI16x8'], offset, align, ptr); + 'extend_high_i8x16_u'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendHighUVecI8x16ToVecI16x8'], value); }, }; @@ -1753,9 +1766,6 @@ function wrapModule(module, self = {}) { 'neg'(value) { return Module['_BinaryenUnary'](module, Module['NegVecI32x4'], value); }, - 'any_true'(value) { - return Module['_BinaryenUnary'](module, Module['AnyTrueVecI32x4'], value); - }, 'all_true'(value) { return Module['_BinaryenUnary'](module, Module['AllTrueVecI32x4'], value); }, @@ -1801,23 +1811,17 @@ function wrapModule(module, self = {}) { 'trunc_sat_f32x4_u'(value) { return Module['_BinaryenUnary'](module, Module['TruncSatUVecF32x4ToVecI32x4'], value); }, - 'widen_low_i16x8_s'(value) { - return Module['_BinaryenUnary'](module, Module['WidenLowSVecI16x8ToVecI32x4'], value); + 'extend_low_i16x8_s'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendLowSVecI16x8ToVecI32x4'], value); }, - 'widen_high_i16x8_s'(value) { - return Module['_BinaryenUnary'](module, Module['WidenHighSVecI16x8ToVecI32x4'], value); + 'extend_high_i16x8_s'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendHighSVecI16x8ToVecI32x4'], value); }, - 'widen_low_i16x8_u'(value) { - return Module['_BinaryenUnary'](module, Module['WidenLowUVecI16x8ToVecI32x4'], value); - }, - 'widen_high_i16x8_u'(value) { - return Module['_BinaryenUnary'](module, Module['WidenHighUVecI16x8ToVecI32x4'], value); - }, - 'load16x4_s'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['LoadExtSVec16x4ToVecI32x4'], offset, align, ptr); + 'extend_low_i16x8_u'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendLowUVecI16x8ToVecI32x4'], value); }, - 'load16x4_u'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['LoadExtUVec16x4ToVecI32x4'], offset, align, ptr); + 'extend_high_i16x8_u'(value) { + return Module['_BinaryenUnary'](module, Module['ExtendHighUVecI16x8ToVecI32x4'], value); }, }; @@ -1852,18 +1856,6 @@ function wrapModule(module, self = {}) { 'mul'(left, right) { return Module['_BinaryenBinary'](module, Module['MulVecI64x2'], left, right); }, - 'trunc_sat_f64x2_s'(value) { - return Module['_BinaryenUnary'](module, Module['TruncSatSVecF64x2ToVecI64x2'], value); - }, - 'trunc_sat_f64x2_u'(value) { - return Module['_BinaryenUnary'](module, Module['TruncSatUVecF64x2ToVecI64x2'], value); - }, - 'load32x2_s'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['LoadExtSVec32x2ToVecI64x2'], offset, align, ptr); - }, - 'load32x2_u'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['LoadExtUVec32x2ToVecI64x2'], offset, align, ptr); - }, }; self['f32x4'] = { @@ -1903,12 +1895,6 @@ function wrapModule(module, self = {}) { 'sqrt'(value) { return Module['_BinaryenUnary'](module, Module['SqrtVecF32x4'], value); }, - 'qfma'(a, b, c) { - return Module['_BinaryenSIMDTernary'](module, Module['QFMAVecF32x4'], a, b, c); - }, - 'qfms'(a, b, c) { - return Module['_BinaryenSIMDTernary'](module, Module['QFMSVecF32x4'], a, b, c); - }, 'add'(left, right) { return Module['_BinaryenBinary'](module, Module['AddVecF32x4'], left, right); }, @@ -1990,12 +1976,6 @@ function wrapModule(module, self = {}) { 'sqrt'(value) { return Module['_BinaryenUnary'](module, Module['SqrtVecF64x2'], value); }, - 'qfma'(a, b, c) { - return Module['_BinaryenSIMDTernary'](module, Module['QFMAVecF64x2'], a, b, c); - }, - 'qfms'(a, b, c) { - return Module['_BinaryenSIMDTernary'](module, Module['QFMSVecF64x2'], a, b, c); - }, 'add'(left, right) { return Module['_BinaryenBinary'](module, Module['AddVecF64x2'], left, right); }, @@ -2032,42 +2012,6 @@ function wrapModule(module, self = {}) { 'nearest'(value) { return Module['_BinaryenUnary'](module, Module['NearestVecF64x2'], value); }, - 'convert_i64x2_s'(value) { - return Module['_BinaryenUnary'](module, Module['ConvertSVecI64x2ToVecF64x2'], value); - }, - 'convert_i64x2_u'(value) { - return Module['_BinaryenUnary'](module, Module['ConvertUVecI64x2ToVecF64x2'], value); - }, - }; - - self['v8x16'] = { - 'shuffle'(left, right, mask) { - return preserveStack(() => Module['_BinaryenSIMDShuffle'](module, left, right, i8sToStack(mask))); - }, - 'swizzle'(left, right) { - return Module['_BinaryenBinary'](module, Module['SwizzleVec8x16'], left, right); - }, - 'load_splat'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['LoadSplatVec8x16'], offset, align, ptr); - }, - }; - - self['v16x8'] = { - 'load_splat'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['LoadSplatVec16x8'], offset, align, ptr); - }, - }; - - self['v32x4'] = { - 'load_splat'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['LoadSplatVec32x4'], offset, align, ptr); - }, - }; - - self['v64x2'] = { - 'load_splat'(offset, align, ptr) { - return Module['_BinaryenSIMDLoad'](module, Module['LoadSplatVec64x2'], offset, align, ptr); - }, }; self['funcref'] = { |