diff options
-rw-r--r-- | src/wat-writer.cc | 6 | ||||
-rw-r--r-- | test/roundtrip/simd.txt | 22 |
2 files changed, 25 insertions, 3 deletions
diff --git a/src/wat-writer.cc b/src/wat-writer.cc index 27ed5d12..c824d3da 100644 --- a/src/wat-writer.cc +++ b/src/wat-writer.cc @@ -922,7 +922,7 @@ Result WatWriter::ExprVisitorDelegate::OnTernaryExpr(TernaryExpr* expr) { Result WatWriter::ExprVisitorDelegate::OnSimdLaneOpExpr(SimdLaneOpExpr* expr) { writer_->WritePutsSpace(expr->opcode.GetName()); writer_->Writef("%" PRIu64, (expr->val)); - writer_->WritePutsNewline(""); + writer_->WriteNewline(NO_FORCE_NEWLINE); return Result::Ok; } @@ -931,9 +931,9 @@ Result WatWriter::ExprVisitorDelegate::OnSimdShuffleOpExpr( writer_->WritePutsSpace(expr->opcode.GetName()); std::array<uint8_t, 16> values = Bitcast<std::array<uint8_t, 16>>(expr->val); for (int32_t lane = 0; lane < 16; ++lane) { - writer_->Writef(" %u", values[lane]); + writer_->Writef("%u", values[lane]); } - writer_->WritePutsNewline(""); + writer_->WriteNewline(NO_FORCE_NEWLINE); return Result::Ok; } diff --git a/test/roundtrip/simd.txt b/test/roundtrip/simd.txt new file mode 100644 index 00000000..943ac78c --- /dev/null +++ b/test/roundtrip/simd.txt @@ -0,0 +1,22 @@ +;;; TOOL: run-roundtrip +;;; ARGS: --stdout --enable-simd +(module + (func (param v128) (result v128) + local.get 0 + local.get 0 + v8x16.shuffle 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) + (func (param v128) (result f32) + local.get 0 + f32x4.extract_lane 1)) +(;; STDOUT ;;; +(module + (type (;0;) (func (param v128) (result v128))) + (type (;1;) (func (param v128) (result f32))) + (func (;0;) (type 0) (param v128) (result v128) + local.get 0 + local.get 0 + v8x16.shuffle 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) + (func (;1;) (type 1) (param v128) (result f32) + local.get 0 + f32x4.extract_lane 1)) +;;; STDOUT ;;) |