llvm-project/clang/lib/Headers
Nemanja Ivanovic 26c3534b84 Add missing builtins to altivec.h for ABI compliance (vol. 3)
This patch corresponds to review:
http://reviews.llvm.org/D10972

Fix for the handling of dependent features that are enabled by default
on some CPU's (such as -mvsx, -mpower8-vector).

Also provides a number of new interfaces or fixes existing ones in
altivec.h.

Changed signatures to conform to ABI:
vector short vec_perm(vector signed short, vector signed short, vector unsigned char)
vector int vec_perm(vector signed int, vector signed int, vector unsigned char)
vector long long vec_perm(vector signed long long, vector signed long long, vector unsigned char)
vector signed char vec_sld(vector signed char, vector signed char, const int)
vector unsigned char vec_sld(vector unsigned char, vector unsigned char, const int)
vector bool char vec_sld(vector bool char, vector bool char, const int)
vector unsigned short vec_sld(vector unsigned short, vector unsigned short, const int)
vector signed short vec_sld(vector signed short, vector signed short, const int)
vector signed int vec_sld(vector signed int, vector signed int, const int)
vector unsigned int vec_sld(vector unsigned int, vector unsigned int, const int)
vector float vec_sld(vector float, vector float, const int)
vector signed char vec_splat(vector signed char, const int)
vector unsigned char vec_splat(vector unsigned char, const int)
vector bool char vec_splat(vector bool char, const int)
vector signed short vec_splat(vector signed short, const int)
vector unsigned short vec_splat(vector unsigned short, const int)
vector bool short vec_splat(vector bool short, const int)
vector pixel vec_splat(vector pixel, const int)
vector signed int vec_splat(vector signed int, const int)
vector unsigned int vec_splat(vector unsigned int, const int)
vector bool int vec_splat(vector bool int, const int)
vector float vec_splat(vector float, const int)

Added a VSX path to:
vector float vec_round(vector float)

Added interfaces:
vector signed char vec_eqv(vector signed char, vector signed char)
vector signed char vec_eqv(vector bool char, vector signed char)
vector signed char vec_eqv(vector signed char, vector bool char)
vector unsigned char vec_eqv(vector unsigned char, vector unsigned char)
vector unsigned char vec_eqv(vector bool char, vector unsigned char)
vector unsigned char vec_eqv(vector unsigned char, vector bool char)
vector signed short vec_eqv(vector signed short, vector signed short)
vector signed short vec_eqv(vector bool short, vector signed short)
vector signed short vec_eqv(vector signed short, vector bool short)
vector unsigned short vec_eqv(vector unsigned short, vector unsigned short)
vector unsigned short vec_eqv(vector bool short, vector unsigned short)
vector unsigned short vec_eqv(vector unsigned short, vector bool short)
vector signed int vec_eqv(vector signed int, vector signed int)
vector signed int vec_eqv(vector bool int, vector signed int)
vector signed int vec_eqv(vector signed int, vector bool int)
vector unsigned int vec_eqv(vector unsigned int, vector unsigned int)
vector unsigned int vec_eqv(vector bool int, vector unsigned int)
vector unsigned int vec_eqv(vector unsigned int, vector bool int)
vector signed long long vec_eqv(vector signed long long, vector signed long long)
vector signed long long vec_eqv(vector bool long long, vector signed long long)
vector signed long long vec_eqv(vector signed long long, vector bool long long)
vector unsigned long long vec_eqv(vector unsigned long long, vector unsigned long long)
vector unsigned long long vec_eqv(vector bool long long, vector unsigned long long)
vector unsigned long long vec_eqv(vector unsigned long long, vector bool long long)
vector float vec_eqv(vector float, vector float)
vector float vec_eqv(vector bool int, vector float)
vector float vec_eqv(vector float, vector bool int)
vector double vec_eqv(vector double, vector double)
vector double vec_eqv(vector bool long long, vector double)
vector double vec_eqv(vector double, vector bool long long)
vector bool long long vec_perm(vector bool long long, vector bool long long, vector unsigned char)
vector double vec_round(vector double)
vector double vec_splat(vector double, const int)
vector bool long long vec_splat(vector bool long long, const int)
vector signed long long vec_splat(vector signed long long, const int)
vector unsigned long long vec_splat(vector unsigned long long,
vector bool int vec_sld(vector bool int, vector bool int, const int)
vector bool short vec_sld(vector bool short, vector bool short, const int)

llvm-svn: 241904
2015-07-10 13:11:34 +00:00
..
CMakeLists.txt [X86] Add FXSR intrinsics 2015-06-30 09:45:38 +00:00
Intrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
Makefile Rename lib/Headers/module.map to module.modulemap 2014-04-17 00:52:48 +00:00
__stddef_max_align_t.h Restore the libc++ definition of max_align_t on Apple platforms 2015-02-24 01:06:22 +00:00
__wmmintrin_aes.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
__wmmintrin_pclmul.h Update the intel intrinsic headers to use the target attribute support. 2015-06-17 07:09:32 +00:00
adxintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
altivec.h Add missing builtins to altivec.h for ABI compliance (vol. 3) 2015-07-10 13:11:34 +00:00
ammintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
arm_acle.h This patch implements clang support for the ACLE special register intrinsics 2015-06-15 17:51:01 +00:00
avx2intrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
avx512bwintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
avx512cdintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
avx512dqintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
avx512erintrin.h Use a define for per-file function attributes for the Intel intrinsic headers. 2015-06-17 07:09:20 +00:00
avx512fintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
avx512vlbwintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
avx512vldqintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
avx512vlintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
avxintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
bmi2intrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
bmiintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
cpuid.h Fix trailing commas in AMD define. 2014-10-01 21:22:17 +00:00
cuda_builtin_vars.h [cuda] Added support for CUDA built-in variables. 2015-04-21 22:14:13 +00:00
emmintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
f16cintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
float.h <float.h>: Don't seek #include_next if -ffreestanding for targeting mingw. 2014-10-22 01:25:49 +00:00
fma4intrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
fmaintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
fxsrintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
htmintrin.h [SystemZ] Support transactional execution on zEC12 2015-04-01 12:54:25 +00:00
htmxlintrin.h [SystemZ] Support transactional execution on zEC12 2015-04-01 12:54:25 +00:00
ia32intrin.h [x86] Add Clang support for intrinsic __rdpmc. 2014-06-30 18:23:58 +00:00
immintrin.h [X86] Add FXSR intrinsics 2015-06-30 09:45:38 +00:00
inttypes.h Add an inttypes.h wrapper that fixes up some macros in Microsoft mode. 2015-06-26 00:13:18 +00:00
iso646.h
limits.h Fix two pedantic issues with our builtin headers. The __STDC_VERSION__ 2014-02-19 23:38:18 +00:00
lzcntintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
mm3dnow.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
mm_malloc.h PR14964: intrinsic headers using non-reserved identifiers 2013-01-16 23:08:36 +00:00
mmintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
module.modulemap Remove `requires` for x86 CPU features. 2015-06-25 23:22:11 +00:00
nmmintrin.h Update the intel intrinsic headers to use the target attribute support. 2015-06-17 07:09:32 +00:00
pmmintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
popcntintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
prfchwintrin.h Add include guards to prfchwintrin.h. 2013-05-09 15:07:39 +00:00
rdseedintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
rtmintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
s390intrin.h [SystemZ] Support transactional execution on zEC12 2015-04-01 12:54:25 +00:00
shaintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
smmintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
stdalign.h libstdc++'s <cstdalign> #includes <stdalign.h> and expects it to guard against 2013-02-21 02:17:58 +00:00
stdarg.h Added standard macro guard. In case __GNUC_VA_LIST was not 2014-07-02 15:25:03 +00:00
stdatomic.h Don't use BCPL comments here, in case someone wants to use <stdatomic.h> from C89 mode. 2015-01-29 03:34:39 +00:00
stdbool.h
stddef.h Fix interaction of max_align_t and modules. 2014-10-03 00:31:35 +00:00
stdint.h Change __INTx_TYPE__ to be always signed. This changes the value for 2014-07-28 21:06:22 +00:00
stdnoreturn.h Parsing support for C11's _Noreturn keyword. No semantics yet. 2013-01-17 22:16:11 +00:00
tbmintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
tgmath.h Fix the return type of the complex creal functions. Patch by YunZhong Gao, modified to use _Static_assert and to check __STDC_HOSTED__ by me. 2013-05-09 17:41:19 +00:00
tmmintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
unwind.h Headers: Don't use attribute keywords which aren't reserved 2015-02-04 00:26:10 +00:00
vadefs.h Intercept __crt_va_* used by MSVC "14" 2014-11-20 22:44:03 +00:00
varargs.h
wmmintrin.h Update the intel intrinsic headers to use the target attribute support. 2015-06-17 07:09:32 +00:00
x86intrin.h Update the intel intrinsic headers to use the target attribute support. 2015-06-17 07:09:32 +00:00
xmmintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
xopintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
xtestintrin.h Move xtest to its own file to match the gcc header organization. 2015-06-17 18:42:07 +00:00