This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
dev:crosscompiler:backend_arm:register_allocation [2019/01/24 19:44] – [Locals on the Stack] ursgraf | dev:crosscompiler:backend_arm:register_allocation [2019/08/29 16:02] – [Parameter Passing] 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 32: | Line 32: | ||
===== Parameter Passing ===== | ===== Parameter Passing ===== | ||
- | Parameters are passed in R0..R5 and D1..D6.\\ | + | Parameters are passed in R0..R5 and D2..D6.\\ |
- | In the interface // | + | In the interface // |
- | |S0|S1|S2|S3|S4|S5|S6|S7|S8|S9| | + | |S0|S1|S2|S3|S4|S5|S6|S7|S8|S9|S10|S11| |
- | | D0 || D1 || D2 || D3 || D4 || | + | | D0 || D1 || D2 || D3 || D4 |
- | | ^^a| ^ b ^^c| ^ d ^^ | + | | ^| ^^a| ^ b ^^c| ^ d ^^ |
===== Locals on the Stack ===== | ===== Locals on the Stack ===== |