This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Safe to use r13-r15 as general register?

Note: This was originally posted on 18th July 2011 at http://forums.arm.com

Hello, I am writting a function, which involves complicated algorithm, I want to have a lot of general purpose registers to keep the routine speed. I have read some article that r13-r15 are special registers, but can be used as general purpose registers.

Can I do it like this
   stmfd       sp!, {r4-r15,lr}
:
:
    ldmfd       sp!, {r4-r15,pc}

Thank you very much!
Parents
  • Note: This was originally posted on 19th July 2011 at http://forums.arm.com

    I read some ARM document, it says

    A called routine need not preserve the values of r0-r3, IP (r12) and LR (r14)

    so when subroutine returns, does it mean that it will automatically restore the value of r0-r3, and r12, in the caller function?

    Thank you.
Reply
  • Note: This was originally posted on 19th July 2011 at http://forums.arm.com

    I read some ARM document, it says

    A called routine need not preserve the values of r0-r3, IP (r12) and LR (r14)

    so when subroutine returns, does it mean that it will automatically restore the value of r0-r3, and r12, in the caller function?

    Thank you.
Children
No data