Sync usage with man page.
[netbsd-mini2440.git] / sys / lib / libkern / arch / sh3 / ashiftrt.S
blob773487acd0c418a9dee003d8f4ab08b4f593eacc
1 /*      $NetBSD: ashiftrt.S,v 1.6 2006/05/22 20:56:44 uwe Exp $ */
3 /*-
4  * Copyright (C) 1999 Tsubai Masanari.  All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  * 3. The name of the author may not be used to endorse or promote products
15  *    derived from this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
29 #include <machine/asm.h>
32 #ifdef __ELF__
33         .hidden __ashiftrt_r4_0
34         .hidden __ashiftrt_r4_1
35         .hidden __ashiftrt_r4_2
36         .hidden __ashiftrt_r4_3
37         .hidden __ashiftrt_r4_4
38         .hidden __ashiftrt_r4_5
39         .hidden __ashiftrt_r4_6
40         .hidden __ashiftrt_r4_7
41         .hidden __ashiftrt_r4_8
42         .hidden __ashiftrt_r4_9
43         .hidden __ashiftrt_r4_10
44         .hidden __ashiftrt_r4_11
45         .hidden __ashiftrt_r4_12
46         .hidden __ashiftrt_r4_13
47         .hidden __ashiftrt_r4_14
48         .hidden __ashiftrt_r4_15
49         .hidden __ashiftrt_r4_16
50         .hidden __ashiftrt_r4_17
51         .hidden __ashiftrt_r4_18
52         .hidden __ashiftrt_r4_19
53         .hidden __ashiftrt_r4_20
54         .hidden __ashiftrt_r4_21
55         .hidden __ashiftrt_r4_22
56         .hidden __ashiftrt_r4_23
57         .hidden __ashiftrt_r4_24
58         .hidden __ashiftrt_r4_25
59         .hidden __ashiftrt_r4_26
60         .hidden __ashiftrt_r4_27
61         .hidden __ashiftrt_r4_28
62         .hidden __ashiftrt_r4_29
63         .hidden __ashiftrt_r4_30
64         .hidden __ashiftrt_r4_31
65 #endif  /* __ELF__ */
68 NENTRY(__ashiftrt_r4_31)
69         shll    r4
70         rts
71          subc   r4, r4
73 ALTENTRY(__ashiftrt_r4_30)
74         shar    r4
76 ALTENTRY(__ashiftrt_r4_29)
77         shar    r4
79 ALTENTRY(__ashiftrt_r4_28)
80         shar    r4
82 ALTENTRY(__ashiftrt_r4_27)
83         shar    r4
85 ALTENTRY(__ashiftrt_r4_26)
86         shar    r4
88 ALTENTRY(__ashiftrt_r4_25)
89         shar    r4
91 ALTENTRY(__ashiftrt_r4_24)
92         shlr16  r4
93         shlr8   r4
94         rts
95          exts.b r4, r4
97 ALTENTRY(__ashiftrt_r4_23)
98         shar    r4
100 ALTENTRY(__ashiftrt_r4_22)
101         shar    r4
103 ALTENTRY(__ashiftrt_r4_21)
104         shar    r4
106 ALTENTRY(__ashiftrt_r4_20)
107         shar    r4
109 ALTENTRY(__ashiftrt_r4_19)
110         shar    r4
112 ALTENTRY(__ashiftrt_r4_18)
113         shar    r4
115 ALTENTRY(__ashiftrt_r4_17)
116         shar    r4
118 ALTENTRY(__ashiftrt_r4_16)
119         shlr16  r4
120         rts
121          exts.w r4, r4
123 ALTENTRY(__ashiftrt_r4_15)
124         swap.w  r4, r4
125         cmp/pz  r4
126         bf/s    1f
127          exts.w r4, r4
128         rts
129          shll   r4
131         sett
132         rts
133          rotcl  r4
135 ALTENTRY(__ashiftrt_r4_14)
136         shar    r4
138 ALTENTRY(__ashiftrt_r4_13)
139         shar    r4
141 ALTENTRY(__ashiftrt_r4_12)
142         shar    r4
144 ALTENTRY(__ashiftrt_r4_11)
145         shar    r4
147 ALTENTRY(__ashiftrt_r4_10)
148         shar    r4
150 ALTENTRY(__ashiftrt_r4_9)
151         shar    r4
153 ALTENTRY(__ashiftrt_r4_8)
154         shar    r4
156 ALTENTRY(__ashiftrt_r4_7)
157         shar    r4
159 ALTENTRY(__ashiftrt_r4_6)
160         shar    r4
162 ALTENTRY(__ashiftrt_r4_5)
163         shar    r4
165 ALTENTRY(__ashiftrt_r4_4)
166         shar    r4
168 ALTENTRY(__ashiftrt_r4_3)
169         shar    r4
171 ALTENTRY(__ashiftrt_r4_2)
172         shar    r4
174 ALTENTRY(__ashiftrt_r4_1)
175         rts
176          shar   r4
178 ALTENTRY(__ashiftrt_r4_0)
179         rts
180          nop