Added Mike Hamburg's SSSE3 AES implementation.
[gnutls:gnutls.git] / lib / accelerated / x86 / coff / cpuid-x86_64.s
1 #
2 # Copyright (C) 2011-2013 Free Software Foundation, Inc.
3 # Copyright (C) 2013 Nikos Mavrogiannopoulos
4 #
5 # Author: Nikos Mavrogiannopoulos
6 #
7 # This file is part of GnuTLS.
8 #
9 # The GnuTLS is free software; you can redistribute it and/or
10 # modify it under the terms of the GNU Lesser General Public License
11 # as published by the Free Software Foundation; either version 2.1 of
12 # the License, or (at your option) any later version.
13 #
14 # This library is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 # Lesser General Public License for more details.
18 #
19 # You should have received a copy of the GNU Lesser General Public License
20 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
21 #
22 # *** This file is auto-generated ***
23 #
24 .text   
25 .globl  gnutls_cpuid
26 .def    gnutls_cpuid;   .scl 2; .type 32;       .endef
27 .p2align        4
28 gnutls_cpuid:
29         movq    %rdi,8(%rsp)
30         movq    %rsi,16(%rsp)
31         movq    %rsp,%rax
32 .LSEH_begin_gnutls_cpuid:
33         movq    %rcx,%rdi
34         movq    %rdx,%rsi
35         movq    %r8,%rdx
36         movq    %r9,%rcx
37         movq    40(%rsp),%r8
38         movq    48(%rsp),%r9
39
40         pushq   %rbp
41         movq    %rsp,%rbp
42         pushq   %rbx
43         movl    %edi,-12(%rbp)
44         movq    %rsi,-24(%rbp)
45         movq    %rdx,-32(%rbp)
46         movq    %rcx,-40(%rbp)
47         movq    %r8,-48(%rbp)
48         movl    -12(%rbp),%eax
49         movl    %eax,-60(%rbp)
50         movl    -60(%rbp),%eax
51         cpuid
52         movl    %edx,-56(%rbp)
53         movl    %ecx,%esi
54         movl    %eax,-52(%rbp)
55         movq    -24(%rbp),%rax
56         movl    -52(%rbp),%edx
57         movl    %edx,(%rax)
58         movq    -32(%rbp),%rax
59         movl    %ebx,(%rax)
60         movq    -40(%rbp),%rax
61         movl    %esi,(%rax)
62         movq    -48(%rbp),%rax
63         movl    -56(%rbp),%ecx
64         movl    %ecx,(%rax)
65         popq    %rbx
66         leave
67         movq    8(%rsp),%rdi
68         movq    16(%rsp),%rsi
69         .byte   0xf3,0xc3
70 .LSEH_end_gnutls_cpuid:
71
72 .section .note.GNU-stack,"",%progbits