Skip to content

Commit 96ae05a

Browse files
Milad Farazmandrichardlau
Milad Farazmand
authored andcommitted
deps: V8: backport 3f071e3e7e15
Original commit message: PPC: Optimize clearing higher bits of mulhw/mulhwu Change-Id: Ie3e14a6ef4531349e81a8ae741bc7470c7e547ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349468 Reviewed-by: Junliang Yan <[email protected]> Commit-Queue: Milad Farazmand <[email protected]> Cr-Commit-Position: refs/heads/master@{#69343} Refs: v8/v8@3f071e3 PR-URL: #35036 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ash Cripps <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Rich Trott <[email protected]>
1 parent 4d53385 commit 96ae05a

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
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.13',
39+
'v8_embedder_string': '-node.15',
4040

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

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

+6-4
Original file line numberDiff line numberDiff line change
@@ -1515,12 +1515,14 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
15151515
}
15161516
break;
15171517
case kPPC_MulHigh32:
1518-
__ mulhw(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1),
1519-
i.OutputRCBit());
1518+
__ mulhw(r0, i.InputRegister(0), i.InputRegister(1), i.OutputRCBit());
1519+
// High 32 bits are undefined and need to be cleared.
1520+
__ clrldi(i.OutputRegister(), r0, Operand(32));
15201521
break;
15211522
case kPPC_MulHighU32:
1522-
__ mulhwu(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1),
1523-
i.OutputRCBit());
1523+
__ mulhwu(r0, i.InputRegister(0), i.InputRegister(1), i.OutputRCBit());
1524+
// High 32 bits are undefined and need to be cleared.
1525+
__ clrldi(i.OutputRegister(), r0, Operand(32));
15241526
break;
15251527
case kPPC_MulDouble:
15261528
ASSEMBLE_FLOAT_BINOP_RC(fmul, MiscField::decode(instr->opcode()));

0 commit comments

Comments
 (0)