adjust to match the expanded name.
[AROS-Contrib.git] / Demo / InfPlane / refresh-x86_64.S
blob1a013116e64bec7ab26303fcb727d2a45f33bcab
1 /*
2         converted from refresh-i386.S
3 */
7         
8 .extern buffer
9 .text
10         .align 4
11         .globl refresh_prout
12         
13 refresh_prout:
14         pushq %rbp
15         movq %rsp,%rbp
16         subq $72,%rsp
17         pushq %rdi
18         pushq %rsi
19         pushq %rbx
20         movq $0,-8(%rbp)
21         movq $0,-64(%rbp)
22         movq $0,-68(%rbp)
23         .align 4
24 .L167:
25         movq $0,-4(%rbp)
26         movq -68(%rbp),%rsi
27         movq %rsi,-60(%rbp)
28         .align 4
29 .L171:
30         movq -60(%rbp),%rsi
31         movq ikse(%rsi),%rsi
32         movq %rsi,-24(%rbp)
33         movq -60(%rbp),%rsi
34         movq ikse+4(%rsi),%rsi
35         movq %rsi,-40(%rbp)
36         movq -60(%rbp),%rsi
37         movq ikse+168(%rsi),%rcx
38         movq igrek(%rsi),%rsi
39         movq %rsi,-32(%rbp)
40         movq -60(%rbp),%rsi
41         movq igrek+4(%rsi),%rsi
42         movq %rsi,-48(%rbp)
43         movq -60(%rbp),%rsi
44         movq igrek+164(%rsi),%rdx
45         movq igrek+168(%rsi),%rbx
46         movq ikse+164(%rsi),%rax
47         subq -24(%rbp),%rax
48         jns .L172
49         addq $7,%rax
50 .L172:
51         sarq $3,%rax
52         movq %rax,-28(%rbp)
53         movq %rdx,%rax
54         subq -32(%rbp),%rax
55         jns .L173
56         addq $7,%rax
57 .L173:
58         sarq $3,%rax
59         movq %rax,-36(%rbp)
60         movq %rcx,%rax
61         subq -40(%rbp),%rax
62         jns .L174
63         addq $7,%rax
64 .L174:
65         sarq $3,%rax
66         movq %rax,-44(%rbp)
67         movq %rbx,%rax
68         subq -48(%rbp),%rax
69         jns .L175
70         addq $7,%rax
71 .L175:
72         sarq $3,%rax
73         movq %rax,-52(%rbp)
74         movq -4(%rbp),%rax
75         salq $4,%rax
76         addq buffer,%rax
77         addq -64(%rbp),%rax
78         movq %rax,-56(%rbp)
79         movq $8,-12(%rbp)
80         .align 4
81 .L179:
82         movq -56(%rbp),%rsi   // swapped rbx and rsi
83         addq $640,%rsi
84         movq %rsi,-56(%rbp)  
85         movq -24(%rbp),%rcx  // swapped rcx and rdi
86         movq -32(%rbp),%rbx
87 //      movq %rsi,-72(%rbp)
88         movq -40(%rbp),%rax
89         subq %rcx,%rax
90         sarq $3,%rax
91         movq %rax,-16(%rbp)
92         movq -48(%rbp),%rax
93         subq %rbx,%rax
94         sarq $3,%rax
95         movq %rax,-20(%rbp)
97         xorq    %rax,%rax
98         movq texture1,%rdx
99         movq    -16(%rbp),%rdi
100         .align 4
101 .L183:
102         movb %ch,%al
103         addq %rdi,%rcx
104         movb %bh,%ah
105         addq -20(%rbp),%rbx
106         movw (%rdx,%rax,2),%ax
107         movw %ax,(%rsi)
109                 movb %ch,%al
110         addq %rdi,%rcx
111         movb %bh,%ah
112         addq -20(%rbp),%rbx
113         movw (%rdx,%rax,2),%ax
114         movw %ax,2(%rsi)
116                 movb %ch,%al
117         addq %rdi,%rcx
118         movb %bh,%ah
119         addq -20(%rbp),%rbx
120         movw (%rdx,%rax,2),%ax
121         movw %ax,4(%rsi)
123                 movb %ch,%al
124         addq %rdi,%rcx
125         movb %bh,%ah
126         addq -20(%rbp),%rbx
127         movw (%rdx,%rax,2),%ax
128         movw %ax,6(%rsi)
130                 movb %ch,%al
131         addq %rdi,%rcx
132         movb %bh,%ah
133         addq -20(%rbp),%rbx
134         movw (%rdx,%rax,2),%ax
135         movw %ax,8(%rsi)
137                 movb %ch,%al
138         addq %rdi,%rcx
139         movb %bh,%ah
140         addq -20(%rbp),%rbx
141         movw (%rdx,%rax,2),%ax
142         movw %ax,10(%rsi)
144                 movb %ch,%al
145         addq %rdi,%rcx
146         movb %bh,%ah
147         addq -20(%rbp),%rbx
148         movw (,%rax,2),%ax
149         movw %ax,12(%rsi)
151                 movb %ch,%al
152         addq %rdi,%rcx
153         movb %bh,%ah
154         addq -20(%rbp),%rbx
155         movw (%rdx,%rax,2),%ax
156         movw %ax,14(%rsi)
160              // end of swap
161         movq -28(%rbp),%rsi
162         addq %rsi,-24(%rbp)
163         movq -36(%rbp),%rsi
164         addq %rsi,-32(%rbp)
165         movq -44(%rbp),%rsi
166         addq %rsi,-40(%rbp)
167         movq -52(%rbp),%rsi
168         addq %rsi,-48(%rbp)
169         decl -12(%rbp)
170         jne .L179
171         addq $4,-60(%rbp)
172         incl -4(%rbp)
173         cmpl $39,-4(%rbp)
174         jle .L171
175         addq $5120,-64(%rbp)
176         addq $164,-68(%rbp)
177         incl -8(%rbp)
178         cmpl $29,-8(%rbp)
179         jle .L167
180         leaq -84(%rbp),%rsp
181         popq %rbx
182         popq %rsi
183         popq %rdi
184         leave
185         ret