Linux 6.13-rc4
[linux.git] / arch / sh / lib / ashiftrt.S
blob0f7145e3c51ee2df0c02a8750f367842415bd18c
1 /* SPDX-License-Identifier: GPL-2.0+ WITH GCC-exception-2.0
3    Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
4    2004, 2005, 2006
5    Free Software Foundation, Inc.
6 */
8 !! libgcc routines for the Renesas / SuperH SH CPUs.
9 !! Contributed by Steve Chamberlain.
10 !! sac@cygnus.com
12 !! ashiftrt_r4_x, ___ashrsi3, ___ashlsi3, ___lshrsi3 routines
13 !! recoded in assembly by Toshiyasu Morita
14 !! tm@netcom.com
16 /* SH2 optimizations for ___ashrsi3, ___ashlsi3, ___lshrsi3 and
17    ELF local label prefixes by J"orn Rennecke
18    amylaar@cygnus.com  */
20         .global __ashiftrt_r4_0
21         .global __ashiftrt_r4_1
22         .global __ashiftrt_r4_2
23         .global __ashiftrt_r4_3
24         .global __ashiftrt_r4_4
25         .global __ashiftrt_r4_5
26         .global __ashiftrt_r4_6
27         .global __ashiftrt_r4_7
28         .global __ashiftrt_r4_8
29         .global __ashiftrt_r4_9
30         .global __ashiftrt_r4_10
31         .global __ashiftrt_r4_11
32         .global __ashiftrt_r4_12
33         .global __ashiftrt_r4_13
34         .global __ashiftrt_r4_14
35         .global __ashiftrt_r4_15
36         .global __ashiftrt_r4_16
37         .global __ashiftrt_r4_17
38         .global __ashiftrt_r4_18
39         .global __ashiftrt_r4_19
40         .global __ashiftrt_r4_20
41         .global __ashiftrt_r4_21
42         .global __ashiftrt_r4_22
43         .global __ashiftrt_r4_23
44         .global __ashiftrt_r4_24
45         .global __ashiftrt_r4_25
46         .global __ashiftrt_r4_26
47         .global __ashiftrt_r4_27
48         .global __ashiftrt_r4_28
49         .global __ashiftrt_r4_29
50         .global __ashiftrt_r4_30
51         .global __ashiftrt_r4_31
52         .global __ashiftrt_r4_32
54         .align  1
55 __ashiftrt_r4_32:
56 __ashiftrt_r4_31:
57         rotcl   r4
58         rts
59         subc    r4,r4
60 __ashiftrt_r4_30:
61         shar    r4
62 __ashiftrt_r4_29:
63         shar    r4
64 __ashiftrt_r4_28:
65         shar    r4
66 __ashiftrt_r4_27:
67         shar    r4
68 __ashiftrt_r4_26:
69         shar    r4
70 __ashiftrt_r4_25:
71         shar    r4
72 __ashiftrt_r4_24:
73         shlr16  r4
74         shlr8   r4
75         rts
76         exts.b  r4,r4
77 __ashiftrt_r4_23:
78         shar    r4
79 __ashiftrt_r4_22:
80         shar    r4
81 __ashiftrt_r4_21:
82         shar    r4
83 __ashiftrt_r4_20:
84         shar    r4
85 __ashiftrt_r4_19:
86         shar    r4
87 __ashiftrt_r4_18:
88         shar    r4
89 __ashiftrt_r4_17:
90         shar    r4
91 __ashiftrt_r4_16:
92         shlr16  r4
93         rts
94         exts.w  r4,r4
95 __ashiftrt_r4_15:
96         shar    r4
97 __ashiftrt_r4_14:
98         shar    r4
99 __ashiftrt_r4_13:
100         shar    r4
101 __ashiftrt_r4_12:
102         shar    r4
103 __ashiftrt_r4_11:
104         shar    r4
105 __ashiftrt_r4_10:
106         shar    r4
107 __ashiftrt_r4_9:
108         shar    r4
109 __ashiftrt_r4_8:
110         shar    r4
111 __ashiftrt_r4_7:
112         shar    r4
113 __ashiftrt_r4_6:
114         shar    r4
115 __ashiftrt_r4_5:
116         shar    r4
117 __ashiftrt_r4_4:
118         shar    r4
119 __ashiftrt_r4_3:
120         shar    r4
121 __ashiftrt_r4_2:
122         shar    r4
123 __ashiftrt_r4_1:
124         rts
125         shar    r4
126 __ashiftrt_r4_0:
127         rts
128         nop