0
0
Fork 0
mirror of https://github.com/GreemDev/Ryujinx.git synced 2024-12-23 15:05:47 +00:00
Ryujinx/ARMeilleure/Translation/PTC
sharmander 40797a1283
Optimization | Modify Add (Integer) Instruction to use LEA instead. (#1971)
* Optimization | Modify Add Instruction to use LEA instead.

Currently, the add instruction requires 4 registers to take place. By using LEA, we can effectively perform the same working using 3 registers, reducing memory spills and improving translation efficiency.

* Fix IsSameOperandDestSrc1 Check for Add

* Use LEA if Dest != SRC1

* Update IsSameOperandDestSrc1 to account for Cases where Dest and Src1 can be same for add

* Fix error in logic

* Typo

* Add paranthesis for clarity

* Compare registers as requested.

* Cleanup if statement, use same comparison method as generateCopy

* Make change as recommended by gdk

* Perform check only when Add calls are made

* use ensure sametype for lea, fix else

* Update comment

* Update version #
2021-02-08 10:49:46 +11:00
..
EncodingCache.cs Add Profiled Persistent Translation Cache. (#769) 2020-06-16 20:28:02 +02:00
Ptc.cs Optimization | Modify Add (Integer) Instruction to use LEA instead. (#1971) 2021-02-08 10:49:46 +11:00
PtcInfo.cs PPTC Follow-up. (#1712) 2020-12-17 20:32:09 +01:00
PtcJumpTable.cs PPTC Follow-up. (#1712) 2020-12-17 20:32:09 +01:00
PtcProfiler.cs Free up memory allocated by Pools during any PPTC translations at boot time. (#1814) 2020-12-24 03:58:36 +01:00
PtcState.cs Add Profiled Persistent Translation Cache. (#769) 2020-06-16 20:28:02 +02:00
RelocEntry.cs PPTC Follow-up. (#1712) 2020-12-17 20:32:09 +01:00