PPC: Use CleanUInt32 instead of clrldi

Change-Id: I2335844f500790ccd3223c37768b6811daefbf66
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2971555
Reviewed-by: Junliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#75260}
This commit is contained in:
Milad Fa 2021-06-18 15:05:47 -04:00 committed by V8 LUCI CQ
parent 4f808daee0
commit b90cf28279

View File

@ -1552,14 +1552,16 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
}
break;
case kPPC_MulHigh32:
__ mulhw(r0, i.InputRegister(0), i.InputRegister(1), i.OutputRCBit());
__ mulhw(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1),
i.OutputRCBit());
// High 32 bits are undefined and need to be cleared.
__ clrldi(i.OutputRegister(), r0, Operand(32));
CleanUInt32(i.OutputRegister());
break;
case kPPC_MulHighU32:
__ mulhwu(r0, i.InputRegister(0), i.InputRegister(1), i.OutputRCBit());
__ mulhwu(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1),
i.OutputRCBit());
// High 32 bits are undefined and need to be cleared.
__ clrldi(i.OutputRegister(), r0, Operand(32));
CleanUInt32(i.OutputRegister());
break;
case kPPC_MulDouble:
ASSEMBLE_FLOAT_BINOP_RC(fmul, MiscField::decode(instr->opcode()));