Bug 1289054 - Part 3: Implement the 64bit variant of WrapInt64ToInt32 on arm, r=bbouvier

This commit is contained in:
Hannes Verschore 2016-07-29 16:53:48 +02:00
Родитель 52e58112ef
Коммит b6c18e537e
2 изменённых файлов: 11 добавлений и 0 удалений

Просмотреть файл

@ -3007,3 +3007,12 @@ CodeGeneratorARM::visitCopySignD(LCopySignD* ins)
masm.as_vxfer(lhsi, InvalidReg, lhs, Assembler::FloatToCore, Assembler::Always, 0);
masm.ma_vxfer(lhsi, rhsi, output);
}
void
CodeGeneratorARM::visitWrapInt64ToInt32(LWrapInt64ToInt32* lir)
{
const LInt64Allocation& input = lir->getInt64Operand(0);
Register output = ToRegister(lir->output());
masm.move32(ToRegister(input.low()), output);
}

Просмотреть файл

@ -157,6 +157,8 @@ class CodeGeneratorARM : public CodeGeneratorShared
virtual void visitTruncateDToInt32(LTruncateDToInt32* ins);
virtual void visitTruncateFToInt32(LTruncateFToInt32* ins);
virtual void visitWrapInt64ToInt32(LWrapInt64ToInt32* lir);
// Out of line visitors.
void visitOutOfLineBailout(OutOfLineBailout* ool);
void visitOutOfLineTableSwitch(OutOfLineTableSwitch* ool);