summaryrefslogtreecommitdiffstats
path: root/lib/Headers/altivec.h
diff options
context:
space:
mode:
authorNemanja Ivanovic <nemanja.i.ibm@gmail.com>2016-10-26 19:27:11 +0000
committerNemanja Ivanovic <nemanja.i.ibm@gmail.com>2016-10-26 19:27:11 +0000
commitd2576cc208937c09040d01c0bec25426cf0bf90e (patch)
tree95526a1f5d7fa1953ee3ceb9132a4b20179fe1bd /lib/Headers/altivec.h
parentba33a0928e789ce6ebd21bd53ba2c31dd42b0ce8 (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.h20
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 */