summaryrefslogtreecommitdiff
path: root/src/js
diff options
context:
space:
mode:
authorDaniel Wirtz <dcode@dcode.io>2021-05-25 04:37:21 +0200
committerGitHub <noreply@github.com>2021-05-25 04:37:21 +0200
commit994757a6747793effc8e4bdda13c47ab7337afb8 (patch)
tree668aac8f4a91e6d59188d05cd3e5e6054cc9e5ef /src/js
parent24d71aa0146a6dacfce5d84a11c88195e66eee0a (diff)
downloadbinaryen-994757a6747793effc8e4bdda13c47ab7337afb8.tar.gz
binaryen-994757a6747793effc8e4bdda13c47ab7337afb8.tar.bz2
binaryen-994757a6747793effc8e4bdda13c47ab7337afb8.zip
Add SIMDLoadStoreLane get/setters to C/JS API (#3904)
Diffstat (limited to 'src/js')
-rw-r--r--src/js/binaryen.js-post.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index 96dad5e7b..8e0120e36 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -82,6 +82,7 @@ function initializeConstants() {
'SIMDTernary',
'SIMDShift',
'SIMDLoad',
+ 'SIMDLoadStoreLane',
'MemoryInit',
'DataDrop',
'MemoryCopy',
@@ -2998,6 +2999,17 @@ Module['getExpressionInfo'] = function(expr) {
'align': Module['_BinaryenSIMDLoadGetAlign'](expr),
'ptr': Module['_BinaryenSIMDLoadGetPtr'](expr)
};
+ case Module['SIMDLoadStoreLaneId']:
+ return {
+ 'id': id,
+ 'type': type,
+ 'op': Module['_BinaryenSIMDLoadStoreLaneGetOp'](expr),
+ 'offset': Module['_BinaryenSIMDLoadStoreLaneGetOffset'](expr),
+ 'align': Module['_BinaryenSIMDLoadStoreLaneGetAlign'](expr),
+ 'index': Module['_BinaryenSIMDLoadStoreLaneGetIndex'](expr),
+ 'ptr': Module['_BinaryenSIMDLoadStoreLaneGetPtr'](expr),
+ 'vec': Module['_BinaryenSIMDLoadStoreLaneGetVec'](expr)
+ };
case Module['MemoryInitId']:
return {
'id': id,
@@ -4243,6 +4255,48 @@ Module['SIMDLoad'] = makeExpressionWrapper({
}
});
+Module['SIMDLoadStoreLane'] = makeExpressionWrapper({
+ 'getOp'(expr) {
+ return Module['_BinaryenSIMDLoadStoreLaneGetOp'](expr);
+ },
+ 'setOp'(expr, op) {
+ Module['_BinaryenSIMDLoadStoreLaneSetOp'](expr, op);
+ },
+ 'getOffset'(expr) {
+ return Module['_BinaryenSIMDLoadStoreLaneGetOffset'](expr);
+ },
+ 'setOffset'(expr, offset) {
+ Module['_BinaryenSIMDLoadStoreLaneSetOffset'](expr, offset);
+ },
+ 'getAlign'(expr) {
+ return Module['_BinaryenSIMDLoadStoreLaneGetAlign'](expr);
+ },
+ 'setAlign'(expr, align) {
+ Module['_BinaryenSIMDLoadStoreLaneSetAlign'](expr, align);
+ },
+ 'getIndex'(expr) {
+ return Module['_BinaryenSIMDLoadStoreLaneGetIndex'](expr);
+ },
+ 'setIndex'(expr, align) {
+ Module['_BinaryenSIMDLoadStoreLaneSetIndex'](expr, align);
+ },
+ 'getPtr'(expr) {
+ return Module['_BinaryenSIMDLoadStoreLaneGetPtr'](expr);
+ },
+ 'setPtr'(expr, ptrExpr) {
+ Module['_BinaryenSIMDLoadStoreLaneSetPtr'](expr, ptrExpr);
+ },
+ 'getVec'(expr) {
+ return Module['_BinaryenSIMDLoadStoreLaneGetVec'](expr);
+ },
+ 'setVec'(expr, ptrExpr) {
+ Module['_BinaryenSIMDLoadStoreLaneSetVec'](expr, ptrExpr);
+ },
+ 'isStore'(expr) {
+ return Boolean(Module['_BinaryenSIMDLoadStoreLaneIsStore'](expr));
+ }
+});
+
Module['MemoryInit'] = makeExpressionWrapper({
'getSegment'(expr) {
return Module['_BinaryenMemoryInitGetSegment'](expr);