1*21e28547SJackie Liu /* 2*21e28547SJackie Liu * Copyright (C) 2018 Linaro, Ltd. <ard.biesheuvel@linaro.org> 3*21e28547SJackie Liu * 4*21e28547SJackie Liu * This program is free software; you can redistribute it and/or modify 5*21e28547SJackie Liu * it under the terms of the GNU General Public License version 2 as 6*21e28547SJackie Liu * published by the Free Software Foundation. 7*21e28547SJackie Liu */ 8*21e28547SJackie Liu 9*21e28547SJackie Liu #ifndef __ASM_NEON_INTRINSICS_H 10*21e28547SJackie Liu #define __ASM_NEON_INTRINSICS_H 11*21e28547SJackie Liu 12*21e28547SJackie Liu #include <asm-generic/int-ll64.h> 13*21e28547SJackie Liu 14*21e28547SJackie Liu /* 15*21e28547SJackie Liu * In the kernel, u64/s64 are [un]signed long long, not [un]signed long. 16*21e28547SJackie Liu * So by redefining these macros to the former, we can force gcc-stdint.h 17*21e28547SJackie Liu * to define uint64_t / in64_t in a compatible manner. 18*21e28547SJackie Liu */ 19*21e28547SJackie Liu 20*21e28547SJackie Liu #ifdef __INT64_TYPE__ 21*21e28547SJackie Liu #undef __INT64_TYPE__ 22*21e28547SJackie Liu #define __INT64_TYPE__ long long 23*21e28547SJackie Liu #endif 24*21e28547SJackie Liu 25*21e28547SJackie Liu #ifdef __UINT64_TYPE__ 26*21e28547SJackie Liu #undef __UINT64_TYPE__ 27*21e28547SJackie Liu #define __UINT64_TYPE__ unsigned long long 28*21e28547SJackie Liu #endif 29*21e28547SJackie Liu 30*21e28547SJackie Liu /* 31*21e28547SJackie Liu * genksyms chokes on the ARM NEON instrinsics system header, but we 32*21e28547SJackie Liu * don't export anything it defines anyway, so just disregard when 33*21e28547SJackie Liu * genksyms execute. 34*21e28547SJackie Liu */ 35*21e28547SJackie Liu #ifndef __GENKSYMS__ 36*21e28547SJackie Liu #include <arm_neon.h> 37*21e28547SJackie Liu #endif 38*21e28547SJackie Liu 39*21e28547SJackie Liu #endif /* __ASM_NEON_INTRINSICS_H */ 40