summaryrefslogtreecommitdiffstats
path: root/clang/lib/Headers
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
commitb17f1129fa56026ab95fc4a9db693bd15ab832fb (patch)
tree2d2b5abf1ed3ed547ea99eb043d61a2c96d392b4 /clang/lib/Headers
parentea1db8a697c3454a32a4d0c2947b030421c86aa2 (diff)
downloadbcm5719-llvm-b17f1129fa56026ab95fc4a9db693bd15ab832fb.tar.gz
bcm5719-llvm-b17f1129fa56026ab95fc4a9db693bd15ab832fb.zip
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 llvm-svn: 239506
Diffstat (limited to 'clang/lib/Headers')
-rw-r--r--clang/lib/Headers/altivec.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/lib/Headers/altivec.h b/clang/lib/Headers/altivec.h
index 7427ed53fcb..28df8905720 100644
--- a/clang/lib/Headers/altivec.h
+++ b/clang/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
OpenPOWER on IntegriCloud