xref: /openbsd/lib/libcrypto/arch/arm/armv4cpuid.S (revision 4bdff4be)
1#include "arm_arch.h"
2
3.text
4#if defined(__thumb2__) && !defined(__APPLE__)
5.syntax	unified
6.thumb
7#else
8.code	32
9#undef	__thumb2__
10#endif
11
12#if __ARM_ARCH__>=7
13.arch	armv7-a
14.fpu	neon
15
16.align	5
17.globl	_armv7_neon_probe
18.type	_armv7_neon_probe,%function
19_armv7_neon_probe:
20	vorr	q0,q0,q0
21	bx	lr
22.size	_armv7_neon_probe,.-_armv7_neon_probe
23
24.globl	_armv8_aes_probe
25.type	_armv8_aes_probe,%function
26_armv8_aes_probe:
27#if defined(__thumb2__) && !defined(__APPLE__)
28.byte	0xb0,0xff,0x00,0x03	@ aese.8	q0,q0
29#else
30.byte	0x00,0x03,0xb0,0xf3	@ aese.8	q0,q0
31#endif
32	bx	lr
33.size	_armv8_aes_probe,.-_armv8_aes_probe
34
35.globl	_armv8_sha1_probe
36.type	_armv8_sha1_probe,%function
37_armv8_sha1_probe:
38#if defined(__thumb2__) && !defined(__APPLE__)
39.byte	0x00,0xef,0x40,0x0c	@ sha1c.32	q0,q0,q0
40#else
41.byte	0x40,0x0c,0x00,0xf2	@ sha1c.32	q0,q0,q0
42#endif
43	bx	lr
44.size	_armv8_sha1_probe,.-_armv8_sha1_probe
45
46.globl	_armv8_sha256_probe
47.type	_armv8_sha256_probe,%function
48_armv8_sha256_probe:
49#if defined(__thumb2__) && !defined(__APPLE__)
50.byte	0x00,0xff,0x40,0x0c	@ sha256h.32	q0,q0,q0
51#else
52.byte	0x40,0x0c,0x00,0xf3	@ sha256h.32	q0,q0,q0
53#endif
54	bx	lr
55.size	_armv8_sha256_probe,.-_armv8_sha256_probe
56.globl	_armv8_pmull_probe
57.type	_armv8_pmull_probe,%function
58_armv8_pmull_probe:
59#if defined(__thumb2__) && !defined(__APPLE__)
60.byte	0xa0,0xef,0x00,0x0e	@ vmull.p64	q0,d0,d0
61#else
62.byte	0x00,0x0e,0xa0,0xf2	@ vmull.p64	q0,d0,d0
63#endif
64	bx	lr
65.size	_armv8_pmull_probe,.-_armv8_pmull_probe
66#endif
67
68.comm	OPENSSL_armcap_P,4,4
69.hidden	OPENSSL_armcap_P
70