| 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 | [email protected] */
|
| 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
|