зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1671871 - [MIPS] Add tls dependency for truncate i32. r=lth
Port D89550 to mips platform. Differential Revision: https://phabricator.services.mozilla.com/D93908
This commit is contained in:
Родитель
c3b6cf7e14
Коммит
26ac54e413
|
@ -1132,12 +1132,14 @@ void CodeGenerator::visitTruncateFToInt32(LTruncateFToInt32* ins) {
|
||||||
|
|
||||||
void CodeGenerator::visitWasmBuiltinTruncateDToInt32(
|
void CodeGenerator::visitWasmBuiltinTruncateDToInt32(
|
||||||
LWasmBuiltinTruncateDToInt32* lir) {
|
LWasmBuiltinTruncateDToInt32* lir) {
|
||||||
MOZ_CRASH("NYI");
|
emitTruncateDouble(ToFloatRegister(lir->getOperand(0)),
|
||||||
|
ToRegister(lir->getDef(0)), lir->mir());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CodeGenerator::visitWasmBuiltinTruncateFToInt32(
|
void CodeGenerator::visitWasmBuiltinTruncateFToInt32(
|
||||||
LWasmBuiltinTruncateFToInt32* lir) {
|
LWasmBuiltinTruncateFToInt32* lir) {
|
||||||
MOZ_CRASH("NYI");
|
emitTruncateFloat32(ToFloatRegister(lir->getOperand(0)),
|
||||||
|
ToRegister(lir->getDef(0)), lir->mir());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CodeGenerator::visitWasmTruncateToInt32(LWasmTruncateToInt32* lir) {
|
void CodeGenerator::visitWasmTruncateToInt32(LWasmTruncateToInt32* lir) {
|
||||||
|
|
|
@ -182,7 +182,21 @@ void LIRGeneratorMIPSShared::lowerForBitAndAndBranch(LBitAndAndBranch* baab,
|
||||||
|
|
||||||
void LIRGeneratorMIPSShared::lowerWasmBuiltinTruncateToInt32(
|
void LIRGeneratorMIPSShared::lowerWasmBuiltinTruncateToInt32(
|
||||||
MWasmBuiltinTruncateToInt32* ins) {
|
MWasmBuiltinTruncateToInt32* ins) {
|
||||||
MOZ_CRASH("NYI");
|
MDefinition* opd = ins->input();
|
||||||
|
MOZ_ASSERT(opd->type() == MIRType::Double || opd->type() == MIRType::Float32);
|
||||||
|
|
||||||
|
if (opd->type() == MIRType::Double) {
|
||||||
|
define(new (alloc()) LWasmBuiltinTruncateDToInt32(
|
||||||
|
useRegister(opd), useFixed(ins->tls(), WasmTlsReg),
|
||||||
|
LDefinition::BogusTemp()),
|
||||||
|
ins);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
define(new (alloc()) LWasmBuiltinTruncateFToInt32(
|
||||||
|
useRegister(opd), useFixed(ins->tls(), WasmTlsReg),
|
||||||
|
LDefinition::BogusTemp()),
|
||||||
|
ins);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LIRGeneratorMIPSShared::lowerForShift(LInstructionHelper<1, 2, 0>* ins,
|
void LIRGeneratorMIPSShared::lowerForShift(LInstructionHelper<1, 2, 0>* ins,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче