diff options
author | Nemanja Ivanovic <nemanja.i.ibm@gmail.com> | 2016-10-26 19:27:11 +0000 |
---|---|---|
committer | Nemanja Ivanovic <nemanja.i.ibm@gmail.com> | 2016-10-26 19:27:11 +0000 |
commit | d2576cc208937c09040d01c0bec25426cf0bf90e (patch) | |
tree | 95526a1f5d7fa1953ee3ceb9132a4b20179fe1bd /lib/Headers/altivec.h | |
parent | ba33a0928e789ce6ebd21bd53ba2c31dd42b0ce8 (diff) |
[PowerPC] Implement vector_insert_exp builtins - clang portion
This patch corresponds to review https://reviews.llvm.org/D25956.
Committing on behalf of Zaara Syeda.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285229 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Headers/altivec.h')
-rw-r--r-- | lib/Headers/altivec.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/Headers/altivec.h b/lib/Headers/altivec.h index 5dd093a9ef..6deef6aabb 100644 --- a/lib/Headers/altivec.h +++ b/lib/Headers/altivec.h @@ -2497,6 +2497,26 @@ vec_first_mismatch_or_eos_index(vector unsigned int __a, return __res[0] >> 5; } +static __inline__ vector double __ATTRS_o_ai +vec_insert_exp(vector double __a, vector unsigned long long __b) { + return __builtin_vsx_xviexpdp((vector unsigned long long)__a,__b); +} + +static __inline__ vector double __ATTRS_o_ai +vec_insert_exp(vector unsigned long long __a, vector unsigned long long __b) { + return __builtin_vsx_xviexpdp(__a,__b); +} + +static __inline__ vector float __ATTRS_o_ai +vec_insert_exp(vector float __a, vector unsigned int __b) { + return __builtin_vsx_xviexpsp((vector unsigned int)__a,__b); +} + +static __inline__ vector float __ATTRS_o_ai +vec_insert_exp(vector unsigned int __a, vector unsigned int __b) { + return __builtin_vsx_xviexpsp(__a,__b); +} + #endif /* vec_cpsgn */ |