File: avcall-hppa-macro.S

package info (click to toggle)
ffcall 2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 5,808 kB
  • sloc: asm: 43,409; ansic: 23,224; sh: 5,383; makefile: 1,517; cpp: 2
file content (230 lines) | stat: -rw-r--r-- 4,149 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
#include "asm-hppa.h"
	.LEVEL 1.1
	IMPORT_MILLICODE($$dyncall)
	TEXT1()
	TEXT2()
	.align 4
GLOBL(avcall_call)
		DECLARE_FUNCTION(avcall_call)
DEF(avcall_call)
	.PROC
	.CALLINFO FRAME=1152,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=5
	.ENTRY
	copy %r3,%r1
	stw %r2,-20(%r30)
	copy %r30,%r3
	stwm %r1,1152(%r30)
	stw %r5,1040(%r3)
	ldo -32(%r30),%r25
	copy %r19,%r5
	stw %r4,1044(%r3)
	stw %r19,-32(%r30)
	ldw 28(%r26),%r21
	ldw 20(%r26),%r20
	sub %r21,%r20,%r20
	extrs %r20,29,30,%r20
	sub %r0,%r20,%r23
	comib,<= -4,%r23,L(49)
	copy %r26,%r4
	copy %r21,%r24
DEF(L(6))
	zdep %r23,29,30,%r20
	ldo 1(%r23),%r23
	addl %r20,%r24,%r22
	addl %r20,%r25,%r20
	ldw 0(%r22),%r21
	comib,> -4,%r23,L(6)
	stw %r21,0(%r20)
DEF(L(48))
	ldw 12(%r4),%r21
	ldi 16,%r20
	comb,=,n %r20,%r21,L(54)
DEF(L(7))
	ldw -16(%r24),%r23
	ldw -4(%r24),%r26
	ldw -8(%r24),%r25
	ldw 4(%r4),%r22
	ldw -12(%r24),%r24
	.CALL	ARGW0=GR
	bl $$dyncall,%r31
	copy %r31,%r2
	ldw 12(%r4),%r21
	copy %r5,%r19
	comib,= 1,%r21,L(9)
	copy %r28,%r2
	comib,=,n 0,%r21,L(53)
	comib,=,n 2,%r21,L(52)
	comib,=,n 3,%r21,L(52)
	comib,=,n 4,%r21,L(52)
	comib,=,n 5,%r21,L(51)
	comib,=,n 6,%r21,L(51)
	comib,=,n 7,%r21,L(53)
	comib,=,n 8,%r21,L(53)
	comib,=,n 9,%r21,L(53)
	comib,=,n 10,%r21,L(53)
	ldo -11(%r21),%r20
	comib,<<,n 1,%r20,L(30)
	ldw 8(%r4),%r20
	stw %r29,4(%r20)
DEF(L(50))
	stw %r2,0(%r20)
DEF(L(9))
	ldw -20(%r3),%r2
DEF(L(57))
	ldi 0,%r28
	ldw 1040(%r3),%r5
	ldw 1044(%r3),%r4
	ldo 64(%r3),%r30
	bv %r0(%r2)
	ldwm -64(%r30),%r3
DEF(L(30))
	comib,=,n 13,%r21,L(55)
	comib,=,n 14,%r21,L(56)
	comib,=,n 15,%r21,L(53)
	ldi 16,%r20
	comb,<>,n %r20,%r21,L(57)
	ldw -20(%r3),%r2
	ldw 0(%r4),%r20
	bb,>=,n %r20,30,L(57)
	ldw -20(%r3),%r2
	ldw 16(%r4),%r22
	ldo -1(%r22),%r20
	comib,<<,n 7,%r20,L(57)
	ldw -20(%r3),%r2
	ldw 8(%r4),%r20
	extru %r20,31,2,%r26
	copy %r20,%r4
	depi 0,31,2,%r4
	comib,<< 4,%r22,L(41)
	addl %r26,%r22,%r21
	comib,<< 4,%r21,L(42)
	zdep %r21,28,29,%r20
	ldo -1(%r20),%r25
	zdep %r26,28,29,%r21
	mtsar %r25
	ldw 0(%r4),%r23
	zvdep %r28,32,%r20
	mtsar %r21
	zvdepi 2,32,%r21
	xor %r23,%r20,%r20
	mtsar %r25
	zvdepi 1,32,%r22
	sub %r21,%r22,%r21
	and %r20,%r21,%r20
	xor %r23,%r20,%r23
	b L(9)
	stw %r23,0(%r4)
DEF(L(42))
	subi 63,%r20,%r31
	zdep %r26,28,29,%r26
	ldo -33(%r20),%r20
	ldw 0(%r4),%r25
	mtsar %r20
	ldw 4(%r4),%r24
	zvdep %r28,32,%r23
	mtsar %r26
	zvdepi 2,32,%r22
	xor %r24,%r23,%r23
	mtsar %r31
	ldo -1(%r22),%r22
	vextrs %r28,32,%r21
	mtsar %r20
	zvdepi 1,32,%r20
	xor %r25,%r21,%r21
	sub %r0,%r20,%r20
	and %r21,%r22,%r21
	and %r23,%r20,%r23
	xor %r25,%r21,%r25
	xor %r24,%r23,%r24
	stw %r25,0(%r4)
	b L(9)
	stw %r24,4(%r4)
DEF(L(41))
	zdep %r26,28,29,%r26
	mtsar %r26
	zvdepi 2,32,%r20
	comib,<< 8,%r21,L(45)
	ldo -1(%r20),%r25
	zdep %r21,29,30,%r20
	subi 47,%r20,%r24
	zdep %r21,28,29,%r21
	mtsar %r24
	ldo -33(%r21),%r26
	vextrs %r29,32,%r22
	vextrs %r22,32,%r22
	mtsar %r26
	ldw 0(%r4),%r24
	ldw 4(%r4),%r23
	zvdep %r28,32,%r20
	or %r20,%r22,%r20
	zvdep %r29,32,%r29
	zvdepi 1,32,%r21
	xor %r24,%r20,%r20
	xor %r23,%r29,%r29
	sub %r0,%r21,%r21
	and %r20,%r25,%r20
	and %r29,%r21,%r29
	xor %r24,%r20,%r24
	xor %r23,%r29,%r23
	stw %r24,0(%r4)
	b L(9)
	stw %r23,4(%r4)
DEF(L(45))
	zdep %r21,28,29,%r20
	ldo -65(%r20),%r31
	subi 95,%r20,%r26
	ldw 8(%r4),%r23
	mtsar %r31
	ldw 0(%r4),%r24
	zvdep %r29,32,%r22
	zvdepi 1,32,%r21
	xor %r23,%r22,%r22
	mtsar %r26
	sub %r0,%r21,%r21
	vextrs %r28,32,%r20
	and %r22,%r21,%r22
	mtsar %r31
	xor %r24,%r20,%r20
	zvdep %r28,32,%r21
	and %r20,%r25,%r20
	mtsar %r26
	xor %r24,%r20,%r24
	vextrs %r29,32,%r29
	xor %r23,%r22,%r23
	or %r21,%r29,%r21
	stw %r23,8(%r4)
	stw %r24,0(%r4)
	b L(9)
	stw %r21,4(%r4)
DEF(L(53))
	b L(50)
	ldw 8(%r4),%r20
DEF(L(56))
	ldw 8(%r4),%r20
	b L(9)
	fstds %fr4,0(%r20)
DEF(L(55))
	ldw 8(%r4),%r20
	b L(9)
	fstws %fr4L,0(%r20)
DEF(L(51))
	ldw 8(%r4),%r20
	b L(9)
	sth %r2,0(%r20)
DEF(L(52))
	ldw 8(%r4),%r20
	b L(9)
	stb %r2,0(%r20)
DEF(L(54))
	b L(7)
	ldw 8(%r4),%r28
DEF(L(49))
	b L(48)
	ldw 28(%r26),%r24
	.EXIT
	.PROCEND
DEF(L(fe1))
	FUNEND(avcall_call)
#if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__
	.section .note.GNU-stack,"",@progbits
#endif