diff options
Diffstat (limited to 'src/cmd/internal/obj/arm/asm5.go')
-rw-r--r-- | src/cmd/internal/obj/arm/asm5.go | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/cmd/internal/obj/arm/asm5.go b/src/cmd/internal/obj/arm/asm5.go index 7b7e42ee2e..269a4223d5 100644 --- a/src/cmd/internal/obj/arm/asm5.go +++ b/src/cmd/internal/obj/arm/asm5.go @@ -644,7 +644,7 @@ func (c *ctxt5) flushpool(p *obj.Prog, skip int, force int) bool { q := c.newprog() q.As = AB q.To.Type = obj.TYPE_BRANCH - q.Pcond = p.Link + q.To.SetTarget(p.Link) q.Link = c.blitrl q.Pos = p.Pos c.blitrl = q @@ -705,7 +705,7 @@ func (c *ctxt5) addpool(p *obj.Prog, a *obj.Addr) { if t.Rel == nil { for q := c.blitrl; q != nil; q = q.Link { /* could hash on t.t0.offset */ if q.Rel == nil && q.To == t.To { - p.Pcond = q + p.Pool = q return } } @@ -724,8 +724,8 @@ func (c *ctxt5) addpool(p *obj.Prog, a *obj.Addr) { c.elitrl = q c.pool.size += 4 - // Store the link to the pool entry in Pcond. - p.Pcond = q + // Store the link to the pool entry in Pool. + p.Pool = q } func (c *ctxt5) regoff(a *obj.Addr) int32 { @@ -1584,8 +1584,8 @@ func (c *ctxt5) asmout(p *obj.Prog, o *Optab, out []uint32) { break } - if p.Pcond != nil { - v = int32((p.Pcond.Pc - c.pc) - 8) + if p.To.Target() != nil { + v = int32((p.To.Target().Pc - c.pc) - 8) } o1 |= (uint32(v) >> 2) & 0xffffff @@ -3023,7 +3023,7 @@ func (c *ctxt5) omvr(p *obj.Prog, a *obj.Addr, dr int) uint32 { func (c *ctxt5) omvl(p *obj.Prog, a *obj.Addr, dr int) uint32 { var o1 uint32 - if p.Pcond == nil { + if p.Pool == nil { c.aclass(a) v := immrot(^uint32(c.instoffset)) if v == 0 { @@ -3035,7 +3035,7 @@ func (c *ctxt5) omvl(p *obj.Prog, a *obj.Addr, dr int) uint32 { o1 |= uint32(v) o1 |= (uint32(dr) & 15) << 12 } else { - v := int32(p.Pcond.Pc - p.Pc - 8) + v := int32(p.Pool.Pc - p.Pc - 8) o1 = c.olr(v, REGPC, dr, int(p.Scond)&C_SCOND) } |