Add support for z13 processor
authorNeale Ferguson <neale@sinenomine.net>
Thu, 17 Aug 2017 20:42:54 +0000 (16:42 -0400)
committerAlexander Köplinger <alex.koeplinger@outlook.com>
Wed, 23 Aug 2017 18:42:47 +0000 (20:42 +0200)
commit1854763e8393adb0f9a8bb9568597d10cfad588e
tree1ccd324ffc8e4c47ed3066f9d57082d237eb8726
parenta716f5d143d9125f2c66bcd0e3519eeaff94523a
Add support for z13 processor

The z13 supports some useful instructions that can be exploited
by the JIT. Most notably the compare-and-branch instructions can
reduce a two instruction sequence to one. The load-and-add command
eliminates the more complex compare-and-swap sequence.

The z13 also supports three operand instructions dst,src1,src2
which eliminate checks and loads for instructions like add and subtract.

The unaligned.cs test has been changed to cater for big-endian platforms.
For s390x only, the --trace option will result in a file per thread
being created rather than the traces being written to stdout and
sometimes intermixing incomplete trace entries.
mono/arch/s390x/s390x-codegen.h
mono/mini/cpu-s390x.md
mono/mini/mini-ops.h
mono/mini/mini-s390x.c
mono/mini/mini-s390x.h
mono/mini/tramp-s390x.c
mono/mini/unaligned.cs
mono/utils/mono-hwcap-s390x.c
mono/utils/mono-hwcap-vars.h