1121642Smarcel	.text
2121642Smarcel	.proc	prime_registers
3121642Smarcel	.global prime_registers
4121642Smarcel
5121642Smarcelprime_registers:
6121642Smarcel
7121642Smarcel	.prologue
8121642Smarcel
9121642Smarcel	.save ar.pfs, r32
10121642Smarcel	alloc	r32 = ar.pfs, 0, 3, 0, 0
11121642Smarcel	.save rp, r33
12121642Smarcel	mov	r33 = b0
13121642Smarcel	.save ar.unat, r34
14121642Smarcel	mov	r34 = ar.unat
15121642Smarcel	add	r14 = -56, sp
16121642Smarcel	add	r15 = -48, sp
17121642Smarcel	.fframe 80
18121642Smarcel	add	sp = -80, sp
19121642Smarcel	mov	r16 = b1
20121642Smarcel	;;
21121642Smarcel
22121642Smarcel	.save.g 0x1
23121642Smarcel	st8.spill [r14] = r4, 16
24121642Smarcel	.save.g 0x2
25121642Smarcel	st8.spill [r15] = r5, 16
26121642Smarcel	mov	r17 = b2
27121642Smarcel	;;
28121642Smarcel	.save.g 0x4
29121642Smarcel	st8.spill [r14] = r6, 16
30121642Smarcel	.save.g 0x8
31121642Smarcel	st8.spill [r15] = r7, 16
32121642Smarcel	mov	r18 = b3
33121642Smarcel	;;
34121642Smarcel	.save.b 0x1
35121642Smarcel	st8	[r14] = r16, 16
36121642Smarcel	.save.b 0x2
37121642Smarcel	st8	[r15] = r17, 16
38121642Smarcel	mov	r19 = b4
39121642Smarcel	;;
40121642Smarcel	.save.b 0x4
41121642Smarcel	st8	[r14] = r18, 16
42121642Smarcel	.save.b 0x8
43121642Smarcel	st8	[r15] = r19
44121642Smarcel	mov	r20 = b5
45121642Smarcel	;;
46121642Smarcel	.save.b 0x10
47121642Smarcel	st8	[r14] = r20
48121642Smarcel
49121642Smarcel	.body
50121642Smarcel
51121642Smarcel	dep.z	r4 = -0x34, 16, 32
52121642Smarcel	;;
53121642Smarcel	add	r5 = 1, r4
54121642Smarcel	add	r6 = 2, r4
55121642Smarcel	;;
56121642Smarcel	add	r7 = 3, r4
57121642Smarcel	;;
58121642Smarcel
59121642Smarcel	.global func1
60121642Smarcel	.type	func1, @function
61121642Smarcel	br.call.sptk b0 = func1
62121642Smarcel	;;
63121642Smarcel
64121642Smarcel	add	r14 = 80, sp
65121642Smarcel	add	r15 = 88, sp
66121642Smarcel	;;
67121642Smarcel	ld8	r20 = [r15], -16
68121642Smarcel	;;
69121642Smarcel	ld8	r19 = [r14], -16
70121642Smarcel	ld8	r18 = [r15], -16
71121642Smarcel	mov	b5 = r20
72121642Smarcel	;;
73121642Smarcel	ld8	r17 = [r14], -16
74121642Smarcel	ld8	r16 = [r15], -16
75121642Smarcel	mov	b4 = r19
76121642Smarcel	;;
77121642Smarcel	ld8.fill r7 = [r14], -16
78121642Smarcel	ld8.fill r6 = [r15], -16
79121642Smarcel	mov	b3 = r18
80121642Smarcel	;;
81121642Smarcel	ld8.fill r5 = [r14]
82121642Smarcel	ld8.fill r4 = [r15]
83121642Smarcel	mov	b2 = r17
84121642Smarcel	mov	b1 = r16
85121642Smarcel
86121642Smarcel	.restore sp
87121642Smarcel	mov	ar.pfs = r32
88121642Smarcel	;;
89121642Smarcel	add	sp = 80, sp
90121642Smarcel	mov	ar.unat = r34
91121642Smarcel	mov	b0 = r33
92121642Smarcel	br.ret.sptk	b0
93121642Smarcel	.endp
94