[PATCH 3/5] ARCv2: entry: avoid a branch

From: Vineet Gupta
Date: Fri May 17 2019 - 15:34:52 EST


Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
---
arch/arc/include/asm/entry-arcv2.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/arc/include/asm/entry-arcv2.h b/arch/arc/include/asm/entry-arcv2.h
index 3209a6762960..beaf655666cb 100644
--- a/arch/arc/include/asm/entry-arcv2.h
+++ b/arch/arc/include/asm/entry-arcv2.h
@@ -100,12 +100,11 @@
; 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
--
2.7.4