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