[llvm-dev] [3.7 Release] Let's fix the release notes!

Ulrich Weigand via llvm-dev
Fri, 14 Aug 2015 13:47:21 -0000

hwennborg at google.com wrote on 14.08.2015 01:52:59:

> To update the notes, please commit directly to the 3.7 branch. If you
> don't want to do that, just email me some text, and I'll happily
land
> it for you.

I'm not sure exactly where the changes would go, but here's a list of
notable changes on SystemZ for the LLVM / clang Release Notes:

LLVM:

LLVM no longer attempts to automatically detect the
current host CPU when invoked natively.

LLVM now supports all thread-local storage models on SystemZ.
(Previous releases would support only the local-exec TLS model.)

LLVM now uses the POPCNT instruction on z196 and above.

LLVM now uses the RISBGN instruction on zEC12 and above.

LLVN now supports the transactional-execuction facility
on zEC12 and above.

LLVM now supports the z13 processor and its vector facility.


clang:

Clang will now always default to the z10 processor when compiling
without any -march= option.  Previous releases used to automatically
detect the current host CPU when compiling natively.  If you wish to
still have clang detect the current host CPU, you now need to use the
-march=native option.

Clang now provides the <s390intrin.h> header file.

Clang now supports the transactional-execution facility and
provides associated builtins and the <htmintrin.h> and
<htmxlintrin.h> header files.  Support is enabled by default
on zEC12 and above, and can additionally be enabled or disabled
via the -mhtm / -mno-htm command line options.

Clang now supports the vector facility.  This includes a
change in the ABI to pass arguments and return values of
vector types in vector registers, as well as a change in
the default alignment of vector types.  Support is enabled
by default on z13 and above, and can additionally be enabled
or disabled via the -mvx / -mno-vx command line options.

Clang now supports the System z vector language extension,
providing a "vector" keyword to define vector types, and a
set of builtins defined in the <vecintrin.h> header file.
This can be enabled via the -fzvector command line option.
For compatibility with GCC, Clang also supports the
-mzvector option as an alias.

Several cases of ABI incompatibility with GCC have been fixed.


Bye,
Ulrich