From 174ada3a62d7835f877d534062883e75305fdf18 Mon Sep 17 00:00:00 2001 From: Tillmann Karras Date: Thu, 25 Jun 2015 06:26:24 +0200 Subject: [PATCH] Interpreter: assign directly instead via variables --- .../Interpreter/Interpreter_Paired.cpp | 60 +++++++------------ 1 file changed, 20 insertions(+), 40 deletions(-) diff --git a/Source/Core/Core/PowerPC/Interpreter/Interpreter_Paired.cpp b/Source/Core/Core/PowerPC/Interpreter/Interpreter_Paired.cpp index fc56a4a33d..e8a0132413 100644 --- a/Source/Core/Core/PowerPC/Interpreter/Interpreter_Paired.cpp +++ b/Source/Core/Core/PowerPC/Interpreter/Interpreter_Paired.cpp @@ -59,10 +59,8 @@ void Interpreter::ps_abs(UGeckoInstruction _inst) // These are just moves, double is OK. void Interpreter::ps_merge00(UGeckoInstruction _inst) { - double p0 = rPS0(_inst.FA); - double p1 = rPS0(_inst.FB); - rPS0(_inst.FD) = p0; - rPS1(_inst.FD) = p1; + rPS0(_inst.FD) = rPS0(_inst.FA); + rPS1(_inst.FD) = rPS0(_inst.FB); if (_inst.Rc) Helper_UpdateCR1(); @@ -70,10 +68,8 @@ void Interpreter::ps_merge00(UGeckoInstruction _inst) void Interpreter::ps_merge01(UGeckoInstruction _inst) { - double p0 = rPS0(_inst.FA); - double p1 = rPS1(_inst.FB); - rPS0(_inst.FD) = p0; - rPS1(_inst.FD) = p1; + rPS0(_inst.FD) = rPS0(_inst.FA); + rPS1(_inst.FD) = rPS1(_inst.FB); if (_inst.Rc) Helper_UpdateCR1(); @@ -81,10 +77,8 @@ void Interpreter::ps_merge01(UGeckoInstruction _inst) void Interpreter::ps_merge10(UGeckoInstruction _inst) { - double p0 = rPS1(_inst.FA); - double p1 = rPS0(_inst.FB); - rPS0(_inst.FD) = p0; - rPS1(_inst.FD) = p1; + rPS0(_inst.FD) = rPS1(_inst.FA); + rPS1(_inst.FD) = rPS0(_inst.FB); if (_inst.Rc) Helper_UpdateCR1(); @@ -92,10 +86,8 @@ void Interpreter::ps_merge10(UGeckoInstruction _inst) void Interpreter::ps_merge11(UGeckoInstruction _inst) { - double p0 = rPS1(_inst.FA); - double p1 = rPS1(_inst.FB); - rPS0(_inst.FD) = p0; - rPS1(_inst.FD) = p1; + rPS0(_inst.FD) = rPS1(_inst.FA); + rPS1(_inst.FD) = rPS1(_inst.FB); if (_inst.Rc) Helper_UpdateCR1(); @@ -236,10 +228,8 @@ void Interpreter::ps_nmadd(UGeckoInstruction _inst) void Interpreter::ps_sum0(UGeckoInstruction _inst) { - double p0 = ForceSingle(NI_add(rPS0(_inst.FA), rPS1(_inst.FB))); - double p1 = ForceSingle(rPS1(_inst.FC)); - rPS0(_inst.FD) = p0; - rPS1(_inst.FD) = p1; + rPS0(_inst.FD) = ForceSingle(NI_add(rPS0(_inst.FA), rPS1(_inst.FB))); + rPS1(_inst.FD) = ForceSingle(rPS1(_inst.FC)); UpdateFPRF(rPS0(_inst.FD)); if (_inst.Rc) @@ -248,10 +238,8 @@ void Interpreter::ps_sum0(UGeckoInstruction _inst) void Interpreter::ps_sum1(UGeckoInstruction _inst) { - double p0 = ForceSingle(rPS0(_inst.FC)); - double p1 = ForceSingle(NI_add(rPS0(_inst.FA), rPS1(_inst.FB))); - rPS0(_inst.FD) = p0; - rPS1(_inst.FD) = p1; + rPS0(_inst.FD) = ForceSingle(rPS0(_inst.FC)); + rPS1(_inst.FD) = ForceSingle(NI_add(rPS0(_inst.FA), rPS1(_inst.FB))); UpdateFPRF(rPS1(_inst.FD)); if (_inst.Rc) @@ -261,10 +249,8 @@ void Interpreter::ps_sum1(UGeckoInstruction _inst) void Interpreter::ps_muls0(UGeckoInstruction _inst) { double c0 = Force25Bit(rPS0(_inst.FC)); - double p0 = ForceSingle(NI_mul(rPS0(_inst.FA), c0)); - double p1 = ForceSingle(NI_mul(rPS1(_inst.FA), c0)); - rPS0(_inst.FD) = p0; - rPS1(_inst.FD) = p1; + rPS0(_inst.FD) = ForceSingle(NI_mul(rPS0(_inst.FA), c0)); + rPS1(_inst.FD) = ForceSingle(NI_mul(rPS1(_inst.FA), c0)); UpdateFPRF(rPS0(_inst.FD)); if (_inst.Rc) @@ -274,10 +260,8 @@ void Interpreter::ps_muls0(UGeckoInstruction _inst) void Interpreter::ps_muls1(UGeckoInstruction _inst) { double c1 = Force25Bit(rPS1(_inst.FC)); - double p0 = ForceSingle(NI_mul(rPS0(_inst.FA), c1)); - double p1 = ForceSingle(NI_mul(rPS1(_inst.FA), c1)); - rPS0(_inst.FD) = p0; - rPS1(_inst.FD) = p1; + rPS0(_inst.FD) = ForceSingle(NI_mul(rPS0(_inst.FA), c1)); + rPS1(_inst.FD) = ForceSingle(NI_mul(rPS1(_inst.FA), c1)); UpdateFPRF(rPS0(_inst.FD)); if (_inst.Rc) @@ -287,10 +271,8 @@ void Interpreter::ps_muls1(UGeckoInstruction _inst) void Interpreter::ps_madds0(UGeckoInstruction _inst) { double c0 = Force25Bit(rPS0(_inst.FC)); - double p0 = ForceSingle(NI_madd(rPS0(_inst.FA), c0, rPS0(_inst.FB))); - double p1 = ForceSingle(NI_madd(rPS1(_inst.FA), c0, rPS1(_inst.FB))); - rPS0(_inst.FD) = p0; - rPS1(_inst.FD) = p1; + rPS0(_inst.FD) = ForceSingle(NI_madd(rPS0(_inst.FA), c0, rPS0(_inst.FB))); + rPS1(_inst.FD) = ForceSingle(NI_madd(rPS1(_inst.FA), c0, rPS1(_inst.FB))); UpdateFPRF(rPS0(_inst.FD)); if (_inst.Rc) @@ -300,10 +282,8 @@ void Interpreter::ps_madds0(UGeckoInstruction _inst) void Interpreter::ps_madds1(UGeckoInstruction _inst) { double c1 = Force25Bit(rPS1(_inst.FC)); - double p0 = ForceSingle(NI_madd(rPS0(_inst.FA), c1, rPS0(_inst.FB))); - double p1 = ForceSingle(NI_madd(rPS1(_inst.FA), c1, rPS1(_inst.FB))); - rPS0(_inst.FD) = p0; - rPS1(_inst.FD) = p1; + rPS0(_inst.FD) = ForceSingle(NI_madd(rPS0(_inst.FA), c1, rPS0(_inst.FB))); + rPS1(_inst.FD) = ForceSingle(NI_madd(rPS1(_inst.FA), c1, rPS1(_inst.FB))); UpdateFPRF(rPS0(_inst.FD)); if (_inst.Rc)