summaryrefslogtreecommitdiff
path: root/src/wasm/literal.cpp
diff options
context:
space:
mode:
authorMax Graey <maxgraey@gmail.com>2021-07-26 17:12:20 +0300
committerGitHub <noreply@github.com>2021-07-26 07:12:20 -0700
commitccd0c966cbd6a9d94d57cd93a39de1aeb9feccc2 (patch)
treeeae6d039df33aca5a29a16c69d9d504b833df875 /src/wasm/literal.cpp
parentae060f070064fd87adae7ea9db5aeb2dace5a4ff (diff)
downloadbinaryen-ccd0c966cbd6a9d94d57cd93a39de1aeb9feccc2.tar.gz
binaryen-ccd0c966cbd6a9d94d57cd93a39de1aeb9feccc2.tar.bz2
binaryen-ccd0c966cbd6a9d94d57cd93a39de1aeb9feccc2.zip
[Simd] Add extension from i32x4 to i64x2 ops to interpreter (#4016)
Diffstat (limited to 'src/wasm/literal.cpp')
-rw-r--r--src/wasm/literal.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/wasm/literal.cpp b/src/wasm/literal.cpp
index 2c5bff5b1..5a8ec3df3 100644
--- a/src/wasm/literal.cpp
+++ b/src/wasm/literal.cpp
@@ -2387,6 +2387,18 @@ Literal Literal::extendLowUToVecI32x4() const {
Literal Literal::extendHighUToVecI32x4() const {
return extend<4, uint16_t, uint32_t, LaneOrder::High>(*this);
}
+Literal Literal::extendLowSToVecI64x2() const {
+ return extend<2, int32_t, int64_t, LaneOrder::Low>(*this);
+}
+Literal Literal::extendHighSToVecI64x2() const {
+ return extend<2, int32_t, int64_t, LaneOrder::High>(*this);
+}
+Literal Literal::extendLowUToVecI64x2() const {
+ return extend<2, uint32_t, uint64_t, LaneOrder::Low>(*this);
+}
+Literal Literal::extendHighUToVecI64x2() const {
+ return extend<2, uint32_t, uint64_t, LaneOrder::High>(*this);
+}
Literal Literal::extMulLowSI16x8(const Literal& other) const {
WASM_UNREACHABLE("TODO: implement SIMD extending multiplications");