OSDN Git Service

2009-05-18 H.J. Lu <hongjiu.lu@intel.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / x86_64 / abi / asm-support.S
1         .file   "snapshot.S"
2 #ifdef __AVX__
3         .sse_check none
4 #endif
5         .text
6         .p2align 4,,15
7 .globl snapshot
8         .type   snapshot, @function
9 snapshot:
10 .LFB3:
11         movq    %rax, rax(%rip)
12         movq    %rbx, rbx(%rip)
13         movq    %rcx, rcx(%rip)
14         movq    %rdx, rdx(%rip)
15         movq    %rdi, rdi(%rip)
16         movq    %rsi, rsi(%rip)
17         movq    %rbp, rbp(%rip)
18         movq    %rsp, rsp(%rip)
19         movq    %r8, r8(%rip)
20         movq    %r9, r9(%rip)
21         movq    %r10, r10(%rip)
22         movq    %r11, r11(%rip)
23         movq    %r12, r12(%rip)
24         movq    %r13, r13(%rip)
25         movq    %r14, r14(%rip)
26         movq    %r15, r15(%rip)
27         movdqu  %xmm0, xmm_regs+0(%rip)
28         movdqu  %xmm1, xmm_regs+16(%rip)
29         movdqu  %xmm2, xmm_regs+16*2(%rip)
30         movdqu  %xmm3, xmm_regs+16*3(%rip)
31         movdqu  %xmm4, xmm_regs+16*4(%rip)
32         movdqu  %xmm5, xmm_regs+16*5(%rip)
33         movdqu  %xmm6, xmm_regs+16*6(%rip)
34         movdqu  %xmm7, xmm_regs+16*7(%rip)
35         movdqu  %xmm8, xmm_regs+16*8(%rip)
36         movdqu  %xmm9, xmm_regs+16*9(%rip)
37         movdqu  %xmm10, xmm_regs+16*10(%rip)
38         movdqu  %xmm11, xmm_regs+16*11(%rip)
39         movdqu  %xmm12, xmm_regs+16*12(%rip)
40         movdqu  %xmm13, xmm_regs+16*13(%rip)
41         movdqu  %xmm14, xmm_regs+16*14(%rip)
42         movdqu  %xmm15, xmm_regs+16*15(%rip)
43         jmp     *callthis(%rip)
44 .LFE3:
45         .size   snapshot, .-snapshot
46
47         .p2align 4,,15
48 .globl snapshot_ret
49         .type   snapshot_ret, @function
50 snapshot_ret:
51         movq    %rdi, rdi(%rip)
52         subq    $8, %rsp
53         call    *callthis(%rip)
54         addq    $8, %rsp
55         movq    %rax, rax(%rip)
56         movq    %rdx, rdx(%rip)
57         movdqu  %xmm0, xmm_regs+0(%rip)
58         movdqu  %xmm1, xmm_regs+16(%rip)
59         fstpt   x87_regs(%rip)
60         fstpt   x87_regs+16(%rip)
61         fldt    x87_regs+16(%rip)
62         fldt    x87_regs(%rip)
63         ret
64         .size   snapshot_ret, .-snapshot_ret
65
66         .comm   callthis,8,8
67         .comm   rax,8,8
68         .comm   rbx,8,8
69         .comm   rcx,8,8
70         .comm   rdx,8,8
71         .comm   rsi,8,8
72         .comm   rdi,8,8
73         .comm   rsp,8,8
74         .comm   rbp,8,8
75         .comm   r8,8,8
76         .comm   r9,8,8
77         .comm   r10,8,8
78         .comm   r11,8,8
79         .comm   r12,8,8
80         .comm   r13,8,8
81         .comm   r14,8,8
82         .comm   r15,8,8
83         .comm   xmm_regs,256,32
84         .comm   x87_regs,128,32
85         .comm   volatile_var,8,8