root/arch/sh/lib/ashiftrt.S

/* [<][>][^][v][top][bottom][index][help] */
   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    amylaar@cygnus.com  */
  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

/* [<][>][^][v][top][bottom][index][help] */