]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj/arm: fix arm build
authorRob Pike <r@golang.org>
Tue, 3 Mar 2015 18:12:26 +0000 (10:12 -0800)
committerRob Pike <r@golang.org>
Tue, 3 Mar 2015 18:16:43 +0000 (18:16 +0000)
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>
src/cmd/internal/obj/arm/asm5.go

index 10cca251725901aa2138c2cdedf20310364720a2..980bbebca6ddac61ea5c99c1f4d76d564dee6b6e 100644 (file)
@@ -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: