If needs be, I can easily build on this merge request later to fill the saved register arrays if a particular architecture has a tailor-made solution.
Note that the volatile registers are not saved in this array and are checked separately. (e.g. in aoptx86.pas, the method GetIntRegisterBetween, which could theoretically be made platform-independent (it contains some conditional code for i386 because 8-bit registers can only be AL, CL, DL and BL), calls "RegSet :=paramanager.get_volatile_registers_int(current_procinfo.procdef.proccalloption) +current_procinfo.saved_regs_int;" to get the list of registers available to the current procedure. While this is slightly slower, I figure it's a bit more flexible and backward-compatible.
Gareth aka. Kit
J. Gareth Moreton wrote 9 lines