1/* Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2 2004, 2005, 2006 3 Free Software Foundation, Inc. 4 5This file is free software; you can redistribute it and/or modify it 6under the terms of the GNU General Public License as published by the 7Free Software Foundation; either version 2, or (at your option) any 8later version. 9 10In addition to the permissions in the GNU General Public License, the 11Free Software Foundation gives you unlimited permission to link the 12compiled version of this file into combinations with other programs, 13and to distribute those combinations without any restriction coming 14from the use of this file. (The General Public License restrictions 15do apply in other respects; for example, they cover modification of 16the file, and distribution when not linked into a combine 17executable.) 18 19This file is distributed in the hope that it will be useful, but 20WITHOUT ANY WARRANTY; without even the implied warranty of 21MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22General Public License for more details. 23 24You should have received a copy of the GNU General Public License 25along with this program; see the file COPYING. If not, write to 26the Free Software Foundation, 51 Franklin Street, Fifth Floor, 27Boston, MA 02110-1301, USA. */ 28 29!! libgcc routines for the Renesas / SuperH SH CPUs. 30!! Contributed by Steve Chamberlain. 31!! sac@cygnus.com 32 33!! ashiftrt_r4_x, ___ashrsi3, ___ashlsi3, ___lshrsi3 routines 34!! recoded in assembly by Toshiyasu Morita 35!! tm@netcom.com 36 37/* SH2 optimizations for ___ashrsi3, ___ashlsi3, ___lshrsi3 and 38 ELF local label prefixes by J"orn Rennecke 39 amylaar@cygnus.com */ 40 41 .global __ashiftrt_r4_0 42 .global __ashiftrt_r4_1 43 .global __ashiftrt_r4_2 44 .global __ashiftrt_r4_3 45 .global __ashiftrt_r4_4 46 .global __ashiftrt_r4_5 47 .global __ashiftrt_r4_6 48 .global __ashiftrt_r4_7 49 .global __ashiftrt_r4_8 50 .global __ashiftrt_r4_9 51 .global __ashiftrt_r4_10 52 .global __ashiftrt_r4_11 53 .global __ashiftrt_r4_12 54 .global __ashiftrt_r4_13 55 .global __ashiftrt_r4_14 56 .global __ashiftrt_r4_15 57 .global __ashiftrt_r4_16 58 .global __ashiftrt_r4_17 59 .global __ashiftrt_r4_18 60 .global __ashiftrt_r4_19 61 .global __ashiftrt_r4_20 62 .global __ashiftrt_r4_21 63 .global __ashiftrt_r4_22 64 .global __ashiftrt_r4_23 65 .global __ashiftrt_r4_24 66 .global __ashiftrt_r4_25 67 .global __ashiftrt_r4_26 68 .global __ashiftrt_r4_27 69 .global __ashiftrt_r4_28 70 .global __ashiftrt_r4_29 71 .global __ashiftrt_r4_30 72 .global __ashiftrt_r4_31 73 .global __ashiftrt_r4_32 74 75 .align 1 76__ashiftrt_r4_32: 77__ashiftrt_r4_31: 78 rotcl r4 79 rts 80 subc r4,r4 81__ashiftrt_r4_30: 82 shar r4 83__ashiftrt_r4_29: 84 shar r4 85__ashiftrt_r4_28: 86 shar r4 87__ashiftrt_r4_27: 88 shar r4 89__ashiftrt_r4_26: 90 shar r4 91__ashiftrt_r4_25: 92 shar r4 93__ashiftrt_r4_24: 94 shlr16 r4 95 shlr8 r4 96 rts 97 exts.b r4,r4 98__ashiftrt_r4_23: 99 shar r4 100__ashiftrt_r4_22: 101 shar r4 102__ashiftrt_r4_21: 103 shar r4 104__ashiftrt_r4_20: 105 shar r4 106__ashiftrt_r4_19: 107 shar r4 108__ashiftrt_r4_18: 109 shar r4 110__ashiftrt_r4_17: 111 shar r4 112__ashiftrt_r4_16: 113 shlr16 r4 114 rts 115 exts.w r4,r4 116__ashiftrt_r4_15: 117 shar r4 118__ashiftrt_r4_14: 119 shar r4 120__ashiftrt_r4_13: 121 shar r4 122__ashiftrt_r4_12: 123 shar r4 124__ashiftrt_r4_11: 125 shar r4 126__ashiftrt_r4_10: 127 shar r4 128__ashiftrt_r4_9: 129 shar r4 130__ashiftrt_r4_8: 131 shar r4 132__ashiftrt_r4_7: 133 shar r4 134__ashiftrt_r4_6: 135 shar r4 136__ashiftrt_r4_5: 137 shar r4 138__ashiftrt_r4_4: 139 shar r4 140__ashiftrt_r4_3: 141 shar r4 142__ashiftrt_r4_2: 143 shar r4 144__ashiftrt_r4_1: 145 rts 146 shar r4 147__ashiftrt_r4_0: 148 rts 149 nop 150