diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2018-12-04 10:30:35 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-04 10:30:35 -0800 |
commit | bebbeb54f177bdc2cfdff71d6a256a35f2f2057b (patch) | |
tree | 80609eb177ddab4edae30323d42152e9ab59ba9b /src/js | |
parent | b4badb815ec844e438a05d501eafb6bb99383bc6 (diff) | |
download | binaryen-bebbeb54f177bdc2cfdff71d6a256a35f2f2057b.tar.gz binaryen-bebbeb54f177bdc2cfdff71d6a256a35f2f2057b.tar.bz2 binaryen-bebbeb54f177bdc2cfdff71d6a256a35f2f2057b.zip |
Implement nontrapping float-to-int instructions (#1780)
Diffstat (limited to 'src/js')
-rw-r--r-- | src/js/binaryen.js-post.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 06688d706..b63427935 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -101,6 +101,14 @@ Module['TruncSFloat64ToInt32'] = Module['_BinaryenTruncSFloat64ToInt32'](); Module['TruncSFloat64ToInt64'] = Module['_BinaryenTruncSFloat64ToInt64'](); Module['TruncUFloat64ToInt32'] = Module['_BinaryenTruncUFloat64ToInt32'](); Module['TruncUFloat64ToInt64'] = Module['_BinaryenTruncUFloat64ToInt64'](); +Module['TruncSatSFloat32ToInt32'] = Module['_BinaryenTruncSatSFloat32ToInt32'](); +Module['TruncSatSFloat32ToInt64'] = Module['_BinaryenTruncSatSFloat32ToInt64'](); +Module['TruncSatUFloat32ToInt32'] = Module['_BinaryenTruncSatUFloat32ToInt32'](); +Module['TruncSatUFloat32ToInt64'] = Module['_BinaryenTruncSatUFloat32ToInt64'](); +Module['TruncSatSFloat64ToInt32'] = Module['_BinaryenTruncSatSFloat64ToInt32'](); +Module['TruncSatSFloat64ToInt64'] = Module['_BinaryenTruncSatSFloat64ToInt64'](); +Module['TruncSatUFloat64ToInt32'] = Module['_BinaryenTruncSatUFloat64ToInt32'](); +Module['TruncSatUFloat64ToInt64'] = Module['_BinaryenTruncSatUFloat64ToInt64'](); Module['ReinterpretFloat32'] = Module['_BinaryenReinterpretFloat32'](); Module['ReinterpretFloat64'] = Module['_BinaryenReinterpretFloat64'](); Module['ConvertSInt32ToFloat32'] = Module['_BinaryenConvertSInt32ToFloat32'](); @@ -354,6 +362,22 @@ function wrapModule(module, self) { return Module['_BinaryenUnary'](module, Module['TruncUFloat64ToInt32'], value); }, }, + 'trunc_s_sat': { + 'f32': function(value) { + return Module['_BinaryenUnary'](module, Module['TruncSatSFloat32ToInt32'], value); + }, + 'f64': function(value) { + return Module['_BinaryenUnary'](module, Module['TruncSatSFloat64ToInt32'], value); + }, + }, + 'trunc_u_sat': { + 'f32': function(value) { + return Module['_BinaryenUnary'](module, Module['TruncSatUFloat32ToInt32'], value); + }, + 'f64': function(value) { + return Module['_BinaryenUnary'](module, Module['TruncSatUFloat64ToInt32'], value); + }, + }, 'reinterpret': function(value) { return Module['_BinaryenUnary'](module, Module['ReinterpretFloat32'], value); }, @@ -601,6 +625,22 @@ function wrapModule(module, self) { return Module['_BinaryenUnary'](module, Module['TruncUFloat64ToInt64'], value); }, }, + 'trunc_s_sat': { + 'f32': function(value) { + return Module['_BinaryenUnary'](module, Module['TruncSatSFloat32ToInt64'], value); + }, + 'f64': function(value) { + return Module['_BinaryenUnary'](module, Module['TruncSatSFloat64ToInt64'], value); + }, + }, + 'trunc_u_sat': { + 'f32': function(value) { + return Module['_BinaryenUnary'](module, Module['TruncSatUFloat32ToInt64'], value); + }, + 'f64': function(value) { + return Module['_BinaryenUnary'](module, Module['TruncSatUFloat64ToInt64'], value); + }, + }, 'reinterpret': function(value) { return Module['_BinaryenUnary'](module, Module['ReinterpretFloat64'], value); }, |