summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interp/interp.cc11
-rw-r--r--src/interp/interp.h2
2 files changed, 6 insertions, 7 deletions
diff --git a/src/interp/interp.cc b/src/interp/interp.cc
index 09bf8bf3..05a40bd4 100644
--- a/src/interp/interp.cc
+++ b/src/interp/interp.cc
@@ -1634,10 +1634,10 @@ RunResult Thread::StepInternal(Trap::Ptr* out_trap) {
case O::I8X16Swizzle: return DoSimdSwizzle();
case O::I8X16Shuffle: return DoSimdShuffle(instr);
- case O::V128Load8Splat: return DoSimdLoadSplat<u8x16, u32>(instr, out_trap);
- case O::V128Load16Splat: return DoSimdLoadSplat<u16x8, u32>(instr, out_trap);
- case O::V128Load32Splat: return DoSimdLoadSplat<u32x4, u32>(instr, out_trap);
- case O::V128Load64Splat: return DoSimdLoadSplat<u64x2, u64>(instr, out_trap);
+ case O::V128Load8Splat: return DoSimdLoadSplat<u8x16>(instr, out_trap);
+ case O::V128Load16Splat: return DoSimdLoadSplat<u16x8>(instr, out_trap);
+ case O::V128Load32Splat: return DoSimdLoadSplat<u32x4>(instr, out_trap);
+ case O::V128Load64Splat: return DoSimdLoadSplat<u64x2>(instr, out_trap);
case O::V128Load8Lane: return DoSimdLoadLane<u8x16>(instr, out_trap);
case O::V128Load16Lane: return DoSimdLoadLane<u16x8>(instr, out_trap);
@@ -2089,7 +2089,6 @@ RunResult Thread::DoSimdUnopZero(UnopFunc<R, T> f) {
using SR = typename Simd128<R>::Type;
auto val = Pop<ST>();
SR result;
- std::transform(std::begin(val.v), std::end(val.v), std::begin(result.v), f);
for (u8 i = 0; i < ST::lanes; ++i) {
result[i] = f(val[i]);
}
@@ -2165,7 +2164,7 @@ RunResult Thread::DoSimdShift(BinopFunc<R, T> f) {
return RunResult::Ok;
}
-template <typename S, typename T>
+template <typename S>
RunResult Thread::DoSimdLoadSplat(Instr instr, Trap::Ptr* out_trap) {
using L = typename S::LaneType;
L val;
diff --git a/src/interp/interp.h b/src/interp/interp.h
index 95561225..328f3b71 100644
--- a/src/interp/interp.h
+++ b/src/interp/interp.h
@@ -1150,7 +1150,7 @@ class Thread : public Object {
RunResult DoSimdBitmask();
template <typename R, typename T>
RunResult DoSimdShift(BinopFunc<R, T>);
- template <typename S, typename T>
+ template <typename S>
RunResult DoSimdLoadSplat(Instr, Trap::Ptr* out_trap);
template <typename S>
RunResult DoSimdLoadLane(Instr, Trap::Ptr* out_trap);