]> Cypherpunks repositories - gostls13.git/commit
cmd/asm: add s390x 'rotate then ... selected bits' instructions
authorMichael Munday <mike.munday@ibm.com>
Thu, 24 Jan 2019 16:16:41 +0000 (16:16 +0000)
committerMichael Munday <mike.munday@ibm.com>
Tue, 16 Apr 2019 09:17:24 +0000 (09:17 +0000)
commit0f79510dc5d2e586924dae6e531529fe5fa7cbd2
treece1eba2fdaeb3f2e0df1b83d91139c20176cfa19
parent9c843f031d31d85891d08f68ca5e6009a83bb0ce
cmd/asm: add s390x 'rotate then ... selected bits'  instructions

This CL adds the following instructions, useful for shifting/rotating
and masking operations:

 * RNSBG - rotate then and selected bits
 * ROSBG - rotate then or selected bits
 * RXSBG - rotate then exclusive or selected bits
 * RISBG - rotate then insert selected bits

It also adds the 'T' (test), 'Z' (zero), 'H' (high), 'L' (low) and
'N' (no test) variants of these instructions as appropriate.

Operands are ordered as: I₃, I₄, I₅, R₂, R₁.

Key: I₃=start, I₄=end, I₅=amount, R₂=source, R₁=destination

Change-Id: I200d12287e1df7447f37f4919da5e9a93d27c792
Reviewed-on: https://go-review.googlesource.com/c/go/+/159357
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/asm/internal/asm/asm.go
src/cmd/asm/internal/asm/testdata/s390x.s
src/cmd/internal/obj/s390x/a.out.go
src/cmd/internal/obj/s390x/anames.go
src/cmd/internal/obj/s390x/asmz.go