xref: /linux/arch/sh/lib/ashiftrt.S (revision 597473720f4dc69749542bfcfed4a927a43d935e)
1*4494ce4fSKuninori Morimoto/* SPDX-License-Identifier: GPL-2.0+ WITH GCC-exception-2.0
2*4494ce4fSKuninori Morimoto
3*4494ce4fSKuninori Morimoto   Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
41aad54a9SPaul Mundt   2004, 2005, 2006
51aad54a9SPaul Mundt   Free Software Foundation, Inc.
6*4494ce4fSKuninori Morimoto*/
71aad54a9SPaul Mundt
81aad54a9SPaul Mundt!! libgcc routines for the Renesas / SuperH SH CPUs.
91aad54a9SPaul Mundt!! Contributed by Steve Chamberlain.
101aad54a9SPaul Mundt!! sac@cygnus.com
111aad54a9SPaul Mundt
121aad54a9SPaul Mundt!! ashiftrt_r4_x, ___ashrsi3, ___ashlsi3, ___lshrsi3 routines
131aad54a9SPaul Mundt!! recoded in assembly by Toshiyasu Morita
141aad54a9SPaul Mundt!! tm@netcom.com
151aad54a9SPaul Mundt
161aad54a9SPaul Mundt/* SH2 optimizations for ___ashrsi3, ___ashlsi3, ___lshrsi3 and
171aad54a9SPaul Mundt   ELF local label prefixes by J"orn Rennecke
181aad54a9SPaul Mundt   amylaar@cygnus.com  */
191aad54a9SPaul Mundt
201aad54a9SPaul Mundt	.global	__ashiftrt_r4_0
211aad54a9SPaul Mundt	.global	__ashiftrt_r4_1
221aad54a9SPaul Mundt	.global	__ashiftrt_r4_2
231aad54a9SPaul Mundt	.global	__ashiftrt_r4_3
241aad54a9SPaul Mundt	.global	__ashiftrt_r4_4
251aad54a9SPaul Mundt	.global	__ashiftrt_r4_5
261aad54a9SPaul Mundt	.global	__ashiftrt_r4_6
271aad54a9SPaul Mundt	.global	__ashiftrt_r4_7
281aad54a9SPaul Mundt	.global	__ashiftrt_r4_8
291aad54a9SPaul Mundt	.global	__ashiftrt_r4_9
301aad54a9SPaul Mundt	.global	__ashiftrt_r4_10
311aad54a9SPaul Mundt	.global	__ashiftrt_r4_11
321aad54a9SPaul Mundt	.global	__ashiftrt_r4_12
331aad54a9SPaul Mundt	.global	__ashiftrt_r4_13
341aad54a9SPaul Mundt	.global	__ashiftrt_r4_14
351aad54a9SPaul Mundt	.global	__ashiftrt_r4_15
361aad54a9SPaul Mundt	.global	__ashiftrt_r4_16
371aad54a9SPaul Mundt	.global	__ashiftrt_r4_17
381aad54a9SPaul Mundt	.global	__ashiftrt_r4_18
391aad54a9SPaul Mundt	.global	__ashiftrt_r4_19
401aad54a9SPaul Mundt	.global	__ashiftrt_r4_20
411aad54a9SPaul Mundt	.global	__ashiftrt_r4_21
421aad54a9SPaul Mundt	.global	__ashiftrt_r4_22
431aad54a9SPaul Mundt	.global	__ashiftrt_r4_23
441aad54a9SPaul Mundt	.global	__ashiftrt_r4_24
451aad54a9SPaul Mundt	.global	__ashiftrt_r4_25
461aad54a9SPaul Mundt	.global	__ashiftrt_r4_26
471aad54a9SPaul Mundt	.global	__ashiftrt_r4_27
481aad54a9SPaul Mundt	.global	__ashiftrt_r4_28
491aad54a9SPaul Mundt	.global	__ashiftrt_r4_29
501aad54a9SPaul Mundt	.global	__ashiftrt_r4_30
511aad54a9SPaul Mundt	.global	__ashiftrt_r4_31
521aad54a9SPaul Mundt	.global	__ashiftrt_r4_32
531aad54a9SPaul Mundt
541aad54a9SPaul Mundt	.align	1
551aad54a9SPaul Mundt__ashiftrt_r4_32:
561aad54a9SPaul Mundt__ashiftrt_r4_31:
571aad54a9SPaul Mundt	rotcl	r4
581aad54a9SPaul Mundt	rts
591aad54a9SPaul Mundt	subc	r4,r4
601aad54a9SPaul Mundt__ashiftrt_r4_30:
611aad54a9SPaul Mundt	shar	r4
621aad54a9SPaul Mundt__ashiftrt_r4_29:
631aad54a9SPaul Mundt	shar	r4
641aad54a9SPaul Mundt__ashiftrt_r4_28:
651aad54a9SPaul Mundt	shar	r4
661aad54a9SPaul Mundt__ashiftrt_r4_27:
671aad54a9SPaul Mundt	shar	r4
681aad54a9SPaul Mundt__ashiftrt_r4_26:
691aad54a9SPaul Mundt	shar	r4
701aad54a9SPaul Mundt__ashiftrt_r4_25:
711aad54a9SPaul Mundt	shar	r4
721aad54a9SPaul Mundt__ashiftrt_r4_24:
731aad54a9SPaul Mundt	shlr16	r4
741aad54a9SPaul Mundt	shlr8	r4
751aad54a9SPaul Mundt	rts
761aad54a9SPaul Mundt	exts.b	r4,r4
771aad54a9SPaul Mundt__ashiftrt_r4_23:
781aad54a9SPaul Mundt	shar	r4
791aad54a9SPaul Mundt__ashiftrt_r4_22:
801aad54a9SPaul Mundt	shar	r4
811aad54a9SPaul Mundt__ashiftrt_r4_21:
821aad54a9SPaul Mundt	shar	r4
831aad54a9SPaul Mundt__ashiftrt_r4_20:
841aad54a9SPaul Mundt	shar	r4
851aad54a9SPaul Mundt__ashiftrt_r4_19:
861aad54a9SPaul Mundt	shar	r4
871aad54a9SPaul Mundt__ashiftrt_r4_18:
881aad54a9SPaul Mundt	shar	r4
891aad54a9SPaul Mundt__ashiftrt_r4_17:
901aad54a9SPaul Mundt	shar	r4
911aad54a9SPaul Mundt__ashiftrt_r4_16:
921aad54a9SPaul Mundt	shlr16	r4
931aad54a9SPaul Mundt	rts
941aad54a9SPaul Mundt	exts.w	r4,r4
951aad54a9SPaul Mundt__ashiftrt_r4_15:
961aad54a9SPaul Mundt	shar	r4
971aad54a9SPaul Mundt__ashiftrt_r4_14:
981aad54a9SPaul Mundt	shar	r4
991aad54a9SPaul Mundt__ashiftrt_r4_13:
1001aad54a9SPaul Mundt	shar	r4
1011aad54a9SPaul Mundt__ashiftrt_r4_12:
1021aad54a9SPaul Mundt	shar	r4
1031aad54a9SPaul Mundt__ashiftrt_r4_11:
1041aad54a9SPaul Mundt	shar	r4
1051aad54a9SPaul Mundt__ashiftrt_r4_10:
1061aad54a9SPaul Mundt	shar	r4
1071aad54a9SPaul Mundt__ashiftrt_r4_9:
1081aad54a9SPaul Mundt	shar	r4
1091aad54a9SPaul Mundt__ashiftrt_r4_8:
1101aad54a9SPaul Mundt	shar	r4
1111aad54a9SPaul Mundt__ashiftrt_r4_7:
1121aad54a9SPaul Mundt	shar	r4
1131aad54a9SPaul Mundt__ashiftrt_r4_6:
1141aad54a9SPaul Mundt	shar	r4
1151aad54a9SPaul Mundt__ashiftrt_r4_5:
1161aad54a9SPaul Mundt	shar	r4
1171aad54a9SPaul Mundt__ashiftrt_r4_4:
1181aad54a9SPaul Mundt	shar	r4
1191aad54a9SPaul Mundt__ashiftrt_r4_3:
1201aad54a9SPaul Mundt	shar	r4
1211aad54a9SPaul Mundt__ashiftrt_r4_2:
1221aad54a9SPaul Mundt	shar	r4
1231aad54a9SPaul Mundt__ashiftrt_r4_1:
1241aad54a9SPaul Mundt	rts
1251aad54a9SPaul Mundt	shar	r4
1261aad54a9SPaul Mundt__ashiftrt_r4_0:
1271aad54a9SPaul Mundt	rts
1281aad54a9SPaul Mundt	nop
129