Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  mpcpucache_amd64.s   Sprache: Sparc

 
/ This Source Code Form is subject to the terms of the Mozilla Public
/ License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.

 .file "mpcpucache.c"
/ .section .rodata.str1.1,"aMS",@progbits,1
 .section .rodata
.LC0:
 .string "GenuineIntel"
.LC1:
 .string "AuthenticAMD"
.LC2:
 .string "CyrixInstead"
.LC3:
 .string "CentaurHauls"
.LC4:
 .string "NexGenDriven"
.LC5:
 .string "GenuineTMx86"
.LC6:
 .string "RiseRiseRise"
.LC7:
 .string "UMC UMC UMC "
.LC8:
 .string "Sis Sis Sis "
.LC9:
 .string "Geode by NSC"
 .section .data.rel.ro.local,"aw",@progbits
 .align 32
 .type manMap, @object
 .size manMap, 80
manMap:
 .quad .LC0
 .quad .LC1
 .quad .LC2
 .quad .LC3
 .quad .LC4
 .quad .LC5
 .quad .LC6
 .quad .LC7
 .quad .LC8
 .quad .LC9
 .section .rodata
 .align 32
 .type CacheMap, @object
 .size CacheMap, 512
CacheMap:
 .byte 0
 .byte 0
 .byte 3
 .byte 0
 .byte 3
 .byte 0
 .byte 4
 .byte 0
 .byte 4
 .zero 1
 .byte 1
 .byte 0
 .byte 7
 .byte 32
 .byte 1
 .byte 0
 .byte 7
 .byte 32
 .byte 1
 .byte 0
 .byte 8
 .byte 32
 .byte 1
 .byte 0
 .byte 8
 .byte 32
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 12
 .byte 64
 .byte 12
 .byte 64
 .byte 1
 .byte 0
 .byte 12
 .byte 64
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 12
 .byte 64
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 8
 .byte 64
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 7
 .byte 64
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 9
 .byte 64
 .byte 1
 .byte 0
 .byte 9
 .byte 64
 .byte 9
 .byte 64
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 9
 .byte 0
 .byte 9
 .byte 32
 .byte 9
 .byte 32
 .byte 9
 .byte 32
 .byte 9
 .byte 32
 .byte 9
 .byte 32
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 3
 .byte 0
 .byte 3
 .byte 0
 .byte 3
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 4
 .byte 0
 .byte 4
 .byte 0
 .byte 4
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 8
 .byte 64
 .byte 8
 .byte 64
 .byte 8
 .byte 64
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 5
 .byte 1
 .byte 5
 .byte 1
 .byte 5
 .byte 1
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 9
 .byte 64
 .byte 9
 .byte 64
 .byte 9
 .byte 64
 .byte 9
 .byte 64
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 9
 .byte 32
 .byte 9
 .byte 32
 .byte 9
 .byte 32
 .byte 9
 .byte 32
 .byte 9
 .byte 64
 .byte 9
 .byte 64
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 3
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 4
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .byte 1
 .byte 0
 .text
 .align 16
.globl freebl_cpuid
 .type freebl_cpuid, @function
freebl_cpuid:
.LFB2:
 movq %rdx, %r10
 pushq %rbx
.LCFI0:
 movq %rcx, %r11
 movq %rdi, %rax
/APP
 cpuid
 
/NO_APP
 movq %rax, (%rsi)
 movq %rbx, (%r10)
 popq %rbx
 movq %rcx, (%r11)
 movq %rdx, (%r8)
 ret
.LFE2:
 .size freebl_cpuid, .-freebl_cpuid
 .align 16
 .type getIntelCacheEntryLineSize, @function
getIntelCacheEntryLineSize:
.LFB3:
 leaq CacheMap(%rip), %r9
 movq %rdx, %r10
 movzbl 1(%r9,%rdi,2), %ecx
 movzbl (%r9,%rdi,2), %r8d
 testb %cl, %cl
 je .L2
 cmpl $6, %r8d
 sete %dl
 cmpl $8, %r8d
 sete %al
 orl %edx, %eax
 testb $1, %al
 je .L4
 movl $1, (%rsi)
.L9:
 movzbl %cl, %eax 
 movq %rax, (%r10)
 ret
 .align 16
.L4:
 movl (%rsi), %r11d
 cmpl $1, %r11d
 jg .L11
.L6:
 cmpl $2, %r11d
 jle .L2
 cmpl $12, %r8d
 sete %dl
 cmpl $14, %r8d
 sete %al
 orl %edx, %eax
 testb $1, %al
 je .L2
 movzbq 1(%r9,%rdi,2), %rax
 movl $3, (%rsi)
 movq %rax, (%r10)
 .align 16
.L2:
 rep ; ret
 .align 16
.L11:
 cmpl $9, %r8d
 sete %dl
 cmpl $11, %r8d
 sete %al
 orl %edx, %eax
 testb $1, %al
 je .L6
 movl $2, (%rsi)
 jmp .L9
.LFE3:
 .size getIntelCacheEntryLineSize, .-getIntelCacheEntryLineSize
 .align 16
 .type getIntelRegisterCacheLineSize, @function
getIntelRegisterCacheLineSize:
.LFB4:
 pushq %rbp
.LCFI1:
 movq %rsp, %rbp
.LCFI2:
 movq %rbx, -24(%rbp)
.LCFI3:
 movq %rdi, %rbx
 shrq $24, %rdi
 movq %r12, -16(%rbp)
.LCFI4:
 movq %r13, -8(%rbp)
.LCFI5:
 andl $255, %edi
 subq $24, %rsp
.LCFI6:
 movq %rsi, %r13
 movq %rdx, %r12
 call getIntelCacheEntryLineSize
 movq %rbx, %rdi
 movq %r12, %rdx
 movq %r13, %rsi
 shrq $16, %rdi
 andl $255, %edi
 call getIntelCacheEntryLineSize
 movq %rbx, %rdi
 movq %r12, %rdx
 movq %r13, %rsi
 shrq $8, %rdi
 andl $255, %ebx
 andl $255, %edi
 call getIntelCacheEntryLineSize
 movq %r12, %rdx
 movq %r13, %rsi
 movq %rbx, %rdi
 movq 8(%rsp), %r12
 movq (%rsp), %rbx
 movq 16(%rsp), %r13
 leave
 jmp getIntelCacheEntryLineSize
.LFE4:
 .size getIntelRegisterCacheLineSize, .-getIntelRegisterCacheLineSize
 .align 16
.globl s_mpi_getProcessorLineSize
 .type s_mpi_getProcessorLineSize, @function
s_mpi_getProcessorLineSize:
.LFB7:
 pushq %rbp
.LCFI7:
 xorl %edi, %edi
 movq %rsp, %rbp
.LCFI8:
 pushq %r15
.LCFI9:
 leaq -136(%rbp), %r8
 leaq -144(%rbp), %rcx
 leaq -152(%rbp), %rdx
 pushq %r14
.LCFI10:
 leaq -160(%rbp), %rsi
 leaq -128(%rbp), %r14
 pushq %r13
.LCFI11:
 leaq manMap(%rip), %r13
 pushq %r12
.LCFI12:
 movl $9, %r12d
 pushq %rbx
.LCFI13:
 xorl %ebx, %ebx
 subq $200, %rsp
.LCFI14:
 call freebl_cpuid
 movq -152(%rbp), %rax
 movq -160(%rbp), %r15
 movb $0, -116(%rbp)
 movl %eax, -128(%rbp)
 movq -136(%rbp), %rax
 movl %eax, -124(%rbp)
 movq -144(%rbp), %rax
 movl %eax, -120(%rbp)
 .align 16
.L18:
 movslq %ebx,%rax
 movq %r14, %rsi
 movq (%r13,%rax,8), %rdi
 call strcmp@PLT
 testl %eax, %eax
 cmove %ebx, %r12d
 incl %ebx
 cmpl $9, %ebx
 jle .L18
 testl %r12d, %r12d
 jne .L19
 xorl %eax, %eax
 decl %r15d
 movl $4, -204(%rbp)
 movq $0, -200(%rbp)
 jle .L21
 leaq -168(%rbp), %r8
 leaq -176(%rbp), %rcx
 leaq -184(%rbp), %rdx
 leaq -192(%rbp), %rsi
 movl $2, %edi
 xorl %ebx, %ebx
 call freebl_cpuid
 movq -192(%rbp), %rdi
 movl %edi, %r12d
 andl $15, %r12d
 cmpl %r12d, %ebx
 jl .L30
 jmp .L38
 .align 16
.L25:
 movq -184(%rbp), %rdi
 testl $2147483648, %edi 
 je .L40
.L26:
 movq -176(%rbp), %rdi
 testl $2147483648, %edi 
 je .L41
.L27:
 movq -168(%rbp), %rdi
 testl $2147483648, %edi 
 je .L42
.L28:
 incl %ebx
 cmpl %r12d, %ebx
 je .L24
 leaq -168(%rbp), %r8
 leaq -176(%rbp), %rcx
 leaq -184(%rbp), %rdx
 leaq -192(%rbp), %rsi
 movl $2, %edi
 call freebl_cpuid
.L24:
 cmpl %r12d, %ebx
 jge .L38
 movq -192(%rbp), %rdi
.L30:
 testl $2147483648, %edi 
 jne .L25
 leaq -200(%rbp), %rdx
 leaq -204(%rbp), %rsi
 andl $4294967040, %edi
 call getIntelRegisterCacheLineSize
 movq -184(%rbp), %rdi
 testl $2147483648, %edi 
 jne .L26
.L40:
 leaq -200(%rbp), %rdx
 leaq -204(%rbp), %rsi
 call getIntelRegisterCacheLineSize
 movq -176(%rbp), %rdi
 testl $2147483648, %edi 
 jne .L27
.L41:
 leaq -200(%rbp), %rdx
 leaq -204(%rbp), %rsi
 call getIntelRegisterCacheLineSize
 movq -168(%rbp), %rdi
 testl $2147483648, %edi 
 jne .L28
.L42:
 leaq -200(%rbp), %rdx
 leaq -204(%rbp), %rsi
 call getIntelRegisterCacheLineSize
 jmp .L28
.L38:
 movq -200(%rbp), %rax
.L21:
 movq %rax, %rdx
 movl $32, %eax
 testq %rdx, %rdx
 cmoveq %rax, %rdx
 addq $200, %rsp
 popq %rbx
 popq %r12
 popq %r13
 popq %r14
 popq %r15
 leave
 movq %rdx, %rax
 ret
.L19:
 leaq -216(%rbp), %r8
 leaq -224(%rbp), %rcx
 leaq -232(%rbp), %rdx
 leaq -240(%rbp), %rsi
 movl $2147483648, %edi
 xorl %ebx, %ebx
 call freebl_cpuid
 movl $2147483652, %eax
 cmpq %rax, -240(%rbp)
 ja .L43
.L32:
 movq %rbx, %rdx
 movl $32, %eax
 testq %rdx, %rdx
 cmoveq %rax, %rdx
 addq $200, %rsp
 popq %rbx
 popq %r12
 popq %r13
 popq %r14
 popq %r15
 leave
 movq %rdx, %rax
 ret
.L43:
 leaq -216(%rbp), %r8
 leaq -224(%rbp), %rcx
 leaq -232(%rbp), %rdx
 leaq -240(%rbp), %rsi
 movl $2147483653, %edi
 call freebl_cpuid
 movzbq -224(%rbp), %rbx
 jmp .L32
.LFE7:
 .size s_mpi_getProcessorLineSize, .-s_mpi_getProcessorLineSize

Messung V0.5
C=98 H=96 G=96

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge