xref: /OpenGrok/opengrok-indexer/src/test/resources/sources/bug19195/test.s (revision 2bcacabbe843448903326d34ff21a265b5f37596)
1*2bcacabbSAdam Hornacek/*
2*2bcacabbSAdam Hornacek * CDDL HEADER START
3*2bcacabbSAdam Hornacek *
4*2bcacabbSAdam Hornacek * The contents of this file are subject to the terms of the
5*2bcacabbSAdam Hornacek * Common Development and Distribution License (the "License").
6*2bcacabbSAdam Hornacek * You may not use this file except in compliance with the License.
7*2bcacabbSAdam Hornacek *
8*2bcacabbSAdam Hornacek * See LICENSE.txt included in this distribution for the specific
9*2bcacabbSAdam Hornacek * language governing permissions and limitations under the License.
10*2bcacabbSAdam Hornacek *
11*2bcacabbSAdam Hornacek * When distributing Covered Code, include this CDDL HEADER in each
12*2bcacabbSAdam Hornacek * file and include the License file at LICENSE.txt.
13*2bcacabbSAdam Hornacek * If applicable, add the following below this CDDL HEADER, with the
14*2bcacabbSAdam Hornacek * fields enclosed by brackets "[]" replaced with your own identifying
15*2bcacabbSAdam Hornacek * information: Portions Copyright [yyyy] [name of copyright owner]
16*2bcacabbSAdam Hornacek *
17*2bcacabbSAdam Hornacek * CDDL HEADER END
18*2bcacabbSAdam Hornacek */
19*2bcacabbSAdam Hornacek
20*2bcacabbSAdam Hornacek/*
21*2bcacabbSAdam Hornacek * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
22*2bcacabbSAdam Hornacek */
23*2bcacabbSAdam Hornacek
24*2bcacabbSAdam Hornacek/* first function definition */
25*2bcacabbSAdam Hornacek
26*2bcacabbSAdam Hornacek	ENTRY_NP(foo)
27*2bcacabbSAdam Hornacek	set	nwindows, %g1
28*2bcacabbSAdam Hornacek	ld	[%g1], %g1
29*2bcacabbSAdam Hornacek	mov	%g1, %g2
30*2bcacabbSAdam Hornacek
31*2bcacabbSAdam Hornacek1:
32*2bcacabbSAdam Hornacek	save	%sp, -WINDOWSIZE, %sp
33*2bcacabbSAdam Hornacek	brnz	%g2, 1b
34*2bcacabbSAdam Hornacek	dec	%g2
35*2bcacabbSAdam Hornacek
36*2bcacabbSAdam Hornacek	mov	%g1, %g2
37*2bcacabbSAdam Hornacek2:
38*2bcacabbSAdam Hornacek	restore
39*2bcacabbSAdam Hornacek	brnz	%g2, 2b
40*2bcacabbSAdam Hornacek	dec	%g2
41*2bcacabbSAdam Hornacek
42*2bcacabbSAdam Hornacek	retl
43*2bcacabbSAdam Hornacek	nop
44*2bcacabbSAdam Hornacek
45*2bcacabbSAdam Hornacek	SET_SIZE(foo)
46*2bcacabbSAdam Hornacek
47*2bcacabbSAdam Hornacek/* 2nd function definition */
48*2bcacabbSAdam Hornacek
49*2bcacabbSAdam Hornacek	ENTRY(bar)
50*2bcacabbSAdam Hornacek	rdpr	%otherwin, %g1
51*2bcacabbSAdam Hornacek	brz	%g1, 3f
52*2bcacabbSAdam Hornacek	clr	%g2
53*2bcacabbSAdam Hornacek1:
54*2bcacabbSAdam Hornacek	save	%sp, -WINDOWSIZE, %sp
55*2bcacabbSAdam Hornacek	rdpr	%otherwin, %g1
56*2bcacabbSAdam Hornacek	brnz	%g1, 1b
57*2bcacabbSAdam Hornacek	add	%g2, 1, %g2
58*2bcacabbSAdam Hornacek2:
59*2bcacabbSAdam Hornacek	sub	%g2, 1, %g2		! restore back to orig window
60*2bcacabbSAdam Hornacek	brnz	%g2, 2b
61*2bcacabbSAdam Hornacek	restore
62*2bcacabbSAdam Hornacek3:
63*2bcacabbSAdam Hornacek	retl
64*2bcacabbSAdam Hornacek	nop
65*2bcacabbSAdam Hornacek	SET_SIZE(bar)
66*2bcacabbSAdam Hornacek
67*2bcacabbSAdam Hornacek/* definitions of the same function twice */
68*2bcacabbSAdam Hornacek
69*2bcacabbSAdam Hornacek	ENTRY2(_fce,__fce)
70*2bcacabbSAdam Hornacek	cmp	%o0, ERESTART
71*2bcacabbSAdam Hornacek	be,a	1f
72*2bcacabbSAdam Hornacek	mov	EINTR, %o0
73*2bcacabbSAdam Hornacek1:
74*2bcacabbSAdam Hornacek	save	%sp, -SA(MINFRAME), %sp
75*2bcacabbSAdam Hornacek	call	___errno
76*2bcacabbSAdam Hornacek	nop
77*2bcacabbSAdam Hornacek	st	%i0, [%o0]
78*2bcacabbSAdam Hornacek	restore
79*2bcacabbSAdam Hornacek	retl
80*2bcacabbSAdam Hornacek	mov	-1, %o0
81*2bcacabbSAdam Hornacek
82*2bcacabbSAdam Hornacek	SET_SIZE(_fce)
83*2bcacabbSAdam Hornacek	SET_SIZE(__fce)
84