]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/asm: for arm, rewrite argument shifted right by 0 to left by 0.
authorKeith Randall <khr@golang.org>
Fri, 15 Dec 2023 00:29:50 +0000 (16:29 -0800)
committerKeith Randall <khr@google.com>
Fri, 15 Dec 2023 20:51:01 +0000 (20:51 +0000)
commitf8170cc01722a562eec7cf00836ee008b490c534
tree48aab4dfa2c2ac17cad0f9763f556862c2b414d9
parent3313bbb4055f38f53cd43c6c5782a229f445f230
cmd/asm: for arm, rewrite argument shifted right by 0 to left by 0.

Right shift by 0 has bad semantics. Make sure if we try to right shift by 0,
do a left shift by 0 instead.

CL 549955 handled full instructions with this strange no-op encoding.
This CL handles the shift done to instruction register inputs.
(The former is implemented using the latter, but not until deep
inside the assembler.)

Update #64715

Change-Id: Ibfabb4b13e2595551e58b977162fe005aaaa0ad1
Reviewed-on: https://go-review.googlesource.com/c/go/+/550335
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
src/cmd/asm/internal/asm/testdata/arm.s
src/cmd/internal/obj/arm/asm5.go