DSPJitMultiplier: addpaxz - AND constant directly
There's no need to load the 64-bit immediate into a temporary register. x64 will sign-extend 32-bit immediates to 64 bits, giving us the exact value we need in this case. 48 C7 C0 00 00 FF FF mov rax,0FFFFFFFFFFFF0000h 48 21 C2 and rdx,rax 48 81 E2 00 00 FF FF and rdx,0FFFFFFFFFFFF0000h
This commit is contained in:
parent
49a4e09719
commit
618d261b91
|
@ -252,8 +252,7 @@ void DSPEmitter::addpaxz(const UDSPInstruction opc)
|
|||
get_long_acx(sreg, tmp1);
|
||||
MOV(64, R(RDX), R(tmp1));
|
||||
// s64 res = prod + (ax & ~0xffff);
|
||||
MOV(64, R(RAX), Imm64(~0xffff));
|
||||
AND(64, R(RDX), R(RAX));
|
||||
AND(64, R(RDX), Imm32(~0xffff));
|
||||
// s64 prod = dsp_get_long_prod_round_prodl();
|
||||
get_long_prod_round_prodl();
|
||||
ADD(64, R(RAX), R(RDX));
|
||||
|
|
Loading…
Reference in New Issue