repo.or.cz
/
linux
/
fpc-iii.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
cxgb4/l2t: Mark expected switch fall-through
[linux/fpc-iii.git]
/
arch
/
arm64
/
lib
/
tishift.S
blob
0fdff97794debbdfaae4a146a99b4550e670ab5e
1
/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
2
*
3
* Copyright (C) 2017-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
4
*/
5
6
#include <linux/linkage.h>
7
8
ENTRY(__ashlti3)
9
cbz x2, 1f
10
mov x3, #64
11
sub x3, x3, x2
12
cmp x3, #0
13
b.le 2f
14
lsl x1, x1, x2
15
lsr x3, x0, x3
16
lsl x2, x0, x2
17
orr x1, x1, x3
18
mov x0, x2
19
1:
20
ret
21
2:
22
neg w1, w3
23
mov x2, #0
24
lsl x1, x0, x1
25
mov x0, x2
26
ret
27
ENDPROC(__ashlti3)
28
29
ENTRY(__ashrti3)
30
cbz x2, 1f
31
mov x3, #64
32
sub x3, x3, x2
33
cmp x3, #0
34
b.le 2f
35
lsr x0, x0, x2
36
lsl x3, x1, x3
37
asr x2, x1, x2
38
orr x0, x0, x3
39
mov x1, x2
40
1:
41
ret
42
2:
43
neg w0, w3
44
asr x2, x1, #63
45
asr x0, x1, x0
46
mov x1, x2
47
ret
48
ENDPROC(__ashrti3)
49
50
ENTRY(__lshrti3)
51
cbz x2, 1f
52
mov x3, #64
53
sub x3, x3, x2
54
cmp x3, #0
55
b.le 2f
56
lsr x0, x0, x2
57
lsl x3, x1, x3
58
lsr x2, x1, x2
59
orr x0, x0, x3
60
mov x1, x2
61
1:
62
ret
63
2:
64
neg w0, w3
65
mov x2, #0
66
lsr x0, x1, x0
67
mov x1, x2
68
ret
69
ENDPROC(__lshrti3)