summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJordan Wiens <github@psifertex.com>2026-01-17 14:13:24 -0500
committerJordan <github@psifertex.com>2026-01-20 16:39:14 -0500
commitcab23d939b26e62ba3955b4c10e7d8931432a2c8 (patch)
treee3f4aef825a86fb9535b159e7bf4099bee150ab3 /arch
parent0050bef2aa73c544981ae47ff2889a62aaab4fd8 (diff)
swap order for some ppc floating point that were backward
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/il.cpp32
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);