diff options
author | Max Graey <maxgraey@gmail.com> | 2021-07-26 17:12:20 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-26 07:12:20 -0700 |
commit | ccd0c966cbd6a9d94d57cd93a39de1aeb9feccc2 (patch) | |
tree | eae6d039df33aca5a29a16c69d9d504b833df875 /src/wasm/literal.cpp | |
parent | ae060f070064fd87adae7ea9db5aeb2dace5a4ff (diff) | |
download | binaryen-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.cpp | 12 |
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"); |