summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/builtins-systemz-zvector.c
Commit message (Collapse)AuthorAgeFilesLines
* [SystemZ] Add support for new cpu architecture - arch13Ulrich Weigand2019-07-121-0/+42
| | | | | | | | | | | | | | | | | This patch series adds support for the next-generation arch13 CPU architecture to the SystemZ backend. This includes: - Basic support for the new processor and its features. - Support for low-level builtins mapped to new LLVM intrinsics. - New high-level intrinsics in vecintrin.h. - Indicate support by defining __VEC__ == 10303. Note: No currently available Z system supports the arch13 architecture. Once new systems become available, the official system name will be added as supported -march name. llvm-svn: 365933
* [SystemZ] Improve testing of vecintrin.h intrinsicsUlrich Weigand2018-12-201-2/+1527
| | | | | | | | This adds assembly-level tests to verify that the high-level intrinsics generate the instructions they're supposed to. These tests would have caught the codegen bugs I just fixed. llvm-svn: 349753
* [SystemZ] Add support for IBM z14 processor (3/3)Ulrich Weigand2017-07-171-0/+88
| | | | | | | | | | | | | This patch updates the vecintrin.h header file to provide the new set of high-level vector built-in functions. This matches the updated definition implemented by other compilers for the platform, indicated by the pre-defined macro __VEC__ == 10302. Note that some of the new functions (notably those involving the vector float data type) are only available with -march=z14 (indicated by __ARCH__ == 12). llvm-svn: 308199
* [SystemZ] Add support for vecintrin.h vector built-in functionsUlrich Weigand2015-07-301-0/+2967
This patch adds support for the System Z vector built-in functions. The API-defined header file has the name vecintrin.h. The user-level functions are defined in the same style as the clang version of altivec.h, making heavy use of the __overloadable__ and __always_inline__ attributes. Where possible the functions expand to generic operations rather than specific built-in functions, in the hope that that form can be optimised better. Where a built-in routine is specified to require an immediate integer argument, the __enable_if__ attribute is used to verify the argument is in fact constant and in the appropriate range. Based on a patch by Richard Sandiford. llvm-svn: 243643
OpenPOWER on IntegriCloud