ARCv2: entry: avoid a branch
[linux-2.6-block.git] / arch / arc / include / asm / entry-arcv2.h
index 3209a676296064db739705f36fb93238cfc8ca13..beaf655666cbd06af7920d4bd9a4d65dc67cb3ae 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