Skip to content

Commit 8dce62c

Browse files
committed
deps: V8: cherry-pick 5fe919f78321
Original commit message: PPC: clear VXCVI before doing a conversion This bit may not get cleared automatically and could show results from older executed instructions. Change-Id: I5976f9a6c5bf87b1a63ef0f35493b222729e20f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3812037 Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#82237} Refs: v8/v8@5fe919f PR-URL: #45587 Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
1 parent d375242 commit 8dce62c

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

common.gypi

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
# Reset this number to 0 on major V8 upgrades.
3838
# Increment by one for each non-official patch applied to deps/v8.
39-
'v8_embedder_string': '-node.21',
39+
'v8_embedder_string': '-node.22',
4040

4141
##### V8 defaults for Node.js #####
4242

deps/v8/src/wasm/baseline/ppc/liftoff-assembler-ppc.h

+4
Original file line numberDiff line numberDiff line change
@@ -1455,6 +1455,7 @@ bool LiftoffAssembler::emit_type_conversion(WasmOpcode opcode,
14551455
fcmpu(src.fp(), kScratchDoubleReg);
14561456
bunordered(trap);
14571457

1458+
mtfsb0(VXCVI); // clear FPSCR:VXCVI bit
14581459
fctiwz(kScratchDoubleReg, src.fp());
14591460
MovDoubleLowToInt(dst.gp(), kScratchDoubleReg);
14601461
mcrfs(cr7, VXCVI);
@@ -1463,6 +1464,7 @@ bool LiftoffAssembler::emit_type_conversion(WasmOpcode opcode,
14631464
}
14641465
case kExprI32UConvertF64:
14651466
case kExprI32UConvertF32: {
1467+
mtfsb0(VXCVI); // clear FPSCR:VXCVI bit
14661468
ConvertDoubleToUnsignedInt64(src.fp(), r0, kScratchDoubleReg,
14671469
kRoundToZero);
14681470
mcrfs(cr7, VXCVI); // extract FPSCR field containing VXCVI into cr7
@@ -1478,6 +1480,7 @@ bool LiftoffAssembler::emit_type_conversion(WasmOpcode opcode,
14781480
fcmpu(src.fp(), kScratchDoubleReg);
14791481
bunordered(trap);
14801482

1483+
mtfsb0(VXCVI); // clear FPSCR:VXCVI bit
14811484
fctidz(kScratchDoubleReg, src.fp());
14821485
MovDoubleToInt64(dst.gp(), kScratchDoubleReg);
14831486
mcrfs(cr7, VXCVI);
@@ -1490,6 +1493,7 @@ bool LiftoffAssembler::emit_type_conversion(WasmOpcode opcode,
14901493
fcmpu(src.fp(), kScratchDoubleReg);
14911494
bunordered(trap);
14921495

1496+
mtfsb0(VXCVI); // clear FPSCR:VXCVI bit
14931497
fctiduz(kScratchDoubleReg, src.fp());
14941498
MovDoubleToInt64(dst.gp(), kScratchDoubleReg);
14951499
mcrfs(cr7, VXCVI);

0 commit comments

Comments
 (0)