From 0efebfe68cb0e2759b88093e1811d034ef3e8a79 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Thu, 8 Apr 2021 23:50:51 +0200 Subject: Add v128.load/storeN_lane SIMD instructions to C/JS API (#3784) Adds C/JS APIs for the SIMD instructions * Load8LaneVec128 (was LoadLaneVec8x16) * Load16LaneVec128 (was LoadLaneVec16x8) * Load32LaneVec128 (was LoadLaneVec32x4) * Load64LaneVec128 (was LoadLaneVec64x2) * Store8LaneVec128 (was StoreLaneVec8x16) * Store16LaneVec128 (was StoreLaneVec16x8) * Store32LaneVec128 (was StoreLaneVec32x4) * Store64LaneVec128 (was StoreLaneVec64x2) --- test/example/c-api-kitchen-sink.c | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'test/example/c-api-kitchen-sink.c') diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index bbffb1ea2..2dc167adc 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -685,6 +685,64 @@ void test_core() { 0, 8, makeInt32(module, 128)), + // SIMD load/store lane + BinaryenSIMDLoadStoreLane(module, + BinaryenLoad8LaneVec128(), + 0, + 1, + 0, + makeInt32(module, 128), + makeVec128(module, v128_bytes)), + BinaryenSIMDLoadStoreLane(module, + BinaryenLoad16LaneVec128(), + 0, + 2, + 0, + makeInt32(module, 128), + makeVec128(module, v128_bytes)), + BinaryenSIMDLoadStoreLane(module, + BinaryenLoad32LaneVec128(), + 0, + 4, + 0, + makeInt32(module, 128), + makeVec128(module, v128_bytes)), + BinaryenSIMDLoadStoreLane(module, + BinaryenLoad64LaneVec128(), + 0, + 8, + 0, + makeInt32(module, 128), + makeVec128(module, v128_bytes)), + + BinaryenSIMDLoadStoreLane(module, + BinaryenStore8LaneVec128(), + 0, + 1, + 0, + makeInt32(module, 128), + makeVec128(module, v128_bytes)), + BinaryenSIMDLoadStoreLane(module, + BinaryenStore16LaneVec128(), + 0, + 2, + 0, + makeInt32(module, 128), + makeVec128(module, v128_bytes)), + BinaryenSIMDLoadStoreLane(module, + BinaryenStore32LaneVec128(), + 0, + 4, + 0, + makeInt32(module, 128), + makeVec128(module, v128_bytes)), + BinaryenSIMDLoadStoreLane(module, + BinaryenStore64LaneVec128(), + 0, + 8, + 0, + makeInt32(module, 128), + makeVec128(module, v128_bytes)), // Other SIMD makeSIMDShuffle(module), makeSIMDTernary(module, BinaryenBitselectVec128()), -- cgit v1.2.3