forked from OSchip/llvm-project
26c3534b84
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 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Intrin.h | ||
Makefile | ||
__stddef_max_align_t.h | ||
__wmmintrin_aes.h | ||
__wmmintrin_pclmul.h | ||
adxintrin.h | ||
altivec.h | ||
ammintrin.h | ||
arm_acle.h | ||
avx2intrin.h | ||
avx512bwintrin.h | ||
avx512cdintrin.h | ||
avx512dqintrin.h | ||
avx512erintrin.h | ||
avx512fintrin.h | ||
avx512vlbwintrin.h | ||
avx512vldqintrin.h | ||
avx512vlintrin.h | ||
avxintrin.h | ||
bmi2intrin.h | ||
bmiintrin.h | ||
cpuid.h | ||
cuda_builtin_vars.h | ||
emmintrin.h | ||
f16cintrin.h | ||
float.h | ||
fma4intrin.h | ||
fmaintrin.h | ||
fxsrintrin.h | ||
htmintrin.h | ||
htmxlintrin.h | ||
ia32intrin.h | ||
immintrin.h | ||
inttypes.h | ||
iso646.h | ||
limits.h | ||
lzcntintrin.h | ||
mm3dnow.h | ||
mm_malloc.h | ||
mmintrin.h | ||
module.modulemap | ||
nmmintrin.h | ||
pmmintrin.h | ||
popcntintrin.h | ||
prfchwintrin.h | ||
rdseedintrin.h | ||
rtmintrin.h | ||
s390intrin.h | ||
shaintrin.h | ||
smmintrin.h | ||
stdalign.h | ||
stdarg.h | ||
stdatomic.h | ||
stdbool.h | ||
stddef.h | ||
stdint.h | ||
stdnoreturn.h | ||
tbmintrin.h | ||
tgmath.h | ||
tmmintrin.h | ||
unwind.h | ||
vadefs.h | ||
varargs.h | ||
wmmintrin.h | ||
x86intrin.h | ||
xmmintrin.h | ||
xopintrin.h | ||
xtestintrin.h |