diff options
author | Daniel Wirtz <dcode@dcode.io> | 2021-05-25 04:37:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-25 04:37:21 +0200 |
commit | 994757a6747793effc8e4bdda13c47ab7337afb8 (patch) | |
tree | 668aac8f4a91e6d59188d05cd3e5e6054cc9e5ef /src/js | |
parent | 24d71aa0146a6dacfce5d84a11c88195e66eee0a (diff) | |
download | binaryen-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.js | 54 |
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); |