mirror of
https://github.com/fluencelabs/wasmer
synced 2025-06-21 12:41:32 +00:00
Don't allocate another register when it's safe to reuse dst.
This commit is contained in:
@ -2836,9 +2836,10 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
|
|||||||
Location::GPR(GPR::RDX),
|
Location::GPR(GPR::RDX),
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
let tmp_xmm = if dst != src1 && XMMOrMemory::XMM(dst) != src2 {
|
||||||
// TODO: we can skip this when dst is an XMM reg.
|
dst
|
||||||
let tmp_xmm = if src1 == XMM::XMM0 {
|
} else {
|
||||||
|
if src1 == XMM::XMM0 {
|
||||||
if src2 == XMMOrMemory::XMM(XMM::XMM1) {
|
if src2 == XMMOrMemory::XMM(XMM::XMM1) {
|
||||||
XMM::XMM2
|
XMM::XMM2
|
||||||
} else {
|
} else {
|
||||||
@ -2846,6 +2847,7 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
XMM::XMM0
|
XMM::XMM0
|
||||||
|
}
|
||||||
};
|
};
|
||||||
match src2 {
|
match src2 {
|
||||||
XMMOrMemory::XMM(x) => {
|
XMMOrMemory::XMM(x) => {
|
||||||
|
Reference in New Issue
Block a user