mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-25 02:01:37 +01:00
Related to #2659 but not necessary directly. Currently x30(LR) is unused in our RA. In all locations that call out to code, we are already preserving LR and bringing it back after the fact. This was just a missed opportunity since we aren't doing any call-ret stack manipulations that would facilitate LR needing to stick around. Since x18 is a reserved platform register on win32, we can replace its usage with r19, and then replace r19 usage with x30 and everything just works happily. Now x18 is the unused register instead of x30 and we can come back in the future to gain one more register for RA on Linux platforms.