]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj/arm64: support SWPD/SWPW/SWPH/SWPB
authorBen Shi <powerman1st@163.com>
Tue, 20 Mar 2018 08:25:08 +0000 (08:25 +0000)
committerCherry Zhang <cherryyz@google.com>
Wed, 11 Apr 2018 16:06:01 +0000 (16:06 +0000)
commite1040d79557de627b18c928a3c498e89f1dcd9da
tree2ff1d1988014aca06a4caac9575fbe37688642d6
parent9446eaa9443cb4ac5e2dcdc0f7a8d3633d96b3ec
cmd/internal/obj/arm64: support SWPD/SWPW/SWPH/SWPB

SWPD/SWPW/SWPH/SWPB were introduced in ARMv8.1. They swap content
of register and memory atomically. And their difference is
SWPD: 64-bit double word data
SWPW: 32-bit word data (zero extended to 64-bit)
SWPH: 16-bit half word data (zero extended to 64-bit)
SWPB: 8-bit byte data (zero extended to 64-bit)

This CL implements them in the arm64 assembler.

Change-Id: I2d9fb2310674bd92693531210e187143e7eed602
Reviewed-on: https://go-review.googlesource.com/101516
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/cmd/asm/internal/arch/arm64.go
src/cmd/asm/internal/asm/asm.go
src/cmd/asm/internal/asm/testdata/arm64.s
src/cmd/internal/obj/arm64/a.out.go
src/cmd/internal/obj/arm64/anames.go
src/cmd/internal/obj/arm64/anames7.go
src/cmd/internal/obj/arm64/asm7.go