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