ARCv2: entry: avoid a branch
authorVineet Gupta <vgupta@synopsys.com>
Fri, 10 May 2019 23:24:15 +0000 (16:24 -0700)
committerVineet Gupta <vgupta@synopsys.com>
Mon, 1 Jul 2019 18:02:22 +0000 (11:02 -0700)
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/entry-arcv2.h

index 3209a67..beaf655 100644 (file)
        ; 2. Upon entry SP is always saved (for any inspection, unwinding etc),
        ;    but on return, restored only if U mode
 
+       lr      r9, [AUX_USER_SP]                       ; U mode SP
+
        mov.nz  r9, sp
        add.nz  r9, r9, SZ_PT_REGS - PT_sp - 4          ; K mode SP
-       bnz     1f
 
-       lr      r9, [AUX_USER_SP]                       ; U mode SP
-1:
        PUSH    r9                                      ; SP (pt_regs->sp)
 
        PUSH    fp