]> Cypherpunks repositories - gostls13.git/commit
cmd/asm: refactor some operands that are not special registers on arm64
authorerifan01 <eric.fang@arm.com>
Wed, 12 Aug 2020 09:41:54 +0000 (17:41 +0800)
committerEric Fang <eric.fang@arm.com>
Fri, 1 Apr 2022 03:16:26 +0000 (03:16 +0000)
commitf5290ef947b2471db27c35321a49b4e3b756e56e
tree811d3130fdfa7ba19309f61f5bc72b2b81609e17
parentbb2b16d15ead9c5b6b9e2b699aed8bdfcf7e9518
cmd/asm: refactor some operands that are not special registers on arm64

The previous code treats some operands such as EQ, LT, etc. as special
registers. However, they are not. This CL adds a new AddrType TYPE_SPOPD
and a new class C_SPOPD to support this kind of special operands, and
refactors the relevant code.

This patch is a copy of CL 260861, contributed by Junchen Li(junchen.li@arm.com).

Co-authored-by: Junchen Li(junchen.li@arm.com)
Change-Id: I57b28da458ee3332f610602632e7eda03af435f5
Reviewed-on: https://go-review.googlesource.com/c/go/+/302849
Reviewed-by: Cherry Mui <cherryyz@google.com>
Trust: Eric Fang <eric.fang@arm.com>
Run-TryBot: Eric Fang <eric.fang@arm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
14 files changed:
src/cmd/asm/internal/arch/arch.go
src/cmd/asm/internal/arch/arm64.go
src/cmd/asm/internal/asm/parse.go
src/cmd/asm/internal/asm/testdata/arm64.s
src/cmd/compile/internal/arm64/ssa.go
src/cmd/internal/obj/addrtype_string.go
src/cmd/internal/obj/arm64/a.out.go
src/cmd/internal/obj/arm64/anames7.go
src/cmd/internal/obj/arm64/asm7.go
src/cmd/internal/obj/arm64/list7.go
src/cmd/internal/obj/arm64/specialoperand_string.go [new file with mode: 0644]
src/cmd/internal/obj/link.go
src/cmd/internal/obj/pass.go
src/cmd/internal/obj/util.go