1*4882a593Smuzhiyun/* SPDX-License-Identifier: GPL-2.0+ WITH GCC-exception-2.0 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 4*4882a593Smuzhiyun 2004, 2005, 2006 5*4882a593Smuzhiyun Free Software Foundation, Inc. 6*4882a593Smuzhiyun*/ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun!! libgcc routines for the Renesas / SuperH SH CPUs. 9*4882a593Smuzhiyun!! Contributed by Steve Chamberlain. 10*4882a593Smuzhiyun!! sac@cygnus.com 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun!! ashiftrt_r4_x, ___ashrsi3, ___ashlsi3, ___lshrsi3 routines 13*4882a593Smuzhiyun!! recoded in assembly by Toshiyasu Morita 14*4882a593Smuzhiyun!! tm@netcom.com 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun/* SH2 optimizations for ___ashrsi3, ___ashlsi3, ___lshrsi3 and 17*4882a593Smuzhiyun ELF local label prefixes by J"orn Rennecke 18*4882a593Smuzhiyun amylaar@cygnus.com */ 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun .global __ashiftrt_r4_0 21*4882a593Smuzhiyun .global __ashiftrt_r4_1 22*4882a593Smuzhiyun .global __ashiftrt_r4_2 23*4882a593Smuzhiyun .global __ashiftrt_r4_3 24*4882a593Smuzhiyun .global __ashiftrt_r4_4 25*4882a593Smuzhiyun .global __ashiftrt_r4_5 26*4882a593Smuzhiyun .global __ashiftrt_r4_6 27*4882a593Smuzhiyun .global __ashiftrt_r4_7 28*4882a593Smuzhiyun .global __ashiftrt_r4_8 29*4882a593Smuzhiyun .global __ashiftrt_r4_9 30*4882a593Smuzhiyun .global __ashiftrt_r4_10 31*4882a593Smuzhiyun .global __ashiftrt_r4_11 32*4882a593Smuzhiyun .global __ashiftrt_r4_12 33*4882a593Smuzhiyun .global __ashiftrt_r4_13 34*4882a593Smuzhiyun .global __ashiftrt_r4_14 35*4882a593Smuzhiyun .global __ashiftrt_r4_15 36*4882a593Smuzhiyun .global __ashiftrt_r4_16 37*4882a593Smuzhiyun .global __ashiftrt_r4_17 38*4882a593Smuzhiyun .global __ashiftrt_r4_18 39*4882a593Smuzhiyun .global __ashiftrt_r4_19 40*4882a593Smuzhiyun .global __ashiftrt_r4_20 41*4882a593Smuzhiyun .global __ashiftrt_r4_21 42*4882a593Smuzhiyun .global __ashiftrt_r4_22 43*4882a593Smuzhiyun .global __ashiftrt_r4_23 44*4882a593Smuzhiyun .global __ashiftrt_r4_24 45*4882a593Smuzhiyun .global __ashiftrt_r4_25 46*4882a593Smuzhiyun .global __ashiftrt_r4_26 47*4882a593Smuzhiyun .global __ashiftrt_r4_27 48*4882a593Smuzhiyun .global __ashiftrt_r4_28 49*4882a593Smuzhiyun .global __ashiftrt_r4_29 50*4882a593Smuzhiyun .global __ashiftrt_r4_30 51*4882a593Smuzhiyun .global __ashiftrt_r4_31 52*4882a593Smuzhiyun .global __ashiftrt_r4_32 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun .align 1 55*4882a593Smuzhiyun__ashiftrt_r4_32: 56*4882a593Smuzhiyun__ashiftrt_r4_31: 57*4882a593Smuzhiyun rotcl r4 58*4882a593Smuzhiyun rts 59*4882a593Smuzhiyun subc r4,r4 60*4882a593Smuzhiyun__ashiftrt_r4_30: 61*4882a593Smuzhiyun shar r4 62*4882a593Smuzhiyun__ashiftrt_r4_29: 63*4882a593Smuzhiyun shar r4 64*4882a593Smuzhiyun__ashiftrt_r4_28: 65*4882a593Smuzhiyun shar r4 66*4882a593Smuzhiyun__ashiftrt_r4_27: 67*4882a593Smuzhiyun shar r4 68*4882a593Smuzhiyun__ashiftrt_r4_26: 69*4882a593Smuzhiyun shar r4 70*4882a593Smuzhiyun__ashiftrt_r4_25: 71*4882a593Smuzhiyun shar r4 72*4882a593Smuzhiyun__ashiftrt_r4_24: 73*4882a593Smuzhiyun shlr16 r4 74*4882a593Smuzhiyun shlr8 r4 75*4882a593Smuzhiyun rts 76*4882a593Smuzhiyun exts.b r4,r4 77*4882a593Smuzhiyun__ashiftrt_r4_23: 78*4882a593Smuzhiyun shar r4 79*4882a593Smuzhiyun__ashiftrt_r4_22: 80*4882a593Smuzhiyun shar r4 81*4882a593Smuzhiyun__ashiftrt_r4_21: 82*4882a593Smuzhiyun shar r4 83*4882a593Smuzhiyun__ashiftrt_r4_20: 84*4882a593Smuzhiyun shar r4 85*4882a593Smuzhiyun__ashiftrt_r4_19: 86*4882a593Smuzhiyun shar r4 87*4882a593Smuzhiyun__ashiftrt_r4_18: 88*4882a593Smuzhiyun shar r4 89*4882a593Smuzhiyun__ashiftrt_r4_17: 90*4882a593Smuzhiyun shar r4 91*4882a593Smuzhiyun__ashiftrt_r4_16: 92*4882a593Smuzhiyun shlr16 r4 93*4882a593Smuzhiyun rts 94*4882a593Smuzhiyun exts.w r4,r4 95*4882a593Smuzhiyun__ashiftrt_r4_15: 96*4882a593Smuzhiyun shar r4 97*4882a593Smuzhiyun__ashiftrt_r4_14: 98*4882a593Smuzhiyun shar r4 99*4882a593Smuzhiyun__ashiftrt_r4_13: 100*4882a593Smuzhiyun shar r4 101*4882a593Smuzhiyun__ashiftrt_r4_12: 102*4882a593Smuzhiyun shar r4 103*4882a593Smuzhiyun__ashiftrt_r4_11: 104*4882a593Smuzhiyun shar r4 105*4882a593Smuzhiyun__ashiftrt_r4_10: 106*4882a593Smuzhiyun shar r4 107*4882a593Smuzhiyun__ashiftrt_r4_9: 108*4882a593Smuzhiyun shar r4 109*4882a593Smuzhiyun__ashiftrt_r4_8: 110*4882a593Smuzhiyun shar r4 111*4882a593Smuzhiyun__ashiftrt_r4_7: 112*4882a593Smuzhiyun shar r4 113*4882a593Smuzhiyun__ashiftrt_r4_6: 114*4882a593Smuzhiyun shar r4 115*4882a593Smuzhiyun__ashiftrt_r4_5: 116*4882a593Smuzhiyun shar r4 117*4882a593Smuzhiyun__ashiftrt_r4_4: 118*4882a593Smuzhiyun shar r4 119*4882a593Smuzhiyun__ashiftrt_r4_3: 120*4882a593Smuzhiyun shar r4 121*4882a593Smuzhiyun__ashiftrt_r4_2: 122*4882a593Smuzhiyun shar r4 123*4882a593Smuzhiyun__ashiftrt_r4_1: 124*4882a593Smuzhiyun rts 125*4882a593Smuzhiyun shar r4 126*4882a593Smuzhiyun__ashiftrt_r4_0: 127*4882a593Smuzhiyun rts 128*4882a593Smuzhiyun nop 129