Path: blob/main/sys/crypto/openssl/arm/armv4cpuid.S
39483 views
/* Do not modify. This file is auto-generated from armv4cpuid.pl. */1#include "arm_arch.h"23#if defined(__thumb2__) && !defined(__APPLE__)4.syntax unified5.thumb6#else7.code 328#undef __thumb2__9#endif1011.text1213.align 514.globl OPENSSL_atomic_add15.type OPENSSL_atomic_add,%function16OPENSSL_atomic_add:17#if __ARM_ARCH__>=618.Ladd: ldrex r2,[r0]19add r3,r2,r120strex r2,r3,[r0]21cmp r2,#022bne .Ladd23mov r0,r324bx lr25#else26stmdb sp!,{r4,r5,r6,lr}27ldr r2,.Lspinlock28adr r3,.Lspinlock29mov r4,r030mov r5,r131add r6,r3,r2 @ &spinlock32b .+833.Lspin: bl sched_yield34mov r0,#-135swp r0,r0,[r6]36cmp r0,#037bne .Lspin3839ldr r2,[r4]40add r2,r2,r541str r2,[r4]42str r0,[r6] @ release spinlock43ldmia sp!,{r4,r5,r6,lr}44tst lr,#145moveq pc,lr46.word 0xe12fff1e @ bx lr47#endif48.size OPENSSL_atomic_add,.-OPENSSL_atomic_add4950.globl OPENSSL_cleanse51.type OPENSSL_cleanse,%function52OPENSSL_cleanse:53eor ip,ip,ip54cmp r1,#755#ifdef __thumb2__56itt hs57#endif58subhs r1,r1,#459bhs .Lot60cmp r1,#061beq .Lcleanse_done62.Little:63strb ip,[r0],#164subs r1,r1,#165bhi .Little66b .Lcleanse_done6768.Lot: tst r0,#369beq .Laligned70strb ip,[r0],#171sub r1,r1,#172b .Lot73.Laligned:74str ip,[r0],#475subs r1,r1,#476bhs .Laligned77adds r1,r1,#478bne .Little79.Lcleanse_done:80#if __ARM_ARCH__>=581bx lr82#else83tst lr,#184moveq pc,lr85.word 0xe12fff1e @ bx lr86#endif87.size OPENSSL_cleanse,.-OPENSSL_cleanse8889.globl CRYPTO_memcmp90.type CRYPTO_memcmp,%function91.align 492CRYPTO_memcmp:93eor ip,ip,ip94cmp r2,#095beq .Lno_data96stmdb sp!,{r4,r5}9798.Loop_cmp:99ldrb r4,[r0],#1100ldrb r5,[r1],#1101eor r4,r4,r5102orr ip,ip,r4103subs r2,r2,#1104bne .Loop_cmp105106ldmia sp!,{r4,r5}107.Lno_data:108rsb r0,ip,#0109mov r0,r0,lsr#31110#if __ARM_ARCH__>=5111bx lr112#else113tst lr,#1114moveq pc,lr115.word 0xe12fff1e @ bx lr116#endif117.size CRYPTO_memcmp,.-CRYPTO_memcmp118119#if __ARM_MAX_ARCH__>=7120.arch armv7-a121.fpu neon122123.align 5124.globl _armv7_neon_probe125.type _armv7_neon_probe,%function126_armv7_neon_probe:127vorr q0,q0,q0128bx lr129.size _armv7_neon_probe,.-_armv7_neon_probe130131.globl _armv7_tick132.type _armv7_tick,%function133_armv7_tick:134#ifdef __APPLE__135mrrc p15,0,r0,r1,c14 @ CNTPCT136#else137mrrc p15,1,r0,r1,c14 @ CNTVCT138#endif139bx lr140.size _armv7_tick,.-_armv7_tick141142.globl _armv8_aes_probe143.type _armv8_aes_probe,%function144_armv8_aes_probe:145#if defined(__thumb2__) && !defined(__APPLE__)146.byte 0xb0,0xff,0x00,0x03 @ aese.8 q0,q0147#else148.byte 0x00,0x03,0xb0,0xf3 @ aese.8 q0,q0149#endif150bx lr151.size _armv8_aes_probe,.-_armv8_aes_probe152153.globl _armv8_sha1_probe154.type _armv8_sha1_probe,%function155_armv8_sha1_probe:156#if defined(__thumb2__) && !defined(__APPLE__)157.byte 0x00,0xef,0x40,0x0c @ sha1c.32 q0,q0,q0158#else159.byte 0x40,0x0c,0x00,0xf2 @ sha1c.32 q0,q0,q0160#endif161bx lr162.size _armv8_sha1_probe,.-_armv8_sha1_probe163164.globl _armv8_sha256_probe165.type _armv8_sha256_probe,%function166_armv8_sha256_probe:167#if defined(__thumb2__) && !defined(__APPLE__)168.byte 0x00,0xff,0x40,0x0c @ sha256h.32 q0,q0,q0169#else170.byte 0x40,0x0c,0x00,0xf3 @ sha256h.32 q0,q0,q0171#endif172bx lr173.size _armv8_sha256_probe,.-_armv8_sha256_probe174.globl _armv8_pmull_probe175.type _armv8_pmull_probe,%function176_armv8_pmull_probe:177#if defined(__thumb2__) && !defined(__APPLE__)178.byte 0xa0,0xef,0x00,0x0e @ vmull.p64 q0,d0,d0179#else180.byte 0x00,0x0e,0xa0,0xf2 @ vmull.p64 q0,d0,d0181#endif182bx lr183.size _armv8_pmull_probe,.-_armv8_pmull_probe184#endif185186.globl OPENSSL_wipe_cpu187.type OPENSSL_wipe_cpu,%function188OPENSSL_wipe_cpu:189#if __ARM_MAX_ARCH__>=7190ldr r0,.LOPENSSL_armcap191adr r1,.LOPENSSL_armcap192ldr r0,[r1,r0]193#ifdef __APPLE__194ldr r0,[r0]195#endif196#endif197eor r2,r2,r2198eor r3,r3,r3199eor ip,ip,ip200#if __ARM_MAX_ARCH__>=7201tst r0,#1202beq .Lwipe_done203veor q0, q0, q0204veor q1, q1, q1205veor q2, q2, q2206veor q3, q3, q3207veor q8, q8, q8208veor q9, q9, q9209veor q10, q10, q10210veor q11, q11, q11211veor q12, q12, q12212veor q13, q13, q13213veor q14, q14, q14214veor q15, q15, q15215.Lwipe_done:216#endif217mov r0,sp218#if __ARM_ARCH__>=5219bx lr220#else221tst lr,#1222moveq pc,lr223.word 0xe12fff1e @ bx lr224#endif225.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu226227.globl OPENSSL_instrument_bus228.type OPENSSL_instrument_bus,%function229OPENSSL_instrument_bus:230eor r0,r0,r0231#if __ARM_ARCH__>=5232bx lr233#else234tst lr,#1235moveq pc,lr236.word 0xe12fff1e @ bx lr237#endif238.size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus239240.globl OPENSSL_instrument_bus2241.type OPENSSL_instrument_bus2,%function242OPENSSL_instrument_bus2:243eor r0,r0,r0244#if __ARM_ARCH__>=5245bx lr246#else247tst lr,#1248moveq pc,lr249.word 0xe12fff1e @ bx lr250#endif251.size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2252253.align 5254#if __ARM_MAX_ARCH__>=7255.LOPENSSL_armcap:256.word OPENSSL_armcap_P-.257#endif258#if __ARM_ARCH__>=6259.align 5260#else261.Lspinlock:262.word atomic_add_spinlock-.Lspinlock263.align 5264265.data266.align 2267atomic_add_spinlock:268.word 0269#endif270271272.hidden OPENSSL_armcap_P273274275