From: Rob Pike Date: Tue, 3 Mar 2015 18:12:26 +0000 (-0800) Subject: cmd/internal/obj/arm: fix arm build X-Git-Tag: go1.5beta1~1748 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=527b478;p=gostls13.git 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 --- 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: