Index: src/wasm/function-body-decoder-impl.h |
diff --git a/src/wasm/function-body-decoder-impl.h b/src/wasm/function-body-decoder-impl.h |
index 7249cc8a0df96d4cebad31caed857c072548b656..0df04e7ee07ca2f663c280f4e45846271de29922 100644 |
--- a/src/wasm/function-body-decoder-impl.h |
+++ b/src/wasm/function-body-decoder-impl.h |
@@ -322,15 +322,17 @@ struct SimdShiftOperand { |
} |
}; |
-// Operand for SIMD concatenation operations. |
+// Operand for SIMD shuffle operations. |
template <bool checked> |
-struct SimdConcatOperand { |
- uint8_t bytes; |
- unsigned length; |
- |
- inline SimdConcatOperand(Decoder* decoder, const byte* pc) { |
- bytes = decoder->read_u8<checked>(pc + 2, "bytes"); |
- length = 1; |
+struct SimdShuffleOperand { |
+ uint8_t shuffle[16]; |
+ unsigned lanes; |
+ |
+ inline SimdShuffleOperand(Decoder* decoder, const byte* pc, unsigned lanes_) { |
+ lanes = lanes_; |
+ for (unsigned i = 0; i < lanes; i++) { |
+ shuffle[i] = decoder->read_u8<checked>(pc + 2 + i, "shuffle"); |
+ } |
} |
}; |