diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2019-02-05 12:35:09 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-05 12:35:09 -0800 |
commit | f424f81886405fc26a415fc86900c0f8d0df14eb (patch) | |
tree | 5896c316f216fca9654f55e41809839d181ca53b /src/binaryen-c.h | |
parent | 484f62f985cb2180139d1cf991ac04ee41635417 (diff) | |
download | binaryen-f424f81886405fc26a415fc86900c0f8d0df14eb.tar.gz binaryen-f424f81886405fc26a415fc86900c0f8d0df14eb.tar.bz2 binaryen-f424f81886405fc26a415fc86900c0f8d0df14eb.zip |
Bulk memory operations (#1892)
Bulk memory operations
The only parts missing are the interpreter implementation
and spec tests.
Diffstat (limited to 'src/binaryen-c.h')
-rw-r--r-- | src/binaryen-c.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 2a3254f7b..5355ceeeb 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -122,6 +122,10 @@ BinaryenExpressionId BinaryenSIMDReplaceId(void); BinaryenExpressionId BinaryenSIMDShuffleId(void); BinaryenExpressionId BinaryenSIMDBitselectId(void); BinaryenExpressionId BinaryenSIMDShiftId(void); +BinaryenExpressionId BinaryenMemoryInitId(void); +BinaryenExpressionId BinaryenDataDropId(void); +BinaryenExpressionId BinaryenMemoryCopyId(void); +BinaryenExpressionId BinaryenMemoryFillId(void); // External kinds (call to get the value of each; you can cache them) @@ -540,6 +544,10 @@ BinaryenExpressionRef BinaryenSIMDReplace(BinaryenModuleRef module, BinaryenOp o BinaryenExpressionRef BinaryenSIMDShuffle(BinaryenModuleRef module, BinaryenExpressionRef left, BinaryenExpressionRef right, const uint8_t mask[16]); BinaryenExpressionRef BinaryenSIMDBitselect(BinaryenModuleRef module, BinaryenExpressionRef left, BinaryenExpressionRef right, BinaryenExpressionRef cond); BinaryenExpressionRef BinaryenSIMDShift(BinaryenModuleRef module, BinaryenOp op, BinaryenExpressionRef vec, BinaryenExpressionRef shift); +BinaryenExpressionRef BinaryenMemoryInit(BinaryenModuleRef module, uint32_t segment, BinaryenExpressionRef dest, BinaryenExpressionRef offset, BinaryenExpressionRef size); +BinaryenExpressionRef BinaryenDataDrop(BinaryenModuleRef module, uint32_t segment); +BinaryenExpressionRef BinaryenMemoryCopy(BinaryenModuleRef module, BinaryenExpressionRef dest, BinaryenExpressionRef source, BinaryenExpressionRef size); +BinaryenExpressionRef BinaryenMemoryFill(BinaryenModuleRef module, BinaryenExpressionRef dest, BinaryenExpressionRef value, BinaryenExpressionRef size); BinaryenExpressionId BinaryenExpressionGetId(BinaryenExpressionRef expr); BinaryenType BinaryenExpressionGetType(BinaryenExpressionRef expr); @@ -667,6 +675,20 @@ BinaryenOp BinaryenSIMDShiftGetOp(BinaryenExpressionRef expr); BinaryenExpressionRef BinaryenSIMDShiftGetVec(BinaryenExpressionRef expr); BinaryenExpressionRef BinaryenSIMDShiftGetShift(BinaryenExpressionRef expr); +uint32_t BinaryenMemoryInitGetSegment(BinaryenExpressionRef expr); +BinaryenExpressionRef BinaryenMemoryInitGetDest(BinaryenExpressionRef expr); +BinaryenExpressionRef BinaryenMemoryInitGetOffset(BinaryenExpressionRef expr); +BinaryenExpressionRef BinaryenMemoryInitGetSize(BinaryenExpressionRef expr); + +uint32_t BinaryenDataDropGetSegment(BinaryenExpressionRef expr); + +BinaryenExpressionRef BinaryenMemoryCopyGetDest(BinaryenExpressionRef expr); +BinaryenExpressionRef BinaryenMemoryCopyGetSource(BinaryenExpressionRef expr); +BinaryenExpressionRef BinaryenMemoryCopyGetSize(BinaryenExpressionRef expr); + +BinaryenExpressionRef BinaryenMemoryFillGetDest(BinaryenExpressionRef expr); +BinaryenExpressionRef BinaryenMemoryFillGetValue(BinaryenExpressionRef expr); +BinaryenExpressionRef BinaryenMemoryFillGetSize(BinaryenExpressionRef expr); // Functions |