mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-09 15:49:25 +01:00
Merge pull request #10168 from JosJuice/jitarm64-gcc-float-null
JitArm64: Work around a GCC warning promoted to error
This commit is contained in:
commit
9a6f0bd9b2
@ -126,8 +126,8 @@ void JitArm64::SafeLoadToReg(u32 dest, s32 addr, s32 offsetReg, u32 flags, s32 o
|
|||||||
}
|
}
|
||||||
else if (mmio_address)
|
else if (mmio_address)
|
||||||
{
|
{
|
||||||
MMIOLoadToReg(Memory::mmio_mapping.get(), this, regs_in_use, fprs_in_use, dest_reg,
|
MMIOLoadToReg(Memory::mmio_mapping.get(), this, &m_float_emit, regs_in_use, fprs_in_use,
|
||||||
mmio_address, flags);
|
dest_reg, mmio_address, flags);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -260,8 +260,8 @@ void JitArm64::SafeStoreFromReg(s32 dest, u32 value, s32 regOffset, u32 flags, s
|
|||||||
}
|
}
|
||||||
else if (mmio_address)
|
else if (mmio_address)
|
||||||
{
|
{
|
||||||
MMIOWriteRegToAddr(Memory::mmio_mapping.get(), this, regs_in_use, fprs_in_use, RS, mmio_address,
|
MMIOWriteRegToAddr(Memory::mmio_mapping.get(), this, &m_float_emit, regs_in_use, fprs_in_use,
|
||||||
flags);
|
RS, mmio_address, flags);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -201,9 +201,8 @@ void SwapPairs(ARM64XEmitter* emit, ARM64Reg dst_reg, ARM64Reg src_reg, u32 flag
|
|||||||
emit->REV16(dst_reg, src_reg);
|
emit->REV16(dst_reg, src_reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ByteswapAfterLoad(ARM64XEmitter* emit, Arm64Gen::ARM64FloatEmitter* float_emit,
|
void ByteswapAfterLoad(ARM64XEmitter* emit, ARM64FloatEmitter* float_emit, ARM64Reg dst_reg,
|
||||||
ARM64Reg dst_reg, ARM64Reg src_reg, u32 flags, bool is_reversed,
|
ARM64Reg src_reg, u32 flags, bool is_reversed, bool is_extended)
|
||||||
bool is_extended)
|
|
||||||
{
|
{
|
||||||
if (is_reversed == !(flags & BackPatchInfo::FLAG_REVERSE))
|
if (is_reversed == !(flags & BackPatchInfo::FLAG_REVERSE))
|
||||||
{
|
{
|
||||||
@ -251,8 +250,8 @@ void ByteswapAfterLoad(ARM64XEmitter* emit, Arm64Gen::ARM64FloatEmitter* float_e
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ARM64Reg ByteswapBeforeStore(ARM64XEmitter* emit, Arm64Gen::ARM64FloatEmitter* float_emit,
|
ARM64Reg ByteswapBeforeStore(ARM64XEmitter* emit, ARM64FloatEmitter* float_emit, ARM64Reg tmp_reg,
|
||||||
ARM64Reg tmp_reg, ARM64Reg src_reg, u32 flags, bool want_reversed)
|
ARM64Reg src_reg, u32 flags, bool want_reversed)
|
||||||
{
|
{
|
||||||
ARM64Reg dst_reg = src_reg;
|
ARM64Reg dst_reg = src_reg;
|
||||||
|
|
||||||
@ -290,8 +289,9 @@ ARM64Reg ByteswapBeforeStore(ARM64XEmitter* emit, Arm64Gen::ARM64FloatEmitter* f
|
|||||||
return dst_reg;
|
return dst_reg;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MMIOLoadToReg(MMIO::Mapping* mmio, Arm64Gen::ARM64XEmitter* emit, BitSet32 gprs_in_use,
|
void MMIOLoadToReg(MMIO::Mapping* mmio, ARM64XEmitter* emit, ARM64FloatEmitter* float_emit,
|
||||||
BitSet32 fprs_in_use, ARM64Reg dst_reg, u32 address, u32 flags)
|
BitSet32 gprs_in_use, BitSet32 fprs_in_use, ARM64Reg dst_reg, u32 address,
|
||||||
|
u32 flags)
|
||||||
{
|
{
|
||||||
ASSERT(!(flags & BackPatchInfo::FLAG_FLOAT));
|
ASSERT(!(flags & BackPatchInfo::FLAG_FLOAT));
|
||||||
|
|
||||||
@ -314,15 +314,16 @@ void MMIOLoadToReg(MMIO::Mapping* mmio, Arm64Gen::ARM64XEmitter* emit, BitSet32
|
|||||||
mmio->GetHandlerForRead<u32>(address).Visit(gen);
|
mmio->GetHandlerForRead<u32>(address).Visit(gen);
|
||||||
}
|
}
|
||||||
|
|
||||||
ByteswapAfterLoad(emit, nullptr, dst_reg, dst_reg, flags, false, true);
|
ByteswapAfterLoad(emit, float_emit, dst_reg, dst_reg, flags, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MMIOWriteRegToAddr(MMIO::Mapping* mmio, Arm64Gen::ARM64XEmitter* emit, BitSet32 gprs_in_use,
|
void MMIOWriteRegToAddr(MMIO::Mapping* mmio, ARM64XEmitter* emit, ARM64FloatEmitter* float_emit,
|
||||||
BitSet32 fprs_in_use, ARM64Reg src_reg, u32 address, u32 flags)
|
BitSet32 gprs_in_use, BitSet32 fprs_in_use, ARM64Reg src_reg, u32 address,
|
||||||
|
u32 flags)
|
||||||
{
|
{
|
||||||
ASSERT(!(flags & BackPatchInfo::FLAG_FLOAT));
|
ASSERT(!(flags & BackPatchInfo::FLAG_FLOAT));
|
||||||
|
|
||||||
src_reg = ByteswapBeforeStore(emit, nullptr, ARM64Reg::W1, src_reg, flags, false);
|
src_reg = ByteswapBeforeStore(emit, float_emit, ARM64Reg::W1, src_reg, flags, false);
|
||||||
|
|
||||||
if (flags & BackPatchInfo::FLAG_SIZE_8)
|
if (flags & BackPatchInfo::FLAG_SIZE_8)
|
||||||
{
|
{
|
||||||
|
@ -20,8 +20,10 @@ Arm64Gen::ARM64Reg ByteswapBeforeStore(Arm64Gen::ARM64XEmitter* emit,
|
|||||||
Arm64Gen::ARM64Reg tmp_reg, Arm64Gen::ARM64Reg src_reg,
|
Arm64Gen::ARM64Reg tmp_reg, Arm64Gen::ARM64Reg src_reg,
|
||||||
u32 flags, bool want_reversed);
|
u32 flags, bool want_reversed);
|
||||||
|
|
||||||
void MMIOLoadToReg(MMIO::Mapping* mmio, Arm64Gen::ARM64XEmitter* emit, BitSet32 gprs_in_use,
|
void MMIOLoadToReg(MMIO::Mapping* mmio, Arm64Gen::ARM64XEmitter* emit,
|
||||||
|
Arm64Gen::ARM64FloatEmitter* float_emit, BitSet32 gprs_in_use,
|
||||||
BitSet32 fprs_in_use, Arm64Gen::ARM64Reg dst_reg, u32 address, u32 flags);
|
BitSet32 fprs_in_use, Arm64Gen::ARM64Reg dst_reg, u32 address, u32 flags);
|
||||||
|
|
||||||
void MMIOWriteRegToAddr(MMIO::Mapping* mmio, Arm64Gen::ARM64XEmitter* emit, BitSet32 gprs_in_use,
|
void MMIOWriteRegToAddr(MMIO::Mapping* mmio, Arm64Gen::ARM64XEmitter* emit,
|
||||||
|
Arm64Gen::ARM64FloatEmitter* float_emit, BitSet32 gprs_in_use,
|
||||||
BitSet32 fprs_in_use, Arm64Gen::ARM64Reg src_reg, u32 address, u32 flags);
|
BitSet32 fprs_in_use, Arm64Gen::ARM64Reg src_reg, u32 address, u32 flags);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user