mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-24 23:11:14 +01:00
[AArch64] Fix AArch64 instruction encoding.
This commit is contained in:
parent
e4e08b0596
commit
f24c466e7e
@ -1754,7 +1754,8 @@ void ARM64FloatEmitter::EmitConversion(bool sf, bool S, u32 type, u32 rmode, u32
|
|||||||
|
|
||||||
void ARM64FloatEmitter::EmitCompare(bool M, bool S, u32 op, u32 opcode2, ARM64Reg Rn, ARM64Reg Rm)
|
void ARM64FloatEmitter::EmitCompare(bool M, bool S, u32 op, u32 opcode2, ARM64Reg Rn, ARM64Reg Rm)
|
||||||
{
|
{
|
||||||
bool is_double = !IsSingle(Rn);
|
_assert_msg_(DYNA_REC, IsQuad(Rn), "%s doesn't support vector!", __FUNCTION__);
|
||||||
|
bool is_double = IsDouble(Rn);
|
||||||
|
|
||||||
Rn = DecodeReg(Rn);
|
Rn = DecodeReg(Rn);
|
||||||
Rm = DecodeReg(Rm);
|
Rm = DecodeReg(Rm);
|
||||||
@ -1765,7 +1766,8 @@ void ARM64FloatEmitter::EmitCompare(bool M, bool S, u32 op, u32 opcode2, ARM64Re
|
|||||||
|
|
||||||
void ARM64FloatEmitter::EmitCondSelect(bool M, bool S, CCFlags cond, ARM64Reg Rd, ARM64Reg Rn, ARM64Reg Rm)
|
void ARM64FloatEmitter::EmitCondSelect(bool M, bool S, CCFlags cond, ARM64Reg Rd, ARM64Reg Rn, ARM64Reg Rm)
|
||||||
{
|
{
|
||||||
bool is_double = !IsSingle(Rd);
|
_assert_msg_(DYNA_REC, IsQuad(Rd), "%s doesn't support vector!", __FUNCTION__);
|
||||||
|
bool is_double = IsDouble(Rd);
|
||||||
|
|
||||||
Rd = DecodeReg(Rd);
|
Rd = DecodeReg(Rd);
|
||||||
Rn = DecodeReg(Rn);
|
Rn = DecodeReg(Rn);
|
||||||
|
@ -321,8 +321,8 @@ void JitArm64::fselx(UGeckoInstruction inst)
|
|||||||
ARM64Reg VB = fpr.R(inst.FB);
|
ARM64Reg VB = fpr.R(inst.FB);
|
||||||
ARM64Reg VC = fpr.R(inst.FC);
|
ARM64Reg VC = fpr.R(inst.FC);
|
||||||
|
|
||||||
m_float_emit.FCMPE(VA);
|
m_float_emit.FCMPE(EncodeRegToDouble(VA));
|
||||||
m_float_emit.FCSEL(V0, VC, VB, CC_GE);
|
m_float_emit.FCSEL(EncodeRegToDouble(V0), EncodeRegToDouble(VC), EncodeRegToDouble(VB), CC_GE);
|
||||||
m_float_emit.INS(64, VD, 0, V0, 0);
|
m_float_emit.INS(64, VD, 0, V0, 0);
|
||||||
|
|
||||||
fpr.Unlock(V0);
|
fpr.Unlock(V0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user