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 | b17f1129fa56026ab95fc4a9db693bd15ab832fb (patch) | |
| tree | 2d2b5abf1ed3ed547ea99eb043d61a2c96d392b4 /clang/lib/Headers | |
| parent | ea1db8a697c3454a32a4d0c2947b030421c86aa2 (diff) | |
| download | bcm5719-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.h | 23 |
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 |

