~ubuntu-branches/debian/squeeze/ffcall/squeeze

« back to all changes in this revision

Viewing changes to callback/vacall_r/vacall-sparc64.S

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Egger
  • Date: 2010-06-26 15:29:30 UTC
  • mfrom: (5.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20100626152930-c09y01gk3szcnykn
Tags: 1.10+cvs20100619-2
Ship to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "asmsparc.h"
 
2
        .file   "vacall-sparc64.c"
 
3
        .version        "01.01"
 
4
.section        ".text"
 
5
        .align 4
 
6
        .global __vacall_r
 
7
        DECLARE_FUNCTION(__vacall_r)
 
8
        .type    __vacall_r,$function
 
9
        .proc   020
 
10
__vacall_r:
 
11
        !$PROLOGUE$ 0
 
12
        save    %sp, -448, %sp
 
13
        !$PROLOGUE$ 1
 
14
        add     %fp, 2223, %o0
 
15
        stx     %i5, [%o0-8]
 
16
        stx     %i0, [%o0-48]
 
17
        stx     %i1, [%o0-40]
 
18
        stx     %i2, [%o0-32]
 
19
        stx     %i3, [%o0-24]
 
20
        stx     %i4, [%o0-16]
 
21
        std     %f0, [%fp+1903]
 
22
        std     %f2, [%fp+1911]
 
23
        std     %f4, [%fp+1919]
 
24
        std     %f6, [%fp+1927]
 
25
        std     %f8, [%fp+1935]
 
26
        std     %f10, [%fp+1943]
 
27
        std     %f12, [%fp+1951]
 
28
        std     %f14, [%fp+1959]
 
29
        std     %f16, [%fp+1967]
 
30
        std     %f18, [%fp+1975]
 
31
        std     %f20, [%fp+1983]
 
32
        std     %f22, [%fp+1991]
 
33
        std     %f24, [%fp+1999]
 
34
        std     %f26, [%fp+2007]
 
35
        std     %f28, [%fp+2015]
 
36
        std     %f30, [%fp+2023]
 
37
        st      %f1, [%fp+1835]
 
38
        st      %f3, [%fp+1839]
 
39
        st      %f5, [%fp+1843]
 
40
        st      %f7, [%fp+1847]
 
41
        st      %f9, [%fp+1851]
 
42
        st      %f11, [%fp+1855]
 
43
        st      %f13, [%fp+1859]
 
44
        st      %f15, [%fp+1863]
 
45
        st      %f17, [%fp+1867]
 
46
        st      %f19, [%fp+1871]
 
47
        st      %f21, [%fp+1875]
 
48
        add     %o0, -48, %o0
 
49
        st      %f23, [%fp+1879]
 
50
        stx     %o0, [%fp+1783]
 
51
        st      %f25, [%fp+1883]
 
52
        ldx     [%g5+8], %o0
 
53
        st      %f27, [%fp+1887]
 
54
        st      %f29, [%fp+1891]
 
55
        st      %f31, [%fp+1895]
 
56
        st      %g0, [%fp+1775]
 
57
        stx     %g0, [%fp+1791]
 
58
        st      %g0, [%fp+1799]
 
59
        st      %g0, [%fp+1831]
 
60
        ldx     [%g5], %o2
 
61
        call    %o2, 0
 
62
        add     %fp, 1775, %o1
 
63
        ld      [%fp+1799], %o0
 
64
        cmp     %o0, 0
 
65
        be,pn   %icc, .LL4
 
66
        cmp     %o0, 1
 
67
        be,pn   %icc, .LL104
 
68
        mov     %o0, %o1
 
69
        cmp     %o1, 2
 
70
        bne,pt  %icc, .LL7
 
71
        cmp     %o1, 3
 
72
.LL104:
 
73
        ba,pt   %xcc, .LL4
 
74
        ldsb    [%fp+1815], %i0
 
75
.LL7:
 
76
        bne,pt  %icc, .LL9
 
77
        cmp     %o1, 4
 
78
        ba,pt   %xcc, .LL4
 
79
        ldub    [%fp+1815], %i0
 
80
.LL9:
 
81
        bne,pt  %icc, .LL11
 
82
        cmp     %o1, 5
 
83
        ba,pt   %xcc, .LL4
 
84
        ldsh    [%fp+1815], %i0
 
85
.LL11:
 
86
        bne,pt  %icc, .LL13
 
87
        cmp     %o1, 6
 
88
        ba,pt   %xcc, .LL4
 
89
        lduh    [%fp+1815], %i0
 
90
.LL13:
 
91
        bne,pt  %icc, .LL15
 
92
        cmp     %o1, 7
 
93
        ba,pt   %xcc, .LL4
 
94
        ldsw    [%fp+1815], %i0
 
95
.LL15:
 
96
        bne,pt  %icc, .LL17
 
97
        cmp     %o1, 8
 
98
        ba,pt   %xcc, .LL4
 
99
        lduw    [%fp+1815], %i0
 
100
.LL17:
 
101
        be,pn   %icc, .LL105
 
102
        cmp     %o1, 9
 
103
        be,pn   %icc, .LL105
 
104
        cmp     %o1, 10
 
105
        be,pn   %icc, .LL105
 
106
        cmp     %o1, 11
 
107
        be,pn   %icc, .LL105
 
108
        cmp     %o1, 12
 
109
        bne,pt  %icc, .LL27
 
110
        cmp     %o1, 13
 
111
        ba,pt   %xcc, .LL4
 
112
        ld      [%fp+1815], %f0
 
113
.LL27:
 
114
        bne,pt  %icc, .LL29
 
115
        cmp     %o1, 14
 
116
        ba,pt   %xcc, .LL4
 
117
        ldd     [%fp+1815], %f0
 
118
.LL29:
 
119
        bne,pt  %icc, .LL31
 
120
        cmp     %o1, 15
 
121
.LL105:
 
122
        ba,pt   %xcc, .LL4
 
123
        ldx     [%fp+1815], %i0
 
124
.LL31:
 
125
        bne,pt  %icc, .LL4
 
126
        ld      [%fp+1775], %o0
 
127
        mov     %o0, %o1
 
128
        and     %o0, 1, %o0
 
129
        cmp     %o0, 0
 
130
        be,pn   %icc, .LL34
 
131
        and     %o1, 1024, %o0
 
132
        ba,pt   %xcc, .LL4
 
133
        ldx     [%fp+1791], %i0
 
134
.LL34:
 
135
        cmp     %o0, 0
 
136
        be,pn   %icc, .LL4
 
137
        ldx     [%fp+1807], %o0
 
138
        mov     %o0, %g2
 
139
        add     %o0, -1, %o0
 
140
        cmp     %o0, 31
 
141
        bgu,pn  %xcc, .LL4
 
142
        cmp     %g2, 1
 
143
        bne,pt  %xcc, .LL38
 
144
        cmp     %g2, 2
 
145
        ldx     [%fp+1791], %o0
 
146
        ldub    [%o0], %o1
 
147
        ba,pt   %xcc, .LL4
 
148
        sllx    %o1, 56, %i0
 
149
.LL38:
 
150
        bne,pt  %xcc, .LL40
 
151
        cmp     %g2, 3
 
152
        ldx     [%fp+1791], %o2
 
153
        mov     %o2, %o3
 
154
        ldub    [%o2], %o1
 
155
        ldub    [%o3+1], %o0
 
156
        sllx    %o1, 56, %o1
 
157
        sllx    %o0, 48, %o0
 
158
        ba,pt   %xcc, .LL4
 
159
        or      %o1, %o0, %i0
 
160
.LL40:
 
161
        bne,pt  %xcc, .LL42
 
162
        cmp     %g2, 4
 
163
        ldx     [%fp+1791], %o0
 
164
        mov     %o0, %o3
 
165
        ldub    [%o0], %o2
 
166
        ldub    [%o3+1], %o1
 
167
        mov     %o0, %o4
 
168
        sllx    %o2, 56, %o2
 
169
        sllx    %o1, 48, %o1
 
170
        ldub    [%o4+2], %o0
 
171
        or      %o2, %o1, %o2
 
172
        sllx    %o0, 40, %o0
 
173
        ba,pt   %xcc, .LL4
 
174
        or      %o2, %o0, %i0
 
175
.LL42:
 
176
        bne,pt  %xcc, .LL44
 
177
        cmp     %g2, 5
 
178
        ldx     [%fp+1791], %o2
 
179
        mov     %o2, %o3
 
180
        ldub    [%o2], %o1
 
181
        ldub    [%o3+1], %o0
 
182
        mov     %o2, %o4
 
183
        sllx    %o0, 48, %o0
 
184
        sllx    %o1, 56, %o1
 
185
        or      %o1, %o0, %o1
 
186
        ldub    [%o4+2], %o2
 
187
        sllx    %o2, 40, %o2
 
188
        ldub    [%o3+3], %o0
 
189
        or      %o1, %o2, %o1
 
190
        sllx    %o0, 32, %o0
 
191
        ba,pt   %xcc, .LL4
 
192
        or      %o1, %o0, %i0
 
193
.LL44:
 
194
        bne,pt  %xcc, .LL46
 
195
        cmp     %g2, 6
 
196
        ldx     [%fp+1791], %o2
 
197
        mov     %o2, %o3
 
198
        ldub    [%o2], %o1
 
199
        ldub    [%o3+1], %o0
 
200
        mov     %o2, %o4
 
201
        sllx    %o0, 48, %o0
 
202
        ldub    [%o2+2], %o3
 
203
        sllx    %o1, 56, %o1
 
204
        sllx    %o3, 40, %o3
 
205
        or      %o1, %o0, %o1
 
206
        ldub    [%o4+3], %o2
 
207
        mov     %o4, %o5
 
208
        or      %o1, %o3, %o1
 
209
        sllx    %o2, 32, %o2
 
210
        ldub    [%o5+4], %o0
 
211
        or      %o1, %o2, %o1
 
212
        sllx    %o0, 24, %o0
 
213
        ba,pt   %xcc, .LL4
 
214
        or      %o1, %o0, %i0
 
215
.LL46:
 
216
        bne,pt  %xcc, .LL48
 
217
        cmp     %g2, 7
 
218
        ldx     [%fp+1791], %o2
 
219
        mov     %o2, %o3
 
220
        ldub    [%o2], %o1
 
221
        ldub    [%o3+1], %o0
 
222
        mov     %o2, %o4
 
223
        sllx    %o0, 48, %o0
 
224
        sllx    %o1, 56, %o1
 
225
        or      %o1, %o0, %o1
 
226
        ldub    [%o4+2], %o2
 
227
        sllx    %o2, 40, %o2
 
228
        ldub    [%o3+3], %o0
 
229
        or      %o1, %o2, %o1
 
230
        sllx    %o0, 32, %o0
 
231
        or      %o1, %o0, %o1
 
232
        ldub    [%o4+4], %o2
 
233
        sllx    %o2, 24, %o2
 
234
        ldub    [%o3+5], %o0
 
235
        or      %o1, %o2, %o1
 
236
        sllx    %o0, 16, %o0
 
237
        ba,pt   %xcc, .LL4
 
238
        or      %o1, %o0, %i0
 
239
.LL48:
 
240
        bne,pt  %xcc, .LL50
 
241
        add     %g2, -8, %o0
 
242
        ldx     [%fp+1791], %o2
 
243
        mov     %o2, %o3
 
244
        ldub    [%o2], %o1
 
245
        ldub    [%o3+1], %o0
 
246
        mov     %o2, %o4
 
247
        sllx    %o0, 48, %o0
 
248
        sllx    %o1, 56, %o1
 
249
        or      %o1, %o0, %o1
 
250
        ldub    [%o4+2], %o2
 
251
        sllx    %o2, 40, %o2
 
252
        ldub    [%o3+3], %o0
 
253
        or      %o1, %o2, %o1
 
254
        sllx    %o0, 32, %o0
 
255
        ldub    [%o4+4], %o3
 
256
        mov     %o4, %o5
 
257
        or      %o1, %o0, %o1
 
258
        sllx    %o3, 24, %o3
 
259
        ldub    [%o5+5], %o2
 
260
        or      %o1, %o3, %o1
 
261
        sllx    %o2, 16, %o2
 
262
        ldub    [%o4+6], %o0
 
263
        or      %o1, %o2, %o1
 
264
        sllx    %o0, 8, %o0
 
265
        ba,pt   %xcc, .LL4
 
266
        or      %o1, %o0, %i0
 
267
.LL50:
 
268
        cmp     %o0, 24
 
269
        bgu,pn  %xcc, .LL4
 
270
        ldx     [%fp+1791], %o2
 
271
        cmp     %g2, 8
 
272
        mov     %o2, %o3
 
273
        ldub    [%o2], %o0
 
274
        ldub    [%o3+1], %o1
 
275
        mov     %o2, %o4
 
276
        sllx    %o1, 48, %o1
 
277
        sllx    %o0, 56, %o0
 
278
        or      %o0, %o1, %o0
 
279
        ldub    [%o4+2], %o2
 
280
        sllx    %o2, 40, %o2
 
281
        ldub    [%o3+3], %o1
 
282
        or      %o0, %o2, %o0
 
283
        sllx    %o1, 32, %o1
 
284
        ldub    [%o4+4], %o3
 
285
        mov     %o4, %o5
 
286
        or      %o0, %o1, %o0
 
287
        sllx    %o3, 24, %o3
 
288
        ldub    [%o5+5], %o2
 
289
        or      %o0, %o3, %o0
 
290
        sllx    %o2, 16, %o2
 
291
        ldub    [%o4+6], %o1
 
292
        or      %o0, %o2, %o0
 
293
        sllx    %o1, 8, %o1
 
294
        mov     %o4, %o2
 
295
        or      %o0, %o1, %o0
 
296
        ldub    [%o2+7], %o3
 
297
        mov     %o2, %g3
 
298
        be,pn   %xcc, .LL4
 
299
        or      %o0, %o3, %i0
 
300
        cmp     %g2, 9
 
301
        bne,pt  %xcc, .LL55
 
302
        cmp     %g2, 10
 
303
        ldub    [%g3+8], %o0
 
304
        ba,pt   %xcc, .LL4
 
305
        sllx    %o0, 56, %i1
 
306
.LL55:
 
307
        bne,pt  %xcc, .LL57
 
308
        cmp     %g2, 11
 
309
        ldx     [%fp+1791], %o2
 
310
        ldub    [%g3+8], %o1
 
311
        ldub    [%o2+9], %o0
 
312
        sllx    %o1, 56, %o1
 
313
        sllx    %o0, 48, %o0
 
314
        ba,pt   %xcc, .LL4
 
315
        or      %o1, %o0, %i1
 
316
.LL57:
 
317
        bne,pt  %xcc, .LL59
 
318
        cmp     %g2, 12
 
319
        ldx     [%fp+1791], %o0
 
320
        ldub    [%g3+8], %o2
 
321
        ldub    [%o0+9], %o1
 
322
        mov     %o0, %o3
 
323
        sllx    %o2, 56, %o2
 
324
        sllx    %o1, 48, %o1
 
325
        ldub    [%o3+10], %o0
 
326
        or      %o2, %o1, %o2
 
327
        sllx    %o0, 40, %o0
 
328
        ba,pt   %xcc, .LL4
 
329
        or      %o2, %o0, %i1
 
330
.LL59:
 
331
        bne,pt  %xcc, .LL61
 
332
        cmp     %g2, 13
 
333
        ldx     [%fp+1791], %o2
 
334
        ldub    [%g3+8], %o1
 
335
        ldub    [%o2+9], %o0
 
336
        mov     %o2, %o3
 
337
        sllx    %o0, 48, %o0
 
338
        sllx    %o1, 56, %o1
 
339
        or      %o1, %o0, %o1
 
340
        ldub    [%o3+10], %o2
 
341
        mov     %o3, %o4
 
342
        sllx    %o2, 40, %o2
 
343
        ldub    [%o4+11], %o0
 
344
        or      %o1, %o2, %o1
 
345
        sllx    %o0, 32, %o0
 
346
        ba,pt   %xcc, .LL4
 
347
        or      %o1, %o0, %i1
 
348
.LL61:
 
349
        bne,pt  %xcc, .LL63
 
350
        cmp     %g2, 14
 
351
        ldx     [%fp+1791], %o2
 
352
        ldub    [%g3+8], %o1
 
353
        mov     %o2, %o4
 
354
        ldub    [%o2+9], %o0
 
355
        sllx    %o0, 48, %o0
 
356
        sllx    %o1, 56, %o1
 
357
        ldub    [%o4+10], %o3
 
358
        mov     %o2, %o5
 
359
        or      %o1, %o0, %o1
 
360
        sllx    %o3, 40, %o3
 
361
        ldub    [%o5+11], %o2
 
362
        or      %o1, %o3, %o1
 
363
        sllx    %o2, 32, %o2
 
364
        ldub    [%o4+12], %o0
 
365
        or      %o1, %o2, %o1
 
366
        sllx    %o0, 24, %o0
 
367
        ba,pt   %xcc, .LL4
 
368
        or      %o1, %o0, %i1
 
369
.LL63:
 
370
        bne,pt  %xcc, .LL65
 
371
        cmp     %g2, 15
 
372
        ldx     [%fp+1791], %o2
 
373
        ldub    [%g3+8], %o1
 
374
        ldub    [%o2+9], %o0
 
375
        mov     %o2, %o3
 
376
        sllx    %o0, 48, %o0
 
377
        sllx    %o1, 56, %o1
 
378
        mov     %o3, %o4
 
379
        or      %o1, %o0, %o1
 
380
        ldub    [%o3+10], %o2
 
381
        ldub    [%o4+11], %o0
 
382
        sllx    %o2, 40, %o2
 
383
        sllx    %o0, 32, %o0
 
384
        or      %o1, %o2, %o1
 
385
        or      %o1, %o0, %o1
 
386
        ldub    [%o3+12], %o2
 
387
        sllx    %o2, 24, %o2
 
388
        ldub    [%o4+13], %o0
 
389
        or      %o1, %o2, %o1
 
390
        sllx    %o0, 16, %o0
 
391
        ba,pt   %xcc, .LL4
 
392
        or      %o1, %o0, %i1
 
393
.LL65:
 
394
        bne,pt  %xcc, .LL67
 
395
        add     %g2, -16, %o0
 
396
        ldx     [%fp+1791], %o2
 
397
        ldub    [%g3+8], %o1
 
398
        ldub    [%o2+9], %o0
 
399
        mov     %o2, %o3
 
400
        sllx    %o0, 48, %o0
 
401
        sllx    %o1, 56, %o1
 
402
        mov     %o3, %o4
 
403
        ldub    [%o3+10], %o2
 
404
        or      %o1, %o0, %o1
 
405
        sllx    %o2, 40, %o2
 
406
        mov     %o3, %o5
 
407
        ldub    [%o4+11], %o0
 
408
        or      %o1, %o2, %o1
 
409
        sllx    %o0, 32, %o0
 
410
        ldub    [%o5+12], %o3
 
411
        or      %o1, %o0, %o1
 
412
        sllx    %o3, 24, %o3
 
413
        ldub    [%o4+13], %o2
 
414
        or      %o1, %o3, %o1
 
415
        sllx    %o2, 16, %o2
 
416
        ldub    [%o5+14], %o0
 
417
        or      %o1, %o2, %o1
 
418
        sllx    %o0, 8, %o0
 
419
        ba,pt   %xcc, .LL4
 
420
        or      %o1, %o0, %i1
 
421
.LL67:
 
422
        cmp     %o0, 16
 
423
        bgu,pn  %xcc, .LL4
 
424
        ldx     [%fp+1791], %o2
 
425
        ldub    [%g3+8], %o0
 
426
        ldub    [%o2+9], %o1
 
427
        mov     %o2, %o3
 
428
        sllx    %o1, 48, %o1
 
429
        sllx    %o0, 56, %o0
 
430
        mov     %o3, %o4
 
431
        ldub    [%o3+10], %o2
 
432
        or      %o0, %o1, %o0
 
433
        sllx    %o2, 40, %o2
 
434
        mov     %o3, %o5
 
435
        ldub    [%o4+11], %o1
 
436
        or      %o0, %o2, %o0
 
437
        sllx    %o1, 32, %o1
 
438
        ldub    [%o5+12], %o3
 
439
        or      %o0, %o1, %o0
 
440
        sllx    %o3, 24, %o3
 
441
        ldub    [%o4+13], %o2
 
442
        or      %o0, %o3, %o0
 
443
        sllx    %o2, 16, %o2
 
444
        ldub    [%o5+14], %o1
 
445
        or      %o0, %o2, %o0
 
446
        sllx    %o1, 8, %o1
 
447
        mov     %o4, %o3
 
448
        or      %o0, %o1, %o0
 
449
        ldub    [%o3+15], %o2
 
450
        cmp     %g2, 16
 
451
        be,pn   %xcc, .LL4
 
452
        or      %o0, %o2, %i1
 
453
        cmp     %g2, 17
 
454
        bne,pt  %xcc, .LL72
 
455
        cmp     %g2, 18
 
456
        ldub    [%g3+16], %o0
 
457
        ba,pt   %xcc, .LL4
 
458
        sllx    %o0, 56, %i2
 
459
.LL72:
 
460
        bne,pt  %xcc, .LL74
 
461
        cmp     %g2, 19
 
462
        ldx     [%fp+1791], %o2
 
463
        ldub    [%g3+16], %o1
 
464
        ldub    [%o2+17], %o0
 
465
        sllx    %o1, 56, %o1
 
466
        sllx    %o0, 48, %o0
 
467
        ba,pt   %xcc, .LL4
 
468
        or      %o1, %o0, %i2
 
469
.LL74:
 
470
        bne,pt  %xcc, .LL76
 
471
        cmp     %g2, 20
 
472
        ldx     [%fp+1791], %o0
 
473
        ldub    [%g3+16], %o2
 
474
        ldub    [%o0+17], %o1
 
475
        mov     %o0, %o3
 
476
        sllx    %o2, 56, %o2
 
477
        sllx    %o1, 48, %o1
 
478
        ldub    [%o3+18], %o0
 
479
        or      %o2, %o1, %o2
 
480
        sllx    %o0, 40, %o0
 
481
        ba,pt   %xcc, .LL4
 
482
        or      %o2, %o0, %i2
 
483
.LL76:
 
484
        bne,pt  %xcc, .LL78
 
485
        cmp     %g2, 21
 
486
        ldx     [%fp+1791], %o2
 
487
        ldub    [%g3+16], %o1
 
488
        ldub    [%o2+17], %o0
 
489
        mov     %o2, %o3
 
490
        sllx    %o0, 48, %o0
 
491
        sllx    %o1, 56, %o1
 
492
        or      %o1, %o0, %o1
 
493
        ldub    [%o3+18], %o2
 
494
        mov     %o3, %o4
 
495
        sllx    %o2, 40, %o2
 
496
        ldub    [%o4+19], %o0
 
497
        or      %o1, %o2, %o1
 
498
        sllx    %o0, 32, %o0
 
499
        ba,pt   %xcc, .LL4
 
500
        or      %o1, %o0, %i2
 
501
.LL78:
 
502
        bne,pt  %xcc, .LL80
 
503
        cmp     %g2, 22
 
504
        ldx     [%fp+1791], %o2
 
505
        ldub    [%g3+16], %o1
 
506
        mov     %o2, %o4
 
507
        ldub    [%o2+17], %o0
 
508
        sllx    %o0, 48, %o0
 
509
        sllx    %o1, 56, %o1
 
510
        ldub    [%o4+18], %o3
 
511
        mov     %o2, %o5
 
512
        or      %o1, %o0, %o1
 
513
        sllx    %o3, 40, %o3
 
514
        ldub    [%o5+19], %o2
 
515
        or      %o1, %o3, %o1
 
516
        sllx    %o2, 32, %o2
 
517
        ldub    [%o4+20], %o0
 
518
        or      %o1, %o2, %o1
 
519
        sllx    %o0, 24, %o0
 
520
        ba,pt   %xcc, .LL4
 
521
        or      %o1, %o0, %i2
 
522
.LL80:
 
523
        bne,pt  %xcc, .LL82
 
524
        cmp     %g2, 23
 
525
        ldx     [%fp+1791], %o2
 
526
        ldub    [%g3+16], %o1
 
527
        ldub    [%o2+17], %o0
 
528
        mov     %o2, %o3
 
529
        sllx    %o0, 48, %o0
 
530
        sllx    %o1, 56, %o1
 
531
        mov     %o3, %o4
 
532
        or      %o1, %o0, %o1
 
533
        ldub    [%o3+18], %o2
 
534
        ldub    [%o4+19], %o0
 
535
        sllx    %o2, 40, %o2
 
536
        sllx    %o0, 32, %o0
 
537
        or      %o1, %o2, %o1
 
538
        or      %o1, %o0, %o1
 
539
        ldub    [%o3+20], %o2
 
540
        sllx    %o2, 24, %o2
 
541
        ldub    [%o4+21], %o0
 
542
        or      %o1, %o2, %o1
 
543
        sllx    %o0, 16, %o0
 
544
        ba,pt   %xcc, .LL4
 
545
        or      %o1, %o0, %i2
 
546
.LL82:
 
547
        bne,pt  %xcc, .LL84
 
548
        add     %g2, -24, %o0
 
549
        ldx     [%fp+1791], %o2
 
550
        ldub    [%g3+16], %o1
 
551
        ldub    [%o2+17], %o0
 
552
        mov     %o2, %o3
 
553
        sllx    %o0, 48, %o0
 
554
        sllx    %o1, 56, %o1
 
555
        mov     %o3, %o4
 
556
        ldub    [%o3+18], %o2
 
557
        or      %o1, %o0, %o1
 
558
        sllx    %o2, 40, %o2
 
559
        mov     %o3, %o5
 
560
        ldub    [%o4+19], %o0
 
561
        or      %o1, %o2, %o1
 
562
        sllx    %o0, 32, %o0
 
563
        ldub    [%o5+20], %o3
 
564
        or      %o1, %o0, %o1
 
565
        sllx    %o3, 24, %o3
 
566
        ldub    [%o4+21], %o2
 
567
        or      %o1, %o3, %o1
 
568
        sllx    %o2, 16, %o2
 
569
        ldub    [%o5+22], %o0
 
570
        or      %o1, %o2, %o1
 
571
        sllx    %o0, 8, %o0
 
572
        ba,pt   %xcc, .LL4
 
573
        or      %o1, %o0, %i2
 
574
.LL84:
 
575
        cmp     %o0, 8
 
576
        bgu,pn  %xcc, .LL4
 
577
        ldx     [%fp+1791], %o2
 
578
        ldub    [%g3+16], %o0
 
579
        ldub    [%o2+17], %o1
 
580
        mov     %o2, %o3
 
581
        sllx    %o1, 48, %o1
 
582
        sllx    %o0, 56, %o0
 
583
        mov     %o3, %o4
 
584
        ldub    [%o3+18], %o2
 
585
        or      %o0, %o1, %o0
 
586
        sllx    %o2, 40, %o2
 
587
        mov     %o3, %o5
 
588
        ldub    [%o4+19], %o1
 
589
        or      %o0, %o2, %o0
 
590
        sllx    %o1, 32, %o1
 
591
        ldub    [%o5+20], %o3
 
592
        or      %o0, %o1, %o0
 
593
        sllx    %o3, 24, %o3
 
594
        ldub    [%o4+21], %o2
 
595
        or      %o0, %o3, %o0
 
596
        sllx    %o2, 16, %o2
 
597
        ldub    [%o5+22], %o1
 
598
        or      %o0, %o2, %o0
 
599
        sllx    %o1, 8, %o1
 
600
        mov     %o4, %o3
 
601
        or      %o0, %o1, %o0
 
602
        ldub    [%o3+23], %o2
 
603
        cmp     %g2, 24
 
604
        be,pn   %xcc, .LL4
 
605
        or      %o0, %o2, %i2
 
606
        cmp     %g2, 25
 
607
        bne,pt  %xcc, .LL89
 
608
        cmp     %g2, 26
 
609
        ldub    [%g3+24], %o0
 
610
        ba,pt   %xcc, .LL4
 
611
        sllx    %o0, 56, %i3
 
612
.LL89:
 
613
        bne,pt  %xcc, .LL91
 
614
        cmp     %g2, 27
 
615
        ldx     [%fp+1791], %o2
 
616
        ldub    [%g3+24], %o1
 
617
        ldub    [%o2+25], %o0
 
618
        sllx    %o1, 56, %o1
 
619
        sllx    %o0, 48, %o0
 
620
        ba,pt   %xcc, .LL4
 
621
        or      %o1, %o0, %i3
 
622
.LL91:
 
623
        bne,pt  %xcc, .LL93
 
624
        cmp     %g2, 28
 
625
        ldx     [%fp+1791], %o0
 
626
        ldub    [%g3+24], %o2
 
627
        ldub    [%o0+25], %o1
 
628
        mov     %o0, %o3
 
629
        sllx    %o2, 56, %o2
 
630
        sllx    %o1, 48, %o1
 
631
        ldub    [%o3+26], %o0
 
632
        or      %o2, %o1, %o2
 
633
        ba,pt   %xcc, .LL106
 
634
        sllx    %o0, 40, %o0
 
635
.LL93:
 
636
        bne,pt  %xcc, .LL95
 
637
        cmp     %g2, 29
 
638
        ldx     [%fp+1791], %o2
 
639
        ldub    [%g3+24], %o1
 
640
        ldub    [%o2+25], %o0
 
641
        mov     %o2, %o3
 
642
        sllx    %o0, 48, %o0
 
643
        sllx    %o1, 56, %o1
 
644
        or      %o1, %o0, %o1
 
645
        ldub    [%o3+26], %o2
 
646
        mov     %o3, %o4
 
647
        sllx    %o2, 40, %o2
 
648
        ldub    [%o4+27], %o0
 
649
        or      %o1, %o2, %o1
 
650
        sllx    %o0, 32, %o0
 
651
        ba,pt   %xcc, .LL4
 
652
        or      %o1, %o0, %i3
 
653
.LL95:
 
654
        bne,pt  %xcc, .LL97
 
655
        cmp     %g2, 30
 
656
        ldx     [%fp+1791], %o2
 
657
        ldub    [%g3+24], %o1
 
658
        mov     %o2, %o4
 
659
        ldub    [%o2+25], %o0
 
660
        sllx    %o0, 48, %o0
 
661
        sllx    %o1, 56, %o1
 
662
        ldub    [%o4+26], %o3
 
663
        mov     %o2, %o5
 
664
        or      %o1, %o0, %o1
 
665
        sllx    %o3, 40, %o3
 
666
        ldub    [%o5+27], %o2
 
667
        or      %o1, %o3, %o1
 
668
        sllx    %o2, 32, %o2
 
669
        ldub    [%o4+28], %o0
 
670
        or      %o1, %o2, %o1
 
671
        sllx    %o0, 24, %o0
 
672
        ba,pt   %xcc, .LL4
 
673
        or      %o1, %o0, %i3
 
674
.LL97:
 
675
        bne,pt  %xcc, .LL99
 
676
        cmp     %g2, 31
 
677
        ldx     [%fp+1791], %o2
 
678
        ldub    [%g3+24], %o1
 
679
        ldub    [%o2+25], %o0
 
680
        mov     %o2, %o3
 
681
        sllx    %o0, 48, %o0
 
682
        sllx    %o1, 56, %o1
 
683
        mov     %o3, %o4
 
684
        or      %o1, %o0, %o1
 
685
        ldub    [%o3+26], %o2
 
686
        ldub    [%o4+27], %o0
 
687
        sllx    %o2, 40, %o2
 
688
        sllx    %o0, 32, %o0
 
689
        or      %o1, %o2, %o1
 
690
        or      %o1, %o0, %o1
 
691
        ldub    [%o3+28], %o2
 
692
        sllx    %o2, 24, %o2
 
693
        ldub    [%o4+29], %o0
 
694
        or      %o1, %o2, %o1
 
695
        sllx    %o0, 16, %o0
 
696
        ba,pt   %xcc, .LL4
 
697
        or      %o1, %o0, %i3
 
698
.LL99:
 
699
        bne,pt  %xcc, .LL101
 
700
        cmp     %g2, 32
 
701
        ldx     [%fp+1791], %o2
 
702
        ldub    [%g3+24], %o1
 
703
        ldub    [%o2+25], %o0
 
704
        mov     %o2, %o3
 
705
        sllx    %o0, 48, %o0
 
706
        sllx    %o1, 56, %o1
 
707
        mov     %o3, %o4
 
708
        ldub    [%o3+26], %o2
 
709
        or      %o1, %o0, %o1
 
710
        sllx    %o2, 40, %o2
 
711
        mov     %o3, %o5
 
712
        ldub    [%o4+27], %o0
 
713
        or      %o1, %o2, %o1
 
714
        sllx    %o0, 32, %o0
 
715
        ldub    [%o5+28], %o3
 
716
        or      %o1, %o0, %o1
 
717
        sllx    %o3, 24, %o3
 
718
        ldub    [%o4+29], %o2
 
719
        or      %o1, %o3, %o1
 
720
        sllx    %o2, 16, %o2
 
721
        ldub    [%o5+30], %o0
 
722
        or      %o1, %o2, %o1
 
723
        sllx    %o0, 8, %o0
 
724
        ba,pt   %xcc, .LL4
 
725
        or      %o1, %o0, %i3
 
726
.LL101:
 
727
        bne,pt  %xcc, .LL4
 
728
        ldx     [%fp+1791], %o2
 
729
        ldub    [%g3+24], %o0
 
730
        ldub    [%o2+25], %o1
 
731
        mov     %o2, %o3
 
732
        sllx    %o1, 48, %o1
 
733
        sllx    %o0, 56, %o0
 
734
        mov     %o3, %o4
 
735
        ldub    [%o3+26], %o2
 
736
        or      %o0, %o1, %o0
 
737
        sllx    %o2, 40, %o2
 
738
        mov     %o3, %o5
 
739
        ldub    [%o4+27], %o1
 
740
        or      %o0, %o2, %o0
 
741
        sllx    %o1, 32, %o1
 
742
        ldub    [%o5+28], %o3
 
743
        or      %o0, %o1, %o0
 
744
        sllx    %o3, 24, %o3
 
745
        ldub    [%o4+29], %o2
 
746
        or      %o0, %o3, %o0
 
747
        sllx    %o2, 16, %o2
 
748
        ldub    [%o5+30], %o1
 
749
        or      %o0, %o2, %o0
 
750
        sllx    %o1, 8, %o1
 
751
        mov     %o4, %o3
 
752
        or      %o0, %o1, %o0
 
753
        ldub    [%o3+31], %o2
 
754
.LL106:
 
755
        or      %o0, %o2, %i3
 
756
.LL4:
 
757
        return  %i7+8
 
758
        nop
 
759
.LLfe1:
 
760
        .size    __vacall_r,.LLfe1-__vacall_r
 
761
        .ident  "GCC: (GNU) 2.95.2 19991024 (release)"