s390x: Add ISLE support

This adds ISLE support for the s390x back-end and moves lowering
of most instructions to ISLE.  The only instructions still remaining
are calls, returns, traps, and branches, most of which will need
additional support in common code.

Generated code is not intended to be (significantly) different
than before; any additional optimizations now made easier to
implement due to the ISLE layer can be added in follow-on patches.

There were a few differences in some filetests, but those are all
just simple register allocation changes (and all to the better!).
This commit is contained in:
Ulrich Weigand
2022-01-20 21:46:08 +01:00
parent 2615ef967f
commit a94e72b5b7
11 changed files with 16947 additions and 3191 deletions

View File

@@ -0,0 +1,4 @@
src/clif.isle f176ef3bba99365
src/prelude.isle 51d2aef2566c1c96
src/isa/s390x/inst.isle 63cf833b5cfd727d
src/isa/s390x/lower.isle a0e21a567040bc33