support for all AltiVec functions except those with bool/pixel arguments

The patch enables support for all the AltiVec functions from the PIM except those with bool/pixel arguments. Pleas review.
Attach also contains C++ variant of test.

The patch is equivalent to those i have sent a few weeks ago (http://thread.gmane.org/gmane.comp.compilers.clang.devel/8527) but it was probably lost

AltiVec_func_except_pixel_bool.patch (240 KB)

builtins-pcc-altivec.c (74.2 KB)

This patch looks great. One minor comment:

+ case PPC::BI__builtin_altivec_lvsr:
+ {
+ Ops[1] = Builder.CreateBitCast(Ops[1], llvm::Type::getInt8PtrTy(VMContext));

With that simplification, please apply!

Applied with this fix in r106387