summaryrefslogtreecommitdiffstats
path: root/lib/Headers/altivec.h
diff options
context:
space:
mode:
authorNemanja Ivanovic <nemanja.i.ibm@gmail.com>2015-06-11 06:25:36 +0000
committerNemanja Ivanovic <nemanja.i.ibm@gmail.com>2015-06-11 06:25:36 +0000
commitb94be87f57994160549a2b7e3a3f3c06bdf50009 (patch)
tree873c10de9b90b73ff174272a1e8b3af198a53402 /lib/Headers/altivec.h
parent4c83c92a535f72248f36d2db84e114d2fb4d0f34 (diff)
Clang support for vector quad bit permute and gather instructions through builtins
This patch corresponds to review: http://reviews.llvm.org/D10095 This is for just two instructions and related builtins: vbpermq vgbbd git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239506 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Headers/altivec.h')
-rw-r--r--lib/Headers/altivec.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/Headers/altivec.h b/lib/Headers/altivec.h
index 7427ed53fc..28df890572 100644
--- a/lib/Headers/altivec.h
+++ b/lib/Headers/altivec.h
@@ -12012,6 +12012,29 @@ static vector unsigned long long __ATTRS_o_ai __builtin_crypto_vpmsumb(
vector unsigned long long __a, vector unsigned long long __b) {
return __builtin_altivec_crypto_vpmsumd(__a, __b);
}
+
+static vector signed char __ATTRS_o_ai vec_vgbbd (vector signed char __a)
+{
+ return __builtin_altivec_vgbbd((vector unsigned char) __a);
+}
+
+static vector unsigned char __ATTRS_o_ai vec_vgbbd (vector unsigned char __a)
+{
+ return __builtin_altivec_vgbbd(__a);
+}
+
+static vector long long __ATTRS_o_ai
+vec_vbpermq (vector signed char __a, vector signed char __b)
+{
+ return __builtin_altivec_vbpermq((vector unsigned char) __a,
+ (vector unsigned char) __b);
+}
+
+static vector long long __ATTRS_o_ai
+vec_vbpermq (vector unsigned char __a, vector unsigned char __b)
+{
+ return __builtin_altivec_vbpermq(__a, __b);
+}
#endif
#undef __ATTRS_o_ai