]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - sys/contrib/ia64/libuwx/test/primeregs.s
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / sys / contrib / ia64 / libuwx / test / primeregs.s
1         .text
2         .proc   prime_registers
3         .global prime_registers
4
5 prime_registers:
6
7         .prologue
8
9         .save ar.pfs, r32
10         alloc   r32 = ar.pfs, 0, 3, 0, 0
11         .save rp, r33
12         mov     r33 = b0
13         .save ar.unat, r34
14         mov     r34 = ar.unat
15         add     r14 = -56, sp
16         add     r15 = -48, sp
17         .fframe 80
18         add     sp = -80, sp
19         mov     r16 = b1
20         ;;
21
22         .save.g 0x1
23         st8.spill [r14] = r4, 16
24         .save.g 0x2
25         st8.spill [r15] = r5, 16
26         mov     r17 = b2
27         ;;
28         .save.g 0x4
29         st8.spill [r14] = r6, 16
30         .save.g 0x8
31         st8.spill [r15] = r7, 16
32         mov     r18 = b3
33         ;;
34         .save.b 0x1
35         st8     [r14] = r16, 16
36         .save.b 0x2
37         st8     [r15] = r17, 16
38         mov     r19 = b4
39         ;;
40         .save.b 0x4
41         st8     [r14] = r18, 16
42         .save.b 0x8
43         st8     [r15] = r19
44         mov     r20 = b5
45         ;;
46         .save.b 0x10
47         st8     [r14] = r20
48
49         .body
50
51         dep.z   r4 = -0x34, 16, 32
52         ;;
53         add     r5 = 1, r4
54         add     r6 = 2, r4
55         ;;
56         add     r7 = 3, r4
57         ;;
58
59         .global func1
60         .type   func1, @function
61         br.call.sptk b0 = func1
62         ;;
63
64         add     r14 = 80, sp
65         add     r15 = 88, sp
66         ;;
67         ld8     r20 = [r15], -16
68         ;;
69         ld8     r19 = [r14], -16
70         ld8     r18 = [r15], -16
71         mov     b5 = r20
72         ;;
73         ld8     r17 = [r14], -16
74         ld8     r16 = [r15], -16
75         mov     b4 = r19
76         ;;
77         ld8.fill r7 = [r14], -16
78         ld8.fill r6 = [r15], -16
79         mov     b3 = r18
80         ;;
81         ld8.fill r5 = [r14]
82         ld8.fill r4 = [r15]
83         mov     b2 = r17
84         mov     b1 = r16
85
86         .restore sp
87         mov     ar.pfs = r32
88         ;;
89         add     sp = 80, sp
90         mov     ar.unat = r34
91         mov     b0 = r33
92         br.ret.sptk     b0
93         .endp