зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1289054 - Part 17: Implement the 64bit variant of Not on arm, r=bbouvier
This commit is contained in:
Родитель
e765133481
Коммит
08728c529c
|
@ -1258,7 +1258,7 @@ jit::rol(Register r, int amt)
|
|||
}
|
||||
|
||||
O2RegImmShift
|
||||
jit::asr (Register r, int amt)
|
||||
jit::asr(Register r, int amt)
|
||||
{
|
||||
MOZ_ASSERT(1 <= amt && amt <= 32);
|
||||
return O2RegImmShift(r, ASR, amt);
|
||||
|
@ -1284,7 +1284,7 @@ jit::ror(Register r, Register amt)
|
|||
}
|
||||
|
||||
O2RegRegShift
|
||||
jit::asr (Register r, Register amt)
|
||||
jit::asr(Register r, Register amt)
|
||||
{
|
||||
return O2RegRegShift(r, ASR, amt);
|
||||
}
|
||||
|
|
|
@ -1611,6 +1611,17 @@ CodeGeneratorARM::visitNotI(LNotI* ins)
|
|||
masm.emitSet(Assembler::Equal, ToRegister(ins->output()));
|
||||
}
|
||||
|
||||
void
|
||||
CodeGeneratorARM::visitNotI64(LNotI64* lir)
|
||||
{
|
||||
Register64 input = ToRegister64(lir->getInt64Operand(0));
|
||||
Register output = ToRegister(lir->output());
|
||||
|
||||
masm.ma_orr(input.low, input.high, output);
|
||||
masm.ma_cmp(output, Imm32(0));
|
||||
masm.emitSet(Assembler::Equal, output);
|
||||
}
|
||||
|
||||
void
|
||||
CodeGeneratorARM::visitNotD(LNotD* ins)
|
||||
{
|
||||
|
|
|
@ -176,6 +176,7 @@ class CodeGeneratorARM : public CodeGeneratorShared
|
|||
virtual void visitPopcntI64(LPopcntI64* ins);
|
||||
virtual void visitClzI64(LClzI64* ins);
|
||||
virtual void visitCtzI64(LCtzI64* ins);
|
||||
virtual void visitNotI64(LNotI64* ins);
|
||||
|
||||
// Out of line visitors.
|
||||
void visitOutOfLineBailout(OutOfLineBailout* ool);
|
||||
|
|
Загрузка…
Ссылка в новой задаче