summaryrefslogtreecommitdiff
path: root/src/js
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2018-12-04 10:30:35 -0800
committerGitHub <noreply@github.com>2018-12-04 10:30:35 -0800
commitbebbeb54f177bdc2cfdff71d6a256a35f2f2057b (patch)
tree80609eb177ddab4edae30323d42152e9ab59ba9b /src/js
parentb4badb815ec844e438a05d501eafb6bb99383bc6 (diff)
downloadbinaryen-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.js40
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);
},