hanchenye-llvm-project/clang/test/Headers
Bill Schmidt 41e14c4dfa [PPC64] Add vector pack/unpack support from ISA 2.07
This patch adds support for the following new instructions in the
Power ISA 2.07:

  vpksdss
  vpksdus
  vpkudus
  vpkudum
  vupkhsw
  vupklsw

These instructions are available through the vec_packs, vec_packsu,
vec_unpackh, and vec_unpackl built-in interfaces.  These are
lane-sensitive instructions, so the built-ins have different
implementations for big- and little-endian, and the instructions must
be marked as killing the vector swap optimization for now.

The first three instructions perform saturating pack operations.  The
fourth performs a modulo pack operation, which means it can be
represented with a vector shuffle, and conversely the appropriate
vector shuffles may cause this instruction to be generated.  The other
instructions are only generated via built-in support for now.

I noticed during patch preparation that the macro __VSX__ was not
previously predefined when the power8-vector or direct-move features
are requested.  This is an error, and I've corrected that here as
well.

Appropriate tests have been added.

There is a companion patch to llvm for the rest of this support.

llvm-svn: 237500
2015-05-16 01:02:25 +00:00
..
Inputs/include [modules] Fix a #include cycle when building a module for our builtin headers. 2015-05-14 00:45:20 +00:00
altivec-header.c Make this test not rely on a backend being registered. 2015-04-03 01:27:02 +00:00
altivec-intrin.c [PPC64] Add vector pack/unpack support from ISA 2.07 2015-05-16 01:02:25 +00:00
arm-acle-header.c Headers: add hint intrinsics to arm_acle.h 2014-07-12 23:27:26 +00:00
arm-neon-header.c
arm64-apple-ios-types.cpp Restore the libc++ definition of max_align_t on Apple platforms 2015-02-24 01:06:22 +00:00
c11.c Fix interaction of max_align_t and modules. 2014-10-03 00:31:35 +00:00
c89.c
cpuid.c Fix bugs in cpuid.h. 2014-09-20 01:31:09 +00:00
cxx11.cpp Add a module cache path to test/Headers/cxx11 2014-08-12 16:42:25 +00:00
int64-type.c
limits.cpp
ms-intrin.cpp Remove definitions from Intrin.h that already exist in one of the other x86 intrinsic headers. Add a run line with Broadwell as the cpu type to ms-intrin.cpp test to catch some of these in the future. 2014-11-03 04:19:58 +00:00
ms-null-ms-header-vs-stddef.cpp Driver: bifurcate extended and basic MSC versioning 2014-07-16 03:13:50 +00:00
ms-wchar.c
stdbool.cpp
stddefneeds.cpp Add a triple to new test. 2014-04-30 04:54:42 +00:00
tgmath.c
thumbv7-apple-ios-types.cpp Restore the libc++ definition of max_align_t on Apple platforms 2015-02-24 01:06:22 +00:00
typedef_guards.c
unwind.c
wchar_limits.cpp
wmmintrin.c
x86-intrinsics-headers.c
x86_64-apple-macosx-types.cpp Restore the libc++ definition of max_align_t on Apple platforms 2015-02-24 01:06:22 +00:00
x86intrin.c Add more feature flags to the x86 instrinsic test. 2014-12-27 06:59:44 +00:00
xmmintrin.c [modules] Fix a #include cycle when building a module for our builtin headers. 2015-05-14 00:45:20 +00:00