xref: /linux/arch/sh/lib/ashiftrt.S (revision 4e0ae876f77bc01a7e77724dea57b4b82bd53244)
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