summaryrefslogtreecommitdiff
path: root/deps/openssl/config/archs/linux-ppc64/asm/crypto/ppccpuid.s
diff options
context:
space:
mode:
Diffstat (limited to 'deps/openssl/config/archs/linux-ppc64/asm/crypto/ppccpuid.s')
-rw-r--r--deps/openssl/config/archs/linux-ppc64/asm/crypto/ppccpuid.s342
1 files changed, 342 insertions, 0 deletions
diff --git a/deps/openssl/config/archs/linux-ppc64/asm/crypto/ppccpuid.s b/deps/openssl/config/archs/linux-ppc64/asm/crypto/ppccpuid.s
new file mode 100644
index 0000000000..adc9731bb6
--- /dev/null
+++ b/deps/openssl/config/archs/linux-ppc64/asm/crypto/ppccpuid.s
@@ -0,0 +1,342 @@
+.machine "any"
+.text
+
+.globl OPENSSL_fpu_probe
+.type OPENSSL_fpu_probe,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_fpu_probe:
+.quad .OPENSSL_fpu_probe,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_fpu_probe:
+ fmr 0,0
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+.size OPENSSL_fpu_probe,.-.OPENSSL_fpu_probe
+.size .OPENSSL_fpu_probe,.-.OPENSSL_fpu_probe
+.globl OPENSSL_ppc64_probe
+.type OPENSSL_ppc64_probe,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_ppc64_probe:
+.quad .OPENSSL_ppc64_probe,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_ppc64_probe:
+ fcfid 1,1
+ rldicl 0,0,32,32
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+.size OPENSSL_ppc64_probe,.-.OPENSSL_ppc64_probe
+.size .OPENSSL_ppc64_probe,.-.OPENSSL_ppc64_probe
+
+.globl OPENSSL_altivec_probe
+.type OPENSSL_altivec_probe,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_altivec_probe:
+.quad .OPENSSL_altivec_probe,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_altivec_probe:
+.long 0x10000484
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+.size OPENSSL_altivec_probe,.-.OPENSSL_altivec_probe
+.size .OPENSSL_altivec_probe,.-.OPENSSL_altivec_probe
+
+.globl OPENSSL_crypto207_probe
+.type OPENSSL_crypto207_probe,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_crypto207_probe:
+.quad .OPENSSL_crypto207_probe,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_crypto207_probe:
+ .long 0x7C000E99
+ .long 0x10000508
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+.size OPENSSL_crypto207_probe,.-.OPENSSL_crypto207_probe
+.size .OPENSSL_crypto207_probe,.-.OPENSSL_crypto207_probe
+
+.globl OPENSSL_madd300_probe
+.type OPENSSL_madd300_probe,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_madd300_probe:
+.quad .OPENSSL_madd300_probe,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_madd300_probe:
+ xor 0,0,0
+ .long 0x10600033
+ .long 0x10600031
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+
+.globl OPENSSL_wipe_cpu
+.type OPENSSL_wipe_cpu,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_wipe_cpu:
+.quad .OPENSSL_wipe_cpu,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_wipe_cpu:
+ xor 0,0,0
+ fmr 0,31
+ fmr 1,31
+ fmr 2,31
+ mr 3,1
+ fmr 3,31
+ xor 4,4,4
+ fmr 4,31
+ xor 5,5,5
+ fmr 5,31
+ xor 6,6,6
+ fmr 6,31
+ xor 7,7,7
+ fmr 7,31
+ xor 8,8,8
+ fmr 8,31
+ xor 9,9,9
+ fmr 9,31
+ xor 10,10,10
+ fmr 10,31
+ xor 11,11,11
+ fmr 11,31
+ xor 12,12,12
+ fmr 12,31
+ fmr 13,31
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+.size OPENSSL_wipe_cpu,.-.OPENSSL_wipe_cpu
+.size .OPENSSL_wipe_cpu,.-.OPENSSL_wipe_cpu
+
+.globl OPENSSL_atomic_add
+.type OPENSSL_atomic_add,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_atomic_add:
+.quad .OPENSSL_atomic_add,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_atomic_add:
+.Ladd: lwarx 5,0,3
+ add 0,4,5
+ stwcx. 0,0,3
+ bne- .Ladd
+ extsw 3,0
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,2,0
+.long 0
+.size OPENSSL_atomic_add,.-.OPENSSL_atomic_add
+.size .OPENSSL_atomic_add,.-.OPENSSL_atomic_add
+
+.globl OPENSSL_rdtsc
+.type OPENSSL_rdtsc,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_rdtsc:
+.quad .OPENSSL_rdtsc,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_rdtsc:
+ mftb 3
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,0,0
+.size OPENSSL_rdtsc,.-.OPENSSL_rdtsc
+.size .OPENSSL_rdtsc,.-.OPENSSL_rdtsc
+
+.globl OPENSSL_cleanse
+.type OPENSSL_cleanse,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_cleanse:
+.quad .OPENSSL_cleanse,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_cleanse:
+ cmpldi 4,7
+ li 0,0
+ bge .Lot
+ cmpldi 4,0
+ .long 0x4DC20020
+.Little: mtctr 4
+ stb 0,0(3)
+ addi 3,3,1
+ bdnz $-8
+ blr
+.Lot: andi. 5,3,3
+ beq .Laligned
+ stb 0,0(3)
+ subi 4,4,1
+ addi 3,3,1
+ b .Lot
+.Laligned:
+ srdi 5,4,2
+ mtctr 5
+ stw 0,0(3)
+ addi 3,3,4
+ bdnz $-8
+ andi. 4,4,3
+ bne .Little
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,2,0
+.long 0
+.size OPENSSL_cleanse,.-.OPENSSL_cleanse
+.size .OPENSSL_cleanse,.-.OPENSSL_cleanse
+
+.globl CRYPTO_memcmp
+.type CRYPTO_memcmp,@function
+.section ".opd","aw"
+.align 3
+CRYPTO_memcmp:
+.quad .CRYPTO_memcmp,.TOC.@tocbase,0
+.previous
+
+.align 4
+.CRYPTO_memcmp:
+ cmpldi 5,0
+ li 0,0
+ beq .Lno_data
+ mtctr 5
+.Loop_cmp:
+ lbz 6,0(3)
+ addi 3,3,1
+ lbz 7,0(4)
+ addi 4,4,1
+ xor 6,6,7
+ or 0,0,6
+ bdnz .Loop_cmp
+
+.Lno_data:
+ li 3,0
+ sub 3,3,0
+ extrwi 3,3,1,0
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,3,0
+.long 0
+.size CRYPTO_memcmp,.-.CRYPTO_memcmp
+.size .CRYPTO_memcmp,.-.CRYPTO_memcmp
+.globl OPENSSL_instrument_bus
+.type OPENSSL_instrument_bus,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_instrument_bus:
+.quad .OPENSSL_instrument_bus,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_instrument_bus:
+ mtctr 4
+
+ mftb 7
+ li 8,0
+
+ dcbf 0,3
+ lwarx 6,0,3
+ add 6,6,8
+ stwcx. 6,0,3
+ stwx 6,0,3
+
+.Loop: mftb 6
+ sub 8,6,7
+ mr 7,6
+ dcbf 0,3
+ lwarx 6,0,3
+ add 6,6,8
+ stwcx. 6,0,3
+ stwx 6,0,3
+ addi 3,3,4
+ bdnz .Loop
+
+ mr 3,4
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,2,0
+.long 0
+.size OPENSSL_instrument_bus,.-.OPENSSL_instrument_bus
+.size .OPENSSL_instrument_bus,.-.OPENSSL_instrument_bus
+
+.globl OPENSSL_instrument_bus2
+.type OPENSSL_instrument_bus2,@function
+.section ".opd","aw"
+.align 3
+OPENSSL_instrument_bus2:
+.quad .OPENSSL_instrument_bus2,.TOC.@tocbase,0
+.previous
+
+.align 4
+.OPENSSL_instrument_bus2:
+ mr 0,4
+ slwi 4,4,2
+
+ mftb 7
+ li 8,0
+
+ dcbf 0,3
+ lwarx 6,0,3
+ add 6,6,8
+ stwcx. 6,0,3
+ stwx 6,0,3
+
+ mftb 6
+ sub 8,6,7
+ mr 7,6
+ mr 9,8
+.Loop2:
+ dcbf 0,3
+ lwarx 6,0,3
+ add 6,6,8
+ stwcx. 6,0,3
+ stwx 6,0,3
+
+ addic. 5,5,-1
+ beq .Ldone2
+
+ mftb 6
+ sub 8,6,7
+ mr 7,6
+ cmplw 7,8,9
+ mr 9,8
+
+ mfcr 6
+ not 6,6
+ rlwinm 6,6,1,29,29
+
+ sub. 4,4,6
+ add 3,3,6
+ bne .Loop2
+
+.Ldone2:
+ srwi 4,4,2
+ sub 3,0,4
+ blr
+.long 0
+.byte 0,12,0x14,0,0,0,3,0
+.long 0
+.size OPENSSL_instrument_bus2,.-.OPENSSL_instrument_bus2
+.size .OPENSSL_instrument_bus2,.-.OPENSSL_instrument_bus2