mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1058582 - IonMonkey MIPS: Implemented visitClzI r=dougc
This commit is contained in:
parent
8ef02d3fa2
commit
29964eceb5
@ -961,9 +961,9 @@ Assembler::as_movf(Register rd, Register rs, uint16_t cc)
|
||||
|
||||
// Bit twiddling.
|
||||
BufferOffset
|
||||
Assembler::as_clz(Register rd, Register rs, Register rt)
|
||||
Assembler::as_clz(Register rd, Register rs)
|
||||
{
|
||||
return writeInst(InstReg(op_special2, rs, rt, rd, ff_clz).encode());
|
||||
return writeInst(InstReg(op_special2, rs, rs, rd, ff_clz).encode());
|
||||
}
|
||||
|
||||
BufferOffset
|
||||
|
@ -898,7 +898,7 @@ class Assembler : public AssemblerShared
|
||||
BufferOffset as_movf(Register rd, Register rs, uint16_t cc = 0);
|
||||
|
||||
// Bit twiddling.
|
||||
BufferOffset as_clz(Register rd, Register rs, Register rt = Register::FromCode(0));
|
||||
BufferOffset as_clz(Register rd, Register rs);
|
||||
BufferOffset as_ins(Register rt, Register rs, uint16_t pos, uint16_t size);
|
||||
BufferOffset as_ext(Register rt, Register rs, uint16_t pos, uint16_t size);
|
||||
|
||||
|
@ -911,6 +911,16 @@ CodeGeneratorMIPS::visitUrshD(LUrshD *ins)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
CodeGeneratorMIPS::visitClzI(LClzI *ins)
|
||||
{
|
||||
Register input = ToRegister(ins->input());
|
||||
Register output = ToRegister(ins->output());
|
||||
|
||||
masm.as_clz(output, input);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
CodeGeneratorMIPS::visitPowHalfD(LPowHalfD *ins)
|
||||
{
|
||||
|
@ -182,6 +182,8 @@ class CodeGeneratorMIPS : public CodeGeneratorShared
|
||||
virtual bool visitShiftI(LShiftI *ins);
|
||||
virtual bool visitUrshD(LUrshD *ins);
|
||||
|
||||
virtual bool visitClzI(LClzI *ins);
|
||||
|
||||
virtual bool visitTestIAndBranch(LTestIAndBranch *test);
|
||||
virtual bool visitCompare(LCompare *comp);
|
||||
virtual bool visitCompareAndBranch(LCompareAndBranch *comp);
|
||||
|
Loading…
Reference in New Issue
Block a user