projects
/
librecmc
/
linux-libre.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git]
/
arch
/
riscv
/
lib
/
tishift.S
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
/*
3
* Copyright (C) 2018 Free Software Foundation, Inc.
4
*/
5
6
#include <linux/linkage.h>
7
8
ENTRY(__lshrti3)
9
beqz a2, .L1
10
li a5,64
11
sub a5,a5,a2
12
addi sp,sp,-16
13
sext.w a4,a5
14
blez a5, .L2
15
sext.w a2,a2
16
sll a4,a1,a4
17
srl a0,a0,a2
18
srl a1,a1,a2
19
or a0,a0,a4
20
sd a1,8(sp)
21
sd a0,0(sp)
22
ld a0,0(sp)
23
ld a1,8(sp)
24
addi sp,sp,16
25
ret
26
.L1:
27
ret
28
.L2:
29
negw a4,a4
30
srl a1,a1,a4
31
sd a1,0(sp)
32
sd zero,8(sp)
33
ld a0,0(sp)
34
ld a1,8(sp)
35
addi sp,sp,16
36
ret
37
ENDPROC(__lshrti3)