Added Mike Hamburg's SSSE3 AES implementation.
[gnutls:gnutls.git] / lib / accelerated / x86 / elf / cpuid-x86.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 .file   "devel/perlasm/cpuid-x86.s"
25 .text
26 .globl  gnutls_cpuid
27 .type   gnutls_cpuid,@function
28 .align  16
29 gnutls_cpuid:
30 .L_gnutls_cpuid_begin:
31         pushl   %ebp
32         movl    %esp,%ebp
33         subl    $12,%esp
34         movl    %ebx,(%esp)
35         movl    8(%ebp),%eax
36         movl    %esi,4(%esp)
37         movl    %edi,8(%esp)
38         pushl   %ebx
39         .byte   0x0f,0xa2
40         movl    %ebx,%edi
41         popl    %ebx
42         movl    %edx,%esi
43         movl    12(%ebp),%edx
44         movl    %eax,(%edx)
45         movl    16(%ebp),%eax
46         movl    %edi,(%eax)
47         movl    20(%ebp),%eax
48         movl    %ecx,(%eax)
49         movl    24(%ebp),%eax
50         movl    %esi,(%eax)
51         movl    (%esp),%ebx
52         movl    4(%esp),%esi
53         movl    8(%esp),%edi
54         movl    %ebp,%esp
55         popl    %ebp
56         ret
57 .size   gnutls_cpuid,.-.L_gnutls_cpuid_begin
58 .globl  gnutls_have_cpuid
59 .type   gnutls_have_cpuid,@function
60 .align  16
61 gnutls_have_cpuid:
62 .L_gnutls_have_cpuid_begin:
63         pushfl
64         popl    %eax
65         orl     $2097152,%eax
66         pushl   %eax
67         popfl
68         pushfl
69         popl    %eax
70         andl    $2097152,%eax
71         ret
72 .size   gnutls_have_cpuid,.-.L_gnutls_have_cpuid_begin
73 .byte   67,80,85,73,68,32,102,111,114,32,120,56,54,0
74
75 .section .note.GNU-stack,"",%progbits