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