]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj/mips, cmd/internal/obj: reduce MIPS register space
authorShenghou Ma <minux@golang.org>
Thu, 21 Jan 2016 21:45:36 +0000 (16:45 -0500)
committerMinux Ma <minux@golang.org>
Fri, 22 Jan 2016 04:33:47 +0000 (04:33 +0000)
Change-Id: I43458ce0e78ffc3d0943d28dc8df8e1c9e4cf679
Reviewed-on: https://go-review.googlesource.com/18821
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Minux Ma <minux@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/cmd/internal/obj/mips/a.out.go
src/cmd/internal/obj/mips/list0.go
src/cmd/internal/obj/util.go

index f271a876093bf58900ef4e7fd4501fc98c861524..282cb79e313b10ab5c49a364cdbc1f812c100193 100644 (file)
@@ -114,7 +114,7 @@ const (
        REG_LO
 
        // co-processor 0 control registers
-       REG_M0 = obj.RBaseMIPS64 + 1024 + iota
+       REG_M0
        REG_M1
        REG_M2
        REG_M3
@@ -148,7 +148,7 @@ const (
        REG_M31
 
        // FPU control registers
-       REG_FCR0 = obj.RBaseMIPS64 + 2048 + iota
+       REG_FCR0
        REG_FCR1
        REG_FCR2
        REG_FCR3
@@ -181,6 +181,8 @@ const (
        REG_FCR30
        REG_FCR31
 
+       REG_LAST = REG_FCR31 // the last defined register
+
        REG_SPECIAL = REG_M0
 
        REGZERO  = REG_R0 /* set to zero */
index 0807a62a8d046c95f652463c9000d977e783c1ec..40dc4605c9b36e225b72d21a45896033147cb36b 100644 (file)
@@ -35,7 +35,7 @@ import (
 )
 
 func init() {
-       obj.RegisterRegister(obj.RBaseMIPS64, REG_FCR0+1024, Rconv)
+       obj.RegisterRegister(obj.RBaseMIPS64, REG_LAST&^1023+1024, Rconv)
        obj.RegisterOpcode(obj.ABaseMIPS64, Anames)
 }
 
index 51101c5ce0bf5ec482f2aed7216f8cce9361f31a..5103299526a10b5c3086a9016adf1c0659e20a77 100644 (file)
@@ -529,7 +529,7 @@ const (
        RBaseARM    = 3 * 1024
        RBasePPC64  = 4 * 1024  // range [4k, 8k)
        RBaseARM64  = 8 * 1024  // range [8k, 13k)
-       RBaseMIPS64 = 13 * 1024 // range [13k, 16k)
+       RBaseMIPS64 = 13 * 1024 // range [13k, 14k)
 )
 
 // RegisterRegister binds a pretty-printer (Rconv) for register