]> Cypherpunks repositories - gostls13.git/commit
cmd/asm: add masked branch and conditional load instructions to s390x
authorMichael Munday <mike.munday@ibm.com>
Thu, 15 Aug 2019 19:43:46 +0000 (20:43 +0100)
committerMichael Munday <mike.munday@ibm.com>
Wed, 25 Sep 2019 22:24:41 +0000 (22:24 +0000)
commit8c99e45ef956be18677d862fd64d1ba5346ce403
tree83a148c837b38019043af4ad449eebae18bab1fb
parenteb96f8a57444d174bba500b3a5d2a8b21b7e6d1e
cmd/asm: add masked branch and conditional load instructions to s390x

The branch-relative-on-condition (BRC) instruction allows us to use
an immediate to specify under what conditions the branch is taken.
For example, `BRC $7, L1` is equivalent to `BNE L1`. It is sometimes
useful to specify branches in this way when either we don't have
an extended mnemonic for a particular mask value or we want to
generate the condition code mask programmatically.

The new load-on-condition (LOCR and LOCGR) and compare-and-branch
(CRJ, CGRJ, CLRJ, CLGRJ, CIJ, CGIJ, CLIJ and CLGIJ) instructions
provide the same flexibility for conditional loads and combined
compare and branch instructions.

Change-Id: Ic6f5d399b0157e278b39bd3645f4ee0f4df8e5fc
Reviewed-on: https://go-review.googlesource.com/c/go/+/196558
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/asm/internal/arch/s390x.go
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
src/cmd/internal/obj/s390x/objz.go