[PowerPC] Add vec_vsx_ld and vec_vsx_st intrinsics
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Wed, 12 Nov 2014 04:19:56 +0000 (04:19 +0000)
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>
Wed, 12 Nov 2014 04:19:56 +0000 (04:19 +0000)
commit9ec8cea02bc49d7d13b5de597b50999ab3705453
tree11c6d53f9ea03a334f39b0f95be6ae8417e93af9
parent729547847fbcc7f2b3a73deedcf909411ac8f720
[PowerPC] Add vec_vsx_ld and vec_vsx_st intrinsics

This patch enables the vec_vsx_ld and vec_vsx_st intrinsics for
PowerPC, which provide programmer access to the lxvd2x, lxvw4x,
stxvd2x, and stxvw4x instructions.

New code in altivec.h defines these in terms of new builtins, which
are themselves defined in BuiltinsPPC.def.  The builtins are converted
to LLVM intrinsics in CGBuiltin.cpp.  Additional code is added to
builtins-ppc-vsx.c to verify the correct generation of the intrinsics.

Note that I moved the other VSX builtins so all VSX builtins will be
alphabetical in their own section in BuiltinsPPC.def.

There is a companion patch for LLVM.

llvm-svn: 221768
clang/include/clang/Basic/BuiltinsPPC.def
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/Headers/altivec.h
clang/test/CodeGen/builtins-ppc-vsx.c