mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-04 03:46:42 +01:00
JitArm64: Prefer MOVI with 64-bit elements for zeroing
The Cortex-X2 and Cortex-X3 (and possibly others) recognize MOVI with 64-bit elements as a zeroing idiom, but not MOVI with other sizes.
This commit is contained in:
parent
f2b8baa82c
commit
1ebec40e4d
@ -832,7 +832,7 @@ void JitArm64::ConvertSingleToDoublePair(size_t guest_reg, ARM64Reg dest_reg, AR
|
|||||||
{
|
{
|
||||||
// Set each 32-bit element of scratch_reg to 0x0000'0000 or 0xFFFF'FFFF depending on whether
|
// Set each 32-bit element of scratch_reg to 0x0000'0000 or 0xFFFF'FFFF depending on whether
|
||||||
// the absolute value of the corresponding element in src_reg compares greater than 0
|
// the absolute value of the corresponding element in src_reg compares greater than 0
|
||||||
m_float_emit.MOVI(8, EncodeRegToDouble(scratch_reg), 0);
|
m_float_emit.MOVI(64, EncodeRegToDouble(scratch_reg), 0);
|
||||||
m_float_emit.FACGT(32, EncodeRegToDouble(scratch_reg), EncodeRegToDouble(src_reg),
|
m_float_emit.FACGT(32, EncodeRegToDouble(scratch_reg), EncodeRegToDouble(src_reg),
|
||||||
EncodeRegToDouble(scratch_reg));
|
EncodeRegToDouble(scratch_reg));
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ void JitArm64::ps_arith(UGeckoInstruction inst)
|
|||||||
|
|
||||||
// Pick the right NaNs
|
// Pick the right NaNs
|
||||||
|
|
||||||
m_float_emit.MOVI(8, zero_reg, 0);
|
m_float_emit.MOVI(64, zero_reg, 0);
|
||||||
|
|
||||||
const auto check_input = [&](ARM64Reg input) {
|
const auto check_input = [&](ARM64Reg input) {
|
||||||
m_float_emit.FACGE(size, nan_temp_reg_paired, input, zero_reg);
|
m_float_emit.FACGE(size, nan_temp_reg_paired, input, zero_reg);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user