summaryrefslogtreecommitdiff
path: root/src/binary-writer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/binary-writer.cc')
-rw-r--r--src/binary-writer.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/binary-writer.cc b/src/binary-writer.cc
index 2f97354e..bca2ea02 100644
--- a/src/binary-writer.cc
+++ b/src/binary-writer.cc
@@ -1016,6 +1016,17 @@ void BinaryWriter::WriteExpr(const Func* func, const Expr* expr) {
"Simd Lane literal");
break;
}
+ case ExprType::SimdLoadLane: {
+ const Opcode opcode = cast<SimdLoadLaneExpr>(expr)->opcode;
+ auto* load_lane_expr = cast<SimdLoadLaneExpr>(expr);
+ WriteOpcode(stream_, opcode);
+ Address align = load_lane_expr->opcode.GetAlignment(load_lane_expr->align);
+ stream_->WriteU8(log2_u32(align), "alignment");
+ WriteU32Leb128(stream_, load_lane_expr->offset, "load offset");
+ stream_->WriteU8(static_cast<uint8_t>(cast<SimdLoadLaneExpr>(expr)->val),
+ "Simd Lane literal");
+ break;
+ }
case ExprType::SimdShuffleOp: {
const Opcode opcode = cast<SimdShuffleOpExpr>(expr)->opcode;
WriteOpcode(stream_, opcode);