fs/xfs: Fix return code of xfs_break_leased_layouts()
[sfrench/cifs-2.6.git] / arch / riscv / lib / udivdi3.S
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2016-2017 Free Software Foundation, Inc.
4  */
5
6 #include <linux/linkage.h>
7
8 ENTRY(__udivdi3)
9         mv      a2, a1
10         mv      a1, a0
11         li      a0, -1
12         beqz    a2, .L5
13         li      a3, 1
14         bgeu    a2, a1, .L2
15 .L1:
16         blez    a2, .L2
17         slli    a2, a2, 1
18         slli    a3, a3, 1
19         bgtu    a1, a2, .L1
20 .L2:
21         li      a0, 0
22 .L3:
23         bltu    a1, a2, .L4
24         sub     a1, a1, a2
25         or      a0, a0, a3
26 .L4:
27         srli    a3, a3, 1
28         srli    a2, a2, 1
29         bnez    a3, .L3
30 .L5:
31         ret
32 ENDPROC(__udivdi3)