1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 221e28547SJackie Liu /* 321e28547SJackie Liu * Copyright (C) 2018 Linaro, Ltd. <ard.biesheuvel@linaro.org> 421e28547SJackie Liu */ 521e28547SJackie Liu 621e28547SJackie Liu #ifndef __ASM_NEON_INTRINSICS_H 721e28547SJackie Liu #define __ASM_NEON_INTRINSICS_H 821e28547SJackie Liu 921e28547SJackie Liu #include <asm-generic/int-ll64.h> 1021e28547SJackie Liu 1121e28547SJackie Liu /* 1221e28547SJackie Liu * In the kernel, u64/s64 are [un]signed long long, not [un]signed long. 1321e28547SJackie Liu * So by redefining these macros to the former, we can force gcc-stdint.h 1421e28547SJackie Liu * to define uint64_t / in64_t in a compatible manner. 1521e28547SJackie Liu */ 1621e28547SJackie Liu 1721e28547SJackie Liu #ifdef __INT64_TYPE__ 1821e28547SJackie Liu #undef __INT64_TYPE__ 1921e28547SJackie Liu #define __INT64_TYPE__ long long 2021e28547SJackie Liu #endif 2121e28547SJackie Liu 2221e28547SJackie Liu #ifdef __UINT64_TYPE__ 2321e28547SJackie Liu #undef __UINT64_TYPE__ 2421e28547SJackie Liu #define __UINT64_TYPE__ unsigned long long 2521e28547SJackie Liu #endif 2621e28547SJackie Liu 2721e28547SJackie Liu /* 2821e28547SJackie Liu * genksyms chokes on the ARM NEON instrinsics system header, but we 2921e28547SJackie Liu * don't export anything it defines anyway, so just disregard when 3021e28547SJackie Liu * genksyms execute. 3121e28547SJackie Liu */ 3221e28547SJackie Liu #ifndef __GENKSYMS__ 3321e28547SJackie Liu #include <arm_neon.h> 3421e28547SJackie Liu #endif 3521e28547SJackie Liu 360738c8b5SNathan Chancellor #ifdef CONFIG_CC_IS_CLANG 370738c8b5SNathan Chancellor #pragma clang diagnostic ignored "-Wincompatible-pointer-types" 380738c8b5SNathan Chancellor #endif 390738c8b5SNathan Chancellor 4021e28547SJackie Liu #endif /* __ASM_NEON_INTRINSICS_H */ 41