This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:crosscompiler:backend_arm:register_allocation [2018/12/21 11:01] – [Parameter Passing] ursgraf | dev:crosscompiler:backend_arm:register_allocation [2019/08/29 16:00] – ursgraf | ||
---|---|---|---|
Line 13: | Line 13: | ||
| R15 | dedicated | PC | | | R15 | dedicated | PC | | ||
| D0 | dedicated| scratch register | | | D0 | dedicated| scratch register | | ||
- | | D1 | volatile | + | | D1 | dedicated| scratch register, return value | |
- | | D2-D6 | volatile | further | + | | D2-D6 | volatile | parameters, local variables | |
| D7-D10 | volatile | local variables | | | D7-D10 | volatile | local variables | | ||
| D11-D31 | nonvolatile | local variables | | | D11-D31 | nonvolatile | local variables | | ||
Line 57: | Line 57: | ||
+ | When dividing numbers of type long, a large number of auxiliary registers are necessary. For these cases the register allocation is run with a reduced register set with the same reserved registers as above given above. |