Files
clang-p2996/clang/test/Driver
Ulrich Weigand 66ff51b4ea [SystemZ] Add support for z13 and its vector facility
This patch adds support for the z13 architecture type.  For compatibility
with GCC, a pair of options -mvx / -mno-vx can be used to selectively
enable/disable use of the vector facility.

When the vector facility is present, we default to the new vector ABI.
This is characterized by two major differences:
- Vector types are passed/returned in vector registers
  (except for unnamed arguments of a variable-argument list function).
- Vector types are at most 8-byte aligned.

The reason for the choice of 8-byte vector alignment is that the hardware
is able to efficiently load vectors at 8-byte alignment, and the ABI only
guarantees 8-byte alignment of the stack pointer, so requiring any higher
alignment for vectors would require dynamic stack re-alignment code.

However, for compatibility with old code that may use vector types, when
*not* using the vector facility, the old alignment rules (vector types
are naturally aligned) remain in use.

These alignment rules are not only implemented at the C language level,
but also at the LLVM IR level.  This is done by selecting a different
DataLayout string depending on whether the vector ABI is in effect or not.

Based on a patch by Richard Sandiford.

llvm-svn: 236531
2015-05-05 19:35:52 +00:00
..
2013-12-12 13:27:11 +00:00
2013-11-13 21:40:17 +00:00
2014-01-14 19:35:09 +00:00
2015-01-03 00:28:47 +00:00
2014-05-08 02:28:32 +00:00
2015-01-31 23:25:54 +00:00
2014-12-22 18:13:07 +00:00
2015-03-03 18:24:57 +00:00
2013-12-06 22:43:17 +00:00
2014-05-13 20:16:43 +00:00
2015-01-06 20:34:47 +00:00
2014-06-01 13:45:09 +00:00
2015-03-10 13:58:33 +00:00
2014-02-05 22:21:15 +00:00
2014-02-25 18:23:47 +00:00
2014-02-16 07:29:41 +00:00
2013-10-27 14:46:16 +00:00