updated licenses
[gnutls.git] / lib / accelerated / x86 / elf / cpuid-x86.s
blobe8ebbfdf6f550d535914a8ebf4cf9860fe036d50
2 # Copyright (C) 2011-2012 Free Software Foundation, Inc.
4 # Author: Nikos Mavrogiannopoulos
6 # This file is part of GnuTLS.
8 # The GnuTLS is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU Lesser General Public License
10 # as published by the Free Software Foundation; either version 3 of
11 # the License, or (at your option) any later version.
13 # This library is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 # Lesser General Public License for more details.
18 # You should have received a copy of the GNU Lesser General Public License
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 # *** This file is auto-generated ***
23 .file "devel/perlasm/cpuid-x86.s"
24 .text
25 .globl gnutls_cpuid
26 .type gnutls_cpuid,@function
27 .align 16
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 .size gnutls_cpuid,.-.L_gnutls_cpuid_begin
57 .globl gnutls_have_cpuid
58 .type gnutls_have_cpuid,@function
59 .align 16
60 gnutls_have_cpuid:
61 .L_gnutls_have_cpuid_begin:
62 pushfl
63 popl %eax
64 orl $2097152,%eax
65 pushl %eax
66 popfl
67 pushfl
68 popl %eax
69 andl $2097152,%eax
70 ret
71 .size gnutls_have_cpuid,.-.L_gnutls_have_cpuid_begin
72 .byte 67,80,85,73,68,32,102,111,114,32,120,56,54,0
74 .section .note.GNU-stack,"",%progbits