1207151Smarius/*-
2207151Smarius * Copyright (c) 2010 by Peter Jeremy <peterjeremy@acm.org>
3207151Smarius * All rights reserved.
4207151Smarius *
5207151Smarius * Redistribution and use in source and binary forms, with or without
6207151Smarius * modification, are permitted provided that the following conditions
7207151Smarius * are met:
8207151Smarius * 1. Redistributions of source code must retain the above copyright
9207151Smarius *    notice, this list of conditions and the following disclaimer.
10207151Smarius * 2. Redistributions in binary form must reproduce the above copyright
11207151Smarius *    notice, this list of conditions and the following disclaimer in the
12207151Smarius *    documentation and/or other materials provided with the distribution.
13207151Smarius *
14207151Smarius * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15207151Smarius * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16207151Smarius * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17207151Smarius * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
18207151Smarius * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19207151Smarius * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
20207151Smarius * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
21207151Smarius * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
22207151Smarius * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
23207151Smarius * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24207151Smarius */
25207151Smarius
26207151Smarius/*
27207151Smarius===============================================================================
28207151Smarius
29207151SmariusThis GNU assembler source file is part of TestFloat, Release 2a, a package
30207151Smariusof programs for testing the correctness of floating-point arithmetic
31207151Smariuscomplying to the IEC/IEEE Standard for Floating-Point.
32207151Smarius
33207151SmariusWritten by John R. Hauser.  More information is available through the Web
34207151Smariuspage `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'.
35207151Smarius
36207151SmariusTHIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE.  Although reasonable effort
37207151Smariushas been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
38207151SmariusTIMES RESULT IN INCORRECT BEHAVIOR.  USE OF THIS SOFTWARE IS RESTRICTED TO
39207151SmariusPERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
40207151SmariusAND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
41207151Smarius
42207151SmariusDerivative works are acceptable, even for commercial purposes, so long as
43207151Smarius(1) they include prominent notice that the work is derivative, and (2) they
44207151Smariusinclude prominent notice akin to these four paragraphs for those parts of
45207151Smariusthis code that are retained.
46207151Smarius
47207151Smarius===============================================================================
48207151Smarius*/
49207151Smarius
50207151Smarius#include <machine/asm.h>
51207151Smarius__FBSDID("$FreeBSD$");
52207151Smarius
53207151Smarius	.text
54207151Smarius
55207151Smarius/*
56207151Smarius	.macro i2f32	src=%i0,dst=%f0
57207151Smarius	st	\src,[%sp+2231]
58207151Smarius	ld	[%sp+2231],\dst
59207151Smarius	.endm
60207151Smarius
61207151Smarius	.macro i2f64	src=%i0,dst=%f0
62207151Smarius	stx	\src,[%sp+2231]
63207151Smarius	ldd	[%sp+2231],\dst
64207151Smarius	.endm
65207151Smarius
66207151Smarius	.macro f2i32	src=%f0,dst=%i0
67207151Smarius	st	\src,[%sp+2231]
68207151Smarius	ld	[%sp+2231],\dst
69207151Smarius	.endm
70207151Smarius
71207151Smarius	.macro f2i64	src=%f0,dst=%i0
72207151Smarius	std	\src,[%sp+2231]
73207151Smarius	ldx	[%sp+2231],\dst
74207151Smarius	.endm
75207151Smarius*/
76207151Smarius/*
77207151Smarius-------------------------------------------------------------------------------
78207151Smarius-------------------------------------------------------------------------------
79207151Smarius*/
80207151Smarius	.align	4
81207151Smarius	.global	syst_int32_to_float32
82207151Smariussyst_int32_to_float32:
83207151Smarius	save	%sp,-192,%sp
84207151Smarius
85207151Smarius	st	%i0,[%sp+2231]
86207151Smarius	ld	[%sp+2231],%f0
87207151Smarius	fitos	%f0,%f0
88207151Smarius	st	%f0,[%sp+2231]
89207151Smarius	ld	[%sp+2231],%i0
90207151Smarius
91207151Smarius	ret
92207151Smarius	restore
93207151Smarius
94207151Smarius/*
95207151Smarius-------------------------------------------------------------------------------
96207151Smarius-------------------------------------------------------------------------------
97207151Smarius*/
98207151Smarius	.align	4
99207151Smarius	.global	syst_int32_to_float64
100207151Smariussyst_int32_to_float64:
101207151Smarius	save	%sp,-192,%sp
102207151Smarius
103207151Smarius	st	%i0,[%sp+2231]
104207151Smarius	ld	[%sp+2231],%f0
105207151Smarius	fitod	%f0,%f0
106207151Smarius	std	%f0,[%sp+2231]
107207151Smarius	ldx	[%sp+2231],%i0
108207151Smarius
109207151Smarius	ret
110207151Smarius	restore
111207151Smarius
112207151Smarius/*
113207151Smarius-------------------------------------------------------------------------------
114207151Smarius-------------------------------------------------------------------------------
115207151Smarius*/
116207151Smarius	.align	4
117207151Smarius	.global	syst_int32_to_float128
118207151Smariussyst_int32_to_float128:
119207151Smarius	save	%sp,-192,%sp
120207151Smarius
121207151Smarius	st	%i0,[%sp+2231]
122207151Smarius	ld	[%sp+2231],%f0
123207151Smarius	fitoq	%f0,%f0
124207151Smarius	std	%f0,[%sp+2231]
125207151Smarius	ldx	[%sp+2231],%i0
126207151Smarius	std	%f2,[%sp+2231]
127207151Smarius	ldx	[%sp+2231],%i1
128207151Smarius
129207151Smarius	ret
130207151Smarius	restore
131207151Smarius
132207151Smarius/*
133207151Smarius-------------------------------------------------------------------------------
134207151Smarius-------------------------------------------------------------------------------
135207151Smarius*/
136207151Smarius	.align	4
137207151Smarius	.global	syst_int64_to_float32
138207151Smariussyst_int64_to_float32:
139207151Smarius	save	%sp,-192,%sp
140207151Smarius
141207151Smarius	stx	%i0,[%sp+2231]
142207151Smarius	ldd	[%sp+2231],%f0
143207151Smarius	fxtos	%f0,%f0
144207151Smarius	st	%f0,[%sp+2231]
145207151Smarius	ld	[%sp+2231],%i0
146207151Smarius
147207151Smarius	ret
148207151Smarius	restore
149207151Smarius
150207151Smarius/*
151207151Smarius-------------------------------------------------------------------------------
152207151Smarius-------------------------------------------------------------------------------
153207151Smarius*/
154207151Smarius	.align	4
155207151Smarius	.global	syst_int64_to_float64
156207151Smariussyst_int64_to_float64:
157207151Smarius	save	%sp,-192,%sp
158207151Smarius
159207151Smarius	stx	%i0,[%sp+2231]
160207151Smarius	ldd	[%sp+2231],%f0
161207151Smarius	fxtod	%f0,%f0
162207151Smarius	std	%f0,[%sp+2231]
163207151Smarius	ldx	[%sp+2231],%i0
164207151Smarius
165207151Smarius	ret
166207151Smarius	restore
167207151Smarius
168207151Smarius/*
169207151Smarius-------------------------------------------------------------------------------
170207151Smarius-------------------------------------------------------------------------------
171207151Smarius*/
172207151Smarius	.align	4
173207151Smarius	.global	syst_int64_to_float128
174207151Smariussyst_int64_to_float128:
175207151Smarius	save	%sp,-192,%sp
176207151Smarius
177207151Smarius	stx	%i0,[%sp+2231]
178207151Smarius	ldd	[%sp+2231],%f0
179207151Smarius	fxtoq	%f0,%f0
180207151Smarius	std	%f0,[%sp+2231]
181207151Smarius	ldx	[%sp+2231],%i0
182207151Smarius	std	%f2,[%sp+2231]
183207151Smarius	ldx	[%sp+2231],%i1
184207151Smarius
185207151Smarius	ret
186207151Smarius	restore
187207151Smarius
188207151Smarius/*
189207151Smarius-------------------------------------------------------------------------------
190207151Smarius-------------------------------------------------------------------------------
191207151Smarius*/
192207151Smarius	.align	4
193207151Smarius	.global	syst_float32_to_int32_round_to_zero
194207151Smariussyst_float32_to_int32_round_to_zero:
195207151Smarius	save	%sp,-192,%sp
196207151Smarius
197207151Smarius	st	%i0,[%sp+2231]
198207151Smarius	ld	[%sp+2231],%f0
199207151Smarius	fstoi	%f0,%f0
200207151Smarius	st	%f0,[%sp+2231]
201207151Smarius	ld	[%sp+2231],%i0
202207151Smarius
203207151Smarius	ret
204207151Smarius	restore
205207151Smarius
206207151Smarius/*
207207151Smarius-------------------------------------------------------------------------------
208207151Smarius-------------------------------------------------------------------------------
209207151Smarius*/
210207151Smarius	.align	4
211207151Smarius	.global	syst_float32_to_int64_round_to_zero
212207151Smariussyst_float32_to_int64_round_to_zero:
213207151Smarius	save	%sp,-192,%sp
214207151Smarius
215207151Smarius	st	%i0,[%sp+2231]
216207151Smarius	ld	[%sp+2231],%f0
217207151Smarius	fstox	%f0,%f0
218207151Smarius	std	%f0,[%sp+2231]
219207151Smarius	ldx	[%sp+2231],%i0
220207151Smarius
221207151Smarius	ret
222207151Smarius	restore
223207151Smarius
224207151Smarius/*
225207151Smarius-------------------------------------------------------------------------------
226207151Smarius-------------------------------------------------------------------------------
227207151Smarius*/
228207151Smarius	.align	4
229207151Smarius	.global	syst_float32_to_float64
230207151Smariussyst_float32_to_float64:
231207151Smarius	save	%sp,-192,%sp
232207151Smarius
233207151Smarius	st	%i0,[%sp+2231]
234207151Smarius	ld	[%sp+2231],%f0
235207151Smarius	fstod	%f0,%f0
236207151Smarius	std	%f0,[%sp+2231]
237207151Smarius	ldx	[%sp+2231],%i0
238207151Smarius
239207151Smarius	ret
240207151Smarius	restore
241207151Smarius
242207151Smarius/*
243207151Smarius-------------------------------------------------------------------------------
244207151Smarius-------------------------------------------------------------------------------
245207151Smarius*/
246207151Smarius	.align	4
247207151Smarius	.global	syst_float32_to_float128
248207151Smariussyst_float32_to_float128:
249207151Smarius	save	%sp,-192,%sp
250207151Smarius
251207151Smarius	st	%i0,[%sp+2231]
252207151Smarius	ld	[%sp+2231],%f0
253207151Smarius	fstoq	%f0,%f0
254207151Smarius	std	%f0,[%sp+2231]
255207151Smarius	ldx	[%sp+2231],%i0
256207151Smarius	std	%f2,[%sp+2231]
257207151Smarius	ldx	[%sp+2231],%i1
258207151Smarius
259207151Smarius	ret
260207151Smarius	restore
261207151Smarius
262207151Smarius/*
263207151Smarius-------------------------------------------------------------------------------
264207151Smarius-------------------------------------------------------------------------------
265207151Smarius*/
266207151Smarius	.align	4
267207151Smarius	.global	syst_float32_add
268207151Smariussyst_float32_add:
269207151Smarius	save	%sp,-192,%sp
270207151Smarius
271207151Smarius	st	%i0,[%sp+2231]
272207151Smarius	ld	[%sp+2231],%f0
273207151Smarius	st	%i1,[%sp+2231]
274207151Smarius	ld	[%sp+2231],%f1
275207151Smarius	fadds	%f0,%f1,%f0
276207151Smarius	st	%f0,[%sp+2231]
277207151Smarius	ld	[%sp+2231],%i0
278207151Smarius
279207151Smarius	ret
280207151Smarius	restore
281207151Smarius
282207151Smarius/*
283207151Smarius-------------------------------------------------------------------------------
284207151Smarius-------------------------------------------------------------------------------
285207151Smarius*/
286207151Smarius	.align	4
287207151Smarius	.global	syst_float32_sub
288207151Smariussyst_float32_sub:
289207151Smarius	save	%sp,-192,%sp
290207151Smarius
291207151Smarius	st	%i0,[%sp+2231]
292207151Smarius	ld	[%sp+2231],%f0
293207151Smarius	st	%i1,[%sp+2231]
294207151Smarius	ld	[%sp+2231],%f1
295207151Smarius	fsubs	%f0,%f1,%f0
296207151Smarius	st	%f0,[%sp+2231]
297207151Smarius	ld	[%sp+2231],%i0
298207151Smarius
299207151Smarius	ret
300207151Smarius	restore
301207151Smarius
302207151Smarius/*
303207151Smarius-------------------------------------------------------------------------------
304207151Smarius-------------------------------------------------------------------------------
305207151Smarius*/
306207151Smarius	.align	4
307207151Smarius	.global	syst_float32_mul
308207151Smariussyst_float32_mul:
309207151Smarius	save	%sp,-192,%sp
310207151Smarius
311207151Smarius	st	%i0,[%sp+2231]
312207151Smarius	ld	[%sp+2231],%f0
313207151Smarius	st	%i1,[%sp+2231]
314207151Smarius	ld	[%sp+2231],%f1
315207151Smarius	fmuls	%f0,%f1,%f0
316207151Smarius	st	%f0,[%sp+2231]
317207151Smarius	ld	[%sp+2231],%i0
318207151Smarius
319207151Smarius	ret
320207151Smarius	restore
321207151Smarius
322207151Smarius/*
323207151Smarius-------------------------------------------------------------------------------
324207151Smarius-------------------------------------------------------------------------------
325207151Smarius*/
326207151Smarius	.align	4
327207151Smarius	.global	syst_float32_div
328207151Smariussyst_float32_div:
329207151Smarius	save	%sp,-192,%sp
330207151Smarius
331207151Smarius	st	%i0,[%sp+2231]
332207151Smarius	ld	[%sp+2231],%f0
333207151Smarius	st	%i1,[%sp+2231]
334207151Smarius	ld	[%sp+2231],%f1
335207151Smarius	fdivs	%f0,%f1,%f0
336207151Smarius	st	%f0,[%sp+2231]
337207151Smarius	ld	[%sp+2231],%i0
338207151Smarius
339207151Smarius	ret
340207151Smarius	restore
341207151Smarius
342207151Smarius/*
343207151Smarius-------------------------------------------------------------------------------
344207151Smarius-------------------------------------------------------------------------------
345207151Smarius*/
346207151Smarius	.align	4
347207151Smarius	.global	syst_float32_sqrt
348207151Smariussyst_float32_sqrt:
349207151Smarius	save	%sp,-192,%sp
350207151Smarius
351207151Smarius	st	%i0,[%sp+2231]
352207151Smarius	ld	[%sp+2231],%f0
353207151Smarius	fsqrts	%f0,%f0
354207151Smarius	st	%f0,[%sp+2231]
355207151Smarius	ld	[%sp+2231],%i0
356207151Smarius
357207151Smarius	ret
358207151Smarius	restore
359207151Smarius
360207151Smarius/*
361207151Smarius-------------------------------------------------------------------------------
362207151Smarius-------------------------------------------------------------------------------
363207151Smarius*/
364207151Smarius	.align	4
365207151Smarius	.global	syst_float32_eq
366207151Smariussyst_float32_eq:
367207151Smarius	save	%sp,-192,%sp
368207151Smarius
369207151Smarius	st	%i0,[%sp+2231]
370207151Smarius	ld	[%sp+2231],%f0
371207151Smarius	st	%i1,[%sp+2231]
372207151Smarius	ld	[%sp+2231],%f1
373207151Smarius	fcmps	%fcc0,%f0,%f1
374207151Smarius	mov	0,%i0
375207151Smarius	move	%fcc0,1,%i0
376207151Smarius
377207151Smarius	ret
378207151Smarius	restore
379207151Smarius
380207151Smarius/*
381207151Smarius-------------------------------------------------------------------------------
382207151Smarius-------------------------------------------------------------------------------
383207151Smarius*/
384207151Smarius	.align	4
385207151Smarius	.global	syst_float32_le
386207151Smariussyst_float32_le:
387207151Smarius	save	%sp,-192,%sp
388207151Smarius
389207151Smarius	st	%i0,[%sp+2231]
390207151Smarius	ld	[%sp+2231],%f0
391207151Smarius	st	%i1,[%sp+2231]
392207151Smarius	ld	[%sp+2231],%f1
393207151Smarius	fcmpes	%fcc0,%f0,%f1
394207151Smarius	mov	0,%i0
395207151Smarius	movle	%fcc0,1,%i0
396207151Smarius
397207151Smarius	ret
398207151Smarius	restore
399207151Smarius
400207151Smarius/*
401207151Smarius-------------------------------------------------------------------------------
402207151Smarius-------------------------------------------------------------------------------
403207151Smarius*/
404207151Smarius	.align	4
405207151Smarius	.global	syst_float32_lt
406207151Smariussyst_float32_lt:
407207151Smarius	save	%sp,-192,%sp
408207151Smarius
409207151Smarius	st	%i0,[%sp+2231]
410207151Smarius	ld	[%sp+2231],%f0
411207151Smarius	st	%i1,[%sp+2231]
412207151Smarius	ld	[%sp+2231],%f1
413207151Smarius	fcmpes	%fcc0,%f0,%f1
414207151Smarius	mov	0,%i0
415207151Smarius	movl	%fcc0,1,%i0
416207151Smarius
417207151Smarius	ret
418207151Smarius	restore
419207151Smarius
420207151Smarius/*
421207151Smarius-------------------------------------------------------------------------------
422207151Smarius-------------------------------------------------------------------------------
423207151Smarius*/
424207151Smarius	.align	4
425207151Smarius	.global	syst_float32_eq_signaling
426207151Smariussyst_float32_eq_signaling:
427207151Smarius	save	%sp,-192,%sp
428207151Smarius
429207151Smarius	st	%i0,[%sp+2231]
430207151Smarius	ld	[%sp+2231],%f0
431207151Smarius	st	%i1,[%sp+2231]
432207151Smarius	ld	[%sp+2231],%f1
433207151Smarius	fcmpes	%fcc0,%f0,%f1
434207151Smarius	mov	0,%i0
435207151Smarius	move	%fcc0,1,%i0
436207151Smarius
437207151Smarius	ret
438207151Smarius	restore
439207151Smarius
440207151Smarius/*
441207151Smarius-------------------------------------------------------------------------------
442207151Smarius-------------------------------------------------------------------------------
443207151Smarius*/
444207151Smarius	.align	4
445207151Smarius	.global	syst_float32_le_quiet
446207151Smariussyst_float32_le_quiet:
447207151Smarius	save	%sp,-192,%sp
448207151Smarius
449207151Smarius	st	%i0,[%sp+2231]
450207151Smarius	ld	[%sp+2231],%f0
451207151Smarius	st	%i1,[%sp+2231]
452207151Smarius	ld	[%sp+2231],%f1
453207151Smarius	fcmps	%fcc0,%f0,%f1
454207151Smarius	mov	0,%i0
455207151Smarius	movle	%fcc0,1,%i0
456207151Smarius
457207151Smarius	ret
458207151Smarius	restore
459207151Smarius
460207151Smarius/*
461207151Smarius-------------------------------------------------------------------------------
462207151Smarius-------------------------------------------------------------------------------
463207151Smarius*/
464207151Smarius	.align	4
465207151Smarius	.global	syst_float32_lt_quiet
466207151Smariussyst_float32_lt_quiet:
467207151Smarius	save	%sp,-192,%sp
468207151Smarius
469207151Smarius	st	%i0,[%sp+2231]
470207151Smarius	ld	[%sp+2231],%f0
471207151Smarius	st	%i1,[%sp+2231]
472207151Smarius	ld	[%sp+2231],%f1
473207151Smarius	fcmps	%fcc0,%f0,%f1
474207151Smarius	mov	0,%i0
475207151Smarius	movl	%fcc0,1,%i0
476207151Smarius
477207151Smarius	ret
478207151Smarius	restore
479207151Smarius
480207151Smarius/*
481207151Smarius-------------------------------------------------------------------------------
482207151Smarius-------------------------------------------------------------------------------
483207151Smarius*/
484207151Smarius	.align	4
485207151Smarius	.global	syst_float64_to_int32_round_to_zero
486207151Smariussyst_float64_to_int32_round_to_zero:
487207151Smarius	save	%sp,-192,%sp
488207151Smarius
489207151Smarius	stx	%i0,[%sp+2231]
490207151Smarius	ldd	[%sp+2231],%f0
491207151Smarius	fdtoi	%f0,%f0
492207151Smarius	st	%f0,[%sp+2231]
493207151Smarius	ld	[%sp+2231],%i0
494207151Smarius
495207151Smarius	ret
496207151Smarius	restore
497207151Smarius
498207151Smarius/*
499207151Smarius-------------------------------------------------------------------------------
500207151Smarius-------------------------------------------------------------------------------
501207151Smarius*/
502207151Smarius	.align	4
503207151Smarius	.global	syst_float64_to_int64_round_to_zero
504207151Smariussyst_float64_to_int64_round_to_zero:
505207151Smarius	save	%sp,-192,%sp
506207151Smarius
507207151Smarius	stx	%i0,[%sp+2231]
508207151Smarius	ldd	[%sp+2231],%f0
509207151Smarius	fdtox	%f0,%f0
510207151Smarius	std	%f0,[%sp+2231]
511207151Smarius	ldx	[%sp+2231],%i0
512207151Smarius
513207151Smarius	ret
514207151Smarius	restore
515207151Smarius
516207151Smarius/*
517207151Smarius-------------------------------------------------------------------------------
518207151Smarius-------------------------------------------------------------------------------
519207151Smarius*/
520207151Smarius	.align	4
521207151Smarius	.global	syst_float64_to_float32
522207151Smariussyst_float64_to_float32:
523207151Smarius	save	%sp,-192,%sp
524207151Smarius
525207151Smarius	stx	%i0,[%sp+2231]
526207151Smarius	ldd	[%sp+2231],%f0
527207151Smarius	fdtos	%f0,%f0
528207151Smarius	st	%f0,[%sp+2231]
529207151Smarius	ld	[%sp+2231],%i0
530207151Smarius
531207151Smarius	ret
532207151Smarius	restore
533207151Smarius
534207151Smarius/*
535207151Smarius-------------------------------------------------------------------------------
536207151Smarius-------------------------------------------------------------------------------
537207151Smarius*/
538207151Smarius	.align	4
539207151Smarius	.global	syst_float64_to_float128
540207151Smariussyst_float64_to_float128:
541207151Smarius	save	%sp,-192,%sp
542207151Smarius
543207151Smarius	stx	%i0,[%sp+2231]
544207151Smarius	ldd	[%sp+2231],%f0
545207151Smarius	fdtoq	%f0,%f0
546207151Smarius	std	%f0,[%sp+2231]
547207151Smarius	ldx	[%sp+2231],%i0
548207151Smarius	std	%f2,[%sp+2231]
549207151Smarius	ldx	[%sp+2231],%i1
550207151Smarius
551207151Smarius	ret
552207151Smarius	restore
553207151Smarius
554207151Smarius/*
555207151Smarius-------------------------------------------------------------------------------
556207151Smarius-------------------------------------------------------------------------------
557207151Smarius*/
558207151Smarius	.align	4
559207151Smarius	.global	syst_float64_add
560207151Smariussyst_float64_add:
561207151Smarius	save	%sp,-192,%sp
562207151Smarius
563207151Smarius	stx	%i0,[%sp+2231]
564207151Smarius	ldd	[%sp+2231],%f0
565207151Smarius	stx	%i1,[%sp+2231]
566207151Smarius	ldd	[%sp+2231],%f2
567207151Smarius	faddd	%f0,%f2,%f0
568207151Smarius	std	%f0,[%sp+2231]
569207151Smarius	ldx	[%sp+2231],%i0
570207151Smarius
571207151Smarius	ret
572207151Smarius	restore
573207151Smarius
574207151Smarius/*
575207151Smarius-------------------------------------------------------------------------------
576207151Smarius-------------------------------------------------------------------------------
577207151Smarius*/
578207151Smarius	.align	4
579207151Smarius	.global	syst_float64_sub
580207151Smariussyst_float64_sub:
581207151Smarius	save	%sp,-192,%sp
582207151Smarius
583207151Smarius	stx	%i0,[%sp+2231]
584207151Smarius	ldd	[%sp+2231],%f0
585207151Smarius	stx	%i1,[%sp+2231]
586207151Smarius	ldd	[%sp+2231],%f2
587207151Smarius	fsubd	%f0,%f2,%f0
588207151Smarius	std	%f0,[%sp+2231]
589207151Smarius	ldx	[%sp+2231],%i0
590207151Smarius
591207151Smarius	ret
592207151Smarius	restore
593207151Smarius
594207151Smarius/*
595207151Smarius-------------------------------------------------------------------------------
596207151Smarius-------------------------------------------------------------------------------
597207151Smarius*/
598207151Smarius	.align	4
599207151Smarius	.global	syst_float64_mul
600207151Smariussyst_float64_mul:
601207151Smarius	save	%sp,-192,%sp
602207151Smarius
603207151Smarius	stx	%i0,[%sp+2231]
604207151Smarius	ldd	[%sp+2231],%f0
605207151Smarius	stx	%i1,[%sp+2231]
606207151Smarius	ldd	[%sp+2231],%f2
607207151Smarius	fmuld	%f0,%f2,%f0
608207151Smarius	std	%f0,[%sp+2231]
609207151Smarius	ldx	[%sp+2231],%i0
610207151Smarius
611207151Smarius	ret
612207151Smarius	restore
613207151Smarius
614207151Smarius/*
615207151Smarius-------------------------------------------------------------------------------
616207151Smarius-------------------------------------------------------------------------------
617207151Smarius*/
618207151Smarius	.align	4
619207151Smarius	.global	syst_float64_div
620207151Smariussyst_float64_div:
621207151Smarius	save	%sp,-192,%sp
622207151Smarius
623207151Smarius	stx	%i0,[%sp+2231]
624207151Smarius	ldd	[%sp+2231],%f0
625207151Smarius	stx	%i1,[%sp+2231]
626207151Smarius	ldd	[%sp+2231],%f2
627207151Smarius	fdivd	%f0,%f2,%f0
628207151Smarius	std	%f0,[%sp+2231]
629207151Smarius	ldx	[%sp+2231],%i0
630207151Smarius
631207151Smarius	ret
632207151Smarius	restore
633207151Smarius
634207151Smarius/*
635207151Smarius-------------------------------------------------------------------------------
636207151Smarius-------------------------------------------------------------------------------
637207151Smarius*/
638207151Smarius	.align	4
639207151Smarius	.global	syst_float64_sqrt
640207151Smariussyst_float64_sqrt:
641207151Smarius	save	%sp,-192,%sp
642207151Smarius
643207151Smarius	stx	%i0,[%sp+2231]
644207151Smarius	ldd	[%sp+2231],%f0
645207151Smarius	fsqrtd	%f0,%f0
646207151Smarius	std	%f0,[%sp+2231]
647207151Smarius	ldx	[%sp+2231],%i0
648207151Smarius
649207151Smarius	ret
650207151Smarius	restore
651207151Smarius
652207151Smarius/*
653207151Smarius-------------------------------------------------------------------------------
654207151Smarius-------------------------------------------------------------------------------
655207151Smarius*/
656207151Smarius	.align	4
657207151Smarius	.global	syst_float64_eq
658207151Smariussyst_float64_eq:
659207151Smarius	save	%sp,-192,%sp
660207151Smarius
661207151Smarius	stx	%i0,[%sp+2231]
662207151Smarius	ldd	[%sp+2231],%f0
663207151Smarius	stx	%i1,[%sp+2231]
664207151Smarius	ldd	[%sp+2231],%f2
665207151Smarius	fcmpd	%fcc0,%f0,%f2
666207151Smarius	mov	0,%i0
667207151Smarius	move	%fcc0,1,%i0
668207151Smarius
669207151Smarius	ret
670207151Smarius	restore
671207151Smarius
672207151Smarius/*
673207151Smarius-------------------------------------------------------------------------------
674207151Smarius-------------------------------------------------------------------------------
675207151Smarius*/
676207151Smarius	.align	4
677207151Smarius	.global	syst_float64_le
678207151Smariussyst_float64_le:
679207151Smarius	save	%sp,-192,%sp
680207151Smarius
681207151Smarius	stx	%i0,[%sp+2231]
682207151Smarius	ldd	[%sp+2231],%f0
683207151Smarius	stx	%i1,[%sp+2231]
684207151Smarius	ldd	[%sp+2231],%f2
685207151Smarius	fcmped	%fcc0,%f0,%f2
686207151Smarius	mov	0,%i0
687207151Smarius	movle	%fcc0,1,%i0
688207151Smarius
689207151Smarius	ret
690207151Smarius	restore
691207151Smarius
692207151Smarius/*
693207151Smarius-------------------------------------------------------------------------------
694207151Smarius-------------------------------------------------------------------------------
695207151Smarius*/
696207151Smarius	.align	4
697207151Smarius	.global	syst_float64_lt
698207151Smariussyst_float64_lt:
699207151Smarius	save	%sp,-192,%sp
700207151Smarius
701207151Smarius	stx	%i0,[%sp+2231]
702207151Smarius	ldd	[%sp+2231],%f0
703207151Smarius	stx	%i1,[%sp+2231]
704207151Smarius	ldd	[%sp+2231],%f2
705207151Smarius	fcmped	%fcc0,%f0,%f2
706207151Smarius	mov	0,%i0
707207151Smarius	movl	%fcc0,1,%i0
708207151Smarius
709207151Smarius	ret
710207151Smarius	restore
711207151Smarius
712207151Smarius/*
713207151Smarius-------------------------------------------------------------------------------
714207151Smarius-------------------------------------------------------------------------------
715207151Smarius*/
716207151Smarius	.align	4
717207151Smarius	.global	syst_float64_eq_signaling
718207151Smariussyst_float64_eq_signaling:
719207151Smarius	save	%sp,-192,%sp
720207151Smarius
721207151Smarius	stx	%i0,[%sp+2231]
722207151Smarius	ldd	[%sp+2231],%f0
723207151Smarius	stx	%i1,[%sp+2231]
724207151Smarius	ldd	[%sp+2231],%f2
725207151Smarius	fcmped	%fcc0,%f0,%f2
726207151Smarius	mov	0,%i0
727207151Smarius	move	%fcc0,1,%i0
728207151Smarius
729207151Smarius	ret
730207151Smarius	restore
731207151Smarius
732207151Smarius/*
733207151Smarius-------------------------------------------------------------------------------
734207151Smarius-------------------------------------------------------------------------------
735207151Smarius*/
736207151Smarius	.align	4
737207151Smarius	.global	syst_float64_le_quiet
738207151Smariussyst_float64_le_quiet:
739207151Smarius	save	%sp,-192,%sp
740207151Smarius
741207151Smarius	stx	%i0,[%sp+2231]
742207151Smarius	ldd	[%sp+2231],%f0
743207151Smarius	stx	%i1,[%sp+2231]
744207151Smarius	ldd	[%sp+2231],%f2
745207151Smarius	fcmpd	%fcc0,%f0,%f2
746207151Smarius	mov	0,%i0
747207151Smarius	movle	%fcc0,1,%i0
748207151Smarius
749207151Smarius	ret
750207151Smarius	restore
751207151Smarius
752207151Smarius/*
753207151Smarius-------------------------------------------------------------------------------
754207151Smarius-------------------------------------------------------------------------------
755207151Smarius*/
756207151Smarius	.align	4
757207151Smarius	.global	syst_float64_lt_quiet
758207151Smariussyst_float64_lt_quiet:
759207151Smarius	save	%sp,-192,%sp
760207151Smarius
761207151Smarius	stx	%i0,[%sp+2231]
762207151Smarius	ldd	[%sp+2231],%f0
763207151Smarius	stx	%i1,[%sp+2231]
764207151Smarius	ldd	[%sp+2231],%f2
765207151Smarius	fcmpd	%fcc0,%f0,%f2
766207151Smarius	mov	0,%i0
767207151Smarius	movl	%fcc0,1,%i0
768207151Smarius
769207151Smarius	ret
770207151Smarius	restore
771207151Smarius
772207151Smarius/*
773207151Smarius-------------------------------------------------------------------------------
774207151Smarius-------------------------------------------------------------------------------
775207151Smarius*/
776207151Smarius	.align	4
777207151Smarius	.global	syst_float128_to_int32_round_to_zero
778207151Smariussyst_float128_to_int32_round_to_zero:
779207151Smarius	save	%sp,-192,%sp
780207151Smarius
781207151Smarius	stx	%i0,[%sp+2231]
782207151Smarius	ldd	[%sp+2231],%f0
783207151Smarius	stx	%i1,[%sp+2231]
784207151Smarius	ldd	[%sp+2231],%f2
785207151Smarius	fqtoi	%f0,%f0
786207151Smarius	st	%f0,[%sp+2231]
787207151Smarius	ld	[%sp+2231],%i0
788207151Smarius
789207151Smarius	ret
790207151Smarius	restore
791207151Smarius
792207151Smarius/*
793207151Smarius-------------------------------------------------------------------------------
794207151Smarius-------------------------------------------------------------------------------
795207151Smarius*/
796207151Smarius	.align	4
797207151Smarius	.global	syst_float128_to_int64_round_to_zero
798207151Smariussyst_float128_to_int64_round_to_zero:
799207151Smarius	save	%sp,-192,%sp
800207151Smarius
801207151Smarius	stx	%i0,[%sp+2231]
802207151Smarius	ldd	[%sp+2231],%f0
803207151Smarius	stx	%i1,[%sp+2231]
804207151Smarius	ldd	[%sp+2231],%f2
805207151Smarius	fqtox	%f0,%f0
806207151Smarius	std	%f0,[%sp+2231]
807207151Smarius	ldx	[%sp+2231],%i0
808207151Smarius
809207151Smarius	ret
810207151Smarius	restore
811207151Smarius
812207151Smarius/*
813207151Smarius-------------------------------------------------------------------------------
814207151Smarius-------------------------------------------------------------------------------
815207151Smarius*/
816207151Smarius	.align	4
817207151Smarius	.global	syst_float128_to_float32
818207151Smariussyst_float128_to_float32:
819207151Smarius	save	%sp,-192,%sp
820207151Smarius
821207151Smarius	stx	%i0,[%sp+2231]
822207151Smarius	ldd	[%sp+2231],%f0
823207151Smarius	stx	%i1,[%sp+2231]
824207151Smarius	ldd	[%sp+2231],%f2
825207151Smarius	fqtos	%f0,%f0
826207151Smarius	st	%f0,[%sp+2231]
827207151Smarius	ld	[%sp+2231],%i0
828207151Smarius
829207151Smarius	ret
830207151Smarius	restore
831207151Smarius
832207151Smarius/*
833207151Smarius-------------------------------------------------------------------------------
834207151Smarius-------------------------------------------------------------------------------
835207151Smarius*/
836207151Smarius	.align	4
837207151Smarius	.global	syst_float128_to_float64
838207151Smariussyst_float128_to_float64:
839207151Smarius	save	%sp,-192,%sp
840207151Smarius
841207151Smarius	stx	%i0,[%sp+2231]
842207151Smarius	ldd	[%sp+2231],%f0
843207151Smarius	stx	%i1,[%sp+2231]
844207151Smarius	ldd	[%sp+2231],%f2
845207151Smarius	fqtod	%f0,%f0
846207151Smarius	std	%f0,[%sp+2231]
847207151Smarius	ldx	[%sp+2231],%i0
848207151Smarius
849207151Smarius	ret
850207151Smarius	restore
851207151Smarius
852207151Smarius/*
853207151Smarius-------------------------------------------------------------------------------
854207151Smarius-------------------------------------------------------------------------------
855207151Smarius*/
856207151Smarius	.align	4
857207151Smarius	.global	syst_float128_add
858207151Smariussyst_float128_add:
859207151Smarius	save	%sp,-192,%sp
860207151Smarius
861207151Smarius	stx	%i0,[%sp+2231]
862207151Smarius	ldd	[%sp+2231],%f0
863207151Smarius	stx	%i1,[%sp+2231]
864207151Smarius	ldd	[%sp+2231],%f2
865207151Smarius	stx	%i2,[%sp+2231]
866207151Smarius	ldd	[%sp+2231],%f4
867207151Smarius	stx	%i3,[%sp+2231]
868207151Smarius	ldd	[%sp+2231],%f6
869207151Smarius	faddq	%f0,%f4,%f0
870207151Smarius	std	%f0,[%sp+2231]
871207151Smarius	ldx	[%sp+2231],%i0
872207151Smarius	std	%f2,[%sp+2231]
873207151Smarius	ldx	[%sp+2231],%i1
874207151Smarius
875207151Smarius	ret
876207151Smarius	restore
877207151Smarius
878207151Smarius/*
879207151Smarius-------------------------------------------------------------------------------
880207151Smarius-------------------------------------------------------------------------------
881207151Smarius*/
882207151Smarius	.align	4
883207151Smarius	.global	syst_float128_sub
884207151Smariussyst_float128_sub:
885207151Smarius	save	%sp,-192,%sp
886207151Smarius
887207151Smarius	stx	%i0,[%sp+2231]
888207151Smarius	ldd	[%sp+2231],%f0
889207151Smarius	stx	%i1,[%sp+2231]
890207151Smarius	ldd	[%sp+2231],%f2
891207151Smarius	stx	%i2,[%sp+2231]
892207151Smarius	ldd	[%sp+2231],%f4
893207151Smarius	stx	%i3,[%sp+2231]
894207151Smarius	ldd	[%sp+2231],%f6
895207151Smarius	fsubq	%f0,%f4,%f0
896207151Smarius	std	%f0,[%sp+2231]
897207151Smarius	ldx	[%sp+2231],%i0
898207151Smarius	std	%f2,[%sp+2231]
899207151Smarius	ldx	[%sp+2231],%i1
900207151Smarius
901207151Smarius	ret
902207151Smarius	restore
903207151Smarius
904207151Smarius/*
905207151Smarius-------------------------------------------------------------------------------
906207151Smarius-------------------------------------------------------------------------------
907207151Smarius*/
908207151Smarius	.align	4
909207151Smarius	.global	syst_float128_mul
910207151Smariussyst_float128_mul:
911207151Smarius	save	%sp,-192,%sp
912207151Smarius
913207151Smarius	stx	%i0,[%sp+2231]
914207151Smarius	ldd	[%sp+2231],%f0
915207151Smarius	stx	%i1,[%sp+2231]
916207151Smarius	ldd	[%sp+2231],%f2
917207151Smarius	stx	%i2,[%sp+2231]
918207151Smarius	ldd	[%sp+2231],%f4
919207151Smarius	stx	%i3,[%sp+2231]
920207151Smarius	ldd	[%sp+2231],%f6
921207151Smarius	fmulq	%f0,%f4,%f0
922207151Smarius	std	%f0,[%sp+2231]
923207151Smarius	ldx	[%sp+2231],%i0
924207151Smarius	std	%f2,[%sp+2231]
925207151Smarius	ldx	[%sp+2231],%i1
926207151Smarius
927207151Smarius	ret
928207151Smarius	restore
929207151Smarius
930207151Smarius/*
931207151Smarius-------------------------------------------------------------------------------
932207151Smarius-------------------------------------------------------------------------------
933207151Smarius*/
934207151Smarius	.align	4
935207151Smarius	.global	syst_float128_div
936207151Smariussyst_float128_div:
937207151Smarius	save	%sp,-192,%sp
938207151Smarius
939207151Smarius	stx	%i0,[%sp+2231]
940207151Smarius	ldd	[%sp+2231],%f0
941207151Smarius	stx	%i1,[%sp+2231]
942207151Smarius	ldd	[%sp+2231],%f2
943207151Smarius	stx	%i2,[%sp+2231]
944207151Smarius	ldd	[%sp+2231],%f4
945207151Smarius	stx	%i3,[%sp+2231]
946207151Smarius	ldd	[%sp+2231],%f6
947207151Smarius	fdivq	%f0,%f4,%f0
948207151Smarius	std	%f0,[%sp+2231]
949207151Smarius	ldx	[%sp+2231],%i0
950207151Smarius	std	%f2,[%sp+2231]
951207151Smarius	ldx	[%sp+2231],%i1
952207151Smarius
953207151Smarius	ret
954207151Smarius	restore
955207151Smarius
956207151Smarius/*
957207151Smarius-------------------------------------------------------------------------------
958207151Smarius-------------------------------------------------------------------------------
959207151Smarius*/
960207151Smarius	.align	4
961207151Smarius	.global	syst_float128_sqrt
962207151Smariussyst_float128_sqrt:
963207151Smarius	save	%sp,-192,%sp
964207151Smarius
965207151Smarius	stx	%i0,[%sp+2231]
966207151Smarius	ldd	[%sp+2231],%f0
967207151Smarius	stx	%i1,[%sp+2231]
968207151Smarius	ldd	[%sp+2231],%f2
969207151Smarius	fsqrtq	%f0,%f0
970207151Smarius	std	%f0,[%sp+2231]
971207151Smarius	ldx	[%sp+2231],%i0
972207151Smarius	std	%f2,[%sp+2231]
973207151Smarius	ldx	[%sp+2231],%i1
974207151Smarius
975207151Smarius	ret
976207151Smarius	restore
977207151Smarius
978207151Smarius/*
979207151Smarius-------------------------------------------------------------------------------
980207151Smarius-------------------------------------------------------------------------------
981207151Smarius*/
982207151Smarius	.align	4
983207151Smarius	.global	syst_float128_eq
984207151Smariussyst_float128_eq:
985207151Smarius	save	%sp,-192,%sp
986207151Smarius
987207151Smarius	stx	%i0,[%sp+2231]
988207151Smarius	ldd	[%sp+2231],%f0
989207151Smarius	stx	%i1,[%sp+2231]
990207151Smarius	ldd	[%sp+2231],%f2
991207151Smarius	stx	%i2,[%sp+2231]
992207151Smarius	ldd	[%sp+2231],%f4
993207151Smarius	stx	%i3,[%sp+2231]
994207151Smarius	ldd	[%sp+2231],%f6
995207151Smarius	fcmpq	%fcc0,%f0,%f4
996207151Smarius	mov	0,%i0
997207151Smarius	move	%fcc0,1,%i0
998207151Smarius
999207151Smarius	ret
1000207151Smarius	restore
1001207151Smarius
1002207151Smarius/*
1003207151Smarius-------------------------------------------------------------------------------
1004207151Smarius-------------------------------------------------------------------------------
1005207151Smarius*/
1006207151Smarius	.align	4
1007207151Smarius	.global	syst_float128_le
1008207151Smariussyst_float128_le:
1009207151Smarius	save	%sp,-192,%sp
1010207151Smarius
1011207151Smarius	stx	%i0,[%sp+2231]
1012207151Smarius	ldd	[%sp+2231],%f0
1013207151Smarius	stx	%i1,[%sp+2231]
1014207151Smarius	ldd	[%sp+2231],%f2
1015207151Smarius	stx	%i2,[%sp+2231]
1016207151Smarius	ldd	[%sp+2231],%f4
1017207151Smarius	stx	%i3,[%sp+2231]
1018207151Smarius	ldd	[%sp+2231],%f6
1019207151Smarius	fcmpeq	%fcc0,%f0,%f4
1020207151Smarius	mov	0,%i0
1021207151Smarius	movle	%fcc0,1,%i0
1022207151Smarius
1023207151Smarius	ret
1024207151Smarius	restore
1025207151Smarius
1026207151Smarius/*
1027207151Smarius-------------------------------------------------------------------------------
1028207151Smarius-------------------------------------------------------------------------------
1029207151Smarius*/
1030207151Smarius	.align	4
1031207151Smarius	.global	syst_float128_lt
1032207151Smariussyst_float128_lt:
1033207151Smarius	save	%sp,-192,%sp
1034207151Smarius
1035207151Smarius	stx	%i0,[%sp+2231]
1036207151Smarius	ldd	[%sp+2231],%f0
1037207151Smarius	stx	%i1,[%sp+2231]
1038207151Smarius	ldd	[%sp+2231],%f2
1039207151Smarius	stx	%i2,[%sp+2231]
1040207151Smarius	ldd	[%sp+2231],%f4
1041207151Smarius	stx	%i3,[%sp+2231]
1042207151Smarius	ldd	[%sp+2231],%f6
1043207151Smarius	fcmpeq	%fcc0,%f0,%f4
1044207151Smarius	mov	0,%i0
1045207151Smarius	movl	%fcc0,1,%i0
1046207151Smarius
1047207151Smarius	ret
1048207151Smarius	restore
1049207151Smarius
1050207151Smarius/*
1051207151Smarius-------------------------------------------------------------------------------
1052207151Smarius-------------------------------------------------------------------------------
1053207151Smarius*/
1054207151Smarius	.align	4
1055207151Smarius	.global	syst_float128_eq_signaling
1056207151Smariussyst_float128_eq_signaling:
1057207151Smarius	save	%sp,-192,%sp
1058207151Smarius
1059207151Smarius	stx	%i0,[%sp+2231]
1060207151Smarius	ldd	[%sp+2231],%f0
1061207151Smarius	stx	%i1,[%sp+2231]
1062207151Smarius	ldd	[%sp+2231],%f2
1063207151Smarius	stx	%i2,[%sp+2231]
1064207151Smarius	ldd	[%sp+2231],%f4
1065207151Smarius	stx	%i3,[%sp+2231]
1066207151Smarius	ldd	[%sp+2231],%f6
1067207151Smarius	fcmpeq	%fcc0,%f0,%f4
1068207151Smarius	mov	0,%i0
1069207151Smarius	move	%fcc0,1,%i0
1070207151Smarius
1071207151Smarius	ret
1072207151Smarius	restore
1073207151Smarius
1074207151Smarius/*
1075207151Smarius-------------------------------------------------------------------------------
1076207151Smarius-------------------------------------------------------------------------------
1077207151Smarius*/
1078207151Smarius	.align	4
1079207151Smarius	.global	syst_float128_le_quiet
1080207151Smariussyst_float128_le_quiet:
1081207151Smarius	save	%sp,-192,%sp
1082207151Smarius
1083207151Smarius	stx	%i0,[%sp+2231]
1084207151Smarius	ldd	[%sp+2231],%f0
1085207151Smarius	stx	%i1,[%sp+2231]
1086207151Smarius	ldd	[%sp+2231],%f2
1087207151Smarius	stx	%i2,[%sp+2231]
1088207151Smarius	ldd	[%sp+2231],%f4
1089207151Smarius	stx	%i3,[%sp+2231]
1090207151Smarius	ldd	[%sp+2231],%f6
1091207151Smarius	fcmpq	%fcc0,%f0,%f4
1092207151Smarius	mov	0,%i0
1093207151Smarius	movle	%fcc0,1,%i0
1094207151Smarius
1095207151Smarius	ret
1096207151Smarius	restore
1097207151Smarius
1098207151Smarius/*
1099207151Smarius-------------------------------------------------------------------------------
1100207151Smarius-------------------------------------------------------------------------------
1101207151Smarius*/
1102207151Smarius	.align	4
1103207151Smarius	.global	syst_float128_lt_quiet
1104207151Smariussyst_float128_lt_quiet:
1105207151Smarius	save	%sp,-192,%sp
1106207151Smarius
1107207151Smarius	stx	%i0,[%sp+2231]
1108207151Smarius	ldd	[%sp+2231],%f0
1109207151Smarius	stx	%i1,[%sp+2231]
1110207151Smarius	ldd	[%sp+2231],%f2
1111207151Smarius	stx	%i2,[%sp+2231]
1112207151Smarius	ldd	[%sp+2231],%f4
1113207151Smarius	stx	%i3,[%sp+2231]
1114207151Smarius	ldd	[%sp+2231],%f6
1115207151Smarius	fcmpq	%fcc0,%f0,%f4
1116207151Smarius	mov	0,%i0
1117207151Smarius	movl	%fcc0,1,%i0
1118207151Smarius
1119207151Smarius	ret
1120207151Smarius	restore
1121