diff options
| author | Jordan Wiens <github@psifertex.com> | 2026-01-17 14:13:24 -0500 |
|---|---|---|
| committer | Jordan <github@psifertex.com> | 2026-01-20 16:39:14 -0500 |
| commit | cab23d939b26e62ba3955b4c10e7d8931432a2c8 (patch) | |
| tree | e3f4aef825a86fb9535b159e7bf4099bee150ab3 /arch | |
| parent | 0050bef2aa73c544981ae47ff2889a62aaab4fd8 (diff) | |
swap order for some ppc floating point that were backward
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/powerpc/il.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/arch/powerpc/il.cpp b/arch/powerpc/il.cpp index 67ce4b99..46e672a6 100644 --- a/arch/powerpc/il.cpp +++ b/arch/powerpc/il.cpp @@ -2142,16 +2142,16 @@ bool GetLowLevelILForPPCInstruction(Architecture *arch, LowLevelILFunction &il, case PPC_ID_FMADDx: REQUIRE4OPS ei0 = il.FloatMult(8, operToIL_a(il, oper1, 8), - operToIL_a(il, oper3, 8)); - ei0 = il.FloatAdd(8, ei0, operToIL_a(il, oper2, 8)); + operToIL_a(il, oper2, 8)); + ei0 = il.FloatAdd(8, ei0, operToIL_a(il, oper3, 8)); ei1 = il.SetRegister(8, oper0->reg, ei0, (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); il.AddInstruction(ei1); break; case PPC_ID_FMADDSx: REQUIRE4OPS - ei0 = il.FloatMult(4, operToIL(il, oper1), operToIL(il, oper3), (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); - ei0 = il.FloatAdd(4, ei0, operToIL(il, oper2), (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); + ei0 = il.FloatMult(4, operToIL(il, oper1), operToIL(il, oper2), (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); + ei0 = il.FloatAdd(4, ei0, operToIL(il, oper3), (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); ei1 = il.SetRegister(4, oper0->reg, ei0); il.AddInstruction(ei1); break; @@ -2159,16 +2159,16 @@ bool GetLowLevelILForPPCInstruction(Architecture *arch, LowLevelILFunction &il, case PPC_ID_FMSUBx: REQUIRE4OPS ei0 = il.FloatMult(8, operToIL_a(il, oper1, 8), - operToIL_a(il, oper3, 8)); - ei0 = il.FloatSub(8, ei0, operToIL_a(il, oper2, 8)); + operToIL_a(il, oper2, 8)); + ei0 = il.FloatSub(8, ei0, operToIL_a(il, oper3, 8)); ei1 = il.SetRegister(8, oper0->reg, ei0, (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); il.AddInstruction(ei1); break; case PPC_ID_FMSUBSx: REQUIRE4OPS - ei0 = il.FloatMult(4, operToIL(il, oper1), operToIL(il, oper3)); - ei0 = il.FloatSub(4, ei0, operToIL(il, oper2)); + ei0 = il.FloatMult(4, operToIL(il, oper1), operToIL(il, oper2)); + ei0 = il.FloatSub(4, ei0, operToIL(il, oper3)); ei1 = il.SetRegister(4, oper0->reg, ei0, (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); il.AddInstruction(ei1); break; @@ -2196,8 +2196,8 @@ bool GetLowLevelILForPPCInstruction(Architecture *arch, LowLevelILFunction &il, case PPC_ID_FNMADDx: REQUIRE4OPS ei0 = il.FloatMult(8, operToIL_a(il, oper1, 8), - operToIL_a(il, oper3, 8)); - ei0 = il.FloatAdd(8, ei0, operToIL_a(il, oper2, 8)); + operToIL_a(il, oper2, 8)); + ei0 = il.FloatAdd(8, ei0, operToIL_a(il, oper3, 8)); ei0 = il.FloatNeg(8, ei0); ei1 = il.SetRegister(8, oper0->reg, ei0, (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); il.AddInstruction(ei1); @@ -2205,8 +2205,8 @@ bool GetLowLevelILForPPCInstruction(Architecture *arch, LowLevelILFunction &il, case PPC_ID_FNMADDSx: REQUIRE4OPS - ei0 = il.FloatMult(4, operToIL(il, oper1), operToIL(il, oper3), (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); - ei0 = il.FloatAdd(4, ei0, operToIL(il, oper2), (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); + ei0 = il.FloatMult(4, operToIL(il, oper1), operToIL(il, oper2), (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); + ei0 = il.FloatAdd(4, ei0, operToIL(il, oper3), (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); ei0 = il.FloatNeg(4, ei0); ei1 = il.SetRegister(4, oper0->reg, ei0); il.AddInstruction(ei1); @@ -2215,8 +2215,8 @@ bool GetLowLevelILForPPCInstruction(Architecture *arch, LowLevelILFunction &il, case PPC_ID_FNMSUBx: REQUIRE4OPS ei0 = il.FloatMult(8, operToIL_a(il, oper1, 8), - operToIL_a(il, oper3, 8)); - ei0 = il.FloatSub(8, ei0, operToIL_a(il, oper2, 8)); + operToIL_a(il, oper2, 8)); + ei0 = il.FloatSub(8, ei0, operToIL_a(il, oper3, 8)); ei0 = il.FloatNeg(8, ei0); ei1 = il.SetRegister(8, oper0->reg, ei0, (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); il.AddInstruction(ei1); @@ -2224,8 +2224,8 @@ bool GetLowLevelILForPPCInstruction(Architecture *arch, LowLevelILFunction &il, case PPC_ID_FNMSUBSx: REQUIRE4OPS - ei0 = il.FloatMult(4, operToIL(il, oper1), operToIL(il, oper3)); - ei0 = il.FloatSub(4, ei0, operToIL(il, oper2)); + ei0 = il.FloatMult(4, operToIL(il, oper1), operToIL(il, oper2)); + ei0 = il.FloatSub(4, ei0, operToIL(il, oper3)); ei0 = il.FloatNeg(4, ei0); ei1 = il.SetRegister(4, oper0->reg, ei0, (instruction->flags.rc) ? IL_FLAGWRITE_CR0_F : 0); il.AddInstruction(ei1); |
