mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 875413 - Eliminate a few unnecessary Operand(reg) wrappers. r=nbp
This commit is contained in:
parent
2a76587462
commit
39a8c8455d
@ -204,7 +204,7 @@ class MacroAssemblerX86Shared : public Assembler
|
||||
}
|
||||
|
||||
void convertInt32ToDouble(const Register &src, const FloatRegister &dest) {
|
||||
cvtsi2sd(Operand(src), dest);
|
||||
cvtsi2sd(src, dest);
|
||||
}
|
||||
void convertInt32ToDouble(const Address &src, FloatRegister dest) {
|
||||
cvtsi2sd(Operand(src), dest);
|
||||
|
@ -166,7 +166,7 @@ class MacroAssemblerX64 : public MacroAssemblerX86Shared
|
||||
if (payload != dest.valueReg())
|
||||
movq(payload, dest.valueReg());
|
||||
mov(ImmShiftedTag(type), ScratchReg);
|
||||
orq(Operand(ScratchReg), dest.valueReg());
|
||||
orq(ScratchReg, dest.valueReg());
|
||||
}
|
||||
void pushValue(ValueOperand val) {
|
||||
push(val.valueReg());
|
||||
@ -548,7 +548,7 @@ class MacroAssemblerX64 : public MacroAssemblerX86Shared
|
||||
}
|
||||
void loadPtr(const BaseIndex &src, Register dest) {
|
||||
movq(Operand(src), dest);
|
||||
}
|
||||
}
|
||||
void loadPrivate(const Address &src, Register dest) {
|
||||
loadPtr(src, dest);
|
||||
shlq(Imm32(1), dest);
|
||||
@ -622,7 +622,7 @@ class MacroAssemblerX64 : public MacroAssemblerX86Shared
|
||||
}
|
||||
void cmpTag(const ValueOperand &operand, ImmTag tag) {
|
||||
Register reg = splitTagForTest(operand);
|
||||
cmpl(Operand(reg), tag);
|
||||
cmpl(reg, tag);
|
||||
}
|
||||
|
||||
void branchTestUndefined(Condition cond, Register tag, Label *label) {
|
||||
@ -788,7 +788,7 @@ class MacroAssemblerX64 : public MacroAssemblerX86Shared
|
||||
// Note that the |dest| register here may be ScratchReg, so we shouldn't
|
||||
// use it.
|
||||
void unboxInt32(const ValueOperand &src, const Register &dest) {
|
||||
movl(Operand(src.valueReg()), dest);
|
||||
movl(src.valueReg(), dest);
|
||||
}
|
||||
void unboxInt32(const Operand &src, const Register &dest) {
|
||||
movl(src, dest);
|
||||
@ -811,7 +811,7 @@ class MacroAssemblerX64 : public MacroAssemblerX86Shared
|
||||
}
|
||||
|
||||
void unboxBoolean(const ValueOperand &src, const Register &dest) {
|
||||
movl(Operand(src.valueReg()), dest);
|
||||
movl(src.valueReg(), dest);
|
||||
}
|
||||
void unboxBoolean(const Operand &src, const Register &dest) {
|
||||
movl(src, dest);
|
||||
@ -821,7 +821,7 @@ class MacroAssemblerX64 : public MacroAssemblerX86Shared
|
||||
}
|
||||
|
||||
void unboxMagic(const ValueOperand &src, const Register &dest) {
|
||||
movl(Operand(src.valueReg()), dest);
|
||||
movl(src.valueReg(), dest);
|
||||
}
|
||||
|
||||
void unboxDouble(const ValueOperand &src, const FloatRegister &dest) {
|
||||
@ -913,10 +913,10 @@ class MacroAssemblerX64 : public MacroAssemblerX86Shared
|
||||
|
||||
// These two functions use the low 32-bits of the full value register.
|
||||
void boolValueToDouble(const ValueOperand &operand, const FloatRegister &dest) {
|
||||
cvtsi2sd(Operand(operand.valueReg()), dest);
|
||||
cvtsi2sd(operand.valueReg(), dest);
|
||||
}
|
||||
void int32ValueToDouble(const ValueOperand &operand, const FloatRegister &dest) {
|
||||
cvtsi2sd(Operand(operand.valueReg()), dest);
|
||||
cvtsi2sd(operand.valueReg(), dest);
|
||||
}
|
||||
|
||||
void loadConstantDouble(double d, const FloatRegister &dest) {
|
||||
|
@ -731,7 +731,7 @@ class MacroAssemblerX86 : public MacroAssemblerX86Shared
|
||||
if (dest.isFloat()) {
|
||||
Label notInt32, end;
|
||||
branchTestInt32(Assembler::NotEqual, src, ¬Int32);
|
||||
cvtsi2sd(Operand(src.payloadReg()), dest.fpu());
|
||||
cvtsi2sd(src.payloadReg(), dest.fpu());
|
||||
jump(&end);
|
||||
bind(¬Int32);
|
||||
unboxDouble(src, dest.fpu());
|
||||
|
Loading…
Reference in New Issue
Block a user