aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj/arm
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2015-03-03 10:12:26 -0800
committerRob Pike <r@golang.org>2015-03-03 18:16:43 +0000
commit527b478edb86126d2db98d9a0f619cbc83dce1db (patch)
tree7b4bd057dc745abe4f9eb291d381791b1943a9d1 /src/cmd/internal/obj/arm
parentec7d8a6167309d2f9d6ee63c20fdfa960ce63bce (diff)
downloadgo-527b478edb86126d2db98d9a0f619cbc83dce1db.tar.xz
cmd/internal/obj/arm: fix arm build
Mishandled the mask for the arm instructions. TBR=rsc Change-Id: Idc596097c0fa61dcacdfb4aca5bc6d0b4fd40eeb Reviewed-on: https://go-review.googlesource.com/6641 Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'src/cmd/internal/obj/arm')
-rw-r--r--src/cmd/internal/obj/arm/asm5.go9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/cmd/internal/obj/arm/asm5.go b/src/cmd/internal/obj/arm/asm5.go
index 10cca25172..980bbebca6 100644
--- a/src/cmd/internal/obj/arm/asm5.go
+++ b/src/cmd/internal/obj/arm/asm5.go
@@ -1361,17 +1361,18 @@ func buildop(ctxt *obj.Link) {
sort.Sort(ocmp(optab[:n]))
for i := 0; i < n; i++ {
- r0 := optab[i].as & obj.AMask
+ r := optab[i].as
+ r0 := r & obj.AMask
oprange[r0].start = optab[i:]
- for optab[i].as&obj.AMask == r0 {
+ for optab[i].as == r {
i++
}
oprange[r0].stop = optab[i:]
i--
- switch r0 {
+ switch r {
default:
- ctxt.Diag("unknown op in build: %v", obj.Aconv(int(optab[i].as)))
+ ctxt.Diag("unknown op in build: %v", obj.Aconv(int(r)))
log.Fatalf("bad code")
case AADD: