Skip to content
  • Yuta Saito's avatar
    fa0f7522
    coroutine/arm64: Skip saving/restoring x30 twice and use `autiasp` · fa0f7522
    Yuta Saito authored
    We don't need to save/restore x30 twice, and we can just use `ret`,
    which uses x30 as return address register instead of explicit `ret <reg>`
    instruction. This also allows us to use `autiasp` instead of `autia1716`
    and we can skip setting SP/LR to x16/x17.
    
    Also the size of register save area is shrunk by 16 bytes due to the
    removal of extra x30 save/restore.
    fa0f7522
    coroutine/arm64: Skip saving/restoring x30 twice and use `autiasp`
    Yuta Saito authored
    We don't need to save/restore x30 twice, and we can just use `ret`,
    which uses x30 as return address register instead of explicit `ret <reg>`
    instruction. This also allows us to use `autiasp` instead of `autia1716`
    and we can skip setting SP/LR to x16/x17.
    
    Also the size of register save area is shrunk by 16 bytes due to the
    removal of extra x30 save/restore.
Loading