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