1/* SPDX-License-Identifier: GPL-2.0+ WITH GCC-exception-2.0
2
3 Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
4 2004, 2005, 2006
5 Free Software Foundation, Inc.
6*/
7
8!! libgcc routines for the Renesas / SuperH SH CPUs.
9!! Contributed by Steve Chamberlain.
10!! sac@cygnus.com
11
12!! ashiftrt_r4_x, ___ashrsi3, ___ashlsi3, ___lshrsi3 routines
13!! recoded in assembly by Toshiyasu Morita
14!! tm@netcom.com
15
16/* SH2 optimizations for ___ashrsi3, ___ashlsi3, ___lshrsi3 and
17 ELF local label prefixes by J"orn Rennecke
18 amylaar@cygnus.com */
19
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
53
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
129

source code of linux/arch/sh/lib/ashiftrt.S