Skip to content

Commit a1b73fe

Browse files
authored
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 a2f088d commit a1b73fe

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.8',
41+
'v8_embedder_string': '-node.9',
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
@@ -3981,6 +3981,7 @@ void MacroAssembler::I64x2Mul(Simd128Register dst, Simd128Register src1,
39813981
if (CpuFeatures::IsSupported(PPC_10_PLUS)) {
39823982
vmulld(dst, src1, src2);
39833983
} else {
3984+
DCHECK(scratch1 != r0);
39843985
Register scratch_1 = scratch1;
39853986
Register scratch_2 = scratch2;
39863987
for (int i = 0; i < 2; i++) {
@@ -4333,6 +4334,7 @@ void MacroAssembler::I8x16BitMask(Register dst, Simd128Register src,
43334334
if (CpuFeatures::IsSupported(PPC_10_PLUS)) {
43344335
vextractbm(dst, src);
43354336
} else {
4337+
DCHECK(scratch1 != r0);
43364338
mov(scratch1, Operand(0x8101820283038));
43374339
mov(scratch2, Operand(0x4048505860687078));
43384340
mtvsrdd(scratch3, scratch1, scratch2);
@@ -4385,6 +4387,7 @@ void MacroAssembler::I8x16Shuffle(Simd128Register dst, Simd128Register src1,
43854387
Simd128Register src2, uint64_t high,
43864388
uint64_t low, Register scratch1,
43874389
Register scratch2, Simd128Register scratch3) {
4390+
DCHECK(scratch2 != r0);
43884391
mov(scratch1, Operand(low));
43894392
mov(scratch2, Operand(high));
43904393
mtvsrdd(scratch3, scratch2, scratch1);
@@ -4673,6 +4676,7 @@ void MacroAssembler::S128Not(Simd128Register dst, Simd128Register src) {
46734676

46744677
void MacroAssembler::S128Const(Simd128Register dst, uint64_t high, uint64_t low,
46754678
Register scratch1, Register scratch2) {
4679+
DCHECK(scratch2 != r0);
46764680
mov(scratch1, Operand(low));
46774681
mov(scratch2, Operand(high));
46784682
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
@@ -2743,7 +2743,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
27432743
break;
27442744
}
27452745
case kPPC_I8x16BitMask: {
2746-
__ I8x16BitMask(i.OutputRegister(), i.InputSimd128Register(0), r0, ip,
2746+
__ I8x16BitMask(i.OutputRegister(), i.InputSimd128Register(0), ip, r0,
27472747
kScratchSimd128Reg);
27482748
break;
27492749
}

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
@@ -2861,7 +2861,7 @@ void LiftoffAssembler::emit_v128_anytrue(LiftoffRegister dst,
28612861

28622862
void LiftoffAssembler::emit_i8x16_bitmask(LiftoffRegister dst,
28632863
LiftoffRegister src) {
2864-
I8x16BitMask(dst.gp(), src.fp().toSimd(), r0, ip, kScratchSimd128Reg);
2864+
I8x16BitMask(dst.gp(), src.fp().toSimd(), ip, r0, kScratchSimd128Reg);
28652865
}
28662866

28672867
void LiftoffAssembler::emit_s128_const(LiftoffRegister dst,

0 commit comments

Comments
 (0)