@@ -977,8 +977,8 @@ func span7(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
977977 o = c .oplook (p )
978978
979979 /* very large branches */
980- if (o .type_ == 7 || o .type_ == 39 || o .type_ == 40 ) && p .To . Target () != nil { // 7: BEQ and like, 39: CBZ and like, 40: TBZ and like
981- otxt := p .To . Target () .Pc - pc
980+ if (o .type_ == 7 || o .type_ == 39 || o .type_ == 40 ) && p .Pcond != nil { // 7: BEQ and like, 39: CBZ and like, 40: TBZ and like
981+ otxt := p .Pcond .Pc - pc
982982 var toofar bool
983983 switch o .type_ {
984984 case 7 , 39 : // branch instruction encodes 19 bits
@@ -992,14 +992,14 @@ func span7(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
992992 p .Link = q
993993 q .As = AB
994994 q .To .Type = obj .TYPE_BRANCH
995- q .To . SetTarget ( p . To . Target ())
996- p .To . SetTarget ( q )
995+ q .Pcond = p . Pcond
996+ p .Pcond = q
997997 q = c .newprog ()
998998 q .Link = p .Link
999999 p .Link = q
10001000 q .As = AB
10011001 q .To .Type = obj .TYPE_BRANCH
1002- q .To . SetTarget ( q .Link .Link )
1002+ q .Pcond = q .Link .Link
10031003 bflag = 1
10041004 }
10051005 }
@@ -1123,7 +1123,7 @@ func (c *ctxt7) flushpool(p *obj.Prog, skip int) {
11231123 q := c .newprog ()
11241124 q .As = AB
11251125 q .To .Type = obj .TYPE_BRANCH
1126- q .To . SetTarget ( p .Link )
1126+ q .Pcond = p .Link
11271127 q .Link = c .blitrl
11281128 q .Pos = p .Pos
11291129 c .blitrl = q
@@ -1249,7 +1249,7 @@ func (c *ctxt7) addpool(p *obj.Prog, a *obj.Addr) {
12491249
12501250 for q := c .blitrl ; q != nil ; q = q .Link { /* could hash on t.t0.offset */
12511251 if q .To == t .To {
1252- p .Pool = q
1252+ p .Pcond = q
12531253 return
12541254 }
12551255 }
@@ -1266,7 +1266,7 @@ func (c *ctxt7) addpool(p *obj.Prog, a *obj.Addr) {
12661266 c .elitrl = q
12671267 c .pool .size = - c .pool .size & (funcAlign - 1 )
12681268 c .pool .size += uint32 (sz )
1269- p .Pool = q
1269+ p .Pcond = q
12701270}
12711271
12721272func (c * ctxt7 ) regoff (a * obj.Addr ) uint32 {
@@ -6042,15 +6042,15 @@ func (c *ctxt7) opimm(p *obj.Prog, a obj.As) uint32 {
60426042func (c * ctxt7 ) brdist (p * obj.Prog , preshift int , flen int , shift int ) int64 {
60436043 v := int64 (0 )
60446044 t := int64 (0 )
6045- if p .To . Target () != nil {
6046- v = (p .To . Target () .Pc >> uint (preshift )) - (c .pc >> uint (preshift ))
6045+ if p .Pcond != nil {
6046+ v = (p .Pcond .Pc >> uint (preshift )) - (c .pc >> uint (preshift ))
60476047 if (v & ((1 << uint (shift )) - 1 )) != 0 {
60486048 c .ctxt .Diag ("misaligned label\n %v" , p )
60496049 }
60506050 v >>= uint (shift )
60516051 t = int64 (1 ) << uint (flen - 1 )
60526052 if v < - t || v >= t {
6053- c .ctxt .Diag ("branch too far %#x vs %#x [%p]\n %v\n %v" , v , t , c .blitrl , p , p .To . Target () )
6053+ c .ctxt .Diag ("branch too far %#x vs %#x [%p]\n %v\n %v" , v , t , c .blitrl , p , p .Pcond )
60546054 panic ("branch too far" )
60556055 }
60566056 }
@@ -6526,7 +6526,7 @@ func (c *ctxt7) oaddi(p *obj.Prog, o1 int32, v int32, r int, rt int) uint32 {
65266526 */
65276527func (c * ctxt7 ) omovlit (as obj.As , p * obj.Prog , a * obj.Addr , dr int ) uint32 {
65286528 var o1 int32
6529- if p .Pool == nil { /* not in literal pool */
6529+ if p .Pcond == nil { /* not in literal pool */
65306530 c .aclass (a )
65316531 c .ctxt .Logf ("omovlit add %d (%#x)\n " , c .instoffset , uint64 (c .instoffset ))
65326532
@@ -6552,11 +6552,11 @@ func (c *ctxt7) omovlit(as obj.As, p *obj.Prog, a *obj.Addr, dr int) uint32 {
65526552 w = 1 /* 64-bit SIMD/FP */
65536553
65546554 case AMOVD :
6555- if p .Pool .As == ADWORD {
6555+ if p .Pcond .As == ADWORD {
65566556 w = 1 /* 64-bit */
6557- } else if p .Pool .To .Offset < 0 {
6557+ } else if p .Pcond .To .Offset < 0 {
65586558 w = 2 /* 32-bit, sign-extended to 64-bit */
6559- } else if p .Pool .To .Offset >= 0 {
6559+ } else if p .Pcond .To .Offset >= 0 {
65606560 w = 0 /* 32-bit, zero-extended to 64-bit */
65616561 } else {
65626562 c .ctxt .Diag ("invalid operand %v in %v" , a , p )
0 commit comments