xref: /aosp_15_r20/external/arm-trusted-firmware/include/lib/libc/arm_acle.h (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong Park /*
2*54fd6939SJiyong Park  * Copyright (c) 2021 ARM Limited
3*54fd6939SJiyong Park  *
4*54fd6939SJiyong Park  * SPDX-License-Identifier: BSD-3-Clause
5*54fd6939SJiyong Park  *
6*54fd6939SJiyong Park  * The definitions below are a subset of what we would normally get by using
7*54fd6939SJiyong Park  * the compiler's version of arm_acle.h. We can't use that directly because
8*54fd6939SJiyong Park  * we specify -nostdinc in the Makefiles.
9*54fd6939SJiyong Park  *
10*54fd6939SJiyong Park  * We just define the functions we need so far.
11*54fd6939SJiyong Park  */
12*54fd6939SJiyong Park 
13*54fd6939SJiyong Park #ifndef ARM_ACLE_H
14*54fd6939SJiyong Park #define ARM_ACLE_H
15*54fd6939SJiyong Park 
16*54fd6939SJiyong Park #if !defined(__aarch64__) || defined(__clang__)
17*54fd6939SJiyong Park #	define __crc32b __builtin_arm_crc32b
18*54fd6939SJiyong Park #	define __crc32w __builtin_arm_crc32w
19*54fd6939SJiyong Park #else
20*54fd6939SJiyong Park #	define __crc32b __builtin_aarch64_crc32b
21*54fd6939SJiyong Park #	define __crc32w __builtin_aarch64_crc32w
22*54fd6939SJiyong Park #endif
23*54fd6939SJiyong Park 
24*54fd6939SJiyong Park #endif	/* ARM_ACLE_H */
25