summaryrefslogtreecommitdiff
path: root/test/example/c-api-kitchen-sink.c
diff options
context:
space:
mode:
authorDaniel Wirtz <dcode@dcode.io>2021-04-08 23:50:51 +0200
committerGitHub <noreply@github.com>2021-04-08 23:50:51 +0200
commit0efebfe68cb0e2759b88093e1811d034ef3e8a79 (patch)
treea676971fc2f671ea6817b2e218ef440d7847a827 /test/example/c-api-kitchen-sink.c
parent6921dd30dc82b3df2511def7c941f4a1a9aeeec2 (diff)
downloadbinaryen-0efebfe68cb0e2759b88093e1811d034ef3e8a79.tar.gz
binaryen-0efebfe68cb0e2759b88093e1811d034ef3e8a79.tar.bz2
binaryen-0efebfe68cb0e2759b88093e1811d034ef3e8a79.zip
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)
Diffstat (limited to 'test/example/c-api-kitchen-sink.c')
-rw-r--r--test/example/c-api-kitchen-sink.c58
1 files changed, 58 insertions, 0 deletions
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()),