]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj/arm: fix setting U bit in shifted register offset of MOVBS
authorBen Shi <powerman1st@163.com>
Fri, 16 Jun 2017 11:19:01 +0000 (11:19 +0000)
committerCherry Zhang <cherryyz@google.com>
Fri, 23 Jun 2017 14:29:57 +0000 (14:29 +0000)
commite00a38c89a4e0afa985072bdffe5dd30de7eccda
treeeb1750d701b8d2ce9bb959a32411af48cf391122
parent856fd8f50e0ccc7b43a0d4846f4c3de9f53a4e9a
cmd/internal/obj/arm: fix setting U bit in shifted register offset of MOVBS

"MOVBS.U R0<<0(R1), R2" is assembled to 0xe19120d0 (ldrsb r2, [r1, r0]),
but it is expected to be 0xe11120d0 (ldrsb r2, [r1, -r0]).

This patch fixes it and adds more encoding tests.

fixes #20701

Change-Id: Ic1fb46438d71a978dbef06d97494a70c95fcbf3a
Reviewed-on: https://go-review.googlesource.com/45996
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/asm/internal/asm/testdata/arm.s
src/cmd/asm/internal/asm/testdata/armerror.s
src/cmd/asm/internal/asm/testdata/armv6.s
src/cmd/internal/obj/arm/asm5.go