diff options
Diffstat (limited to 'test/example/c-api-kitchen-sink.c')
-rw-r--r-- | test/example/c-api-kitchen-sink.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index cf2ce6c04..244ecc9b5 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -121,6 +121,31 @@ BinaryenExpressionRef makeSIMDShift(BinaryenModuleRef module, BinaryenOp op) { return BinaryenSIMDShift(module, op, vec, makeInt32(module, 1)); } +BinaryenExpressionRef makeMemoryInit(BinaryenModuleRef module) { + BinaryenExpressionRef dest = makeInt32(module, 1024); + BinaryenExpressionRef offset = makeInt32(module, 0); + BinaryenExpressionRef size = makeInt32(module, 12); + return BinaryenMemoryInit(module, 0, dest, offset, size); +}; + +BinaryenExpressionRef makeDataDrop(BinaryenModuleRef module) { + return BinaryenDataDrop(module, 0); +}; + +BinaryenExpressionRef makeMemoryCopy(BinaryenModuleRef module) { + BinaryenExpressionRef dest = makeInt32(module, 2048); + BinaryenExpressionRef source = makeInt32(module, 1024); + BinaryenExpressionRef size = makeInt32(module, 12); + return BinaryenMemoryCopy(module, dest, source, size); +}; + +BinaryenExpressionRef makeMemoryFill(BinaryenModuleRef module) { + BinaryenExpressionRef dest = makeInt32(module, 0); + BinaryenExpressionRef value = makeInt32(module, 42); + BinaryenExpressionRef size = makeInt32(module, 1024); + return BinaryenMemoryFill(module, dest, value, size); +}; + // tests void test_types() { @@ -387,6 +412,11 @@ void test_core() { // Other SIMD makeSIMDShuffle(module), makeSIMDBitselect(module), + // Bulk memory + makeMemoryInit(module), + makeDataDrop(module), + makeMemoryCopy(module), + makeMemoryFill(module), // All the rest BinaryenBlock(module, NULL, NULL, 0, -1), // block with no name and no type BinaryenIf(module, temp1, temp2, temp3), |