]> granicus.if.org Git - clang/commit
[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)
commit232aa4a3a2f8976966ba6dfce434b8bfdcd8b72f
treee2e66dd3a8dba0e639e74fd220e43b5620d9c555
parent09a479e2eb4e2ee5ef9fcc206ad072dbea2aeab7
[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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221768 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/BuiltinsPPC.def
lib/CodeGen/CGBuiltin.cpp
lib/Headers/altivec.h
test/CodeGen/builtins-ppc-vsx.c