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 25th July 2011 at http://forums.arm.com


    If you don't need stack operation during a period of time, will this save one more register?

    str sp, [pc, #?]
    ...
    //use sp as gp reg
    ...
    ldr sp, [pc, #??] // you should know the offset from where you put sp value


    if you don't need sp.
    Use the code I gave before (the first one).

    You will have 15 "general" register.

    Etienne
Reply
  • Note: This was originally posted on 25th July 2011 at http://forums.arm.com


    If you don't need stack operation during a period of time, will this save one more register?

    str sp, [pc, #?]
    ...
    //use sp as gp reg
    ...
    ldr sp, [pc, #??] // you should know the offset from where you put sp value


    if you don't need sp.
    Use the code I gave before (the first one).

    You will have 15 "general" register.

    Etienne
Children
No data