diff options
author | Nemanja Ivanovic <nemanja.i.ibm@gmail.com> | 2015-06-11 06:25:36 +0000 |
---|---|---|
committer | Nemanja Ivanovic <nemanja.i.ibm@gmail.com> | 2015-06-11 06:25:36 +0000 |
commit | b94be87f57994160549a2b7e3a3f3c06bdf50009 (patch) | |
tree | 873c10de9b90b73ff174272a1e8b3af198a53402 /lib/Headers/altivec.h | |
parent | 4c83c92a535f72248f36d2db84e114d2fb4d0f34 (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.h | 23 |
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 |