aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv/lib/setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/riscv/lib/setjmp.S')
-rw-r--r--arch/riscv/lib/setjmp.S8
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/riscv/lib/setjmp.S b/arch/riscv/lib/setjmp.S
index 72bc9241f6..99d6195827 100644
--- a/arch/riscv/lib/setjmp.S
+++ b/arch/riscv/lib/setjmp.S
@@ -54,12 +54,8 @@ ENTRY(longjmp)
LOAD_IDX(sp, 13)
/* Move the return value in place, but return 1 if passed 0. */
- beq a1, zero, longjmp_1
- mv a0, a1
- ret
-
- longjmp_1:
- li a0, 1
+ seqz a0, a1
+ add a0, a0, a1
ret
ENDPROC(longjmp)
.popsection