From: eric fang Date: Wed, 31 Aug 2022 01:57:57 +0000 (+0000) Subject: cmd/internal/obj/arm64: allow transition from $0 to ZR for MSR X-Git-Tag: go1.20rc1~1324 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ebc75ac1c6f056d5911286368d11022204e55947;p=gostls13.git cmd/internal/obj/arm64: allow transition from $0 to ZR for MSR Previously the first operand of MSR could be $0, which would be converted to the ZR register. This is prohibited by CL 404316, this CL restores this instruction format. Change-Id: I5b5be59e76aa58423a0fb96942d1b2a9de62e311 Reviewed-on: https://go-review.googlesource.com/c/go/+/426198 TryBot-Result: Gopher Robot Reviewed-by: David Chase Reviewed-by: Heschi Kreinick Run-TryBot: Eric Fang --- diff --git a/src/cmd/asm/internal/asm/testdata/arm64.s b/src/cmd/asm/internal/asm/testdata/arm64.s index d055d3961f..a1493a7ad3 100644 --- a/src/cmd/asm/internal/asm/testdata/arm64.s +++ b/src/cmd/asm/internal/asm/testdata/arm64.s @@ -1113,6 +1113,7 @@ next: MSR $1, SPSel // bf4100d5 MSR $9, DAIFSet // df4903d5 MSR $6, DAIFClr // ff4603d5 + MSR $0, CPACR_EL1 // 5f1018d5 MRS ELR_EL1, R8 // 284038d5 MSR R16, ELR_EL1 // 304018d5 MSR R2, ACTLR_EL1 // 221018d5 diff --git a/src/cmd/internal/obj/arm64/obj7.go b/src/cmd/internal/obj/arm64/obj7.go index 318468371d..6e4335562d 100644 --- a/src/cmd/internal/obj/arm64/obj7.go +++ b/src/cmd/internal/obj/arm64/obj7.go @@ -71,6 +71,7 @@ var zrReplace = map[obj.As]bool{ AADCSW: true, AFMOVD: true, AFMOVS: true, + AMSR: true, } func (c *ctxt7) stacksplit(p *obj.Prog, framesize int32) *obj.Prog {