Skip to content

Commit daaaf04

Browse files
richardlauaduh95
authored andcommitted
deps: V8: cherry-pick 2abc61361dd4
Original commit message: Fix scratch registers passed to mtvsrdd `ra` cannot be r0 as it will be interpreted as Operand(0) Change-Id: Idce58191f9d3578dc91dc4aa3872a0bf2939d8b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6936113 Commit-Queue: Milad Farazmand <[email protected]> Reviewed-by: Junliang Yan <[email protected]> Cr-Commit-Position: refs/heads/main@{#102388} Refs: v8/v8@2abc613 PR-URL: #60177 Refs: nodejs/undici#4530 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
1 parent 5cef358 commit daaaf04

File tree

4 files changed

+7
-3
lines changed

4 files changed

+7
-3
lines changed

common.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
# Reset this number to 0 on major V8 upgrades.
4040
# Increment by one for each non-official patch applied to deps/v8.
41-
'v8_embedder_string': '-node.28',
41+
'v8_embedder_string': '-node.29',
4242

4343
##### V8 defaults for Node.js #####
4444

deps/v8/src/codegen/ppc/macro-assembler-ppc.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4271,6 +4271,7 @@ void MacroAssembler::I64x2Mul(Simd128Register dst, Simd128Register src1,
42714271
if (CpuFeatures::IsSupported(PPC_10_PLUS)) {
42724272
vmulld(dst, src1, src2);
42734273
} else {
4274+
DCHECK(scratch1 != r0);
42744275
Register scratch_1 = scratch1;
42754276
Register scratch_2 = scratch2;
42764277
for (int i = 0; i < 2; i++) {
@@ -4623,6 +4624,7 @@ void MacroAssembler::I8x16BitMask(Register dst, Simd128Register src,
46234624
if (CpuFeatures::IsSupported(PPC_10_PLUS)) {
46244625
vextractbm(dst, src);
46254626
} else {
4627+
DCHECK(scratch1 != r0);
46264628
mov(scratch1, Operand(0x8101820283038));
46274629
mov(scratch2, Operand(0x4048505860687078));
46284630
mtvsrdd(scratch3, scratch1, scratch2);
@@ -4675,6 +4677,7 @@ void MacroAssembler::I8x16Shuffle(Simd128Register dst, Simd128Register src1,
46754677
Simd128Register src2, uint64_t high,
46764678
uint64_t low, Register scratch1,
46774679
Register scratch2, Simd128Register scratch3) {
4680+
DCHECK(scratch2 != r0);
46784681
mov(scratch1, Operand(low));
46794682
mov(scratch2, Operand(high));
46804683
mtvsrdd(scratch3, scratch2, scratch1);
@@ -4963,6 +4966,7 @@ void MacroAssembler::S128Not(Simd128Register dst, Simd128Register src) {
49634966

49644967
void MacroAssembler::S128Const(Simd128Register dst, uint64_t high, uint64_t low,
49654968
Register scratch1, Register scratch2) {
4969+
DCHECK(scratch2 != r0);
49664970
mov(scratch1, Operand(low));
49674971
mov(scratch2, Operand(high));
49684972
mtvsrdd(dst, scratch2, scratch1);

deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2737,7 +2737,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
27372737
break;
27382738
}
27392739
case kPPC_I8x16BitMask: {
2740-
__ I8x16BitMask(i.OutputRegister(), i.InputSimd128Register(0), r0, ip,
2740+
__ I8x16BitMask(i.OutputRegister(), i.InputSimd128Register(0), ip, r0,
27412741
kScratchSimd128Reg);
27422742
break;
27432743
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2719,7 +2719,7 @@ void LiftoffAssembler::emit_v128_anytrue(LiftoffRegister dst,
27192719

27202720
void LiftoffAssembler::emit_i8x16_bitmask(LiftoffRegister dst,
27212721
LiftoffRegister src) {
2722-
I8x16BitMask(dst.gp(), src.fp().toSimd(), r0, ip, kScratchSimd128Reg);
2722+
I8x16BitMask(dst.gp(), src.fp().toSimd(), ip, r0, kScratchSimd128Reg);
27232723
}
27242724

27252725
void LiftoffAssembler::emit_s128_const(LiftoffRegister dst,

0 commit comments

Comments
 (0)