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)  	} | 
